chmod000

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

刘阳

学习笔记 249606097.github.io 机器学习基础

视频 01 主要介绍了机器学习、人工智能的发展历史,方法的迭代,主流的人工智能的派别,人工智能的作用,能干什么不能干什么以及如何应用人工智能。

视频 02 介绍了从生物神经元引入神经网络,介绍了构成神经网络的神经元以及引入非线性因素的激活函数,首个可以学习的神经网络——单层感知器,万有逼近定理,一个隐层有足够多的神经元就能以任意精度逼近任意预定的连续函数,两个隐层足够宽就能逼近任意非连续函数,增加神经网络的深度比增加宽度好的,但深度的增加会出现梯度消失问题,而为了解决梯度消失提出了逐层预训练的方法。

问题:

  • 人工智能解决问题是不是基于概率模型?
  • 误差的反向传播是怎样传播的,它是如何影响权重矩阵的,怎么做到影响了这一层又继续影响下一层?
  • 受限玻尔兹曼机是怎么求解的,是基于最大熵原理吗?

蔡宇翔

写在了个人博客里 cyx0706.github.io

不理解的地方:

  • 误差反向传播后用于做什么,误差是怎么衡量的,用残差衡量吗
  • 受限玻尔兹曼的模型求解,一点都没听懂

理解:当只有一层时,只能做线性拟合,所以我们看到的平面被分成了3个部分,而当加入一个 ReLU() 函数时,使得我们的模型对非线性点有了拟合能力,最后我们得到的分界线就是曲线而不是直线了。我们每一层用的还是线性模型拟合,说不定用非线性的结果会更加的好?

感受:好难啊,一堆听不懂看不懂的东西,pytorch 的矩阵操作感觉就像给 numpy 包了层壳子。没了

任浩辰

视频一中介绍了人工智能的发展现状、历史起源,以及人工智能的三个层面(计算智能、感知智能、认知智能),如何应用,机器学习的介绍等。

视频二:

  • 如果使用线性激活函数,那么这个模型的输出不过是你输入特征x的线性组合。神经网络只是把输入线性组合再输出。而在使用非线性的激活函数之后,就能够给神经网络加入一些非线性因素,从而更好地解决较为复杂的问题。
  • 万有逼近定理:相当于将非线性问题通过多层感知器转变为线性可分的问题从而解决,这里理解上稍微有些困难。
  • 在神经元总数相当的情况下,增加深度比宽度能够带来更强的网络表示能力。

方海祺

1. 视频学习心得及问题总结

1.1 绪论

  • 人工智能发展背景:在全世界的受重视程度越来越高,应用广泛,发展前景巨大,但是我国人工智能人才明显供给不足。

  • 人工智能>机器学习>深度学习:深度学习方法是机器学习方法中的一种,而机器学习方法只是实现人工智能大目标的一种手段。

  • 专家系统VS机器学习:专家系统基于手工设计规则,结果容易解释,但是构建系统费时费力,且个人主观性较强;机器学习则基于数据自动学习,减少个人主观性,处理效率以及准确率较高,但是结果可能不易解释。

  • 机器学习所要研究的内容:模型(对要学习问题映射的假设)、策略(从假设空间中学习/选择最优模型的准则)、算法(根据目标函数求解最优模型的具体计算方法)。

  • 传统机器学习VS深度学习:机器学习根据是/否应用了神经网络分为传统机器学习和神经网络,神经网络应用了深度神经网络才称之为深度学习方法。

    传统机器学习:人基于问题的理解,手动设计一些特征,再通过这些特征进行浅层学习,输出结果。由于需要人工设计特征,学习过程往往费时费力。

    深度学习:试图从特征比较简单的数据中学习复杂的高层特征,最后特征足够强大时输出结果。由于只要选择一定数量的数据,交由机器选择和优化模型即可,比较高效,节省精力。但数据很少时,使用人工指定规则的传统机器学习可能会占据上风。

