Deep Learning
文章目录
- Deep Learning
- Deep Learning attracts lots of attention
- Ups and down of Deep Learning
- Three Steps for 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 ,通过神经网络计算得到一个 ,接下来,就利用和计算一个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