2024年夏季《深度学习》学习报告(第一周)
学习内容:深度学习基础理论 本实验属于那门课程:24夏《深度学习》
博客地址:
一、学习目标
1、理解浅层神经⽹络、⽣物神经元到单层感知器,多层感知器,反向传播和梯度消失、神经⽹络到深度学习的相关知识;
2、掌握Pytorch的使用,会在 colab环境进行行进编码;
二、学习内容
1、pytorch的基本操作;
2、⽤神经⽹络实现简单数据分类;
3、理解深度学习的基础知识;
三、程序运行结果
3.1实验2.1基础练习
实验2.1pytorch基础练习的相关代码如下图所示(代码略有改动):
以上代码的运行结果如下图所示,学习过程中根据其参数略有改动。
在实验中有关绘图的代码如下:
上述代码的运行结果如下图所示:
3.2实验2.2螺旋数据分类
实验2.2相关代码如下图所示:
运行结果如下图所示:
四、问题总结与体会
通过实验过程中遇到很多的bug,
1、AlexNet有哪些特点?为什么可以⽐LeNet取得更好的性能?
1.使用了丢弃法,防止过拟合; 2.使用Relu激活函数替代了Sigmoid函数; 3.使用最大池化层替换了平均池化层
AlexNet性能比LeNet更好的原因有以下几点 1、AlexNet在全连接层中使用了Dropout技术,通过随机失活一部分神经元来减少模型对训练数据的过拟合,提高了模型的泛化能力。
2、AlexNet引入了ReLU激活函数,ReLU函数具有计算简单、收敛速度快以及能够有效缓解梯度消失问题的优点,这些特性使得AlexNet在训练过程中更加稳定和高效。
2、激活函数有哪些作⽤?
1、激活函数可以引入非线性因素。如果不使用激活函数,则输出信号仅是一个简单的线性函数。线性函数一个一级多项式,线性方程的复杂度有限,从数据中学习复杂函数映射的能力很小。没有激活函数,神经网络将无法学习和模拟其他复杂类型的数据,例如图像、视频、音频、语音等。
2、激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。
3、激活函数是单调的时候,单层网络能够保证是凸函数。
3、梯度消失现象是什么?
梯度消失是指在反向传播过程中,随着网络层数增加或者在使用特定类型的激活函数(如sigmoid函数)时,梯度逐渐变小并最终趋近于零的现象。
4、神经⽹络是更宽好还是更深好?
在神经元总数相当的情况下,增加网络深度可以比增加宽度带来更强的网络表示能力:产生更多的线性区域。深度和宽度对函数复杂度的贡献是不同的,深度的贡献是指数增长的,而宽度的贡献是线性的。总的而言更深好,更深可以带来更强的网络表示能力,产生更多的线性区域。
5、为什么要使⽤Softmax?
Softmax是激活函数的一种,常用于将一个向量(或一组实数)映射为一个概率分布,多分类问题就变成了一个概率分布函数拟合问题。即N分类互斥,只能选择其一时常用softmax。
6、SGD 和 Adam 哪个更有效?
这两种优化方法,各有优缺点:SGD在每一步更新仅使用一个计算梯度,这样可以显著减少计算量。有助于模型找到泛化性能更好的解,适用于各种优化问题,但是收敛速度通常较慢。Adam是一种自适应学习率的算法,在许多任务中都有较快的收敛速度,在深度学习中非常流行,但是可能会导致过拟合,泛化性能不如SGD。