Это тот атом углерода, который вы ищете? -AI для предсказания атомной координации УНТ.

Nov 29 2022
Технологии предназначены для того, чтобы делать вещи быстрее и проще. Благодаря нашим компьютерам нам не нужно заниматься математикой, проектированием или экспериментами, когда дело касается науки.

Технологии предназначены для того, чтобы делать вещи быстрее и проще . Благодаря нашим компьютерам нам не нужно заниматься математикой, проектированием или экспериментами, когда дело касается науки.

Одной из областей, которая действительно выигрывает от больших возможностей компьютеров, является нанотехнология .

Нанотехнологии работают с материалами в атомных масштабах. Это не всегда легко, быстро или дешево.

Последние достижения открывают новые возможности для моделирования наноматериалов. Одна загвоздка: они еще не такие быстрые.

И нам не нужны медленные вещи, требующие итераций. Мы должны быстро развиваться.

Несмотря на то, что углеродные нанотрубки (УНТ) были открыты в 1991 году, ученые и предприниматели уже нашли способы экспериментировать с ними и коммерциализировать их. У нас есть щиты CNT для военных, батареи CNT или биомаркеры CNT…

Благодаря этому быстрому развитию искусственный интеллект оказал большую поддержку.

В следующих разделах я расскажу о том, как мы можем использовать искусственные нейронные сети для предсказания атомных координат CNT. Так что если вы хотите узнать, как можно интегрировать искусственный интеллект и нанотехнологии, продолжайте читать!

Углеродные нанотрубки

а, б Примеры изображений углеродных нанотрубок, полученных с помощью СЭМ. c, d Примеры изображений углеродных нанотрубок ПЭМ

Углеродная нанотрубка представляет собой трубку из углерода, обычно измеряемую в нанометрах. Углеродные нанотрубки (УНТ) представляют собой чрезвычайно длинные тонкие цилиндры, которые можно сделать из листов атомов углерода, связанных вместе в гексагональной решетчатой ​​структуре.

УНТ обладают уникальным сочетанием высокой жесткости, высокой прочности, низкой плотности, небольшого размера и широкого диапазона электронных свойств от металлических до полупроводниковых.

Некоторые применения УНТ:

  • Исследования показали, что УНТ обладают самой высокой обратимой способностью среди всех углеродных материалов для использования в литий-ионных батареях. УНТ являются превосходными материалами для электродов суперконденсаторов.
  • Многие исследователи (см. пример ) и корпорации уже разработали устройства для фильтрации воздуха и воды на основе УНТ. Сообщалось, что эти фильтры могут не только блокировать мельчайшие частицы, но и убивать большинство бактерий. Это еще одна область, в которой УНТ уже были коммерциализированы, и продукты уже представлены на рынке.
  • Исследования показали, что УНТ могут обеспечить значительное повышение эффективности даже в их текущем неоптимизированном состоянии. Солнечные элементы, разработанные в Технологическом институте Нью-Джерси, используют комплекс углеродных нанотрубок, образованный смесью углеродных нанотрубок и углеродных фуллеренов для формирования змееподобных структур.

Вектор, соединяющий центры двух шестиугольников, называется хиральным вектором и определяет структуру одностенной углеродной нанотрубки .

Углеродная нанотрубка может быть определена хиральным индексом и выражена, как показано ниже:

Хиральный вектор

Для вектора n и m — целочисленные киральные индексы, а | а 1|​ = | a 2|​ — постоянная решетки графита. n и m могут быть числами для изменения структуры CNT. Постоянная решетки — важная физическая величина, определяющая геометрию элементарных ячеек кристаллической решетки и пропорциональная расстоянию между атомами в кристалле. Кристаллы — это твердые тела, которые имеют очень упорядоченную структуру и свойства и образуются, когда ионы, молекулы или атомы объединяются, чтобы разделить электроны. Кристаллы имеют повторяющуюся структуру атомов, соединений, молекул или ионов, расположенных в трехмерном пространстве.

Существуют также зигзагообразные и «кресельные» углеродные нанотрубки, но в этой статье мы их упоминать не будем. Зигзаг означает, что индексы m УНТ равны 0. Кресло означает, что индексы n и m УНТ равны.

Геометрические структуры УНТ

С момента открытия углеродных нанотрубок (УНТ) в 1991 году ученые быстро исследуют уникальные свойства УНТ.

Атомные структуры УНТ важны, поскольку они влияют на различные свойства, такие как полупроводниковость, жесткость и т. д.

Программы моделирования, такие как CASTEP или VESTA , используются для создания моделей CNT с математическими расчетами. Однако им нужны итерации , которые могут сделать процесс моделирования различных УНТ более продолжительным , чем это необходимо.

Почему важно моделирование УНТ?

Углеродные нанотрубки проявляют различные свойства при изменении их структуры. Если вы хотите построить космический лифт из очень дешевого, жесткого, но легкого материала, решение похоже на CNT. Но не все углеродные нанотрубки имеют одинаковую жесткость. Их не всегда легко синтезировать. Чтобы найти наилучшее соответствие вашим пожеланиям, лучше всего использовать программы молекулярного моделирования.

