CNN & RNN 及一些常识知识(不断扩充中)
参考:
http://blog.csdn.net/iamrichardwhite/article/details/51089199
一、神经网络的发展历史
五六十年代,提出感知机
八十年代,提出多层感知机,也就是神经网络,神经网络的层数直接决定了它对现实的刻画能力。
但是,多层神经网络带来了一些问题:
优化函数越来越容易陷入局部最优解
梯度消失现象更加严重
06年,Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层,神经网络有了真正意义上的深度,解开了深度学习DNN的热潮。近期出现的高速公路网络和深度残差学习进一步避免了梯度消失,达到了前所未有的100多层。
二、CNN的提出:卷积神经网络
全连接DNN中参数数量膨胀,不仅容易过拟合,还容易陷入局部最优。对此,提出CNN,通过卷积核作为中介,取代全连接来连接相邻的两层。同一个卷积核在所有图像内共享,图像通过卷积操作后仍然保留原来的位置关系。CNN模型限制了参数的个数并且挖掘了局部结构的这个特点。
三、RNN的提出:循环神经网络
全连接DNN无法对时间序列上的变化进行建模,但样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要,所以提出了RNN。
RNN中,神经元的输出可以再下一个时间戳直接作用到自身。但同时在时间轴上出现了梯度消失现象,引入长短时记忆单元LSTM,通过门的开关实现时间上的记忆功能,并防止梯度消失。
为了利用未来的信息,引入双向RNN、双向LSTM,同时利用历史和未来的信息。
四、CNN的典型代表:LeNet5
目标问题:手写体识别
输入层:32*32
C1:卷积层,6个特征图,每个和输入中的5*5的邻域相连,特征图大小28*28,每个卷及神经元参数数目:5*5+1=26,25个unit参数和1个bias参数,连接数目(5*5+1)*6*(28*28)=122,304个,因为参数共享,所以总的参数为(5*5+1)*6=156个。
S2:下采样层,6个14*14的特征图,每个图的每个单元和C1中的2*2邻域相连,不重叠。
C3:卷积层,16个卷积核,得到16个特征图,每个大小10*10,每个特征图的每个神经元和S2中的某三层中5*5邻域相连
S4:下采样层,由16个5*5大小的特征图构成,每个单元与C3中的2*2邻域相连接
C5:卷积层,120个神经单元,和C5全连接
F6:全连接层,84个单元,和C5全相连
输出层:欧式径向基函数
五、CNN反向传播的三种情况
卷积层后是一个pooling层:
mean-pooling:等值复制
max-pooling:在前向传播中记录最大值的位置
pooling层后是一个卷积层:
先对卷积层中对应的残差图进行扩充
扩充后的矩阵与对应的核进行卷积
矩阵求和
卷积层与前一层连接方式未定:
定义卷积核与前一层特征图之间的连接强度,可表示为另一个值的softmax函数,通过加入规则化项加强洗属性
六、著名实现
Alex Net
ZF Net
GoogLeNet
VGGNet
ResNet
七、过拟合和正则化
两种正则化方法:
penalizing weights:
l1-norm/l2-norm
weights/embedding
dropout:
删除部分节点
CNN & RNN 及一些常识知识(不断扩充中)的更多相关文章
- Sql Server 小知识不断扩充中
1. char.varchar.nvarchar 区别 char 定长字符数据长度8000字符,小于8000字符时以空格填充. varchar 变长字符数据最大长度8000,小于8000字符时不会以 ...
- 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
https://zhuanlan.zhihu.com/p/25928551 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类 ...
- [转] 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
转自知乎上看到的一篇很棒的文章:用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文 ...
- 使用Keras搭建cnn+rnn, BRNN,DRNN等模型
Keras api 提前知道: BatchNormalization, 用来加快每次迭代中的训练速度 Normalize the activations of the previous layer a ...
- 深度学习-CNN+RNN笔记
以下叙述只是简单的叙述,CNN+RNN(LSTM,GRU)的应用相关文章还很多,而且研究的方向不仅仅是下文提到的1. CNN 特征提取,用于RNN语句生成图片标注.2. RNN特征提取用于CNN内容分 ...
- 网站开发进阶(二十二)HTML UI知识汇总(更新中...)
HTML知识汇总(更新中...) 1.<iframe> 标签 浏览器支持 所有浏览器都支持 <iframe> 标签. 定义和用法 iframe 元素会创建包含另外一个文档的内联 ...
- Java开发知识之Java中的Map结构
Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...
- Java开发知识之Java中的集合Set接口以及子类应用
---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...
- Java开发知识之Java中的集合上List接口以及子类讲解.
Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...
随机推荐
- 【android design】android常用设计资源
一.概述 大部分程序员擅长开发,但是对于设计却知之甚少.这直接导致,程序员在初期开发出来的应用(大多为兴趣或实用导向)中看不中用.因此,有必要搜集整合一些设计资源,这样既能减轻程序员在设计上所耗费的时 ...
- HDU3466 背包DP
Proud Merchants Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) ...
- c#面向对象基础 静态成员、构造函数、命名空间与类库
静态成员 属性.方法和字段等成员是对象实例所特有的,即改变一个对象实例的这些成员不影响其他的实例中的这些成员.除此之外,还有一种静态成员(也称为共享成员),例如静态方法.静态属性或静态字段.静态成员可 ...
- 演示一个OLS进行数据访问控制的示例
1.确认数据库版本 2.安装OLS组件 3.创建策略 4.创建分级和标签 5.创建测试用户并授权 6.更新标签 7.测试演示
- bootstrap日期插件
<!DOCTYPE HTML> <html> <head> <link href="http://netdna.bootstrapcdn.com/t ...
- JavaScript原型链问题
1. 使用new来创建对象(调用构造函数)时,如果return的是非对象(数字.字符串.布尔类型等)会忽而略返回值;如果return的是对象,则返回该对象. 2. 重写原型会切断原型链: foo = ...
- BizTalk开发系列(七) Hello World2
之前根据BizTalk的订阅原理,使用BizTalk管理控制台创建了第一个应用程序 Hello World.但是由于控制台的开发功能有限,绝大多数的BizTalk程序都是在集成开发环境Visual S ...
- IOS第15天(2,事件处理hitTest练习)
***hitTest 获取最合适的点 @implementation HMGreenView - (void)touchesBegan:(NSSet *)touches withEvent:(UIEv ...
- 罪恶装备 Xrd REVELATOR 3D进化出的非照片真实视觉
GUILTY GEAR Xrd REVELATOR 3D进化出的非照片真实视觉 罪恶装备系列是用2D日系动画一样的惊异视觉来吸引玩家的. 最新续品[GUILTY GEAR Xrd-REVELATOR- ...
- array_diff的参数前后循序的区别
//如果两个参数之间有区别.array_diff会返回第二个参数的差值 $oldData = array(0=>'德国',1=>'deguo'); $newData = array(0=& ...