我是一名研究生。我的專業(yè)是計(jì)算機(jī)。我的畢業(yè)論文題目是圖像識別算法研究。去年九月我確定了這個(gè)題目。我的導(dǎo)師同意了這個(gè)方向。我開始閱讀很多論文。我每天看一篇論文。我看了三個(gè)月。我明白了這個(gè)領(lǐng)域的基本情況。圖像識別就是讓計(jì)算機(jī)認(rèn)識圖片里的東西。很多人研究這個(gè)。這個(gè)領(lǐng)域發(fā)展很快。新的方法不斷出現(xiàn)。我的任務(wù)是改進(jìn)一個(gè)舊的方法。我想讓識別更準(zhǔn)確。
我收集了很多數(shù)據(jù)。數(shù)據(jù)是圖片。圖片里有貓和狗。我的程序要學(xué)會分辨貓和狗。我下載了公開的數(shù)據(jù)集。有一萬張圖片。我檢查了每張圖片。有些圖片不清楚。我刪除了這些圖片。最后剩下九千張圖片。我把數(shù)據(jù)分成三部分。訓(xùn)練集有六千張圖片。驗(yàn)證集有一千五百張圖片。測試集有一千五百張圖片。訓(xùn)練集用來教程序。驗(yàn)證集用來調(diào)整程序。測試集用來最后檢查程序。
我寫了一個(gè)程序。程序使用深度學(xué)習(xí)的方法。我選擇了一個(gè)神經(jīng)網(wǎng)絡(luò)。這個(gè)網(wǎng)絡(luò)比較簡單。網(wǎng)絡(luò)有很多層。每一層學(xué)習(xí)圖片的不同特征。第一層看邊緣。第二層看形狀。更深層看更復(fù)雜的東西。我用了Python語言。我用了TensorFlow框架。代碼一行一行寫。我花了兩周時(shí)間寫完代碼。我每天寫代碼八小時(shí)。代碼寫了五百行。
我開始訓(xùn)練程序。訓(xùn)練需要很多時(shí)間。我用了實(shí)驗(yàn)室的服務(wù)器。服務(wù)器有四塊顯卡。顯卡很貴。訓(xùn)練一次要十小時(shí)。我坐在電腦前看訓(xùn)練過程。屏幕上有數(shù)字變化。損失函數(shù)的值在下降。準(zhǔn)確率在上升。第一天訓(xùn)練結(jié)果不好。準(zhǔn)確率只有百分之五十。這和隨便猜一樣。程序沒有學(xué)會任何東西。
我檢查了代碼。我發(fā)現(xiàn)了一個(gè)錯(cuò)誤。數(shù)據(jù)沒有正確預(yù)處理。圖片大小不一致。有的圖片大有的圖片小。網(wǎng)絡(luò)需要相同大小的圖片。我修改了代碼。我把所有圖片調(diào)整到相同大小。我重新開始訓(xùn)練。這次結(jié)果好一些。準(zhǔn)確率到了百分之六十。還是不夠好。
我改變了網(wǎng)絡(luò)結(jié)構(gòu)。我增加了一層網(wǎng)絡(luò)。這一層是卷積層。卷積層能更好捕捉圖像特征。訓(xùn)練時(shí)間變長了。一次訓(xùn)練要十五小時(shí)。準(zhǔn)確率到了百分之六十五。進(jìn)步很小。我需要更好的方法。
我讀了新的論文。有一篇論文提出注意力機(jī)制。注意力機(jī)制讓網(wǎng)絡(luò)關(guān)注圖片重要部分。我決定試試這個(gè)方法。我寫了新的代碼。代碼更復(fù)雜了。我花了三天時(shí)間寫代碼。訓(xùn)練時(shí)服務(wù)器出了故障。訓(xùn)練中斷了。我重新開始訓(xùn)練。這次準(zhǔn)確率到了百分之七十五。這是一個(gè)大進(jìn)步。我很高興。
驗(yàn)證集上準(zhǔn)確率是百分之七十五。測試集上準(zhǔn)確率是百分之七十三。這個(gè)結(jié)果可以接受。但還不夠好。最好的方法準(zhǔn)確率超過百分之九十五。我的方法差得很遠(yuǎn)。
我和導(dǎo)師討論了這個(gè)結(jié)果。導(dǎo)師說我的方法太簡單。導(dǎo)師建議我使用預(yù)訓(xùn)練模型。預(yù)訓(xùn)練模型是在大數(shù)據(jù)上訓(xùn)練過的模型。我下載了一個(gè)預(yù)訓(xùn)練模型。這個(gè)模型叫ResNet。ResNet很大很復(fù)雜。我在我的數(shù)據(jù)上調(diào)整這個(gè)模型。這個(gè)方法叫遷移學(xué)習(xí)。訓(xùn)練時(shí)間很短。只要兩小時(shí)。準(zhǔn)確率到了百分之八十五。這個(gè)結(jié)果很好。
我繼續(xù)改進(jìn)。我調(diào)整了學(xué)習(xí)率。學(xué)習(xí)率控制模型變化速度。學(xué)習(xí)率太大模型不穩(wěn)定。學(xué)習(xí)率太小模型學(xué)得慢。我試了不同學(xué)習(xí)率。我找到了最好的學(xué)習(xí)率。準(zhǔn)確率到了百分之八十八。
我收集了更多數(shù)據(jù)。我找了新的圖片。新的圖片來自互聯(lián)網(wǎng)。我手工標(biāo)注這些圖片。標(biāo)注就是告訴程序圖片是貓還是狗。我標(biāo)注了一千張新圖片。我把新數(shù)據(jù)加入訓(xùn)練集。訓(xùn)練集現(xiàn)在有七千張圖片。我重新訓(xùn)練模型。準(zhǔn)確率到了百分之九十。
現(xiàn)在的工作是寫論文。論文有固定格式。第一章是引言。引言說明研究背景。第二章是相關(guān)工作。相關(guān)工作介紹別人的研究。第三章是我的方法。第四章是實(shí)驗(yàn)結(jié)果。第五章是結(jié)論。
我寫完了引言。我寫了三頁。我寫完了相關(guān)工作。我寫了五頁。我正在寫方法部分。方法部分要詳細(xì)說明我的工作。我畫了網(wǎng)絡(luò)結(jié)構(gòu)圖。圖顯示了每一層的連接。我寫了訓(xùn)練過程的參數(shù)。參數(shù)包括學(xué)習(xí)率批量大小訓(xùn)練輪數(shù)。
實(shí)驗(yàn)結(jié)果部分需要很多表格。表格顯示不同方法的比較。我的方法和別人的方法比較。我的方法更好。準(zhǔn)確率更高。我需要統(tǒng)計(jì)檢驗(yàn)。統(tǒng)計(jì)檢驗(yàn)證明我的改進(jìn)不是偶然的。
我每天寫論文兩小時(shí)。寫作速度很慢。我要反復(fù)修改。導(dǎo)師會檢查我的寫作。導(dǎo)師說我的寫作太啰嗦。導(dǎo)師說要簡潔明了。我刪除了很多詞語。句子變短了。論文更清楚了。
下周我要做更多實(shí)驗(yàn)。我要在更多數(shù)據(jù)上測試我的方法。數(shù)據(jù)包括其他動物。馬牛鳥。我要看看我的方法能不能識別其他動物。如果結(jié)果好我的方法就更可靠。
下個(gè)月我要完成論文初稿。四月我要修改論文。五月我要準(zhǔn)備答辯。答辯是向老師展示我的工作。老師會問問題。我要回答問題。我要練習(xí)演講。演講要清楚有條理。
我的研究還在進(jìn)行中。還有很多工作要做。我相信我能完成。我的方法有用。我的工作有意義。圖像識別能幫助很多人。醫(yī)生用圖像識別看醫(yī)療影像。警察用圖像識別找嫌疑人。農(nóng)民用圖像識別檢查莊稼。我的研究為這個(gè)領(lǐng)域添了一塊磚。
實(shí)驗(yàn)記錄本寫滿了數(shù)字。電腦里有很多代碼文件。文件夾里有很多論文。這些是我的工作痕跡。每天進(jìn)步一點(diǎn)點(diǎn)。問題一個(gè)個(gè)解決。結(jié)果慢慢變好。這就是研究的過程。