思考了很久,提出了一种自己的深度结构。具体阐述如下:
1、不采用andrew的那种,局部模版的方式。那种方式,需要的模板数过多,算不过来。我这里想采用的方式,是全图模版。就像手写体数字识别一样,模版跟图像的尺寸是完全一样的。这么做的原因,是为了节省空间以及计算量。
2、采用多尺度的思维。第一条里,讲到只是用全图模版,可能一个疑问马上就来了:对于尺寸较大的物体怎么办?我的解决办法是,对图像进行缩放。将所有的图像,不管是局部,还是全部,都缩放到同样的尺寸,利用全图模版进行处理。这里需要另一个关键性的技术了,就是视觉注意。比较关键的一点就是,观察图像的局部时,如何确定图像尺寸?然后,在对局部进行识别后,如何将识别结果应用到全图中?如何对多个局部的结果进行信息融合?
3、训练过程。由于以前的模型,适合进行训练,而如果在局部信息整合模块中,不能设计出一个适合训练的模型,就无法进行训练了。因此这个模块还要好好思考,先空在这里。
4、模版的训练。关于模版的训练,我自己还是比较倾向于autoencoder那种方式,倾向于稀疏编码,感觉这种方式更接近人脑。而RBM我就不喜欢。
5、深度结构。网络的层数,将来需要尝试。
6、是否采用pooling和LCN?可以尝试一下,试试用这两种机制,和不用这两种机制,各有什么特点。
7、分布式训练。分布式训练肯定是无法避免的,因为单台计算机实在太慢了。所以所设计的训练方法,必须能够适应分布式模式。想andrew的项目组设计的asgd这种方式,在应用梯度下降方法,就属于歪打正着。所以我要设计一种能够适合分布式训练模式的训练过程。
8、素材的选择。由于考虑了局部识别,因此如何选择样本,如何突出局部特性,就是一个需要好好思考的问题了。在进行训练样本的挑选的时候,就需要将视觉注意机制用上,利用视觉注意机制选择样本的位置和尺寸,这样可以保证训练样本中,每一幅图像只有一个目标的存在。
9、局部最优难题的解决。梯度下降方法,是无法解决局部最优难题的。虽然andrew等人歪打正着了,但还是要仔细深入研究的。像智能演化算法,就是解决局部最优问题的最好工具,但是没有尝试过这么高维度的难题。将智能演化算法用于深度学习,是个值得尝试的课题。
说明:深度结构仅能进行单目标的识别。对于一个图像中存在多个目标,如何将每个目标识别出来,然后进行组合,深度结构并不能解决。此时,需要参考人脑的机理,创立一套新的理论才行。此外,在进行单目标识别时,比如人脸,如何利用局部信息,比如人眼、鼻子、嘴巴等,andrew的深度结构中并没有讲清楚,这也是值得深思的地方。
局部信息的应用方面,跟自然语言理解就有点相似了。自然语言理解中,每一个句子中包含的词汇,都是能识别的,但它们组合在一起,机器就理解不了了。图像识别中,局部目标跟词汇是等价的,只不过它们的组合方式,不再是一维的了,变成了二维,这就比自然语言更难了。但朝着这个方向走下去,应该是比较合理的办法。
更进一步,可以将系统的总体框架确定为图像语言理解(自己发明的概念,比自然语言理解还要高一个级别),目标识别只是其中的子系统,每一幅图像,都先进行局部识别,然后根据这些局部识别结果,综合成最终的对图像的总体理解。
补充说明:突然意识到图像语言理解,与深度学习的无监督训练过程,是有些交集的。比如我要理解“交谈”这种行为,那肯定是有两个人站在一起,那么使用深度学习来学习这种行为,它是否对于有两个人站在某一处这种特殊的情形进行聚类呢,从而形成某种祖母细胞?这样就是说,更高层的理解,也有可能用深度结构来训练。当然,这种情形出现的概率,也就是能够用于聚类的样本数目将很少。
整个系统出现了一个有意思的现象,越是在系统的底层,用于聚类的样本越多,越往高层,样本越少。