伴隨著人工智能技術的飛速發展,語音識別、機器翻譯等各項科技名詞已不是傳統意義上被企業家束之高閣的前景應用,更不是研究人員諱莫如深的復雜概念,它們已經伴隨著大數據時代的來臨走入了尋常人的身邊。如今的生活中我們無處不在享受著人工智能技術帶給我們的便利,從前在科幻電影《星際迷航》中使用的通用翻譯器,已然成為了現在人們出行途中能夠使用的小型翻譯機。而撥開這些實際應用的面紗,它們背后所使用的技術往往是這些年來備受關注的神經網絡模型。
通俗來講,它是一種對外部輸入信息進行學習的數學模型或計算模型。它能夠通過對自身內部結構的調整來擬合輸入數據,憑借著算法廣泛的通用性,其在語音、圖像、自然語言處理等眾多領域得到了廣泛的應用。
電影《星際迷航》里科克船長和老骨頭所使用的實時翻譯設備
而對于目前的基于神經網絡技術的各項任務而言,主要的過程依舊是由研究人員手動地探索新的網絡結構,比如我們常見的循環神經網絡(Recurrent neural network; RNN)、卷積神經網絡(Convolutional Neural Network; CNN)等。但這樣做實際上是一個非常系統工程的方式,我們把研究人員束縛在崗位上不斷地去“設計”所謂的更好的結構,而模型的好與壞則往往取決于人對任務的理解以及模型設計上的想象力,整個過程需要研究人員對相關領域有著充分的認知,間接提高了從業人員的入門門檻,與此同時通過人工不斷地對模型結構進行改良也非常耗費時間。
隨著近年來計算機設備的算力以及存儲能力逐年遞增,人們逐漸開始去思考是否我們可以讓計算機像學網絡參數一樣學習神經網絡模型的結構?希望能通過這種方式將研究人員從模型結構設計者的位置上“解救”出來,于是就有了這樣一個機器學習領域的研究分支——網絡結構搜索(Neural Architecture Search; NAS)。
實際上目前神經網絡結構搜索技術已經在各個領域中嶄露頭角,如谷歌團隊在Searching for Activation Functions【1】論文中通過對激活函數空間進行搜索發現了Swish函數,相對諸如Relu等傳統人工設計的激活函數具有更快的收斂速度。而微軟團隊在WMT19機器翻譯評測任務中同樣也采用了其團隊提出的NAO【2】方法來自動地對神經網絡結構進行優化,在英語-芬蘭語以及芬蘭語-英語的任務上均取得了不俗的成績。
可以看到網絡結構搜索技術的使用已經為各項任務中模型結構的設計起到非常好的助力,那么其背后究竟使用了怎樣的技術?如何能夠讓神經網絡自動地對自身結構進行改良?雖然目前網絡結構的搜索技術依舊方興未艾,但已然存在很多來自工業界以及學術界的團隊在不斷努力探索更好的方法。
可以預計在不遠的將來,隨著科研人員的努力以及計算資源的進一步提升,網絡結構搜索的技術將大幅降低模型結構的更迭所需要的時間周期,同時能夠讓研究人員有更多地精力去探索有趣的應用或討論神經網絡背后的可解釋性。當然在這個過程中,我們需要審視這門技術的發展歷史,同時對未來的發展趨勢進行展望。
微軟團隊在WMT19機器翻譯評測任務中英語-芬蘭語任務的提交信息
從“人工”到“自動”的突圍
人類對于自動化的追求從未停止,這一點從三次工業革命的目標即可看到端倪,它們無一不在為了將人們從繁復的工作中解放出來不懈努力。而對于機器學習任務而言,人們也依舊在不斷地探索,希望能夠讓機器在無需人類過多干預的情況下,真正地替代人去完成更多的工作,而在這個過程中研究人員始終在不斷嘗試,努力做好這次從“人工”到“自動”的突圍。
機器學習方法的演化與變遷
傳統機器學習
如果我們將機器學習所處理的任務建模為一種從輸入到輸出的映射學習,那么在初代的機器學習算法中,我們不僅需要設計一種適用于當前任務的方法(如廣泛使用的決策樹、支持向量機等),同時還要為其提供人工設計的特征集合,在完成這些工作之后,才能使用數據對模型中的參數進行調優。
以情感分析為例,我們可以向模型中輸入詞性、詞頻及其情感屬性等信息,然后通過支持向量機的模型來對情感分析任務進行建模,其中詞性、詞頻以及情感屬性即為我們從句子中提取出的人工設計的模型特征,支持向量機則是我們選擇來解決當前問題的機器學習算法。
我們可以看到,不管是輸入的特征還是模型自身,均為研究人員歸納總結而得,這個過程就很容易造成對有效特征的忽視以及模型設計上的不合理,因此基于這種傳統機器學習算法的情感分析任務在IMDB Movie Reviews【3】集合上的準確率一般很難超過92%(如斯坦福大學的工作Baselines and Bigrams: Simple, Good Sentiment and Topic Classification【4】,通過使用樸素貝葉斯的方法在IMDB Movie Reviews數據集上也僅達到了91.22%的準確率)??梢钥吹皆跈C器學習技術的初期,整個系統尚且處于對“人工”高度依賴的時代。
隨著深度學習技術的廣泛普及,人們開始嘗試將提取特征的過程交由模型來自動完成,通過數據驅動的方式減少傳統方法中特征遺漏的問題。比如說對于圖像處理任務而言,我們無需根據人工經驗對圖像中的局部特征進行設計,只需要直接將畫面完整地送入模型中進行訓練即可。
下圖中為人臉識別任務中不同層的神經網絡對圖像信息的抽取,我們可以看到在學習過程中底層網絡主要是對圖像中局部紋理進行捕捉,而隨著層數的遞增,模型開始根據下層中收集到的紋理信息對人臉中的局部結構(如眼睛、耳朵等)進行建模,而頂層將綜合上述局部特征對人臉在圖像中的位置進行確定,最終達成人臉識別的目的。
人臉識別任務中不同層對圖像信息的提取差異
此外,對于前文提到的情感分析任務而言,同樣是可以使用深度學習的方式對語言進行建模。相對基于傳統機器學習算法的模型而言,深度學習的方式直接接收文本的輸入,將詞匯以高維向量的方式建模為詞嵌入(word embedding)。這種方法利用高維空間對詞匯中語義信息進行捕獲,從而為下一步的情感分析提供了非常充足的信息。
基于深度學習的情感分析模型在IMDB Movie Reviews數據集上遠遠超越了傳統的機器學習方法,在卡內基梅隆大學與谷歌團隊在NIPS 2019上合作發表的論文XLNet: Generalized Autoregressive Pretraining for Language Understanding【5】中,準確率達到了96.8%。
從上述例子中可以看到,深度學習技術在如今的機器學習領域已然達成諸多優異成績,其中非常重要的一個貢獻在于通過使用自動提取的方式對初始輸入信息中的有效資訊進行捕獲,大幅度降低了手動設計特征所帶來的信息折損,為下游任務提供了更堅實的基礎。
深度學習&網絡結構搜索
深度學習技術的到來使得原本由人工進行的特征提取過程交由機器自動完成,允許模型根據自身需求從原始數據中進行特征的捕獲,通過這種數據驅動的方式有效降低了人工抽取所帶來的信息丟失風險。但當我們回顧整個深度學習系統,實際上其依舊并非我們期望的完全自動化的過程,在模型結構的設計上仍然非常依賴行業專家面向任務對模型結構進行設計。
以機器翻譯任務為例,研究人員在模型結構上的探索腳步從未停止,從最初基于RNN【6】對文本序列進行表示發展到之后注意力機制【7】的引入,乃至更近一段時間的基于CNN【8】的翻譯系統以及目前備受關注的Transformer【9】系統,科研人員始終在不斷地針對任務進行模型結構的設計與改良。但有了深度學習初期的發展,研究人員也期望著有朝一日能夠讓模型結構設計的過程同樣不再過分依賴人工設計,能夠采用同特征選擇類似的方式自動進行學習,因此在深度學習方法的基礎上,人們開始嘗試網絡結構搜索的方式來自動得到模型結構。
實際上網絡結構搜索的任務并非起源于近些年,早在上世紀80年代,斯坦福大學的Miller, Geoffrey F.等人在Designing Neural Networks using Genetic Algorithms【10】論文中就提出使用進化算法對神經網絡結構進行學習的方式,在此之后也有很多研究人員沿著該思路進行了相關的探索(如Representation and evolution of neural networks【11】一文對進化算法的編碼格式進行改良,J. R. Koza等人在Genetic generation of both the weights and architecture for a neural network【12】中提出要同時對網絡中的結構和參數進行學習等)。
但受限于當時計算資源,針對神經網絡的結構搜索的應用場景較少,因此這方面的工作并沒有受到很多研究者的關注。而隨著近些年來神經網絡以及深度學習的技術的廣泛應用,對于網絡結構自學習的需求也越來越大,與此同時發展迅猛的半導體技術也使得設備的算力、存儲能力大大提升,為網絡結構搜索任務提供了必要的支持。
縱觀整個機器學習算法的發展過程,網絡結構搜索任務的出現可以看作是歷史的必然。無論是數據資源的累積還是計算能力的提升,無一不在催生著數據驅動下的網絡結構設計。雖然目前的網絡結構搜索技術尚且處于比較初級的階段,其高資源消耗、模型結構不穩定等問題始終困擾著研究人員,但是其發展勢頭迅猛,在圖像、自然語言處理等領域均開始嶄露頭角。
可以預見的是,深度學習&網絡結構搜索的組合將是把研究人員從模型工程的泥淖中救起的稻草,我們也相信網絡結構搜索技術會終將為機器學習完成這場從“人工”到“自動”的終局突圍。
-
神經網絡
+關注
關注
42文章
4811瀏覽量
103066 -
機器翻譯
+關注
關注
0文章
140瀏覽量
15150 -
自然語言處理
+關注
關注
1文章
628瀏覽量
14061
發布評論請先 登錄
評論