CHAPTER 09/1763〜2012

從資料中自己學習

花了200年湊齊的工具,和2006〜2012年一下子亮起的3盞燈

給機器看大量例子,讓它自己找出規律。這些工具中的許多方法,誕生於統計學、蜜蜂分類、監獄假釋、傳送訊號的研究和心理測驗。從2006年起的7年裡,深層類神經網路(深度學習)突然變強,是因為這個工具箱裡,GPU和大量資料都齊備了。

012006·深度學習的開端

3個條件齊備了

2006年新出現的,是想法,還是條件?

層數很多的類神經網路,光靠反向傳播(第8章)學不好。2006年,辛頓等人提出了一種方法:先在沒有標準答案的情況下,(譯)地學習資料的特徵(預訓練),再用反向傳播對整體做最後的調整。在手寫數字資料集MNIST上,錯誤率為1.25%。

同一年發表在Science上的論文寫道,深層網路(譯)。論文列出了計算速度、資料量和權重初始值的好壞,接著寫道(譯)。

在右邊的圖裡,可以點亮或熄滅3個條件的燈,比較豎線和橫線影像的還原效果。用預訓練來確定權重初始值時,先在沒有標準答案的情況下每次學習1層,再用反向傳播對整體做最後的調整(燈的效果是本站編的例子)。

Δwij =η(⟨vihj⟩資料 − ⟨vihj⟩還原)
v, h
可見層(像素)和隱藏層的神經元
w
權重
⟨ ⟩
平均值(用資料與還原之間的差來修正。這是受限玻爾茲曼機的方法)
以為知道的事常見說法:2006年,辛頓發明了深度學習這個全新的想法
原始資料中:論文本身就寫著,從1980年代起這一點已經很明顯;新的主要是(譯)。同樣在2006年,班吉歐等人也提出了類似的方法。

圖所展示的:2006年的新意並不是深層網路這個想法,而是計算速度、資料量,以及好的權重初始值,這3個條件終於齊備。

還原誤差(學得越多越小)
021763·1961·貝氏

從結果出發,追溯原因

只靠線索詞語,就能把文件分到各個領域嗎?

貝氏定理的想法是:得到證據之後,重新計算原因或假設的可信程度。這篇論文於1763年12月23日在英國皇家學會上宣讀。作者貝氏當時已經去世,是他的朋友Price在遺稿中發現並寄出了它。

1961年,蘭德研究所(RAND)的Maron用這個想法做了一個實驗:把論文摘要分到32個領域。他假定領域一旦確定,詞語之間就互不相關地出現,只把各個詞語的機率相乘(今天稱為單純貝氏,也叫樸素貝氏)。在含有2個以上線索詞語的85篇新摘要中,第1位領域正確的有44篇(51.8%),前3位之內包含正確領域的有68篇(80%)。

在右邊的圖裡點擊線索詞語,領域的機率就會透過乘法發生變化(詞語和機率是本站編的例子)。

P(領域 | 詞語們) ∝ P(領域) × Π P(詞語 | 領域)
P(A | B)
在條件B之下A發生的機率
Π
把各個詞語的機率逐個相乘
∝
成正比(最後除一下,使總和為1)
以為知道的事常見說法:樸素(naive)貝氏,是天真地相信詞語之間互不相關的方法
原始資料中:Maron本人寫道,獨立的假設顯然不成立,只是為了簡化計算才設定的。論文裡既沒有naive這個詞,也沒有Bayes這個名字。

圖所展示的:只要把各領域中詞語出現的機率相乘,就能從線索詞猜出文件所屬的領域。即使採用了詞語彼此無關這個不正確的假設,也能猜得還不錯。

031805·最小平方法

把誤差平方後相加,讓它最小

測得的點有偏差時,哪條直線才是「最吻合」的?

1805年,巴黎的勒讓德在一本計算彗星軌道的書的附錄裡發表了最小平方法。當方程的個數多於要求的未知數時,誤差無法全部變成0。於是他把誤差逐個平方再相加,讓這個總和最小,並寫道這是最普遍、最精確、最方便的做法。他還解釋說,這樣誤差之間能夠互相平衡,防止結果被極端的誤差拖著走。

在右邊的圖裡,誤差被畫成真實的正方形面積。移動點、改變直線的斜率(截距會自動調整),試著讓面積的總和變小。點「最小平方(到谷底)」,就會畫出由公式一次算出的直線。根據資料來確定式子裡的數,本章的許多方法都從這個形式出發。

S=Σ(yi − (a xi +b))² 取最小
a=Σ(xi − x̄)(yi − ȳ) ÷ Σ(xi − x̄)²,b= ȳ − a x̄
(xi, yi)
觀測資料的點
a, b
直線的斜率和截距
x̄, ȳ
x和y的平均值
以為知道的事常見說法:最小平方法是高斯想出來的
原始資料中:最先印刷發表的是勒讓德(1805年)。高斯在1809年的書裡寫道自己從1795年就在使用;Stigler(1981)認為高斯很可能更早,但並不能定論。美國的Adrain也在1808〜1809年發表過。

圖所展示的:要找出貼合散亂點的直線,就選擇讓各個差距的2次方總和最小的那一條。

改變斜率a時的誤差平方和(谷底就是最小平方)
041838·1958·S形曲線

從人口的公式,到機率的公式

如何做出一個總是落在0和1之間的預測?

1838年,比利時的Verhulst用數學公式表示了人口的增長方式。它是從成倍增長的勢頭mp中,減去人口越多剎車越強的np²。解的曲線呈S形,人口趨近上限m/n。1845年,他把這條曲線命名為logistique(沒有說明理由)。

同一條S形曲線,後來被用來預測機率。當資料的答案是「是(1)」或「否(0)」時,用解釋變數預測結果為1的機率,這種方法就是邏輯斯迴歸。用直線的話,預測值可能小於0或大於1,而S形曲線則永遠落在0和1之間。1958年,倫敦大學的Cox發表了關於0和1資料的迴歸的論文。

在右邊的圖裡,「人口(1838年)」裡可以拖動m和n;「是·否(1958年)」裡點「學1步」,看S形如何一步步貼合各個點。

dp/dt=mp − np²
P(y=1)=1 ÷(1+e−(ax+b))
p, m, n
人口、增長的勢頭、剎車的強度
a, b
透過學習確定的數
e
約2.718(自然對數的底)
以為知道的事常見說法:邏輯斯迴歸是Cox在1958年提出的
原始資料中:Cox本人在1994年的訪談中說,誰是第一個,並不清楚,也許Cornfield做過。1944年,Berkson就用過邏輯斯函數,並創造了這個詞。

