實現人工智慧的途徑,很多。包括神經網路;以及象專家系統或者知識庫那樣的基於資料探勘的方法——它們都是用來實現通用人工智慧的。而專用人工智慧通常是 為解決特定的問題(比如下棋)而設計的。 這裡,通用智慧型似乎要更加引人入勝一些,科幻電影中的類人機械人(它們是可以與人交流的)給人的印象深刻。但是真的要去實現它,似乎要比專用智慧型麻煩好 多。以至於所謂的「強人工智慧能否真正實現」變成了一場辯論。當然(作者認為)沒有一種智慧型是無法實現的(暫且拋開一些哲學的或者其他什麼的思考),不過 對於我們這些普通人來說,更有意義的,似乎是在乙個簡陋的的小屋子裡,一台破舊的個人計算機中真正地去實現乙個通用的人工智慧——這個想法就像是科幻電影 一樣引人入勝。
——關於智慧型實現的一些零散的構思
eishn 於廣州 2005 年 1 月
上面說到, 通用的人工智慧「實現起來似乎要比專用智慧型麻煩好多」。確實,專用智慧型可以使用許多漂亮的數學和技術。開啟任何一本《人工智慧導論》都可以得到一系列令人 眼花繚亂的理論闡述,但是使用它們時要謹慎,因為這些理論和技術很可能會把你的人工智慧變成專用智慧型下棋機器,或者乙個資料倉儲,乙個專家系統。同樣,一 些新興的程式設計工具可能會讓你程式變得很聰明,但是也可能會使你的程式變得「永遠如此聰明」:計算機思考邏輯被設定後,便停止了公升級或者是只能進行非常有限 的公升級,在最糟糕的情況下它會對過去的行為守則過於偏執而無法適應新事物。
在整個設計開始以前,讓我們來回憶一下人與機器的最大不同吧:人,有抽象思維,並且,會學習——實現了這些,通用智慧型便已經成功了一半。
抽象思維,換句話說就是「聚類」,把一些類似的東西整成一類,從大類到小類,形成一棵抽象樹。任何的事物都可以在抽象樹中找到乙個最終位置,這個位置是該事物的所屬類別,或者說是對它的乙個精闢解釋。
主題樹用於專家系 統。專家系統並不是自學習的機械人,它所知道的都是人告訴它的,本質上是乙個人與人交流的媒介,需要由人來管理系統的知識庫。知識庫需要向人解釋它的儲存 內容,所以每個資料項都有語義資訊——這是主題樹的特點。而自學習的電腦程式必然使用抽象樹,它自己管理資訊,儲存的資訊只要自己能懂就可以了,對人來 說是沒有語義資訊的。抽象樹,正是我們所需要的。
抽象樹的核心,是 自動聚類的實現。具體的方法下面再說。這裡不妨讓我們先來考慮一下這一切,在目前最具智慧型的計算機器「人」身上,是如何發生的。眾所周知,人是鍵忘的,可 能起先我們想記住所有的事情,但是實在是太困難了。於是可能只記得乙個事物的特徵——記得這個特徵的原因無非是「它曾多次出現」而給人印象深刻罷了。所以 最後我們可能會對擦肩而過的東西全部遺忘,而只剩下特徵,成為表示它的工具。因為什麼都不記得了,而只能用特徵來表述事物,事物就因為特徵或者說屬性而被 分類了(抽象思維,源於健忘)。
這裡分類的依據 是:屬性。人獲取事物屬性的方法無非是用眼睛看,用手去摸,用耳朵聽,用鼻子聞。所以可以想象,人類的一切分類都是基於視覺、聽覺、觸覺和味覺。在人有了 經歷之後,獲取的事物屬性與經歷相混合,形成乙個完整的基於屬性的自動分類系統(將在後文中涉及)。也就是抽象樹,它儲存事物及其屬性,並且不斷地重新整 理及組合類別。最後一件事情,我們把抽象樹的結點進行命名,它可能是「大」、「小」也可能是「酸」、「甜」、「苦」、「辣」其中之一……當然,那是在語言 被發明之後的事情了。它的合理性,體現在抽象樹只需儲存可以分類的事物的幾個屬性就可以了,而無需記下每件事情所有的細微特徵(當然印象深刻的東西我們無 需費力便能自動記下它的大量細節,這在神經網路系統中更是家常便飯),這就節約了儲存空間。而抽象思維,也是學習的基礎之一。
如果認識乙個事物就是學習的話,那麼抽象思維已經實現了學習的功能。不過智慧型除了要去認知之外,還需要知道該怎樣去反饋。這是個做什麼和怎麼做的問題,還是要依靠學習來解決。
一切行為的鼻祖, 是條件反射。從哲學上講人和生物其實並不神聖,他們與非生物所奉行的行為機制其實是同一套東西。非生物也有條件反射,就像是蹺蹺板,如果我們給它乙個外 力,它就會做出乙個我們所熟知的動作(開始圍繞軸心做上下運動),這也算是應激反射吧。好了,這就給我們的計算機智慧型的實現提供了一點哲學上的支撐。
從條件反射到高階 的生物行為,其中經過了乙個極為複雜的過程。模擬人類的行為似乎可以從對低等生物甚至非生物的模擬開始,而逐漸完善。乙個不錯的想法是首先創立一種簡單生 物,智慧型也不高(蹺蹺板級別的),然後給它提供乙個類似於 dna 的遺傳結構,具有遺傳和突變性(就好像後來的遺傳演算法),而使這些生物進行優勝劣汰,而變成高階生物,這種高階生物之所以能夠留下來是因為它們能夠學會在 什麼樣的情形下做出什麼樣的行為來適應環境。這種學習能力正是我們所需要的。
這個想法如同圍棋 的思路一樣:規則越簡單,變化更無窮。生物遺傳變異的設計,可以說真正是非常地簡單。說穿了,就是設計乙個能夠自程式設計的程式,它能夠修改自身的編碼(這真 的不難實現)。然後給出幾套守恆規則,讓程式去自適應。
好了,到這裡這種 思路的問題才開始真正體現出來。確實「自動程式設計機」實現起來並不困難,但是卻忽略了乙個因素,那就是環境的設計。比如各種守恆的設計。我們會發現最後的最 優生命形式是與產生它的環境直接相關的,如果環境是乙個二維「吃豆遊戲」的場景,那我們很可能會把乙個「具有扇形缺口的圓形生命(就像遊戲的主角那樣)」 創造出來。那麼如果需要創造出象人類那樣的智慧型呢?需要多少守恆和制約條件?環境該如何設計呢?也許,我們需要把整個現實世界都模擬出來,去作為這個生命 遊戲的場景吧……還有什麼比為了創造乙個生命,卻創造了整個世界更為荒謬的事情呢。
在這裡,也許阻礙 一台計算機真正具有智慧型,變得「人性化」的最大障礙是:它無法完全去理解人類的行為和想法,對之感同身受。計算機不需要吃飯喝水,就不知道它們的重要;計 算機也不知道睡覺的好處。這樣如何使它去了解人類的趣味呢?它會變得冷漠,你不能使他開心,也不能使它憤怒。乙個明顯的解決方案是:設計它的思考,告訴它 吃飯喝水睡覺是好東西,讓計算機去喜歡這些事物。但是「好(東西)」和「喜歡」又是什麼呢?可能僅僅是個符號吧。
這就會使計算機變成美國好來塢的電影,不需要觀眾自己去判斷好人或是壞人。又該反思了:我們自己是怎樣開始懂事的呢……
為了讓計算機的判斷和做出的行為更接近人類,讓計算機能夠理解人類的喜怒哀樂,我們必須使它也具有感情:「人工感情」。那麼人工感情應該如何設計呢?
人類的感情在初始 化的時候,其實並不複雜。一開始只有「好」和「壞」(或者還有幾種但肯定不多)等區區幾種,這是通過生物進化直接向上繼承而來的。這就象是浮游生物或者植 物,它們知道陽光和養料是好東西,於是進行生物式的簡單條件反射來獲取它,而認為這些是壞東西的生物都被淘汰了。人類在最初也是這樣,他只有非常少的判斷 和條件反射行為。
接著人有了經歷, 這些經歷被儲存下來,同時這個「好/壞」的判斷符號被同時記錄下來。對於人類而言這種判斷符號與這次經歷的一切是同時儲存在一起的,包括肌肉運動的感覺、 視覺印象、觸覺、痛覺等等(持續而密集地神經運動,使它們在大腦中保留了相關性)。這些感覺和認知符號因此而聯絡,成為一種新的判斷符號,又用來標示新的 經歷。這種符號體系不斷龐大,形成感情。再聯絡到另一種大腦的記憶機制:抽象樹,一些奇怪的事情漸漸地也就不那麼扉疑所思了。
你也許已經忘記曾 經在你還是非常年幼的時候,乙隻杯子從你手中滑落,它正好就跌落在你的腳上,這給了你很深的印象,你曾經覺得這很痛。多年以後你看見一瓶水,突然覺得有點 鬱悶。其實很可能是由於水聯絡到了杯子,而這又能聯絡到那個跌落事件……確實挺鬱悶的。
這種無法回朔出原因的意識行為,更像是一種精神症狀,但是請相信,這確實是人之常情。而且——它還告訴了我們實現人工情感的方法。
首先,智慧型能夠儲存經歷。事實上經歷只是各種事物,感覺和感情的一種聯絡。人確實試圖按照時間軸儲存整個事情的經過,但是最後往往只留下相關事物間的聯絡。這在計算機中是可以實現的(這個機制也是源於健忘)。
其次,另外一種機制也使事物相聯絡,那就是抽象思維。
因此一定要實現一 個健忘系統。或者隨機訪問系統。計算機之所以是計算機,完全是因為它記性太好,你要訪問一項資料它馬上可以在記憶體中找到乙個確定的位址。現在不行了,你告 訴計算機假如要訪問杯子,它就必須要順著抽象樹和經歷建立起來的聯絡一路隨機遍歷下去,就像乙隻無頭蒼蠅一樣,可能要找很久才能找到(這時計算機也許會表 現出一幅恍然大悟的樣子),也許你設定了遍歷時間或者深度,它也可能找不到,這就產生了遺忘。在遍歷中,可能會找到以前經歷中的情感標示比如痛覺或者「憂 傷的情懷」(這從乙個側面反映了前面那種精神症狀其實也並沒有那麼可怕,一切都是隨機的而不會總是這樣,所以人類總是喜怒無常),所以我們和設計成這樣的 計算機一樣總是思緒萬千,並且感情豐富。
自從計算機有了感 情之後,一切就變得容易了。剛開始,你只給它設計幾套少得可憐的感覺和感情,幾種簡單的聯絡和環境感應。讓它和你,和環境,及其他的計算機互動。不久它就 變得豐富了。具體的設計這裡就不表述了,但是你最起碼應該給計算機以求知慾,就是當它深入理解某一事物或者知識庫及經歷鏈變得豐富的時候,你使它給自己產 生乙個愉悅的感情。人類自己其實並不需要被教授這套思想,因為人給自己以「認識事物的愉悅」作為對認知行為的獎賞,從而鼓勵自己這麼做,得以不斷觀察,獲 取食物躲避敵害——不這麼做便要被淘汰。多年以後,人類似乎忘記了自己為什麼這麼喜歡觀察,而陷入觀察所帶來的與生俱來的愉悅之中無法自拔——並給這種觀 察起名叫作:審美。所以,認真地說來許多生物,還有我們設計的智慧型,也有審美行為。從這點說來,人類,並不孤獨。
回到那個「還有什 麼比為了創造乙個生命,卻創造了整個世界更為荒謬的事情呢」的奇怪命題,如果計算機的所有行為只是說話,輸入也是文字,但是它能夠模擬高階的人類思維,比 如抽象思維和人工情感,那麼它就能理解文字,將自然語言的空間作為真實存在世界。如果計算機語無倫次,你也可以告知以愚蠢,而使計算機鬱悶,不久計算機就 不會再說可能會導致自己鬱悶的話了(你也可以淘汰過於愚蠢的計算機)。這,是實現人工智慧的乙個完整的途徑。期間,比起自動進化的系統而言,人需要參與其 中,就像教導兒童一樣地去公升級我們的計算機系統。
在這裡,人工智慧 就是乙個智慧型聊天系統。但是聊天系統未必就必須按照人工智慧那樣去設計。乙個簡單的聊天系統,往往就是乙個專家系統。你提問,然後它從知識庫種尋找答案。 但是,簡單的聊天系統正是實現人工智慧的一種初步嘗試,也是必經之路,它提供了乙個骨架,它的各個組成部分與上述的各項科技相對應,但是卻採用了更加容易 實現的科技,當上述科技的某一區域性完成時可以十分輕鬆地替換到現有的聊天系統中去,使機械人距離人類更進一步。同時,聊天系統中許多科技其實無須被最終替 換,或者在某一設計階段,機械人已經擁有了足夠的智慧型以至於使我們得意於成果而躑躅於腳步了。
人工智慧 自然語言處理 知識解構
自然語言處理包含4個部分 1 語言識別,語音合成 2 自然語言理解,對話理解,知識獲取和問答,任務理解 3 底層的機器學習 tennsorflow和other 4 個性化資訊的獲取和利用 其中兩個重要的競品分析 google的產品 各種語言場景 alexa亞馬遜產品 基於雲計算的對話機械人產品,nl...
人工智慧 深度學習與自然語言處理
如何自動處理自然語言輸入 並產生語言輸出,是人工智慧的重要研究方向。這門課主要講授近2 3年深度學習在自然語言處理方面的最新發展。課程從相關機器學習模型的數學原理和最優演算法講起,將會講到神經網路在nlp中的一系列應用,包括潛在語義分析 語音到文字的轉錄 語言翻譯以及問答,同時也會講到這些模型在cp...
人工智慧 之 自然語言處理(NLP)演算法分類總結
二 詳細演算法 三 建模方面 人工智慧演算法大體上來說可以分類兩類 基於統計的機器學習演算法 machine learning 和深度學習演算法 deep learning 總的來說,在sklearn中機器學習演算法大概的分類如下 1 回歸演算法 2 分類演算法 3 聚類演算法 4 降維演算法 5 ...