AI 之旅:跳傘

概述

像跳傘、蹦極、滑雪之類驚險刺激的運動是旅行樂趣中很是重要的一部分,而 AI 之旅中一樣存在這樣好玩刺激的項目,它就是 Magenta,一個探索機器學習在創做藝術和音樂過程當中的做用的研究項目。也就是說,讓 AI 涉足藝術領域,包括寫歌、畫畫、寫小說等,你可能會說了,AI 所謂的創做永遠沒法超越人類,是這樣的,至少目前和可預見的將來是這樣的,而 Magenta 的目的不是爲了取代人類進行創做,而是探索藝術創做的過程,能夠做爲一種工具在人類創做藝術的過程當中提供有價值的幫助
Magenta 衆多的模型中最出名的當屬 Sketch-RNN 了,就像它的名字同樣,它是一個能夠自動生成素描(sketch)的循環神經網絡(recurrent neural network)模型。若是你沒聽過 Sketch-RNN,那你必定玩過或者聽過猜畫小歌(Quick, Draw!)這款遊戲吧,給你一個名字,你把它畫出來,看 AI 能不能猜出你畫的是什麼,到目前爲止,Quick, Draw! 數據集已經收集了 345 個類別共計 5000 萬個矢量素描圖,若是你玩過這個遊戲,那麼其中也有你的一份貢獻
html

sketch_rnn
有趣的是谷歌的工程師小姐姐利用 Sketch-RNN 作了個魔法畫板,能幫助你自動畫貓
magic_skatchpad
Sketch-RNN 目前只提供了 JavaScript 的實現,再加上模型和數據集比較大,咱們就先不關心具體的實現細節了,咱們更感興趣的是名字叫 RNN 的這種神經網絡到底是什麼,它爲何適合這種手繪圖的生成,除了 RNN 還有什麼比較有趣的神經網絡

人工智能簡史

傳說

早在希臘神話中就出現了機器人和人造人,如火神赫菲斯托斯的黃金機器人女僕和塞浦路斯國王皮格馬利翁的妻子加拉泰亞(被愛神賜予生命的雕像)
中國古代也有相似的記載,在公元前 3 世紀的《列子》一書中曾記錄了一個 「偃師獻技」 的故事,講述的是周穆王西巡歸來的途中,尚未到達中國境內,遇到了自願前來獻技的工匠偃師,偃師次日帶來了一個像真人同樣的歌舞藝人,能歌善舞,且心肝脾胃腎等雖然都是假的但包羅萬象,連周穆王都感嘆道 「人之巧乃可與造化者同功乎?」
中世紀的時候,有傳言說煉金術士能夠將心智放入物品中
到了 19 時機,關於人造人和思考機器的想法在小說中發展起來,如瑪麗·雪萊的弗蘭肯斯坦(有興趣的能夠看一下這個電影)
雖然早在公元前 1000 年前中國、印度以及希臘的哲學家都開發了形式演繹的結構化方法,可是這麼多世紀過去了,隨着許多哲學家、心理學家、數學家等偉人的不斷探索,才讓人工智能或者說機械推理慢慢變爲可能,如 17 世紀的萊布尼茲和笛卡爾等人探索了全部理性思想能夠像代數或幾何同樣系統化的可能性,受到 1913 年羅素和懷特海所著《數學原理》的啓發,David Hilbert 向二十世紀二三十年代的數學家們提出挑戰:「全部的數學推理均可以形式化麼?」,圖靈機和 Lambda 演算等都給出了回答,這些回答使人驚訝的有兩方面,一是它們證實了數學邏輯被實現時確實存在限制,二是這也代表在這些限制範圍內任何形式的數學推理均可以機械化git

神經網絡

20 世紀開始人們就已經知道了咱們神經元的大概結構
github

