李宏毅 机器学习与深度学习【2022版】 03

文章目录

一、卷积神经网络CNN

CNN在影像识别中,表现比较好。









每个感受野 receptive field 都有一个神经元去探测鸟嘴,是没有没要的,所以可以共享它们的参数。



如果两个神经元在同一个感受野中,不能共享参数。因为它们的输入相同,参数也相同,将会导致输出也想通。


可以理解为在一个感受野中,每一个神经元提取一个特征。


共享的参数称之为filter。如图中,两个红色神经元共享的参数称之为filter 1。






输入数据与卷积核做内积,得到的加过叫 Feature Map


每一个filter提取一种特征。


上图中,的第二层卷积形状为 3 × 3 × 64 3 \times 3 \times 64 3×3×64,是因为输入值有64个通道。

第二层卷积层的filter大小为 3 × 3 3 \times 3 3×3,它侦测第一层卷积层的范围就是 3 × 3 3 \times 3 3×3,而它实际侦测原图像的范围就是 5 × 5 5 \times 5 5×5,只要叠的层数够深,侦测的范围就会够大。







Pooling不改变通道数,只是减小长宽。它主要是用来减少数据量的。并不是所有卷积层之后,都要接池化层,比如下围棋,所以需要根据情况,进行使用。


CNN没有对放大和旋转图片的不变性,所以我们需要data augmentation

二、使用验证集,模型还过拟合的原因



所以通常希望待选模型数量要少,训练集要大,就不容易过拟合。


三、深度学习的优点

深度学习可以两者兼顾


为什么我们想要网络更深,而不是更胖?

虽然一个隐层的网络可以表现任何函数,而参数量相同的情况下,瘦高的网络比胖短的网络表现更好。


类比剪纸,先折叠再剪,比直接剪,会少剪很多刀。




达到相同的效果,深度学习需要更少的参数,进而需要更少的数据就可以避免过拟合。

如果目标函数,即可以是loss特别低的函数,是复杂有规律的,深的神经网络比胖的表现更好,例如在语音、影像上面的应用。


四、Spatial Transformer Layer

Spatial Transformer Layer作用就是将输入的image旋转变换为cnn认识的数据。当然它也可以transform cnn的feature map。



例如,如下图,连接箭头的起点的weight设置为1,其他都为0,这样就能完成旋转和平移的变换。


以下是该NN找出控制该连接的方法:





这里存在的问题是,在参数为非整数时,得到的 layer l-1 的索引值也是小数。如果简单地取离它最近的索引值,会造成参数的梯度总是为零。因为参数发生略微变化时,输出值: layer l-1 的索引值并不会变化,进而loss不会发生变化,所以梯度总是零,就没法训练优化。


解决方法:可以采用双线性插值法。



Localisation net: 就是输出变换矩阵的六个权重参数的神经网络。
Grid generator: 根据Localisation net计算的变换矩阵,实现像素点坐标的对应关系,即由目标图片的索引,计算得到原图片的索引。
Sampler: 对上一步算出的位置(即layer l-1 的索引值),进行双线性插值,得到最终输出。


应用举例如下:

相关推荐
mit6.8241 小时前
[Agent可视化] 配置系统 | 实现AI模型切换 | 热重载机制 | fsnotify库(go)
开发语言·人工智能·golang
Percent_bigdata2 小时前
百分点科技发布中国首个AI原生GEO产品Generforce,助力品牌决胜AI搜索新时代
人工智能·科技·ai-native
Gloria_niki2 小时前
YOLOv4 学习总结
人工智能·计算机视觉·目标跟踪
FriendshipT2 小时前
目标检测:使用自己的数据集微调DEIMv2进行物体检测
人工智能·pytorch·python·目标检测·计算机视觉
海森大数据2 小时前
三步破局:一致性轨迹强化学习开启扩散语言模型“又快又好”推理新时代
人工智能·语言模型·自然语言处理
Tencent_TCB2 小时前
云开发CloudBase AI+实战:快速搭建AI小程序全流程指南
人工智能·ai·小程序·ai编程·云开发
Sunhen_Qiletian2 小时前
基于OpenCV与Python的身份证号码识别案例详解
人工智能·opencv·计算机视觉
AustinCyy2 小时前
【论文笔记】Introduction to Explainable AI
论文阅读·人工智能
岁月宁静2 小时前
在富文本编辑器中封装实用的 AI 写作助手功能
前端·vue.js·人工智能
末世灯光2 小时前
时间序列入门第一问:它和普通数据有什么不一样?(附 3 类典型案例)
人工智能·python·机器学习·时序数据