圖所展示的:原本描述人口成長的S形曲線,後來成了把「是、否」的機率限制在0和1之間、進行預測的公式。

051901·1933·主成分分析

離這些點最近的直線是哪一條

x和y都有測量誤差時,「吻合的直線」該怎麼定?

最小平方法的直線,認為只有y有誤差,讓縱向的偏差變小。所以以x為基準還是以y為基準,得到的直線會不同。1901年,倫敦的皮爾森想到:只要讓各點到直線的垂線長度的平方和最小就行。這條直線穿過點群的重心,方向是表示點的散布範圍的橢圓的最長軸方向。

在右邊的圖裡選擇「皮爾森的10個點」,這10個點就是皮爾森論文裡的數值例子。選擇「垂線」,轉動直線,找一找垂線平方的平均值最小的方向。論文給出的答案是斜率 −0.546。由x預測y的迴歸是 −0.5396,由y預測x則是 −0.5659,三條線各不相同。

1933年,哥倫比亞大學的Hotelling提出,從許多相互關聯的測驗分數中,依次取出最能解釋差異的成分,並把這種方法命名為(譯)。

使Σ di² 最小的方向 = 點的散布最大的方向(第1主成分)
di
第i個點到直線的垂線長度
散布的橢圓
表示資料散布範圍的橢圓
以為知道的事常見說法:主成分分析是Hotelling在1933年想出來的
原始資料中:離點群最近的直線就是散布的最長軸,這一點皮爾森在1901年就已經證明了。

圖所展示的:離各個點最近的直線(垂直距離的2次方和最小),方向就是點散布最長的方向。它與只看y方向差距的迴歸線不同。

直線的方向,與垂線平方的平均值
061950·日本·數量化

分數由資料來決定

對「很適應·一般·愛反抗」這樣的回答,該打幾分?

1948年日本人讀寫能力調查快要結束時,統計數理研究所的林知己夫,接到一位刑法學者的諮詢:能否用統計讓是否可以假釋的判斷更可靠。在那之前,都是由人為每種回答定出 −2到2之類的分數再相加。

林知己夫常去橫濱監獄,看出了這樣的傾向:很適應監獄的優等生和非常愛反抗的人都容易再犯,中間的人最不容易再犯。於是他想出了一種方法:為了讓沒再犯的組和再犯的組分得最開,由資料來決定賦予回答的數值本身(1950年的英文論文)。

在右邊的圖裡,比較人定的分數和由資料定的分數(人數是本站編的例子)。

選取分數s,使相關比η² 最大
s
賦予回答(類別)的數值
η²
整體的變異中,能由組與組的不同來解釋的比例(即今天數量化II類的形式)
以為知道的事常見說法:數量化I類〜IV類,是林按這個順序做出來並命名的
原始資料中:最先完成的是假釋的預測方法(即今天的II類)。I〜IV的編號,是社會心理學家飽戶弘在1964年取的名稱,和方法完成的先後無關。

圖所展示的:不由人決定答案該給幾分,而是從資料決定,就能掌握「中等程度的人最不容易再犯」這類並非一直線的關係。

071951·1967·k近鄰演算法

只照最近的例子來

只是模仿記住的例子裡最近的那個,能答對多少?

k近鄰演算法,是在要分類的新點周圍,按距離由近到遠找k個資料,把它歸入其中最多的那一類。它事先不假定資料分布的形狀。1951年2月,Fix和Hodges在美國空軍航空醫學院的報告裡提出了這類規則。他們證明:隨著資料量n增大,只要k也跟著增大(但k/n趨近於0),就會逼近最佳的分類。

1967年,史丹佛的Cover和Hart證明,即使是只看最近1個點的最近鄰法(k=1),當資料無限多時,錯誤率在理論上也不超過最小值(貝氏錯誤率)的2倍。論文指出,從這個意義上說,無限多資料所含的分類資訊,有一半就在最近的那1個點裡。

在右邊的圖裡放幾個點,再改變k看看。k=1時訓練資料會全部答對,但雜訊點的周圍會出現小小的孤島。

R* ≤ R ≤ R*(2 − M R* ÷(M − 1))≤ 2R*
R
最近鄰法的錯誤率(資料無限多時)
R*
貝氏錯誤率(即使完全知道分布也仍會剩下的錯誤)
M
類別的個數
以為知道的事常見說法:k近鄰演算法是1967年Cover和Hart提出的
原始資料中:2人自己寫道,最早把近鄰規則形式化並研究其性質的,似乎是Fix和Hodges等人。1951年的報告並沒有成為學術期刊上的論文。

圖所展示的:只是模仿最近的例子,也能答對。把k設為1,訓練資料就會全部答對,但雜訊點周圍會出現小島。

R*,與R的上限(類別為2個時)
081957·1967·k-means

先分組,再移到平均位置

不給標準答案,能把資料分成k個組嗎?

k-means的步驟是交替重複兩件事:(1)把每個點分給最近的代表;(2)把代表移到這一組的平均位置。這樣組內的離散程度會逐漸變小。每重複一次,離散程度的總和要麼減小,要麼保持不變。

同樣形式的步驟,有許多人各自獨立地想到了。1957年,貝爾實驗室的Lloyd在研究所內部傳閱的稿子裡寫下了這樣一個步驟:把訊號的電壓換成數量固定的代表值再傳送時(PCM),求出誤差最小的分界與代表值(過了約25年才登上學術期刊)。1967年,加州大學洛杉磯分校的MacQueen,給把點一個個放進最近的組、並立刻修正平均位置的步驟,取名為k-means。

在右邊的圖裡,交替點「分組」和「移動」試試。改變最初代表的擺放位置,有時會停在不同的答案上。

W=Σ組 Σ組內的點x ‖x − μ組‖²
x, μ
點,與組的代表(平均值)
‖ ‖²
距離的平方
W
組內離散程度的總和
以為知道的事常見說法:k-means是MacQueen在1967年發明的
原始資料中:他本人在同一篇論文裡,就舉出了先前的例子:Sebestyen(1962)、Forgy與Jennrich、Wallace與Ball。1956年Steinhaus、1957年Lloyd也提出過同樣的想法。

