2024年夏季《深度学习》学习报告_Week_1

2024年夏季《深度学习》学习报告

姓名和学号XXX,XXX
本实验属于哪门课程XXX大学24夏《深度学习》
学习内容深度学习基础
博客地址XXXXXXX

一、学习目标

【第⼀部分:代码练习】

在⾕歌 Colab 上完成 pytorch 代码练习中的 2.1 pytorch基础练习、2.2螺旋数据分类,关键步骤截图,并附一些自己的想法和解读。

【第⼆部分:问题总结】

思考下面的问题:

1、AlexNet有哪些特点?为什么可以比LeNet取得更好的性能?

2、激活函数有哪些作⽤?

3、梯度消失现象是什么?

4、神经网络是更宽好还是更深好?

5、为什么要使用Softmax?

6、SGD 和 Adam 哪个更有效?

二、学习内容

列出实验的关键步骤、代码解析、截图。

2.1 pytorch 基础练习

  • Colab 练习链接:https://colab.research.google.com/drive/1oJTxrymgG5AHgwO-b0-vhOwOapuOhC45?usp=drive_link

  • 基础练习部分包括 pytorch 基础操作

  • 要求:把代码输⼊ colab,在线运⾏观察效果。

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

2.2 螺旋数据分类

  • Colab 练习链接:https://colab.research.google.com/drive/1EtSVevvNPnsiR04O9XDgWxqu2yjjOYEd?usp=sharing

  • ⽤神经⽹络实现简单数据分类

  • 要求:把代码输⼊ colab,在线运⾏观察效果

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

三、程序运行结果

  • 2.1:https://colab.research.google.com/drive/1oJTxrymgG5AHgwO-b0-vhOwOapuOhC45?usp=drive_link

  • 2.2:https://colab.research.google.com/drive/1EtSVevvNPnsiR04O9XDgWxqu2yjjOYEd?usp=sharing

四、问题总结与体会

描述实验过程中所遇到的问题,以及是如何解决的。有哪些收获和体会,对于课程的安排有哪些建议。

问题1

请添加图片描述

  • 问题:在上述代码中遇到“expected scalar type Float but found Long" 的错误。
  • 解决方法:
  • 因为input也就是我们的v是torch.long类型的而weight是torch.float类型
    所以在做矩阵乘法的时候这两种类型的不一致导致了报错
    解决方法就是把v的dtype显示地设置成torch.float代码就成功运行了

请添加图片描述

问题2

请添加图片描述

  • 问题:在上述代码中遇到“[Errno 2] No such file or directory: 'res/ziegler.png" 的错误。

  • 解决方法:创建了此目录下的文件夹得以解决。图片是随机找的图片上传到res文件夹,感觉不会造成什么影响,但是如果没有res/ziegler.png的话就运行不了。

请添加图片描述

问题总结

1、AlexNet有哪些特点?为什么可以比LeNet取得更好的性能?

img

AleNet是真正意义上的深度卷积神经网络,并在2012年ImagNet竞赛中获得冠军。相比于LeNet网络,Alexnet深度更深,参数更多,应用更广泛。为了改善性能,引入了ReLU、Dropout和LRN等方法,并使用了双GPU加速。

2、激活函数有哪些作用?

让多层神经网络可以运作,拟合非线性函数,使神经网络可以对非线性数据进行建模。

3、梯度消失现象是什么?

由于误差通过梯度传播,前两层的参数不变,只有最后一层的参数才会改变,导致深层网络的参数难以更新。

4、神经网络是更宽好还是更深好?

深度——神经网络的层数
宽度——每层的通道数

更深的网络,有更好的非线性表达能力,可以学习更复杂的变换,从而可以拟合更加复杂的特征,更深的网络可以更简单地学习复杂特征。

网络加深会带来梯度不稳定、网络退化的问题,过深的网络会使浅层学习能力下降。深度到了一定程度,性能就不会提升了,还有可能会下降。

足够的宽度可以保证每一层都学到丰富的特征,比如不同方向,不同频率的纹理特征。宽度太窄,特征提取不充分,学习不到足够信息,模型性能受限。

宽度贡献了网络大量计算量,太宽的网络会提取过多重复特征,加大模型计算负担。

提升网络性能可以先从宽度入手,提高每一层的通道的利用率、用其他通道的信息补充较窄的层,找到宽度的下限,用尽量小的计算量得到更好的性能。

5、为什么要使用Softmax?

Softmax是激活函数的一种,常用于将一个向量(或一组实数)映射为一个概率分布,多分类问题就变成了一个概率分布函数拟合问题。即N分类互斥,只能选择其一时常用softmax。

6、SGD 和 Adam 哪个更有效?

Adam: 由于其易用性和快速收敛的特点,Adam非常适合在需要快速得到结果的场景中使用,特别是在计算资源有限或模型较复杂时。

SGD: 如果模型训练时出现过拟合,或者当你有足够的时间和资源来精细调整学习率时,SGD可能是更好的选择。对于大规模分布式训练,SGD的泛化能力可能更优。

总之,选择哪种优化算法取决于具体任务、模型的复杂性、可用的计算资源以及是否需要模型有更好的泛化能力。在实践中,可能需要尝试不同的优化算法,以找到最适合当前任务的选项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布六Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值