¿Es este el átomo de carbono que estás buscando? -IA para predecir la coordinación atómica de CNT.

La tecnología tiene que ver con hacer las cosas más rápidas y fáciles . Gracias a nuestras computadoras, no necesitamos hacer matemáticas, diseñar o experimentar cuando se trata de ciencia.
Un área que realmente se beneficia de las grandes habilidades de las computadoras es la nanotecnología .
La nanotecnología está trabajando en materiales a escalas atómicas. Esto no siempre es fácil, rápido o barato.
Los avances recientes están brindando nuevas oportunidades para simular nanomateriales. Una pega: todavía no son tan rápidos.
Y no queremos cosas lentas que necesiten iteraciones. Tenemos que hacer desarrollos rápidos.
Aunque el nanotubo de carbono (CNT) se descubrió en 1991, los científicos y empresarios ya han encontrado formas de experimentarlo y comercializarlo. Tenemos escudos CNT para el ejército, baterías CNT o biomarcadores CNT...
A través de este rápido desarrollo, la Inteligencia Artificial fue un gran apoyo.
En las siguientes secciones, hablaré sobre cómo podemos usar redes neuronales artificiales para predecir las coordenadas atómicas de CNT. Entonces, si desea aprender cómo se pueden integrar la IA y la nanotecnología, ¡siga leyendo!
Nanotubos de carbon

Un nanotubo de carbono es un tubo hecho de carbono que normalmente se mide en nanómetros. Los nanotubos de carbono (CNT) son cilindros extremadamente largos y delgados que se pueden fabricar a partir de láminas de átomos de carbono unidos en una estructura de red hexagonal.
Los CNT poseen una combinación única de alta rigidez, alta resistencia, baja densidad, tamaño pequeño y una amplia gama de propiedades electrónicas, desde metálicas hasta semiconductoras.
Algunas aplicaciones de los CNT:
- La investigación ha demostrado que los CNT tienen la mayor capacidad reversible de cualquier material de carbono para su uso en baterías de iones de litio. Los CNT son materiales sobresalientes para electrodos de supercondensadores.
- Muchos investigadores (ver ejemplo ) y corporaciones ya han desarrollado dispositivos de filtración de aire y agua basados en CNT. Se ha informado que estos filtros no solo pueden bloquear las partículas más pequeñas sino que también matan a la mayoría de las bacterias. Esta es otra área donde los CNT ya se han comercializado y los productos están ahora en el mercado.
- La investigación ha demostrado que los CNT pueden proporcionar un aumento considerable de la eficiencia, incluso en su estado actual no optimizado. Las células solares desarrolladas en el Instituto de Tecnología de Nueva Jersey utilizan un complejo de nanotubos de carbono, formado por una mezcla de nanotubos de carbono y bolas de carbono para formar estructuras en forma de serpiente.

