5.《机器学习与神经网络》用神经网络进行物体识别

1 图像识别的困难之处

Why object recognition is difficult

  • 图像割裂:很难决定部件与物体的归属关系,物体和物体也存在重叠问题
  • 光照:像素的亮度即会受到物体影响,也会受到光照影响
  • 变形:物体可能有多个形态,比如阿拉伯数字2的多种写法。
  • 分类的主观性:物体常常根据用途分类,同一个用途的物体常常有多种形态,比如各种椅子。
  • 视角:旋转、左右、正反等等
  • 样本误差:医疗数据中年龄一行错输入为体重?

2 保持视角固定

Ways to achieve viewpoint invariance

人类是如此擅长推断不同视角下的物体,以至于难以理解这对机器来说有多难。

让模型视角固定的几种方法

  • 使用不随视角变换的特征(比如线的平行)
  • 标注出物体的方向(费力不讨好啊)
  • CNN中的池化pool(具体详见下一节)

3 卷积神经网络识别手写数字

Convolutional neural networks for hand-written digit recognition

3.1 权重共享

物体特征在图片中的位置是不固定的,所以同一个特征detector可以在不同位置反复使用,换个说法就是在不同位置的同一类detector,权重是共享的。权重共享将大幅度降低模型的训练成本。

  • 确保初始化的时候相同
  • 确保权重更新的时候相同-用共享权重的梯度之和来同时更新共享权重
  • 不同位置的特征detector权重共享,使得模型具备了在不同视角下都能识别到特征的能力

3.2 池化 pooling

对相邻的多个detector的输出取平均或最大值

pooling优点:

  • 减少下一层的输入维度,节省计算成本
  • 腾出空间容纳更多类型的特征detector

如果想达到激活值上的不变性,正确的做法是池化(pooling),简单说就是把。这样的好处是到就少了,省出很多计算力去学习更多特征。

pooling缺点:

  • 多层pool之后,特征的位置信息会丢失
  • 比如识别人脸,你只要有鼻子有眼就行,模型不考虑你鼻子是不是在眼睛上面,而人与人相貌的区别很大程度上就取决于五官的距离

3.3 LeNet

Yann LeCun和他的伙伴发明的一种神经网络,对手写数字识别具有极高的精准度

附件/Pasted image 20210904193921.png

模型特点:

  • 隐藏层很多
  • 有很多权重共享和池化
  • 当时的模型预测精度已经接近人类水平了
  • 最终模型错了大概82个,而正常人一般错20-30个
  • 此类模型最大的优势便是通过设计网络结构、权值约束、激活函数取代了特征detector的人工设计

模型改进:

  • 2010年,Ciresan通过图像变换丰富了训练集样本
  • 并基于GPU采用了更大、更深的网络进行神经网络的训练
  • 最终将模型出错数降低到了35个,这种方法在未来将成为一种新趋势(这句话真是一语中的!)

3.4 McNemar检验

McNema检验是一种列联表的同质性检验

  • 原假设:分类器在测试集上具有相似的错误比例。

不关注模型之间的错误差异,只是关注模型之间错误比例的相对偏差

附件/Pasted image 20210904195554.png

上图左侧,模型2对模型1错的次数显著大于模型2错模型1对的次数,所以模型2比模型1显著地好。而第二个案例则不是。

4 卷积神经网络用于目标检测

Convolutional neural networks for object recognition

4.1 ImageNet

在基于ImageNet的ILSVRC-2012比赛中,主要有两种任务:

  • 分类:一种1000个分类,主要正确类别在预测的Top5里面就行
  • 定位:返回检测框,至少与实际物体框存在50%的重叠

比赛最终排名:

附件/Pasted image 20210904201446.png

优胜方案

  • 方案来自University of Toronto (Alex Krizhevsky)
  • 不考虑pooling,隐藏层数为7,前部分为卷积层,最后2层为全连接层
  • 激活函数为relu,隐藏层通过正则化,增加模型稳健性
  • 通过数据反转等方式进行数据增强,还有dropout
  • 硬件配置为两块Nvidia GTX 580 ,通过GPU进行硬件加速矩阵运算、高带宽,整个训练过程只耗费了一个星期,测试也很快。

4.2 道路识别

另一个CNN的应用是在高分辨率的航拍图上识别道路,这个任务也很难,因为存在车辆、光影、摄像机视角等干扰因素。

CNN也能做得不错: 附件/Pasted image 20210904221641.png

参考

Hinton神经网络公开课5 Object recognition with neural nets

往年同期文章