11.29 晚上
一、先是看到了一位博主整理的深度学习网站,放在这里方便自己回头找。
动手学深度学习+Pytorch 网页版学习网址
https://tangshusen.me/Dive-into-DL-PyTorch/#/
配套讲解视频找B站UP:跟李沐学AI
https://space.bilibili.com/1567748478/
(这篇博客记录仅仅为了防止自己某天突然找不到第一个网站了…)
————————————————
版权声明:本文为CSDN博主「chenqah」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44917183/article/details/119997536
二、 继续读《CNN笔记——通俗理解卷积神经网络》
CNN笔记:通俗理解卷积神经网络_结构之法 算法之道-CSDN博客_卷积神经网络
个人理解
1.卷积层
(1)输入的像素点决定其赋予给下一个神经元的权重,而权重将影响最终的输出结果。
(2)未知图案局部与标准图案局部一个一个比对的过程,就是卷积过程,卷积结果是1,则匹配。
(3)滤波器filter是一组带着固定权重的神经元
深度depth:神经元个数或滤波器个数;
步长stride:决定滑动多少步可以到边缘;
填充值zeropadding:在外围边缘补充若干零,也就是使总长能整除步长。
(4)权重不变即CNN中的参数(权重)共享机制
2.激励层
“sigmoid函数容易饱和、造成终止梯度传递,且没有0中心化,使用ReLu函数”
中的梯度传递是什么呢?
(1)梯度
1)概念
BP:是深度学习的基础架构,其中误差的反向传播会计算各层的梯度。通过往梯度下降的方向调整参数,逐步减小损失函数的值,从而得到训练好的模型。
a.数学中的梯度
连续可微的多元函数 f(x1,x2,...,xn) ,用矢量表示其在点 (x1,x2,...,xn) 的梯度为 表示f在该点沿着梯度方向函数数值增长最快,梯度的模表示增长程度。
b.在多层神经网络计算每一层的梯度时,实际用到的工具正是求导链式法则,而链式法则同样时线性的。当层次较深时,利用链式法则层层展开,前面的梯度计算公式中会包含后面层梯度的连乘。如果中间某些梯度值很大,连乘会导致梯度爆炸;如果中间某些梯度值很小,连乘会导致梯度消失。出现这两种情况,训练都会失败,因此深度学习发展初期,网络都不太深。
为了使用更深的网络学习更复杂的特征,就要解决梯度爆炸、梯度消失问题。比如使用rule替代tanh,sigmoid,其梯度值为0或1;使用残差网络(ResNet)
残差网络(ResNet): 深度学习笔记(七)--ResNet(残差网络)_小熊猫的博客-CSDN博客_残差网络
普通网络变成残差网络:加上所有跳跃连接,每两层增加一个捷径,构成一个残差块。例子中,5个残差块连接在一起构成一个残差网络。如图
接上梯度,后面的梯度下降优化算法没看懂。
2)下面我想通过一个具体的例子来弄懂 BP
Back Propagation(梯度反向传播)实例讲解 - 知乎
A、BP的目的
a.为什么求梯度?
b.求关于谁的梯度?
求梯度的原因是我们需要它来估算真实的w,求的是误差项关于w的梯度。
B、链式法则——BP的基础
根据参数迭代公式一步一步计算。
梯度传递就算了解完了。
3.池化pool层
取区域平均或最大。
为什么要进行池化,池化有什么作用?
在通过卷积获得了特征之后,下一步就要用这些特征去分类。每个特征都去分类数据量就过大,还会产生过拟合(为了得到一致假设而使假设变得过度严格)。
由于决定使用卷积后的特征是因为图像具有一种“静态性”的属性,这意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计。例如,人们可以计算图像一个区域上的某个特定特征的平均值(或最大值)。这些概要统计特征不仅具有低得多的维度,同时还会改善结果(不容易过拟合)。这种聚合的操作就叫做池化(pooling),有时也称为平均池化或者最大池化。
CNN就先学到这里啦。