圖所展示的:交替重複「分到最近的代表」「把代表移到平均位置」,即使沒有人教答案,資料也會分成群組。但不同的起點,也可能停在不同的答案。

091958·1963·階層式分群

從最相似的開始依次連接,長成一棵樹

不預先定好組數,怎樣找出資料的群聚?

1958年,堪薩斯大學的昆蟲學家Sokal和Michener,用每種122個特徵比較了97種蜜蜂。他們先把相似的種歸成組,再把得到的組與組連起來,如此反覆,把整體匯成了一幅樹狀的圖(樹狀圖)。

1963年,美國空軍基地研究所的Ward把這種歸並方法做成了通用的步驟。把現有的組兩兩搭配,逐一檢查所有組合,把使表示群聚好壞的數(目標函數)最佳的那兩組合併。這樣一直重複到整體成為一個組。

右邊的圖,正是Ward論文裡的例子。把10個人的分數2, 6, 5, 6, 2, 2, 2, 0, 0, 0當作1個組,與平均值之差的平方和是50.5。分成 {0,0,0} {2,2,2,2} {5} {6,6} 4組,則為0。點「合併2組」,看樹如何長大。

合併的2組 = 合併後ESS增加得最小的2組(這張圖所用的目標函數)
ESS
各組中與平均值之差的平方和,再相加的總和
以為知道的事常見說法:Ward法是合併差的平方和增加得最小的組的方法
原始資料中:1963年的論文是把它作為通用的步驟來寫的:目標函數可以是研究者按目的選的任何函數。差的平方和,只是說明用的例子之一。

圖所展示的:依序從最相似的項目開始連接,不必先決定群組數,整體就能組成1棵樹(樹狀圖)。

101966·1975·隱藏馬可夫模型

從符號推測看不見的狀態

像聲音這樣,即使是同一個詞,每次都會有變化的訊號,怎樣辨識?

1966年,美國國防分析研究所的Baum和Petrie建立了這樣一個數學模型:從外面看不見的狀態按機率不斷轉移,每個狀態又按機率輸出符號。只憑輸出的符號序列,就能推算出狀態轉移的機率和符號出現的機率。這就是今天的隱藏馬可夫模型(HMM)。

1975年,Baker在語音理解系統DRAGON中用上了這個機制,1976年,IBM的Jelinek把它引入連續語音辨識。1989年,經AT&T貝爾實驗室的Rabiner的講解,它廣為人知。

在右邊的圖裡,看不見的狀態(有聲·安靜)不斷轉移,能觀測到的只有聲音的大小。由此推算機率最高的狀態序列(Viterbi演算法)。

尋找使P(狀態序列 | 符號序列)最大的序列
狀態與符號
狀態不能直接看到(有聲·安靜),只能觀測到符號(聲音的大小)
Viterbi
只記錄到目前為止機率最高的路徑並向前推進的動態規劃(與第5章的DP比對是同樣的想法)
以為知道的事常見說法:有了HMM,語音辨識的效能一下子提高了
原始資料中:在Rabiner(1989)的實驗裡,逐詞辨識數字時,HMM與此前的樣式比對(DTW)的錯誤率相差不多(1.3%對2.0%,1.8%對1.1%)。它的長處,在於能表達聲音的構造,並且可以推廣到詞彙量大的辨識。

圖所展示的:外面看不見的狀態(說話、安靜)依機率轉換,看得見的只有音量。利用前後的連結,比每1格各自猜測更能正確找出狀態序列。

111971〜2010·日本·模型的選擇

如何看出過度擬合

可調的數越多,就越貼合資料。該在哪裡停下?

可以調整的數(參數)越多,式子就越貼合手頭的資料。但對新資料反而容易失準(過度擬合,也叫過度學習)。1971年,統計數理研究所的赤池弘次發表了在與資料的吻合度上,加上對參數個數的懲罰項的標準AIC。越小越好。

1974年,倫敦的Stone把資料分成學習用和驗證用兩部分,一邊變換分法,一邊按成績的平均值來選模型,寫成了交叉驗證的論文。1977年,他又證明留1法交叉驗證與AIC在資料很多時表現相同。2010年,東京工業大學的渡邊澄夫提出了WAIC,它也能用於AIC前提不成立的類神經網路等情形,並證明它會趨近於留1法交叉驗證的值。

在右邊的圖裡把多項式的次數調高。訓練誤差會一路下降,而交叉驗證的誤差和AIC到了中途就開始上升。

AIC= −2 log L̂ +2k
L̂
最大概似(在使這批資料最容易出現的取值下的可信程度)
k
參數的個數
以為知道的事常見說法:AIC的A是赤池(Akaike)的A
原始資料中:他本人在1974年的論文裡寫道,加A是為了讓後面能接上BIC、DIC這樣的類似標準;1981年的回憶裡也寫道,它是an information criterion的縮寫。WAIC的W,在渡邊的論文裡也是widely applicable(廣泛適用)的縮寫。

圖所展示的:公式數量越多,越能貼合手上的資料,但遇到新資料就更容易答錯。AIC或交叉驗證,能找出恰到好處的位置。

各個次數的訓練誤差、交叉驗證的誤差、AIC
121977·EM演算法

填上看不見的部分,再重新計算

資料有一部分看不見時,怎樣求出最合理的值?

1977年,哈佛大學等處的Dempster、Laird和Rubin給出了一個通用方法:當資料有一部分看不見時,求出最合理的參數。交替重複兩步:用當前的值計算看不見部分的期望值,即E步(expectation);再用填好的資料重新計算取值,即M步(maximization)。每重複一次,資料的概似都不會下降。

最初的例子是這樣的資料:197隻動物按遺傳機制分成4類,分別是125, 18, 20, 34隻。在右邊的圖裡選擇「197隻的例子」,交替按「E:填入」和「M:重新計算」。π從0.5出發,8次後穩定在0.6268214…,與論文表1的數相同。在「2座山」裡,把混在一起的點按山分開。

E:x₂ =125 ×(π/4)÷(1/2+π/4)
M:π=(x₂ +34)÷(x₂ +18+20+34)
π
想求的值(遺傳機制中的機率)
x₂
125隻中,屬於看不見的第2組的數量的期望值
以為知道的事常見說法:EM演算法是1977年Dempster等人發明的
原始資料中:3人自己寫道,在特殊場合下它以前就被多次提出過(Hartley 1958、Baum等人)。3人的工作,是歸納成一般的形式並命名,還證明了概似不會下降。

