文/樊帆 康兵義
在當今社會中,互聯網已經與我們的日常生活和學習緊密結合在一起,我們當前處于互聯網的社會,而現在,我們又將迎接一個全新的時代——AI 的時代。在人工智能時代里,一切都將發生改變:通信方式,思維形式,甚至倫理道德都將與以往不同。人工智能是一門綜合各種學科各種專業且被用于模擬人類思維并自主學習的一門新興學科。隨著人工智能技術的進一步成熟以及各行各業對于人工智能產業投入規模的日益增長,人工智能與云計算的結合將不斷加速,全球人工智能產業規模在未來10年將進入高速增長期。咨詢公司埃森哲在有關人工智能進化和分析領域報告中明確指出,預計到2035年,在人工智能領域深耕的國家的經濟規模將到達一個難以想象的高度。2018年麥肯錫公司的研究報告預測,到2030年,約70%的公司將采用至少一種形式的人工智能,人工智能新增經濟規模將達到一個新的高度。
在人工智能蓬勃發展的各個領域中,最受人矚目的莫過于深度學習,而在深度學習的不同分類中,卷積神經網絡則占了主導作用。卷積神經網絡的定義是:具有一定深度表達的,包含卷積、池化等一系列計算的神經網絡。卷積神經網絡仿造生物的視知覺(visual perception)機制構建,可以進行監督學習和非監督學習,其隱含層內的卷積核參數共享和層間連接的稀疏性使得卷積神經網絡能夠以較小的計算量對格點化(grid-like topology)特征,例如像素和音頻進行學習、有穩定的效果且對數據沒有額外的特征工程(feature engineering)要求。
對卷積神經網絡的研究始于二十世紀80至90年代,時間延遲網絡和LeNet-5 是最早出現的卷積神經網絡。在二十一世紀后,隨著深度學習理論的提出和數值計算設備的改進,卷積神經網絡不斷更迭自身基礎理論并得到了快速發展,在機器視覺,手寫體識別,自然語言處理NLP 等方向得到了廣泛應用。
神經網絡可視化的理論基礎來自于2014年在ECCV 上的經典論文:《Visualizing and Understanding Convolutional Networks》,作者首先介紹了CNN 在諸多領域取得的成功,并提出取得更好的成功的三種可能:
(1)更大的訓練集;
(2)更加powerful 的GPU;
(3)更好的模型正則化策略( 如Dropout)。
接下來作者提出了上面提到的問題,當前仍然不能知道CNN 模型內部是如何工作的,也不清楚到底學到了什么樣的特征,因此提出可以通過使用反卷積神經網絡對網絡進行可視化。最后通過AlexNet 的模型進行可視化,并根據可視化結果對其進行改進,從而得到了更優的結果。文獻中詳細的論述了CNN 網絡中每一層所學習到的特征,并將其可視化,同時描述了可視化的具體操作。
首先搭建AlexNet 模型進行實施過程前準備,這是實施所必需的步驟,并研究卷積、池化、下采樣、全連接各層的算法實現,并對圖像進行卷積、池化等處理以得到各層的特征圖;將特征圖進行分類并裁剪成固定大小并保存在本地數據庫或云數據庫中以備后用。
接著通過論文中的Deconvoluted 模型對AlexNet 中每一卷積、池化和全接連層生成一個大小相同且具有相反功能的神經網絡層,在進行反卷積過程中,記錄鄰近層在進行卷積操作時輸出的數據位置和大小,并在反卷積層中相同位置填充相同大小的數據以進行反卷積、反池化等算法,隨后對反卷積、反池化算法生成的圖像進行微調以符合實驗要求并還原出原始圖像,此時的圖像與原圖內在差異度已經很小,可用于后續操作的顯示。
最終,顯示所有還原的圖像,并根據原始圖像的類別對還原圖像進行分類并分別顯示于卷積層、池化層、全連接等層。在顯示過程中,可根據使用習慣顯示多個層或單一層,以及在顯示微調過的圖片同時,探究卷積神經網絡中每一個卷積核設置參數的調整對于輸入圖片分類精度的影響,最終實現卷積神經網絡的可視化。
卷積神經網絡長期以來是圖像識別領域的核心算法之一,并在學習大量數據時有穩定的表現。對于大規模圖像分類問題,卷積神經網絡可用于構建階層分類器(hierarchical classifier) 或精細分類識別(fine-grained recognition)來用于提取圖像的判別特征以供其它分類器進行學習;對于后者,特征提取可以人為地將圖像的不同部份分別輸入卷積神經網絡,也可以由卷積神經網絡通過非監督學習自行提取。
卷積神經網絡可視化的研究,不僅是對于卷積神經網絡內部結構的一次探索,更是對未來神經網絡應用方向的一次拓展。可視化的實現,使得人們對于神經網絡內部的結構不再是懵懵懂懂,同時,可視化的實現也使得研究人員對于神經網絡調整參數問題有了有力的證據支撐,在諸如手寫體識別,人臉識別等深度學習領域均有較大的作用。綜上所述,神經網絡可視化的實現,對于深度學習的研究具有較好的輔助作用。