博客專欄

EEPW首頁 > 博客 > 我用ChatGPT寫神經(jīng)網(wǎng)絡(luò):一字不改,結(jié)果竟然很好用

我用ChatGPT寫神經(jīng)網(wǎng)絡(luò):一字不改,結(jié)果竟然很好用

發(fā)布人:機(jī)器之心 時(shí)間:2023-01-19 來源:工程師 發(fā)布文章

AI 寫 AI,來得比預(yù)料中更快一些。

自從去年底推出以來,對話式 AI 模型 ChatGPT 火遍了整個(gè)社區(qū)。


ChatGPT 的確是一個(gè)了不起的工具,就像一個(gè)「潘多拉魔盒」。一旦找到正確的打開方式,你或許會發(fā)現(xiàn),自己再也離不開它了。


作為一個(gè)全能選手,人們給 ChatGPT 提出的要求五花八門,有人用它寫論文,有人讓它陪聊,這些都是常見的玩法。腦洞再打開一點(diǎn),既然 ChatGPT 是 AI 中的「王者」,那它會不會寫一個(gè) AI?


近日,一位機(jī)器學(xué)習(xí)領(lǐng)域的博主突發(fā)奇想,他決定讓 ChatGPT 構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò),使用 Keras 解決 MNIST 問題。


MNIST 算是機(jī)器學(xué)習(xí)領(lǐng)域的經(jīng)典問題。即使這個(gè)手寫數(shù)字?jǐn)?shù)據(jù)集逐漸淡出了計(jì)算機(jī)視覺領(lǐng)域,但它的紀(jì)念意義仍然不可忽視,很多人入門深度學(xué)習(xí)的第一個(gè)數(shù)據(jù)集、驗(yàn)證算法的第一個(gè)實(shí)驗(yàn)都是 MNIST。


圖片


話不多說,想到了就開工。作者直接讓 ChatGPT 寫了一段代碼,看上去完美無缺,甚至不需要更改任何內(nèi)容。


圖片

這是一個(gè)很好的開始。


ChatGPT 選擇了分類交叉熵作為損失函數(shù)。作者提出重寫分類交叉熵這部分代碼,ChatGPT 將其替換為稀疏分類交叉熵,更新之后的代碼仍能 Work??梢园l(fā)現(xiàn),新的損失函數(shù)放棄了標(biāo)簽的分類轉(zhuǎn)換。


圖片


ChatGPT 生成的代碼使用了全連接層,但作者想使用卷積層。因此,ChatGPT 按照指示修改了代碼,并添加了一個(gè) Conv2D 和一個(gè)最大池化層(MaxPooling layer)。


圖片


然后來到了評估最終模型階段,作者讓 ChatGPT 使用測試集編寫代碼。


圖片


結(jié)果看起來很棒,而且 ChatGPT 的每一次回復(fù)都帶有完整的解釋。比如在這次評估中,它這樣解釋:

「評估」方法將測試數(shù)據(jù)和測試標(biāo)簽作為參數(shù),并返回模型編譯(此處為準(zhǔn)確率)期間指定的損失和度量。上面的代碼片段輸出了測試的準(zhǔn)確率,這應(yīng)該可以讓你了解到模型對新數(shù)據(jù)的概括性。


模型在訓(xùn)練期間使用了整個(gè)測試集作為驗(yàn)證數(shù)據(jù)。然后,作者讓 ChatGPT 將其更改為訓(xùn)練數(shù)據(jù)的 20%。


圖片


此外,作者還想要更小的 batch 并運(yùn)行更少 epoch 的代碼。雖然這一步未必要用到 ChatGPT,但他不想在不更新 ChatGPT 上下文的情況下更改代碼。


所以這項(xiàng)任務(wù)還是落在了 ChatGPT 頭上:


圖片


接下來,作者打算繪制訓(xùn)練過程中的訓(xùn)練和測試損失圖。ChatGPT 的建議是:需要更改適合模型的 line 以捕獲其結(jié)果值。


圖片
圖片


為了展示數(shù)據(jù)集中的一些示例,作者讓 ChatGPT 編寫代碼來輸出圖像和標(biāo)簽的組合。這些輸出的代碼也很完美,附有 20 張圖片的合集。


圖片圖片


構(gòu)建模型時(shí),查看其結(jié)構(gòu)也是必要的。如果用這個(gè)問題去問 ChatGPT ,回復(fù)是:


圖片


ChatGPT 給出的是關(guān)于模型的總結(jié):


圖片


模型的總結(jié)很有用,但作者更想看到顯示模型結(jié)構(gòu)的圖。所以繼續(xù)問:


圖片


圖片


結(jié)果是滿意的,最后就是準(zhǔn)備部署這個(gè)模型了,讓 ChatGPT 將模型保存到磁盤吧:


圖片


現(xiàn)在,作者想創(chuàng)建一個(gè)使用保存的模型進(jìn)行預(yù)測的類。這是 prompt 很有趣,解決方案也很完美。


圖片


現(xiàn)在編寫一個(gè)示例,使用預(yù)測器的類來預(yù)測 10 個(gè)隨機(jī)圖像的標(biāo)簽:


圖片


為了完成這個(gè),作者讓 ChatGPT 展示了一個(gè)混淆矩陣:


圖片


該說不說,ChatGPT 使用的樣式還真挺好看。


圖片


完成所有試驗(yàn)后,作者將所有 ChatGPT 生成的代碼公布了出來,你也可以上手試試:


地址:https://colab.research.google.com/drive/1JX1AVIfGtIlnLGqgHrK6WPylPhZvu9qe?usp=sharing



*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