特別節目·中文精讀

伊恩·古德費洛:生成對抗網路(GAN)

Ian Goodfellow: Generative Adversarial Networks (GANs)

GAN 提出者講解對抗訓練的直覺來源、模型穩定性的困難與生成模型的未來。

官方音訊00:00 / --:--
中文精讀由 AI 基於原始訪談改寫,非官方翻譯,可能存在偏差或錯誤;表述以原音訊與官方文稿為準。說明

2014 年,蒙特利爾的一間酒吧。伊恩·古德費洛(Ian Goodfellow)跟實驗室的幾個人爭論一個想法:能不能讓兩個神經網路互相當對手,一個負責造假,一個負責識破,讓它們在對抗中一起變強。

在場的人幾乎都反對,理由很具體。你沒法在外層網路的訓練迴圈裡再套一個內層網路的訓練迴圈,兩個程序會失去同步。這個擔心來自經驗。當時他們都在做深度玻爾茲曼機,那裡面有正相和負相兩個同時執行的過程,一個讓真實資料更可能出現,一個讓模型自己採出來的樣本更不可能出現,在 MNIST 上跑得很好,一換到彩色照片就散架,兩個程序再也對不齊。

凌晨一點,古德費洛回到家,把程式碼寫了出來。

它跑通了。

五年後坐在這期播客裡,他說自己至今沒有一個能指認的單一原因,解釋為什麼 GAN 在影象生成上成立,深度玻爾茲曼機不行。有不少理論論文證明在某些設定下這個演算法確實收斂,但那些設定限制得太死,解釋不了實踐中看到的全部現象。他的結論很樸素:很多機器學習演算法,事前預測它表現如何幾乎不可能,只能跑實驗看結果。

深度學習是一個多步程式

古德費洛那本《深度學習》教材的開篇畫了一張俄羅斯套娃圖:深度學習是表示學習的子集,表示學習是機器學習的子集,機器學習是人工智慧的子集。這張圖暗含一件事,深度學習未必等於 AI 的全部。

他自己給深度學習下的定義是:任何涉及學習多個連續步驟引數的機器學習。寬度是並行的運算元,深度是序列的運算元。他把一張計算圖讀成流程圖,深度是圖上依次執行的步數,寬度是同時執行的步數。

這個定義跟 2006 年前後的主流敘事差別很大。那時候辛頓證明深度信念網路可以訓練,大家興奮的點是逐層抽象:第一層學邊緣,第二層學角,最後某一層學出識別具體物體的"祖母細胞"。古德費洛說,今天沒有人真的相信 ResNet 第 150 層是一個祖母細胞,第 100 層是輪廓檢測器。當年的理解是每層學到一種新表徵,現在的理解是同一份表徵被反覆修改。

每一步精煉的都是同一份表徵,它把現有的東西磨得更細。某種意義上這有點像推理。這算不上演繹意義上的推理,它是把一個想法拿出來,反覆打磨,打磨到足夠好用為止。(古德費洛)

他還提到,深度學習和淺層學習的分界線落在有沒有序列步驟上,表徵好不好是次要的。支援向量機可以有成千上萬個輸入特徵,每個特徵乘一個權重,這些乘法全是並行的,序列結構幾乎為零。深度學習多出來的那部分能力,來自多步。

人類不必打兩百萬局 Pong

說到今天的瓶頸,他先指向資料。深度學習需要大量資料,尤其是標註資料。有些無監督和半監督演算法能減少標註需求,但它們仍然要海量無標註資料。強化學習不需要標籤,代價是需要極多的互動次數。

人學會打 Pong,用不著先打兩百萬局、局局都輸。(古德費洛)

另一個瓶頸是定位。到今天為止,沒有人真的主張把深度學習單獨當作智慧的全部配料。AlphaGo 裡,深度學習只是一個估計價值函式的模組;大多數強化學習演算法裡,深度學習只是一個估計下一步該做什麼動作的模組。整套系統是拼起來的。

他押注的方向是多模態。今天訓練出來的模型,絕大多數只吃一種資料。人腦不一樣,視覺、聽覺、觸覺、騎車、開車、跟人說話、讀書,全在同一段人生裡積累。他的判斷是:如果給模型一份真正整合的、能閉環互動的多模態資料集,再把它放大,今天這批演算法可能就夠了,能學出很有意思的東西。

能形式化的意識,和不能形式化的意識

聊天中間兩人哲學了一會兒。古德費洛把"意識"拆成兩個版本。

一個是自我意識,也就是智慧體知道自己存在於世界裡,會基於這個事實做規劃。這個版本的定義對電腦科學家是可操作的,而且強化學習演算法已經在被迫建模自己對環境的影響。訓練得當的話,這種有限版本的自我意識已經存在了。

另一個版本是關於主觀體驗的,比如 qualia。他不知道怎麼把這個變成科學問題。你沒法設計一個實驗,判斷對面這個人是不是哲學殭屍,做著和人完全一樣的資訊處理卻沒有內在體驗。同樣,你也沒法設計一個實驗,判斷一套高階 AI 系統有沒有在這個意義上醒過來。

對抗樣本從"機器學習的毛病"變成了"安全責任"

他自己說,這幾年對對抗樣本的看法變了很多。一開始他把它當作機器學習的一個大缺陷,目標是縮小機器和人類面對對抗擾動時的反應差距。現在他更多把它看成一類安全漏洞。

我現在更多地把它們當作一種安全責任,而不是某種證明機器學習本身有獨特毛病、人類沒有的東西。(古德費洛)

關於能不能拿對抗樣本當提升準確率的工具,答案比想象中複雜。2014 年他做的第一個對抗訓練分類器,在 MNIST 上不但扛住了部分對抗樣本,乾淨資料上的準確率還提高了。這個結果復現過好幾次:用弱對抗樣本訓練,分類器會更準。

但換成別的資料集,或者換成更強的對手,這個紅利就消失了。面對真正強的對手,你得付出代價,準確率和魯棒性之間存在權衡。

他把這個思路放回工程傳統裡看。很多工程分支都會做最壞情況分析,保證系統在最壞情況下能用,也就順帶保證了它在真實世界裡那些 messy 的平均情況下能用。自動駕駛領域現在也是這個路子:主動去找系統會怎麼出錯,能扛住所有難例,就用一種經驗性的方式說明系統是靠得住的。

語音識別的例子更有畫面感。2016 年有一篇叫 Hidden Voice Commands 的論文,做出了人聽不懂、但手機能識別成攻擊者指定指令的聲音。之後攻擊方進展更快,防守方更慢。現在已經能做出這樣的音訊:人聽起來是一句正常的話,背景裡有點沙沙的雜音,手機卻把它識別成完全不同的另一句話。那些沙沙聲本身就是對抗擾動。

寫一章深度學習,只寫活下來的東西

彼得·諾維格邀請他為《人工智慧:一種現代方法》第四版寫深度學習章節。他的做法有點反常規:先等了一年才動筆。

幫他做出判斷的,恰恰是寫過一整本教材的經驗。第一本書出版之後,他能看到哪些話題在幾年裡站住了,哪些顯得多餘。這個後視視角讓他在寫單章時能大刀闊斧地砍。

另一個讓他安心的觀察是:這個領域穩定到 1980 年代的一些核心想法現在還在用。他剛入門時,1980 年代的東西幾乎全被否定了,後來有一部分又回來了。凡是撐過時間檢驗的,他才寫進去。

寫書有兩種哲學。一種是寫成覆蓋一切的參考手冊,一種是寫成高層摘要,給讀者一套理解這個領域的語言,告訴他們哪些概念最重要。第一本書他試圖兩者兼顧,這一章他選了後者。碰到"學習學習"這種飛快的領域,他乾脆只寫一段話:這裡有個快速演進的方向,你該知道它存在,它可能就是你現在專案裡想用的那個卷積網路模組的來源,但把最新的架構和效能對應關係逐條總結出來沒有意義。

反向傳播會退到一個角落,但不會死

辛頓說過我們得扔掉反向傳播,從頭再來。古德費洛的回應帶著一種工程史的耐心。

他的觀察是:當一個演算法不再位於研究的關鍵路徑上,它不會死,它只是退到一批專門的場景裡。邏輯迴歸對今天做語音識別或自動駕駛的研究者毫無吸引力,但它在醫學和金融裡分析高噪聲資料、在需要極快預測的場合裡,還有大量用途。

所以他覺得反向傳播和梯度下降可以留著,只是它們未必是通往人類級或超人級 AI 所需的全部。

替代方向他給了一個具體的想象:把模型堆疊起來,低層的模型去預測高層模型的引數。這樣在頂層,你做的動作是預測不同的引數值會表現如何,梯度計算在這個位置退居其次。這種思路在貝葉斯最佳化裡已經出現了,高斯過程預測不同引數配置的表現,早就用在超引數最佳化上。問題在於,這些演算法都還沒能在某個 AI 級別的難題上把 state of the art 真正推上去。

機器的短期記憶還差得遠

他點名了一個至今沒做對的系統:短期記憶。

人類這邊,你告訴某人"今天會議三點開",他聽一遍就記住了。不需要你重複"三點開、三點開、三點開",讓他在這個事實上走很多步梯度。機器這邊,梯度下降要記住一條具體事實,必須在這條事實上反覆迭代很多次。

LSTM 名字裡就帶著"長短期記憶",它的機制和人腦的短期記憶並不相同。注意力機制、神經圖靈機這類能寫儲存單元、能立刻用新事實更新自己的結構,都往這個方向試過,還沒拿下。他認為這塊正需要新的最佳化演算法,或者現有演算法的新用法,讓系統能閃電般地把一條具體事實寫進狀態裡。

1980 年代的書,可能會被重新翻開

聊到符號系統時,他承認那套東西在組裝事實上確實更強。1980 年代的系統能做圖搜尋、一階邏輯、蘊含推理,問題是對專家輸入的依賴太重,覆蓋面很窄。

