李宏毅 机器学习与深度学习【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 的索引值),进行双线性插值,得到最终输出。


应用举例如下:

相关推荐
哥布林学者4 分钟前
吴恩达深度学习课程五:自然语言处理 第一周:循环神经网络 (六)长短期记忆 LSTM
深度学习·ai
qq_356448379 分钟前
机器学习基本概念与梯度下降
人工智能
水如烟37 分钟前
孤能子视角:关系性学习,“喂饭“的小孩认知
人工智能
徐_长卿40 分钟前
2025保姆级微信AI群聊机器人教程:教你如何本地打造私人和群聊机器人
人工智能·机器人
XyX——42 分钟前
【福利教程】一键解锁 ChatGPT / Gemini / Spotify 教育权益!TG 机器人全自动验证攻略
人工智能·chatgpt·机器人
十二AI编程2 小时前
Anthropic 封杀 OpenCode,OpenAI 闪电接盘:AI 编程生态的 48 小时闪电战
人工智能·chatgpt
CCC:CarCrazeCurator2 小时前
从 APA 到 AVP:汽车自动泊车系统技术演进与产业发展深度研究
人工智能
OpenMiniServer3 小时前
当 AI 成为 Git 里的一个“人”
人工智能·git
bryant_meng3 小时前
【DLNR】《High-frequency Stereo Matching Network》
人工智能·深度学习·计算机视觉·stereo matching·dlnr