圖所展示的:交替重複「用目前的值填入看不見的部分(E)」「從填好的資料重新計算值(M)」,就能接近最合理的值。

每次反覆計算的π
131979·日本·大津二值化

自動確定黑白的分界

把灰階影像分成黑和白時,分界的亮度怎麼定?

要把文字或物體和背景分開,就以某個亮度(閾值)為界,把像素分成2類。1979年,電子技術綜合研究所的大津展之,在英文論文裡發表了自動確定這個閾值的方法。把亮度的頻數分布(直方圖)按閾值k分成2部分時,選取使組間離散程度(類間變異數)最大的k。這和讓每個組內的離散程度最小是一回事。

計算只用到不超過該亮度的像素所佔的比例和亮度的總和,所以非常簡單。它是不用標準答案的例子來決定的非監督式方法。論文舉的例子有:用新色帶和舊色帶打出的打字機字母A、布的花紋、細胞的影像。

在右邊的圖裡移動閾值,找一找圖表中山峰的頂點(影像是本站編的例子)。

σB²(k)=ω₀ ω₁(μ₀ − μ₁)² → 選取使σB² 最大的k
ω₀, ω₁
暗組、亮組的像素所佔的比例
μ₀, μ₁
各組的平均亮度
以為知道的事常見說法:大津二值化是把影像變成黑白的小技巧
原始資料中:大津是從判別分析推導出它的,並把它當作模式辨識的基本問題之一來處理。論文的結論還寫道,只要有直方圖,也能用於其他非監督式的分類。

圖所展示的:把影像分成黑白的亮度門檻,只要選擇讓分開的2群距離(類別間變異)最大的地方,就能在沒有正確範例的情況下自動決定。

閾值k與類間變異數σB²
141985·貝氏網路

一有證據,可信程度就沿著網傳開

從許多線索出發,能不違背機率規則地進行推理嗎?

1980年代初的專家系統(第6章),許多在不確定的推理中用的是臨時拼湊的計算規則。加州大學的Pearl在1982年寫道,許多AI研究者接受了一種神話:機率的規則至少要有一部分被扭曲。於是他設想了這樣的圖:用點表示事物,用箭頭連接直接的依賴關係,並用條件機率表示依賴的強弱。他證明,這樣一來,各個點就能只與鄰居交換簡短的訊息,而正確地更新整體的機率。1985年,他把這種形式稱作貝氏網路。

右邊的圖是一個小網路:「下雨」和「灑水」都是「草坪濕了」的原因(機率是本站編的例子)。輸入「草坪濕了」,下雨和灑水都變得可疑;如果再輸入「下雨了」,灑水的機率就會下降。因為用其中一個原因已經能解釋了。

P(下雨 | 濕了)=P(濕了 | 下雨) × P(下雨) ÷ P(濕了)
P(A | B)
已知B時A的機率
箭頭
從直接的原因指向結果
以為知道的事常見說法:貝氏網路是作為從資料中學習的統計工具而誕生的
原始資料中:Pearl 1985年的報告,題目是從證據推理的自我運轉的記憶的結構,發表在認知科學的學會上。1982年的論文,則是作為對專家系統中臨時拼湊的計算的回應而寫的。

圖所展示的:用箭頭連接原因與結果,加入證據後,可信程度就會沿著網路傳遞。如果一個原因已經能解釋結果,另一個原因就不再那麼可疑。

151986·決策樹

先問哪個問題

把問題排起來得出答案的「樹」,該怎麼構造?

決策樹把「天氣如何?」「濕度高嗎?」這樣的問題排成分支的形狀,按答案沿著枝走,走到葉子就得出答案。1986年,澳洲的Quinlan把一種叫ID3的構造方法寫成了論文。它先選擇把資料分開之後得到的資訊量(資訊增益,以位元計)最大的問題,分出去之後在各個分支上重複同樣的做法。

右邊圖裡的14張卡片,對應論文表1的各行。卡片上列著行號和答案P或N。打開「詳細:資料的14行、整棵樹、資訊量」,還能看到星期六早晨的天氣、氣溫、濕度、風。按天氣分,得到0.246位元的資訊,最大,所以樹根是天氣。按問題,自己把樹養大吧。

資訊增益 =I(整體) − Σ(分出的各組所佔的比例 × I(該組))  I= −p log₂ p − n log₂ n
p, n
組內P和N所佔的比例
I
知道答案所需的資訊量(位元)
以為知道的事常見說法:決策樹誕生於AI(機器學習)的研究
原始資料中:統計學這邊也有另外的源流:1963年Morgan與Sonquist的AID,1984年Breiman等人的CART。1986年論文的參考文獻裡沒有CART,這兩條源流是各自成長的。課本裡「天氣與網球」的例子,在這篇論文裡有同樣形式的例子,但並沒有出現網球這個詞。

圖所展示的:建立決策樹時,先問能取得最多答案資訊的問題,再在每個分支重複同樣的方法。

161988·1989·1994·強化學習

從獎勵中學習

沒人告訴標準答案,只是偶爾有點「獎勵」,也能學習嗎?

強化學習是一種機器學習:以獎勵(好處)為線索,一邊試錯,一邊學會行動的方法。1988年,GTE研究所的Sutton把TD法寫成了理論:不等最後的結果,用與明天預測之間的差,來修正今天的預測。1989年,Watkins在博士論文裡提出了Q學習:在狀態x採取行動a時的價值Q(x, a),每試1次就改一點點。他還證明,只要每個行動都試很多次,就會逼近最好的價值。

1994年,東京工業大學的宮崎和光、山村雅幸、小林重信研究了profit sharing法:得到獎勵時,把此前的一連串行動一起加強。他們證明了避免學到只會繞遠路的行動所需的條件,並獲得了日本人工智慧學會的論文獎。

在右邊圖裡的迷宮中,讓Q學習和profit sharing分別學出通往寶藏(獎勵)的路。

Q(x, a) ← Q(x, a)+α(r+γ maxb Q(x′, b) − Q(x, a))
r, x′
得到的獎勵和下一個狀態
α, γ
學習率,與對將來的獎勵打折的折扣率(0〜1)
以為知道的事常見說法:TD學習是Sutton在1988年發明的
原始資料中:Sutton本人寫道,TD法在Samuel的西洋跳棋程式(1959,第3章)等中早已用過,只是沒有被很好地理解。Q學習也不是誕生於1992年的論文,而是1989年的博士論文。

