讀人工智慧全傳06邏輯程式設計

躺柒發表於2024-07-08

1. 現代邏輯

1.1. 到了20世紀初,現代邏輯的基本框架已經大致建立起來,當時確立的邏輯運算系統,直至如今仍然能夠支撐數學家幾乎所有的邏輯推理工作

1.1.1. 這個系統被稱為一階邏輯,一階邏輯是數學和推理的通用語言

1.1.2. 這個框架涵蓋了亞里士多德、弗雷格、德·摩根、布林和其他人的所有型別的推理

1.1.3. 在人工智慧領域,一階邏輯似乎以同樣的方式提供了統一框架,為當時世界各地各式各樣、不成體系的知識表述方案提供了統一框架

1.1.4. 基於邏輯的人工智慧正規化由此誕生,其最早和最具影響力的倡導者之一,就是約翰·麥卡錫

1.2. 人工智慧開發中一個常見的誤區,就在於開發者為系統所選擇的術語對人類而言太容易理解了,反而增加了許多不必要的誤解,這讓我們以為機器人也能輕而易舉讀懂語言本身,而事實並非如此

1.3. 機器人的感應系統負責將感應器所提供的原始資訊轉化成機器人能使用的內部邏輯形式

1.3.1. 透過機器人的邏輯推理系統(推理機)來決定機器人的實際行為

1.4. 邏輯人工智慧的核心思想就在於機器人的行為是基於邏輯推理的結果:它必須推斷出自己接下來應該做什麼

2. 邏輯程式設計

2.1. 邏輯程式設計使用的是一種非常有名的語言:PROLOG

2.2. PROLOG主要是由美籍英國研究員鮑勃·科瓦爾斯基(Bob Kowalski),以及兩名來自法國馬賽的研究員,阿蘭·科爾默勞爾(Alain Colmerauer)和菲利普·羅塞爾(Philippe Roussel)發明的

2.3. 可以用PROLOG編寫出非常簡潔優雅的程式

2.3.1. 1974年大衛·沃倫(David Warren)編寫的戰機計劃系統可以解決積木世界內的規劃問題,只需要100行PROLOG程式碼

2.3.2. 如果要用Python之類的語言編寫同樣的系統,大概需要數千行程式碼以及數月的工作

2.4. 用PROLOG編寫的程式不僅僅是程式,還是邏輯公式

2.4.1. PROLOG程式看上去實現了麥卡錫對基於邏輯的人工智慧的設想

2.5. 在20世紀70年代末到80年代初,PROLOG開始嶄露頭角,直到它挑戰麥卡錫倍加推崇的LISP語言

2.5.1. 人工智慧駭客首選的程式語言

2.6. 雖然PROLOG沒有徵服程式設計師的世界,但不能將它視為失敗

2.6.1. 在世界各地,程式設計師每天都在愉快地使用PROLOG編寫高效的程式,並感激這種語言的強大和優雅

2.7. PROLOG最大的貢獻卻是無形的:邏輯程式設計為計算機提供了一個全新的思路,就如何解決計算問題而言,它有著跟傳統計算機完全不同的觀點

3. Cyc

3.1. 知識型人工智慧時代最著名的實驗

3.1.1. Cyc工程是天才的人工智慧研究員道格·萊納特(Doug Lenat)的智慧結晶,萊納特擁有卓越的科學能力、堅定不移的信心以及優秀的說服能力,讓旁人能夠接受他的願景

3.1.2. Cyc工程的雄心壯志確實令人難以置信,要實現萊納特的構想,Cyc的知識庫需要對“共識現實”,即我們所理解的整個世界進行完整描述

3.1.3. 大部分的時間和人力都會消耗在手動知識錄入上,即告訴Cyc我們的世界是怎樣的,以及我們是怎麼理解它的

3.2. 宏偉的目標會掩蓋其荒謬的本質

3.2.1. 首要的問題在於,以前從來沒人試圖將人類所有的基礎常識組織彙編

3.2.1.1. 你得定義將使用到的所有詞彙,還有各種術語,它們之間是怎麼關聯的

3.2.1.2. 定義基本術語和概念,並圍繞它們組織整個知識體系,被稱為本體工程

3.2.1.3. 隨著專案的推進,時不時還得推翻重來

3.3. 其實在大規模知識工程中,Cyc算是擁有複雜技術的一次實踐

3.3.1. 它教會了我們在開發和組織基於大型知識基礎的知識系統中的各種方法

3.4. 從嚴格精準的意義上來說,Cyc假說——通用人工智慧的本質是知識體系問題,可以透過一個合適的基於知識的系統來解決——既沒有被證實,也沒有被證偽

3.4.1. Cyc不能成為通用人工智慧成功案例並不能證明這個理論是錯誤的,只能證明這種方式沒有用而已

3.5. 從某種意義上說,Cyc專案是領先於時代的

3.5.1. Cyc專案開始30年以後,谷歌釋出了知識圖譜,這是一個龐大的知識庫,知識圖譜裡面彙集了大量關於實體世界的資訊(地點、人物、電影、書籍、重大事件等),這些資訊被用來豐富谷歌搜尋引擎的查詢結果

3.5.1.1. 知識圖譜並沒有以通用人工智慧為目標,目前也不清楚它涉及了多少基於知識系統的至關重要的世界觀推理

3.5.1.2. 知識圖譜多多少少還是攜帶了Cyc的基因

3.5.2. Cyc和谷歌知識圖譜最關鍵的區別在於,知識圖譜中的知識並非手工編碼的,而是自動從維基百科等網頁中提取出來的

3.6. 不管我們回顧歷史時如何盡力客觀評價Cyc專案,可悲的事實總是無法改變

3.6.1. Cyc專案在人工智慧發展史中之所以留下濃墨重彩的一筆,源於它是一個人工智慧被過度炒作的極端案例,它完全辜負了人們寄予的不切實際的厚望

4. 破滅

4.1. 基於知識的人工智慧被證明實際應用非常有限

4.2. 在邏輯上,增加更多的資訊永遠不會消除你之前得到的任何結論

4.3. 但是增加的資訊(即“翠迪是一隻企鵝”)確確實實使我們需要撤銷之前的結論(即“翠迪會飛”)

4.4. 常識推理還有另外一個問題,在我們遇到矛盾的時候就會凸顯

4.4.1. 邏輯完全失效:它不能應對這樣的場景,也無法告知我們任何有意義的結論

4.4.2. 矛盾是我們每天都會遇見的現實

4.4.2.1. 在數學中,如果遇見矛盾,就意味著你犯了錯

4.5. 事實證明,構建和部署專家系統比最初想象的困難得多

4.5.1. 最主要的難題是後來被稱為知識獲取的問題

4.6. 到了20世紀80年代末,專家系統的繁榮已經結束

4.6.1. 基於知識的系統技術倒不能說是失敗了,畢竟許多成功的專家系統也在這一時期內建立起來,此後也逐步有更多的專家系統出現

相關文章