1. 神經網路的關鍵是什麼
神經網路的關鍵是什麼
相對於傳統的線性和非線性方法,為什麼神經網路會如此強大?
當你有一個線性模型,每一個功能要麼對你有幫助,要麼對你有傷害,這種假設是線性模型中固有的。因此線性模型要麼功能異常強大,用類1表示;要麼則毫無用處,用類2表示。所有的解決方案,要麼導致該功能獲得巨大的價值;要麼價值變得微不足道。你永遠不會有這么一個狀態說,在這個區間,該功能就是代表類1;但是在另一個區間,它代表類2。
線性和非線性方法局限性很大。也就是說,如果你分析圖片,舉個例子,尋找狗狗的照片,它很可能會進入到一個特定的子集裡面,比如只顯示有一隻狗的照片,或是顯示某一像素和其他類型的圖片。在線性模式裡面,你無法確定復雜的關系集。相比於線性模型,非線性模型可能會顯得更強大一些,但是這種模式同樣難以訓練。我們會再一次進入到所謂最優化理論的問題之中,這也是我們在很長一段時間里認為神經網路還不是足夠好的原因之一,因為他們會「過擬合」,通俗的說,就是太過強大。我們無法做預測,也無法確保最優化方案。或許,這可能就是為什麼神經網路從當下暫時消失的原因吧。
在神經網路理論中,機器學習有很多分支和方法,你能總結一些關鍵方法嗎?
到目前為止,最成功的方法是監督學習方法,它使用了一個比較老的演算法,稱為反向傳播,構建了一個擁有許多不同輸出的神經網路。
讓我們看下一個神經網路構建,這個網路已經非常流行了,叫做卷積神經網路。這個理念是機器學習研究人員構建了一個多層架構的模型,每一層都可以用不同的方法處理之前一層的連接。
在第一層,你有一個窗口,上面會給圖像分配權值,它也變成了該層的輸入。由於權值「卷積」,該層也被稱為卷積層,它會自我重疊。接著後面會有若干個不同類型的層,每層都有不同的屬性,絕大多數都是非線性的。
最後一層會有1萬個潛在神經元輸入,那些激活的神經輸出,每一個都對應了一個特殊的標簽,可以用來識別圖像。第一類可能是一隻貓,第二類可能是一輛車,以此推到所有一萬個類,這樣一張「圖像網」就出來了。如果第一個神經元(一隻貓)與1萬個神經元中絕大多數都匹配,那麼這張圖像就能被識別出來,是一張貓的圖像。
這種監督學習方法的缺點是,在訓練的時候,你必須要在圖像上應用標簽,這是一輛車,這是一個動物園等。
沒錯,那麼無監督學習方法呢?
無監督學習方法還不是那麼受歡迎,它涉及到「自編碼器」。這種神經網路不會用來分類圖像,但是可以壓縮圖像。同我剛才提及的方法來讀取圖像,識別一個權值,並在一個卷積層內用像素填滿。其他若干層也這樣,包括相比於其它層小的多的中間層。這樣做的話,相關的神經元會變得很少,基本上,你讀取圖像時會進入到一個瓶頸,之後從另一邊走出來,並嘗試重新構建該圖像。
在無監督學習訓練下,不需要打標簽,因為你所做的就是把圖像放入到神經網路的兩端,然後訓練網路適應圖像,特別是訓練中間層。一旦你這么做了,那麼就擁有了一個知道如何壓縮圖像的神經網路。無監督學習方法可以給你提供能應用在其他分類器的功能,因此如果你有哪怕一點點標簽訓練數據,沒問題,它一樣可以為你提供大量圖像。你可以把這些圖像看做是無標簽訓練數據,並使用這些圖像構建一個「自編輯器」,然後從這個自編輯器中導出一些功能,這些功能適合使用一些訓練數據,以此找到對特殊模型敏感的自動編碼神經網路中的神經元。
2. 分析影響一個神經網路模型是否達到要求的因素有哪些
我模型的是否達到要求的因素應該就是他的思維狀態和他現在的各種情況。