第一次作业:深度学习基础
【第一部分】视频学习心得及问题总结
本次观看完两个视频后,打开了我对人工智能的新世界大门,也为我普及了许多概念,打破了我以往片面和肤浅的认识。比如了解到了人工智能和机器学习以及深度学习之间的逐层分解下的联系,从规模和复杂程度上,更深层次的了解到了从专家系统到机器学习的区别和进步。更是为我普及了从传统机器学习到深度学习的历史发展脉络,当然也让我第一次了解到了深度学习的能与不能。不得不再一次感叹人类模仿学的伟大,通过模仿生物神经元从而发展出单层感知器,多层感知器。而反向传播和梯度消失的分析让我再一次想起了被数字逻辑和线性代数支配的恐惧。为什么要了解浅层神经网络?因为深度学习就是深层次的神经网络模型,从而诞生出了逐层预训练,自编码器和受限玻尔兹曼机技术。虽然现在后两者技术已经过时,不再使用。但是了解这两项技术可以为以后的进一步学习埋下伏笔,同时再一次见证前人的智慧结晶。
问题:每一次人工智能技术的取得突破进步(以至于让人们感受到会被AI所取代)之后,都会伴随一次人工智能的大低谷。所以很好奇会有哪些的技术的突破和发现会导致的下一次人工智能的突破进步和大低谷?
【第二部分】代码练习
牛刀小试:第一次在谷歌 Colab 上进行pytorch的小测试,对于可以直接运行代码感到很有意思,后了解到其本质是linux虚拟机。

pytorch基础练习:通过将代码和注释通读,并且全部运行测试后,对于数据的定义以及运算操作的定义有了初步的了解。不过torch.的方法有很多,这一个小测试并不能全部了解,希望在以后的编写代码过程中能够逐步的揭开其他数据和操作定义的神秘面纱。




![]()



螺旋数据分类:听视频的时候,就觉得逐层与训练、反向传播和梯度消失很厉害,所幸也能够理解其概念和方法。但是当看到用pytorch写出来的代码时,果然发现了不懂pytorch语言带来的弊端——很大一部分核心代码只能靠自己的推测去判断含义。希望以后能够加深pytorch的理解和编写,最后顺利通过自己和团队的努力写出项目。
1.下载绘图函数到本地

2.初始化重要参数


3.3000个样本的特征的初始化


构建线性模型:使用到了损失函数、梯度下降优化、预训练和反向传播优化,但是分类效果并不理想。


构建两层神经网络:在线性的基础上增加了ReLU函数激活。通过两图的对比能够很明显看出分类效果上的显著差别。




浙公网安备 33010602011771号