圖所展示的:即使沒有人教正確答案,只有到達寶藏時才有獎勵,反覆嘗試也能記住通往寶藏的路。

挑戰的次數,與到達寶藏所需的步數
171990·1995·1999·提升法

按錯誤把弱學習器疊起來

把只比瞎猜好一點點的方法湊在一起,能變成強的方法嗎?

一切始於一個理論問題:只比瞎猜稍好一點的弱學習,和可以無限精確的強學習,能力相同嗎?1990年,MIT的Schapire證明了兩者等價,並給出了把弱方法變成強方法的演算法。1995年,Freund和Schapire發表了AdaBoost。上一輪判錯的資料,權重越大,讓下一個分類器去學習,最後用加權的多數表決彙整出判斷。

1999年,史丹佛的Friedman把梯度提升一般化為下坡式的最佳化計算:讓下一棵小決策樹去預測目前預測值與標準答案的誤差(殘差),一點一點相加。

在右邊的圖裡點「增加1輪」,判錯的資料會變大,下一條邊界線就會來對付它們。

αt = ½ log((1 − εt) ÷ εt)  判錯的例子的權重 ← 權重 × eαt
εt
第t輪分類器的加權錯誤率
αt
該分類器在多數表決中的權重
以為知道的事常見說法:提升法不會過度擬合
原始資料中:Schapire本人在2013年的講解中,給出了訓練資料的錯誤降到0之後,測試資料的錯誤率仍在下降的例子(第5輪8.4% → 第1000輪3.1%),同時寫道,提升法也是會過度擬合的。

圖所展示的:即使分類器只比亂猜稍好,只要提高前一次答錯資料的權重,再訓練下一個,最後用多數決合起來,就會變強。

每一輪的訓練資料錯誤數
181992·支援向量機

讓邊界兩側的餘地最大

分開兩組的線可以畫出許多條。哪一條最好?

1992年7月,Boser、Guyon和Vapnik 3人(研究單位是AT&T貝爾實驗室),在COLT '92會議上發表了一種新的學習方法。把分開兩組的邊界畫得使它與最近的點之間的距離(間隔,即餘地)最大。邊界只由離它最近的少數幾個點決定,移動其他點,它也不會變。

再把算式改寫成只用衡量點與點相似程度的函數(核函數)的形式,就能用同樣的計算,讓彎曲的邊界也做到餘地最大。在郵件上的手寫數字(訓練資料7300張、測試資料2000張)上,用4次多項式核,錯誤率為4.9%。比同樣資料上的5層類神經網路(5.1%)略低一點。

在右邊的圖裡拖動點試試。除了帶圈的點(支撐邊界的點)以外,只要不把其他點移進間隔帶,移動它們,線都不會動。

使間隔最大 ⇔ 使 ‖w‖ 最小
K(x, x′)=exp(−γ‖x − x′‖²)
w, b
邊界的方向和位置(所有的點都滿足yi(w·xi+b) ≥ 1。y用 +1·−1表示所屬的組)
K, γ
核函數(點與點的相似程度),與影響所及範圍的窄度
以為知道的事常見說法:支援向量機是Cortes和Vapnik在1995年發明的
原始資料中:使間隔最大、並用核函數也能處理彎曲邊界的學習方法,是3人在1992年就發表了的。那篇論文裡沒有support vector這個詞,把支撐邊界的點叫作supporting patterns。核函數的想法,論文也引用了1964年Aizerman等人的勢函數方法作為例子。

圖所展示的:第8章的「最寬道路」只能畫出直線;保持「讓分界離最近的點越遠越好」的想法,用點與點的相似程度(核函數)改寫計算,就能用同樣的計算,替直線分不開的排列畫出彎曲分界。這次決定分界的,仍是離分界最近的少數點。

191995·2001·隨機森林

隨機長出來的樹,多數表決

一棵樹對訓練資料過度擬合。集合很多棵會怎樣?

把決策樹養得很深,會和訓練資料完全吻合,但連雜訊也一並記住了。1995年,AT&T貝爾實驗室的何天琴(Tin Kam Ho)證明,把許多棵只隨機選用一部分特徵的樹合在一起,手寫數字的辨識精度會提高(random decision forests)。

2001年,加州大學柏克萊分校的Breiman把隨機森林歸納成型。隨機地重新選取資料來養樹,每次分支時都從隨機選出的特徵中選最好的分法。增加樹的數量,錯誤率會穩定在某個值。用沒被選中的約三分之一的資料(out-of-bag),不需要另外的測試資料就能估計錯誤率。

在右邊的圖裡增加樹的數量,鋸齒狀的邊界就變得平滑。

森林的答案 = 多數表決(樹₁ 的答案, 樹₂ 的答案, …, 樹B 的答案)
B
樹的棵數
森林的錯誤
由每棵樹的強度(準確度)和樹與樹之間的相關性(相似程度)決定
以為知道的事常見說法:隨機森林是Breiman一個人想出來的
原始資料中:名字很像的random decision forests,是何天琴在1995年發表的。Breiman本人也把裝袋法(1996)、何天琴的方法、Amit與Geman(1997)列為先行研究,並把它們合起來稱作random forests。

圖所展示的:1棵深樹會把雜訊也記住,但把隨機長出的許多樹集合起來,用多數決判斷,分界就會更平順,錯誤率也會穩定。

樹的棵數,與用out-of-bag估計的錯誤率
201873·1936·奇異值分解

任何表格都能分解成3個

怎樣用很少的數,把一張數表(矩陣)表示好?

奇異值分解(SVD)說的是,任何矩陣,都可以分解成3個乘法:旋轉 → 沿各軸伸縮 → 再旋轉一次。伸縮的倍數叫奇異值。1873年,Beltrami最先發表,登在義大利面向大學生的數學雜誌上。第二年的1874年,Jordan也獨立地給出了它。

只保留大的奇異值,就能用很少的數把原來的表格相當精確地近似出來。1936年,芝加哥大學的Eckart和Young在與心理測驗得分分析相關的研究中,解決了以較低的秩求出最佳近似矩陣的問題。答案就是把小的奇異值變成0。

在右邊圖的「圓(2×2)」裡,圓通過「轉·拉伸·轉」變成橢圓。在「畫(24×24)」裡,把用24×24的數表畫出來的畫,只保留k個奇異值重新做出來(畫是本站編的例子)。

