人工神經網絡導論——計算機可以學習嗎?

人工神經網絡是一種創建人工智能的方法——模仿人類認知能力的程序。人工智能(AI)可以識別一組圖像中的貓或狗、玩遊戲或學習駕駛汽車。隨著人工神經網絡的發明,計算機在這些任務上已經變得更好——在某些情況下甚至比人類還要好。

建立一臺與我們解決問題的能力相匹配或超越我們能力的機器的夢想早於現代計算機。虛構的AI的故事出現在古老的故事中。我們可以想象,智能機器會以某種方式教給我們一些我們自己不瞭解的東西。

人工神經網絡導論——計算機可以學習嗎?

人類對AI的追求一直持續到今天。為了瞭解為什麼神經網絡在現代AI中如此有用,我們首先來看一下早期AI研究人員使用傳統方法遇到的一些麻煩。

AI的一些最常見示例出現在計算機和視頻遊戲中。

人工神經網絡導論——計算機可以學習嗎?

在1940年左右第一臺計算機發明之後不久,遊戲和計算就交織在一起。早期的程序員通過編寫可以與人類玩家玩簡單棋盤遊戲的程序,證明了早期計算機的功能。

在棋盤遊戲中,玩家根據遊戲規則輪流向遊戲目標前進。任何玩家(無論是人還是計算機)的目標都是最大限度地提高獲勝的機會。如果您要設計AI玩可以與人類玩家抗衡的棋盤遊戲,那麼AI必須具備哪些能力?

  1. 從一個給定的狀態生成一個合理的移動方式。
  2. 對一系列合理的動作進行排序,然後決定走哪一步。
  3. 測試這一舉動是否符合條件,然後結束遊戲。

設計具有遊戲性的AI的最大挑戰是開發一種對不同動作進行排名的算法。特定舉動的排名不僅在於提高您的優勢有多大,而且還對您的對手造成了多大破壞。

為了說明這一點,請查看下面的井字遊戲,該遊戲的目標是將標記(X或O)放置在網格上,以便您可以通過棋盤上的三個標記畫一條直線。

這是遊戲中棋盤的狀態:

人工神經網絡導論——計算機可以學習嗎?

輪到X了,確定X的最佳移動,假設X或O在隨後的移動中均未出錯,哪個玩家將獲勝?O?X?

在遊戲中開始的時候進行場景預測是比較難的。

人工神經網絡導論——計算機可以學習嗎?

輪到X了,接下來選擇那個可以確保X獲勝?

假設:X在所有的後續移動中都處於正確的選擇,並且O也是同樣儘可能地阻止X獲勝。

如果要設計一個可以從錯誤中吸取經驗的AI,那麼設計一個可以玩井字遊戲的AI實際上比編寫一個可以解決最後一個問題中所有不同情況的程序要容易得多。

在1960年左右,一位名叫Donald Michie的AI研究人員提出了一個革命性的想法。他著手設計一種可以從零開始學習井字遊戲策略的AI。在他看來,即使AI不能很好的進行遊戲,但學會以未知的方式玩遊戲,比直接用遊戲邏輯對其編程要好。如果他的方法適用於井字遊戲,則可以擴展到更復雜的遊戲。

人工神經網絡導論——計算機可以學習嗎?

Michie下定了決心,他的發明被廣泛認為是邁向人工神經網絡發展的重要一步。當時,計算機是稀有且昂貴的,所以他從他擁有很多東西的地方構建了自己的AI(Matchbox AI)。

以下是Michie的Matchbox AI的工作原理:

在井字遊戲中一共有304種不同的遊戲狀態(將X,O和空白位置放在不同的3*3的棋盤中),一個玩家從開始到最終移動可能遇到的情況。

人工神經網絡導論——計算機可以學習嗎?

Matchbox AI在每種狀態下都有一個Matchbox(火柴盒),因此它可以學習在任何可能遇到的情況下要做出的動作。每個Matchbox在其外部都有對應的棋盤狀態,因此人類玩家可以提供幫助AI將其標記放到棋盤上。

完成所有這些設置工作後,就該開始教Matchbox AI玩遊戲了。學習遊戲的不是Matchbox,而是裡面的東西...

每個Matchbox包含一組珠子。這些珠子可以是不同的顏色,並且每種不同的顏色對應於網格上的空點之一。

當AI放置X的時候,請遵循以下步驟:

  • 找到與當前棋盤狀態相對應的Matchbox 。
  • 從盒子中隨機選一個珠子。
  • 將珠子的顏色匹配到棋盤的空白點上,然後在上面放置AI的標記。
