主題: 學習筆記

ArtInt 閱讀筆記:智慧代理人,以及我搞混的 AI 基礎觀念

讀完 ArtInt 第三版 1.1~1.2,整理代理人、計算論題與 AI 技術分類,修正對決策樹、強化學習、早期語言系統及文字生成的誤解。

讀完《Artificial Intelligence: Foundations of Computational Agents》第三版 1.1~1.2 後,我發現需要回頭釐清的地方,集中在幾種區分:人工與虛假、模型等價與論題、技術誕生與普及,以及文字生成與真實性驗證。

這篇保存目前的理解與修正,也保留還需要練習的地方。主要範圍是第一章前兩節;MDP、條件獨立與 token 的補充會另外標示。文中的情境例子是為了幫助理解自行設計的,不是教材原題,也不是實作成果。

動態迷因(展開/收合)
認得名詞之後,還要能說清楚它與相鄰概念的差別。 · 來源:GIPHY

先用代理人的觀點看 AI

教材 1.1,代理人是在環境中採取行動的東西;計算代理人的決策,則能拆成可實作的基本運算。智慧行為的評估涉及目標、限制、後果、學習與適應。內部做法是否像人腦,不是這個定義的必要條件。

我用一個工作排程助手來整理這個觀點:

要問的事 放進排程情境
目標是什麼? 先完成到期工作,還是保留連續專注時間?
有什麼限制? 每天可用時間有限,任務耗時也不確定。
行動有什麼後果? 今天塞滿工作,可能讓明天沒有調整空間。
如何利用經驗? 上次低估耗時,下次要調整預估。
目標改變時怎麼辦? 使用者提高某項工作的優先序後,重新安排。

這個例子讓我比較容易分開「預測」與「決定」。預測某項工作要兩小時,只提供了一項資訊;決定今天先做哪件事,還要考慮目標和限制。

我也把研究與應用分開看:研究者可以用可執行模型檢驗智慧行為的假說;工程上的問題則是建構有用的代理人。人與系統協作,也是可以研究和設計的方式。教材 1.1

我需要修正的九個地方

下面用概念整理我這次搞混的內容,方便之後複習時檢查自己是否又做出相同推論。

我搞混的地方 修正後的區分
沒有辨認出「人工,所以是假的」混淆了什麼。 人工/自然談來源,真實/虛假是另一個問題。
把文化提供的內容排除在個人學習之外。 文化與學習會互相影響。
把「所有人類思考皆為演算法」當成已證明的前提。 Church–Turing thesis 不提供這項證明。
把 2012 年的成功當成人工神經元概念的起點。 誕生、發展與普及需要分開記。
以為決策樹只能表示人類手寫的規則。 決策樹也能從資料學習。
沒有把強化學習與決策、學習連起來。 教材以決策理論式規劃加上學習來介紹它。
以為早期語言系統要先掌握全部常識才能工作。 受限領域可以支援受限任務。
把 SHRDLU 和血液感染診斷混在一起。 SHRDLU 是積木世界;MYCIN 才是感染診斷。
把語言模型生成文字想成先證明每句話為真。 生成文字本身沒有這項保證。

前兩項對照1.1,技術與歷史分類對照1.2

人工與虛假,以及文化與學習

「這是人工做出來的」只交代來源,還不能回答它是不是真的具有某項性質。我現在會先問:這個形容詞究竟在分類什麼?若問題談來源,我就不該直接跳到真偽的結論。

文化與學習也不能切開。教材把生物因素、文化、終身學習列為人類智慧的來源,並說明它們會互相影響。教材 1.1.2

我的複習例子是學習「期限」這個概念:別人教我這個詞與用法,之後我用它理解工作安排。從文化取得概念,與個人學會運用概念,可以發生在同一段過程裡。

Church–Turing thesis:等價證明的範圍到哪裡?

這是我最需要慢下來讀的一段。

圖靈機與 lambda calculus 都有形式化定義,可以證明它們能計算同一類函數。Church–Turing thesis 則把直觀的「有效程序」與形式化的可計算性連起來。兩個形式模型等價,沒有自動證明它們涵蓋所有直觀上有效的程序;更沒有證明所有人類思考都是演算法。補充:Church–Turing thesis

我用三個不同問題檢查理解:

  1. 模型能力:這個函數能不能由某種形式模型計算?
  2. 論題範圍:所有有效程序是否都落在這個模型能處理的範圍?
  3. 實際成本:即使能算,時間與記憶體是否負擔得起?

第三個問題也提醒我:一個方法可計算,仍可能無法在工作期限內完成。不能用「理論上能做」直接回答「實際上可用」。

動態迷因(展開/收合)
先確認主張的範圍:形式模型等價、有效程序與執行成本,是三個不同問題。 · 來源:GIPHY

機器學習、規劃與強化學習怎麼接起來?

我把這段改記成工作流程:先取得資訊,再決定行動,最後利用結果改善做法。這只是自己的整理方法,不是所有 AI 系統都必須遵守的架構。

決策樹可以從資料學習,神經網路只是機器學習工具的一類。教材接著指出,預測還不足以決定行動,並以決策理論式規劃加上學習介紹強化學習。教材 1.2

放回排程助手:估計耗時是一件事;在期限下選擇順序是另一件事。若要再談學習,我需要說明它究竟從什麼結果更新了什麼,不能只看到「會調整」就認定採用了強化學習。

延伸:MDP 表示不確定的連續決策

MDP 描述狀態、行動、轉移機率與獎勵。Markov 假設要求目前狀態與行動足以決定下一狀態的機率分布,不必再依賴更早歷史。教材 12.5

自編例子是會打滑的機器人:選擇向前不保證前進成功。規劃時要把可能結果納入,而不是只算一條必定成功的路線。如果電量會影響結果,狀態卻只記位置,這個表示可能就不夠。

目前我先理解模型的用途;還沒有實作 MDP 求解器,也不把知道組成要素當成已經會建模。

延伸:條件獨立要說出「給定什麼」

貝氏網路利用條件獨立性描述機率結構。教材 9.3

自編簡化模型:R 表示下雨,A、B 表示兩處地面濕。如果假設給定 R 後 A 與 B 獨立,可以寫成:

P(R, A, B) = P(R) × P(A | R) × P(B | R)

這裡的重點是明確說出假設。如果兩處地面還受共同灑水設備影響,只知道下雨與否可能不夠。我需要先檢查這個假設,才能使用這種分解。

歷史名詞改用「系統處理什麼」來記

系統或事件 代表工作或意義
Logic Theorist 尋找命題邏輯證明。
DENDRAL 推測有機化合物結構。
MYCIN 血液感染診斷。
SHRDLU 模擬積木世界中的語言互動與任務。
STUDENT 自然語言描述的代數題。
CHAT-80 地理問答。
2012 年 ImageNet 成功 推動神經網路採用;形式神經元研究早在 1943 年已有。

這些對應來自教材 1.2。我接下來會先遮住左欄,從任務回想系統名稱,再反過來練習,避免只記得熟悉的拼字。

Logic Theorist 可以先用 P 與「若 P 則 Q」推出 Q 的小例子理解證明步驟;SHRDLU 則用「把一塊積木放到另一塊上面」理解受限任務。兩個例子都是我的教學簡化,不是原系統的完整能力描述。

文字生成與事實驗證要分開檢查

我先前搞混了生成機制與真實性證明。序列模型可以根據前文生成後續 token;token 可能是字、詞或詞的一部分。這不要求先證明每句話為真。延伸:教材 8.5

對我而言,實際的修正是讀到解釋時多做一步:找出可以核對的主張。例如看到某系統「最早發明」某技術,就分別查日期、原始工作與作者究竟聲稱什麼。流暢的段落不能替代這些檢查。

下一次複習,我想能自己說明這些問題

  • 一個排程助手如何把預測轉成行動?它受到哪些限制?
  • 形式模型的等價證明,為什麼沒有直接證明所有思考都是演算法?
  • 給一個新的簡單情境,我能不能說明狀態、行動與不確定結果?
  • 聲稱兩個事件條件獨立時,我能不能說出條件與可能破壞假設的因素?
  • 面對一段生成文字,我能不能指出哪些主張需要另外驗證?

這份筆記保存的是修正後的理解。下一步還要用新例子重新說明,確認離開原本的選項後,這些區分仍然說得清楚。

閱讀來源