- 博客(17)
- 收藏
- 关注
原创 NNDL 作业13 优化算法3D可视化
放函数的地方: - x[0] * x[0] / 2 + x[1] * x[1] / 1:(致敬经典)(鞍点) 训练:关于各种超参数(比如初始点和初始学习率)的不同选择和绘图方式(可以关注一下)会使结果会有很大的差异,所以具体的代码细节会在接下来的问题中给出来:比如初始点: x_init = torch.FloatTensor([2, 3])x_init = torch.FloatTensor([-7, 2])- x[0] * x[0] / 2 + x[1] * x[1] /
2024-01-01 12:41:40
946
2
原创 【23-24 秋学期】NNDL 作业12 优化算法2D可视化
Adam算法,将梯度缩放和偏置修正相结合,很稳定。那么用哪种方法好呢?非常遗憾,(目前)并不存在能在所有问题中都表现良好的方法。这4种方法各有各的特点,都有各自擅长解决的问题和不擅长解决的问题。很多研究中至今仍在使用。
2023-12-25 00:25:06
163
2
原创 指数移动平均(为之后调整学习率做铺垫)+有关矩阵求导
有一个问题,可能随着样本的增大,移动平均值会逐渐接近当前值,但是在开始阶段的滑动平均值偏小,与真实值之间具有较大偏差(就是说想参考之前的,他没有之前,比如第一个时刻,他上哪根据之前的数据预测),但是,通过公式可以看出项的权重随着指数系数的增加而减小(因为底数小于1),并趋近于零 ,, 通常取值为接近于1的值,如0.9, 0.98, 0.99, 0.999等。,主要通过之前的数据进行预测,具体公式就是开头写的,这个实际上是个。一下就是,先把上头的看成整体,一个一个的,然后在分着求每一个。
2023-12-19 21:25:38
108
1
原创 NNDL 作业11 LSTM:避免梯度消失分析+numpy代码+nn.LSTMCell+nn.LSTM实现
首先需要明确的是,RNN 中的梯度消失/梯度爆炸和普通的 MLP 或者深层 CNN 中梯度消失/梯度爆炸的含义不一样。MLP/CNN 中不同的层有不同的参数,各是各的梯度;而 RNN 中同样的权重在各个时间步共享,最终的梯度为各个时间步的梯之和。因此,。即便梯度越传越弱,那也只是远距离的梯度消失,由于近距离的梯度不会消失,所有梯度之和便不会消失。RNN 所谓梯度消失的真正含义是,梯度被近距离梯度主导,导致模型难以学到远距离的依赖关系。有多条求导路径,最后将这些求导路径相加得到最终的梯度,只要。
2023-12-17 22:05:46
341
1
原创 NNDL作业10 手动推导BPTT+numpy和Pytorch代码实现梯度计算
首先,先记住!画了以下两个图就能理解了,结合老师给的灵感图(给了我很大灵感~)和链式法则,很容易就能理解式子的来源了。三个式子,道理相同:接下来就是推导时间啦:首先说明一下对应的是里面的第i个,里面的第j个。
2023-12-10 18:03:13
269
原创 NNDL 作业9 总结nn.RNNCell、nn.RNN+SRN以及同步和异步的序列到序列的代码实战
seq_len = 3 # 序列长度input_size = 2 # 输入序列维度hidden_size = 2 # 隐藏层维度output_size = 2 # 输出层维度# RNNCell# 初始化参数 https://zhuanlan.zhihu.com/p/342012463else:# 线性层[[1, 1]],[[2, 2]]])总体来看就是这个nn.RNN实例化:selfinput_size。
2023-12-03 13:10:51
193
1
原创 NNDL作业8 卷积的交换性+复杂度计算+反向传播+多种卷积
首先写给自己,上课的时候没想到他到底怎么展平留有疑问,见下图就知道了怎么展了 ~书上没找到VGG的知识,那就总结到这吧!VGG网络相比AlexNet层数多了不少,但是其结构却简单不少。VGG的输入为224×224×3的图像对图像做均值预处理,每个像素中减去在训练集上计算的RGB均值。网络使用连续的小卷积核(3×3)做连续卷积,卷积的固定步长为1,并在图像的边缘填充1个像素,这样卷积后保持图像的分辨率不变。连续的卷积层会接着一个池化层,降低图像的分辨率。
2023-11-26 12:15:16
201
3
原创 【代码存放处】分别用自定义卷积算子和torch.nn.Conv2d()编程实现卷积运算
【代码】【代码存放处】分别用自定义卷积算子和torch.nn.Conv2d()编程实现卷积运算。
2023-11-14 23:50:06
132
1
原创 NNDL 作业6 卷积神经网络的相关知识点
【注意】:感觉其实咱们学的卷积神经网络,就是不断训练学这些卷积核取什么值,然后提取一定的特征,然后根据学到的参数去分类或回归得到数量和位置等。【卷积核的规则】1.卷积核的大小一般是奇数,这样的话它是按照中间的像素点中心对称的,所以卷积核一般都是3×3,5×5或者7×7。有中心了,也有了半径的称呼,例如5×5大小的核的半径就是2。2.卷积核所有的元素之和一般要等于1,这是为了原始图像的能量(亮度)守恒。其实也有卷积核元素相加不为1的情况。
2023-11-05 17:40:56
247
2
原创 NNDL作业五--前馈神经网络作业题
回答:当W=0,b=0,在输入层之后的所有隐藏层神经元接收到的输入都是一样的,这样每一层的输出都一样,反向传播时,每一个梯度也都一样,当直接令w=0,b=0时,会让。故对每个w进行求导的结果对应梯度同正或同负,所以更新的方向如图2,不是右上方向就是左下方向,如果最优解在右下方向,需要迭代更多次,收敛速度更慢一些。,使权重趋向于较小的值,避免它得到的权重值过大,对训练数据的过度学习。另一版本:零均值化的输入,使得神经元在0附近,sigmoid函数在零点处的导数最大,所有收敛速度最快。的原因在于它对模型中的。
2023-10-29 18:45:32
604
1
原创 NNDL 作业4
由上面的代码和结果可以看出,numpy和pytorch程序结果是是相同的,不同的是pytorch能够调用.backward()自动计算梯度,不用手动计算,只需要在权重那个张量上设置.requires_grad=True,并且每次更新完权重注意清零,因为梯度是累积的。如果不清零梯度,新的梯度会和之前的梯度相加。对于模型(函数)中的每一个可以求导的元素进行求导,L(模型,函数)对w(元素)求导,调用L.backward(),w.grad是L对w的导数。
2023-10-15 18:26:23
152
1
原创 NNDL 作业三
权重衰减可以解决 softmax 回归的参数冗余所带来的数值问题。特别说明,文章参考了邱锡鹏老师的《神经网络与深度学习》,防止参数过大,防止在数值计算上出现溢出问题。由此可以看到,在更新参数时,会减。
2023-10-07 09:26:41
144
2
原创 NNDL 作业1
1、人工智能【定义】John McCarthy提出了人工智能的定义: 人工智能就是要让机器的行为看起来就像是人所表现出的智能行为一样。【自己的理解】人工智能就是让机器实现人的智能,其中包括感知、学习、认知等能力。让机器模拟人的智能,最终能够产生更加智能的行为,从而代替人类做一些任务。2、机器学习【定义】机器学习(Machine Learning,ML)是指从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并利用这些规律对未知数据进行预测的方法。【自己的理解】通过不断地训练机器,让机器
2023-09-20 21:20:15
100
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人