P.S.:? 說三個比較重要的事情:
i.? 我突然的發現自己忘了把代碼上傳,于是決定在這周末上傳到github中。如果這個section中包含了實例代碼,我會更新文章并把github上的鏈接放在文章的開頭。
ii. 剛才看了看之前寫的,發現有部分文章沒有上傳。待我回去找找上傳上去。沒關系,第4章講的都是基礎概念,第5,6章才是重點。
iii. 翻譯了這么久,似乎只在第一篇上粘貼了翻譯的書籍 。這是我的失誤,現在給出翻譯來源:
目前,我們已經使用過了簡單的神經網絡。無論是線性的還是邏輯回歸的模型都是這樣的單個神經元:
1.將一個輸入特征按照權重求和。偏置(bias)可以被認為是輸入的特征值為1的權重。我們稱之為線性組合的功能。
2.然后使用激活或者是傳遞函數來計算輸出。(Then apply an activation or transfer function to calculate the
output)。如果是線性回歸,轉換函數是恒等的(the identity),然而邏輯回歸用的是sigmoid函數作為轉換器。
下圖繪制出了每個神經元的輸出、處理和輸出:
如果是softmax classification的話,我們使用C個神經元對應每一種可能的輸出類別:
現在,為了解決更多復雜(difficult)的問題,我們需要更加優秀的模型(a more developed model.)例如:讀取手寫體數字或者是在圖像中識別貓和狗。
來讓我們從一個簡單的例子說起。假設,我們想要構建一個神經網絡來適合XOR(eXclusive OR異或)的boolean操作:
當任一輸入等于1時,它應返回1,但兩者都相同的時候不會返回1。
這似乎是我們迄今為止所嘗試的一個更簡單的問題,但是我們提出的模型卻都沒有解決。
原因是S型神經元需要我們的數據線性分離才能使其工作更好。這意味著必須在二維數據(或更高維度數據中的超平面)中存在一條直線,它將屬于同一側的類的所有數據樣本分開,如下所示:
從這個圖標中我們可以看出點作為數據樣本,相同的類別是相同的顏色。只要我們可以找出一條黃線可以完全分離圖表中的紅色和藍色點,則S型的神經元對于該數據集將工作正常。
來讓我們看看XOR門(異或門)函數繪制的圖表:
我們找不到一條分割圖表的直線,留下一邊的所有1(紅點),另一邊留下0(藍點)。所XOR函數輸出不是線性可分離的。
這個問題實際上導致了神經網絡研究在1970年代左右大約十年左右的失去其重要性。那么他們如何解決缺乏線性可分性來繼續使用網絡?他們通過在網絡的輸入和輸出之間插入更多的神經元來完成,如圖所示:
你看,我們在輸入層和輸出層之間添加了隱含層。你可以認為它允許我們的網絡向輸入數據詢問多個問題,隱藏層每個神經元對應一個問題,最后根據這些問題的答案決定輸出結果。
從圖上來看,我們允許網絡繪制多個單獨的分隔線:
正如你再圖中看到的一樣,每行將平面的第一個問題劃分給輸入數據。然后,你可以將所有相等的輸出在一個區域中組合在一起。
在本書的后面,我們介紹不同類型的深層神經網絡,用于不同的使用場景。
下一期:梯度下降和反向傳播