深度學習的下一站:遷移學習
當前,人工智能的主流算法——深度學習模型在語音識別、圖像識別、信息推薦等方面已經(jīng)非常有影響,但是在醫(yī)療、教育等領域的應用還存在困難。這緣于以下三個方面:
第一,在醫(yī)療、教育領域能夠接觸到的數(shù)據(jù)往往都是小數(shù)據(jù),而不是大數(shù)據(jù)。比如,教育、醫(yī)療、基因檢測等的個人數(shù)據(jù),實驗、學生測驗、客服問答等數(shù)據(jù)都只是小數(shù)據(jù)。只有實現(xiàn)了從大數(shù)據(jù)向小數(shù)據(jù)遷移的通用模型,才能幫助更多的領域用上人工智能,讓人工智能更普及。
第二,深度學習模型非常脆弱,離開現(xiàn)有場景或稍加移動,其效果就會打折扣。對機器學習而言,由于訓練數(shù)據(jù)與應用數(shù)據(jù)有所區(qū)別,被訓練出來的模型在應用中就會遭遇這類可靠性問題。
第三,機器學習模型難以實現(xiàn)應用的個性化。例如,在推薦類的信息服務上,機器學習很難適用于個人行為。如果要實現(xiàn)這一點,需要解決如何把云端的通用模型適配到終端小數(shù)據(jù)。
上述深度學習面對的可靠性和應用個性化的問題,是遷移學習比較適合的事情,遷移學習原理上可幫助機器學習從云端向移動端遷移。
深度學習的一個自然發(fā)展方向就是遷移學習。遷移學習能讓深度學習變得更加可靠,還能幫我們理解深度學習的模型。比如,我們能夠知曉哪部分特征容易遷移,這些特征所對應的是某個領域比較高層、抽象的一些結(jié)構(gòu)型概念。把它們和細節(jié)區(qū)分開,就能讓我們對這個領域的知識表達形成一個很深的理解。這樣一來,機器學習就可以像生物的神經(jīng)系統(tǒng)一樣終身學習,不斷地對過去的知識進行總結(jié)、歸納,讓一個系統(tǒng)越學越快,而且在學習過程中還能發(fā)現(xiàn)如何學習。
深度學習的特點是用非線性把原始的特征從低層轉(zhuǎn)化到高層,這個過程很復雜,其優(yōu)點有目共睹,但副產(chǎn)品是特征分層。恰巧,這種層次對于遷移學習是有好處的,比如,能夠?qū)w移學習的效果進行量化。
等深度學習有了一定的發(fā)展后,遷移學習就有可能實現(xiàn)這一點,讓算法不再僅僅運行指定的學習任務,而是能舉一反三,變得比以前更加通用。
而且,在不同的遷移目標下,知識可以從一個領域到另一個領域,在不同層次遷移,并且能遷移多少是可以定量的——這在過去還停留在“能不能遷移”,現(xiàn)在已經(jīng)可以精確地知道哪些可以遷移:是一部分參數(shù),還是一部分特征。
另外,當幾個不同的任務一起學習時,往往會有一些驚人的發(fā)現(xiàn),這就是多任務學習。多任務學習往往會發(fā)現(xiàn)不同的領域所共有的知識,往往很容易抽象出高層的知識,也就很容易用來表達不同領域之間的共性。所以,多任務學習和遷移學習的目標是一致的,都是要實現(xiàn)比較穩(wěn)定的知識表達,殊途而同歸。