Deep Learning

Deep Learning attracts lots of attention

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

Ups and down of Deep Learning

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

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

Three Steps for Deep Learning

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

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

Step1 Define a set of function

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

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

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

神经网络的连接方式

Fully Connect Feedforward Network 全连接前馈网络

输入1 -1
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
输入0 0
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
可以将一个已知参数的network看作一个function,输入输出都是vector
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

若不知道参数,只是知道网络的结构,相当于定义了一个function set。到时候给定一个参数,就相当于一个function set中的一个function。
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
通常把神经网络画成如下所示:

【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
从前往后传,所以叫feedforward

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

Matrix Operation

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

Neural Network

【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
一连串的矩阵运算,可以使用GPU加速
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

Output Layer

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

output layer是一个Multi-class classifier多类别的分类器,所以在最后一层也会加上一个softmax
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

Example Application

黑了->1
没黑->0

神经网络的output用了softmax后,output代表了一个概率分布,output是对应到每一个数字的概率
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
这个network代表了一个可以拿来做手写数字识别的function set,只不过效果不同
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

一个好的function set很关键

常见问题FAQ

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

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

Q:可以自己设计神经网络的结构吗?
A:可以,fully connect也可以,CNN
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

Step2 Goodness of function

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

Loss for an Example

给定一组参数,一个img和一个label,对应一个target y^\hat{y},通过神经网络计算得到一个yy ,接下来,就利用y^\hat{y}yy计算一个cross entropy,最后调整神经网络的参数,使得cross entropy 最小。
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

Total Loss

n笔data得到n个loss,求和得到total loss
在function set中找到一个function,最小化这个total loss(即,找一组参数w和b)
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

Step3 Pick the best function

Gradient Descent

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

这就是所谓的学习。。
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

反向传播

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

Concluding Remrks

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

Deep is better?

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

Universality Theorem

任何一个连续的function,都可以用一个hidden layer的网络来表示,只要有足够多的隐藏单元即可,所以把deep neural network变成了fat neural network,看起来很虚弱?2333
【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记

Reference

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

相关文章: