讀人工智慧全傳01圖靈的電子大腦

躺柒發表於2024-07-03

1. 人工智慧

1.1. 人類對人工智慧的夢想,可以追溯到很久很久以前

1.1.1. 從古希臘開始,鐵匠之神赫菲斯托斯(Hephaestus)擁有賦予金屬物品生命的能力

1.1.2. 從16世紀的布拉格開始,傳說中偉大的拉比在那裡用黏土製作了一個傀儡魔像,意圖保護該城市的猶太人免遭迫害

1.1.3. 從18世紀蘇格蘭的詹姆斯·瓦特(James Watt)開始,他為正在建造的蒸汽機設計了一個巧妙的自動控制系統——調速器,從而為現代控制理論奠定了基礎

1.1.4. 從19世紀初開始,年輕的瑪麗·雪萊(Mary Shelley)被惡劣的天氣困在瑞士的一棟別墅裡,和她的丈夫——詩人珀西·比希·雪萊(Percy Bysshe Shelley),以及他們家的朋友拜倫(Byron)勳爵一起,玩了一場文字遊戲,創作了《弗蘭肯斯坦》

1.1.5. 從19世紀30年代開始,在彼時的倫敦,查爾斯·巴貝奇(Charles Babbage)發明了分析機,這激勵著才華橫溢的阿達探尋機器是否最終能夠具備創造性

1.1.6. 從18世紀掀起的自動機器裝置狂熱開始

1.2. 人工智慧故事的開頭與計算機的開端應該是一致的

1.2.1. 艾倫·圖靈(Alan Turing)

1.2.1.1. 圖靈在諸多領域都有非凡成就,最非凡的是在偶然的機會下,他發明了計算機

1.2.1.2. 1935年,劍橋大學國王學院,一位才華橫溢、不拘泥於傳統的年輕學生

1.2.1.3. 1952年,他以“嚴重猥褻罪”被起訴和定罪,被迫服用某種旨在降低性慾的粗製濫造的藥物來進行所謂的“化學閹割”

1.2.1.3.1. 圖靈是同性戀,在當時的英國,同性戀是一種犯罪

1.2.1.4. 1954年,他親手結束了自己的生命,年僅41歲

1.2.1.5. 圖靈在第二次世界大戰期間為英國政府效力,承擔了一項非常重要的工作,而這項傑出工作的成果一直秘而不宣,直到20世紀70年代才公開

1.2.1.6. 在20世紀80年代,這個名字在數學和計算機領域以外壓根不為人知

1.2.2. 人工智慧研究人員和電腦科學家崇拜圖靈,是出於完全不同的理由

1.2.2.1. 他是真正意義上的計算機發明者,不久,又成為人工智慧領域的主要奠基人

1.2.2.2. 他發明了一種可以解決數學問題的機器,如今,為了紀念他,我們稱之為圖靈機

2. 判定問題

2.1. 由數學家大衛·希爾伯特(David Hilbert)於1928年提出

2.2. 判定問題是指,是否所有的數學描述都是“可判定的”,即是否存在一種方法,可以確認某個給定的數學描述是真是假

2.3. “某個數是否是一個質數”是可判定問題

2.3.1. 每當我們遇見“數n是否是一個質數”這樣的問題時,只要給予足夠的時間,就能找到答案:遵循相關步驟執行,最終就能得到明確的答案

2.4. 英國數學家安德魯·威爾斯(Andrew Wiles)在20世紀90年代論證著名的費馬大定理,數學界花費了好幾年時間才消化了他那幾百頁的手稿,並確信他的論證是正確的

2.5. 是否所有的數學判定問題都是可判定的?

2.6. 是否存在某種數學問題,無論你投入多少時間,都無法尋找到相應的可供嚴格遵循來解決問題的方法?

2.7. 本質是數學問題是否都可以簡化為尋找對應演算法就可以解決的問題

2.7.1. 圖靈在1935年給自己立下的艱鉅挑戰,而他以令人難以置信的驚人速度解答出來了

2.7.2. 圖靈的證明短小精悍,而且很容易讀懂(在確立了基本框架以後,真正的證明實際上只有幾行)

2.8. 圖靈機的作用是嚴格遵循既定的步驟執行運算

2.8.1. 如果所有的判定問題都是可以解決的,就意味著任何判定問題都可以透過設計一個專用的圖靈機來解決

2.8.2. 為了解答希爾伯特的問題,你所要做的是,證明存在某種判定問題是任何圖靈機都無法解決的

3. 停機問題

3.1. 給定一臺圖靈機和相關輸入集,它最終是會停止,還是永無止境地執行下去?

3.1.1. 這就是一個判定問題了

3.1.2. 圖靈指出,這個假設會引起悖論

3.1.3. 沒有辦法檢測出圖靈機是否停止。那麼,“圖靈機是否停止”是一個不可判定問題

3.1.4. 存在某些判定問題不能簡單地按照確定的步驟來解決

3.1.4.1. 數學並不能被簡化為遵循方法解決問題

3.2. 如果存在圖靈機A,對它輸入任意圖靈機,都能夠判定其執行結果是“停機”或者“不停機”

3.3. 那麼可以構造圖靈機B,呼叫圖靈機A但輸出永遠與之相反,即B的輸入經A判定“停機”,則B“不停機”

3.4. 如果B的輸入經A判定“不停機”,則B“停機”

