趙佳英
(浙大寧波理工學院圖書與信息技術中心,浙江 寧波 315199)
近年來,深度學習作為機器學習領域的一個重要研究方向,在圖像分類和視頻分析等領域取得了重大的研究成果。1943 年,MCLLOCH 和PITTS 合作提出了最早的神經網絡雛形MCP 模型技術,對0 或1 的二值化數據輸入進行了簡單的線性加權組合。1949 年Hebb 理論提出后,計算科學家開始考慮通過調整神經元之間的權值來進行機器學習[1]。1951 年,ROBBINS和MONRO 提出了隨機逼近算法計算梯度進行參數優化,大大降低了計算復雜度[2]。
本文通過全連接神經網絡模型和卷積神經網絡模型實現圖像分類技術,分析模型思想和結構,通過仿真實驗訓練研究超參數對圖像分類技術的影響;最后進行總結,為今后用圖像分類技術設置參數提供參考。
20 世紀50 年代,ROSENBLATT 提出單層感知機后,在輸入層與輸出層之間由一到多個隱藏層構成的多層感知機也應運而生。全連接神經網絡模型是一種多層感知機技術,對l-1 層和l 層而言,l-1 層的任意一個節點都和第l 層所有節點有連接,但不與同一層內的其他節點連接。假定l-1 層圖像特征為al-1,l-1 層和l 層之間的權重為w,偏置值為b,n 為節點個數,m 為單個節點的特征維度,k 為類別數,則有:


1989 年,LECUN 等人首次提出了“卷積”一詞,之后卷積神經網絡逐漸得到了發展。卷積神經網絡一般由卷積層、池化層、全連接層交叉堆疊而成,是一種具有局部連接和權重共享等特性的深度前饋神經網絡。
1.2.1 卷積層
卷積需要定義一個二維矩陣的卷積核,再與圖像中同樣大小的子像素點矩陣進行加權和操作。利用圖像像素點存在空間依賴性的特點,卷積計算保留了圖像相鄰像素點之間的強相關性和相隔較遠的像素點之間的弱相關性。在圖像邊緣像素點填充0 解決圖像邊緣像素點的特征提取。
1.2.2 池化層
池化是對圖像指定窗口大小內的像素點進行最值、平均值或其他操作的步驟。池化層可用于壓縮數據和參數的量,在對圖像特征進行降維和去除冗余的同時,可以一定程度加快計算速度和降低過擬合的風險。
1.2.3 全連接層
卷積層和池化層對圖像特征進行了降維,將原始圖像特征映射到隱藏特征空間中。全連接層使用分布式特征表示方式把隱藏空間中的特征映射到具體圖像分類空間。
本文使用的圖像集為fashion-mnist,包含60 000張訓練圖像和10 000 張測試圖像。每張圖像都是1 個28×28 像素的灰度圖像,像素值為0~255 之間的整數。此數據集標簽有10,包含T 恤、褲子、運動鞋、包等。
數據量較大時,將所有數據一次性放入網絡模型容易引起內存爆炸,引入了批處理的概念。在保證學習率與動量不變的情況下,通過技術實驗,觀察全連接神經網絡和卷積神經網絡的批處理大小對圖像分類技術的影響[3],如圖1、圖2 所示。從圖中可以看出,批處理值小時收斂較快;批處理值增大,訓練過程出現了過擬合現象,對圖像分類技術的準確度影響較大。批處理大小對訓練時長的影響如圖3 所示。圖中,批處理與時間復雜度呈現正相關關系,但在批處理大小為256 前后出現了波動。原因可能是當批處理值過大時,批數小,單批節點過多,計算梯度的用時增加;當批處理值小時,批數多,循環次數多,計算用時增加。


圖1 批處理大小對分類結果的影響(全連接神經網絡)

圖2 批處理大小對分類結果的影響(卷積神經網絡)


圖3 批處理大小對訓練時長的影響
研究動量時需考慮歷史的梯度下降方向,類似物理學中的慣性。即使碰到梯度值為0 的鞍點,由于受到歷史梯度的影響,也可能會突破局部最優點。動量對分類結果的影響如圖4 所示。0.5 和0.09 的動量值準確率高于0.9 和0.99 的動量值,且動量值為0.5 時訓練結果較穩定。

圖4 動量對分類結果的影響
學習率決定了梯度下降的速率,學習率越大,損失函數對參數的影響就越大,參數更新得就越快;但學習率過大時,參數更新波動也較大,如圖5 所示,學習率為0.1 時,分類效果發散或陷入了局部最優造成震蕩。

圖5 學習率對分類結果的影響
由以上技術實驗可以得出,超參數設置會對圖像分類技術產生影響。現采用批處理為256、動量值為0.5、學習率為0.001 的全連接模型對fashion-mnist 圖像集進行分類,圖像分類結果如圖6 所示,基本實現了圖像分類,且結果是正確的。

圖6 預測分類結果示意圖
本文采用全連接神經網絡和卷積神經網絡訓練fashion-mnist 圖像集,利用控制變量法,研究批處理大小、動量、學習率等超參數對圖像分類技術的影響。通過技術實驗發現,批處理大小對分類準確度、時間復雜度等方面都有一些影響,但并不是完全的正相關關系,動量使得圖像分類訓練過程更加穩定。當學習率過高時參數更新過快,結果波動較大;當學習率低時,收斂速度過慢。