torch.nn神经网络各层介绍

torch.nn — PyTorch 2.6 文档 - PyTorch 深度学习库https://pytorch.ac.cn/docs/stable/nn.html

深度学习:卷积神经网络中的卷积核-优快云博客文章浏览阅读7.8w次,点赞172次,收藏960次。卷积核就是图像处理时,给定输入图像,输入图像中一个小区域中像素加权平均后成为输出图像中的每个对应像素,其中权值由一个函数定义,这个函数称为卷积核。又称滤波器。同样提取某个特征,经过不同卷积核卷积后效果也不一样(这是个重点,为什么说重点,因为CNN里面卷积核的大小就是有讲究的)。比如说:可以发现同样是锐化,下图5x5的卷积核要比上图3x3的卷积核效果细腻不少。说了这么多,我只想说明,(1)原始图像通过与卷积核的数学运算,可以提取出图像的某些指定特征(features)。(2)不_卷积核 https://blog.youkuaiyun.com/Vermont_/article/details/108690251

Pytorch卷积神经网络各层介绍与实现_pytorch四个卷积层-优快云博客文章浏览阅读687次。本文将讲解,PyTorch卷积神经网络各层实现与介绍,包括:基本骨架–nn.Module的使用、卷积操作、卷积层、池化层、激活函数、全连接层的介绍。😜 对于相关原理,可以跳转👉😜 后续会以CIFAR10数据集作为案例,关于CIFAR10数据集在上篇中有详细的介绍,可以跳转👉。_pytorch四个卷积层 https://blog.youkuaiyun.com/qq_45176548/article/details/134309577

卷积层

作用:提取局部特征

原理:下面这张图很直观!

1x1卷积作用:

1、降维/升维

2、增加非线性

可以在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性(利用后接的非线性激活函数),把网络做的很deep。

3、跨通道信息交互

例子:使用1x1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3x3,64channels的卷积核后面添加一个1x1,28channels的卷积核,就变成了3x3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互。

池化层

池化操作主要用于减小特征图的尺寸,并提取出最重要的特征,它通过在特定区域内进行汇总或聚合来实现这一目标。

非线性激活层

激活函数的作用在于提供网络的非线性建模能力,如果不用激励函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机。

激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

常见的包括:sigmoid、relu和tanh。

全连接层

线性层它也被称为全连接层,通常所说的全连接层是指一个由多个神经元所组成的层,其所有的输出和该层的所有输入都有连接,即每个输入都会影响所有神经元的输出,在Pytorch中nn.Linear()表示线性变换。全连接层可以看作是nn.Linear()表示线性层再加上一个激活函数所构成的结构。

全连接层的应用范围非常广泛,只有全连接层组成的网络是全连接神经网络,可以用于数据的分类或回归任务,卷积神经网络和循环神经网络的末端通常会由多个全连接层组成。

归一化层

Batch Normalization 超详细解读(训练、测试、优点、缺点)(算法面试几乎必考)_batchnorm 训练和测试-优快云博客文章浏览阅读1w次,点赞12次,收藏46次。先占坑,后续再填参考:cs231n学习笔记-激活函数-BN-参数优化BN和Dropout在训练和测试时的差别_batchnorm 训练和测试 https://blog.youkuaiyun.com/weixin_41888257/article/details/107431268BN本质上是解决传播过程中的梯度消失问题

1、批归一化(Batch Normalization)

深度神经网络的训练十分复杂,因为在训练过程中随着前一层网络参数的变化,下一层网络的输入分布也会发生变化。而更低的学习率和更精细的参数初始化又会减慢模型训练速度,特别是会让具有饱和非线性的模型收敛变得十分困难,如使用Sigmoid激活函数时,容易陷入梯度消失之中。

批归一化则是通过标准化输入来解决上述问题,将归一化作为模型架构的一部分,对每次训练中的小批量样本执行归一化,使得我们可以使用更高的学习率且能降低对参数初始化的要求。同时,在某些情况下还能充当正则化使用,可以替代Dropout技术。

Ps:饱和非线性是指激活函数在输入值较大或较小时,其输出趋于恒定,导数接近于零的现象,如Sigmoid和Tanh激活函数。

2、层归一化(Layer Normalization)

批归一化的效果取决于小批量的大小,且在循环神经网络中的应用受到明显的限制。同时,批归一化也不能应用于在线学习任务或小批量必须很小的极大分布式模型。

层归一化则是通过计算单个样本中所有特征值的均值和方差来实现输入数据的归一化,可以直接应用于循环神经网络。与批归一化一样的是在归一化之后也提供了自适应偏差和增益两个可学习参数来增强模型的表达能力。与批归一化不同的是,层归一化在训练和测试的时候执行完全相同的计算。

Ps:循环神经网络中循环神经元的输入总和通常随序列长度的变化而变化,因此对其应该针对不同时间步长进行不同的统计。

参考链接🔗:https://zhuanlan.zhihu.com/p/13333650278

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值