大家還記得以深度學習技術為基礎的電腦程式alphago嗎?這是人類歷史中在某種意義的第一次機器打敗人類的例子,其最大的魅力就是深度學習(deep learning)技術。
早在2023年,minsky教授(mit教授,人工智慧研究的先驅者)就一直不太看好神經網路技術(即深度學習的前世),主要指出了神經網路技術的侷限性,這某種程度上導致了神經網路的研究進入了將近二十年的低潮。
需要指出的是人工智慧的研究基本上都是用大量的if-then規則定義的,即「自上而下」的思路;而人工神經網路(artifical neural network)從來沒有乙個嚴格的定義,它最大的特點就是無限程度地模仿人類的大腦中的神經元之間傳遞資訊、處理資訊的模式,標誌著「自下而上」的思路。
如下圖所示,是深度學習的乙個計算模型(典型的神經網路),可以明顯看出其最大的特點就是模仿人類大腦處理資訊的方式。該模型具備兩大特徵:一是每個神經元(彼此連線的節點)都通過某種特定的輸入函式(即激勵函式activation function)計算處理來自其他相鄰神經元的加權輸入值;二是神經元之間資訊傳遞的強度,用加權值來定義,演算法會不斷的自我學習並且更新這個加權值。
當然,神經網路的計算模型依靠大量的資料來進行訓練,這就需要以下幾樣東西:
成本函式(cost function):用來評估輸入與輸出的「靠譜度」,通俗說就是用來定量評估根據特定的輸入值,計算出來的輸出結果離正確的值還有多遠,結果是不是靠譜;
學習的演算法(learing algorithm):就是根據成本函式進行自學並糾正,以最快的速度找到神經元之間最優化的加權值。
雖然說神經網路希望無限逼近人腦處理資料的方法,但隨著研究的不斷變遷,其計算特點與傳統的生物神經元之間的連線模型日趨漸遠,但仍舊保留著最基本的共性:非線性、分布式、平行計算、自適應、自組織。
在深度學習經歷的漫長的寒冬季節之後,一位叫做hinton的學子理解的大腦記憶是:大腦對事物和概念的記憶,不是儲存在某乙個單一的地點,而是像全息**一樣分布式地存在於乙個巨大的神經元的網路裡。也就是說,當年表達乙個概念時,不是用單個神經元一對一地儲存定義,概念與神經元之間是多對多的關係,乙個概念可以用多個神經元共同表達定義,同時乙個神經元也可以參與多個不同概念的表達。
總而言之,分布式表徵(distributed representation)是神經網路研究的乙個核心思想。
2023年,hinton在自然雜誌上發表文章,第一次簡潔地闡述了反向傳播演算法在神經網路模型上的應用。反向傳播演算法,通過在神經網路裡增加了乙個隱層(hidden layer),同時也解決了感知器無法解決異或門的難題。使用反向傳播演算法的神經網路在做諸如形狀識別之類的簡單工作時,效率比感知器大大提高了,此時神經網路的研究開始慢慢復甦。
早在 2023年,vapnik 就提出了 支援向量機 (support vector machine) 的演算法。支援向量機,是一種精巧的分類演算法。除了基本的線性分類外,在資料樣本線性不可分的時候,svm 使用所謂 「核機制」 (kernel trick) 的非線性對映演算法,將線性不可分的樣本轉化到高維特徵空間 (high-dimensional feature space),使其線性可分。svm,作為一種分類演算法,九十年代初開始,在影象和語音識別上找到了廣泛的用途。在貝爾實驗室的走廊上,yann lecun和 vapnik 常常就 (深度) 神經網路和 svm 兩種技術的優缺點,展開熱烈的討論。vapnik 的觀點是:svm,非常精巧地在 「容量調節」 (capacity control) 上 選擇乙個合適的平衡點,而這是神經網路不擅長的。yann lecun的觀點是:用有限的計算能力,解決高度複雜的問題,比「容量調節」更重要。支援向量機,雖然演算法精巧,但本質就是乙個雙層神經網路系統。它的最大的侷限性,在於其「核機制」的選擇。當影象識別技術需要忽略一些噪音頻號時,卷積神經網路的技術,計算效率就比 svm 高的多。
神經網路的計算,在實踐中還有另外兩個主要問題:
第一,演算法經常停止於區域性最優解,而不是全域性最優解。這好比「只見樹木,不見森林」;
第二,演算法的訓練,時間過長時,會出現過度擬合 (overfit),把噪音當做有效訊號。
不管如何,時至今日,深度學習無疑已經成為最熱的高新技術之一,也在眾多實際應用中大顯身手,是每乙個ai領域的學者都必須掌握的「基本」技能。
AI理論學習
關於ai理論學習的筆記 淺顯地理解ai領域,輸入如感知推理,輸出如下棋寫詩,有為了更好通過圖靈測試的仿生,或則是減少人工介入的 智慧型 圖靈測試就是讓人分不清是人還是機器,涉及自然語言處理 表達 推理和學習,刻意避免了直接的物理互動,完全的圖靈測試還包括計算機視覺和機械人控制,用以增強感知和輸出。亞...
深度學習理論學習 03
經過了理論上的熟悉和入門之後,接下來的內容主要就是進行環境的搭建和 的編寫測試上了。那麼這一篇文章的主要內容基本就是環境的搭建。目前網上和教材上很多環境都是ubuntu tensorflow,但是我在暑假裝機的時候已經安裝了win10的系統,而且經過學長們的指點,其實在win環境下也是能夠安裝ten...
HDFS的理論學習筆記
hdfs的優點 1 高容錯性,hdfs預設有多個副本,及時伺服器壞了一台之後,會補全壞掉伺服器上面的副本,放到其他的沒有壞掉的伺服器上。2 可以構建在廉潔的機器上 hdfs的缺點 1 不適合低延遲資料量訪問 為什麼hdfs不支援修改呢?原因是hdfs儲存是按分塊的,修改了檔案的大小後,塊需要重新劃分...