目录
1、AlexNet有哪些特点?为什么可以比LeNet取得更好的性能?
一.pytorch学习基础
在一开始进行@数量积运算时发现自己的@运算不能成功
会提示数据类型错误,将v的数据类型进行转换,转换成float类型后,数量积运算可成功
虽然只是一个小小的问题,但成功解决后仍有成就感
在这里说明对矩阵的转置并不是永久保存的
按照第三个参数,将第一二个参数间的距离平分,将数值输出(像道路两边石墩的分布一样)
当我们的数据量足够多时,如图,使用了1000000个数据的时候。我们会发现,数据形成的直方图已经近似接近正态分布图。
torch.cat的第一个参数是想要拼接在一起的数组,第二个参数表示拼接方法。如果为0,表示在Y轴进行拼接,如果为1,表示在X轴进行拼接。
二.螺旋数据分类
在这里出现的第一个问题,忘了把硬件设置设置成GPU了,所以一直都有torch.cuda.is_available() return的结果是false。
不过简单理解,应该就是将X这个含有3000*2数据的数组和Y这个3000个数据的数组进行排列,形成特定位置编号,再进行分类
1.线性
2.两层神经网络分类
三.问题总结
1、AlexNet有哪些特点?为什么可以比LeNet取得更好的性能?
1.AlexNet是网络层次更深,共有8层(5层卷积层+3层全连接层)。
2.AlexNet的层次配置保持了特征层和输出层的组合配置。
3.AlexNet 96%的参数都集中在3层全连接层中,卷积层只占据4%。
4.AlexNet使用ReLU激活函数减少梯度消失现象。
正是因为AlexNet有了以上与LeNet不同的特征,才有了比LeNet更好的性能
2、激活函数有哪些作用?
激活函数是用来加入非线性因素的,因为线性模型的表达能力不够强,加入激活函数可以帮助我们更好地完善我们的模型。利用激活函数将非线性特性引入到我们的网络中。其主要目的是将A-NN模型中一个节点的输入信号转换成一个输出信号。该输出信号现在被用作堆叠中下一个层的输入。
3、梯度消失现象是什么?
在梯度下降中, 随着算法反向的反馈, 梯度会越来越小,最终没有变化,此时并没有收敛到比好的解,这就是梯度消失的问题。
4、神经网络是更宽好还是更深好?
更深好。
1.如果要增加同样的效果,那么增加宽度所需要的投入要远大于增加深度所需要的投入
2.宽但是浅的网络不擅长概况,泛化能力差
当然我们也不能一味追求深度而彻底放弃宽度,应追求一种深度与宽度的平衡