深度教練:讓深度學習模擬人類教學過程,大幅減少訓練數據和時間

深度教練:讓深度學習模擬人類教學過程,大幅減少訓練數據和時間

來自專欄 AI前沿研究16 人贊了文章

本文作者:鄧侃,復星集團AI首席科學家、大數醫達創始人

DeepMind日前公開了他們首款醫療AI落地產品,能診斷50多種眼疾,精度超越人類醫生。為了訓練這個系統,DeepMind 用了近1.5萬個人工標註的數據。儘管這項工作非常了不起,但從更廣闊的視角看,從不會學習的電子計算機,到需要大數據才能「教會」的深度學習,有沒有可能更進一步,實現像人類一樣只需要小數據就能學習的方法?本文作者復星集團AI首席科學家、大數醫達創始人鄧侃博士認為,Deep Coaching 或許是一種可行之道。

DeepMind 是 Google 旗下專註於人工智慧研究的公司,DeepMind 最出名的成就是 AlphaGo 系統,它戰勝了當今世界所有圍棋高手。

2018年8月13日,DeepMind 一組研究員,在 Nature Medicine 上發表了一篇論文,題為 「Clinically applicabledeep learning for diagnosis and referral in retinal disease」,用深度學習演算法,學習視網膜疾病的診斷和轉診,並付諸臨床實踐。

這篇論文的內容,媒體上已經有不少報導,似乎沒有必要進一步讀解。但是我們不妨退後幾步,用更廣闊的視角,審視從電子計算機到智能機器的演進。我們已經實現了哪些成就,目前主要的障礙有哪些,並探討如何解決這些問題。

三位大師成就電子計算機,但只能服從指令不會學習

說到電子計算機,就必須仰望三位大師:圖靈、馮·諾依曼、香農。

電子計算機與傳統機器的本質區別是,計算機把指令與操作分離,機器預先不知道要進行哪些操作,根據實時下達的指令完成操作。而且,計算機還可以把一系列指令,編製成程序,動態地生成指令,讓機器完成更複雜的複合操作。

計算機的原理,由圖靈首創。用電子器件完成計算機的工程實現,由馮·諾依曼首創。而數碼信息的通訊,包括編碼解碼和傳輸通道,由香農首創。

但是,電子計算機只是機械地執行程序賦予的指令,並不會像人類那樣思考,尤其是不會像人類那樣學習

神經網路會「學習」,但需要大數據,與人腦思考方式不符

那什麼是「學習」?

有一種觀點認為,學習 = 函數擬合。如果把函數表達為 y = f(x),又有一大堆訓練數據,也就是一大堆 (x,y) 數組,那麼學習過程,就是從訓練數據中,得出對原函數的近似模擬 y=hat{f}left( x 
ight)

1940年代,科學家們模仿神經元的解剖學構造,發明了一種數據結構——神經元 perceptron。科學家們發現,把多個神經元組合在一起,構成神經網路,神經網路能夠表達幾乎任何函數。換而言之,神經網路是通用的函數,學習的過程,等同於猜測神經網路的參數。海量訓練數據的用途,在於不斷地優化對神經網路參數的猜測,使神經網路能夠更好地模擬目標函數。

「學習」等於猜測神經網路的參數,大數據用於不斷優化對參數的猜測

但是,要表達複雜函數,需要規模龐大的神經網路,神經網路包括上百層神經元,每層包含幾千個神經元。Geoffrey Hinton 教授,給這種超大規模的神經網路取了一個名字——深度神經網路。

深度學習(Deep Learning)也是由此而來。

深度學習是一種通用的方法,能夠應用在很多領域,尤其在圖像識別、語音識別、自然語言處理三大領域的應用,與傳統方法相比較,深度學習取得了突破性的進展。

但是,深度學習經常遭人詬病的弱點有三:

1. 需要大量訓練數據。譬如 DeepMind 昨天發表的論文中提到,他們用 14,884 個經過人工標註的訓練數據(醫學圖像),學習 50 多種視網膜疾病的診斷。人工標註 14,884 張醫學圖像,工作量不小。但對於深度學習來說,經常需要百萬級訓練數據。從百萬數量級,降低到 14,884 張標註圖片,已經是很了不起的進步了。

2. 黑盒子。神經網路的內部參數,沒有明確的物理意義,無法用人類聽得懂的語言,解釋深度學習的結果。

3. 沒有仿生學基礎。人類不需要幾萬張圖片的訓練,就能學習掌握讀片的訣竅。很顯然,人類大腦的學習過程,與深度學習並不相符。

DeepMind的方法:分兩步降低數據量,符合人類醫生診斷習慣