neuron
1943 年 Warren S. McCulloch 和 Walter Pitts 發表的論文 「A Logical Calculus of Ideas Immanent in Nervous Activity」 提出了第一個神經網絡的數學模型,該模型的每一個單元都是一個簡單形式化的神經元(neuron),也被稱爲 McCulloch–Pitts 神經元,能夠執行簡單的邏輯功能,靈感來自上面所說的神經元結構,這個模型就像後來的馮諾依曼計算機之於計算機領域同樣深入影響着神經網絡領域,如今人們對於神經網絡的研究與實踐基本都是以此爲基礎的
mp
還記得咱們在《AI 之旅:啓程》中是怎麼把線性模型擴展到網絡模型的麼?沒錯,咱們往一些隱藏層的節點中添加了非線性的函數,這些非線性函數也被稱爲激活函數,這樣的話,節點(神經元)就能夠經過把激活函數應用於輸入值的加權和來計算輸出值了,事實證實,經過這種方式構造的神經網絡模型能夠解決幾乎全部的線性和非線性問題
1949 年,Donald O. Hebb 在他的著做 「The Organization of Behavior」 中提出了 Hebbian 學習理論,這個理論爲建立模擬生物神經系統的生理過程的計算機模型開闢了道路,也就是說,從這時開始,計算機的工程師們意識到了經過動態調整各個權重的方式就能夠訓練出一個好的模型了
1950 年圖靈在具備里程碑意義的論文中提出了著名的 「圖靈測試」,簡單點說就是讓人和機器進行對話,若是有超過 30% 的人都不知道跟本身對話的是人仍是機器,那麼就代表這個機器經過了測試,代表這個機器具備人工智能
1951 年,受到 McCulloch 和 Pitts 的啓發,年僅 24 歲的學生 Marvin Minsky(和 Dean Edmonds 一塊兒) 建造了第一個神經網絡機器 SNARC,他也成爲了 AI 下一個 50 年的重要領導者和創新者之一。同年 Christopher Strachey 寫的跳棋程序也標誌着遊戲 AI 應用的開始
1955 年,Allen Newell 和 Herbert A. Simon 創造了 「Logic Theorist」 程序,該程序證實了《數學原理》中的前 52 個定理中的 38 個,西蒙說他們已經 「解決了古老的 心智/身體 問題,解釋了物質組成的系統如何具備心智的屬性」

AI 誕生

1956 年,Marvin Minsky, John McCarthy 和來自 IBM 的兩位資深科學家 Claude Shannon 和 Nathan Rochester 組織召開了達特茅斯會議(Dartmouth Conference),會議提出了一個主張 「學習的每一個方面或任何其它智能特徵均可以如此精確地描述,以即可以使機器模擬它」,McCarthy 說服了與會者接受 「人工智能」(Artificial Intelligence)做爲該領域的名字,所以此次會議也被普遍認爲是 AI 的誕生之日算法

黃金年代

1956 – 1974 年,是人工智能的黃金年代,對於人工智能理論和程序的成果讓人們充滿了樂觀和熱情,甚至有研究人員樂觀地認爲不到 20 年就能夠建造一臺徹底智能的機器,各個政府、公司也投入了大量的資金和人力參與人工智能的研發。1958 年康奈爾航空實驗室的 Frank Rosenblatt 發明了被叫作感知器(perceptron)的機器(程序),從如今來看,它其實就是一個簡單的二元線性分類器的監督式機器學習算法,可是在當時能夠識別圖像再加上美國軍方的參與也引發了很大的轟動和爭議網絡

第一次 AI 寒冬

1974 – 1980 年,出現了第一次 AI 寒冬,AI 受到了批判和資金困難,面對遙遙無期的智能機器人們當初的樂觀和熱情受到了打擊,再加上 Marvin Minsky 對感知機的毀滅性批判,致使神經網絡(鏈接主義 connectionism)領域停工了幾乎十年app

繁榮期

1980 – 1987 年,AI 迎來了繁榮期,專家系統(expert systems)的出現讓知識稱爲主流人工智能研究的焦點,各個政府和公司也開始了人工智能資金的支持。1982 年 John Hopfield 證實了 Hopfield 神經網絡能夠以一種全新的方式學習和處理信息,幾乎同時,Geoffrey Hinton 和 David Rumelhart 推廣了一種訓練神經網絡的方法,即著名的反向傳播算法(backpropagation),這兩項發現幫助了連結主義領域的復興機器學習

第二次 AI 寒冬

1987 – 1993 年,出現了第二次 AI 寒冬,專家系統雖然有用但僅限於少數特殊狀況,AI 資金被一次次削減,不少 AI 公司倒閉、破產或被收購函數

冷靜期

1993 – 2011 年,是 AI 的冷靜期,計算機的工程師們開始更加謹慎地投入人工智能研究,將機率和決策論引入 AI,專一於解決數據挖掘、語音識別、醫學診斷、搜索引擎等子問題,工程師們甚至有意避免使用人工智能術語
2011 年至今,隨着深度學習、大數據和簡易人工智能的研究與應用,人工智能更關注於解決一些特定的問題。其中深度學習(特別是深度卷積神經網絡和循環神經網絡)的進步推進了圖像和視頻處理、文本分析、甚至語音識別的進步和研究,深度學習是機器學習的一個分支,它使用具備不少處理層的深度圖來模擬數據中的高級抽象,根據通用近似定理(Universal approximation theorem),神經網絡不須要太多深度就能夠逼近任意連續函數工具

