歡迎 Andrej，很高興您今天能加入我們的討論
>> 謝謝你的邀請
>> 那麼，很多人已經知道你在深度學習的研究
但不是每個人都知道你個人的故事
請先告訴我們
你如何能有這些深度學習的成果呢？
>> 好啊，當然
那...我第一次接觸深度學習應該是大學的時候
在多倫多大學
Geoff Hinton 在那裡，他在教深度學習的課
講的是用受限玻爾茲曼機 (RBM) 訓練 MNIST 數字
我很喜歡 Geoff 講述訓練網路的方式
例如「網路的心靈」，他用這樣子的詞彙
當我在訓練辨認那些數字時，
我感覺有某種魔力。
這算是我的第一次接觸
雖然那時候我還沒深入研究
然後當我在英屬哥倫比亞大學讀碩士的時候
我上了另一堂關於機器學習的課
這算是我第一次深入研究神經網路之類的。
有趣的是，我對人工智慧很有興趣
所以我上了些 AI 的課
不過有很多我當時並不滿意
因為講了很多深度優先搜尋、廣度優先搜尋、Alpha-beta剪枝
如此之類
我不大了解為什麼... 我就是不滿意
所以當我第一次接觸神經網路，在「機器學習」的領域
— 我覺得這個詞比較專業
而不浮濫... 大部分的人都在講人工智慧
「機器學習」是一個比較技術的詞彙，可以這樣說
所以我當時對人工智慧並不滿意
當我接觸了機器學習，我覺得
這，才是我想研究的 AI，這才是真正有趣的
這讓我繼續往這方向邁進
你可以說這是嶄新的運算模式
因為一般來說，是人在寫程式
但在這裡，是「最佳化」(optimization) 在寫程式
你定好了輸入輸出的規則
然後你有很多的資料範例，然後「最佳化」來寫程式
有時寫的比你還好
所以我認為這是非常新穎的程式思維
這讓我很感興趣
>> 就你的成就來說，你其中最著名的是
您現在是圖片分類競賽的人類基準了
這是怎麼開始的？
>> 基本上，ImageNet 挑戰有時被視作某種
電腦視覺的世界杯
所以很多人很在意這個基準
我們的錯誤率逐漸降低
對於這種規模的問題，在當時我不確定人類能作到多好
我在更之前在做過比較小規模的實驗、CIFAR-10 資料集
我在 CIFAR-10 所作的是，我看那些 32x32 的圖片
我試著自己做分類
當時只有十個類別
所以弄個介面頗簡單
我記得我達到了 6% 的錯誤率
根據我看到的、還有這任務的困難度
我猜我預測我們能達到最好的錯誤率是...
嗯，我現在不記得確切數字
應該是 10% 吧：而我們現在來到了 3% 2% 或某個驚奇的數字
那就是我身為「人類基準」的第一個有趣的實驗
我認為這非常重要
原因和你在課堂提到的一樣
你真的會需要那些數字來了解人類能做多好
我們就能和機器學習演算法做比較
而當時 ImageNet 則有種落差：這種基準的重要性
但大家花了很多心力在把錯誤率降低，
而我們甚至還不知道人類到底能做多好。
所以我用 Javascript 做了一個界面，秀給我圖片
然而 ImageNet 的問題在於他不只有 10 個類別
他有 1000 個
這算是個 UI 的難題
顯然我無法記得所有 1000 類，那我該如何進行
確保不是來亂的呢？
所以我列出所有的類別，給每類一張範例
然後對於每張圖片，我就滾過一千個類別
根據剛剛每個類別的範例圖，對比看看
這張圖片大概是哪類。
我發現這件事本身還滿有教育意義
我的意思是，我之前不知道原來 ImageNet 有三分之一是狗類
這還滿好玩的，發現這網路花了很多時間
來在意狗狗
成效有三分之一都來自狗
嗯...對，所以這件事我大概花了一兩個禮拜
我把其他事都擱著
我覺得這種練習還滿有趣的
最後我得到了數據，然後覺得只有一個人並不夠
我想要有其他人的
所以我試著召集實驗室的大家做同樣的事
我猜大家不太想貢獻；大概一兩個禮拜
非常刻苦的工作，坐在那邊五個小時
試著分辨這是哪一種狗的種類
所以這方面來說，我沒能拿到足夠的資料
不過至少還能估計出成效，我覺得還滿好玩的。
後來這引起大家注意了... 其實我當時並沒有料到
我只是想要知道數據而已，可是就變成個大事了
(笑) 而且大家很開心有人做了這樣的事
還開玩笑稱我為肉體基準
當然我覺得這滿好笑的
>> 你當時會驚訝有軟體
終於超越你了嗎？
>> 沒錯
嗯當然
特別是有時候圖片裡面那是啥真的很難看出來
就一坨黑點在那邊
而我看不出來...
你看我還要在20個中猜一個，而神經網路就知道答案
我不知道這怎麼辦到的
所以有種超人類感。
而且我覺得，神經網路對樣式和材質的這種統計歸納
非常在行。
我覺得從這方面來看，我並不意外，神經網路更能
從一大堆圖片量測到細膩的統計資料
而在很多例子我還滿訝異的，因為有些圖片需要「讀」
例如他就是個瓶子，外觀看不出是什麼
可是其實上面的文字就告訴你這是什麼了
所以身為人類，我能夠用讀的，但網路必須學習
用讀的方式來辨識物品，因為外觀並不明顯
>> 你其中最著名的事
也是深度學習社群很感激你的
就是你的課堂教學，還放在網路上
請和我們分享一下緣由
>> 好啊，當然
基本上我強烈覺得
這是很革命性的科技，而且很多人都想用
就像個鐵鎚
而我想要做的是
我可以將這把鐵鎚傳授給很多人
我覺得這很有吸引力
從一個博士生的角度來說，這不一定很明智
因為你等於是放下你的研究
我的意思是，這佔了我大概 120% 的心力
我必須把所有研究工作先擱著
我看看，我教了兩次課，每次大概四個月
那段時間算是全心全意在課堂上
所以從這角度來看並不是很明智，不過這算是我博士生涯的亮點
這甚至和研究無關
我覺得教書絕對是我博士生涯最重要的部份
光是看到學生
光是看到他們很興奮... 這門課真的很不一樣
平常大家教你的，是早在 1800 年就發現的
諸如此類
但是我們可以到課堂上說，你看，這論文前個禮拜才出來
甚至是昨天出的
又有嶄新結果。我覺得那些大學生和其他同學
他們非常喜愛這種特點
甚至他們還能讀懂理解之
這並不是什麼非常深奧的學問
只要你懂微積分、還有線性代數
你就能了解每件事、了解背後道理
所以我覺得因為這是如此強大、每天不斷演化
大家覺得自己身處於革命性的尖端
我認為這是大家很喜歡那門課的原因
>> 你真的幫助了很多人，交出去了很多鐵鎚
>> 沒錯
>> 身為一直在從事深度學習
也做了很久了，而這領域演化非常迅速
我很好奇你的看法
在這些年，你對深度學習的理解有何改變？
>> 嗯嗯，例如當我剛開始接觸受限玻爾茲曼機 (RBM)
第一次用在數字辨認
我並不確定要怎麼使用這項技術
也不確定這多重要
還有當我一開始研究電腦視覺時，
卷積網路(CNN)已經有了，但是
還沒被很多電腦視覺的人使用
我想當時的氛圍是，這在小資料有用
但不可能擴展到非常多圖片
這其實錯很大
(笑) 總之基本上，我很訝異這技術是如此地泛用
而且如此有效
我會說這是我最訝異的。更有甚者...
所以其中一件是成效非常有用，例如 ImageNet
不過另一件大家沒預期到的
至少我沒預期到的，是你可以拿預先訓練好的網路
拿來轉移學習
你可以微調後用在任何其他的問題上
因為你現在並不是在解 ImageNet
而需要數百萬的資料
這網路本身，剛好也能很泛用地抽取特徵
我想這是另一個比較少人預期到的特質。
當時出現了很多論文
各種電腦視覺的領域都有：
我看過場景辨認、行為辨認、物體辨認、
臉部特徵、諸如此類的
大家只要微調網路，就能在每個問題通關
這讓我感覺非常驚奇
>> 沒錯，而且我覺得不知為何，監督學習比較受注目
就算預先訓練的網路或轉移學習其實非常有用
感覺大家也比較少談到這一塊
>> 是的，沒錯。
我想有些沒那麼出色，也就是對於非監督學習的期待
我猜這大概是為什麼很多研究員踏入了這領域
大概在2007年之類的
而我覺得這邊的成績還沒繳出來
我感到訝異的是監督學習的部份成效很好
而非監督學習的部份還在...
要怎麼使用之或怎麼成功，這還不明顯
就算很多人還深深地相信
在這個領域上。 >> 那麼，我知道
你一直在思考 AI 長遠的未來
你想分享一下嗎？
>> 那麼，在過去一年半
我在 OpenAI 想了很多相關的主題
對我來說，這領域會分成兩條路
一條是「應用 AI」，就只是做神經網路，訓練之
大部都是監督學習，也可能是非監督的
然後不斷進步，例如圖片辨認器之類的。
而我想另一條路會是「強人工智慧」(AGI)
也就是把神經網路變成完全動態的系統、
能像人類一樣思考、說話、做所有人類能做的，這樣子地有智慧
我一直覺得有趣的是，以電腦視覺為例
我認為我們一開始解決問題的方法是錯的：
我們嘗試把問題分成不同領域
就好像，人類能辨認人、人類能辨認場景
人類能辨認物品
所以我們去做每件人類能做的
然後我們有了這些 — 現在有了不同的領域
然後有了這些後
我們要想想怎麼把這些整合在一起。
我覺得這方法不對
能看到過去這樣的後果如何。
我覺得這趨勢在 AI 比較高階的領域
也類似
就是大家在問：人類能計畫、人類能做實驗
了解世界怎麼運作、人類要交談所以需要語言
大家想根據功能性來分解問題，解決每一個
然後再整合成某種腦。
我認為這方法不對
我一直比較傾向...
不是那樣各個擊破，而是有某個單一的神經網路
一個完整的動態系統、總是用整個系統來運作，
那麼問題就變成：
要怎麼去定義目標，使得你在最佳化
這腦袋的權重時，你能得到有智慧的行為
我在 OpenAI 一直想了很多這方面的事
我想大家對於這個問題
想了很多不同的方法
例如
走監督學習的方向，我在網路有篇論述
不算是論述，那是我寫的短篇故事
這故事試著假設、編織出一個世界的模樣
— 如果達到「強人工智慧」僅是大規模的監督學習
— 我們知道有這可能。
所以這看起來會像 Amazon Mechanical Turk
將功能加進許多執行作業的機器人當中
然後我們訓練監督式學習資料集使其模仿人類
可能是什麼樣子, 等等。
還有其他的方向,
像是演算法資訊理論的非監督式學習, 像是AIXI
或者是人工生命, 那些看起來更像是人工進化的東西
所以這就是我花時間思考的事情
我心中有個正確答案, 但我不會在這裡透露給大家
[笑] > > 我至少可以透過閱讀
你的部落格瞭解更多
>> 好啊, 當然
您已經給出了相當多的意見, 而今日
仍有很多人想進入人工智慧深度學習的領域
你有沒有甚麼建議可以幫助他們呢?
>> 好啊, 當然
所以我認為當人們跟我談論 CS231n, 為什麼他們認為這是一個非常
有用的課程, 我不斷聽到
學生感謝我們帶領他們學習這些基礎的細節
他們並不是直接使用框架, 必須先讀這些程式碼
親自去看看這些程式是如何實踐
然後自己再去一步步寫出這些函式
透過這個過程真正將其內化成自己的知識
不要只看那些最後的重點
你必須要充分了解整個原貌
這也是為什麼當我通常透過自學學習這些知識
徒手從無到有實踐一切是最重要的
這是我學習過程當中
真正使我理解這些知識的方式
所以我自己寫了一個函式庫
叫做ConvNetJS
用Javascript實踐了卷積神經網路
這是我學習反向傳播的方式
這是我一直建議人們不要一開始就用
Tensorflow或其他框架
除非你曾經徒手實踐過最基礎的函式
並真正了解所有功能
這時才去使用這些框架，去更清楚表達你的程式
而你已經知道其中的意涵了
這是一直以來幫助我做多的東西
這是來上231n的人們最欣賞的學習方式
也是我會建議多數人的做法
>> 所以不要只是運行神經網路，看他會發生甚麼事
對, 不要只是看到你在特定某隱藏層加上dropout
就讓結果變好，這不是你要做的
在這種情況下，你無法有效地進行除錯
也無法有效地改進模型
同樣的, 我很高興我們的深度學習課程
是從數周Python語言開始的
對, 很好
非常感謝您分享的洞見與建議。
您已經是很多人心目中深度學習領域的英雄
我非常高興也非常感謝今天你能加入我們
>> 謝謝你的邀請