他自己沒有往那個方向走。他做的是機器學習安全、生成模型。不過他能看到一條中間路線:可微的知識庫,或者某種讓模糊的機器學習演算法能和知識庫互動的介面。神經網路本身就是一個可微的知識庫。

他給的例子很小,也很說明問題。今天生成模型做出來的人臉經常不對稱,兩隻眼睛顏色不一樣的比例遠高於現實世界。如果有一個知識庫能裝下"人臉大致對稱""兩眼顏色大機率相同"這類常識,並且能把這個提示直接注入模型,模型就不用自己從海量資料裡重新發現這件事。

他的主張沒那麼激進:把 1980 年代那套技術擴充套件一下,讓它們和神經網路配合,可能是一條路。

兩個玩家,一場零和博弈

生成模型是能在一批資料上訓練、然後生成新資料的模型。你有一堆貓的照片,想生成更多貓的照片,或者估計一個關於貓的機率分佈,用來判斷一張新圖是貓的機率有多大。

生成模型內部還分門派。有些擅長造

有些擅長造新資料,有些擅長估計密度函式,告訴你某條資料來自訓練分佈的可能性有多高。GAN 偏向造樣本這一側。少數變體比如 Glow 兩樣都能做。

造樣本這件事是從零開始的。它不會去拼照片,不會把這隻貓的眼睛貼到那隻貓的耳朵上。它先在訓練裡形成了某種關於機率分佈的表徵,然後生成一隻從來沒存在過的貓。

GAN 的特殊之處在於,它是一場博弈論意義上的兩人遊戲。生成器負責出圖,訓練剛開始時它出的完全是噪聲。判別器負責看圖判斷真假,一邊拿真實照片訓練它說"真",一邊拿生成器的輸出訓練它說"假"。兩邊一起變強,最後收斂到一個納什均衡:生成器抓住了正確的機率分佈,判別器只能做到隨機猜測,因為真樣本和假樣本看起來同樣可能來自任一來源。

為什麼造出來的不是垃圾

這裡有個邏輯上的麻煩,他自己主動挑明瞭。

生成模型如果嚴格做到我們要求它做的事,它會做的唯一一件事就是背下訓練資料。基於最大似然的模型更是如此:在一份特定訓練集上取得最大似然的辦法,就是把所有機率質量堆在訓練樣本上,別處一點都不給。GAN 的博弈也是在訓練集上打的,在這個遊戲裡變得不可戰勝的辦法,就是字面意義上記住訓練樣本。

生成模型都有這個性質:如果它們真的做到了我們要求它們做的事,它們除了背下訓練資料之外什麼都不會做。(古德費洛)

那為什麼我們得到的不是一堆訓練集的複製品?他的前實習生 Vishnu Nair 寫過一篇論文,從統計學習理論的角度論證了背下訓練資料其實相當難,需要很多學習步、需要對很多變數的大量觀察。

但這也沒解釋另一件事:為什麼生成的是一張有說服力的新圖,而不是垃圾。可能的影象有多少,模型訓練時見過的影象有多少,這兩個數字之間的差距大到不可思議。

他給了一半答案。有一篇叫 Deep Image Prior 的論文證明,拿一個卷積網路,引數完全不用學,只用它的架構,就已經能用來補全影象、去噪。這說明卷積網路的架構本身編碼了關於影象結構的重要資訊。我們看到的影象生成進展,可能有相當一部分來自架構,而不是來自學習。

這個推論往遠處走一步就不太樂觀了。語音上還能做出像樣的模型,但生物資料集比如微陣列測量各種酶含量這種,深度學習模型見得很少。視覺上的成功部分歸功於我們逆向工程了人類視覺系統,這個技巧未必能原樣搬到任意型別的資料上。

從讀茶葉到寒武紀大爆發

2014 年那篇論文只證明了一件事:這東西能跑。用 MNIST 的手寫數字,用多倫多大學人臉庫的小尺寸灰度人臉,同事 Bing Xu 做出了第一個 GAN 人臉模型,人臉勉強能認出來。換成 CIFAR-10 那些 32×32 的車、貓、狗,認不出物體。

但當時的深度學習研究者習慣了看失敗樣本,習慣到能像讀茶葉一樣讀它們。讀茶葉的人看出,這些茶葉渣至少和以前的不一樣。未必更好,但有些東西很反常。這就夠讓人興奮了。

下一個大臺階是 LAPGAN,Emily Denton 和 Soumith Chintala 在 Facebook AI 研究院做的。他們用一套從低解析度逐級放大到高解析度的複雜流程,第一次讓 GAN 生成出真正好的高解析度照片。

同年晚些時候,Alec Radford、Luke Metz 和 Soumith Chintala 發表了 DCGAN。這個名字現在聽著不太唯一,因為幾乎所有 GAN 都是深度卷積的。但這篇論文給了一份真正好用的配方:只用一個模型,不需要多級流程,直接生成逼真的人臉。古德費洛打了這個比方:這就像動物有了脊椎骨,之後突然冒出各種魚和四足動物。DCGAN 成了此後大量模型的骨架,到今天還在被當 baseline 用。

一百個標籤頂六萬個

GAN 後來更有智力含量的進展,不在畫質,在用途。

判別器可以改造成分類器。它本來只判斷"真或假",改一下就能判斷"這是貓、狗、車還是卡車"。OpenAI 的 Tim Salimans 那篇 Improved Techniques for Training GANs 裡,古德費洛是共同作者,但他明說這部分功勞不屬於自己。

關鍵數字在這裡:MNIST 上把錯誤率做到 1% 以下,傳統分類器需要大約六萬個標註樣本。用這個半監督 GAN 方案,一百個標註樣本就夠了。標註量減少了大約六百倍。當然它還是用了遠多於一百張的圖片,只是不需要每張都標上"這是 1、這是 2"。

麻煩在於,要生成可識別的特定類別物體,你還是得有標籤,因為模型得知道"貓"這個類別意味著什麼。

Google Brain 的一篇半監督 GAN 論文往前推了一步。他們的目標放在生成可識別的物體上,標籤多少是次要約束。基於 BigGAN,他們只用 10% 的標籤就達到了 BigGAN 的效果。BigGAN 原本在 ImageNet 上訓練,那是一百二十萬張全部標註的圖。做法近似於聚類:判別器學著把物體歸到幾組,這個分組理解幫它形成更真實的影象概念,因為它知道每張生成的圖都得來自某個原型組,不能是任意一堆畫素。

完全沒有類別標籤會怎樣?你會得到看起來像草地、水面、磚牆、泥土的東西,裡面沒什麼主體。部分原因是 ImageNet 的大圖裡,物體並不佔滿整個畫面。模型學會了造出真實的畫素集合,卻沒學會"物體才是主角,每張圖裡都得有"。

馬和斑馬會帶出草地

CycleGAN 的馬變斑馬是個經典例子,古德費洛用它說明一件更深的事。

馬通常站在草地上,斑馬通常站在更乾燥的地面上。這兩個屬性在訓練資料裡是耦合的。所以你讓它把馬變成斑馬時,它經常連背景一起改,草地變得乾枯。它學到的是聯合分佈裡的相關性,沒有學會把"斑馬"這個屬性從"乾旱地面"裡切出來。

同一個現象在無標籤生成裡反覆出現,也構成了"要生成可識別物體就得有標籤"的另一面證據。

領域對抗:讓特徵認不出自己來自哪個世界

領域自適應要解決的問題很實際。你在 ImageNet 這種乾淨資料集上訓練模型,部署到使用者手機上。使用者拍的是暗光照片、運動中的照片、構圖歪斜的照片。模型一到新領域,效能經常崩得很難看,因為輸入的樣子和訓練時差太遠。

領域對抗的做法是訓練一個特徵提取器,讓提取出的特徵在兩個領域裡統計性質相同。遊戲的另一方是領域識別器,它看特徵提取器的輸出,猜這些特徵來自哪個領域。這個結構和真假判別器很像。

特徵提取器要做兩件事:讓領域識別器猜不出來,同時提出對分類有用的特徵。有些情況下結果是兩個領域表現拉平,代價是原來那個領域的效能被拉低了。也有不少情況兩邊都真正變好了。

他把博弈這個框架往外推得更遠。安全領域的攻防,本質上就是一個攻擊者想搞壞你的系統、防守者想建一個扛得住的系統。他甚至說,生成模型可以用來做資料增強,只是他沒聽說過"訓練一個 GAN 造資料、再用這些資料訓分類器"這個最樸素的版本真的成功過。

他給了一個更聰明的版本:在同一份訓練集上訓練一大堆不同的生成模型,從每個模型取樣,把樣本合起來訓練分類器。每個生成模型泛化的方向可能略有不同,抓到不同的變異軸,分類器能從所有這些資料裡學到更豐富的東西。有點像整合,只不過整合的是生成器。

從病歷到合成病人

GAN 有一類用途和"造更多同款資料"無關,和"造出性質不同的資料"有關。

差分隱私合成資料就是這種。你手上有真實的醫療記錄,想訓一個分類器釋出出去,但別人可能從分類器反推出訓練資料裡的個人隱私。Casey Greene 實驗室的論文展示了做法:用差分隱私訓練 GAN,從 GAN 裡採出來的樣本繼承和引數一樣的隱私保證。你可以造出一批假病人的資料給其他研究者用,他們幾乎可以做任何分析,因為這些資料不來自真人,而差分隱私機制對"原始資料被保護到什麼程度"給出了明確的數學保證。

公平性上的應用更繞一點。有個常見的誤解:想讓預測不受性別影響,把性別這一列從輸入裡刪掉就行了。不夠。性別可以從很多別的特徵裡被推斷出來。你拿到了名字,沒拿到性別欄位,但一個叫 Ian 的人,性別基本不用猜。