Однако вам может потребоваться выполнить некоторые расчеты, чтобы убедиться, что ваше моделирование является точным. Эти математические расчеты требуют времени, так как им нужны итерации.

В настоящее время исследователи используют ИНС (искусственные нейронные сети) для прогнозирования атомных координат углеродных нанотрубок, чтобы эти модели можно было использовать в программах моделирования для создания новых УНТ за короткое время.

Искусственные нейронные сети

Искусственная нейронная сеть (ИНС) — это вычислительная модель, основанная на человеческом мозге, которая позволяет компьютерам учиться и решать проблемы без каких-либо предварительных знаний о предмете. ИНС представляют собой набор алгоритмов, разработанных специально для машинного обучения, которые работают как искусственный интеллект. ИНС могут создавать новые функции из набора примеров, называемых обучающими данными, и обобщать эти функции для решения проблем, которые не обязательно содержатся в обучающих данных.

Нейронные сети состоят из взаимосвязанных узлов или нейронов. Каждый узел имеет взвешенный вход, который подается в функцию активации. Затем результат функции активации передается следующему узлу в сети путем проб и ошибок. Способность ИНС распознавать образы улучшается при большем доступе к данным и возможностях обучения.

Нейронная сеть.
Один узел.

В этом исследовании ИНС используются для уменьшения числа итераций, необходимых в среде моделирования CASTEP для моделирования УНТ.

Этапы изучения Аджи и Авджи.

Я был вдохновлен этой статьей и решил построить ИНС для предсказания атомных координат с помощью Python.

В документе используется MATLAB для модели и приводятся некоторые сведения о его слоях. Я закодировал ИНС на Python и сделал несколько итераций для слоев.

Прогнозирование атомных координат УНТ

1-Импорт библиотек и набора данных

Первый шаг — импорт библиотек и набора данных.

Мы используем набор данных , созданный ранее упомянутой статьей .

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()

Давайте изучим набор данных, который у нас есть. Таким образом, мы можем лучше понять, какие данные у нас есть и как мы можем их использовать.

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-Обработка данных

Изучив наши данные, мы теперь можем разделить данные x и y, масштабировать объекты с помощью MinMaxScaler и разделить данные тестового обучения.

#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)

В MinMaxScaler для любой данной функции минимальное значение этой функции преобразуется в 0, в то время как максимальное значение преобразуется в 1, а все остальные значения нормализуются между 0 и 1.

Чтобы увидеть, какие строки в закодированных данных требуют масштабирования, мы ищем минимальное и максимальное значения.

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)

Теперь пришло время построить нашу модель. Поскольку у нас есть один вход и выход в каждом слое, мы используем Sequential() .

Наша модель имеет 3 скрытых слоя.

  • Уровень 1: 20 скрытых узлов, активация гиперболического тангенса
  • Уровень 2: 30 скрытых узлов, активация гиперболического тангенса
  • Уровень 3: 25 скрытых узлов, активация softmax
  • Последний слой имеет 3 узла без активации.

Мы также могли бы использовать «сигмоид».

Они одинаковые, вплоть до перевода и масштабирования. Логистическая сигмоида имеет диапазон от 0 до 1, тогда как гиперболический тангенс имеет диапазон от -1 до 1. И наши данные масштабируются от 0 до 1. Мы используем тангенс, потому что он более эффективен в вычислительном отношении.

Для уровня 3 у нас есть активация « Softmax ». Функция активации Softmax вычисляет относительные вероятности.

Вы можете дразнить слои и исследовать результаты.

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))

Оптимизатор Адама является одним из наиболее широко используемых оптимизаторов для обучения нейронной сети, а также используется в практических целях. Это очень эффективно для больших задач, которые состоят из большого количества данных. Это метод, который вычисляет скорость адаптивного обучения для каждого параметра.

model.compile(Adam(lr = 0.0015),
                'mean_squared_error')

run = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=320)

      
                

Пришло время посмотреть показатели производительности.

# 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

Наша оценка R2 для тестового набора составляет 0,99. Это означает, что 99% изменчивости зависимого выходного атрибута можно объяснить моделью, в то время как 1% все еще неучтен.

Так что наше выступление выглядит хорошо ! По определениям метрик можно сказать, что наша модель оказалась успешной.

Вывод

Ух! Это было много. Сначала мы узнали о том, что такое УНТ и почему важно их моделирование, а затем о том, как ИНС можно использовать для предсказания их атомных координат.

Некоторые ключевые моменты:

  • Углеродные нанотрубки (УНТ) — это недавно открытые наноматериалы, обладающие уникальными свойствами.
  • На свойства УНТ влияют их форма и структура. Таким образом, моделирование и симуляция их структуры играет важную роль для ученых, желающих опробовать новые методы синтеза.
  • Моделирование УНТ в настоящее время занимает много времени, поскольку для получения точных координат атомов необходимы математические расчеты.
  • В этом исследовании используются искусственные нейронные сети для прогнозирования координат атомов, поэтому программное обеспечение для моделирования может выполнять итерации без необходимости математических расчетов.
  • Модель, которую мы построили, вдохновившись исследованием Acı и Avcı, демонстрирует высокую эффективность.

Привет! Я Элану, 16 лет, из Турции, пишу о STEM.