层次记忆模型的图像识别算法与神经网络的长短时记忆算法的比较
2018-06-28关云方李佳旭
关云方 李佳旭
摘 要:图像识别技术在我们的日常生活中至关重要。随着社会的发展和科技的进步,图像识别技术也在不断地进步。文章将分别阐述层级实时记忆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.