真正想要的是這樣一個模型:它能吃進很多屬性,做出準確、資訊充分的預測,同時能確信它在內部沒有偷偷把性別或者別的敏感變數反向工程出來。做法和領域對抗幾乎一樣。一方是特徵提取器,另一方是特徵分析器,目標是讓分析器猜不出你想保護的那個敏感變數的取值。古德費洛對這套思路的評價是"相當聰明,而且簡單"。

他還給了另一個更遠的方向。用 CycleGAN 那種結構,把某一群體的記錄轉換成另一群體的等價記錄。馬變斑馬、白天變黑夜都見過了,公平性上可以想象成:把 A 組的一個人轉換成 B 組裡條件相當的一個人,然後看系統對這兩份本該等價的輸入,給出的待遇是否一致。

要讓這個轉換過程本身是公平的,有太多地方容易出錯。我不覺得這離真正能用還差一點點。但如果你能把轉換過程設計得非常小心,它可能給你一種審計手段:把這個人從這組換到另一組,系統是不是還按它該有的方式對待他?(古德費洛)

深度偽造:接下來幾年會顛一下

被問到深度偽造,他的時間尺度判斷很清楚。他擔心的是未來幾年,二十年之後反倒沒那麼擔心。

接下來會有一段顛簸的文化過渡期。人們第一次遇上"存在非常逼真的影片和音訊,但它們是假的"這件事,會有一段混亂。二十年後再看,人們大體上會明白,不該因為看到了影片就相信它是真的。人們會期待內容帶有密碼學簽名,或者別的能證明真實性的機制。

已經有公司在做這件事。一家叫 Truepic 的創業公司提供驗證影象來源的機制。他承認這些機制未必扛得住國家級行為者的攻擊,但有人在動手,這條路最終會走通。

他不相信會有那種"看著畫素就能判斷真假"的終極檢測器。恰恰相反,過度依賴檢測器是危險的:如果你做了一個很好的假圖檢測器,然後有人騙過了它,檢測器說這張圖不假,那這張圖的可信度比沒有檢測器的時候還高。檢測器給了一種虛假的背書。

他看好的是幕後的估計系統,以及更強的認證體系。想象每臺手機都用硬體裡嵌的私鑰給拍出來的所有內容簽名。你沒法憑影象本身斷定它是真的,但你能確定:某個掌握這臺手機私鑰的人,在某個時間戳,簽了這張圖並上傳到某個伺服器。國家級機構如果真想滲透,可以植入自己選的私鑰,或者撬開晶片讀出私鑰,但那會讓資源不那麼充足的對手造假變得難得多。

一小時出結果的時代過去了

回到酒吧那個故事。被問到深度學習裡還有沒有這種能被快速驗證的突破性想法,他的回答分兩半。

有,而且很多。但 GAN 在一小時這個尺度上是個離群點。所謂低資源想法,是指在演算法層面做一件很不一樣的事,然後拿到很大回報。核心機器學習技術這塊,比如更好的分類器、更好的強化學習演算法、更好的生成模型,他覺得這種機會不太多了。

如果今天有那個想法,要證明它有用會難得多。我需要把它跑到 ImageNet 這種規模上,或者高解析度資料集上,那些要訓練很久。你沒法一小時訓完然後知道這東西是新的、是激動人心的。2014 年,能在 MNIST 上跑通就夠了。(古德費洛)

但有些領域還處在那個人人都是外行的階段。公平性和可解釋性,我們連該怎麼做都還不知道。

可解釋性這塊,他認為連正確的定義都還沒有。而定義一個真正有用的概念,甚至不需要跑任何實驗,就能對領域產生巨大影響。

他拿差分隱私作類比。Cynthia Dwork 和合作者給出隱私的數學定義之前,這個概念很模糊。有了定義之後,你就能設計隨機化演算法訪問資料庫,並用數學上定量的方式保證每個人的隱私被保護。定義一到,演算法很快就跟著來了。

現在大家談可解釋性,談的其實是各自的觀點,每個人腦子裡對"可解釋"的理解都不一樣。如果能定義一個可測量的、和可解釋性相關的量,那本身就是巨大的躍遷,哪怕還沒有能提升這個量的新演算法。

AGI 需要的是同一段人生裡的各種體驗

聊到通用人工智慧,他先排除兩條路。靠固定資料集訓練,或者靠坐在那裡拼命思考,都到不了。

智慧體必須在同一段生命週期裡真正與環境互動,獲得各種各樣的體驗。今天的情況是,一堆模型各幹一件事,每個都只在一個資料集或一個強化學習環境上訓練。確實有論文讓一套引數在多個環境裡都表現良好,但沒有一個智慧體能夠從一種體驗無縫過渡到另一種,把一生中做過的所有事真正整合起來。

多智慧體環境也類似。那些環境往往高度同質,全是同一類動作類電子遊戲。他不認為存在這樣一個智慧體,能從打遊戲切到讀《華爾街日報》,再切到預測某個分子作為藥物的有效性。

他自己給智慧設的測試標準,比圖靈測試更工程化。

不用先去 CIFAR 網站下載資料、再寫 Python 指令碼解析它,你直接把一個智慧體指向 CIFAR-10 這個問題,它自己去下載、解壓、訓練模型,然後開始給你預測。我覺得,一個不需要別人替它把流水線上每一步都裝好的系統,是真的明白自己在幹什麼。(古德費洛)

他特意和 AutoML 劃清界限。AutoML 走的路子是:人類已經把膠水程式碼全搭好了,機器只需要在這個框架內把架構設計得很好。他說的更進一步:如果系統自己知道怎麼預處理資料,從而成功完成任務,那你就很難說它沒有在某種意義上真正理解了任務。他不確定這是不是智慧的哲學定義,但這是他很想造出來的東西,有用,而且能說服他 AI 真的往前走了一步。

具體想象是:你給它一個維基百科的 URL,或者乾脆打一段話說明你想要什麼,它自己去決定該搜什麼、下載什麼、準備哪些原料。

被當成機器人的兩個人

聊到最後,主持人提到一個細節:古德費洛說話很穩,沒有"呃""嗯"這些填充詞,容易剪輯。網上有人因此說他和主持人兩個人都可能是機器人。

被要求證明自己是人類,他的回答繞回了自己的研究。

用今天的技術證明我是真人,其實挺容易的。今天這場對話沒有因為我的訓練資料而突然拐去聊股市之類的東西。但一般地說,想僅憑內容本身證明某樣東西是真的,極其困難。這是我研究裡最重要的收穫之一:你幾乎可以模擬任何東西,所以你必須退回到一個單獨的通道去證明真實性。(古德費洛)

他開玩笑說自己應該在出生的時候把自己上鍊,"但我沒做,所以我沒法用我自己這套研究方法"。

最該解決的問題:讓模型動起來

最後一個問題,他挑的是對抗樣本魯棒性。讓機器學習在面對一個想幹涉、想控制它的對手時保持安全,是今天的研究者能在所有領域裡解決的最重要的問題之一:影象、語言、駕駛。

但他更擔心的是還沒出現的領域。2002 年問大家手機安全的重要問題是什麼,沒人能預料到今天我們拿手機幹這麼多事。AI 也會是這樣,商業機會究竟在哪裡起飛,事前預測不出來。

能事前確定的是:幾乎任何用機器學習做的事,你都會希望別人沒法只靠給它看一張奇怪的二維碼、或者一個奇怪的輸入圖案,就讓它做對方想做的事而不是你想做的事。這套方法論能跨領域,他同意這個判斷。

他提到一類自己看好的解法,不落在某個具體方法上,而是一個類別:讓模型每次預測都發生變化。

現在的做法是訓練完就凍結,此後所有輸入都用同一套規則分類。從安全形度這是一隻活靶子。同樣的輸入永遠得到同樣的輸出,攻擊者只要不斷試,找到一個對自己有利的錯誤,然後把這個錯誤重複使用就行。

讓模型更新自己的預測、讓攻擊者更難預判會拿到什麼結果,會讓對手更難真正控制系統、讓它做他們想做的事。(古德費洛)

代價是模型永遠保持一點神秘感,因為它一直在變。這句話聽起來像個玩笑,背後卻是他整套研究裡最實在的一條經驗:內容本身可以被完美偽造,可信性必須來自內容之外的通道。這條經驗同時適用於一段影片、一張人臉,和一個永遠輸出相同答案的模型。

可以立刻做的事

  • 評估模型時把對抗魯棒性當成獨立指標測一遍。別隻看乾淨資料上的準確率,用強力攻擊跑一次最壞情況分析,把結果和準確率一起彙報。
  • 如果你的系統涉及交易、語音指令、身份驗證這類可被利用的輸出,就假設攻擊者能拿到你的模型或者能反覆查詢它,先做一遍演練:讓自己人去找一個對自己有利的錯誤。
  • 處理敏感屬性時,別隻把欄位從輸入裡刪掉。檢查模型能否從姓名、郵編、裝置型號這些代理特徵裡反推出敏感變數,必要時用領域對抗式的特徵分析器去驗證。
  • 需要釋出資料或模型又怕洩露個體資訊時,優先考慮差分隱私訓練加合成資料這條路徑,它能給出量化的隱私保證,而不是模糊的承諾。
  • 動手做生成模型前,先想清楚你要的是造樣本還是估密度。GAN 偏前者,自迴歸模型和流模型在密度估計上更自然,選型錯了後面每一步都彆扭。
  • 做小樣本任務時,試試判別器半監督的思路:一百個標籤的效果可能頂得上六萬個,先跑這個 baseline 再考慮標更多資料。
  • 想讓模型認識常識,別指望它從資料裡自己發現。設計時留一個注入先驗的介面,比如可微的外部知識庫,人臉大致對稱這種事實沒必要讓模型自己重新學一遍。
  • 判斷一個 AI 系統是不是真理解任務,看它能不能自己把流水線搭起來。只會在別人準備好的資料上訓練的模型,再高的分數也說明不了這件事。