Un vector que conecta los centros de los dos hexágonos se denomina vector quiral y determina la estructura de un nanotubo de carbono de pared simple .
Un nanotubo de carbono puede especificarse mediante un índice quiral y expresarse como se muestra a continuación:
Para el vector, n y m son índices quirales enteros, y | un 1| = | a 2| es la constante de red del grafito. nym pueden ser números para cambiar la estructura de la CNT. La constante de red es una dimensión física importante que determina la geometría de las celdas unitarias en una red cristalina y es proporcional a la distancia entre los átomos en el cristal. Los cristales son sólidos que tienen estructuras y propiedades muy ordenadas y se forman cuando iones, moléculas o átomos se unen para compartir electrones. Los cristales tienen un patrón repetitivo de átomos, compuestos, moléculas o iones dispuestos en un espacio tridimensional.
También hay nanotubos de carbono en zigzag y de sillón, pero en este artículo no los mencionaremos. Zigzag significa que los índices m de la CNT son iguales a 0. Butaca significa que los índices n y m de la CNT son iguales.
Desde el descubrimiento de los nanotubos de carbono (CNT) en 1991, los científicos están investigando rápidamente las características únicas de CNT.
Las estructuras atómicas de CNT son importantes ya que influyen en diferentes propiedades como semiconductores, rigidez, etc.
Los programas de simulación como CASTEP o VESTA se utilizan para hacer modelos CNT con cálculos matemáticos . Sin embargo, necesitan iteraciones que puedan hacer que el proceso de simulación de diferentes CNT sea más largo de lo necesario.
¿Por qué es importante modelar los CNT?
Los nanotubos de carbono tienen diferentes propiedades cuando se cambia su estructura. Si desea construir un ascensor espacial con un material muy barato, rígido pero liviano, la solución parece ser un CNT. Pero no todos los nanotubos de carbono tienen la misma rigidez. No siempre son fáciles de sintetizar. Para encontrar la mejor opción para sus deseos, el uso de programas de modelado molecular es la mejor opción.
Sin embargo, es posible que deba hacer algunos cálculos para asegurarse de que su modelo sea preciso. Estos cálculos matemáticos toman tiempo ya que necesitan iteraciones.
Los investigadores ahora usan ANN (redes neuronales artificiales) para predecir las coordenadas atómicas de los nanotubos de carbono, de modo que estos modelos puedan usarse dentro de los programas de modelado para construir nuevos CNT en poco tiempo.
Redes neuronales artificiales
Una Red Neural Artificial (ANN) es un modelo computacional basado en el cerebro humano que permite a las computadoras aprender y resolver problemas sin ningún conocimiento previo sobre el tema. Las ANN son un conjunto de algoritmos diseñados específicamente para el aprendizaje automático que funcionan como inteligencia artificial. Las ANN pueden crear nuevas funciones a partir de un conjunto de ejemplos llamados datos de entrenamiento y generalizar estas funciones para resolver problemas que no están necesariamente contenidos en los datos de entrenamiento.
Las redes neuronales están compuestas por nodos o neuronas interconectados. Cada nodo tiene una entrada ponderada que se alimenta a una función de activación. La salida de la función de activación luego pasa al siguiente nodo en la red a través de un proceso de prueba y error. El poder de reconocimiento de patrones de las ANN mejora con más exposición de datos y capacidad de entrenamiento.


Este estudio utiliza ANN para reducir las iteraciones necesarias en el entorno de simulación CASTEP para modelar CNT.

Me inspiré en este documento y decidí construir una ANN para predecir coordenadas atómicas con Python.
El documento utiliza MATLAB para su modelo y comparte algunos detalles de sus capas. Codifiqué la ANN en Python e hice algunas iteraciones para las capas.
Predicción de coordenadas atómicas de CNT
1-Importar bibliotecas y conjuntos de datos
El primer paso es importar bibliotecas y el conjunto de datos.
Estamos utilizando el conjunto de datos que fue creado por el documento mencionado anteriormente .
import numpy as np, pandas as pd, seaborn as sns, matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn.metrics import mean_squared_error, r2_score, accuracy_score
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Input, Dense
from tensorflow.keras.optimizers import Adam
import datetime
now = datetime.datetime.now
#filter warnings
import warnings
warnings.filterwarnings("ignore")
%matplotlib inline
filepath = 'the_dataset'
raw_data = pd.read_csv(filepath, sep=';',decimal=',')
data = raw_data.copy()
Exploremos el conjunto de datos que tenemos. De esta manera, podemos tener una mejor idea de cuáles son los datos que tenemos y cómo podemos usarlos.
data.info()
data.describe()
data.head()
#you can use these to understand the datatypes, observe the
#statistical summary or to see an example.
Our data.
data.hist(figsize=(10,10)) #you can take a look at dataset distributions.
The dataset’s distributions.
import plotly.express as px
fig = px.scatter_3d(data,
x="Calculated atomic coordinates u'",
y="Calculated atomic coordinates v'",
z="Calculated atomic coordinates w'",
color='Chiral indice n',
size='Chiral indice m',
hover_data=[],
opacity=0.4)
fig.update_layout(title='Calculated atomic coordinates')
fig.show()


