讀人工智慧全傳09神經網路
躺柒發表於2024-07-11
1. 機器學習
1.1. 人們對人工智慧的態度發生突如其來的巨大變化,是由一項核心人工智慧技術——機器學習的快速發展所推動的
1.1.1. 機器學習是人工智慧的一個分支領域,但在過去60年的絕大部分時間裡,它一直在一條獨立的道路上發展
1.2. 機器學習作為一個學科領域,擁有同人工智慧一樣長的歷史,也同樣龐大
1.2.1. 在過去的60年裡,人們發展過各式各樣的機器學習技術
1.3. 機器學習的目標是讓程式能夠從給定的輸入中計算出期望的輸出,而不需要給出一個明確的方法
1.3.1. 給定的輸入是手寫文字的圖片;期望的輸出是手寫文字表示的字串
1.4. 監督式學習
1.4.1. 對於文字識別的機器學習程式,我們通常需要給它提供許多手寫字元的範例來進行訓練,每個範例都標有對應的實際字元
1.5. 機器學習需要資料,大量的資料
1.5.1. 一個程式必須只能使用可能存在的輸入輸出集合的一小部分進行訓練,但是如果訓練資料量太小,那麼程式沒有足夠的資訊來學會人們所期望的輸入到輸出的對映
1.6. 訓練資料的另一個基本問題是特徵提取
1.7. 維度詛咒
1.7.1. 訓練資料包含的特徵越多,你需要給程式提供的訓練資料量就越大,程式學習的速度也就越慢
1.7.2. 最簡單的應對方式就是隻在訓練資料中包含少量的特徵,但這也會引起一些問題
1.7.2.1. 忽略了程式正確學習所必需的特徵
1.7.2.1.1. 即確實標明客戶信貸記錄不良的特徵
1.7.2.2. 如果你沒有合理地選擇特徵,可能會在程式中引入偏差
1.7.2.2.1. 地域歧視
1.8. 強化學習
1.8.1. 我們不給程式任何明確的訓練資料:它透過決策來進行實驗,並且接收這些決策的反饋,以判斷它們是好是壞
1.8.2. 被廣泛應用於訓練遊戲程式
1.8.2.1. 程式玩某個遊戲,如果它贏了,就會得到正反饋,如果它輸了,就會得到負反饋
1.8.2.2. 不管正負,它得到的反饋都被稱為獎勵
1.8.3. 關鍵困難在於,許多情況下,獎勵反饋可能需要很長的時間,這使得程式很難知道哪些行為是好的,哪些行為是壞的
1.9. 信用分配問題
1.9.1. 讚譽分佈、功勞分配的,通俗來講可以比喻成你吃了10個包子後吃飽了,但是你並不知道具體是哪個包子為你吃飽的貢獻比較大
2. 神經網路
2.1. 神經網路是在機器學習領域佔據主導地位的
2.2. 神經網路是人工智慧中最古老的技術之一:1956年,約翰·麥卡錫在人工智慧暑期學校裡提出的最初建議就包括神經網路
2.3. 它曾經度過了兩次寒冬,就在世紀之交的時候,許多人工智慧研究人員還把神經網路視為一個毫無希望的研究領域
2.4. 神經網路最終迎來了勝利,而推動其復興發展的新思想是一種被稱為深度學習的技術
2.4.1. 深度學習正是深度思維公司的核心技術
2.4.2. 雖然深度學習是一門強大又重要的技術,但它並不是人工智慧的終點
2.5. 靈感來自大腦內組成神經系統的神經細胞——神經元的微觀結構
2.5.1. 神經元是一種能夠以簡單的方式相互交流的細胞
2.5.2. 自神經元發起的纖維突起,被稱為軸突
2.5.3. 與其他神經元進行連線,連線的“交叉點”被稱為突觸
3. 感知器(神經網路1.0)
3.1. 神經網路的研究起源於20世紀40年代美國研究人員沃倫·麥卡洛克(Warren McCulloch)和沃爾特·皮茨(Walter Pitts),他們意識到神經元可以用電路建模,更具體地說,是用簡單的邏輯電路,他們用這個想法建立了一個簡單但非常通用的數學模型
3.2. 50年代,弗蘭克·羅森布拉特(Frank Rosenblatt)對這個模型進行了改進,創造出了感知器模型
3.2.1. 感知器模型意義重大,因為它是第一個實際出現的神經網路模型,時至今日,它仍然有存在的意義
3.3. 觸發閾值
3.3.1. 感知器的運作模式是神經元受到的刺激超過了觸發閾值T,那麼它就會“啟動”,這就意味著它的輸出被觸發
3.3.2. 我們把啟用的輸入的權重加在一起,如果總權重超過閾值T,則神經元產生一個輸出
3.4. 多層感知器結構
3.4.1. 人工神經網路通常是分層組織的
3.4.2. 從精準的數學定義來說,可以證明多層感知器完全能夠普遍適用
3.5. 在羅森布拉特的時代,人們主要關注單層網路,原因很簡單:沒有人知道如何訓練具有多個層面的神經網路
3.5.1. 多層神經網路結構
3.6. 神經網路分解下來的全部內容:一堆數字列表。對於任何一個大小合理的神經網路來
3.7. 感知器模型不能學習一個很簡單的邏輯概念——異或(XOR)
3.8. 某些類別的感知器在基礎結構層面具有嚴重侷限性,這似乎就意味著基於感知器的通用模型存在侷限性
3.9. 到了20世紀60年代末,神經網路研究急劇衰落
3.9.1. 神經網路研究的衰落僅僅發生在人工智慧寒冬出現的前幾年
4. 連線主義(神經網路2.0)
4.1. 神經網路研究領域一直處於休眠狀態,直到20世紀80年代才開始復甦
4.2. 《並行分散式處理》
4.2.1. 預示著神經網路研究領域的復興
4.2.2. 並行和分散式處理(簡稱PDP)是電腦科學研究的一個主流領域,它主要研究如何建立能夠並行運算的計算機系統
4.2.3. 它主要研究多層神經網路,可以輕易克服明斯基和帕普特所斷定的簡單感知器系統的侷限性
4.2.4. PDP以一種被稱為反向傳播的演算法為這個問題提供瞭解決方案,這或許是神經網路領域中最重要的一門技術
4.3. PDP還提供了比感知器更適用的神經元模型
4.3.1. 感知器模型本質上還是二進位制的計算單元(狀態為開或者關),而PDP的神經元模型更具備通用性
4.4. 反向傳播
4.4.1. 反向傳播演算法的基本思想很簡單,它的工作原理是收取神經網路出錯的反饋,這裡的錯誤是在網路的輸出層的輸出
4.4.2. 反向傳播似乎在過去的幾年裡被發明和重新發明過很多次,但是PDP研究人員引入的特定方法最終確定了它的地位
4.5. 反向傳播演算法的發展和PDP研究界引入的其他創新,使得神經網路具備廣泛應用的可行性,這遠遠超出了20年前感知器模型的簡單演示,人們對神經網路的發展興趣倍增
4.6. 到了90年代中期,神經網路研究再次失寵
4.6.1. 源於一個平淡無奇的理由:當時的計算力不夠強大,無法承載新技術
5. 深度學習(神經網路3.0)
5.1. 推動第三次神經網路研究浪潮的關鍵技術被稱為深度學習
5.2. 網路要具備“深度”,即多層結構
5.2.1. 每一層可以在不同的抽象層面上處理一個問題
5.2.2. 靠近輸入層的層面處理資料中比較低階的概念(例如圖片的邊緣之類)
5.2.3. 越是到了深層網路,就處理越為抽象的概念
5.3. 深度學習不僅僅體現在“深度”上,還能夠享受神經元數量劇增的益處
5.3.1. 一個典型的1990年的神經網路可能只有大約100個神經元
5.3.2. 人類的大腦大約有1000億個神經元
5.3.3. 到了2016年,先進的神經網路已經擁有大約100萬個神經元了
5.3.3.1. 這個數量和蜜蜂的大腦大致相同
5.4. 深度學習使用的深層次網路中,神經元本身的連線數量也十分可觀
5.4.1. 在20世紀80年代出現的高度連線神經網路中,每個神經元可能與其他神經元產生150個連線
5.4.2. 最先進的神經網路中的神經元,已經和貓的大腦神經元連線數相當了
5.4.3. 人類的神經元平均擁有10000個連線
5.5. 深度學習真正獲得成功,還需要另外兩個因素:資料和計算能力
5.5.1. 資料對機器學習的重要性可以用ImageNet專案的故事來說明
5.5.1.1. 2012年是技術影像分類發展的最佳時機,當時傑夫·辛頓和他的兩位同事亞歷克斯·克里澤夫斯基(Alex Krizhevsky)、伊利亞·蘇茨科弗(Ilya Sutskever)一起展示了名為AlexNet的神經網路系統,它在國際影像識別比賽中有著亮眼的表
5.5.2. 使深度學習發揮作用的最後一個要素是計算機的處理能力
5.5.2.1. 圖形處理單元(GPU)最初是為了處理計算機圖形問題而開發的,例如為電腦遊戲中提供高質量的動畫
5.5.2.2. 這些晶片被證明是訓練深度神經網路的完美工具
5.5.2.3. 每一個名副其實的深度學習實驗室裡都有GPU群
5.6. 更深的網路層級、更龐大的神經元結構、更廣泛的神經元連線,是神經網路深度學習模式成功的一個關鍵因素
5.6.1. 深度神經網路擁有更多的網路層次結構、更多的神經元以及每個神經元擁有更多的連線,為了訓練這樣的網路學習,就需要比反向傳播演算法更先進的技術
5.7. 缺點
5.7.1. 智慧是不透明的
5.7.1.1. 一個深度學習的程式可以告訴你在X光掃描圖片中哪裡有腫瘤,但它無法證明它的診斷是正確無誤的
5.7.1.2. 一個拒絕為客戶提供銀行貸款的深度學習程式無法告訴你它拒絕客戶的原因
5.7.1.3. 專家系統得出結論的推理依據是可以追溯的,但神經網路無法做到這一點
5.7.2. 神經網路的穩定性
5.7.2.1. 這是個不易察覺但非常重要的問題
5.7.2.2. 如果對影像進行細微的修正,對人類而言,這種修正完全不會影響影像識別,但會導致神經網路錯誤地將其分類
5.7.2.3. 對抗性機器學習
5.7.2.3.1. 對手故意透過修改圖片引數的方式來試圖矇騙程式
5.7.2.4. 影像分類程式認錯了動物,倒不是什麼要緊的事情,但對抗性機器學習已經昭示了一些令人惶恐的案例
5.7.2.4.1. 同樣的改圖方式可以影響程式對路標的識別,雖然人類肉眼看來沒什麼區別,但是在無人駕駛汽車中,神經網路就可能誤讀路標