DeepMind 的改進方法,是把讀片分成兩步:第一步從原始圖像中,提取病灶特徵,類似於人類醫生讀片報告中 「檢查所見」 的段落內容;第二步根據檢查所見的病灶特徵,用分類的辦法,診斷出罹患的疾病,類似於人類醫生撰寫的讀片報告中 「檢查結論」 的段落內容。

把讀片分成兩步,好處有三,

1. 把一大步分解為兩小步,每一小步的複雜度降低,導致神經模型的規模降低,導致訓練神經模型所需的訓練數據的數量降低

論文自豪地聲稱,他們只用了 14,884 個經過人工標註的訓練數據,就訓練出了圖像識別系統,其精度媲美人類醫生對視網膜疾病的診斷精度。

不同設備拍攝出的圖像效果不同,因此每一種設備,最好都配有自己專用的深度學習模型(也即N種設備有N個模型)。但是,這些模型的輸出,卻都是標準化的 「檢查所見」 的病灶特徵。從標準化的病灶特徵,到 「檢查結論」 的疾病診斷,只需要一個模型(因此,總共需要 N+1 個模型)。

雖然不同設備的專屬模型,理論上各不相同。但是在生成新設備的專屬模型時,可以在已經生成了的其它設備的專屬模型的基礎上,做進一步調優。調優需要的訓練數據,數量大大降低。

2. 通過分析診斷模型的參數,可以窺探到哪些輸入的病灶特徵,對診斷結果的影響更大。也就是說,可以基於從輸入到輸出的敏感性分析,來解釋深度學習模型的內在邏輯

3. 把讀片的過程,從一個大步,分解為兩個小步(檢查所見與檢查結論),符合人類醫生讀片的習慣

遺留的問題,是如何進一步降低對訓練數據(人工標註過的醫學圖片)的數量要求,尤其是第一步,從不同設備拍攝的照片中,提取病灶特徵。

深度教練:讓深度學習模仿人類教學過程,大幅減少訓練數據

假如我們把深度學習(Deep Learning),改進為深度教練(Deep Coaching),或許可以大幅度降低對訓練數據的數量要求。

深度教練(Deep Coaching)模仿人類老師指導人類學生的過程。

  1. 人類老師指著一張醫學圖片說:「看這裡,這裡是某種病灶。注意,某種病灶的形狀和紋理,具有這些特點。」
  2. 學生指著圖片中另一個區域說:「老師,這裡也是病灶嗎?」
  3. 老師說:「不是的,因為病灶的面積太小。」
  4. 學生又指著圖片中第三個區域說:「老師,這裡應該是病灶了吧?」
  5. 。。。

如何用深度學習模型,模仿人類的教練過程?需要解決以下幾個問題:

1. 如何識別形狀、紋理和大小?

形狀、紋理、大小,是圖像識別中的通用特徵,有大量已經被人工標註過了的圖片,可以用於模型的訓練。問題在於如何窺探深度學習模型中哪一層的哪些神經元,分別代表形狀、紋理和大小。這個問題,有多種解決方案,譬如 dropout 等等。

2. 如何讓深度學習模型,理解 「看這裡,這裡是某種病灶。注意,某種病灶的形狀和紋理,具有這些特點」。

沿用 CNN 的辦法,把整個圖像分割成若干小區域。然後對深度學習模型進行調參,儘可能放大病灶區域,與其它區域的差別,假設其它區域是無病灶區域。如果老師明確說,形狀和紋理是關鍵特徵,那麼對於深度學習模型而言,等同於先驗地放大相關參數的初始設置。

3. 如何讓深度學習模型模仿學生,指著圖片中另一個區域說:「老師,這裡也是病灶嗎?」

用第二步訓練出來的模型,掃描整個圖像,標記出其它疑似病灶區域。

4. 如何讓深度學習模型理解老師的糾正,「不是的,因為病灶的面積太小。」

等同於對深度學習模型進行調參,尤其是與病灶面積相關的參數,使得模型的輸出正確。

。。。

完成深度教練的全部過程,應該最多只需要幾十個回合。所需的訓練數據,也就是標註過的圖片,估計不超過十張。而且每張標註的圖片,不需要把所有病灶都標註出來。

深度學習 vs 深度教練的比較研究,似乎值得探討。

有志者,不妨來合作。

參考文獻

Clinically applicable deep learning for diagnosisand referral in retinal nature.com/articles/s41

(本文由鄧侃投稿,首發於新智元微信公眾號:AI_era,歡迎關注!歡迎投稿!)


推薦閱讀:

詳解人工智慧(AI) 機器學習(ML) 深度學習(DL)
機器學習中的目標函數、損失函數、代價函數
機器學習筆試題精選(二)
【專訪】藍光輝教授:在隨機優化演算法的世界裡徜徉
EM演算法及其應用(一)

TAG:機器學習 | 深度學習DeepLearning | 神經網路 |