深度学习好像有两个不同的理解框架:
一种是,继承自传统的机器学习的框架,其核心观点就是分布,比如传统的贝叶斯分类器就是基于分布的。机器学习的正是这样一个抽象的分布。自然界中凡是呈现一定规律性或者模式(pattern)的事物,数据,都可以用一种分布来给他建模,分布的框架可以为很多形式的规律和pattern进行建模,这些规律和pattern可以不必一一对应。所以,自然界中凡是呈现出规律,或者分布的数据问题,深度学习都可以胜任。比如说马赛克复原。这种分布的框架,还有另外一个称谓,那就是流型学习,流型学习本质上也是对分布的建模。
另外一种框架,则是基于向量的数据形式得到的欧式空间的框架,也就是特征空间的框架,比如说传统的SVM就是这个思路。这种思路有一个很朴素的假设,那就是相似的样本在特征空间中的分布应该是相近的。脱离现实语义,单纯从数学角度来想,两个vector的相似,确实是和分布相近是一致的。但是考虑到vector的编码与语义之间的复杂映射关系(称为第一次编码),这种单纯的数学的对应关系,已经遭到了破坏了。上述的特征空间分布相近的假设,其实也是这个框架下的一个目标。那么,按照上述的思路,可以认为,深度神经网络所谓的对特征的提取,或者学习到更抽象的特征,本质上是在对第一次编码过程的解码和重编码,目的是使得基于任务的语义与vector的数学关系能够正确对应上。cnn的思路有点相是,先把一个个任务相关的语义特征提取出来,然后再基于这些有意义的语义特征进行编码,这样的编码方式显然更加高效,任务的语义与向量数学关系具有更强的对应关系。
多模态,还面临另外一个问题,那就是即使是同样符合语义的数学编码,但是还是存在欧式空间层面上的不对齐现象,包括坐标的选取的不对齐,维度的不对齐,和其他方面的不对齐。
其实,这两种框架是一回事,但是提供了两个不同的看事物的角度,这是很好的事情。