A=U Σ VT  Ak =σ₁u₁v₁T + … +σkukvkT
U, V
旋轉(改變方向)
Σ
沿各軸拉伸(把奇異值σ₁ ≥ σ₂ ≥ … 排在對角線上的表)
Ak
只保留最大的k個得到的近似
以為知道的事常見說法:近似定理是Eckart和Young(1936)發現的
原始資料中:據Stewart(1992),1907年Schmidt就已證明,2人是重新發現。

圖所展示的:任何數表都能拆成「旋轉、伸縮、旋轉」這3部分,只留下較大的伸展量(奇異值),就能用少量數值,很接近地重現原表。

奇異值的大小(由大到小)
212006〜2009·Netflix Prize

從滿是空格的表格中學習

能猜出一個人會給沒看過的電影打幾分嗎?

2006年10月,Netflix開辦了一場競賽:誰能把人給電影打的分,預測得比公司自己的推薦準10%,就能拿到100萬美元獎金。發放的資料,是約48萬人給約1萬8000部電影打的、超過1億筆評分。

2006年12月11日,參賽者Funk在部落格上公開了全部方法。用各40個數來表示人的喜好和電影的特點,用它們乘積的總和來預測評分。表格約85億個格子裡,有84億個是空的,所以不能用原本的奇異值分解。於是,只用已知的評分來計算誤差,一點一點修正取值。他本人把它叫作改造過的SVD。

在右邊的圖裡點「繼續學習」,空格就會被一個個填上(表格是本站編的例子)。

預測r̂ =pu · qm
pu ← pu +η e qm(qm 也是同樣的形式。e=r − r̂)
pu, qm
人u的喜好,與電影m的特點(一組數)
r, η
已知的評分,與學習率
以為知道的事常見說法:Netflix用競賽裡找到的方法改進了推薦
原始資料中:在該公司的部落格(2012)裡寫道,獲勝的方法與所花的功夫不相稱,沒有被採用。

圖所展示的:用少量數值表示人的喜好和電影特徵,只用已知評分慢慢修正,就能逐漸猜對那張空格很多的表中,尚未填入的評分。

反覆計算的次數,與驗證用資料的誤差
221770·2005·2009·裡面有人

正確的標籤是誰貼的

當「AI看照片自己學會了」的時候,那個正確答案是從哪裡來的?

2005年11月,Amazon推出了機械土耳其人(Mechanical Turk)服務:程式可以請人完成一些小任務,再接收結果。發布聲明把這種讓電腦叫大批人去做事、再利用其結果的做法,稱作(譯)。

2009年,普林斯頓大學的李飛飛等人發表了ImageNet(當時已有320萬張):按WordNet(把詞的意義按上下層級整理的詞庫)的名詞類別分組收集照片。照片是用搜尋引擎收集的,照片裡是否真有那個東西,則由機械土耳其人上拿報酬工作的世界各地的人一張一張核對,再由多人投票決定(論文第4頁)。「裡面有人」,不只是1770年那台下棋機器(被稱作土耳其人)的故事。

右邊的圖是投票的機制(每個人的正確率是本站暫定的數)。

多數表決的正確率 =Σk>n/2 C(n, k) pk(1 − p)n−k
n
核對1張照片的人數(奇數)
p
每個人的正確率
C(n, k)
從n個人中選出k個人的組合數
以為知道的事常見說法:Amazon解釋說,名字取自1770年那台下棋機器(土耳其人)
原始資料中:本站確認過的Amazon 2005年發布聲明和現在的首頁,都沒有寫名字的由來。

圖所展示的:「AI從照片學習」所用的正確答案,其實是世界各地領取報酬的工作者,1張張確認,再由多人的多數決決定的。

人數,與多數表決的正確率
232009·跟著資料走

分成訓練和測試來檢驗

精巧的機制,和大量的資料。哪個會贏?

2009年,Google的Halevy、Norvig和Pereira寫了論文(譯)。文中說(譯),並呼籲(譯)。

不過,學出來的效能,不用沒參與學習的資料去評估,是不知道的。在右邊的圖裡改變訓練資料的數量。數量少時,訓練資料上100%答對,測試資料上的正確率卻很低(過度擬合)。

測試的正確率 = 沒參與學習的例子中答對的個數 ÷ 這些例子的個數
練習用(訓練資料)
用來學習的資料
測試用(測試資料)
只用來在學習之後檢驗效能的資料

圖所展示的:訓練後的表現,必須用沒參與訓練的資料才能確認。資料太少,即使練習得到100%,實際測試仍會答錯。

本章出現的資料的規模(每格10倍的刻度)
242006·2009·GPU

同一種計算,同時做很多

畫遊戲畫面的部件,為什麼讓AI的學習變快了?

畫遊戲畫面的GPU,能用許多小核心同時做相同的計算(2006年的GeForce 8800 GTX最多128個)。2006年11月,NVIDIA發表了CUDA:用一般的C語言,就能把這個元件用於影像以外的計算。

類神經網路的學習,大半是反覆的「乘了再加」。每一個都是形式相同的計算,所以可以分工同時進行。2009年,史丹佛的Raina、Madhavan和吳恩達(Andrew Ng),在GeForce GTX 280上訓練不用標準答案就能學習的深層網路,比2核CPU最多快了70倍。有1億個參數的4層網路的訓練,從(譯)縮短為(譯)。

右邊的圖是改變核心數、比賽填滿乘法表格子的遊戲(本站做的示意)。核心越多,同樣時間內填滿的格子越多。

所花時間 ≒ 計算的次數 ÷(核心數 × 一個核心的速度)
這張圖的約定
每個格子的計算量相同,分工的開銷算作0(真實情況下,搬運資料等要花時間)
以為知道的事常見說法:深度學習是靠GPU普及的
原始資料中:2012年Google的大嘗試(貓的論文·DistBelief),用的不是GPU,而是幾千台普通的電腦。論文寫道,當時的GPU遇到裝不進顯示記憶體(不到6 GB)的大網路,很難變快。路並不只有一條。

圖所展示的:類神經網路的訓練,是一大堆形式相同的計算,因此用有許多小核心的GPU分工,速度就會快得多。

252009〜2012·聲音

比影像更早,是聲音

用深度學習的AI,第一次大成功是在影像上嗎?

