学习笔记TF027:卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN),可以解决图像识别、时间序列信息问题。深度学习之前,借助SIFT、HoG等算法提取特征,集合SVM等机器学习算法识别图像。
SIFT,缩放、平移、旋转、视角转变、亮度调整畸变的一定程度内,具有不变性。有局限性,ImageNet ILSVRC比赛最好结果错误率在26%以上,常年难以突破。
卷积神经网络提取特征效果更好,分类训练时自动提取最有效特征。卷积神经网络CNN,降低图像数据预处理要求,避免复杂特征工程。CNN使用图像原始像素输入,对缩放、平移、旋转畸变具有不变性,强泛化性。CNN卷积权值共享结构,大幅减少神经网络参数量,防止过拟合,降低神经网络模型复杂度。延时神经网络TDNN,时间权值共享,降低学习时间序列信号复杂度。
感受野(Receptive Field),每个视觉神经元只会处理一小块区域视觉图像。神经认知机(Neocognitron),两类神经元,抽取特征S-cells对应主流卷积神经网络卷积核滤波操作,抗形变C-cells对应激活函数、最大池化(Max-Pooling)操作。LeCun LeNet CNN首个成功多层训练网络结构。卷积神经网络利用空间结构关系减少学习参数量,提高反向传播算法训练效率。
第一个卷积层,接受图像像素级输入,每个卷积操作只处理一小块图像。卷积变化后传到后面网络。每一层卷积(滤波器),提取数据最有效特征。提取图像最基础特征,组合抽像更高阶特征。
一般卷积神经网络多个卷积层构成。每个卷积层,图像多个不同卷积核滤波,加偏置(bias),提取局部特征,每个卷积核映射一个新2D图像,卷积核滤波输出结果,非线性激活函数处理(ReLU),激活函数结果池化操作(降采样),最大池化,保留最显著特征,提升模型畸变容忍能力。可以加LRN(Local Response Normalization 局部响应归一化层),Batch Normalizations。
卷积核权值共享,卷积层多个不同卷积核,卷积核对应滤波后映射新图像,同一新图像每个像素来自完全相同卷积核。降低模型复杂度,减轻过拟合,降低计算量。
图像空间有组织结构,每个像素点与空间周围像素点有紧密联系,与太遥远像素点少联系,即感受野。每个感受野只接受一小块区域信号。小块区域内像素互相关联,每个神经元不需要接收全部像素点信息,只接收局部像素点输入,再将所有神经元收到局部信息综合起来得到全局信息。将全连接模型改为局部连接,从隐含层每个隐含节点和全部像素相连,改为每个隐含节点连接局部像素节点。
局部连接方式卷积操作,默认每个隐含节点参数完全一样。不再担心隐含节点数量和图片大小,参数量只跟卷积核大小有关。权值共享。一个卷积核只能提取一种卷积核滤波结果,只能提取一种图片特征。每个卷积核滤波图像是一类特征映射,一个Feature Map。一般,第一个卷积层100个卷积核已经充足。
卷积,不管图片尺寸,训练权值只与卷积核大小、数量有关,可以用非常少参数量处理任意大小图片。每个卷积层提取特征,在后面层抽象组合更高阶特征,多层抽象卷积网络表达能力强,效率高。隐含节点数量没有下降,隐含节点数量只跟卷积步长有关。隐含节点数量=输入像素数量/(步长X步长)。
卷积神经网络,局部连接(Local Connection)、权值共享(Weight Sharing)、池化层(Pooling)降采样(Down-Sampling)。局部连接、权值共享降低参数量,训练复杂度下降,减轻过拟合。权值共享,卷积网络平移容忍性。池化层降低输出参数量,模型轻度形变容忍性,提高泛化能力。训练中自动完成特征提取抽象,同时模式分类,降低图像识别难度。
LeNet5 始于1994年,深层卷积神经网络。Yann LeCun。可训练参数卷积层,用少量参数在图像多个位置提取相似特征。如果图像独立像素直接作输入,利用不到图像很强的空间相关性。每个卷积层包含卷积、池化、非线性激活函数。卷积提取空间特征。降采样(Subsample)平均池化层(Average Pooling)。双曲正切(Tanh)或S型(Sigmoid)激活函数。MLP最后分类器。层间稀疏连接减少计算复杂度。
State-of-the-art。LeNet5奠定现代卷积神经网络基石。LeNet5,输入图像,三个卷积层,一个全连接层,一个高斯连接层。第一个卷积层C1有6个卷积核,卷积核尺寸为5x5,共(5x5+1)x6=156个参数。1个bias。2x2平均池化层S2降采样。Sigmoid激活函数非线性处理。第二个卷积层C3,卷积核尺寸5x5,16个卷积核,16个Feature Map。第二个池化层S4,2x2降采样。第三个卷积层C5,120个卷积核,卷积大小5x5,输入5x5,构成全连接,可以算全连接层。F6全连接层,84个隐含节点,激活函数Sigmoid。最后一层,欧式径向基函数(Euclidean Radial Basis Function)单元组成,输出最后分类结果。
参考资料:
《TensorFlow实践》
欢迎付费咨询(150元每小时),我的微信:qingxingfengzi
学习笔记TF027:卷积神经网络的更多相关文章
- CNN学习笔记:卷积神经网络
CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...
- 深度学习笔记 (一) 卷积神经网络基础 (Foundation of Convolutional Neural Networks)
一.卷积 卷积神经网络(Convolutional Neural Networks)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...
- 【学习笔记】卷积神经网络 (CNN )
前言 对于卷积神经网络(cnn)这一章不打算做数学方面深入了解,所以只是大致熟悉了一下原理和流程,了解了一些基本概念,所以只是做出了一些总结性的笔记. 感谢B站的视频 https://www.bili ...
- tensorflow学习笔记七----------卷积神经网络
卷积神经网络比神经网络稍微复杂一些,因为其多了一个卷积层(convolutional layer)和池化层(pooling layer). 使用mnist数据集,n个数据,每个数据的像素为28*28* ...
- CNN学习笔记:卷积运算
CNN学习笔记:卷积运算 边缘检测 卷积 卷积是一种有效提取图片特征的方法.一般用一个正方形卷积核,遍历图片上的每一个像素点.图片与卷积核重合区域内相对应的每一个像素值乘卷积核 .内相对应点的权重,然 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_2_卷积神经网络
先一层一层的说卷积神经网络是啥: 1:卷积层,特征提取 我们输入这样一幅图片(28*28): 如果用传统神经网络,下一层的每个神经元将连接到输入图片的每一个像素上去,但是在卷积神经网络中,我们只把输入 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_3_使用tensorflow搭建CNN来分类not_MNIST数据(有一些问题)
3:用tensorflow搭个神经网络出来 为什么用tensorflow呢,应为谷歌是亲爹啊,虽然有些人说caffe更适合图像啊mxnet效率更高等等,但爸爸就是爸爸,Android都能那么火,一个道 ...
- 学习笔记TF052:卷积网络,神经网络发展,AlexNet的TensorFlow实现
卷积神经网络(convolutional neural network,CNN),权值共享(weight sharing)网络结构降低模型复杂度,减少权值数量,是语音分析.图像识别热点.无须人工特征提 ...
随机推荐
- javaSE_08Java中static、继承、重写-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 : 2)右击在新标签中打开放大查看 (IE不支持,搜狗,360可以):
- 创建的docker容器时间显示错误/date错误/时区错误
前几天在测试应用的功能时,发现存入数据库中的数据create_time或者update_time字段总是错误,其他数据都是正常的,只有关于时间的字段是错误的. 进入linux服务器中查看,也没有任何的 ...
- iOS项目评估报告
1.整体项目无分层概念,结构混乱,代码耦合严重. 影响:后期扩展困难,维护困难. 解决方案:1.整体采用mvc模式. 2.在原来的基础再抽离出业务层 3.业务层按模块管理,合理分层分包. 4.做好共用 ...
- 保存和恢复 Android Fragment 的状态
经过几年在 Android 应用开发中应用 Fragment 的努力之后,我必须要说尽管Fragment的概念非常优秀,但是它也同时带来了一堆问题.当我们处理实例的状态保存时就需要特别一件一件地修护好 ...
- JavaScript中对事件简单的理解(2)
事件(event) event对象 (1)什么是event对象? Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态.事件通常与函数结合使用,函数不会 ...
- checkbox全选、全不选实现
<form name=aa1 > <p> <input type=checkbox name="radiot ...
- 利用浏览器查找font-family的css编码
提供一种利用Chrome快速查找字体编码的小技巧 打开浏览器,按下键盘F12 点击Console控制台 输入escape("要查询的字体中文名称")(注意:括号与引号都是英文输入法 ...
- Ubuntu ADSL拨号上网
一直在家用接ADSL的无线wifi上网,最近用了很久的NetGear无线路由器被我毁了,只好暂时用有线了.在Ubuntu Linux下也可直接使用ADSL拨号上网. 1.连接设备 这没什么可多说的,一 ...
- Vue.js组件之间的通信
导语:组件之间的关系不外乎两种, 父子组件和非父子组件,本文将对两类组件之间的通信方式进行详细阐述. 父子组件间的通信 通信方式1(单向绑定): Props down, Events up (建议使用 ...
- mysql GROUP_CONCAT获取分组的前几名
比如说要获取班级的前3名,oracle 可以用 over partition by 来做.mysql就可以用GROUP_CONCAT + GROUP BY + substring_index实现. ...