3-Procesar los datos
Después de explorar nuestros datos, ahora podemos separar los datos x e y, escalar características usando MinMaxScaler y dividir los datos del tren de prueba.
#y data
y_cols = ["Calculated atomic coordinates u'",
"Calculated atomic coordinates v'",
"Calculated atomic coordinates w'"]
#target data
y_data = data[y_cols]
#copy dataset
X_data = data.copy()
#remove target data from X_data
for y_label in y_cols:
X_data = X_data.drop([y_label], axis=1)
En MinMaxScaler , para cualquier función determinada, el valor mínimo de esa función se transforma en 0, mientras que el valor máximo se transforma en 1 y todos los demás valores se normalizan entre 0 y 1.
Para ver qué filas en los datos codificados requieren escala, buscamos los valores mínimo y máximo.
scale_cols = [col for col in X_data.columns
if X_data[col].min() < -1
or X_data[col].max() > 1]
scale_cols
X_data[scale_cols].iloc[:].min()
X_data[scale_cols].iloc[:].max()
from sklearn.preprocessing import MinMaxScaler
mm = MinMaxScaler()
X_data[scale_cols] = mm.fit_transform(X_data[scale_cols])
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X_data,
y_data,
test_size=0.3,
random_state=42)
Ahora es el momento de construir nuestro modelo. Como tenemos una entrada y una salida en cada capa, estamos usando Sequential() .
Nuestro modelo tiene 3 capas ocultas.
- Capa 1: 20 nodos ocultos, activación de tangente hiperbólica
- Capa 2: 30 nodos ocultos, activación de tangente hiperbólica
- Capa 3: 25 nodos ocultos, activación softmax
- La capa final tiene 3 nodos sin activación.
También podríamos usar "Sigmoide".
Son iguales, hasta la traducción y la escala. El sigmoide logístico tiene un rango de 0 a 1, mientras que la tangente hiperbólica tiene un rango de −1 a 1. Y nuestros datos están escalados entre 0 y 1. Usamos la tangente porque es computacionalmente más eficiente.
Para la capa 3, tenemos la activación " Softmax ". La función de activación Softmax calcula las probabilidades relativas.
Puede desmenuzar las capas e investigar los resultados.
model = Sequential()
model.add(Dense(20, input_shape = (5,), activation='tanh'))
model.add(Dense(30, activation = 'tanh'))
model.add(Dense(25, activation = 'softmax'))
model.add(Dense(3, activation=None))
El optimizador de Adam es uno de los optimizadores más utilizados para entrenar la red neuronal y también se usa con fines prácticos. Es muy eficiente con problemas grandes que consisten en una gran cantidad de datos. Es un método que calcula las tasas de aprendizaje adaptativo para cada parámetro.
model.compile(Adam(lr = 0.0015),
'mean_squared_error')
run = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=320)
Es hora de ver las métricas de rendimiento.
# predictions for train and test
y_train_pred = model.predict(X_train)
y_test_pred = model.predict(X_test)
# R2 score for train and test
train_score = r2_score(y_train, y_train_pred)
test_score = r2_score(y_test, y_test_pred)
print("_________________________________________________")
print("R2 Score for the training set is:", train_score)
print("R2 Score for the test set is:", test_score)
R2 score
Nuestro puntaje R2 para el conjunto de prueba es 0.99. Eso significa que el modelo puede explicar el 99 % de la variabilidad del atributo de salida dependiente, mientras que el 1 % aún no se ha contabilizado.
Así que nuestro desempeño se ve bien ! Por las definiciones de métricas, podemos decir que nuestro modelo fue exitoso.
Conclusión
¡Guau! Esto fue mucho. Primero aprendimos qué son los CNT y por qué es importante modelarlos, luego cómo se pueden usar los ANN para predecir sus coordenadas atómicas.
Algunos puntos clave:
- Los nanotubos de carbono (CNT) son nanomateriales recientemente descubiertos que tienen propiedades únicas.
- Las propiedades de CNT están influenciadas por su forma y estructura. Por lo tanto, modelar y simular su estructura juega un papel importante para que los científicos prueben nuevos métodos de síntesis.
- Actualmente, simular los CNT lleva mucho tiempo, ya que es necesario realizar cálculos matemáticos para obtener coordenadas atómicas precisas.
- Este estudio utiliza redes neuronales artificiales para predecir coordenadas atómicas, de modo que el software de simulación pueda realizar iteraciones sin necesidad de cálculos matemáticos.
- El modelo que construimos inspirándonos en el estudio de Acı y Avcı muestra un alto rendimiento.
¡Hola! Soy Elanu, tengo 16 años y soy de Turquía, y escribo sobre STEM.