文稿由本站用語音識別模型(基於官方釋出音訊)機器轉寫,可能有識別錯誤,人名與數字請以音訊為準。
[00:00:00] The following is a conversation with Ian Goodfellow. He's the author of the popular textbook on Deep Learning, simply titled Deep Learning. He coined the term of generative adversarial networks otherwise known as Gan's, and with his 2014 paper, is responsible for launching the incredible growth of research and innovation in this subfield of deep learning. He got his B.S. in arms at Stanford, his Ph.D. at University of Montreal with Yahshua, Banjo and Aaron Carvell. He held several research positions, including an open eye Google brain and now at Apple as the director of Machine Learning. [00:00:41] This recording happened while Ian was still a Google brain. But we don't talk about anything specific to Google or any other organization. This conversation is part of the artificial intelligence podcast, if you enjoy it. Subscribe on YouTube, iTunes or simply connect with me on Twitter at LAX. Friedman spelled F our ID. And now here's my conversation with Ian Goodfellow. [00:01:25] You open your popular deep learning book with a Russian doll type diagram that shows deep learning is a subset of representation learning, which in turn is a subset of machine learning and finally a subset of A.I. So this kind of implies that there may be limits to deep learning in the context of AI. So what do you think is the current limits of deep learning and are those limits something that we can overcome with time? [00:01:52] Yeah, I think one of the biggest limitations of deep learning is that right now it requires really a lot of data, especially labeled data. There are some unsupervised and some supervised learning algorithms that can reduce the amount of label data you need. But they still require a lot of unlabeled data, reinforcement learning algorithms. They don't need labels, but they need really a lot of experiences as human beings. We don't learn to play Pong by failing at Pong two million times. [00:02:19] So just getting the generalization ability better is one of the most important bottlenecks and the capability of the technology today. And then I guess I'd also say deep learning is like a component of a bigger system. So far, nobody is really proposing to have only what you'd call deep learning as the entire ingredient of intelligence. You use deep learning as sub modules of other systems like Alpha Go has a deep learning model that estimates the value function. Most reinforcement learning algorithms have a deep learning module that estimates which action to take next. [00:02:57] But you might have other components if you're basically building a function estimate. [00:03:02] Or do you think it's possible? He said. Nobody's kind of been thinking about this so far. But do you think neural networks can be made to reason in the way symbolic systems did in the 80s and 90s to do more create more like programs as opposed to functions? [00:03:18] Yeah, I think we already see that a little bit. I already kind of think of neural nets as a kind of program, I think of deep learning as basically learning programs that have more than one step. So if you draw a flowchart or or if you draw a tensor flow graph describing your machine learning model, I think of the depth of that graph as describing the number of steps that run in sequence. And then the width of that graph is the number of steps that run in parallel. [00:03:47] Now, it's been long enough that we've had deep learning, working, that it's a little bit silly to even discuss shallow learning anymore. But back when I first got involved in A.I., when we used machine learning, we were usually learning things like support vector machines where you could have a lot of input features to the model and you could multiply each feature by a different weight. But all those multiplications were done in parallel to each other and there wasn't a lot done in the series. [00:04:09] I think what we got with deep learning was really the ability to have steps of a program that run in sequence. And I think that we've actually started to see that what's important with deep learning is more the fact that we have a multi-step program rather than the fact that we've learned a representation. [00:04:27] If you look at things like notes, for example, they take one particular kind of representation and they update it several times back when deep learning first really took off in the academic world in 2006, when Jeff Hinton showed that you could train deep belief networks, everybody who was interested in the idea thought of it as each layer learns a different level of abstraction that the first layer trained on images learned something like edges and the second layer learns corners. And eventually you get these kind of grandmother cell units that recognize specific objects. [00:05:03] Today, I think most people think of it more as a computer program where as you add more layers, you can do more updates before you output your final number. But I don't think anybody believes that layer 150 of the Reginette is a great grandmother cell and you layer one hundred is contours or something like that. OK, so you think you're not think of it as a singular representation that keeps building, you think of it as a program sort of almost like a state representation is a state of understanding. [00:05:35] Yeah, I think of it as a program that makes several updates and arrives at better and better understandings. But it's not replacing the representation at each step, it's refining it. And in some sense, that's a little bit like reasoning. It's not reasoning in the form of deduction, but it's reasoning in the form of taking a thought and refining it and refining it carefully until it's good enough to use to. [00:05:58] Do you think and I hope you don't mind, we'll jump Theosophical every once in a while. Do you think of, you know, cognition, human cognition or even consciousness as simply a result of this kind of sequential representation learning? [00:06:15] Do you think that can emerge cognition? [00:06:18] Yes, I think so. Consciousness, it's really hard to even define what we mean by that. I guess there's consciousness is often defined as things like having self awareness, and that's relatively easy to turn into something actionable for a computer scientist to reason about. People also define consciousness in terms of having qualitative states of experience like qualia. There's all these philosophical problems like could you imagine a zombie who does all the same information processing as a human but doesn't really have the qualitative experiences that we have, that sort of thing? [00:06:52] I have no idea how to formalize or turn it into a scientific question. I don't know how you could run an experiment to tell whether a person is a zombie or not. And similarly, I don't know how you could run an experiment to tell whether an advanced A.I. system had become conscious in the sense of qualia or not. [00:07:10] But in the more practical sense, like almost like self attention, you think consciousness and cognition can in an impressive way emerge from current types of architectures? [00:07:21] Yeah, because. Yeah, or or if if you think of consciousness in terms of self awareness and just making plans based on the fact that the agent itself exists in the world, reinforcement learning algorithms are already more or less forced to model the agents effect on the environment so that that more limited version of consciousness is already something that we get limited versions of with reinforcement learning algorithms if they're trained well. [00:07:51] But you say limited. So the big question really is how you jump from limited to human level. Yeah, right. [00:07:59] And whether it's possible, you know, even just building common sense reasoning seems to be exceptionally difficult. [00:08:07] So if we scale things up, if we get much better unsupervised learning, if we get better at labeling, if we get bigger datasets, more compute, do you think we'll start to see really impressive things that go from limited to, you know, something echoes of human level cognition? [00:08:27] I think so, yeah. I'm optimistic about what can happen just with more computation and more data. I do think it'll be important to get the right kind of data to do. Most of the machine learning systems we train are mostly trained on one type of data for each model. But the human brain, we get all of our different senses and we have many different experiences like, you know, riding a bike, driving a car, talking to people, reading. [00:08:56] I think when you get that kind of integrated data set, working with a machine learning model that can actually close the loop and interact, we may find the algorithms not so different from what we have today learned. Really interesting things when you scale them up a lot and train them on a large amount of multimodal data. [00:09:15] So multimode was really interesting, but within like you work in adversarial examples. So selecting within. [00:09:23] Model within one mode of data, selecting better at what are the difficult cases from which are most useful to learn from? [00:09:33] Oh yeah. Could we could we get a whole lot of mileage out of designing a model that's resistant to adversarial examples or something like that? [00:09:41] Right. Yeah, question my thinking on that has evolved a lot over the last few years when I think when I first started to really invest in studying adversarial examples, I was thinking of it mostly as adversarial examples reveal a big problem with machine learning. [00:09:56] And we would like to close the gap between how machine learning models respond to adversarial examples and how humans respond after studying the problem more. I still think that adversarial examples are important. I think of them now more of as a security liability than as an issue that necessarily shows there's something uniquely wrong with machine learning as opposed to humans also. [00:10:20] Do you see them as a tool to improve the performance of the system? Not not on the security side, but literally just accuracy? [00:10:27] I do see them as a kind of tool on that side, but maybe not quite as much as I used to think. We've started to find that there's a tradeoff between accuracy and adversarial examples and accuracy on clean examples. Back in 2014, when I did the first adversarial trained classifier that showed resistance to some kinds of adversarial examples, it also got better at the clean data on amnesty. And that's something we've replicated several times and amnesty that when we train against weak adversarial examples, classifiers get more accurate. [00:11:01] So far, that hasn't really held up on other data sets and hasn't held up when we train against stronger adversaries. It seems like when you confront a really strong adversary, you tend to have to give something up. As you're saying, this is such a compelling idea because it feels it feels like that's how us humans learn the difficult cases. [00:11:23] We try to think of what would we screw up? And then we make sure we fix that. Yeah, it's also in a lot of branches of engineering. You do a worst case analysis and make sure that your system will work in the worst case and then that guarantees that it'll work in all of the messy average cases that happen when you go out into a really randomized world. [00:11:44] Yet with driving with autonomous vehicles, there seems to be a desire to just look for think adversarial, to try to figure out how to mess up the system. And if you can be robust to all those difficult cases, then you can. It's a handwaving, empirical way to show that your system is. [00:12:02] Yeah, yeah. [00:12:04] To do most adversarial example, research isn't really focused on a particular use case, but there are a lot of different use cases where you'd like to make sure that the adversary can't interfere with the operation of your system. Like in finance, if you have an algorithm making trades for you, people go to a lot of an effort to obfuscate their algorithm that's both to protect their IP because you don't want to research and develop a profitable trading algorithm than have somebody else capture the gains. [00:12:33] But it's at least partly because you don't want people to make adversarial examples that fool your algorithm into making bad trades. Or I guess one area that's been popular in the academic literature is speech recognition. If you use speech recognition to hear an audio waveform and then turn that into a command that often executes for you, you don't want a malicious adversary to be able to produce audio that gets interpreted as malicious comments, especially if a human in the room doesn't realize that something like that is happening in speech recognition. [00:13:09] Has there been much success in being able to create adversarial examples that fool the system? [00:13:16] Yeah, actually, I guess the first work that I'm aware of is a paper called Hidden Voice Commands that came out in twenty sixteen, I believe, and they were able to show that they could make sounds that are not understandable by a human but are recognized as the target phrase that the attacker wants the phone to recognize it is. Since then things have gotten a little bit better on the attackers side and worse on the defender side. It's become possible to make sounds that sound like normal speech, but are actually interpreted as a different sentence than the human hears, the level of susceptibility of the adversarial perturbation is still kind of high, that when you listen to the recording, it sounds like there's some noise in the background, just like rustling sounds. [00:14:10] But those rustling sounds are actually the adversarial perturbation that makes the phone here a completely different sentence. [00:14:15] Yeah, that's so fascinating. Peter Norvig mentioned that you're writing the Deep Learning chapter for the fourth edition of Artificial Intelligence, a modern approach book. [00:14:24] So how do you even begin summarizing the field of deep learning in a chapter? [00:14:31] Well, in my case, I waited like a year before I actually read anything. Is it even having written a full length textbook before, it's still a pretty intimidating to try to start writing just one chapter that covers everything. One thing that helped me make that plan was actually the experience of having written the full book before and then watching how the field changed after the book came out, I realized there's a lot of topics that were maybe extraneous in the first book and just seeing what stood the test of a few years of being published and what seems a little bit less important to have included now helped me pare down the topics I wanted to cover for the book. [00:15:14] It's also really nice to know that the field is kind of stabilized to the point where some core ideas from the 1980s are still used. Today, when I first started studying machine learning, almost everything from the 1980s had been rejected and now some of it has come back. So that stuff that's really stood the test of time is what I focused on putting into the book. There is also, I guess, two different philosophies about how you might write a book. [00:15:40] One philosophy as you try to write a reference that covers everything. And the other philosophy is you try to provide a high level summary that gives people the language to understand a field and tells them what the most important concepts are. The first deep learning book that I wrote with Joshua and Aaron was somewhere between that, the two philosophies that it's trying to be both a reference and an introductory guide. Writing this chapter for Russell Norvig book, I was able to focus more on just a concise introduction of the key concepts and the language. [00:16:11] You need to read about them more. And a lot of cases actually just write paragraphs that said here's a rapidly evolving area that you should pay attention to. It's it's pointless to try to tell you what the latest and best version of a, you know, learn to learn model is. Right. You know, I can I can point you to a paper that's recent right now, but there isn't a whole lot of a reason to delve into exactly what's going on with the latest Learning to Learn approach or the latest module produced by Learning to Learn algorithm. [00:16:42] You should know that learning to learn is a thing and that it may very well be the source of the latest and greatest convolutional net or the current net module that you would want to use in your latest project. But there isn't a lot of point in trying to summarize exactly which architecture in which learning approach got to which level of performance. [00:17:01] So you may be focused more on the basics of the methodology so far from back propagation to feed forward to the Kernell now was convolutional, that kind of thing. [00:17:12] Yeah, yeah. [00:17:13] So if I were to ask you, I remember I took algorithms and data structures. Algorithms, of course. And remember, the professor asked what is an algorithm and yelled at everybody in a good way that nobody was answering it correctly, everybody knew what the hell it was a graduate course, everyone knew what an algorithm was, but they weren't able to answer it well. So let me ask you, in that same spirit, what is deep learning? [00:17:41] I would say deep learning is any kind of machine learning that involves learning parameters of more than one consecutive step. So that I mean, shallow learning is things where you learn a lot of operations that happen in parallel, you might have a system that makes multiple steps like you might have had designed feature extractors, but really only one step is learned. Deep learning is anything where you have multiple operations in sequence. And that includes the things that are really popular today, like convolutional networks and recurrent networks. [00:18:20] But it also includes some of the things that have died out, like bullets and machines where we weren't using back propagation. Today, I hear a lot of people define deep learning as gradient descent applied to these differentiable functions. And I think that's a legitimate usage of the term. It's just different from the way that I use the term myself. [00:18:45] So what's an example of deep learning that is not gradient descent and differentiable functions in your I mean, not specifically perhaps, but more even looking into the future. [00:18:56] What's your thought about that space of approaches? [00:19:01] Yeah, so I tend to think of machine learning algorithms as decomposed into really three different pieces. There's the model, which can be something like a neural net or a bolson machine or a recurrent model. [00:19:13] And that basically just describes how do you take data and how do you take parameters and, you know, what function do you use to make a prediction given the data and the parameters? Another piece of the learning algorithm is the optimization algorithm or not. Every algorithm can be really described in terms of optimization. But what's the algorithm for updating the parameters or updating whatever the state of the network is? And then the the last part is the the data set, like how do you actually represent the world as it comes into your machine learning system? [00:19:50] So I think of deep learning as telling us something about what does the model look like? And basically to qualify as deep, I say that it just has to have multiple layers that can be multiple steps in a fit forward differentiable computation. That can be multiple layers in a graphical model. There's a lot of ways that you could satisfy me that something has multiple steps that are each parameterized separately. I think of gradient descent as being all about that other piece. [00:20:18] The how do you actually update the parameters piece so you can imagine having a deep model like a convolutional net and training it with something like evolution or a genetic algorithm. And I would say that still qualifies as deep learning. And then in terms of models that aren't necessarily differentiable, I guess Boltzmann machines are probably the main example of something where you can't really take a derivative and use that for the learning process. But you can still argue that the model has many steps of processing, that it applies when you run inference in the model. [00:20:52] So the steps of processing, that's key. So Geoff Hinton suggests that we need to throw away back pop back propagation and start all over. What do you think about that? What could an alternative direction of training RealNetworks networks look like? [00:21:08] I don't know. The back propagation is going to go away entirely most of the time when we decide that a machine learning algorithm isn't on the critical path to research for improving. The algorithm doesn't die. It just becomes used for some specialized set of things. Right. A lot of algorithms like logistic regression don't seem that exciting to A.I. researchers who are working on things like speech recognition or autonomous cars today. But there's still a lot of use for logistic regression and things like analyzing really noisy data in medicine and finance or making really rapid predictions and really time limited contexts. [00:21:47] So I think I think back propagation and gradient descent are allowed to stay, but they may not end up being everything that we need to get to real human level or super human AI. [00:21:59] Are you optimistic about us discovering, you know, back propagation has been around for a few decades. [00:22:07] So are you optimistic about us as a community being able to discover something better? [00:22:13] Yeah, I am. I think I think we likely will find something that works better. You could imagine things like having stacks of models where some of the lower level models predict parameters of the higher level models. And so at the top level, you're not learning in terms of literally calculating gradients, but just predicting how different values will perform. You can kind of see that already in some areas like Bayesian optimization, where you have a Gaussian process that predicts how well different parameter values will perform. [00:22:43] We already use those kinds of algorithms for things like hyper parameter optimization. And in general, we know a lot of things other than back up that work really well for specific problems. The main thing we haven't found is. A way of taking one of these other back based algorithms and having it really advanced the state of the art on an eye level problem. Right. [00:23:04] But I wouldn't be surprised if eventually we find that some of these algorithms that even the ones that already exist, not even necessarily new one, we might find some way of customizing one of these algorithms to do something really interesting at the level of cognition or or the the level of, I think one system that we really don't have working quite right yet is like short term memory. We have things like Elston's. They're called long short term memory. They still don't do quite what a human does with short term memory like gradient descent. [00:23:41] To learn a specific fact has to do multiple steps on that fact. Like if I I tell you, the meeting today is at three p.m. I don't need to say over and over again. It's at three p.m.. It's at three p.m.. It's at three p.m. it's at three p.m.. Right. For you to do a great step on each one. You just hear it once and you remember it. There's been some work on things like self attention and attention, like mechanisms like the neural Turing machine that can write to memory cells and update themselves with facts like that right away. [00:24:12] But I don't think we've really nailed it yet. And that's one area where I'd imagine that new optimization algorithms are different ways of applying existing optimization algorithms could give us a way of just lightning fast updating the state of a machine learning system to contain a specific fact like that without needing need to have it presented over and over and over again. [00:24:34] So some of the success of symbolic systems in the 80s is they were able to assemble these kinds of facts better. [00:24:43] But there's a lot of expert input required and it's very limited in that sense. [00:24:48] Do you ever look back to that as something that will have to return to eventually sort of dust off the book from the shelf and think about how we build knowledge, representation, knowledge? [00:25:00] We really have to use graph searches and searches. Right. And like first order, logic and entailment and things like that kind of thing. Yeah, exactly. [00:25:06] In my particular line of work, which has mostly been machine learning, security and and also generative modeling, I haven't usually found myself moving in that direction for generative models. I could see a little bit of it could be useful if you had something like a differentiable knowledge base or some other kind of knowledge base where it's possible for some of our fuzzier machine learning algorithms to interact with the knowledge base. [00:25:33] I mean, your network is kind of like that. It's a differentiable knowledge base of sorts. Yeah. [00:25:39] But if we had a really easy way of giving feedback to machine learning models, that would clearly help a lot with with generative models. And so you could imagine one way of getting there would be get a lot better at natural language processing, but another way of getting there would be take some kind of knowledge base and figure out a way for it to actually interact with a neural network, being able to have a chat with the neural network. [00:26:03] Yes, it's like one thing in generative models we see a lot today is you'll get things like faces that are not symmetrical, like people that have two eyes that are different colors. And I mean, there are people with eyes that are different colors in real life, but not nearly as many of them as you tend to see in the machine learning generated data. So if you had either a knowledge base that could contain the fact people's faces are generally approximately symmetric and eye color is especially likely to be the same on both sides, being able to just inject that hint into the machine learning model without having to discover that itself after studying a lot of data would be a really useful feature. [00:26:45] I could see a lot of ways of getting there without bringing back some of the 1980s technology. But I also see some ways that you could imagine extending the 1980s technology to play nice with neural nets and have it help get there. [00:26:57] Awesome. So you talked about the story of you coming up with the idea of Gan's at a bar with some friends. [00:27:04] You were arguing that this, you know, Gan's would work genov, adversarial networks and the others didn't think so. [00:27:11] Then you went home at midnight, cut it up and it worked. So if I was a friend of yours at the bar, I would also have doubts. [00:27:19] It's a really nice idea, but I'm very skeptical that it would work. What was the basis of their skepticism? What was the basis of your intuition? Why it should work? I don't want to be someone who goes around promoting alcohol for the purposes of science, but in this case, I do actually think that drinking helped a little bit. When your inhibitions are lowered, you're more willing to try out things that you wouldn't try out otherwise. So I. [00:27:48] I have noticed in general that I'm less prone to shooting down some of my own ideas when I'm when I have had a little bit to drink. [00:27:55] I think if I had had that idea at lunchtime, I probably would have thought it's harder to wonderful that you can't train a second neural net in the inner loop of the outer neural net. [00:28:05] That was basically my friend's objection, was that trying to train to neural nets at the same time would be too hard. [00:28:11] So it was more about the training process unless. So my skepticism would be, you know, I'm sure you could train it, but the thing would converge to would not be able to generate anything reasonable and kind of reasonable realism. [00:28:25] Yeah. [00:28:25] So so part of what all of us were thinking about when we had this conversation was deep bolts and machines, which a lot of us in the lab, including me, were a big fan of deep bolts and machines at the time. They involved two separate processes running at the same time. One of them is called the positive phase, where you load data into the model and tell the model to make the data more likely. The other one is called the negative phase, where you draw samples from the model and tell the model to make those samples less likely in a deep bolson machine. [00:28:59] It's not trivial to generate a sample. You have to actually run an iterative process that gets better and better samples coming closer and closer to the distribution the model represents. So during the training process, you're always running these two systems at the same time, one that's updating the parameters of the model and another one that's trying to generate samples from the model. [00:29:18] And they worked really well and things like amnesty. [00:29:21] But a lot of us in the lab, including me, had tried to get the bolts and machines to scale past amnesty to things like generating color photos, and we just couldn't get the two processes to stay synchronized. [00:29:34] So when I had the idea for Gan's, a lot of people thought that the discriminator would have more or less the same problem as the negative phase in the Bolson machine that trying to train the discriminator in the inner loop. You just couldn't get it to keep up with the generator and the outer loop, and that would prevent it from converging to anything useful. Yeah, I share that intuition. [00:29:54] Yeah, but it turns out to not be the case. [00:29:59] A lot of the time with machine learning algorithms, it's really hard to predict ahead of time how well they'll actually perform. You have to just run the experiment and see what happens. And I would say I still today don't have like one factor I can put my finger on and say this is why Gan's worked for photo generation and deep bolts and machines don't. There are a lot of theory papers showing that under some theoretical settings, the thuggin algorithm does actually converge. [00:30:26] Mm hmm. But those settings are restricted enough that they don't necessarily explain the whole picture in terms of all the results that we see in practice. So taking a step back, can you in the same way as we've talked about deep learning, can you tell me what generative adversarial networks are? [00:30:46] Yes. So generative adversarial networks are a particular kind of generative model. A generative model is a machine learning model that can train on some set of data like so you have a collection of photos of cats and you want to generate more photos of cats or you want to estimate a probability distribution over cats. So you can ask how likely it is that some new image is a photo of a cat. Ganzer One way of doing this, some genitive models are good at creating new data. [00:31:16] Other generative models are good at estimating that density function and telling you how likely particular pieces of data are to come from the same distribution as the training data. Gan's are more focused on generating samples rather than estimating the density function. There are some kinds of gown's like flow again that can do both, but mostly Ganzer about generating samples, generating new photos of cats that look realistic and they do that completely from scratch. It's analogous to human imagination when again creates a new image of a cat, it's using a neural network to produce a cat that has not existed before. [00:31:58] It isn't doing something like compositing photos together. You're not you're not literally taking the eye off of one cat in the era of another cat. It's it's more of this digestive process where the the neural net trains on a lot of data and comes up with some representation of the probability distribution and generates entirely new cats. There are a lot of different ways of building a generative model. What's specific Tegan's is that we have a two player game in the game theoretic sense and as the players in this game compete, one of them becomes able to generate realistic data. [00:32:31] The first player is called the generator. It produces output data such as just images, for example. And at the start of the learning process, it'll just produce completely random images. The other player is called the discriminator. The discriminator takes images as input and guesses whether they're real or fake. You train it both on real data. So photos that come from your training set actual photos of cats. And you try to to say that those are real. [00:32:57] You also train it on images that come from the generator network and you train it to say that those are fake. As the two players compete in this game, the discriminator tries to become better at recognizing whether images are real or fake, and the generator becomes better at fooling the discriminator into thinking that its outputs are real. And you can analyze this through the language of game theory and find that there's a Nash equilibrium where the generator has captured the correct probability distribution. [00:33:27] So in the cat example, it makes perfectly realistic catheters and the discriminator is unable to do better than random guessing because all the all the samples coming from both the data and the generator look equally likely to have come from either source. [00:33:43] So do you ever dare sit back and just blow your mind that this thing works so far? I'm very so it's able to estimate the density function enough to generate generate realistic images. [00:33:55] I mean, does it. Yeah. Do you ever sit back? Yeah. How does this even why this is quite incredible, especially where against have gone in terms of realism. [00:34:06] Yeah. And not just to flatter my own work, but generative models, all of them have this property that if they really did what we asked them to do, they would do nothing but memorize the training data. Right. Models that are based on maximizing the likelihood the way that you obtain the maximum likelihood for a specific training set is you assign all of your probability mass to the training examples and nowhere else. For Gan's, the game is played using a training set. [00:34:35] So the way that you become unbeatable in the game is you literally memorize training examples. [00:34:42] One of my former interns wrote a paper. His name is Vaishnav Nugget Rajan, and he showed that it's actually hard for the generator to memorize the training data hard in a statistical learning theory sense that you can actually create reasons for why it would require quite a lot of learning steps and a lot of observations of of different variables before you could memorize the training data. That still doesn't really explain why when you produce samples that are new, why do you get compelling images rather than just garbage? [00:35:19] That's different from the training set. And I don't think we really have a good answer for that, especially if you think about how many possible images are out there and how few images the generative model sees during training. It seems just unreasonable that generative models create new images as well as they do, especially considering that we're basically training them to memorize rather than generalize. I think part of the answer is there's a paper called Deep Image Prior where they show that you can take a convolutional net and you don't even need to learn the parameters of it at all. [00:35:52] You just use the model architecture and it's already useful for things like painting images. I think that shows us that the convolutional network architecture captures something really important about the structure of images. And we don't need to actually use the learning to capture all the information coming out of the convolutional net. [00:36:12] That would that would imply that it would be much harder to make generative models in other domains. So far we're able to make reasonable speech models and things like that. But to be honest, we haven't actually explored a whole lot of different data sets, all that much. [00:36:27] We don't, for example, see a lot of deep learning models of like biology datasets where you have lots of microarrays measuring the amount of different enzymes and things like that. So we may find that some of the progress that we've seen for images and speech turns out to really rely heavily on the model architecture. And we were able to do what we did for vision by trying to reverse engineer the human visual system. And maybe it'll turn out that we can't just use that same trick for arbitrary kinds of data. [00:37:00] All right, so there's aspects of the human vision system, the hardware of it that makes it without learning, without cognition just makes it really effective at detecting the patterns we've seen the visual world. Yeah, that's yeah. That's really interesting. [00:37:15] What in a big quick overview in your in your view, what types of guns are there and what other generative models besides guns are there. [00:37:27] Yeah. So it's maybe a little bit easier to start with. What kinds of generative models are there other than guns. So most generative models are likelihood based where to train them. You have a model that tells you how how much probability it assigns to a particular example and you just maximize the probability assigned to all the training examples. It turns out that it's hard to design a model that can create really complicated images or really complicated audio waveforms and still have it be possible to estimate the the likelihood function from a computational point of view. [00:38:09] Most interesting models that you would just write down intuitively, it turns out that it's almost impossible to calculate the amount of probability they assigned to a particular point. So there's a few different schools of generative models in the likelihood family of one approach is to very carefully design the model so that it is computationally tractable to measure the density response to a particular point. So there are things like auto regressive models like Pixel, CNN, those basically break down the probability distribution into a product over every single feature. [00:38:45] So for an image, you estimate the probability of each pixel given all of the pixels that came before it. There's tricks where if you want to measure the density function, you can actually calculate the density for all these pixels, more or less in parallel, generating the image still tends to require you to go one pixel at a time, and that can be very slow. But there are again tricks for doing this. [00:39:10] In a hierarchical pattern where you can keep the runtime under control are the quality of the images it generates putting runtime aside pretty good? [00:39:19] Oh, they're reasonable. Yeah, I would say a lot of the best results are from Gan's these days, but it can be hard to tell how much of that is based on who's studying which type of algorithm, if that makes sense. The amount of effort invested in a PDA or like the kind of expertise. So a lot of people have traditionally been excited about graphics or art and things like that have gotten interested in Gan's. And to some extent it's hard to tell against doing better because they have a lot of graphics and are experts behind them or against doing better because they're more computationally efficient or are against doing better because they prioritize the realism of samples over the accuracy of the density function. [00:40:02] I think I think all of those are potentially valid explanations and it's it's hard to tell. [00:40:08] So can you give a brief history of Gan's from 2014 repaper 13? Yeah. [00:40:17] So a few highlights in the first paper we just showed that gown's basically work. If you look back at the samples we had now they look terrible on the Cifas 10 dataset. You can't even recognize objects in them. Your paper sorry. You see far 10. We use Imust, which is a little handwritten digits. We use the Toronto Face database, which is small grayscale photos of faces. We did have recognizable faces. My colleague Bing Sho put together the first Gann face model for that paper. [00:40:46] We also had the Cifas 10 dataset, which is things like very small, thirty two by thirty two pixels of of cars and cats and dogs of four that we didn't get recognisable objects, but all the deep learning people back then, we're really used to looking at these failed samples and kind of reading them like tea leaves. And people who are used to reading the tea leaves recognize that our tea leaves at least look different, right? Maybe not necessarily better, but there is something unusual about them. [00:41:18] And that got a lot of us excited. One of the next really big steps was Lapkin by Emily Denton and Smith Chantler at Facebook II research, where they actually got really good high resolution photos working with Gance for the first time. They had a complicated system where they generated the image starting at low res and then scaling up to high res. But they were able to get it to work. And then in twenty fifteen, I believe, later that same year, Alec Radford and Smith Chinchilla and Luke Metz published the DC Again paper, which it stands for Deep Convolutional. [00:41:57] Again, it's kind of a non-unique name because these days basically all guns and even some before that were deep in convolutional, but they just kind of picked a name for a really great recipe where they were able to actually using only one model instead of a multistep process, actually generate realistic images of faces and things like that. That was sort of like the beginning of the Cambrian explosion of Gan's like, you know, once once you had animals that had a backbone, you suddenly got lots of different versions of of, you know, like fish and four legged animals and things like that. [00:42:32] So so DC again, became kind of the backbone for many different models that came out used as a baseline even still. [00:42:38] Yeah. Yeah. And so from there I would say some interesting things we've seen are there's a lot you can say about how just the quality of standard image generation Gans's increased. But what's also maybe more interesting on an intellectual level is how the things you can use Gown's for has also changed. One thing is that you can use them to learn classifiers without having to have class labels for every example in your your training set. So that's called Sevi Supervised Learning. [00:43:08] My colleague at Open A.I., Tim Salomon's, who's at Brain now wrote a paper called Improve Techniques for Training Gan's. I'm a co-author on this paper, but I can't claim any credit for this particular part. One thing he showed in the paper is that you can take the Gand discriminator and use it as a classifier that actually tells you, you know, this image is a cat, this image is a dog. This image is a car. This image is a truck. [00:43:33] And so not just to say whether the image is real or fake, but if it is real to say specifically what kind of object it is. [00:43:39] And he found that you can train these classifiers with far fewer labeled examples than traditional classifiers. [00:43:47] So if you supervise based on also not just your discrimination ability, but your ability to classify, you're going to do much. You're going to converge much faster to being effective at being discriminator. [00:44:00] Yeah. So for for example, for the amnesty to say you want to look at an image of a handwritten digit and say whether it's a zero one or two and so on, to get down to less than one percent accuracy required around sixty thousand examples until maybe about twenty, fourteen or so in 2016. With this semi supervised garden project, Tim was able to get below one percent error, using only one hundred labeled examples. So that was about a six hundred X decrease in the amount of labels that he needed. [00:44:35] He's still using more images than that, but he doesn't need to have each of them labeled. As, you know, this one's a one. This one's a two, this one's a zero and so on. [00:44:44] Then to be able to for Gan's to be able to generate recognizable objects. [00:44:48] So object for a particular class, you still need label data because you need to know what it means to be a particular class cat dog. [00:44:59] How do you think we can move away from that? [00:45:01] Yeah, some researchers at Brain Zoric actually just released a really great paper on semi's supervised Gan's where their goal isn't to classify, it's to make recognizable objects. Despite not having a lot of label data, they were working off of Deep Mines Begin project and they showed that they can match the performance of began using only 10 percent, I believe, of the of the labels. A big N was trained on the image net data set, which is about one point two million images, and had all of them labeled. [00:45:34] This latest project from brains are shows that they're able to get away with only having about 10 percent of the of the images labeled. [00:45:42] And they do that essentially using a clustering algorithm where the discriminator learns to assign the objects to groups and then this understanding that objects can be grouped into similar types helps it to form more realistic ideas of what should be appearing in the image, because it knows that every image it creates has to come from one of these archetypal groups rather than just being some arbitrary image. [00:46:10] If you're trying to get in with no class labels, you tend to get things that look sort of like grass or water or brick or dirt, but but without necessarily a lot going on in them. And I think that's partly because if you look at a large image net image, the object doesn't necessarily occupy the whole image. And so you learn to create realistic sets of pixels, but you don't necessarily learn that the object is the star of the show and you want it to be in every image you make. [00:46:39] Yeah, I've heard you talk about the the horse, the zebra cycle, again, mapping and how it turns out. [00:46:47] Again, thought-Provoking, that horses are usually on grass and zebras are usually on drier terrain. So when you're doing that kind of generation, you're going to end up generating greener horses or whatever. [00:47:01] Those are connected together. It's not just to be able to you're not able to segment. Yeah, it's generating the segment away. [00:47:09] So are there other types of games you come across in your mind so that neural networks can play with each other to. To to be able to solve problems, yeah, the the one that I spend most of my time on is in security. You can model most interactions is a game where there's attackers trying to break your system and you're the defender trying to build a resilient system. There's also domain adversarial learning, which is an approach to a domain adaptation that looks really a lot like Gan's. [00:47:45] The authors had the idea before the Green Paper came out that their paper came out a little bit later and they think they're very nice and cited the green paper. [00:47:55] But, you know, I know that they actually had the idea before it came out. Domain adaptation is when you want to train a machine learning model in one one setting called a domain and then deploy it in another domain later. And you would like it to perform well in the new domain, even though the new domain is different from how it was trained. So, for example, you might want to train on a really clean image data set like image net, but then deploy on user's phones where the user is taking pictures in the dark pictures while moving quickly and just pictures that aren't really centered or composed all that well. [00:48:30] When you take a normal machine learning model, it often degrades really badly when you move to the new domain because it looks so different from what the model was trained on. Domain adaptation algorithms try to smooth out that gap, and the domain adversarial approach is based on training a feature extractor where the features have the same statistics, regardless of which domain you extracted them on. So in the domain adversarial game, you have one player that's a feature director and another player that's a domain recognizer. [00:48:59] The domain recognizer wants to look at the output of the feature extractor and guess which of the two domains the features came from. So it's a lot like the real versus fake discriminator. Incans and then the feature extractor you can think of as loosely analogous to the generator in Guinn's, except it's trying to do here is both for the domain recognizer and to not knowing which domain the data came from and also extract features that are good for classification. So at the end of the day, you can in in the cases where it works out, you can actually get features that work about the same in both domains. [00:49:37] Sometimes it has a drawback where in order to make things work the same in both domains, it just gets worse that the first one. But there are a lot of cases where it actually works out well on both. [00:49:48] Do you think of gas being useful in the context of documentation? Yeah. [00:49:53] One thing you could hope for with Guinn's is you could imagine I've got a limited training set and I'd like to make more training data to train something else like a classifier. Right. You could train again on the training set and then create more data and then maybe the classifier would perform better on the test set after training on those bigger again generated data set. So that's the simplest version of of something you might hope would work. I've never heard of that particular approach working, but I think there's some there's some closely related things that that I think could work in the future and some of that actually already have worked. [00:50:31] So if you think a little bit about what we'd be hoping for, if we use the gown to make more training data, we're hoping that the gown will generalize to new examples better than the classifier would have generalized if it was trained on the same dress. And I don't know of any reason to believe that the gown with General is better than the classifier would. But what we might hope for is that the gown could generalise differently from a specific classifier. [00:50:54] So one thing I think is worth trying. I haven't personally tried, but someone could try is what if you trained a whole lot of different generative models on the same training set, create samples from all of them, and then train a classifier on that? Because each of the generative models might generalize in a slightly different way. They might capture many different axes, a variation that one individual model wouldn't. And then the classifier can capture all of those ideas by training and all of their data. [00:51:20] So it'd be a little bit like making an ensemble of classifiers. And I think a of Gan's. Yeah, in a way, I think that could generalize better. The other thing that Ganzer really good for is not necessarily generating new data. That's exactly like what you already have, but by generating new data that has different properties from the data you already had, one thing that you can do is you can create differentially private data. So suppose that you have something like medical records and you don't want to train a classifier on the medical records and then publish the classifier because someone might be able to reverse engineer some of the medical records you trained on. [00:51:57] There's a paper from Casey Greene's lab that shows how you can train again using differential privacy. And then the samples from the Guen still have the same differential privacy guarantees as the parameters of it. Again, so you can make a fake patient data for other researchers to use and they can do almost anything they want with that data because it doesn't come from real people. And the differential privacy mechanism gives you clear guarantees on how much the original people's data has been protected. [00:52:27] That's really interesting, actually. [00:52:28] I haven't heard you talk about that before. [00:52:30] In terms of fairness, I've seen from your talk, how can an adversarial machine learning help models be more fair with respect to sensitive variables? [00:52:42] Yeah, so there's a paper from a Moustaki lab about how to learn machine learning models that are incapable of using specific variables. So to say, for example, you wanted to make predictions that are not affected by gender, it isn't enough to just leave gender out of the input to the model. You can often infer gender from a lot of other characteristics, like say that you have the person's name, but you're not told their gender. Well, if if their name is Ian, they're kind of obviously a man. [00:53:10] So what you'd like to do is make a machine learning model that can still take in a lot of different attributes and make it really accurate, informed prediction, but be confident that it isn't reverse engineering, gender or another sensitive variable internally. You can do that using something very similar to the domain adversarial approach where you have one player that's a feature extractor and another player that's a feature analyzer, and you want to make sure that the feature analyser is not able to guess the value of the sensitive variable that you're trying to keep private. [00:53:43] Right. [00:53:44] That's yeah. I love this approach with the with the with the feature you're not able to infer. [00:53:51] Right. [00:53:52] The sensitive variables really is quite, quite brilliant and simple, actually. [00:53:56] Another way, I think the Gan's in particular could be used for fairness would be to make something like a cycle again, where you can take data from one domain and convert it into another. We've seen cycle again turning horses into Zebra's. We've seen other unsupervised gains made by Bengkulu, doing things like turning day photos into night photos. I think for fairness, you could imagine taking records for people in one group and transforming them into analagous people in another group and testing to see if they're they're treated equitably across those two groups. [00:54:33] There's a lot of things that be hard to get right to make sure that the conversion process itself is fair. And and I don't think it's anywhere near something that we could actually use yet. But if you could design that conversion process very carefully and might give you a way of doing audits where you say, what if we took people from this group, converted them into equivalent people in another group, does the system actually treat them how it ought to? [00:54:57] That's also really interesting, you know, in popular in popular press and in general in our imagination, you think, well, Gan's are able to generate data and you start to think about deep fakes or being able to sort of maliciously generate data that fakes the identity of other people. [00:55:18] Is this something of a concern to you or is this something if you look 10, 20 years into the future, is that something that pops up in your work, in the work of the committee that's working on January models? [00:55:30] I'm a lot less concerned about 20 years from now than the next few years. I think there will be a kind of bumpy cultural transition as people encounter this idea that there can be very realistic videos and audio that aren't real. I think 20 years from now, people will mostly understand that you shouldn't believe something is real just because you saw video of it. People will expect to see that it's been cryptographically signed or have some other mechanism to make them believe that the content is real. [00:56:01] There's already people working on this, like there's a startup called Tropica that provides a lot of mechanisms for authenticating that an image is real there. There maybe not quite up to having a state actor tried to to evade their their verification techniques, but it's knowing that people are already working on it. I think we'll get right eventually. [00:56:21] So you think authentication will Will eventually went out, so being able to authenticate it, this is real and this is not. Yeah. [00:56:30] As opposed to Gan's just getting better and better or generative models being able to get better and better to where the nature of what is real. [00:56:38] I don't think we'll ever be able to look at the pixels of a photo and tell you for sure that it's real or not real. And I think it would actually be a somewhat dangerous to rely on that approach too much if you make a really good fake detector and then someone's able to fool your fake detector and your fake detector says this image is not fake, then it's even more credible than if you've never made a fake detector in the first place. What I do think we'll get to is systems that we can kind of use behind the scenes for to make estimates of what's going on and maybe not like use them in court for a definitive analysis. [00:57:16] I also think we will likely get better authentication systems where, you know, imagine that every phone cryptographically signs everything that comes out of it. You weren't able to conclusively tell that an image was real, but you would be able to tell somebody who knew the appropriate private key for this phone was actually able to sign this image and upload it to this server at this time stamp. Right. So you could imagine maybe you make phones that have the private keys hardware embedded in them. [00:57:52] If, like a state security agency really wants to infiltrate the company, they could probably plant a private key of their choice or break open the chip and learn the private key or something like that. But it would make it a lot harder for an adversary with fewer resources to fake things for most of us. [00:58:09] Yeah, OK, OK, so you mentioned the beer and the bar and the new ideas you were able to implement to come up with this new idea pretty quickly and implement it pretty quickly. Do you think there are still many such groundbreaking ideas and deep learning that could be developed so quickly? [00:58:27] Oh, yeah, I do think that there are a lot of ideas that can be developed really quickly. Guns were probably a little bit of an outlier on the whole, like one hour time scale, but just in terms of like low resource ideas where you do something really different on the algorithm scale and get a big payback, I think it's not as likely that you'll see that in terms of things like core machine learning, technologies like a better classifier or a better reinforcement learning algorithm or a better generative model. [00:58:58] If I had the idea today, it would be a lot harder to prove that it was useful than it was back in twenty fourteen because I would need to get it running on something like Image Net or Salib a high resolution. You know, those take a while to train. You couldn't you couldn't train it in an hour and know that it was something really new and exciting. Back in twenty fourteen trading an amnesty was enough. But there are other areas of machine learning where I think a new idea could actually be developed really quickly with low resources. [00:59:30] What's your intuition about what areas the machine learning are ripe for this? [00:59:34] Yeah, so I think fairness and interpret ability are areas where we just really don't have any idea how anything should be done yet. Like for interprete ability, I don't think we even have the right definitions and even just defining a really useful concept, you don't even need to run any experiments could have a huge impact on the field. We've seen that, for example, in differential privacy, that Cynthia did work and her collaborators made this technical definition of privacy where before a lot of things are really mushy. [01:00:07] And then with that definition, you could actually design randomized algorithms for accessing databases and guarantee that they preserved individual people's privacy in a in like a mathematical quantitative sense. Right now, we all talk a lot about how interpretable different machine learning algorithms are, but it's really just people's opinion and everybody probably has a different idea of what interprete ability means in their head. If we could define some concept related to interpret ability that's actually measurable, that would be a huge leap forward, even without a new algorithm that increases that quantity. [01:00:41] And also, once once we had the definition of differential privacy, it was fast to get the algorithms that guaranteed it. So you could imagine once we have definitions of good concepts and interpret ability, we might be able to provide the algorithms that have the interoperability guarantees quickly to. What do you think? [01:01:02] It takes to build a system with human level intelligence as we quickly venture into the philosophical so artificial general intelligence, when you take I, I think that it definitely takes better environments than we currently have for training agents, that we want them to have a really wide diversity of experiences. I also think it's going to take really a lot of computation. It's hard to imagine exactly how much. So you're optimistic about simulation simulating a variety of environments? [01:01:35] Is the path forward as a necessary ingredient? Yeah, I, I don't think that we're going to get to artificial general intelligence by training on fixed data sets or by thinking really hard about the problem. I think that the the agent really needs to interact and have a variety of experiences within the same lifespan. And today we have many different models that can each do one thing and we tend to train them on one data set or one RL environment. Sometimes they're actually papers about getting one set of parameters to perform well in many different environments. [01:02:14] But we don't really have anything like an agent that goes seamlessly from one type of experience to another and and really integrates all the different things that it does over the course of its life. When we do see multi agent environments, they tend to be so many multi environment agents, they tend to be similar environments. Like all of them are playing like an action based video game where we don't really have an agent that goes from playing a video game to like reading The Wall Street Journal to predicting how effective a molecule will be as a drug or something like that. [01:02:50] What do you think is a good test for intelligence, in your view? It's been a lot of benchmarks. [01:02:55] Start with the with Alan Turing and natural conversation being good, being a good benchmark for intelligence. [01:03:03] What are what would be an Goodfellows sit back and be really damn impressed if a system was able to accomplish something that doesn't take a lot of glew from human engineers. [01:03:17] So imagine that instead of having to go to the CFR website and download Cifas 10 and then write a Python script to pass it and all that, you could just point an agent at the CFR ten problem and it downloads and extract the data and trends and model and starts giving you predictions. I feel like something that doesn't need to have every step of the pipeline assembled for it definitely understands what it's doing. [01:03:47] Is autosomal moving into that direction. [01:03:49] Are you thinking way even bigger autosomal has mostly been moving toward once we've built all the glue can the machine learning system to design the architecture really well. And so I'm sort of saying like. If something knows how to pre-process the data so that it successfully accomplishes the task, then it would be very hard to argue that it doesn't truly understand the task in some fundamental sense. And I don't necessarily know that that's like the philosophical definition of intelligence, but that's something that be really cool to build. [01:04:21] That would be really useful and would impress me and would convince me that we've made a step forward in real A.I. So you give it like the URL for Wikipedia and then the next day expected to be able to solve Cifas 10 or like you type in a paragraph explaining what you want it to do and it figures out Web searches it should run and downloads all the all the necessary ingredients. [01:04:45] So you have a very clear, calm way of speaking. No ums, easy to edit. I've seen comments for both. You and I have been identified as both potentially being robots. [01:05:01] If you have to prove to the world that you are indeed human, how would you do it? [01:05:07] Well, I can understand thinking that I'm a robot. The flip side, the Turing test, I think, yeah, yeah, the prove your human test intellectually, so you have to. [01:05:21] Is there something that's truly unique in your mind? Does it go back to just natural language? [01:05:28] Again, just being able to start proving proving that I'm not a robot with today's technology? Yeah, that's pretty straightforward. Like, my conversation today hasn't veered off into, you know, talking about the stock market or something because of my training data. But I guess more generally, trying to prove that something is real from the content alone is incredibly hard. [01:05:48] That's one of the main things I've gotten out of my research that. You can simulate almost anything, and so you have to really step back to a separate channel to prove that something is real. So, like, I guess I should have had myself stepped on a block chain when I was born or something, but I didn't do that, so I couldn't do my own research methodology. There's just no way to know at this point. So what? Last question. [01:06:11] Problem stands out for you that you're really excited about challenging in the near future. [01:06:17] So I think resistance to adversarial examples, figuring out how to make machine learning secure against an adversary who wants to interfere and control it is one of the most important things researchers today could solve in all domains image, language, driving. [01:06:34] And I guess I'm most concerned about domains we haven't really encountered yet. Like like imagine 20 years from now when we're using advanced A.I.S to do things we haven't even thought of yet. Like if you ask people what are the important problems in security of phones in in like 2002, I don't think we would have anticipated that we're using them for, you know, nearly as many things as we're using them for today. I think it's going to be like that with A.I. that you can kind of try to speculate about where it's going. [01:07:05] But really, the business opportunities that end up taking off would be hard to predict ahead of time. Where you can predict ahead of time is that almost anything you can do with machine learning, you would like to make sure that people can't get it to do what they want rather than what you want, just by showing it a funny QR code or a funny input pattern. And you think that the set of methodology to do that can be bigger than any one domain. [01:07:30] And that's. I think so, yeah. Yeah. Like one methodology that I think is not it not a specific methodology, but like a category of solutions that I'm excited about today is making dynamic models that change every time they make a prediction. So right now we tend to train models and then after they're trained, we freeze them and we just use the same rule to classify everything that comes in from then on. That's really a sitting duck. [01:07:56] From a security point of view, if you always output the same answer for the same input, then people can just run inputs through until they find a mistake that benefits them. And then they use the same mistake over and over and over again. I think having a model that updates its predictions so that it's harder to predict what you're going to get will make it harder for the for an adversary to really take control of the system and make it do what they want it to do. [01:08:23] The models that maintain a bit of a sense of mystery about them because they always keep changing. Yeah. And thanks so much for talking today. It was awesome. Thank you for coming in. It's great to see you.

本集資源與出處