關云方 李佳旭
摘 要:圖像識別技術在我們的日常生活中至關重要。隨著社會的發展和科技的進步,圖像識別技術也在不斷地進步。文章將分別闡述層級實時記憶HTM算法在圖像識別上的實現過程,和長短時記憶LSTM算法在圖像識別上的實現過程。在此基礎之上,通過學習次數、對數據變化的適應程度、網絡破壞下的魯棒性、對歷史緩沖區的處理和容錯性來源這幾個特點,來將HTM算法和LSTM算法進行性能上的比較。
關鍵詞:圖像識別;層級實時記憶;長短時記憶
中圖分類號:TP391 文獻標志碼:A 文章編號:2095-2945(2018)18-0027-02
Abstract: Image recognition technology is very important in our daily life. With the development of society and the progress of science and technology, the technology of image recognition is also making continuous progress. The realization process of hierarchical real-time memory HTM algorithm in image recognition and long-term and short-term memory LSTM algorithm in image recognition are described in this paper. On this basis, the performance of HTM algorithm and LSTM algorithm are compared in terms of learning times, adaptability to data change, robustness under network destruction, processing of historical buffer and fault tolerance source.
Keywords: image recognition; hierarchical real-time memory; long and short-term memory
1 介紹
圖像識別技術是信息時代中的一門重要的技術,是模式識別研究的一個主要領域,涉及手寫字符識別、人臉識別、物體識別等等。其產生目的是為了讓計算機代替人類去處理大量的物理信息。隨著計算機技術的發展,圖像識別技術已取得了較好的識別效果。然而,由于圖像識別問題的多樣性,例如:有些圖像分類少樣例足,有的分類多樣例少,有的清晰單一,有的模糊復雜,并且當前用于圖像識別的方法一般都是針對具體的識別問題,所以很大一部分的識別系統需要大量的工作和算法研究來在性能上獲得特定的識別問題的突破。因此,尋找一種不僅在不同識別問題上都能獲得較好的識別效果,并且還相對比較通用的方法是必要的,在這樣的環境下,類似HTM和LSTM的識別技術應運而生。
2 HTM的識別功能及其算法實現過程
HTM,即層級實時記憶,是一種以捕捉新大腦皮層的結構與算法特性為目標的機器學習技術。HTM雖然同屬于大腦皮層的建模工作,但當我們將層次記憶模型的底層輸入圖像中的一小塊區域作為輸入數據時,更高層神經元則對應更大的圖像區域。這樣使得高層能更有效地結合低層中的多個區域。因此,HTM中的層級性是它比較重要的一個特點,HTM每個層中的每一個區域都是用來識別和預測的,這個特點減少了訓練時間,提高了圖像識別的效率。在圖像識別技術中,除了層級性,學習功能和識別功能也至關重要。HTM的學習功能是在模式的基礎上進行學習的,在經過了學習過程之后,HTM就可以開始對輸入的圖像數據進行識別,即將時間和空間的輸入模式識別成之前學過的模式。之后,HTM通過將接收的圖像輸入與之前學習的空間實時模式進行匹配。僅是這樣的識別是有一定的局限性的,因此HTM區域使用了稀疏離散表征,通過這個特點我們可以對圖像區域的一部分進行識別,來確認是否匹配,而不用按照模式部分的上下左右順序來進行識別。
如圖1,級別1的網絡有64個節點,它們被安排在8*8的坐標格子中。每一個節點都用一個小方塊來表示。級別2節點的輸入是來自做了標記的級別1的4個節點輸出。因此級別2的節點的輸出又通向一個單獨的級別3的節點。輸入是向級別1 的節點提供信息的。輸入的圖片,是一個32像素*32像素大小的,來自訓練影像的一個框架。正如所展示的那樣,這個圖片被分為鄰接的,大小為4像素*4像素的碎片。每一個級別1的節點輸入都和這樣的一個4*4的碎片相對應。級別1的兩個節點分別被標記為(a)和(b)。在輸入圖像中的方塊被標記為(A)和(B),它們表示這些節點各自的接受域。每個級別1的節點看起來僅僅是輸入圖像的一小部分。這些被標記為(C)和(D)的方塊和級別2中被標記為(c)和(d)的節點的接受域相對應。
圖2展示了一段在級別1的節點的長輸入序列。每個輸入模式是一個16個元素的向量并且被表示成4乘4像素數組。模式的短子序列可以在一個長序列中重復。比如,長度為4的水平序列在展示的輸入序列中移動了兩次。
3 神經網絡的LSTM的識別功能及其算法
LSTM,即長短時記憶,本質上屬于遞歸神經網絡,而LSTM在此基礎上,還可以學習長期依賴的信息。LSTM和HTM一樣都擁有記憶功能。遞歸神經網絡的核心是由三個門和一個記憶單元構成的記憶塊,它能夠將當前時刻獲取的圖像信息有選擇地跨時間傳送到下一個時刻使用。LSTM的三個門分別負責輸入,輸出和遺忘。其中遺忘門是負責管理記憶的,遺忘門可以決定LSTM要遺忘過去的多少記憶,要保留過去的多少記憶。只有符合算法認證的信息才會留下,不符的信息則通過遺忘門被遺忘。LSTM算法通過輸入門輸入圖像數據,接著通過遺忘門對過去的記憶進行有效性的判定和處理,并將預測出的圖像進行匹配,最后通過輸出門進行判斷輸出。
4 神經網絡與LSTM算法之間的比較
我們將HTM和LSTM分別從5個方面進行比較。HTM和LSTM在使用數據的時候采用了不同的方式。LSTM通過多次學習優化了數據流中的所有轉換,與訓練數據擬合度較高,但是用的時間較長,且需要保留歷史緩沖區。而HTM只需要一次學習,運用較短的時間也能達到一定的擬合度,且不需要保留歷史緩沖區。這兩種算法在容錯性來源上的不同則表現在HTM的來源是稀疏分布表示,而LSTM的來源則是特殊訓練方法或復制訓練網絡。當面對數據的變化時,HTM的適應速度較快,且在網絡破壞下的魯棒性較好,相比之下,LSTM的適應速度較慢,且在網絡破壞下的魯棒性則是一般。
5 結束語
HTM和LSTM都是適合當今科技環境的,經過改進后的圖像識別算法。首先我們了解了HTM的識別功能及算法實現過程,了解了HTM的層級性以及通過稀疏離散表征實現來與其中的一部分進行識別與匹配。第二,我們又研究了LSTM的識別功能及算法實現過程,了解LSTM算法是如何在遞歸神經網絡的基礎上進行發展。第三,我們通過比較HTM和LSTM的特點,對兩個算法的性能有了更深的理解。相比較之下,HTM對于數據變化的適應速度,魯棒性和實現時間都更勝一籌,擁有更好的性能。盡管如此,我認為不管是HTM還是LSTM在未來的發展中,都可以進一步進行優化。這將是一個值得我們思考與研究的課題。
參考文獻:
[1]Numenta, "Images Example," Numenta Inc, 2007.
[2]J. Hawkins and D. George, "Hierarchical Temporal Memory: Concepts, Theory, and Terminology," Numenta Inc, Mar. 2006.
[3]D. George and B. Jaros, "The HTM Learning Algorithms," Numenta Inc, Mar. 2007.
[4]D. George, "How the Brain Might Work: A Hierarchical and Temporal Model for Learning and Recognition," Numenta Inc, June 2008.
[5]Y. Cui, S. Ahmad and J. Hawkins,"Continuous Online Sequence Learning with an Unsupervised Neural Network Model," Neural Computation,November 2016.
[6]Gers F A,Schmidhuber J and Cummins F,"Learning to forget: continual prediction with LSTM.[J],"Neural Computation,Octoper 2000.