【Deeplearning】(转)深度学习知识网络
转自深度学习知识框架,小象牛逼!
图片来自小象学院公开课,下面直接解释几条线
神经网络
线性回归 (+ 非线性激励) → 神经网络
- 有线性映射关系的数据,找到映射关系,非常简单,只能描述简单的映射关系
- 大部分关系是非线性的,所以改进方法就是加一个非线性激励,某种程度是一个 NORMALIZE,但是是非线性的,对参数有更强的描述能力
- +非线性激励,描述稍微复杂的映射关系,形成神经网络
- 神经网络输入是 1 维信息,普通网络之间进行的是代数运算,然后经过非线性激励,形成新的神经网络
RNN
神经网络 (+时域递归) → RNN
- 神经网络处理一维信息,然而一维信息很可能是有前后的时间联系的,如人的语音,前面说的话与后面是有联系的,RNN 学习前后关系
- 相当于某一刻的输出同时也作为下一刻的输入,所以这一刻的输入不仅是这一刻的输入+上一刻输出的信息
LSTM
RNN (+记忆GATE) → LSTM
- RNN 只考虑前一刻信息,Tn 时刻只考虑 Tn-1 的,那么 Tn-2,就是 Tn-2 → Tn-1 → Tn 逐层衰减,信息也会越来越弱
- 如果很久之前的记忆很重要,要把它记下来,就相当于有一个记忆方程,那么就可以用 LSTM,实现长记忆短记忆
- Gate 来分析哪一部分存储,哪一部分进行传递
- 应用: 语句生成 → 自动翻译智能对话
CNN
神经网络 (+卷积核) → CNN
- 基本的代数运算用卷积核来代替。一维到二维甚至是三维的转化,相当于一个空间上的扩展
- 应用: 图片分类 → 目标分类(人脸识别/物品识别/场景识别/文字识别)、目标检测(安防/自动驾驶)
更先进的CNN
- 深度,宽度,递归的变化
增加深度(网络层数),E.g.OverFeat-accurate,VGG
增加宽度(filter数),E.g.zf-big,OverFeat-accurate
递归的变化,可以跳过下一层,传到后面几层 - 结构与性能
- 特定问题的具体结构
比如说人脸识别,我们知道人脸有大体结构,用 CNN 来做识别时,可以让不同位置的像素不共享参数,眼睛有处理眼睛部分的卷积核,鼻子有处理鼻子部分的卷积核,它们之间不共享参数,这样的话参数会很多,但这样训练的结果可能会更好一些,专门对眼睛/鼻子进行训练
LSTM + CNN
LSTM 卷积化(LSTM + CNN)
- 应用: 产生理解图片的语言 → 图片描述/标注 → 看图说话,时域的图片 → 视频分类 → 视频搜索
- NLP 方向比较成熟的只有语音识别,语义挖掘方面还是目前的热点
增强学习
外部反馈 → 增强学习
- 模仿人类学习的模型
- CNN 能理解,把它放在游戏中,做决策,给出反馈,让它学会决策的能力
- 应用: 围棋,德州扑克,自动游戏,路径规划
GAN
生成网络 + 判别网络 → 对抗网络
- 生成网络学会怎么生成数据,如输入有表情图片,学习怎么输出没有表情的图片,实际生成质量不是很好
- 判别网络判断生成网络生成的图片是不是真的
- 两者结合生成网络生成的图片越来越逼真,判别网络鉴别图片的能力也越来越强
- 作用: 生成数据,相当于无监督学习
E-mail:hithongming@163.com