- 博客(27)
- 收藏
- 关注
原创 NNDL 实验七 循环神经网络(1)RNN记忆能力实验
循环神经网络(Recurrent Neural Network,RNN)是一类具有短期记忆能力的神经网络.在循环神经网络中,神经元不但可以接受其他神经元的信息,也可以接受自身的信息,形成具有环路的网络结构.和前馈神经网络相比,循环神经网络更加符合生物神经网络的结构。目前,循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上。简单循环网络在参数学习时存在长程依赖问题,很难建模长时间间隔(Long Range)的状态之间的依赖关系。
2022-12-17 11:32:46 606
原创 神经网络与深度学习作业12:第七章课后题
在小批量梯度下降中有:gt(θ)=1K∑(x,y)ϵSt∂L(y,f(x;θ))∂θg_t(θ)= \frac{1}{K}∑_{(x,y)ϵS_t}\frac{∂L(y,f(x;θ))}{∂θ}gt(θ)=K1(x,y)ϵSt∑∂θ∂L(y,f(x;θ))θt=θt−1−αgtθ_t=θ_{t−1}−αg_tθt=θt−1−αgt 其中gt=δKg_t = \frac{δ}{K}gt=Kδ,则有:θt=θt−1−δKαθ_t = θ_{t-1}-\frac{\delta
2022-12-11 15:38:38 419 1
原创 神经网络与深度学习(八)网络优化与正则化(3)不同优化算法比较
该算法的缺点是在经过一定次数的迭代依然没有找到最优点时,由于这时的学习率已经非常小,难以找到最优。在小批量梯度下降法中,由于每次迭代的样本具有一定的随机性,因此每次迭代的梯度估计和整个训练集上的最优梯度并不一致。为了更好地展示不同优化算法的能力对比,我们选择一个二维空间中的凸函数,然后用不同的优化算法来寻找最优解,并可视化梯度下降过程的轨迹。一种有效地缓解梯度估计随机性的方式是通过使用最近一段时间内的平均梯度来代替当前时刻的随机梯度来作为参数更新的方向,从而提高优化速度。每次迭代的梯度可以看作加速度。
2022-12-10 20:31:00 311
原创 神经网络与深度学习 作业11:优化算法比较
运行结果如下:上式表示的函数梯度如下图所示: 由图像能够看出该函数梯度的特征为: 最优化方法的比较SGD、Momentum、Adagrad、Adam。 运行结果如下: 由上图可以看出这四个最优化方法中AdaGrad的收敛效果最好。https://blog.csdn.net/qq_38975453/article/details/128025693?spm=1001.2014.3001.5502
2022-12-04 20:06:19 743
原创 神经网络与深度学习(七)循环神经网络(3)LSTM的记忆能力实验
使用LSTM模型重新进行数字求和实验,验证LSTM模型的长程依赖能力。 长短期记忆网络(Long Short-Term Memory Network,LSTM)是一种可以有效缓解长程依赖问题的循环神经网络.LSTM 的特点是引入了一个新的内部状态(Internal State)c∈RDc∈\mathbb{R}^Dc∈RD 和门控机制(Gating Mechanism).不同时刻的内部状态以近似线性的方式进行传递,从而缓解梯度消失或梯度爆炸问题.同时门控机制进行信息筛选,可以有效地增加记忆能力.例如,输入门
2022-12-03 20:49:23 825
原创 NNDL 作业10:第六章课后题(LSTM | GRU)
LSTM在计算梯度时,不会从头到尾进行梯度传播,只是部分进行负责梯度传播,而好多过于久远的信息占比就很少了,甚至直接“遗忘了”。这样就很有效的避免了梯度爆炸问题,跟人一样,该忘记的事情就忘记吧。GRU中只有两个门,更新门与重置门。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多;重置门控制前一时刻状态有多少信息被写入到当前的候选集。(注,下面图片中的W和书上的W有些不同,代替了书上的W和U)上,重置门越小,前一状态的信息被写入的越少。
2022-11-27 19:27:23 350
原创 NNDL 实验七 循环神经网络(2)梯度爆炸实验
使用custom_print_log实现了在训练过程中打印梯度的功能,custom_print_log需要接收runner的实例,并通过model.named_parameters()获取该模型中的参数名和参数值. 这里我们分别定义W_list, U_list和b_list,用于分别存储训练过程中参数W,U和b的梯度范数。
2022-11-26 21:53:54 506
原创 神经网络与深度学习作业8:RNN - 简单循环网络
简单循环网络 ( Simple Recurrent Network , SRN) 只有一个隐藏层的神经网络。
2022-11-13 19:42:00 177
原创 NNDL 实验六 卷积神经网络(5)使用预训练resnet18实现CIFAR-10分类
CIFAR-10数据集包含了10种不同的类别、共60,000张图像,其中每个类别的图像都是6000张,图像大小均为32×32像素。CIFAR-10数据集的示例如 图5.15 所示。迁移学习,顾名思义,就是要进行迁移。放到人工智能和机器学习的学科里,迁移学习是一种学习的思想和模式。首先机器学习是人工智能的一大类重要方法,也是目前发展最迅速、效果最显著的方法。机器学习解决的是让机器自主地从数据中获取知识,从而应用于新的问题中。迁移学习作为机器学习的一个重要分支,侧重于将已经学习过的知识迁移应用于新的问题中。
2022-11-11 22:11:07 949
原创 NNDL 实验六 卷积神经网络(4)ResNet18实现MNIST
这里为高层API版本的resnet18模型和自定义的resnet18模型赋予相同的权重,并使用相同的输入数据,观察输出结果是否一致。这里为高层API版本的resnet18模型和自定义的resnet18模型赋予相同的权重,并使用相同的输入数据,观察输出结果是否一致。可以看到,高层API版本的resnet18模型和自定义的resnet18模型输出结果是一致的,也就说明两个模型的实现完全一样。从输出结果看,和不使用残差连接的ResNet相比,添加了残差连接后,模型效果有了一定的提升。
2022-11-04 21:21:32 200
原创 NNDL 实验六 卷积神经网络(3)LeNet实现MNIST
我们可以看到,前馈神经网络在开始就有很高的正确率,但在后续的训练过程中,准确率却很难再有显著提升。LeNet-5的网络结构如下图所示。图像分类网络对输入图片的格式、大小有一定的要求,数据输入模型前,需要对数据进行预处理操作,使图片满足网络训练以及预测的需要。下面测试一下上面的LeNet-5模型,构造一个形状为 [1,1,32,32]的输入数据送入网络,观察每一层特征图的形状变化。同样地,我们也可以使用保存好的模型,对测试集中的某一个数据进行模型预测,我选择的是数据集中索引为10的数字1,观察模型效果。
2022-11-01 22:09:19 742
原创 NNDL 作业7:第五章课后题(1×1 卷积核 | CNN BP)
X=rot180(X)⨂W5-3分析卷积神经网络中用1×1的卷积核的作用。1、跨通道的特征整合2、降维/升维3 、加非线性4、跨通道信息交互(channal 的变换)5、减少计算量5-4对于一个输入为100×100×256的特征映射组,使用3×3的卷积核,输出为100×100×256的特征映射组的卷积层,求其时间和空间复杂度。如果引入一个1×1的卷积核,先得到100×100×64的特征映射,再进行3×3的卷积,得到100×100×256的特征映射组,求其时间和空间复杂度。5-7忽略激活函数,分析卷积网络
2022-10-29 20:01:21 1174
原创 NNDL 实验六 卷积神经网络(2)基础算子
而在实际应用中,我们也希望每一个卷积层能够提取多种不同类型的特征,所以一个卷积层通常会组合多个不同的卷积核来提取特征,经过卷积运算后会输出多张特征图,不同的特征图对应不同类型的特征。:卷积演示:下面是一个正在运行的卷积层的示例,因为3D体积很难去可视化,所有的体积(输入体积(蓝色),权重体积(红色),输出体积(绿色))和每个深度层堆叠成行被可视化。三层输入,两个卷积核,步长为2,零填充一层,第一个卷积核偏置为1,第二个卷积核偏置为0,得到两个输出。在前面介绍的二维卷积运算中,卷积的输入数据是二维矩阵。
2022-10-24 20:16:11 123
原创 NNDL 作业6:基于CNN的XO识别
自定义卷积算子、池化算子实现 代码如下: 运行结果如下: 可视化一下卷积后以及relu函数激活后结果: 我们再拿数据对比一下: 特征图: 池化后: 激活后:调用框架自带算子实现,对比自定义算子。 运行结果如下: 我们再可视化对比一下: 代码如下: 运行结果如图: 特征图: 池化后: 激活后: 我们再拿numpy版本和torch版本的做一个对比 代码如下:得到的对比图如下: 特征图: 池化后: 激活后: 各种对比图上面已经给出来了,为方便大家理
2022-10-23 18:34:46 179
原创 NNDL 实验六 卷积神经网络(1)卷积
卷积神经网络(Convolutional Neural Network,CNN)考虑到使用全连接前馈网络来处理图像时,会出现如下问题: 卷积神经网络有三个结构上的特性:局部连接、权重共享和汇聚。这些特性使得卷积神经网络具有一定程度上的平移、缩放和旋转不变性。和前馈神经网络相比,卷积神经网络的参数也更少。因此,通常会使用卷积神经网络来处理图像信息。 卷积是分析数学中的一种重要运算,常用于信号处理或图像处理任务。本节以二维卷积为例来进行实践。 在机器学习和图像处理领域,卷积的主要功能是在一个图像(或特征图
2022-10-21 23:26:31 1226
原创 NNDL 实验五 前馈神经网络(3)鸢尾花分类
鸢尾花数据集也就是iris数据集,是一个非常经典的数据集,各路大神一定并不陌生。这次实验我们就以此为实验来源,对鸢尾花进行分类。为防止有的同学不知道这个数据集,下面给出这个数据集以及可视化深入了解一下。可视化的代码如下:结果如图所示: 继续使用NNDL 实验四 线性分类的鸢尾花分类任务,上面给出了iris数据集的介绍。将Softmax分类器替换为前馈神经网络。 批量梯度下降法: 在梯度下降法中,目标函数是整个训练集上的风险函数,这种方式称为批量梯度下降法(Batch Gradient Des
2022-10-14 23:01:24 960
原创 神经网络与深度学习 作业4:第四章课后题
试设计一个前馈神经网络来解决XOR问题,要求该前馈神经网络具有两个隐藏神经元和一个输出神经元,并使用ReLU作为激活函数。
2022-10-08 21:34:46 603
原创 NNDL 实验五 前馈神经网络(2)自动梯度计算 & 优化问题
(4.1和4.2的内容在上篇NNDL实验博客中,本次实验使用的数据依旧为moon1000数据集)pytorch与paddle对应表虽然我们能够通过模块化的方式比较好地对神经网络进行组装,但是每个模块的梯度计算过程仍然十分繁琐且容易出错。在深度学习框架中,已经封装了自动梯度计算的功能,我们只需要聚焦模型架构,不再需要耗费精力进行计算梯度。pytorch提供了nn.Modulenn.Modulenn.Module类,来方便快速的实现自己的层和模型。模型和层都可以基于nn.Modulenn.Modulenn.
2022-10-07 21:12:42 243
原创 NNDL 实验五 前馈神经网络(1)二分类任务
神经网络与深度学习day05—前馈神经网络从神经元各组成部分的功能来看,信息的处理与传递主要发生在突触附近。当神经元细胞体通过轴突传到突触前膜的脉冲幅度达到一定强度,即超过其阈值电位后,突触前膜将向突触间隙释放神经传递的化学物质。神经网络的基本组成单元为带有非线性激活函数的神经元,其结构如如图所示。神经元是对生物神经元的结构和特性的一种简化建模,接收一组输入信号并产生输出。假设一个神经元接收的输入为x∈RDx∈\R^Dx∈RD,其权重向量为w∈RDw∈\R^Dw∈RD,神经元所获得的输入信号,即净活性
2022-09-30 11:48:53 168
原创 神经网络与深度学习 作业2:第三章课后习题
加入正则化后,在更新参数时每次需要减去2\lambda W,使得参数不会太大,便不会造成溢出之类的错误发生,同时也会抑制过拟合。:在Softmax回归的风险函数(公式(3.39))中,如果加上正则化项会有什么影响?由于Sigmoid函数的横坐标绝对值较大时,函数值趋于平缓,因此大多数情况下。在Logistic回归中可以用sigmoid函数去逼近正确的标签。垂直于此平面,因为w垂直于此平面,因此又有。:在Logistic回归中,是否可以用。(k为常数),因此点x到平面的距离为。:在线性空间中,证明一个点。
2022-09-24 21:32:49 432
原创 NNDL 实验四 线性分类
3.1.1.2 构造带噪音的弯月形状数据集构建一个简单的分类任务,并构建训练集、验证集和测试集。本任务的数据来自带噪音的两个弯月形状函数,每个弯月对一个类别。我们采集1000条样本,每个样本包含2个特征。随机采集1000个样本,并进行可视化。代码如下:3.1.1.3 可视化数据集运行结果如下:3.1.2模型构建3.1.2.1Logistic函数简介Logistic回归是一种常用的处理二分类问题的线性模型。与线性回归一样,Logstic回归也会将输入特征与权重做线性叠加。不同之处在于,L
2022-09-24 21:09:41 1339
原创 NNDL 实验三 线性回归
机器学习方法流程包括数据集构建、模型构建、损失函数定义、优化器、模型训练、模型评价、模型预测等环节。为了更方便地将上述环节规范化,我们将机器学习模型的基本要素封装成一个Runner类。除上述提到的要素外,再加上模型保存、模型加载等功能。__init__函数:实例化Runner类,需要传入模型、损失函数、优化器和评价指标等;train函数:模型训练,指定模型训练需要的训练集和验证集;evaluate函数:通过对训练好的模型进行评价,在验证集或测试集上查看模型训练效果;predict。
2022-09-16 18:40:03 728
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人