【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

Deep Learning

Deep Learning attracts lots of attention

Goolgle
在这里插入图片描述

Ups and down of Deep Learning

  • perceptron 感知机(线性模型)
  • 感知机有限制
  • 既然一个感知机不行,那就多层感知机(和今天的DNN没有显著差别)
  • 反向传播(通常超过三个隐藏层就用处不大了)
  • 一个隐藏层就够强了,改名为deep learning
  • RBM(受限玻尔兹曼机)来做初始化,是一个突破
  • GPU加速
  • 开始在语音识别中流行
  • 在image比赛中获胜

在这里插入图片描述

Three Steps for Deep Learning

1、Define a set of function
2、Goodness of function
3、pick the best function

在这里插入图片描述

Step1 Define a set of function

第一步中的function其实是一个神经网络
把逻辑回归前后连接起来,单独一个逻辑回归模型称作神经元,整体称作神经网络。

可以用不同的方法链接网络,得到了不同的结构,每一个逻辑回归单元都有自己的w和b,所有的参数集合起来,就叫做这个网络的参数

在这里插入图片描述

神经网络的连接方式

Fully Connect Feedforward Network 全连接前馈网络

输入1 -1
在这里插入图片描述
输入0 0
在这里插入图片描述
可以将一个已知参数的network看作一个function,输入输出都是vector
在这里插入图片描述

若不知道参数,只是知道网络的结构,相当于定义了一个function set。到时候给定一个参数,就相当于一个function set中的一个function。
在这里插入图片描述
通常把神经网络画成如下所示:

在这里插入图片描述
从前往后传,所以叫feedforward

Deep = Many hidden layers
在这里插入图片描述

Matrix Operation

在这里插入图片描述

Neural Network

在这里插入图片描述
一连串的矩阵运算,可以使用GPU加速
在这里插入图片描述

Output Layer

隐藏层看作feature extractor特征提取,替代了之前的feature transformation

output layer是一个Multi-class classifier多类别的分类器,所以在最后一层也会加上一个softmax
在这里插入图片描述

Example Application

黑了->1
没黑->0

神经网络的output用了softmax后,output代表了一个概率分布,output是对应到每一个数字的概率
在这里插入图片描述

在这里插入图片描述
这个network代表了一个可以拿来做手写数字识别的function set,只不过效果不同
在这里插入图片描述

一个好的function set很关键

常见问题FAQ

Q:多少层?每层多少个神经元?
A:试错+直觉

Q:神经网络的结构可以自动地确定吗?
A:很少

Q:可以自己设计神经网络的结构吗?
A:可以,fully connect也可以,CNN
在这里插入图片描述

Step2 Goodness of function

在这里插入图片描述

Loss for an Example

给定一组参数,一个img和一个label,对应一个target y ^ \hat{y} ,通过神经网络计算得到一个 y y ,接下来,就利用 y ^ \hat{y} y y 计算一个cross entropy,最后调整神经网络的参数,使得cross entropy 最小。
在这里插入图片描述

Total Loss

n笔data得到n个loss,求和得到total loss
在function set中找到一个function,最小化这个total loss(即,找一组参数w和b)
在这里插入图片描述

Step3 Pick the best function

Gradient Descent

在这里插入图片描述
在这里插入图片描述
以此类推,,,

这就是所谓的学习。。
在这里插入图片描述

反向传播

在这里插入图片描述

Concluding Remrks

在这里插入图片描述

Deep is better?

在这里插入图片描述

Universality Theorem

任何一个连续的function,都可以用一个hidden layer的网络来表示,只要有足够多的隐藏单元即可,所以把deep neural network变成了fat neural network,看起来很虚弱?2333
在这里插入图片描述

Reference

在这里插入图片描述