利用 Wolfram 語言構(gòu)建的神經(jīng)網(wǎng)絡(luò)促進(jìn)學(xué)生的化學(xué)學(xué)習(xí)
我參加了 2020 年 Wolfram 神經(jīng)網(wǎng)絡(luò)訓(xùn)練營,它啟發(fā)我將數(shù)據(jù)科學(xué)和機器學(xué)習(xí)的元素融入我的課程中。機器學(xué)習(xí)的輔助函數(shù)使實驗和向?qū)W生介紹此類應(yīng)用程序變得非常容易。我們選擇通常引入神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)主題的圖像識別和分類問題。
然而,我很快對缺乏面向化學(xué)的圖像數(shù)據(jù)集這一事實感到震驚,并在使用了修改后的國家標(biāo)準(zhǔn)與技術(shù)研究所 ( MNIST ) 手寫數(shù)據(jù)集示例后,決定創(chuàng)建這種類型的數(shù)據(jù)集。目標(biāo)是為學(xué)生提供端到端的數(shù)據(jù)科學(xué)項目體驗,從創(chuàng)建數(shù)據(jù)到執(zhí)行高級機器學(xué)習(xí)練習(xí)的最后一步。因此,該項目創(chuàng)建了一組化學(xué)實驗室中常見的玻璃器皿圖像,目的是構(gòu)建我們自己的物體識別示例。
以下步驟概述了如何收集每件玻璃器皿的圖片:
1. 為空的和裝滿水的玻璃器皿拍照。
2. 用不同顏色的溶液填充玻璃器皿,使其達(dá)到不同的水平,例如,250 毫升錐形瓶將被填充到不同的體積容量。
3. 提供各種背景,例如,一些玻璃器皿被放置在實驗室工作臺或升高的表面上以提供不同的背景。
4. 整理 Google Drive 上共享文件夾中的所有圖片。學(xué)生將手機中的圖片上傳到共享云端硬盤。
分類問題中的項目類別以及每個類別中的項目數(shù)量是:
這幅拼貼畫包含 17 種不同類型的實驗室設(shè)備,每種設(shè)備各一張圖片。展示移液器圖片存在一些困難。在圖片中似乎很難看到 5 mL 移液管,因此我們使用白色或黃色紙張背景來突出顯示它們。當(dāng)然,標(biāo)簽還有一些其他問題。一些玻璃器皿通常被懸掛使用,例如滴定管和分液漏斗。
可以裝滿液體的測定體積的玻璃器皿比數(shù)據(jù)集中的其他物品擁有更多的圖片。這組燒杯圖像說明了多樣性:
這里重要的一點是數(shù)據(jù)收集包括多種變化:照明條件、對物體的聚焦、手機質(zhì)量、圖片預(yù)設(shè)和每個標(biāo)簽的各種圖像。
由于數(shù)據(jù)集中的圖像數(shù)量較少,并且不同類別之間的圖像數(shù)量存在差異,我們認(rèn)為通過對圖片進(jìn)行一些圖像修改來增加樣本空間是明智的。我們利用 ImageEffect 選項將樣本大小增加了 19 倍:
使用 Blur 函數(shù)對圖像進(jìn)行模糊處理,并隨機選擇應(yīng)用模糊的像素半徑。還使用適當(dāng)命名的函數(shù)將圖像修改為更亮或更暗。接下來,收集所有這些圖像并從左到右翻轉(zhuǎn)。最后的操作在 –10 到 10 度之間隨機旋轉(zhuǎn)所有圖像。
以下是對錐形燒瓶標(biāo)簽中的單個圖片進(jìn)行這些操作的結(jié)果:
這一系列操作對單個燒杯類圖像的效果如下所示:
現(xiàn)在,我們將分別從燒杯、平底燒瓶和洗瓶類中選擇一張圖像來表示圖像增強效果:
圖像集增強產(chǎn)生了 6,365 張圖像。然后我們決定使用它作為我們的數(shù)據(jù)集,用于訓(xùn)練和測試 Wolfram 神經(jīng)網(wǎng)絡(luò)存儲庫中可用的各種預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
我們決定評估圖像識別領(lǐng)域四個著名的預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的性能。以下是這些神經(jīng)網(wǎng)絡(luò)的來源、層數(shù)和參數(shù)的摘要:
我們拆分?jǐn)?shù)據(jù)集以使用 80% 的數(shù)據(jù)作為訓(xùn)練集,剩余的 20% 作為測試集。我們導(dǎo)入了訓(xùn)練集和測試集,并使用四種變體進(jìn)行了分類性能的訓(xùn)練和評估:
1. 全彩圖像
2. 使用前面描述的圖像增強模塊增強數(shù)據(jù)集的全彩圖像
3.來自全彩色圖像的灰度圖像
4. 使用前面描述的圖像增強模塊增強數(shù)據(jù)集的灰度圖像
讓我們看一些訓(xùn)練和測試集的例子:
80-20 分割后,以下是訓(xùn)練和測試集中的總圖像:
以下步驟用于對從 Wolfram 神經(jīng)網(wǎng)絡(luò)知識庫獲得的預(yù)訓(xùn)練重置模型進(jìn)行網(wǎng)絡(luò)手術(shù):
1.從預(yù)訓(xùn)練網(wǎng)絡(luò)中移除線性層。
2.移除已訓(xùn)練網(wǎng)絡(luò)的最終分類層,并用此分類任務(wù)替換它們:
在本例中,LinearLayer 和 SoftmaxLayer 函數(shù)已被刪除,并創(chuàng)建了一個由預(yù)訓(xùn)練網(wǎng)絡(luò)、線性層和 softmax 層組成的新網(wǎng)絡(luò):
在最后的分類器步驟中,LinearLayer 采用一個整數(shù)參數(shù)作為類的數(shù)量。實驗室玻璃器皿鑒定實驗類數(shù)量如下:
附加了一個未初始化的 LinearLayer 和一個 SoftmaxLayer 以創(chuàng)建最終網(wǎng)絡(luò)。帶有實驗室玻璃器皿指定標(biāo)簽的 NetDecoder 被用于根據(jù)網(wǎng)絡(luò)的輸出推斷類的名稱:
在這里,我們將在 MaxTrainingRounds 設(shè)置為 5 的情況下執(zhí)行訓(xùn)練。訓(xùn)練在配備 NVIDIA Quadro M2000M GPU 的筆記本電腦上大約五分鐘內(nèi)完成。對于遷移學(xué)習(xí),除了最終分類器層之外的所有層都保持凍結(jié):
可以從經(jīng)過訓(xùn)練的網(wǎng)絡(luò)中獲得各種屬性。我們在這里列出一些:
經(jīng)過訓(xùn)練的網(wǎng)絡(luò)可以直接與 ClassifierMeasurements 函數(shù)一起使用,以獲得各種性能指標(biāo):
獲得訓(xùn)練網(wǎng)絡(luò)在測試集上的整體準(zhǔn)確率:
“ ConfusionMatrixPlot ”是一種很好的繪圖技術(shù),可以可視化分類的正確性。非對角線項是錯誤分類的示例:
以下是網(wǎng)絡(luò)錯誤分類的六個錯誤中的前五個:
從混淆矩陣中可以清楚地看出誤分類的頻率很低。量筒在測試的 179 個樣品中只有一次被錯誤分類為標(biāo)準(zhǔn)燒瓶。計算成本極低的高精度對學(xué)生來說是一個啟示。另一個引人注目的例子是具有完美精確度和召回率的布氏漏斗分類。測試集(23)中圖像數(shù)量最少的試管類也顯示出完美的召回率:
按照前面描述的過程,我們在實驗室圖像的四個變體上測試了四個神經(jīng)網(wǎng)絡(luò)。
對于未增強的數(shù)據(jù)集,訓(xùn)練期間的驗證錯誤最初非常高。經(jīng)過幾輪訓(xùn)練后,兩個數(shù)據(jù)集都產(chǎn)生了準(zhǔn)確度更高的訓(xùn)練網(wǎng)絡(luò):
下圖顯示了所有四個訓(xùn)練網(wǎng)絡(luò)在四個數(shù)據(jù)集變體中的每一個的訓(xùn)練時間和準(zhǔn)確性。不出所料,與未增強的數(shù)據(jù)集相比,擴大的數(shù)據(jù)集需要更長的時間來訓(xùn)練并提供更高的準(zhǔn)確性。ResNet-50 和 ResNet-101 網(wǎng)絡(luò)都在灰度圖像和全彩色圖像之間提供相似的分類精度:
Zenodo 上提供了用于網(wǎng)絡(luò)訓(xùn)練和數(shù)據(jù)分析的數(shù)據(jù)集圖像和示例筆記本。這應(yīng)該使其他教師能夠完整地使用該項目或使用其數(shù)據(jù)設(shè)計其他項目。一種簡單的擴展是添加不同的玻璃器皿圖像并研究分類性能。另一個有趣且可能更高級的應(yīng)用是識別玻璃器皿上標(biāo)注體積的文字,尤其是燒杯或錐形燒瓶上的文字。該項目還為非計算機科學(xué)背景的學(xué)生提供了有關(guān)深度學(xué)習(xí)和預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)力量的實踐經(jīng)驗
我感謝瓦格納學(xué)院 (Wagner College) 科學(xué)計算導(dǎo)論課程中的學(xué)生。我還要感謝 Tuseeta Banerjee 博士和 Mads Bahrami 博士受邀撰寫這篇博文,感謝 Wolfram 博客團(tuán)隊對本文發(fā)表的支持。
Arun Sharma 是紐約市瓦格納學(xué)院的化學(xué)副教授。他的研究和教學(xué)興趣包括計算化學(xué)、機器學(xué)習(xí)以及將計算融入本科化學(xué)實驗的各個層次。他領(lǐng)導(dǎo)著一個由本科生組成的研究小組,負(fù)責(zé)各種項目,包括分子動力學(xué)模擬、量子化學(xué)計算和機器學(xué)習(xí)在化學(xué)問題中的應(yīng)用。美國國家科學(xué)基金會和美國化學(xué)學(xué)會石油研究基金對他的研究小組給予了支持。
相關(guān)刊物
[1] AK Sharma,“實驗室玻璃器皿識別:科學(xué)學(xué)生的監(jiān)督機器學(xué)習(xí)示例” ,計算科學(xué)教育雜志,12 (1),2021 年第 8-15 頁。doi.org/10.22369/issn.2153-4136/12/1/2。
[2] AK Sharma,“通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練和識別玻璃器皿的玻璃器皿圖像和代碼示例”,Zenodo(2021 年 5 月 6 日)。doi.org/10.5281/zenodo.4019356。
購買軟件/免費試用
工程師必備
- 項目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