主流的神經網絡

卷積神經網絡

卷積神經網絡(convolutional neural network)通常簡寫成 CNN 或 ConvNet,是用來分析視覺圖像最經常使用的一類深度神經網絡,它受到生物過程的啓發,由於神經元之間的模式相似於動物視覺皮層的組織,皮質神經元僅僅對視野的限制區域的刺激作出反應(這個區域也被稱爲 receptive field),不一樣神經元的 receptive field 部分重疊以即可以覆蓋整個視野
卷積是分析數學中的一種積分運算,在圖像處理中能夠進行特徵值的處理,以便消除噪聲和特徵加強
學習

cnn
CNN 的隱藏層一般由一系列卷積層組成,激活函數一般是 RELU 層,隨後是附加的卷積,如池化層(pooling layer)、全鏈接層(fully connected layer)、正則化層(normalization layer),最後的卷積一般涉及反向傳播以便更準確地最最終結果進行加權
CNN 普遍應用於圖像和視頻識別、推薦系統、圖像分類、醫學圖像分析、藥物發現、天然語言處理以及遊戲 AI(如 AlphaGo)中

循環神經網絡

循環神經網絡(recurrent neural network)通常簡寫成 RNN,是節點之間的鏈接造成沿時間序列的有向圖的一類神經網絡,與前饋神經網絡(feedforward neural networks)不一樣的是,RNN 能夠經過內部狀態來處理輸入序列,這使得它適用於處理未分段、連續手寫識別或語音識別等任務

rnn
其實 RNN 是概況指代具備相似通常結構的兩大類網絡:有限脈衝(finite impulse)和無限脈衝(infinite impulse),有限脈衝循環網絡是有向無環圖,能夠被展開並用嚴格的前饋神經網絡替代,而無限脈衝循環網絡則是沒法展開的有向循環圖。二者均可以有額外的存儲狀態,存儲能夠由神經網絡直接控制,若是包含時間延遲或者反饋循環,那麼存儲能夠被其它網絡或圖替代。這些受控狀態被稱爲門控狀態或門控存儲器,是 LSTM(long short-term memory)網絡和門控循環單元的一部分
LSTM 是 RNN 最關鍵最優魅力的一部分,有了它纔會有效防止反向傳播時梯度消失和梯度爆炸狀況的發生
lstm
不少應用選擇使用 LSTM RNN 棧並用 CTC(Connectionist Temporal Classification)算法訓練他們以找到一個 RNN 權重矩陣(在給定相應輸入序列的狀況下最大化訓練集中標籤序列的可能性),CTC 實現了對齊和識別
與以前基於隱式馬爾科夫模型或相似概念的模型不一樣的是,LSTM 能夠學習識別上下文敏感的語言
值得一提的是,2014 年百度使用 CTC 訓練的 RNN 打破了 Switchboard Hub5'00 語音識別基準,而不使用任何傳統的語音處理方法

有趣的神經網絡

權重不可知神經網絡

根據咱們以前的瞭解,咱們須要花費大量的時間在特徵工程和訓練權重上,那有沒有可能不須要這些前提條件甚至不須要訓練一個模型就能執行任務呢?權重不可知神經網絡(Weight Agnostic Neural Networks)給出了答案,固然能夠

BipedalWalker champion network
BipedalWalker-v2
工程師還把 WANN 用在 MNIST 數字分類任務上,發現未經訓練和權重調整,就達到了 82% 左右的準確率

總結

人工智能之路充滿了高潮和低谷,也充滿了讚許和爭議,值得欣慰的是,人們終於冷靜了下來,再也不絞盡腦汁地去創造意識,而是將機器學習這一子領域重視起來並應用於生活中,讓機器學習這一領域的研究成果改善世界,改善人們的生活方式
機器學習有不少有趣的應用,如咱們上面說的 Sketch-RNN 能夠畫畫,還有些模型能夠寫歌,能夠寫小說,能夠給圖片上色,甚至能夠根據一段音頻學習發音,根據一張圖片生成視頻,只要咱們把它用在正確的地方,它就能給咱們帶來樂趣和幫助

參考

相關文章
相關標籤/搜索