當前位置: 半夏小說 玄幻奇幻 重生學神有系統 第390章 深度卷積神經網路

《重生學神有系統》第390章 深度卷積神經網路

江寒來服務員,和自己一起,把老江架了起來。

很快來到預定的套房裡。

江寒將老江扔到大床上,又拉過一條薄被,給他蓋上了。

隨後,他就坐在沙發上,打開手機,給夏雨菲發了條微信。

「我這邊已經搞定了,你那邊呢?」

過了一會兒,夏雨菲回復:「差不多了,我剛把媽媽哄睡……咱們換下報?」

江寒呵呵一笑:「那必須啊。」

夏雨菲馬上給江寒撥了個語音通話。

兩人將打聽到的線索,往一起一拼合,事的來龍去脈,就更加清楚了。

可惜仍然不知道,當年那個第三者到底是誰……

「接下來怎麼辦?」夏雨菲問。

江寒沉了一下:「咱們倆該幹嘛幹嘛,至於你媽媽,還有我家老江……他們倆的事,讓他們自己去理。」

夏雨菲遲疑著問:「這樣真的好嗎?」

俗話說,關心則

現在的狀態,說好聽點,患得患失;說的直接點……

江寒呵呵一笑:「不然呢?」

這種事,過分干預的話,往往適得其反。

所以,直接手是不可能的,頂多推波助瀾……

夏雨菲遲疑了半晌:「好吧,我聽你的。」

……

又聊了一會兒后。

「那個……」夏雨菲言又止。

江寒問:「怎麼了?」

夏雨菲一咬牙:「如果你將來……如果你將來,喜歡上了別的孩子,或者做出了對不起我的事,我也一定會學媽媽,轉就走!」

江寒「嗯」了一聲,平靜地說:「我記住了。」

夏雨菲沉默了一會兒,語氣轉:「不過我也一定,一定會給你一個機會,跟我解釋清楚。」

如果通過解釋,消弭了誤解,那自然啥事也沒有。

如果他的解釋,實在無法讓人滿意,那就……

Advertisement

那就再給他一個機會,重新解釋唄。

當真決絕地離開?

只怕自己還真有點辦不到!

當然,這個就不用告訴他了,自己心裡有數就行……

江寒點了點頭,說:「這樣很好。」

兩人又聊了一會兒。

見時間已經不早,江寒就和夏雨菲互道晚安。

然後隨便洗了洗,在老江隔壁,將就著躺了下來。

臨睡前,江寒又打開手機,隨意瀏覽了一會兒。

他主要關注的,是機學習方面的最新進展,和一些行業上的消息。

可惜心裡有點不凈,總是想到老江、夏如虹的事……

大約二十分鐘后,江寒忽然看到了一則消息。

ISLVRC2013已經開始接報名,並開放了數據下載埠。

江寒不由得神一振,總算等到了!

ISLVRC,全稱ImageNetLargeScaleVisualRecognitionChallenge,中文名稱「大規模視覺識別挑戰」。

但其實,就是個圖片分類比賽……

ISLVRC使用了ImageNet的一個子集。

ImageNet是一個相當龐大的圖像識別資料庫,由斯坦福大學模擬人類的識別系統建立。

有超過1400萬的圖像,以及相應的標籤,共包含2萬多個類別,一個典型的類別中,往往包含數百個圖像。

這次的比賽中,ImageNet提供的訓練集,共包括12萬多張圖片,以及對應的標籤。

驗證集則是50000張圖片和標籤。

至於最終挑戰的測試集,則包含了10萬條數據,分屬於1000個不同的類別。

這麼大規模的數據集,製作起來本高昂得驚人,全世界也沒有幾個。

對於研究機學習的人來說,這個比賽可是不容錯過的。

Advertisement

江寒馬上就報了名,並利用會館的WIFI,開始下載數據集。

只是,手頭並沒有電腦,怎麼進行編程呢?

江寒沉了一下,馬上進了虛擬空間。

這裡可是有一臺隨時可以使用的286。

雖然型號特別原始,能落後了點,也不能調試、編譯神經網路。

不過,自己完全可以用文本的方式,先把代碼敲進去,保存好。

明天再找個時間,發送到真實電腦上,調試、修改、編譯,然後上傳到伺服上訓練……

此外,這樣做還有一個莫大的好,那就是可以節省大量的時間。

畢竟在這裡工作100個小時,外面只過去大約1個小時……

江寒思考了一會兒,很快就有了大概的思路。

