大約二十分鐘后,江寒忽然看到了一則消息。
ISLVRC2013已經開始接受報名,并開放了數據下載端口。
江寒不由得精神一振,總算等到了!
ISLVRC,全稱ImageLargeScaleVisualReitionChallenge,中文名稱“大規模視覺識別挑戰”。
但其實,就是個圖片分類比賽……
ISLVRC使用了Image的一個子集。
Image是一個相當龐大的圖像識別數據庫,由斯坦福大學模擬人類的識別系統建立。
有超過1400萬的圖像,以及相應的標簽,共包含2萬多個類別,一個典型的類別中,往往包含數百個圖像。
這次的比賽中,Image提供的訓練集,共包括12萬多張圖片,以及對應的標簽。
驗證集則是50000張圖片和標簽。
至于最終挑戰的測試集,則包含了10萬條數據,分屬于1000個不同的類別。
這么大規模的數據集,制作起來成本高昂得驚人,全世界也沒有幾個。
對于研究機器學習的人來說,這個比賽可是不容錯過的。
江寒馬上就報了名,并利用會館的WIFI,開始下載數據集。
只是,手頭并沒有電腦,怎么進行編程呢?
江寒沉吟了一下,馬上進入了虛擬空間。
這里可是有一臺隨時可以使用的286。
雖然型號特別原始,性能落后了點,也不能調試、編譯神經網絡。
不過,自己完全可以用文本的方式,先把代碼敲進去,保存好。
明天再找個時間,發送到真實電腦上,調試、修改、編譯,然后上傳到服務器上訓練……
此外,這樣做還有一個莫大的好處,那就是可以節省大量的時間。
畢竟在這里工作100個小時,外面只過去大約1個小時……
江寒思考了一會兒,很快就有了大概的思路。
首先,既然是圖像識別,那么最適合的模型,自然是卷積神經網絡了。
以為基礎,打造一個深度學習網絡,再進行一番優化,結合一些小技巧,大概率能取得極其優秀的成果。
江寒設想了一個多達十幾層的卷積神經網絡。
首先是輸入層。
輸入的圖像數據,是n×n×3的RGB彩色圖像,所以這一層的數據格式,可以定義為一個三維數組。
接下來是卷積層。
對于卷積神經網絡來說,這自然是重中之重。
江寒花費了很大的心血,終于設計出一個全新的結構。
通過反復地卷積、池化和標準化,一步步提取圖像的特征……
經過前面這些步驟,需要處理的神經元個數,和輸入層相比,已經減少了很多。
接下來,就可以把數據送進全連接層,用softmax函數進行分類了。
最后還要有個輸出層,對應1000種分類標簽……
確定了大體思路之后,江寒又設計了一下網絡的具體結構。
比如,應該有幾層卷積層,每一層如何實現……
一般的神經網絡里,激活函數主要使用Sigmoid和Tanh(雙曲正切)函數。
但這兩個函數……