第一次作业:深度学习基础


【第一部分】视频学习心得及问题总结

视频学习心得:
第一个视频主要讲了人工智能的发展史、前景、应用和介绍了人工智能是什么。机器学习是人工智能的一方面,可以根据有无监督、是否应用神经网络分为很多种,深度学习是其中的一种。第二个视频介绍了深度学习,先讲解了深度学习的几个“不能”,学习了深度学习和神经元的相似,然后学习了神经网络激活函数,知道了单层感知和多层感知的区别,通过实验举例直观的明白了单层不能完成非线性,也知道了层数并不是越多越好,了解了梯度下降和误差反向传播问题,并简单学习了一些相关的解决方案。


问题总结:关于反向传播和梯度消失问题不是很明白。

【第二部分】代码练习

2.1 pytorch基础练习

将老师给的代码逐条在colab上运行,前面的代码都没有出现问题,都成功运行除了结果,但是到了这里就报错了。

然后通过观察报错原因和上网搜索答案发现要将v改成float型,于是进行运行,得到成功结果

还有最后的两张图形也成功运行出结果了

 

 2.2 螺旋数据分类

1.线性数据分类

 

 用线性模型进行分类效果很差,准确率只有0.5,无法达到要求,无法进行正确分类。

2.构建两层神经网络分类


learning_rate = 1e-3
lambda_l2 = 1e-5

# 这里可以看到,和上面模型不同的是,在两层之间加入了一个 ReLU 激活函数
model = nn.Sequential(
nn.Linear(D, H),
nn.ReLU(),
nn.Linear(H, C)
)
model.to(device)

 构建两层神经网络分类,添加了relu激活函数后,正确率大大提升,达到了95%

相关