讀AI新生:破解人機共存密碼筆記17不確定性和機率
躺柒發表於2024-07-01
1. 前向搜尋
1.1. 透過前向搜尋,透過考慮各種可能的動作序列的結果,來選擇動作,是智慧系統的基本能力
1.2. 如果一家卡車運輸公司想要最佳化其100輛卡車在美國的運輸,那麼該公司可能需要考慮的狀態數量將是10^700個
1.3. 幾乎所有的前向搜尋程式都在使用的基本思路是,給葉子節點,即最遙遠的未來的那些狀態,各賦予一個估計值,然後“回溯”,找出根節點的各個選擇有多好
1.4. 人類能夠管理自己的計算活動,從而合理而又迅速地做出理智的決策,這種能力至少與人類正確感知和推理的能力一樣非凡
1.5. 選擇計算的過程叫元推理,這意味著對推理進行推理
1.5.1. 計算的價值在於它能提高你的決策質量
1.6. 探索從當前狀態延伸到未來的可能性之樹並不是做出決定的唯一途徑
1.6.1. 從目標開始向後追溯更有意義
1.6.2. 目標通常會考慮所有可能的合法動作
1.7. AlphaZero大約能向前計算50步棋,但是50步棋的運動控制指令只能讓你計劃幾秒鐘後的未來
1.7.1. 雖然AlphaZero在圍棋對局中比任何人都看得更遠,但這種能力在現實世界中似乎並沒有幫助
1.7.2. 這是一種錯誤的前向搜尋
1.7.3. 它考慮的唯一動作就是從初始狀態開始按順序發生的原始動作
1.8. 1962年,赫伯特·西蒙在著名的論文《複雜性的體系結構》中強調了層級組織的重要性
1.8.1. 自20世紀70年代初以來,人工智慧研究人員已經開發出多種方法來構建和細化層級組織的計劃
1.8.2. 目前現有的所有分層規劃方法都依賴於人為產生的抽象動作和具體動作的層級組織,我們還不知道如何從經驗中學習這種層級組織
2. 知識與邏輯
2.1. 在古代印度、中國和希臘獨立發展起來的邏輯學核心思想是,精確含義和合理推理可以應用於任何句子,而不僅僅應用於數字
2.2. 邏輯學是一種用確定的知識進行推理的研究
2.2.1. 就主題而言,它是完全通用的,也就是說,邏輯學知識可以是關於任何事物的
2.2.2. 邏輯學是我們理解通用智慧的不可或缺的一部分
2.3. 命題邏輯
2.3.1. 自20世紀60年代初以來,命題邏輯中實用的“推理演算法”就已為人們所知
2.3.1.1. 雖然在最壞的情況下,處理一般推理任務可能需要花費指數級的時間
2.3.2. 一旦人們將所有這些任務表述為推理任務,就可以使用單一演算法(命題邏輯的推理演算法)來解決所有任務
2.3.3. 問題不僅在於規則手冊將達到令人難以置信的規模,還在於學習系統從例子中獲取規則,需要多到令人難以置信的經驗
2.3.3.1. 這種限制不僅適用於基於命題邏輯的系統,也適用於任何具有類似表達能力的系統,其中包括貝葉斯網路(它最早是命題邏輯的機率學“表親”)以及神經網路(它是人工智慧“深度學習”方法的基礎)
2.4. 一階邏輯
2.4.1. 一階邏輯由德國數學家戈特洛布·弗雷格(Gottlob Frege)於1879年提出,它為人們提供了一種描述規則的方法
2.4.2. 命題邏輯和一階邏輯的關鍵區別在於:命題邏輯假設世界是由真假命題組成的,而一階邏輯假設世界是由可以透過各種方式相互關聯的物件組成的
2.4.2.1. 用一階邏輯描述與用英語描述幾乎一樣長
2.4.3. 名為Prolog的程式語言
2.5. 邏輯無法處理不確定的資訊
2.5.1. 有效的老式人工智慧,簡稱GOFAI
2.5.2. 越來越多的人認為邏輯與人工智慧無關
2.5.3. 事實上,如今深度學習領域的許多人工智慧研究人員對邏輯一無所知
2.6. 在任何有用的意義上,一個可以瞭解事物的程式至少需要擁有與一階邏輯能力相媲美的表達和推理能力
3. 貝葉斯網路
3.1. 20世紀80年代初,朱迪亞·珀爾提出了一種叫作“貝葉斯網路”的正式語言
3.2. 就像命題邏輯一樣,有些演算法可以用任何證據回答任何貝葉斯網路的任何問題
3.3. 貝葉斯網路提供了一種基於知識系統的方法,避免了和20世紀80年代基於規則的專家系統一樣的失敗
3.3.1. 事實上,人工智慧界如果在20世紀80年代初不那麼強烈地抗拒機率,就可能會避免基於規則的專家系統泡沫之後的人工智慧寒冬
3.4. 貝葉斯網路為表示必要的機率和執行計算提供了機制,為許多複雜任務實現了貝葉斯更新
3.4.1. 就像命題邏輯一樣,它們表達一般知識的能力也相當有限
3.5. 瞭解不確定的世界的基本方法是貝葉斯更新
3.6. 實現它的演算法通常有兩個步驟
3.6.1. 預測,在這個步驟中,智慧體根據最近的動作預測世界的當前狀態
3.6.2. 更新,在這個步驟中,智慧體接收新的感知輸入並相應地更新它的信念
3.7. SLAM是許多人工智慧應用的核心元件,從擴增實境系統到無人駕駛汽車和行星漫遊車
3.7.1. 同步定位與地圖構建
4. 不確定性和機率論
4.1. 邏輯學為用確定的知識進行推理提供了通用基礎,而機率論則需要用不確定的資訊進行推理(確定的知識是其中的一種特例)
4.2. 不確定性是現實世界中的智慧體的正常認知狀態
4.3. 雖然機率論的基本思想是在17世紀發展起來的,但直到最近,以正式的方式用大機率模型來進行表達和推理才成為可能
4.4. 一階機率語言
4.4.1. 可以將一階邏輯的表達能力與貝葉斯網路精確獲取機率資訊的能力結合起來
4.4.2. 這種結合讓我們得到一加一大於二的效果:基於機率知識的系統能夠處理比單用邏輯方法或貝葉斯網路更廣泛的現實世界情況
4.4.3. 一階邏輯和機率論的結合給了我們一種表達許多物件的不確定資訊的方式
4.4.3.1. 不僅有關於哪些事實是真或假的不確定性,還包括存在哪些物件的不確定性,以及物件的對應關係的不確定性
4.5. 機率論與有表達能力的正式語言的結合是人工智慧的一個非常新的子領域,通常被稱為機率程式設計
4.5.1. PPL
4.5.2. 其中許多都是從普通程式語言而不是從一階邏輯中獲得表達能力的
4.5.3. 所有的機率程式語言系統都具有用複雜的、不確定的知識進行表達和推理的能力
4.5.3.1. 其應用有微軟的TrueSkill系統,該系統每天為數百萬名電子遊戲玩家評級
4.5.3.2. 還有以前任何機械假說都無法解釋的人類認知方面的模型
4.6. 機率推理最重要的作用之一是瞭解世界上無法直接被觀察到的部分
4.6.1. 在部分可見的環境中執行的智慧體必須根據它們所擁有的線索,儘可能地瞭解它們看不到的東西
4.7. 信念狀態(belief state)一詞來指代智慧體對世界狀態的當前認知,無論這種認知是多麼地不完整和不確定
4.7.1. 保持信念狀態為最新狀態是一切智慧體的核心活動
4.7.2. 對於信念狀態的某些部分,這是自動發生的
4.7.3. 對於其他部分,這則是按需發生的
5. 從經驗中學習
5.1. 學習意味著基於經驗改進效能
5.2. 機器學習最常見的形式是監督學習
5.3. 從規則的逐步發展中可以看出,學習是透過對假設進行一系列修改來適應觀察到的例子而實現的
5.3.1. 這是學習演算法可以很容易做到的事情,也是第一個要點
5.3.2. 假設也可以是表示物理定律的代數表示式,表示疾病和症狀的機率貝葉斯網路,甚至可以是表示某些其他機器的複雜行為的計算機程式
5.4. 第二個要點是,即使好的假設也可能是錯誤的
5.5. 歸納推理
5.5.1. 從“特定觀察結果”到“一般原則”的推理,永遠無法得到保證
5.6. 在現代統計學理論中,我們要求的不是保證完全正確,而是保證發現的假設大致正確
5.7. 只要世界表現出一定程度的規律性,這個演算法就不太可能產生非常糟糕的假設,因為這樣的假設很可能已經被某個嘗試“發現”了
5.8. 深度學習技術在媒體上引起了所有關於人工智慧的喧囂
5.8.1. 它主要是一種監督學習的形式,代表了近幾十年來人工智慧領域最重要的進步之一,所以值得我們瞭解它的工作原理
5.8.2. 在特定任務的背景下理解深度學習是最容易的
5.8.3. 目前最受歡迎的是深度卷積網路
5.8.3.1. 網路實際上是一幅複雜的、可調的數學表示式的圖畫
5.8.3.2. 奇特之處在於,網路結構在影像的整個輸入過程中以固定的模式自我重複
5.8.3.3. 它之所以被稱為“深度”網路,是因為這樣的網路通常有很多層,也因為這個名字聽起來令人讚歎,而且有些詭異
5.8.4. 因為它們有很多層,所以每一層都可以學習從輸入到輸出的一個很簡單的轉換,而許多這樣的簡單轉換加起來,就是從照片到類別標籤所需的複雜轉換
5.8.4.1. 深度視覺網路具有內建的結構,可以強制實現平移不變性和尺度不變性,這意味著,無論狗出現在影像中的哪個位置,無論它在影像中看上去體型有多大,它都是一隻狗
5.8.5. 深度網路的另一個重要特性是,它們經常能發現影像的內部表示形式,正是這些形式捕捉到了影像的基本特徵,例如眼睛、條紋和其他簡單形狀
5.8.5.1. 多次重複這個過程就會生成現在眾所周知的DeepDream(“深夢”)或Inceptionism(“啟發主義”)神經網路生成的那種影像
5.8.5.2. Inceptionism本身已經成為一種藝術形式,它生成的影像不同於任何人類藝術
5.8.6. 雖然深度學習系統取得了令人矚目的成就,但我們目前所理解的深度學習系統遠不能為通用智慧系統提供基礎
5.8.6.1. 它們是電路
5.8.6.1.1. 在“原生模式”下執行的深度網路需要大量的電路來表示相當簡單的常識
5.8.6.2. 它們是命題邏輯和貝葉斯網路的表親,雖然它們有很多奇妙的特性,但它們也缺乏用簡潔的方式表達複雜知識的能力
5.8.7. 深度學習可能會在遠低於通用智慧的水平上停滯不前
6. 從思考中學習
6.1. 每當你發現自己不得不思考某件事時,那是因為你還不知道答案
6.2. 你儲存並重復使用了問題的通用解決方案
6.3. 看到例子後,智慧體可以自己解釋為什麼會出現這種情況,並可以透過了解哪些因素對解釋至關重要,來提取通用原理
6.3.1. 在人工智慧中,這種學習被稱為基於解釋的學習
6.3.2. 這個過程本身不會增加新的知識
6.4. 認知科學的研究強調了這種型別的學習在人類認知中的重要性
6.4.1. 它以“知識塊”之名,形成了艾倫·紐厄爾(Allen Newell)極具影響力的認知理論的核心支柱
6.4.2. “知識塊”解釋了人類如何透過練習而變得更熟練地處理認知任務,因為原本需要思考的各種子任務都變成了自動完成的任務
6.4.3. 如果沒有它,人類的對話將侷限於一兩個字的回答,數學家仍將依靠他們的手指計數