06组第二次作业:深度学习基础

本博客为OUC2022秋季软件工程06组第二次作业

目录

    • 一、视频学习心得及问题总结
      • 1.1学习心得
      • 1.2、问题总结
    • 二、代码练习
      • 2.1 pytorch基础练习
      • 2.2螺旋数据分类
        • 1、构建线性模型分类
        • 2、构建两层神经网络分类

一、视频学习心得及问题总结

1.1学习心得

(1)、胡俊骥

在绪论的学习中,我明白了人工智能在当前社会的重要性,各个国家都在参与“军备竞赛”。目前人工智能人才的缺口是比较大的,开设的高校也不是很多,前景十分不错。国家也非常重视人工智能高等教育。人工智能概念诞生于美国的达特茅斯会议,图灵对其发展做出了不可磨灭的贡献。人工智能分为三个层面:计算智能,感知智能和认知智能。人工智能+也在逐步改变我们的生活。人工智能>机器学习>深度学习(领域上)。机器学习相比知识工程,省时省力且灵活性强。学习机器学习我们可以通过模型,策略,算法三个方面学习。深度学习在生活中无处不在。传统机器学习具有人工设计特征,在实际应用中,特征往往比分类器更重要。在深度学习时代,我们由专家选择深度模型,机器优化深度模型。

深度学习应用研究视觉和语言。深度学习也存在不能,一是算法输出不稳定,容易被攻击,二是模型复杂度高,难以纠错和调试,三是模型层级复合程度高,参数不透明,四是端到端训练方式对数据依赖性强,模型增量性差,五是专注直观感知类问题,对开放性推理问题无能为力,六是人类知识无法有效引入进行监督,机器偏见难以避免。解释性分三个层次,找得到,看得懂,留得下。知识积累上,连接主义和符号主义从对立到合作。神经网络基础中,我们学习了生物神经元的特性,学习了激活函数f,单层和多层函数。还学习了万有逼近定理以及神经网络每一层的作用。神经网络的参数学习存在误差反向传播的问题。深度神经网络存在梯度消失的问题。学习了逐层预训练,了解了受限玻尔兹曼机和自编码器。预训练的初衷用于无监督逐层预训练。

(2)、邓驰

人工智能的3个层面:计算智能,感知智能,认知智能,意在让计算机可以和人类一样认知世界。而需要做到执行就离不开机器学习的三要素:模型,策略,算法。

深度学习目前还有许多不足之处。

算法输出不稳定,在一些识别上容易犯错。模型复杂度高,难以纠错和调试。模型层数复合程度高,参数不透明端对端心理发生对数据依赖性强,模型增量性差。专注直观感知类问题,对开放性推理问题无能为力。人类知识无法有效引入进行监督,机器偏见难以避免。

深度学习的预处理上目前比较常用的方法是使用自编码器和受限波茨尔曼机,以来为后续使用铺平道路。

深层神经网络目前存在梯度消失的问题,现在LSTM,ReLU,辅助损失函数,Batch Normalizatin以及Layer-wise Pre-train方法有着比较好的解决效果

(3)、邓鑫

人工智能是人造的智能,是计算机科学、逻辑学、认知科学交叉形成的一门科学,人工智能的发展历程也是波荡起伏的,既有低谷时期也有巅峰时期。而机器学习就是其中的一个重点。机器学习,在我看来就是让机器学习人思维的过程。机器学习的宗旨就是让机器学会“人识别事物的方法”。从传统机器学习到深度学习,深度学习是能够根据算法自动的学习,把不计其数的数据放入算法中,然后系统自动地从海量的数据中学习,让数据自己说话,提取自己所需要的东西。你不告诉机器一个物体的概念,然后让它自己去领悟这个物体的特性,就像告诉小孩如何去认识世界。但他也有缺陷,深度学习只能根据已有的数据来学习;不会判断数据正确性,也无法修正学习结果,除非重新训练。