人工神經網絡導論——計算機可以學習嗎?

在遊戲的中間,這是您在框內找到的對應於當前棋盤狀態的內容:

人工神經網絡導論——計算機可以學習嗎?

每種顏色的珠子數量不必相等。如果您從盒子中隨機選擇一個珠子,那麼AI最有可能做出哪一步?(對應棋盤上那個顏色的標記)答案當然是粉色。

根據Matchbox中每種顏色的珠子數量,可以調整某些動作的可能性。

例如,如果確定與粉紅色相對應的位置會導致遊戲失敗,那麼對盒子中的小珠進行哪些調整將降低 AI選粉紅色的可能性?去掉2個粉色的珠子或者添加2個綠色的珠子?

以下是Matchbox AI制定策略的方式:

如果您增加利於獲勝的珠子,而去掉影響獲勝的珠子,那麼Matchbox AI 可能會逐漸學會併成為強大的對手。

在Matchbox AI第一次玩遊戲之前,每個Matchbox都包含相同數量的每種珠子顏色,因此對於每種棋盤狀態,每一種走法的可能性都是相等的——即使是壞的走法。

在第一輪中,Matchbox AI會做出一些錯誤的選擇,這樣人類玩家就會有連續獲勝幾輪遊戲。現在通過調整Matchbox中的珠子數量來幫助Matchbox AI從錯誤中吸取教訓。

既然您贏了,那麼AI產生的效果就不好了,因此從Matchbox中隨機抽取的每個珠子都將被丟棄。

假設在之後的10局遊戲中,Matchbox都以失敗告終,那在以後的遊戲中Matchbox AI獲勝或者平局的可能性會有什麼變化呢?

起初,Matchbox AI大多會輸,但如果他最終贏了,珠子將被重新調整,以便在以後的遊戲中更有可能出現這種情況。在遊戲中取出的珠子將被重新放入盒子中,而且還需要另外增加兩個珠子。

當然,在井字遊戲中,兩個玩家都有可能無法將珠子連成一條線,那麼遊戲將以平局結束。

遊戲以平局結束後我們將盒子中增加一個珠子,由於平局要比輸了有用,但比贏了又差點所以我們只加一個珠子。

在這些規則下,Matchbox AI開始輸掉每場比賽,但在大約100場以後,許多明顯對贏得遊戲有影響的珠子都已被消除了。隨著AI的經驗積累,它所玩的大多數遊戲都以平局告終,甚至當人類對手犯錯時,它有時也會獲勝。(事實證明,井字遊戲並不是一個非常有趣的遊戲,因為熟練的玩家總是可以強制平局)。最終,Matchbox AI永遠不會輸,並且在每一輪結束時總是會獲得珠子。

在Matchbox中對應開局的珠子的數量可以很好地衡量Matchbox AI在遊戲中的學習程度,因為每一場遊戲都會從Matchbox中抽取珠子。可以在下圖中發現,在最初的下降之後,Matchbox中的珠子開始穩步增加,這意味著AI沒有再輸掉遊戲了。

人工神經網絡導論——計算機可以學習嗎?

這種構建人工智能的簡單策略——強化策略。每當實體學習時,這一原理的某種形式就會起作用——甚至是你自己的大腦。

人工神經網絡導論——計算機可以學習嗎?

像井字遊戲一樣,國際象棋是一種在網格上玩的策略遊戲,棋盤對雙方玩家都是相同的,並且不存在機會元素(例如,移動不是由擲骰子決定的)。

Matchbox AI在幾百場比賽中學會了井字遊戲。但如果我們開發了一種通過相同的學習算法學習象棋的Matchbox AI,並且每秒完成一次正確的移動,那麼Matchbox AI大概需要多長時間才能下完國際象棋?是輸、平還是贏?

在比井字遊戲更復雜的遊戲中,一場遊戲的不同玩法的數量可能令人難以置信。Matchbox AI將需要大量的時間學習國際象棋,並且需要的時間可能是一個天文數字。

然而今天,計算機每秒可以執行數十億條單獨的指令,像國際象棋這樣的遊戲的人工智能現在觸手可及。電腦還可以告訴你照片中的人是誰,掃描x光檢查癌症跡象,並撰寫人類可讀的新聞摘要。這些任務的可能性空間相當於國際象棋中棋盤狀態的數量,甚至更大。計算機能做什麼和人類能做什麼之間的差距正在縮小。

人工神經網絡導論——計算機可以學習嗎?


分享到:


相關文章: