- 博客(18)
- 收藏
- 关注
原创 实验十二 卷积神经网络(3)
在实验过程中,最大的挑战是数据维度不匹配的问题。首先是数据预处理阶段,我采用了直接读取MNIST原始数据文件的方式,通过自定义Dataset类实现了数据的加载和处理,包括使用struct模块读取二进制文件,将图像数据重塑为合适的维度格式,并应用了标准化等预处理操作/其次是模型构建阶段,我实现了基于BasicBlock的ResNet架构,通过残差连接有效解决了深度网络的梯度消失问题,针对MNIST数据集的特点,将输入通道数调整为1,并使用了较为轻量级的网络配置[2,2,2,2];这个问题困扰了我很长时间。
2024-11-26 09:02:40
380
原创 实验十,卷积神经网络(1)
5、学习torch.nn.Conv2d()、torch.nn.MaxPool2d();torch.nn.avg_pool2d(),简要介绍使用方法。分别用自定义卷积算子和torch.nn.Conv2d()编程实现下面的卷积运算。2、自定义带步长和零填充的二维卷积算子。4、自定义卷积层算子和汇聚层算子。3、实现图像边缘检测。
2024-11-12 15:36:31
245
原创 实验九:前馈神经网络(5)
在实验四中,基于Softmax回归的分类任务相对直接,Softmax模型由于其线性特性,可以快速拟合简单的分类问题。然而,Softmax回归的表达能力有限。在鸢尾花数据集上,虽然Softmax回归能完成基本分类任务,但在实验四的测试结果中,模型的准确率约为74%,表现略显不足。网络的权重通过Xavier初始化,以确保每层的输入和输出分布一致,从而提高模型的训练效果。本次实验对鸢尾花数据集进行了分类任务,与实验四基于Softmax回归的分类方法相比,实验九使用了前馈神经网络,进一步提升了分类效果.
2024-11-05 15:11:19
416
原创 实验8:前馈神经网络(4)自动梯度
在本实验中,使用Sigmoid等激活函数时,梯度在反向传播中迅速衰减,尤其是在多层网络中,层层传递后的梯度几乎趋近于零,导致网络无法学习到有效的参数。然而,ReLU的引入并非万能,它的使用也带来了新的问题,即“死亡ReLU”现象,这在实验后续部分有了进一步的解决。然而,在实验中我也体会到了ReLU的一个缺陷,即“死亡ReLU”问题:当参数更新不当时,某些神经元可能会进入恒为零的状态,导致这些神经元在后续的训练中失效,无法再被激活。通过计算模型在测试集上的准确率,判断其在未见数据上的表现,评估其泛化能力。
2024-11-05 13:30:17
1464
原创 理论课作业6
在本次作业中,我深入研究了卷积操作及其在图像处理中的应用,尤其是如何通过不同的卷积核提取图像特征。卷积是一种数学运算,通过将小的卷积核在图像上滑动,卷积核本质上是一个权重矩阵,通过与图像的局部区域进行点乘和求和,我们能够提取出该区域的特征。这一过程可以理解为对图像进行“扫描”,每次扫描都将卷积核应用于图像的一个小部分,从而生成一个新的图像,称为特征图。比如,Sobel算子和Laplacian算子可以用来进行边缘检测,而不同的卷积核设计可以实现图像的锐化与模糊处理。
2024-10-29 19:34:50
167
原创 实验五 前馈神经网络(1)
这两类共四个激活函数直接根据数学公式编写代码即可,然后使用linspace函数创建一段数据序列,传入激活函数得到输出结果,根据输入数据和输出数据实现激活函数的可视化,最后将转换成张量的输入数据传入pytorch自带的激活函数中,得到计算结果,唯一需要注意的是Leaky ReLU函数,我在torch.nn.functional中找到的此函数输出数据为一段序列,可以进行输出,但是torch.nn.LeakyReLU返回的是一个对象,不能直接进行输出。(2)torch.nn.Linear()函数的作用。
2024-10-15 13:50:37
667
原创 作业4 - BP算法
激活函数# 初始化输入、目标值、学习率和训练次数learning_rate = 0.1 # 修改步长epochs = 1000 # 修改训练次数# 初始化权重# 训练网络# 前向传播# 计算损失# 反向传播# 更新权重# 输入和目标return x# 损失函数与优化器learning_rate = 0.1 # 修改步长epochs = 1000 # 训练次数# 训练网络# 前向传播# 反向传播和权重更新。
2024-10-09 11:04:34
366
原创 实验四、线性分类
将1000条样本数据拆分成训练集、验证集和测试集,其中训练集640条、验证集160条、测试集200条。此数据集可以使用三角函数构建,也可以使用moon_make函数构建,但是使用三角函数构建的话,数据集分布无法做到和上图相似(应该也是我太菜了,做不出来),所以我使用的是后者,可以做到几乎完全一样的效果。总的来说,这次实验就是之前机器学习实验的再版,只有在数据集构建有比较大的区别,其他的基本一致,模型选用都很常规。这个就是特征数和实验二不同,数据集不需要构建了,也没有缺失值,其他一致,不再多说。
2024-10-08 16:24:16
682
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