背景介绍
1.深度学习应用
图像应用----识别 (举例:淘宝拍立淘、路况识别、图像labeling、图像分割转换)
NLP应用----文笔模仿
NLP+图像上的应用----机器翻译、机器同声传译、语音识别

综合应用
综合应用原理
2.神经网络非线性能力及原理
1).感知器与逻辑门
线性分类器:得分函数
损失函数(或称代价函数、客观度): 给定W,可以由像素映射到类目得分 ;可以调整参数/权重W,使得映射的结果和实际类别吻合;损失函数是用来衡量吻合度的。
损失函数1:支持向量机损失(SVM)
Ø 对于训练集中的第i张图片数据xi
Ø 在W下会有一个得分结果向量f(xi,W)
Ø 第j类的得分为我们记作f(xi,W)j
Ø 则在该样本上的损失我们由下列公式计算得到
损失函数2:交熵损失(softmax分类器)
Ø 对于训练集中的第i张图片数据xi
Ø 在W下会有一个得分结果向量fyi
使用log原因:概率值连乘容易超过计算机最小范围精度,相对来说加法可控
为什么不用MSE:因为是非凸函数
支持向量机损失(SVM)与交叉熵损失比较:SVM是求超过安全距离带来的loss交叉熵损失是求两个概率向量差异度有多高(从最大似然角度去考虑)
通常学习框架(可以理解为blackbox映射):语音识别、手写识别、下围棋AI、聊天机器人系统
神经网络定义:输入层、输出层、隐层(特征交叉、组合、提取)
从逻辑回归到神经元“感知器”
添加少量隐层 => 浅层神经网络
增多中间层 => 深度神经网络(DNN)
2).强大的空间非线性切分能力
Google机器学习平台Tensortflow游乐场---Neural Network Playground (http://playground.tensorflow.org)
神经网络非线性切分:神经元完成【逻辑与】、【逻辑或】
3).网络表达力与过拟合问题
o 理论上说单隐层神经网络可以逼近任何连续函数(只要隐层的神经元个数足够多)。
o 虽然从数学上看表达能力一致,但是多隐藏层的神经网络比 单隐藏层的神经网络工程效果好很多。
o 对于一些分类数据(比如CTR预估里),3层神经网络效果优于2层神经网络,但是如果把层数再不断增加(4,5,6层),对最后结果的帮助就没有那么大的跳变了。
o 图像数据比较特殊,是一种深层(多层次)的结构化数据,深层次的卷积神经网络,能够更充分和准确地把这些层级信息表达出来。
o 提升隐层层数或者隐层神经元个数,神经网络“容量”会变大,空间表达力会变强。
o 过多的隐层和神经元节点,会带来过拟合问题。
o 不要试图通过降低神经网络参数量来减缓过拟合,用正则化或者dropout。
传递函数:Sigmoid函数与双sigmoid函数比较
4).BP算法与SGD
BP算法
SGD:
前向传播 反向运算 参数更新
3.代码与实例
1).Tensorflow多层感知器非线性切分
2).神经网络分类(非线性)示例
ipython notebook
3).Google Wide&&Deep Model