首先,既然是圖像識別,那麼最適合的模型,自然是卷積神經網路CNN了。

以CNN為基礎,打造一個深度學習網路,再進行一番優化,結合一些小技巧,大概率能取得極其優秀的果。

江寒設想了一個多達十幾層的卷積神經網路。

首先是輸層。

的圖像數據,是n×n×3的RGB彩圖像,所以這一層的數據格式,可以定義為一個三維數組。

接下來是卷積層。

對於卷積神經網路來說,這自然是重中之重。

江寒花費了很大的心,終於設計出一個全新的結構。

通過反覆地卷積、池化和標準化,一步步提取圖像的特徵……

經過前面這些步驟,需要理的神經元個數,和輸層相比,已經減了很多。

接下來,就可以把數據送進全連接層,用softmax函數進行分類了。

最後還要有個輸出層,對應1000種分類標籤……

確定了大思路之後,江寒又設計了一下網路的結構。

Advertisement

比如,應該有幾層卷積層,每一層如何實現……

一般的神經網路里,激活函數主要使用Sigmoid和Tanh(雙曲正切)函數。

但這兩個函數……

在網路層次較淺時,問題可能還不是很大,網路層次一深,就容易梯度炸或者梯度消失。

江寒在研製OCR的時候,就發現了這個問題,所以這一次,他準備引ReLU,作為卷積層的激活函數。

ReLU(RectifiedLinearUnit),一般稱作「線整流函數」,也可以翻譯「修正線單元」。

這個函數其實很簡單,表達式為F(x)=max(0,x)。

當自變數大於0時,它就是一個線函數,相當於一次函數y=x;

當自變數≤0時,y≡0。

這個函數其實不是什麼新鮮東西,只是在機學習中,以前沒人用過罷了。

所以這也算是一點小小的創舉……

要說ReLU的好嘛,那自然是不的了。

一方面,可以有效緩解梯度消失、梯度炸。

並且,還能讓梯度下降得更快,有效地提高訓練效率。

另一方面,也比較符合仿生學原理。

神經細胞的工作模式,就和這個函數差不多……

江寒思考了一下,又在網路的最後幾個全連接層中,使用了Dropout方法。

所謂Dropout,就是在前向傳導時,以某個概率P,隨機忽略部分神經元。

這樣做,可以有效地避免過擬合。

在編寫池化層時,江寒考慮了一下,使用了重疊的最大池化方法,而沒有使用他此前在CNN論文中提到的平均池化。

因為後者有個副作用,容易導致模糊化。

同時,這樣做還有另外一些好

比如,由於有部分重疊和覆蓋,提取出來的特徵,往往也會更加富……

在編寫標準化層的時候,江寒考慮再三,運用了LRN機制,也就是局部響應歸一化。

這樣做的目的,是讓局部神經元的活,產生某種競爭機制,使得強者愈強、弱者愈弱。

結底,是為了提高模型的泛化能力。

為了儘可能加快訓練速度,江寒甚至考慮過使用GPU編程。

雖然這個世界的GPU廠商,還沒有發明CUDA技,但條件已經完全備了。

畢竟從理論上來說,能挖礦的顯卡,就能用於大數據計算。

只要編寫出合適的驅和代碼,就能利用GPU,來進行大規模并行運算,顯著地提高神經網路的訓練速度。

可惜的是,單個顯卡的顯存比較有限,也就是說,可能承載不了太大的人工神經網路。

而這個深度CNN網路……

即使最保守的估計,也需要4~5GB的顯存。

這樣一來,就必須用兩塊顯卡,下火才行了……

江寒在虛擬空間中忙碌了幾十個小時,終於把這個空前巨大的人工神經網路搭建了起來。

當然,今天是沒法開始訓練了,只能等到明天再說……

江寒想了想,又買了很多空白圖紙,以及一些中筆,開始草擬論文的初稿。

在這次的比賽中,沒啥意外的話,自己這個「深度卷積神經網路」,應該能拿到不錯的績。

到時候,萬一有需要的話,現寫論文就顯得有點不夠從容了。

所以江寒決定,今晚就把這個網路的框架,寫論文,保存起來。

等到訓練完,收集到足夠的數據,再稍微修改下,就可以找個合適的時機,投出去了……。

猜你喜歡

分享

複製如下連結,分享給好友、附近的人、Facebook的朋友吧!
複製鏈接

問題反饋

反饋類型
正在閱讀: