17天之深度学习task04CNN(卷积神经网络)
卷积的含义
- 局部不变性:尺度缩放、平移、旋转不改变语义信息;
- 自然图像中的物体大多数都有局部不变性,但是前馈神经网络很难提取到局部不变特性,所以提出来卷积神经网络;
CNN基本原理
卷积神经网络的基本结构大致包括:卷积层、激活函数、池化层、全连接层、输出层等
其他卷积模型
转置卷积 (低维特征映射到高维特征)
空洞卷积
- 为了增加输出单元的感受野,通过给“卷积核”插入空洞变相增加其大小
- 扩张卷积与普通卷积的相同点在于,卷积核的大小是一样的,在神经网络中即参数数量不变,区别在于扩张卷积具有更大的感受野
- 第一幅图中卷积核是33,第二幅图采用插入空洞的方式使33的卷积核变为5*5,其中dilation rate(扩张率) = 1,第三幅图中dilation rate(扩张率)=2;
感受野分析
- 上面是普通卷积操作
- 上面是插入空洞的卷积操作
上采样与下采样
上采样(放大图像/图像插值)
- 常用方法:双线性插值(bilinear),反卷积(Transposed Convolution),反池化(Unpooling)
- 原理:图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。除此之外,插值算法还包括了传统插值,基于边缘图像的插值,还有基于区域的图像插值。
下采样(降采样/缩小图像)
- 原理:池化
- 分为最大池化和均值池化
- 池化层不包含需要训练学习的参数,仅需指定池化操作的核大小、操作步幅以及池化类型
卷积层作用
卷积的模式
激活函数
- 在卷积神经网络中,最常用的是RELU,不太常用sigmod函数
优缺点
特征图
浅层卷积层:提取图像基本特征:比如纹理、方向
深层卷积层:提取的是图像高阶特征,出现了高层语义模式,如“车轮”、“人脸”等特征
全连接层
- 对卷积层和池化层输出的特征图(二维)进行降维
- 将学到的特征表示映射到样本标记空间的作用
输出层
卷积神经网络的训练
- Step 1:用随机数初始化所有的卷积核和参数/权重
- Step 2:将训练图片作为输入,执行前向步骤(卷积, ReLU,池化以及全连接层的前向传播)并计算每个类别的对应输出概率。
- Step 3:计算输出层的总误差
- Step 4:反向传播算法计算误差相对于所有权重的梯度,并用梯度下降法更新所有的卷积核和参数/权重的值,以使输出误差最小化
经典的卷积神经网络结构
1. LeNet-5
2. AlexNet
- 首次成功应用ReLU作为CNN的激活函数
- 使用Dropout丢弃部分神元,避免了过拟合
- 使用重叠MaxPooling(让池化层的步长小于池化核的大小), 一定程度上提升了特征的丰富性
- 使用CUDA加速训练过程
- 进行数据增强,原始图像大小为256×256的原始图像中重 复截取224×224大小的区域,大幅增加了数据量,大大减轻了过拟合,提升了模型的泛化能力
3. VGGNet
- 比较常用的是VGG-16,结构规整,具有很强的拓展性
- 相较于AlexNet,VGG-16网络模型中的卷积层均使用 333∗3 的 卷积核,且均为步长为1的same卷积,池化层均使用 222∗2 的 池化核,步长为2
4. Inception Net
5. ResNet
6. Densenet
- DenseNet中,两个层之间都有直接的连接,因此该网络的直接连接个数为L(L+1)/2。
- 对于每一层,使用前面所有层的特征映射作为输入,并且使用其自身的特征映射作为所有后续层的输入
CNN应用
图像方面
- 图像分类(物体识别):整幅图像的分类或识别
- 物体检测:检测图像中物体的位置进而识别物体
- 图像分割:对图像中的特定物体按边缘进行分割
- 图像回归:预测图像中物体组成部分的坐标
语音识别
自然语言处理
- 比如情感分析
17天之深度学习task04CNN(卷积神经网络)相关推荐
- 深度学习之卷积神经网络(11)卷积层变种
深度学习之卷积神经网络(11)卷积层变种 1. 空洞卷积 2. 转置卷积 矩阵角度 转置卷积实现 3. 分离卷积 卷积神经网络的研究产生了各种各样优秀的网络模型,还提出了各种卷积层的变种,本节将重点介 ...
- 深度学习之卷积神经网络(10)CIFAR10与VGG13实战
深度学习之卷积神经网络(10)CIFAR10与VGG13实战 MNIST是机器学习最常用的数据集之一,但由于手写数字图片非常简单,并且MNIST数据集只保存了图片灰度信息,并不适合输入设计为RGB三通 ...
- 解析深度学习:卷积神经网络原理与视觉实践
解析深度学习:卷积神经网络原理与视觉实践 魏秀参 著 ISBN:9787121345289 包装:平装 开本:16开 正文语种:中文 出版社: 电子工业出版社 出版时间:2018-11-01
- 【深度学习】卷积神经网络实现图像多分类的探索
[深度学习]卷积神经网络实现图像多分类的探索 文章目录 1 数字图像解释 2 cifar10数据集踩坑 3 Keras代码实现流程 3.1 导入数据 3.2 浅层CNN 3.3 深层CNN 3.4 进 ...
- 【深度学习】卷积神经网络速成
[深度学习]卷积神经网络速成 文章目录 [深度学习]卷积神经网络速成 1 概述 2 组成 2.1 卷积层 2.2 池化层 2.3 全连接层 3 一个案例 4 详细分析 1 概述 前馈神经网络(feed ...
- 深度学习~卷积神经网络(CNN)概述
目录 1. 卷积神经网络的形成和演变 1.1 卷积神经网络结构 1.2 卷积神经网络的应用和影响 1.3 卷积神经网络的缺陷和视图 1.3.1 缺陷:可能错分 1.3.2 解决方法:视图 ...
- 深度学习之卷积神经网络(13)DenseNet
深度学习之卷积神经网络(13)DenseNet Skip Connection的思想在ResNet上面获得了巨大的成功,研究人员开始尝试不同的Skip Connection方案,其中比较流行的就是D ...
- 深度学习之卷积神经网络(12)深度残差网络
深度学习之卷积神经网络(12)深度残差网络 ResNet原理 ResBlock实现 AlexNet.VGG.GoogleLeNet等网络模型的出现将神经网络的法阵带入了几十层的阶段,研究人员发现网络的 ...
- 深度学习之卷积神经网络(8)BatchNorm层
深度学习之卷积神经网络(8)BatchNorm层 BatchNorm层概念 BatchNorm层实现 1. 向前传播 2. 反向更新 3. BN层实现 4. 完整代码 卷积神经网络的出现,网络参数量大 ...
最新文章
- ThinkPHP 详细介绍
- ecshop订单-》待付款,待发货,待收货,收货确认
- Centos mysql的安装和配置
- [linux] shell脚本编程-统计日志文件中的设备号发通知邮件
- linux 网络地址
- [js高手之路]从零开始打造一个javascript开源框架gdom与插件开发免费视频教程连载中...
- 说说MaxTenuringThreshold这个参数
- java 线程变量put_Java线程(篇外篇):线程本地变量ThreadLocal
- java简单ai聊天_一个hello/hi的简单的网络聊天程序——JAVA
- 怎么样做好手机网站的优化和推广呢?
- 十四、View Port 2.0
- H2080刷卡门禁一体机使用说明书 誉诚AD281A-T楼宇主机说明书
- xftp地址栏消失解决办法
- ESP8285 sdkconfig
- FlexBuilder安装和HelloWorld例子
- EasyRecovery最新免费专业版数据恢复软件
- 基于python mediapipe的视频或者图片更换背景
- h3c 云服务器操作系统,产品技术-H3C CloudOS云操作系统电信版-新华三集团-H3C
- 大冬与小冉的故事 !!!-----阿冬专栏
- 【报告分享】快手私域经营白皮书-磁力引擎(附下载)