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结构.等等. 集合类就 ...
随机推荐
- 聚合函数:sum,avg,max,min,count
group by 分组的使用方法 数学函数:ABS.ceiling.floor.power.round.sqrt.square 练习:
- 把应用程序exe 注册成为windows 服务的方法
由于在Windows 服务器上必须要启动一个软件,提供外网访问内网的客户端软件,但是由于每次远程服务器之后会注销当前用户,所以客户端软件就会自动退出,那么我在外网的系统就不能支持访问了. 解决方案:将 ...
- Javascript 中的一些关于时间的操作【转】
1.时间对象和一些简单操作函数 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
- MySQL启动错误排查
一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...
- vue 解决display与 transition冲突
下边是vue的源码 var raf = inBrowser && window.requestAnimationFrame; var waitForTransitionStart = ...
- DOM模型有三种
<!-- DOM模型有三种: DOM level 1:将HTML文档封装成对象. DOM level 2:在level 1基础加入新功能,比如解析名称空间. //<html xmlns=& ...
- Ceph与OpenStack的Nova相结合
https://ervikrant06.wordpress.com/2015/10/24/how-to-configure-ceph-as-nova-compute-backend/ 在Ceph的ad ...
- shopnc 支持 支付宝快捷登陆 shopnc权限验证原理说明
为目前使用的是shopnc商场二次开发,shopnc本身做了qq互联和微博快捷登陆的api,做成了集成通用的接口 首先说下基本的这种类型的api访问方式,首先,的有个配置文件,配置你申请的id和key ...
- NEC学习 ---- 模块 - 左图右文图文列表
该模块效果图: 这个模块也是在开发中经常使用的一种: HTML代码: <div class="container"> <div class="m-lis ...
- Java虚拟机内存管理机制
自动内存管理机制 Java虚拟机(JVM)在执行Java程序过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区 ...