從2009年前後起,深度學習在語音辨識上開始超過此前長期使用的統計方法(GMM)。2012年,多倫多大學、微軟研究院、Google和IBM的4個小組,從(譯)出發合寫了論文,給出的結果包括:在對話轉寫測試中,詞語錯誤率從27.4%降到了18.5%。2012年8月,Google已將它用於Android的語音辨識。這些都發生在2012年10月那場影像大賽之前。

差不多同一時期,用聲音下指令的應用程式接連登場(2010年8月NICT的VoiceTra,2011年10月蘋果的Siri,2012年3月1日NTT docomo的語音管家。日語版Siri晚1週)。

右邊的圖是語音辨識錯誤的數法(詞語錯誤率)。

錯誤率 =(替換 + 遺漏 + 多餘)÷ 正確的詞語數
數法
把2個句子用最少的修改對齊後再數(動態規劃。與第5章的DP比對是同樣的想法)
以為知道的事常見說法:深度學習的第一次大成功,是2012年秋天的影像大賽
原始資料中:語音辨識從2009年起就開始出成果,2012年8月Google已將其用於Android。Google的部落格舉出1980年代末的一篇論文(2位大阪ATR的研究者合著),作為把類神經網路用於語音的最初嘗試。

圖所展示的:深度學習最早的大成功,是聲音,比影像還早。語音辨識的錯誤,是用最少的修改把2個句子對齊,再計算出來的。

262010〜2012·深層網路

即使疊得很深,也不讓訊號消失

把層疊到30層,會發生什麼?

在深層類神經網路裡,反向傳播誤差的訊號,每經過一層就會變弱,或者變得過大。2010〜2012年,防止這種情況的3個辦法齊備了。

活化函數ReLU(輸入為正就原樣輸出,為負則輸出0。正的一側斜率始終為1);按神經元個數來調整幅度的權重初始值(2010年Glorot與班吉歐);還有每次學習時隨機讓一半隱藏層神經元休息的dropout(2012年)。

在右邊的圖裡改變活化函數和初始值,看每層訊號的大小。

ReLU(x)=max(0, x)
權重的幅度 ±√6 ÷ √(n輸入 +n輸出),標準差 √(2 ÷ n輸入)
n輸入, n輸出
該層輸入、輸出的神經元個數(幅度是Glorot與班吉歐的取法,標準差是何愷明等人的取法)
以為知道的事常見說法:ReLU是辛頓等人在2010年發明的
原始資料中:2010年的論文自己就舉出了2009年Jarrett等人的嘗試。同樣形式的活化函數,在1968〜1969年福島邦彥的網路裡就有了(第4章),但2010〜2012年的3篇論文都沒有引用福島。

圖所展示的:網路疊得很深,反向傳遞的訊號就會逐層減弱,最後消失。透過ReLU和權重初始值的設計,即使有30層,訊號也能傳到。

每層反向傳播的訊號大小(每格10倍的刻度)
272012·1年3件

交通標誌,與Google的貓

2012年,深度學習取得了多少成果?

2月,瑞士研究所IDSIA的Cireșan、Meier和Schmidhuber,用GPU訓練了一種方法:把多個深層卷積網路並排,再把結果取平均。在德國交通標誌的辨識(測試1萬2569張)上,錯誤率達到0.54%。據論文,人的錯誤率是這個數的兩倍。不過答案只有43種,難度和1000種照片不同。

6月,Google和史丹佛大學的Le、吳恩達等人,從YouTube的1000萬段影片中各取1張影像,在沒有正確標籤的情況下,讓一個有10億個連接的9層網路去學習(1000台電腦、1萬6000個核心,用了3天)。沒有教它,卻出現了對人臉有反應的神經元,也出現了對貓臉和人體有反應的神經元。Google的部落格特別強調,(譯)。

然後是10月的影像辨識大賽(下一個跨頁)。在右邊的圖裡,把貓神經元的成績與「隨便猜時」比一比。

論文的表1:人臉神經元81.7%,貓臉神經元74.8%,隨便猜時64.8%(貓的測試)。成績要和什麼都不做也能拿到的分數對比著讀。

以為知道的事常見說法:Google的AI能自己辨識貓了
原始資料中:論文的重點是人臉神經元(81.7%),貓臉神經元是74.8%。這是個隨便猜也能拿到64.8%的測試(論文的表1)。

圖所展示的:2012年接連出現深度學習成果,Google的貓神經元,在亂猜也能得到64.8%的測試中得到74.8%。閱讀成績時,要與什麼也不做就能得到的分數比較。

282012·影像大賽

大幅領先的第1名,第2名是東京大學

2012年10月的影像大賽上,什麼事被說成(譯)?

在從照片中辨識1000種物體的大賽ILSVRC上,多倫多大學的Krizhevsky、Sutskever和辛頓的隊伍SuperVision,在可以回答5次的規則下,把錯誤率做到了15.3%(只用大賽提供的資料則為16.4%)。第2名東京大學的隊伍(ISI)是26.2%,差了約11個百分點。他們用2張遊戲用的GPU,訓練了擁有6000萬個參數的8層卷積類神經網路。大賽主辦單位寫道,這一年是辨識大量不同種類物體的研究的(譯)。

卷積是這樣一種計算:讓一個小視窗(濾波器)在影像上滑動,在與視窗形狀相同的位置上產生強烈的反應。這個結構,是從1979年福島邦彥的新認知機(第5章)和1989年LeCun等人的網路一路傳下來的。在右邊的圖裡選一種視窗的形狀,讓它在影像上滑動。下面的圖表是大賽第1名8年間的錯誤率。

輸出(i, j)=Σa Σb 視窗(a, b) × 影像(i+a, j+b)
視窗
3×3的權重表(學習之後,會變成對豎線、橫線等有反應的形狀)
以為知道的事常見說法:2012年深度學習突然誕生了
原始資料中:獲勝的機制,是1989年LeCun等人的網路(源頭是1979年福島的新認知機)放大之後用GPU訓練出來的。論文也寫道(譯)。

圖所展示的:2012年的影像競賽,卷積網路勝過第2名,領先約11個百分點。它的內部,使用的是從1979年和1989年延續下來的「滑動小視窗」計算。

大賽第1名的錯誤率(2010〜2017年)
292005〜2012·日本·將棋與西洋跳棋

從棋譜中學習,用多數表決來走棋

將棋軟體的強弱,是由製作者的將棋水平決定的嗎?

