• 李宏毅机器学习课程笔记-5.1深度学习之引言


    深度学习的历史

    • 1958年:心理学家Rosenblatt提出感知机(Perceptron)

      它是一个线性模型。

    • 1969年:有人说感知机是线性模型,具有局限性。

    • 1980年代:多层感知机(Multi-layer Perceptron)

      和当今的神经网络是没有本质差别的。

    • 1986年:Hinton提出反向传播算法(Backpropagation)

      但是超过3个隐藏层的神经网络,还是训练不出好的结果。

    • 1989年:有人提出一个隐藏层就可以得到任何函数,为什么要多层?

      多层感知机慢慢淡出大家的视野。

    • 2006年:受限玻尔兹曼机初始化(RBM Initialization)

      Hinton提出用受限玻尔兹曼机做初始化,很多人觉得这是个大突破,但实际上用处并不大。

      至少让多层感知机回到大家的视野。

    • 2009年:GPU

    • 2011年:神经网络用于语音识别

    • 2012年:神经网络技术赢得ILSVRC(ImageNet Large Scale Visual Recognition Challenge)

    深度学习的三个步骤

    和机器学习一样:

    1. 确定模型(Model)/函数集(Function Set),在深度学习中就是定义一个神经网络。

      不同的连接会构成多样的网络结构。

    2. 确定如何评价函数的好坏

      如果是多分类,那和Classification一章中一样,计算每个样本预测结果与Ground Truth的交叉熵,然后求和,即为Loss。

    3. 确定如何找到最好的函数

      还是Gradient Descent。

      神经网络模型对应的函数比较复杂,而反向传播算法(Backpropagation)是一个很有效的计算神经网络梯度的方法。

    神经网络的结构

    • 输入层(Input Layer)

      实际上就是输入,并不是真正的“层”。

    • 隐藏层(Hidden Layers)

      输入层和输出层之间的层。Deep指有很多隐藏层,多少层才算Deep并没有统一标准。

      可以看成特征提取器(Feature Extractor),作用是代替特征工程(Feature Engineering)。

    • 输出层(Output Layer)

      最后一层。

      可以看成分类器

    全连接前馈神经网络

    即Fully Connected Feedforward Neural Network,FFN。

    • 全连接是指每个神经元与上一层的所有神经元相连。
    • 前馈神经网络(FNN,Feedforward Neural Network)是指各神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层,各层间没有反馈。

    一些网络

    其中Residual Net并不是一般的全连接前馈神经网络

    网络结构 提出年份 层数 ImageNet错误率
    AlexNet 2012 8 16.4%
    VGGNet 2014 19 7.3%
    GoogleNet 2014 22 6.7%
    Residual Net 2015 152 3.57%

    机器学习和深度学习面对的不同问题

    • 在机器学习中,人类需要手工做特征工程(Feature Engineering),人类需要思考如何提取特征。
    • 有了深度学习以后,人类可以不做特征工程,但也遇到了新的问题:人类需要设计合适的网络结构。

    这两个问题哪个更容易呢?可能后者更容易些,比如在图像识别、语音识别任务中,人类可能并不知道自己是如何识别图像和语音的,就无法通过符号主义进行特征工程。

    关于深度学习的一些疑问

    • 虽然深度学习的的准确度很高,但是它使用的参数更多,参数多、准确度高也是很正常的事,所以有什么特别之处呢?

    • 只用一个神经元足够多的隐藏层,这个模型就包括了任意函数,那为什么不这么做而非要深度呢?为什么要是Deep而不是Fat呢?

    • 如何设计神经网络的结构?

      多少层?每一层有多少个神经元?

      只能凭经验(实验结果)和直觉,当然可以让机器自己去找网络结构,即网络架构搜索(NAS,Network Architecture Search)。

    • 必须用全连接前馈神经网络吗?

      不是。比如卷积神经网络(Convolutional Neural Networks, CNN)。


    Github(github.com):@chouxianyu

    Github Pages(github.io):@臭咸鱼

    知乎(zhihu.com):@臭咸鱼

    博客园(cnblogs.com):@臭咸鱼

    B站(bilibili.com):@绝版臭咸鱼

    微信公众号:@臭咸鱼的快乐生活

    转载请注明出处,欢迎讨论和交流!


  • 相关阅读:
    O2O、B2B、C2C(通俗讲解)
    前端 $.parseJson()
    django反向解析传参
    从url(地址栏)获取参数:Jquery中getUrlParam()方法的使用
    Django:前后端分离后联调给前端传数据
    xpath 中 [<Element a at 3985984dj343>]
    sumafan:python爬虫多线程爬取数据小练习(附答案)
    window安装mysql(详细步骤)
    sqlserver从xlsx读取数据
    第一个kotlin程序
  • 原文地址:https://www.cnblogs.com/chouxianyu/p/14334224.html
Copyright © 2020-2023  润新知