นี่คืออะตอมของคาร์บอนที่คุณกำลังมองหาอยู่ใช่หรือไม่? -AI เพื่อทำนายการประสานงานของอะตอมของ CNT
เทคโนโลยีคือการทำให้สิ่งต่างๆเร็วขึ้นและง่ายขึ้น ต้องขอบคุณคอมพิวเตอร์ของเรา เราไม่จำเป็นต้องทำคณิตศาสตร์ ออกแบบ หรือทำการทดลองเมื่อเป็นเรื่องของวิทยาศาสตร์
ด้านหนึ่งที่ได้รับประโยชน์จากความสามารถอันยอดเยี่ยม ของคอมพิวเตอร์คือนาโนเทคโนโลยี
นาโนเทคโนโลยีกำลังทำงานกับวัสดุในระดับอะตอม ซึ่งไม่ใช่เรื่องง่าย รวดเร็ว หรือราคาถูกเสมอไป
ความก้าวหน้าล่าสุดกำลังสร้างโอกาสใหม่ในการจำลองวัสดุนาโน สิ่งหนึ่งที่จับได้: พวกเขายังไม่เร็วนัก
และเราไม่ต้องการสิ่งที่เชื่องช้าซึ่งต้องการการทำซ้ำ เราต้องพัฒนาอย่างรวดเร็ว
แม้ว่าท่อนาโนคาร์บอน (CNT) ถูกค้นพบในปี 1991 นักวิทยาศาสตร์และผู้ประกอบการได้ค้นพบวิธีที่จะทดลองและทำการค้าแล้ว เรามีเกราะป้องกัน CNT สำหรับกองทัพ แบตเตอรี่ CNT หรือตัวบ่งชี้ทางชีวภาพ CNT...
ด้วยการพัฒนาที่รวดเร็วนี้ ปัญญาประดิษฐ์จึงเป็นตัวสนับสนุนที่ดีเยี่ยม
ในหัวข้อต่อไปนี้ ฉันจะพูดถึงวิธีที่เราสามารถใช้โครงข่ายประสาทเทียมเพื่อทำนายพิกัดอะตอมของ CNT ดังนั้นหากคุณต้องการเรียนรู้ว่า AI และนาโนเทคโนโลยีสามารถผสานรวมเข้าด้วยกันได้อย่างไร โปรดอ่านต่อ!
ท่อนาโนคาร์บอน
ท่อนาโนคาร์บอนเป็นท่อที่ทำจากคาร์บอน โดยทั่วไปวัดเป็นนาโนเมตร ท่อนาโนคาร์บอน (CNTs) เป็นทรงกระบอกที่บางและยาวมาก ซึ่งสามารถทำจากแผ่นอะตอมของคาร์บอนที่ผูกเข้าด้วยกันเป็นโครงสร้างตาข่ายหกเหลี่ยม
CNTs มีการผสมผสานที่เป็นเอกลักษณ์ของความแข็งสูง ความแข็งแรงสูง ความหนาแน่นต่ำ ขนาดเล็ก และคุณสมบัติทางอิเล็กทรอนิกส์ที่หลากหลายตั้งแต่โลหะไปจนถึงสารกึ่งตัวนำ
แอปพลิเคชั่นบางส่วนของ CNTs:
- การวิจัยแสดงให้เห็นว่า CNT มีความสามารถในการย้อนกลับได้สูงสุดในบรรดาวัสดุคาร์บอนใดๆ สำหรับใช้ในแบตเตอรี่ลิเธียมไอออน CNTs เป็นวัสดุที่โดดเด่นสำหรับอิเล็กโทรดซุปเปอร์คาปาซิเตอร์
- นักวิจัยจำนวนมาก (ดูตัวอย่าง ) และองค์กรต่างๆ ได้พัฒนาอุปกรณ์กรองอากาศและน้ำที่ใช้ CNT แล้ว มีรายงานว่าตัวกรองเหล่านี้ไม่เพียงแต่สามารถป้องกันอนุภาคที่เล็กที่สุดเท่านั้น แต่ยังฆ่าแบคทีเรียส่วนใหญ่ได้อีกด้วย นี่เป็นอีกพื้นที่หนึ่งที่มีการทำ CNTs ในเชิงพาณิชย์แล้วและผลิตภัณฑ์ก็เข้าสู่ตลาดแล้ว
- การวิจัยแสดงให้เห็นว่า CNT สามารถเพิ่มประสิทธิภาพได้อย่างมาก แม้ในสถานะที่ไม่ได้รับการปรับปรุงประสิทธิภาพในปัจจุบัน เซลล์แสงอาทิตย์ที่พัฒนาขึ้นที่สถาบันเทคโนโลยีแห่งรัฐนิวเจอร์ซีย์ใช้ท่อนาโนคาร์บอนที่ซับซ้อน ซึ่งเกิดจากส่วนผสมของท่อนาโนคาร์บอนและบัคกี้บอล คาร์บอน เพื่อสร้างโครงสร้างคล้ายงู
เวกเตอร์ที่เชื่อมต่อจุดศูนย์กลางของรูปหกเหลี่ยมทั้งสองเรียกว่าเวกเตอร์ไครัล และเป็นตัวกำหนดโครงสร้างของท่อนาโนคาร์บอนที่มีผนังชั้นเดียว
ท่อนาโนคาร์บอนสามารถระบุได้ด้วยดัชนี chiral และแสดงไว้ด้านล่าง:
สำหรับเวกเตอร์ n และ m คือดัชนี chiral จำนวนเต็ม และ | ก 1| = | a 2| คือค่าคงที่แลตทิซของกราไฟต์ n และ m สามารถเป็นตัวเลขเพื่อเปลี่ยนโครงสร้างของ CNT ค่าคงที่แลตทิซเป็นมิติทางกายภาพที่สำคัญที่กำหนดรูปทรงเรขาคณิตของเซลล์หน่วยในผลึกแลตทิซและเป็นสัดส่วนกับระยะห่างระหว่างอะตอมในคริสตัล คริสตัลเป็นของแข็งที่มี โครงสร้าง และคุณสมบัติ ที่ เป็นระเบียบ มาก และเกิดขึ้นเมื่อไอออน โมเลกุล หรืออะตอมรวมตัวกันเพื่อแบ่งปันอิเล็กตรอน คริสตัลมีรูปแบบซ้ำๆ กันของอะตอม สารประกอบ โมเลกุล หรือไอออน ซึ่งจัดอยู่ในปริภูมิสามมิติ
นอกจากนี้ยังมีท่อนาโนคาร์บอนรูปซิกแซกและอาร์มแชร์ แต่ในบทความนี้จะไม่กล่าวถึง ซิกแซกหมายความว่าดัชนี m ของ CNT เท่ากับ 0 เก้าอี้เท้าแขนหมายความว่าดัชนี n และ m ของ CNT เท่ากัน
นับตั้งแต่มีการค้นพบท่อนาโนคาร์บอน (CNT) ในปี 1991 นักวิทยาศาสตร์ก็กำลังค้นคว้าเกี่ยวกับคุณลักษณะเฉพาะของ CNT อย่างรวดเร็ว
โครงสร้างอะตอมของ CNT มีความสำคัญเนื่องจากมีอิทธิพลต่อคุณสมบัติต่างๆ เช่น สารกึ่งตัวนำ ความแข็ง ฯลฯ
โปรแกรมจำลองเช่นCASTEPหรือVESTAใช้สร้างแบบจำลอง CNT ด้วยการคำนวณทางคณิตศาสตร์ อย่างไรก็ตาม พวกเขาต้องการการทำซ้ำที่สามารถทำให้กระบวนการจำลอง CNT ต่างๆใช้เวลานานกว่าที่ควรจะเป็น
เหตุใดการสร้างแบบจำลอง CNT จึงมีความสำคัญ
ท่อนาโนคาร์บอนมีคุณสมบัติแตกต่างกันเมื่อมีการเปลี่ยนแปลงโครงสร้าง หากคุณต้องการสร้างลิฟต์อวกาศจากวัสดุราคาถูก แข็งแต่น้ำหนักเบา วิธีแก้ปัญหาก็เหมือนกับ CNT แต่ไม่ใช่ว่าท่อนาโนคาร์บอนทุกท่อจะมีความแข็งเท่ากัน มันไม่ง่ายเลยที่จะสังเคราะห์ เพื่อค้นหาสิ่งที่ตรงกับความต้องการของคุณมากที่สุด การใช้โปรแกรมสร้างแบบจำลองระดับโมเลกุลเป็นตัวเลือกที่ดีที่สุด
อย่างไรก็ตาม คุณอาจต้องทำการคำนวณเพื่อให้แน่ใจว่าการสร้างแบบจำลองของคุณถูกต้อง การคำนวณทางคณิตศาสตร์เหล่านี้ต้องใช้เวลาเนื่องจากต้องมีการวนซ้ำ
ขณะนี้นักวิจัยใช้ANN (โครงข่ายประสาทเทียม) เพื่อทำนายพิกัดอะตอมของท่อนาโนคาร์บอน เพื่อให้สามารถใช้แบบจำลองเหล่านี้ในโปรแกรมการสร้างแบบจำลองเพื่อสร้าง CNT ใหม่ในเวลาอันสั้น
โครงข่ายประสาทเทียม
เครือข่ายประสาทเทียม (ANN) เป็นแบบจำลองการคำนวณที่อิงจากสมองของมนุษย์ที่ช่วยให้คอมพิวเตอร์สามารถเรียนรู้และแก้ปัญหาได้โดยไม่ต้องมีความรู้มาก่อนเกี่ยวกับเรื่องนี้ ANN เป็นชุดของอัลกอริทึมที่ออกแบบมาโดยเฉพาะสำหรับการเรียนรู้ของเครื่องที่ทำงานเป็นปัญญาประดิษฐ์ ANN สามารถสร้างฟังก์ชันใหม่จากชุดของตัวอย่างที่เรียกว่าข้อมูลการฝึกอบรม และสรุปฟังก์ชันเหล่านี้เพื่อแก้ปัญหาที่ไม่จำเป็นในข้อมูลการฝึกอบรม
เครือข่ายประสาทประกอบด้วยโหนดหรือเซลล์ประสาทที่เชื่อมต่อถึงกัน แต่ละโหนดมีอินพุตแบบถ่วงน้ำหนักที่ป้อนเข้าสู่ฟังก์ชันการเปิดใช้งาน เอาต์พุตของฟังก์ชันการเปิดใช้งานจะถูกส่งผ่านไปยังโหนดถัดไปในเครือข่ายผ่านกระบวนการลองผิดลองถูก พลังการจดจำรูปแบบของ ANN ดีขึ้นด้วยการเปิดเผยข้อมูลและความสามารถในการฝึกอบรมที่มากขึ้น
T การศึกษาของเขากำลังใช้ ANN เพื่อลดการวนซ้ำที่จำเป็นในสภาพแวดล้อมการจำลอง CASTEP สำหรับการสร้างแบบจำลอง CNT
ฉันได้รับแรงบันดาลใจจากบทความนี้และตัดสินใจสร้าง ANN เพื่อทำนายพิกัดอะตอมด้วย Python
กระดาษนี้ใช้ MATLAB สำหรับโมเดลและแชร์รายละเอียดบางส่วนของเลเยอร์ ฉันเขียนโค้ด ANN ใน Python และทำซ้ำเลเยอร์ต่างๆ
การทำนายพิกัดอะตอมของ CNT
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))
Adam Optimizer เป็นหนึ่งในเครื่องมือเพิ่มประสิทธิภาพที่ใช้กันอย่างแพร่หลายสำหรับการฝึกอบรมโครงข่ายประสาทเทียม และยังใช้เพื่อวัตถุประสงค์ในทางปฏิบัติอีกด้วย มีประสิทธิภาพมากกับปัญหาขนาดใหญ่ซึ่งประกอบด้วยข้อมูลจำนวนมาก เป็นวิธีการที่คำนวณอัตราการเรียนรู้แบบปรับตัวสำหรับแต่ละพารามิเตอร์
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% ยังไม่ได้รับการอธิบาย
ประสิทธิภาพของเราดูดี ! เราสามารถพูดได้ว่าโมเดลของเราประสบความสำเร็จ
บทสรุป
ว้าว! นี่เป็นจำนวนมาก ก่อนอื่นเราเรียนรู้ว่า CNT คืออะไรและเหตุใดการสร้างแบบจำลองจึงมีความสำคัญ จากนั้นเราจะใช้ ANN ในการทำนายพิกัดอะตอมได้อย่างไร
ประเด็นสำคัญบางประการ:
- ท่อนาโนคาร์บอน (CNTs) เป็นวัสดุนาโนที่ค้นพบใหม่ซึ่งมีคุณสมบัติเฉพาะตัว
- คุณสมบัติของ CNT ได้รับอิทธิพลจากรูปร่างและโครงสร้างของมัน ดังนั้นการสร้างแบบจำลองและการจำลองโครงสร้างจึงมีบทบาทสำคัญสำหรับนักวิทยาศาสตร์ในการลองวิธีการสังเคราะห์ใหม่ๆ
- ปัจจุบันการจำลอง CNTs ใช้เวลานานเนื่องจากจำเป็นต้องทำการคำนวณทางคณิตศาสตร์เพื่อให้ได้พิกัดอะตอมที่แม่นยำ
- การศึกษานี้ใช้โครงข่ายประสาทเทียมในการทำนายพิกัดอะตอม ดังนั้นการวนซ้ำสามารถทำได้โดยซอฟต์แวร์จำลองโดยไม่ต้องใช้การคำนวณทางคณิตศาสตร์
- โมเดลที่เราสร้างขึ้นโดยได้รับแรงบันดาลใจจากการศึกษาของ Acı และ Avcıนั้นมีประสิทธิภาพสูง
สวัสดี! ฉันชื่อ Elanu อายุ 16 ปีจากตุรกี ผู้เขียนเกี่ยวกับ STEM