1.2 深度学习概述

  • 深度学习的能与不能:

    1)算法输出不稳定,容易被攻击。

    2)模型复杂度高,难以纠错和调试。

    3)模型层及复杂程度高,参数不透明。

    4)端到端训练方式对数据依赖性强,模型增量性差。

    5)专注直观感知类问题,对开放性推理问题无能为。

    6)人类知识无法有效引入进行监督,机器偏见难以避免。

  • 浅层神经网络:

    • M-P神经元:

      • 特点:

        1)多输入信号进行累加。

        2)权值正负模拟兴奋/抑制,大小模拟强度。

        3)输入和超过阈值,神经元被激活。

      • 限制:权重预先设置,无法自己从数据里学习。

    • 单层感受器:

      • 概念:是首个可以学习的人工神经网络。

      • 限制:单层感受器无法处理异或问题。

    • 多层感受器:

      • 用三层感受器实现同或门。
    • 万有逼近定理:

      • 概念:如果一个隐层包含足够多的神经元,三层前馈神经网络(输入-隐层-输出)能以任意精度逼近任意预定的连续函数。
    • 梯度消失:

      • 前面层的学习会显著慢于后面层的学习(只能更新后面几层的参数,前面的基本更新不了)。
  • 神经网络到深度学习:

    • 逐层预训练:
      • 让网络有一个很好的初始值。即在解决问题的时候,不用从零开始训练一个模型,可以从类似问题中训练过的模型入手。
    • 自编码器:
      • 一般是一个多层神经网络(最简单:三层,包括输入层、隐层以及输出解码层)
      • 学习目标:使得输出层与输入层误差最小。
      • 最初被提出用来降维。
    • 受限玻尔兹曼机(RBM):
      • 为两层神经网络,包含可见层v(输入层)和隐含层h。不同层之间全连接,层内无连接(二分图)。

问题:

  • 视频里对”深度学习的不能(3)“里,对感受野复合和卷积核复合等几个概念讲得比较模糊,不是很理解。

  • 深度学习的很多学习数据源于人类,人类总是有自己的主观色彩,从而导致机器也在学习中产生偏见和歧视。我很好奇专家们是如何解决这个问题。是在数据上做处理(优化数据,工作量会不会很大,偏见好像也很难避免)?还是让机器能够自我判断(这个感觉更难)?不知道现在的研究走向,反正很期待合理解决的方式。

  • 误差反向传播那里的计算问题不太懂。

一开始对PyTorch一点都不了解,有点慌。在2.1的代码练习中,结合文档学习了一下,感觉PyTorch还挺强大,挺有趣的。去百度了它的基本语法,尝试了一下,发现它能很有效地处理数据。比如我想将-5和5平分成100份,我只要调用linspace函数即可,如上图所示,十分方便。同样我想生成大量随机数形成的统计分布直方图,或分布在100个块内,或分布在1000个块内,如上图所示,我也只要调用相关函数补充相应数据即可以直观看到数据分布的图片,简直太有用了。后面2.2的代码学习中,代码有些长,没有全部看懂,但是进一步让我知道PyTorch能处理更多复杂又实用的图像处理问题,之后会多加学习,提高这方面的能力。

陈祺龙

本次视频学习中,首先在绪论部分学习到了深度学习是人工智能领域中的一个重要部分,了解到了人工智能目标下机器学习和深度学习具体“学什么”,二者之间的联系和发展,深度学习在各方面的能与不能等。而深度学习概述中具体解释了深度学习的应用与理论研究,具体分析了深度学习的易被攻击,算法复杂等缺点,了解到了神经网络及其参数学习等知识概念。在几个小时视频讲授中吸收像参数学习这样的知识点令人头疼,不过视频为我普及了诸多深度学习有关的概念,感受到了人工智能技术的蓬勃发展,也为后续的学习奠定了基础。

代码练习

分类:

技术点:

相关文章:

  • 2021-10-01
  • 2021-03-31
  • 2021-12-20
猜你喜欢
  • 2021-11-16
  • 2021-10-01
相关资源
相似解决方案