#卷积神经网络(CNN)基本概念#

##发展历程##

  • 1959 加拿大神经科学家提出感受野概念
  • 1980日本科学家福岛邦彦提出神经认知模型,S-cells抽取局部特征—>卷积convolution层,C-cells抽象和容错—>池化pooling层
  • 1998 Yann LeCun 基于梯度学习的卷积神经网络LeNet 手写字体识别
  • 2012 Hinton AlexNet在ImageNet夺冠
  • 2015 改进激活函数,预测能力超过人类

##基本结构

  • 原始数据raw data representation—>卷积、池化、非线性激活函数(不同操作层的“堆叠”)—>映射为高级语义表示—>向任务目标映射==>“端到端”学习或“表示学习”
  • 前馈运算:对样本进行推理和预测
  • 反馈运算:将预测误差反向传播逐层更新参数
  • 两种运算交替以训练网络模型

##基本部件

  • “端到端”学习,替代特征表示+分类器
  • 网络某一层的输入通常是一个四维张量(高度,宽度,维度,mini-batch)

卷积层

  • 卷积核f可视为学习到的权重w,对不同位置的所有输入都是相同的,即卷积层的“权值共享”特性。可加入偏置项b。
  • 超参数:卷积核大小filter size、卷积步长stride
  • 作用:获取图像的局部信息,如边缘、颜色、形状、纹理等。
    汇合层(池化层)
  • 超参数:汇合类型(average-pooling、max-pooling等)、核大小、步长。
  • 作用:特征不变性(容错)、特征降维(降采样)、一定程度防止过拟合。
    (stride convolutional layer 可代替汇合层降采样)
    激活函数(非线性映射层)
  • 作用:增加网络的表达能力(即非线性)
  • ReLU函数
    全连接层
  • 作用:将学习到的特征表示映射到样本的标记空间,类似于“分类器”
    目标函数
  • 作用:衡量该预测值与真实样本标记之间的误差 。
  • 最常用的目标函数:交叉熵损失函数——分类问题,l2损失函数——回归问题

备注:
1、单层感知机属于线性分类器,由于异或问题非线性可分,故无法解决疑惑问题。而多层感知机计算复杂,无法直接求解隐藏层参数,故直到Hinton等提出BP算法,基于链式求导法则,解决了多层感知机中间层参数计算的问题。
2、神经网络模型是非凸函数且复杂,优化求解困难,因此采用随机梯度下降SGD和误差反向传播进行模型参数更新。批处理mini-batch SGD 每次不放回随机抽样,遍历一次训练集为一轮epoch,避免局部最优更新。


##三个重要概念
感受野

  • 小卷积核的多层堆叠可取得大卷积核同等规模的感受野,加深网络(增强容量和复杂度)、减少参数个数。
    分布式表示
  • “语义概念”到神经元是一个多对多映射 。
    深度特征的层次性
  • 随着若干卷积、汇合等操作的堆叠,各层得到的深度特征逐渐从泛化特征过渡到高级语义表示。

##四种经典网络
Alex-Net
VGG-Nets
Network-In-Network
Residual Network深度残差网络


##数据扩充

  • 水平翻转、随机扣取(0.8-0.9倍)、尺度变换(分辨率变为原图0.8-1.3等倍)、旋转变换、色彩抖动(对RGB色彩分布轻微扰动、HSV颜色空间随机改变S饱和度和V明度通道的值)

  • Fancy PCA:“可以近似的捕获自然图像 的一个重要特性,即物体特质与光照强度和颜色变化无关 。”对所有训练数据的R,G,B像素值进行主成分分析,得到对应的特 征向量 pi 和特征值 λi i = 1, 2, 3 ,然后根据特征向量和特征值可以计算一组随机值 [p1, p2, p3] [α1λ1, α2λ2, α3λ3]⊤,每一个epoch重新选取αi计算新的随机值,将其作为扰动加到原像素值中即可。

  • 监督式数据扩充:根据原数据训练一个分类的初始模型,利用该模型对每张图生存对应的特征图或热力图(可指示图像区域与场景标记间的相关概率),选择较强相关的图像区域作为扣取的图像块。


##数据预处理

  • 卷积神经网络中的数据预处理通常是计算训练集图像像素均值,之后在处理训练集验证集和测试集图像时分别减去该均值。
  • 原理:我们默认自然图像是一类平稳的数据分布(即数据每一个维度的统计都服从相同分布),此时,在每个样本上减去数据的统计平均值(逐样本计算)可以移除共同部分,凸显个体差异。

##网络参数初始化

  • 通过合理的数据预处理和规范化,当网络收敛到稳定状态时,参数(权值)在理想情况下应基本保持正负各半的状态(此时期望为0 ) 。
  • 随机初始化:随机参数服从高斯分布或均匀分布。w=0.001*randn(n_in,n_out)
    不足:方差会随输入神经元的个数改变。
  • Xavier参数初始化方法:加入了 方差规范化。w=0.001*randn(n_in,n_out)/sqrt(n)
    不足:并未考虑非线性映射函数对输入 s 的影响
  • He方法:将非线性映射造成的影响考虑进参数初始化中,方差规范化分母sqrt(n/2)
  • 利用预训练模型

