構建世界模型的一個關鍵部分是我們如何構建意義。只要看一些圖片或現實生活中的例子,孩子們就能很快理解「狗」這個詞的意思。他們直覺地構建更高層次的表徵——活著的、動物的、四條腿的、毛茸茸的。他們可以很容易地概括:一條腿缺失的狗仍然是一條狗,儘管只有三條腿。它們可以很快地知道哪些動物是狗,哪些不是狗。孩子們可以通過非常小的數據集建立更高層次的理解能力,並且可以非常迅速地適應數據集的變化(看到不同類型的狗或不同類型的動物)。
機器直到最近才在這方面做得更好,這多虧了深度學習的出現。Yoshua Bengio因其幫助深度學習成為機器學習和人工智慧的重要組成部分的重大突破獲得2018年圖靈獎。
這不是狗。事實上,它也從來不是一隻貓。它是在thiscatdoesnotexit.com由一個機器學習算法創建的。
機器學習指的是機器自己學習如何完成一項特定任務,而不是由人類程式設計師明確地教會它如何去做。自20世紀80年代以來,神經網絡被用作機器學習的數學模型。受到我們大腦結構的啟發,每個「神經元」都是一個簡單的數學計算,以數字為輸入,產生一個單獨的數字作為輸出。
這些神經元按層排列:其中一層的神經元接收前一層神經元輸出的加權和作為輸入。人決定網絡的結構,而不是加權和中的權重。相反,這些都是通過一個訓練過程來學習的,該過程通過網絡運行一組大量的例子,調整權重以達到給定任務的最佳結果。
最初用於機器學習的神經網絡比較簡單,由於訓練過程的計算複雜性,只包含一層或兩層神經元。但在21世紀初,Bengio和他的同事開始研究他們所謂的深度學習:「我們發現了一些訓練神經網絡的技巧,這些神經網絡的層次比我們想像的要多。」
分布式表示
深度學習與其他機器學習方法相比具有優勢;它賦予機器建立良好表徵的能力。表示是機器存儲概念的方式。在經典的人工智慧(在機器學習之前)中,人類教會機器他們需要的知識。這些算法就像一組由人類程式設計師編寫的規則,而概念是用符號表示的(例如,如果某樣東西不是貓,則將變量「cat」設置為0,如果某樣東西是貓,則將其設置為1)。IBM開發的西洋棋計算機「深藍」(Deep Blue)就是這種經典人工智慧的一個例子。上世紀90年代,它擊敗了西洋棋大師加裡卡斯帕羅夫(Garry Kasparov)。
深度學習的一個關鍵思想是概念可以用向量(一組值)來代替——一種分布式表示。「cat」可以用向量表示:
[-0.241414, 0.287426, 0.165113, -0.431581, -0.087530, 0.561078, -0.415193, 0.003364, 0.016638, 0.030558, 0.137265, -0.101964, -0.144205, 0.200312, -0.440345, 0.782978, 0.215758, -0.397508, -0.132525, 0.392892, 0.187668, 0.190704, -0.597705, -0.473172, -0.046912, -0.655475, 0.297324, -0.044785,
0.907623, 0.090989, 0.330201, -0.218510, 0.442974, -0.197005, -0.013970, -0.048274, 0.016939, -0.304073, -0.458688, 0.839282, 0.364900, -0.573024, 0.130873, -0.267990, 0.109434, 0.146609, 0.497982, -0.281677, 0.415757, -1.341299, 0.755230, 0.274921, -0.261315, 0.316203, -0.266019, 0.077696,
0.086259, -0.148955, 0.111285, 0.905508, -0.499343, 0.220561, -0.060084, -0.138308, 0.263414, 0.029885, -0.030825, -0.700774, -0.250947, -0.387521, 0.167361, -0.278134, -0.658570, -0.117905, 0.114435, 0.236835, 0.319998, -0.212485, -0.675103, 0.043290, -0.045866, 0.771321, 0.205061, -0.775832,
0.429374, 0.097047, 0.065185, 0.233347, -0.138985, -0.095526, -0.002476, 0.221378, -0.443003, -1.068492, -0.282422, -0.356644, -0.192903, -0.000860, -0.015085, 0.294197, 0.318298, -0.105752, 0.045668, -0.191743, -0.108592, -0.211702, -0.278396, -0.444925, 0.075270, -0.043502, 0.372264, -0.520599,
-0.189202, -0.411445, 0.320581, -0.242174, -0.208912, -0.571741, -0.146618, 0.231338, 0.077776, 0.508152, -0.499199, -0.345736, 0.026528, 0.228578, -0.790778, -0.094263, 0.304350, 0.644286, 0.559164, 0.067319, -0.223100, -0.267459, -0.116927, 0.696897, -0.250773, -0.339711, 0.295284, 0.148529,
0.139849, -0.526502, 0.379415, -0.517519, 0.025815, 0.136009, -0.090450, 0.061950, -0.496813, 0.326041, 0.528336, -0.664441, 0.888717, -0.210583, 0.210085, -0.250152, -0.464110, -0.398434, -0.097318, -0.136705, 0.734923, 0.024840, 0.186065, 0.656894, 0.442599, 0.538127, 0.598445, 0.550830,
0.608239, -0.210517, 0.262453, -0.103285, -0.163599, -0.091919, 0.283204, -0.239344, 0.328113, -0.064806, -0.206737, 0.552150, 0.391778, -0.137410, -0.270437, 0.440234, -0.623495, -0.064421, 0.352393, 0.086501, -0.191278, -0.642643, -0.126353, 0.180774, -0.417938, -0.199682, -0.310765, 0.267943,
0.419079, -0.060403, 0.264354, 0.033174, 0.114115, -1.067016, 0.102984, 0.220216, 0.196559, -0.061410, 0.074493, 0.447212, -0.018113, -0.605357, -0.660194, 0.019961, 0.547134, 0.048423, -0.077267, 0.035326, 0.410081, -0.600771, 0.138824, 0.377122, -0.396284, 0.173469, 0.525796, 0.276606,
0.344208, 0.553607, 0.018219, -0.085965, 0.190523, 0.099517, 0.636050, 0.756199, -0.295487, -0.309625, -0.140817, -0.497444, -0.403202, -0.304629, -0.128906, 0.153457, 0.845987, 0.190644, 0.217209, 0.054643, -0.063143, -0.057904, 0.143839, -0.300590, -0.399825, 0.106663, 0.235159, 1.040565,
-0.074484, 0.324786, -0.257785, 0.673381, 0.097968, -0.361923, -0.282786, 0.173656, 0.334292, 0.083597, 0.048122, -0.148704, 0.443468, 0.240980, 0.264529, 0.165889, -0.219577, 0.309359, 0.134012, -0.141680, 0.023127, -0.058023, 0.074283, -0.490581, 0.288622, 0.284951, 0.066673, 0.302247,
0.081319, -0.383685, -0.052862, 0.244946, -0.344482, -0.072416, 0.804204, -0.042981, -0.226182, 0.482332, -0.163026, -0.414333, -0.399022, -0.424497, -0.245093, -0.040660, 0.263090, 0.326652, -0.317213, 0.222228]
=
(這隻貓並不存在)
最重要的是,向量表示法並不是由人類給機器的,而是由機器通過一系列的訓練數據來學習的。例如,手套無監督學習算法可以在所有wikipedia文章的數據集上進行訓練,以學習該數據集中每個單詞的向量。
更深的含義
學習分布式表示允許機器訪問更高層次的詞彙意義。當您將單詞向量視為單詞在高維空間中的位置時,相似的單詞之間的距離會更近。例如,用這種方式訓練的機器最接近「青蛙」的詞是:青蛙、蟾蜍、蜥蜴、利多利亞、細趾龍科、蛙類和蛙類(後四種都是青蛙的特定種類)。它們的接近性意味著它們的單詞向量中的每個條目都有非常相似的值。但是,僅僅在單詞向量中的一些條目中擁有相似的值就可以讓機器訪問更高層次的含義,如下面的插圖所示,由傑伊·阿爾馬爾(Jay Alammar)繪製。Alammar使用顏色來表示一個單詞向量中的數值,從紅色表示最大值,到白色表示0,再到藍色表示最小值。
單詞向量說明來源於Jay Alammar的文章。協議:(CC by - nc - sa 4.0)
幾何上,一個特定條目中的相似值意味著由這些向量表示的單詞在某種意義上,在一個特定的方向上落在一條直線上。計算機科學家使用一種稱為主成分分析的統計技術來識別單詞向量空間中的幾何特徵。我們可以想像這些幾何特徵在概念上是如何排列的。所有表示人的詞都有相似的價值觀,在這些詞中,我們可以看到更多表示女人和女孩,或者男孩和男人的相似之處。這些單詞的分布表示中的幾何特徵允許機器學習更抽象、更高層次的單詞含義。
值得注意的是,在向量空間中嵌入這些類型的單詞甚至可以使用某種類型的單詞算法。這通常通過使用向量加法的例子來說明:「國王」-「男人」+「女人」。儘管機器從來沒有被賦予這些詞的意思,分布的表示允許機器訪問更高層次的意思,例如詞的性別。在我們的示例數據集中,與此計算結果最接近的單詞向量是「queen」。
「女王」是最接近「國王-男人+女人」向量和結果的單詞。圖片來源: Jay Alammar – CC BY-NC-SA 4.0
以類似的方式,機器學習算法可以針對圖像數據集(而不是文本)進行訓練,以學習圖像的分布式表示。在這種情況下,一幅圖像可能由一個向量表示,而機器學習算法的目的是將類似事物的圖像的向量表示聚類在一起。
貓的圖像矢量表示會聚集在一起,而這一聚集可能在某種程度上接近它們的同類哺乳動物——狗的聚集,而與青蛙聚集的聚集要遠一些。圖像向量的某些項中的相似值將對應於圖像中的某些共享特徵。這為圖像識別帶來了巨大的進步,例如區分圖像中的性別特徵,就像手套算法學習性別詞彙一樣。但機器距離人類水平的人工智慧還有很長的路要走。仍然有可能通過關閉圖像中的幾個像素來故意欺騙機器,而這些像素甚至是人眼根本不會注意到的。
通過行動來理解
深度學習為機器提供了一種學習這些分布式表示的方法,並使它們能夠創造關於世界的更高層次的新知識。「深度學習的一大好處是,它允許學習更高層次的抽象,」Bengio說。這使得機器學習在處理語言和圖像方面取得了進步,比如根據文本描述生成真實的圖像。
如果數據以正確的方式表示,機器就能建立更好的世界模型,並開始解決人類關心的問題,使我們離真正的人工智慧又近了一步。此外,擁有一個良好的世界內部模型,將有助於機器與世界互動,具有代理。「我們可以通過我們的機構控制的東西應該是我們可以命名的,我們可以在更高層次上代表的東西,」Bengio說。但在迂迴的過程中,Bengio認為機器將需要代理來建立一個良好的世界模型。Bengio和他的同事們認為,為了讓機器超越弱人工智慧,它們需要能夠與世界互動,影響和適應它們接收到的數據——這就是所謂的「代理視角」。他說:「為了建造能夠對世界如何運作進行內部理解和表達的機器,我和其他人認為,它們需要與數據來源互動,它們必須與創造數據的環境互動。這是代理的觀點。」
Bengio繼續領導這個領域的研究,給機器這樣的代理,但這仍然是一個非常新的領域。「強化學習是機器學習的一個特殊分支,而主體視角是強化學習的一部分。在機器學習的其他陣營中,我們往往忽略它……我們還沒有(納入)環境中代理的經驗,以改善深度學習,建立更好的模型和世界表徵。」在未來的某個時刻,我們可能會有這樣的機會——與這些機器學習代理見面並互動。當我們這樣做的時候,也許那將是一個讓我們更多地了解自己的機會。
作者: Rachel Thomas翻譯: If Any