3.5. 那麼,圖靈機B的輸入為圖靈機B本身時,則出現矛盾

3.5.1. B只有在“停機”的時候才能“不停機”

4. 馮·諾依曼架構

4.1. 匈牙利裔數學家約翰·馮·諾依曼(John von Neuman)對ENIAC進行了相關調整,使ENIAC具備現代計算機的基本架構

4.2. 世界上第一臺商用計算機“費蘭蒂一號”的出現

4.3. 隨著時代的發展,計算機變得越來越小巧,越來越便宜

5. 電子大腦的實際功能

5.1. 用計算機處理海量的複雜算術問題,其速度和精確程度遠遠超乎人類想象

5.2. 電子大腦確實能承擔許多對人類而言煩瑣、複雜且困難的計算,但它們並沒有智慧可言

5.3. 圖靈機,以及它的物理表現形式計算機,它們只是遵循各種指令的機器而已

5.4. 我們給予圖靈機的指令,現在被稱為演算法或者程式

5.4.1. 高階語言的作用是向程式設計師隱藏機器語言中某些煩瑣到可怕的細節,讓程式設計變得容易一些

5.4.2. 所有的計算機程式都能歸結為類似的指令列表

5.4.2.1. 不管是Microsoft Word還是PowerPoint,不管是《使命召喚》還是《我的世界》,不管是臉書、谷歌還是淘寶,不管是瀏覽器還是手機App,抑或是支付寶、微信、QQ

5.5. 如果我們要製造智慧機器,它的智慧最終必須縮減到遵從這些簡單的、明確的指令上

5.6. 計算機的運算速度非常快,非常、非常、非常快

5.6.1. 一臺普通的桌上型電腦以全速執行,每秒可以處理1000億條指令

5.6.2. 1000億大概是銀河系所有恆星的數量

5.6.3. 你大概每10秒執行一條指令

5.6.3.1. 你得做到不吃不喝、不眠不休(全年365天,全天24小時,每小時60分鐘,每分鐘60秒),那麼大概需要31710年,你才能完成計算機1秒鐘就能搞定的工作

5.7. 相比人類,計算機的錯誤率極低

5.7.1. 程式崩潰是常見的,但那幾乎全是程式設計師編寫程式時出的錯,而不是計算機本身的問題

5.7.2. 現代計算機的處理器可靠性非常高,它們的平均無故障執行時間高達50 000小時,每秒鐘都能忠實地執行數百億條指令

5.8. 計算機可以做決策,只是我們必須給出它做決策所需要的精準指令

5.8.1. 計算機隨後可以自行調整這些指令,只要我們指導它在何種情況下應該如何做

5.8.2. 意味著,計算機可以隨著時間推移改變其行為

5.8.2.1. 它能夠學習

6. 人工智慧的產生為何如此艱難

6.1. 需要了解一下到底哪些問題是容易用程式設計來解決的,而哪些問題則很難用程式設計解決,以及為什麼

6.2. 計算

6.2.1. 讓計算機做計算是最簡單不過的,因為所有的基礎運算(加、減、乘、除)都可以用非常簡單的步驟來執行

6.3. 排序,是指把一系列隨機的數字按照升序排列,或者一系列姓名按照字母順序排列

6.3.1. 傳統的笨辦法慢得令人髮指

6.3.2. 一直到1959年,快速排序法才被發明出來,排序這個老大難問題才算得到了一個有效率的解決方法

6.3.3. 快速排序法誕生後50年內,都沒出現比它更優秀的排序演算法

6.4. 下棋就是重大挑戰之一,它也是人工智慧故事中非常重要的一環

6.4.1. 事實上,有一種簡單粗暴的方式可以玩好棋類遊戲,基於一種名為搜尋的技術

6.4.2. 問題在於,儘管基於搜尋進行程式設計是最簡單不過的事情,但它除了能適應一些簡單的遊戲以外毫無用處,因為它需要佔用太多記憶體,消耗太多時間

6.4.3. 哪怕我們把整個宇宙的每一個原子都用來建造計算機,它也承擔不起用“簡單粗暴”的搜尋方式來下一盤圍棋或者象棋

6.4.3.1. 它們需要的計算資源太過龐大

6.4.4. 已經透過一種名為機器學習的方式得到了解決

6.5. 無人駕駛汽車

6.5.1. 駕駛對人類而言是一件很簡單的事情,開車並不是一項需要高智商的技能

6.5.2. 事實證明,讓電腦來控制汽車簡直困難重重

6.5.3. 主要的問題在於,汽車需要知道它所處的位置以及周圍環境

6.5.3.1. 要弄清你的周圍發生了什麼,即將發生什麼

6.5.3.2. 確認你的位置,周圍有哪些車輛,它們的位置,它們會朝哪個方向行駛,行人的位置,行人的移動軌跡

6.5.3.3. 如果充分掌握了所有資訊,那麼你決定接下來該怎麼做就非常容易了

6.6. 任務難以完成的原因通常有兩種

6.6.1. 第一種是我們雖然知道理論上有某種可以解決問題的方法,但實際上卻行不通,因為它需要太過漫長的運算時間,佔用太高的記憶體,像象棋和圍棋這樣的棋類遊戲就屬於這一類

6.6.2. 第二種是我們不知道解決問題的方法是什麼(例如人臉識別),要解決這類問題,我們需要一些全新的東西(例如機器學習)

相關文章