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

一、视频学习心得及问题总结
(1)视频学习心得:
1、从全球整体来看,人工智能存在严重的供给不足,在我们国家该现象尤其严重,人才稀缺,供不应求。国家在完善人工智能教育体系,推动人工智能一
级学科建设,并且建设人工智能复合特色专业。人工智能最初起源于图灵测试,最简单的就是验证码系统以及数字验证码,但随着科技的不断提高,图片验证码现在容易破解。人工智能分为计算智能(能存能算)、感知智能(会说会认)——现代、认知智能(能理解,会思考)。人工智能可以和各种领域相结合,例如金融(芝麻信用)、内容创作(DreamWriter撰写新闻稿;设计师鲁班系统在双十一参与制作了数亿张海报)、机器人(人对人工智能最终的想象)。而实现人工智能最重要的方法是机器学习。机器学习减少人工繁杂工作,但结果可能不易理解;提高信息处理的效率,准确率较高;来源于真实数据,减少人工规则主观性,可信度高。机器学习擅长用优化的方式寻找近似解。深度学习可以溯源至神经网络。使用传统的机器学习去解决问题有时候需要几十年,但现在使用深度学习,同样的问题可能只需要几个月,而我们所向往的人工智能时,我们给机器提供材料,让机器可以自主的去想解决方法完成任务。
2、深度学习的不能:算法输出不稳定,容易被“攻击”;模型复杂度高,难以纠错和调试;模型层级复合程度高,参数不透明;端到端训练方式对数据依赖性强,模型增量性差;专注直观感知类问题,对开放性推理问题无能为力;人类知识无法有效引入进行监督。模型准确率不断提高,解释性却没有提高。
3、单层感知器就是最早的神经网络模型。单层感知器能实现简单得与非或。多层感知器就是多层的与非或叠加在一起所实现的。
4、多层神经网络可以看成是一个复合的非线性多元函数。通过误差讯号回传,重新调整神经元权重。自编码器一般是一个多层神经网络,训练目标是使输出层与输入层误差最小。RBM则是两层神经网络,包含可见层和隐藏层,不同层之间全连接,层内无连接。
5、探索人工智能道阻且长,我们仍旧需要不断学习!
(2)问题总结:RBM sigmoid激活函数推导不太理解。
二、代码练习
2.1 pytorch 基础练习
(1)定义数据
1、通过学习以及代码实际操作,我知道PyTorch是一个python库,一般定义数据时使用torch.Tensor。它可以是一个数,也可以是任意维度的数组。Tensor支持各种类型的数据,包括float32,float64,float16,uint8,int8,int16,int32,int64。

2、创建Tensor有多种方法,包括:ones, zeros, eye, arange, linspace, rand, randn, normal, uniform, randperm, 使用的时候可以在线搜索。


(2)定义操作
1、凡是用Tensor进行各种运算的,都是Function,最终,还是需要用Tensor来进行计算。基本运算包括的,基本运算包括: abs/sqrt/div/exp/fmod/pow ,及一些三角函数 cos/ sin/ asin/ atan2/ cosh,及ceil/round/floor/trunc等;布尔运算包括: gt/lt/ge/le/eq/ne,topk, sort, max/min;线性计算包括: trace, diag, mm/bmm,t,dot/cross,inverse,svd 等


但这里出现了一个问题:


所以这里需要把v的数据类型改为float:




2.2螺旋数据分类
(1)关键步骤截图






在两层神经网络里加入 ReLU 激活函数以后,分类的准确率得到了显著提高。


(2)个人想法:
通过这一次的代码练习,我接触到了谷歌的Colab,同时使用了各种方法以便能Colab,我了解到Colab是一个Jupyter笔记本环境,而且不需要进行任何设置就可以使用,并且完全在云端运行,可以免费使用,十分的方便。
同时,通过对pytorch的基础练习,我学会了使用torch.Tensor定义数据,并且使用多种方法创建Tensor;同时我还学会了用Tensor进行各种运算。同时我认为torch和numpy非常相似,他们可以进行相互转化,使用torch.from_numpy就可以进行转化。
在螺旋数据分类中,学习了构建线性模型分类和构建两层神经网络分类。通过模型输出,可以看出线性模型的准确率最高只能达到50%,对于复杂的数据分布,线性模型难以实现准确分类,在两层神经网络里加入 ReLU 激活函数以后,分类的准确率得到了显著提高。

(ReLU激活函数的形式)
从上图不难看出,ReLU函数其实是分段线性函数,把所有的负值都变为0,而正值不变,这种操作被成为单侧抑制。正因为有了这单侧抑制,才使得神经网络中的神经元也具有了稀疏激活性。因此通过ReLU实现稀疏后的模型能够更好地挖掘相关特征,拟合训练数据。ReLU对于线性函数而言,ReLU的表达能力更强,分类准确率更高。

posted @ 2021-10-05 22:38  葵波波娃  阅读(180)  评论(0)    收藏  举报