##激活函数

  • Sigmoid型函数

  • tanh(x)型函数
    在 型函数基础上为解决均值并非为0而是全为正的问题提出的激活函数: tanh(x)=2sigmiod(2x)-1
    依然会发生“梯度饱和”现象 。

  • 修正线性单元( ReLU)

  • Leaky ReLU

  • 参数化ReLU

  • 随机化ReLU

  • 指数化线性单元(ELU)


##目标函数

  • 分类任务
    -交叉熵cross entropy损失函数(Softmax)
    -合页损失函数hinge loss
    -坡道损失函数ramp loss
    交叉熵损失函数是最为常用的分类目标函数,且效果一般优于合页损失函数;大间隔损失函数和中心损失函数从增大类间距离、减小类内距离的角度不仅要求分类准确,而且还有助提高特征的分辨能力;坡道损失函数是分类问题目标函数中的一类非凸损失函数,由于其良好的抗噪特性,推荐将其用于样本噪声或离群点较多的分类任务。

  • 回归任务
    l1 损失函数和 l2 损失函数是两个直观且常用的 回归任务目标函数,实际使用中 l2 损失函数略优于 l1 损失函数; 损失函数为回归问题中的一类非凸损失函数,同样具有良好的抗 噪能力;


##网络正则化

  • 目的:防止过拟合。
  • 正则化是机器学习中通过显式的控制模型复杂度来避免模型过拟合、确保泛化能力的一种有效方式 。
    A. l1正则化
    B. l2正则化
    C. 最大范数约束
    D. 随机失活dropout
    原理:对于某层的每个神经元,在训练阶段 均以概率 p 随机将该神经元权重置 (故被称作“随机失活”),测试阶段所有神经元均呈激活态,但其权重需乘 (1 − p) 以保证训练和测试阶段各自权重拥有相同的期望 。
    工程实现时使用“倒置随机失活” ,训练阶段:(1/(1-p))w 测试阶段w
    E. 利用验证集判断模型过拟合、欠拟合
    “早停”:取验证集 准确率最高的那一轮训练结果作为最终网络。

##超参数设定和网络训练

  • 输入数据大小一般为a*2^n的正方形,便于GPU并行计算。
  • 卷积层推荐使用3x3,5x5的小卷积核,还可以对图像边缘做填充操作。
  • 汇合层常用2x2,步长为2。
  • 训练数据随机打乱,确保模型不同epoch相同batch看到的数据是不同的。
  • 初始学习率不宜过大(0.01或0.001),学习率应随轮数增加而减缓。
  • 批规范化batch normalization:

读书笔记——《解析卷积神经网络 ——深度学习实践手册(魏秀参)》相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 1、一、Introduction(入门): 0、Introduction to Android(引进到Android)
  2. JavaWeb入门篇(6) 实现字符过滤器 解决全局字符乱码 实现模拟权限拦截
  3. Java电子书平滑翻页效果_(转载)Android 平滑和立体翻页效果1
  4. Python-视频爬取示例对小白友好
  5. 使用web服务器控件显示页面,服务器_Web服务器控件:TextBox控件,阅读此文请先查看网页教学网 - phpStudy...
  6. Android开发笔记(一百五十四)OpenGL的画笔工具GL10
  7. 餐饮为什么很难做到薄利多销?
  8. (二十四)JSP标签之基本标签(jsp:标签名)
  9. uniGUI session超时时间设置
  10. docker-compose 部署 mindoc文档服务器(支持在线markdown文件编辑)
  11. Tiles的使用,遗漏和总结
  12. matlab如何泰勒公式用求近似值_泰勒公式在生活中的应用.doc
  13. html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局
  14. thinkpad x250装黑苹果教程_[黑苹果]x250 黑苹果历险记
  15. oracle 获取当月的1号_Oracle 获取当前年、月、日
  16. 发布微头条显示调用服务器失败,发布的微头条,有的标明“内容已编辑”,有的未标示,这是怎么回事?...
  17. 常用半导体器件之二极管
  18. 使用Dism++备份系统文件并恢复
  19. ssd(Single Shot MultiBox Detector)解读之(一)原理解析
  20. 夺命雷公狗---DEDECMS----21dedecms按照地区取出电影内容

热门文章

  1. 企业微信(WeCoom)私有化客户端Api解决方案
  2. 课堂经验值管理小程序_济南小程序开发,微信小程序应用开发实现单店管理
  3. 校园网里,一账号多人上网或者多账号多人上网的宿舍路由器设置方法
  4. eova常用前端组件介绍
  5. (图论) Tarjan 算法
  6. 图论(Tarjan算法与无向图)
  7. 将vscode改成中文界面
  8. 中国5级省市编码爬去整理(统计用区划和城乡划分代码)
  9. Mac OS X 上用 otool 代替 ldd
  10. List集合排序的两种方法