题目标题

CNN 最成功的应用是在 CV,那为什么 NLP 和 Speech 的很多问题也可
以用 CNN 解出来?为什么 AlphaGo 里也用了 CNN?这几个不相关的问
题的相似性在哪里?CNN 通过什么手段抓住了这个共性?

难度:初级

计算机视觉
参考解析

以上几个不相关问题的相关性在于,都存在局部与整体的关系,由低层次的特
征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性。如下
图:低层次的直线/曲线等特征,组合成为不同的形状,最后得到汽车的表
CNN 抓住此共性的手段主要有四个:局部连接/权值共享/池化操作/多层次
结构。
局部连接使网络可以提取数据的局部特征;权值共享大大降低了网络的训练难
度,一个 Filter 只提取一个特征,在整个图片(或者语音/文本) 中进行卷
积;池化操作与多层次结构一起,实现了数据的降维,将低层次的局部特征组
合成为较高层次的特征,从而对整个图片进行表示。如下图:上图中,如果每一个点的处理使用相同的 Filter,则为全卷积,如果使用不同
的 Filter,则为 Local-Conv。
为什么很多做人脸的 Paper 会最后加入一个 Local Connected Conv? 以 FaceBook DeepFace 为例:DeepFace 先进行了两次全卷积+一次池化,提取了低层次的边缘/纹理等特
征。
后接了 3 个 Local-Conv 层,这里是用 Local-Conv 的原因是,人脸在不同的
区域存在不同的特征(眼睛/鼻子/嘴的分布位置相对固定),当不存在全局
的局部特征分布时,Local-Conv 更适合特征的提取。