深度学习的学名又叫深层神经网络,单个神经元的作用是传递前后两级的信息,通常将神经网络划分为三层,输入层、隐藏层和输出层。输入层指原始输入数据一层,输出层指神经网络末端输出最终结果的一层,其余中间的神经网络为隐藏层。随着隐层数目增加,网络加深,从输出层传回的错误信息的量就会显著减少,针对这个难点,逐层预训练的方法诞生了,他能有效地解决该问题。

(4)、黎泉林

这两个视频对我认识深度学习提供了很大的帮助。专家学习是依靠人去做出所有事情,包括获取数据、理解数据、抽象出来再建模,而机器学习则依靠自身迭代完成,这无疑省下了许多时间,是一种巨大的进步。深度学习是机器学习的一种有效的方法,能够解决复杂的问题并分析。

(5)、陈兆宇

虽然西瓜书的名气最大,但是这本书我实际看下来不适合做教材,另一本李航的书更好些,至少每个算法都会给你例子,但是里面的数学定义太复杂,得配合视频看下去,b站上的视频唯一有价值的就是吴恩达的视频,然而最新版本的ml视频需要搭配实验,course上的课我也去找了找,要花钱······。

确实现在很多地方都需要这些,目前我学过的几种算法都是分类问题,具体就是使用朴素贝叶斯,或者逻辑斯特那几个公式,能进行分类,但是只能进行一些简单的分类。

1.2、问题总结

1.我经常能看到有关对偶的概念,我去搜了一下,这是运筹学里的东西,我需要去学运筹学么

2.cv现在是红海么?其他几个领域的处境呢?

3.假如要让计算机学习一个新的东西,比如,图像分类,从0开始学习的话,那么就需要大量的模板,有什么方法能减轻这么庞大的学习数据并且还让计算机学会吗?

4.在计算机学习庞大的数据资料时,如何让计算机的得到更加有效的训练?

5、机器学习应用如此广泛,有朝一日是否会引起人口就业问题?

6、深度学习存在这么多的问题,有没有什么方式可以解决或者减少这些问题?

二、代码练习

2.1 pytorch基础练习

06组第二次作业:深度学习基础_第1张图片
06组第二次作业:深度学习基础_第2张图片
06组第二次作业:深度学习基础_第3张图片
06组第二次作业:深度学习基础_第4张图片
06组第二次作业:深度学习基础_第5张图片
06组第二次作业:深度学习基础_第6张图片
06组第二次作业:深度学习基础_第7张图片
06组第二次作业:深度学习基础_第8张图片
06组第二次作业:深度学习基础_第9张图片
06组第二次作业:深度学习基础_第10张图片
在这里插入图片描述
06组第二次作业:深度学习基础_第11张图片
06组第二次作业:深度学习基础_第12张图片
06组第二次作业:深度学习基础_第13张图片
06组第二次作业:深度学习基础_第14张图片
06组第二次作业:深度学习基础_第15张图片
06组第二次作业:深度学习基础_第16张图片
06组第二次作业:深度学习基础_第17张图片
06组第二次作业:深度学习基础_第18张图片
06组第二次作业:深度学习基础_第19张图片
06组第二次作业:深度学习基础_第20张图片
06组第二次作业:深度学习基础_第21张图片

2.2螺旋数据分类

首先,下载绘图函数到本地

06组第二次作业:深度学习基础_第22张图片

然后,引入基本库,初始化参数

06组第二次作业:深度学习基础_第23张图片
06组第二次作业:深度学习基础_第24张图片

接下来我们输出看看结果

06组第二次作业:深度学习基础_第25张图片

1、构建线性模型分类

构建模型并训练

06组第二次作业:深度学习基础_第26张图片

结果如下:

06组第二次作业:深度学习基础_第27张图片

可以看出,线性模型的准确率还不够高,大概正确一半左右。

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

接下来我们修改一下模型

model = nn.Sequential(
    nn.Linear(D, H),
    nn.ReLU(),
    nn.Linear(H, C)
)
model.to(device)

与线性模型相比,加入了ReLU激活函数。

训练结果如下:

06组第二次作业:深度学习基础_第28张图片

对比看出,分类准确性比线性模型高了不少,此数据下的准确性能在90%以上。

你可能感兴趣的:(深度学习,人工智能)