您的位置:首页 > 理论基础 > 计算机网络

七月算法深度学习 第三期 学习笔记-第二节 DNN与混合网络

2017-07-09 00:52 393 查看
背景介绍

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 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