此前的許多將棋軟體,對局面好壞的打分方式,是由製作者手工決定的。化學研究者保木邦仁做的Bonanza(2005年公開),讓機器學習打分方式,使它走出和職業棋手相同的棋。2006年5月,它首次參加世界電腦將棋錦標賽就奪冠,2007年3月與渡邊明龍王舉行了公開對局(112手,龍王獲勝)。

2010年10月,資訊處理學會的「Akara 2010」戰勝了清水市代女流王將。它讓日本頂尖的4套軟體思考同一個局面,選擇最多軟體採用的那一手,是一種多數表決的機制。2012年1月的第1屆將棋電王戰上,以Bonanza為基礎的Bonkras在113手後戰勝了已經退役、時任棋士聯盟會長的米長邦雄永世棋聖。

右邊的圖是一種學習方法:不斷更新權重,使職業棋手的那一手得到最高的分(本站的示意)。

w ← w+η(f(職業棋手的棋) − f(m))
m
比職業棋手的棋分數還高的那一手
w, η
打分方式的權重,與學習率
f
走棋之後的局面特徵(子力得失·玉將的防守·棋子的作用)
以為知道的事常見說法:要做出強的將棋軟體,製作者自己也必須將棋很強
原始資料中:Bonanza的作者是個幾乎不懂將棋的化學研究者,但他用讓機器從棋譜中學習打分方式的辦法,首次參加世界大賽就奪冠了。

圖所展示的:將棋軟體不再由製作者決定評分方法,而是讓機器學習,把職業棋手所走的棋步評為最高分;即使製作者不熟悉將棋,軟體也能變強。

學習次數,與選中和職業棋手相同走法的比例
302001·2011·日本·預言

定下期限的目標與市場預測

這個時代的日本,提出過哪些「到某年為止」的說法?

2011年11月,國立情報學研究所啟動了(東機器人君)計畫。目的是整合1980年以後分得很細的AI研究,並給年輕人夢想。作為具體的目標,它提出了有期限的目標:,以及(答案在第10章揭曉)。

10年前的2001年,日本機械工業與機器人產業團體的報告預測,2010年機器人市場約3兆日圓(其中生活領域1.5兆日圓),2025年約8兆日圓。然而實際上,非製造業的下一代機器人市場,每年只有14〜68億日圓,連100億日圓都不到,反而在萎縮(2009年產業技術綜合研究所的荒井裕彥的分析)。2015年政府的策略裡,也把機器人整個市場寫成(譯)。

右邊的圖,把預測和實際按每格10倍的刻度並排放著。

預測 ÷ 實際 = 偏離了多少倍
每格10倍的刻度
1 → 10 → 100等間距排列(2點之間的長度,表示偏離了多少倍)
以為知道的事常見說法:(譯)(機器人研究者之間的通行說法)
原始資料中:工業協會自己的實際調查顯示,下一代機器人市場每年只有14〜68億日圓,反而在萎縮(年均 −10.2%)。

圖所展示的:這個時代的日本,出現了許多「到這一年為止」的預測和目標。機器人市場的預測,與實際結果相差數百倍以上。

結語

工具很老,湊齊才是新的

從資料中學習的工具,許多比AI這個詞還要早出現。貝氏(1763)、最小平方法(1805)、S形曲線(1838)、奇異值分解(1873)、主成分(1901·1933)。之後的工具,也有許多誕生於AI之外的現場:蜜蜂分類、假釋預測、傳送訊號的研究、心理測驗、動物行為的問題等等。而且同一種方法,常常有許多人各自獨立地想到。「誰是第一個」,往往無法確定是哪一個人。

2006〜2012年,新的與其說是想法,不如說是條件。GPU帶來的快速計算,許多人貼上標籤的大量資料,好的權重初始值和活化函數。這些齊備的2012年,在語音、交通標誌、貓、影像大賽上,深度學習的成果接連出現。

還有許多尚不清楚的事。ImageNet的標籤,是多少人、在哪些國家、拿多少報酬貼上的?學出來的網路內部發生了什麼(從外部檢查的嘗試才剛剛開始)?把並不獨立的東西當作獨立的HMM和單純貝氏,為什麼仍然能運轉得很好?在提升法裡,訓練資料的錯誤降到0之後,測試成績為什麼還會繼續提高?為什麼層數深一些更好?這些,在本章的資料中,都沒有給出明確的答案。下一章裡,2012年之後,AI在圍棋和將棋上戰勝職業棋手,東機器人君交出了答卷,「工作會消失」的預測成為全世界的話題。

本章的其他事件(1則。都附有原始資料和可信度)
2006年已查證原始資料說法有出入

讓圍棋軟體變強的所依據的2篇論文

圍棋1個局面可下的著法很多,局面的評估也困難,所以西洋棋那樣的搜尋方法沒能讓圍棋變強。2006年,法國的庫隆(Rémi Coulom)的論文提出了新的搜尋方法(蒙地卡羅樹搜尋,MCTS)。它從某個局面出發,一直隨機下到終局,多次重複(蒙地卡羅),按勝率比較著法,越有希望的分支查得越深。庫隆用9路棋盤的圍棋軟體Crazy Stone,贏得了電腦圍棋比賽(KGS)的冠軍。同一年,匈牙利的Levente Kocsis和Csaba Szepesvári提出了決定該試哪些分支、各試多少次的方法UCT。10年後的AlphaGo論文(2016年)把這2篇作為MCTS的文獻引用,並將MCTS與2個類神經網路(預測下一手和評估局面)相結合。

原始資料3筆及查證內容

有出入:Kocsis和Szepesvári論文所在的會議是第幾屆:AlphaGo的參考文獻表寫著「15th European Conference on Machine Learning」,而Springer的書目則認為ECML 2006是第17屆(僅在搜尋結果中確認,沒有打開原始文獻)。哪個正確,本站沒有定論。

  1. Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search (CG 2006。作者網站上的PDF)(Rémi Coulom・2006・PDF 1頁Abstract / 5 Game Results(pdf…・原始資料)
  2. Bandit based Monte-Carlo Planning (ECML 2006。作者所在大學頁面上的PDF)(Levente Kocsis, Csaba Szepesvári・2006・PDF 1頁Abstract / 1 Introduction・原始資料)
  3. Mastering the game of Go with deep neural networks and tree search (Nature 529。DeepMind存放處的PDF)(David Silver, Aja Huang等(Google DeepMind・Google)・2016・PDF 1頁 摘要・正文第1頁、pdf第4〜5頁的比較對象、p…・原始資料)