再說深度學習是黑匣子,就把這篇文章糊 Ta 臉上
導語:視覺化不只是畫畫那麼簡單,它或許是我們理解神經網路的世界的方法。PS:標題是作者說的,不是我說的,要打,就打他(逃
昨天,Google Brain 推了一篇十分有趣的 paper ——《The building blocks of interpretability》(中譯:畫出黑盒子裡的風景)。本文在此簡單介紹一下這篇有趣的 paper ,以及人們在“開箱”過程中做出的努力,為什麼我們迫切需要把深度學習的黑箱拆開,這個工作有怎樣的應用?
01 鬼畜的視覺化——萬里長征第一步
被論文嚇跑準備左上角的別動!論文無非就是說了:
“我終於知道我訓練出來的神經元它是幹啥的,怎麼幹的”
ヾ(。`Д´。)我擦,乾淨利落!
大家知道機器學習是喂資料,然後吐答案,中間是我們的模型。整個過程就是將我們需要的特徵 (feature) 匯入模型(比如我們用房子面積、房子離市中心的距離等,來得到一個房價)。
然而在影像識別裡,比如說你要識別一隻貓,按照傳統機器學習的思路就是把貓耳朵貓腦袋貓肚子貓毛毛貓的特徵等一堆東西給全部做出來——這特麼不累死你?機器學習的本意並非如此的【機械化運動】,而卷積神經網路正好可以自動抓。於是乎貓耳朵貓腦袋貓啥啥就全部的不用做了——然後丟進模型中訓練走起就好了。然而問題就是,
我用卷積神經網路提出來的特徵究竟是個什麼鬼?
在大名鼎鼎的 CS231n 中,Justin Johnson 將模型得到的權重矩陣的行向量視覺化,得到了一串很鬼畜的圖片。這特麼什麼鬼?在不遠的過去,就有大佬對每個神經元進行視覺化,希望得到究竟是哪些輸入讓這些神經元得到相對較高的響應。(所謂的啟用函式不就是這樣的一個篩選響應的東西嗎?)[2][3]
但是結果第一層是長這樣的(這啥玩意?):
第一層神經網路
第二層是長這樣的(這不是高中的時候觀察的洋蔥上表皮細胞的排列嗎?):
感覺還是不大對勁,我們看第四層好了,哎呀挺好看的——可是為什麼長這樣!!
02 神級的視覺化:.讓你聽懂神級網路做決定的原因
然而論文的工作就很厲害了,它是怎麼做的呢?它們將神經元組合起來,得到一個雖然這個影像猙獰,但是我還是可以勉強看得懂你是個啥玩意的結果。
論文給出了卷積神經網路提取出來的人能看得懂的特徵(與之相對的是上面宛如洋蔥表皮細胞的視覺化),就相當於我們在之前提到的手工提出花瓶是個啥特徵(比如圓圓的,肚子胖胖的等等),哎呀這個你看,我們通過得到的花瓶的幾個特徵裡,最像花瓶的可不是那一個嗎?而那一個特徵,還真的是置信概率最高的。
更有意思的是你會發現其所甄別的特徵對應的位置。哎呀這下不就懂了嗎?
03 兩種解釋
這種可解釋性與丘成桐先生的工作不同[4],幾何大佬丘成桐先生試圖找到一個幾何學觀點下的對 GAN 的解釋,將成果以及凸幾何類比[5]。認為 Discriminator 就是 WGAN 中判別器中計算 Wasserstein 距離,而 Generator 用來計算 Brenier 勢能。認為 Brenier 勢能可以用計算Wasserstein 距離來得到[6]。
而這個東西在低維下是根本不需要一個 GANs 的過程的(即 Generator VS Discriminator 得 Nash 均衡),是有一個解析解的。所以說丘成桐先生不一般,他們的想法是通過最優傳輸理論及其各種降維近似,直接取代神經網路,從而使得黑箱透明。
以上的解釋是你別來了,我用一堆東西來 Duang 的一下做的比你更好了,整個過程——嚴謹數學證明。然而我們不能指望現階段這樣的工作一個個爆發然後瘋狂運用,這是不現實。
丘成桐:獲得了數學界的諾貝爾獎(菲爾茨獎)的丘成桐先生是對近代拓撲學、代數幾何學等做出了巨大的貢獻的人。
04 演算法權力
Google 的論文所提供的是一個權力——解釋權[7]。即解釋演算法輸出的權力,這種權利主要是指個人權利——可以解釋為對個人有重大影響的決定,尤其是法律上或財務上。例如,你說我想上清華,然後清華拒絕了你。你有權力知道為啥被拒了。比如這個時候,清華表示我們不要高考分沒到我們們線上並且你又沒自主招生加分 blahblahblah。
在法律問題裁定上,假如在以前,我們用一個什麼演算法,你說哇它老牛逼了。但是有人不服咋辦?那麼這個時候,這個演算法能夠被認為是可接受作為判定憑證的嗎?俗話說的好,罵人也要名正言順的罵人。
而問題更嚴重的是你能保證你的演算法不偏不倚,是個公正的演算法嗎?演算法就不能有偏見嗎?OpenAI 和 DeepMind 提出一些質疑[8][9],甚至有一些暢銷書作家也提到類似的內容。
例如我們的用來做法律裁定的演算法中可能是輸入一大堆個人資訊,例如有種族、所住的街區等等,輸出是裁定的刑期。假如某些群體他符合某些情況,那麼是不是因為演算法的偏好而可能被判更長的刑期?或者說,你怎麼能保證大量的輸入資料中,法官對其做出的判決是 100% 無偏見的呢?
這個時候 OpenAI 和 DeepMind 就認為,搞不定資料輸入是不是沒問題?ok啊,我如果完全無監督,用強化學習來做呢?那就沒有這個問題了對吧?另一種做法是在我們在所有的人工智慧模型中建立 “不確定性” - 基本上可以讓人類糾正未來的行為,而不是完全理解。然而即使如此,機器學習/深度學習演算法其實還是很難作為一個裁定。
然而現在不一樣了,我們能夠給出一個看的過去的解釋了。
參考來源:
1. The building blocks ofinterpretability. https://distill.pub/2018/building-blocks/
2. Stanford University, CS231n Lecture2 study material. Offered by Justin Johnson.
3. Stanford University, CS231nLecture Slides. (http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture2.pdf)
4. Na Lei, Kehua Su, Li Cui,Shing-Tung Yau, Xianfeng Gu. A Geometric View of Optimal Transportation andGenerative Model.
5. Xianfeng Gu, Feng Luo, Jian Sunand Shing-Tung Yau, Variational Principles for Minkowski Type Problems,Discrete Optimal Transport, and Discrete Monge-Ampere Equations, Vol. 20, No.2, pp. 383-398, Asian Journal of Mathematics (AJM), April 2016.
6. Yann Brenier. Polarfactorization and monotone rearrangement of vector-valued functions. Comm. PureAppl. Math., 44(4):375–417, 1991.
7. Right to explanation, WikiPedia.https://en.wikipedia.org/wiki/Right_to_explanation
8. Jan Leike, Miljan Martic,Victoria Krakovna, Pedro A. Ortega, Tom Everitt, Andrew Lefrancq, LaurentOrseau, Shane Legg. AI Safety Gridworlds
9. Paul Christiano, Jan Leike, TomB. Brown, Miljan Martic, Shane Legg, Dario Amodei. Deep reinforcement learningfrom human preferences
來源:優達學城Udacity
精彩活動
推薦閱讀
2017年資料視覺化的七大趨勢!
全球100款大資料工具彙總(前50款)
Q: 為什麼我們迫切需要把深度學習的黑箱拆開?
歡迎留言與大家分享
請把這篇文章分享給你的朋友
轉載 / 投稿請聯絡:hzzy@hzbook.com
更多精彩文章,請在公眾號後臺點選“歷史文章”檢視
相關文章
- 誰再說學不會 MySQL 資料庫,就把這個給他扔過去!MySql資料庫
- 再有人問你synchronized是什麼,就把這篇文章發給他。synchronized
- 再有人問你volatile是什麼,就把這篇文章發給他
- 再有人問你synchronized是什麼,就把這篇文章發給他synchronized
- 再有人問你Java記憶體模型是什麼,就把這篇文章發給他。Java記憶體模型
- 再有人問你Java記憶體模型是什麼,就把這篇文章發給他Java記憶體模型
- 這些深度學習術語,你瞭解多少?(上)深度學習
- 再有人問你volatile是什麼,就把這篇文章發給他,讓他啞口無言
- 機器學習是深度學習之母機器學習深度學習
- 還有人不懂分散式鎖的實現就把這篇文章丟給他分散式
- 深度學習是什麼深度學習
- 如果你朋友不知道什麼是雲端計算,請把這篇文章轉給TA
- 這才是深度學習的本源深度學習
- 別再說看不懂8D了,這篇文章你一定要看!
- 16×16 影象放大 8 倍還不糊!這個機器學習模型是怎麼辦到的?機器學習模型
- JavaScript學習筆記(七)—— 再說函式JavaScript筆記函式
- Spring註解驅動開發第16講——面試官再問你BeanPostProcessor的執行流程,就把這篇文章甩給他!Spring面試Bean
- 【蜂口 | AI人工智慧】人臉檢測(上)——龍鵬 深度學習與人臉影像應用連載(一)AI人工智慧深度學習
- 面試官問你B樹和B+樹,就把這篇文章丟給他面試
- TA學習記錄Day1
- 什麼是 AI、機器學習與深度學習?AI機器學習深度學習
- 什麼是AI、機器學習與深度學習?AI機器學習深度學習
- 以後有面試官問你跳躍表,你就把這篇文章扔給他面試
- 以後有面試官問你「跳躍表」,你就把這篇文章扔給他面試
- 如何走近深度學習人臉識別?你需要這篇超長綜述 | 附開原始碼深度學習原始碼
- 深度學習day1(第一章:什麼是深度學習?)深度學習
- 【深度學習】深度學習是藍海還是天坑?|麥肯錫AI行業報告深度學習AI行業
- faced:基於深度學習的CPU實時人臉檢測深度學習
- 想知道深度學習如何運作?這是所有工程師的快速指南深度學習工程師
- 腦建模先驅說:深度學習不可信 - IEEE深度學習
- 【漫畫】以後在有面試官問你AVL樹,你就把這篇文章扔給他。面試
- 漫畫版:什麼是深度學習?深度學習
- 別人再問你設計模式,叫他看這篇文章設計模式
- 【漫畫】以後在有面試官問你平衡(AVL)樹,你就把這篇文章扔給他。面試
- 【深度學習】不要被深度學習一葉障目不見泰山;NLP 解決方案是如何被深度學習改寫的?...深度學習
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- 再見Python!Yann LeCun警告:深度學習需要新程式語言PythonYann LeCun深度學習
- 學習SVM,這篇文章就夠了!(附詳細程式碼)