深度学习笔记

简介: 深度学习笔记

TensorFlow

TensorFlow 不仅是一个实现机器学习算法的接口,也是一种框架,也可用于线性回归、逻辑回归、随机森林等算法;

TensorFlow 使用数据流图来规划计算流程,每个运算操作作为一个节点 node,节点之间的连接称为边,边中流动的数据称为张量,故而得名 TensorFlow,预算操作可以有自己的属性,但必须被预先设置,或者能在创建计算图时被推断出来;

TensorFlow 有一套为节点分配设备的策略,这是一个简单的贪婪策略,不能确保找到全局最优解,但可以快速找到一个不错的节点运算分配方案;

故障出现的两种情况:一是信息从发送节点传输到接受节点失败时,而是周期性的 worker 心跳检测失败时;

TensorFlow 提供的加速神经网络训练的并行计算模式:

数据并行:通过将一个 mini-batch 的数据放在不同设备上计算没实现梯度计算的并行化,计算性能损耗非常小,同步的方式优点是没有梯度干扰,缺点是容错性差,异步的方式优点是有一定容错性,但因为梯度干扰,导致利用效率下降;

模型并行:将计算图的不同部分放在不同设备上运算;

流水线并行:将计算做成流水线,在一个设备上连续并行执行,提高设备利用率;

卷积神经网络 CNN

CNN 具有极强泛化性,最大的特点在于卷积的权值共享结构,能大幅较少神经网络的参数量,防止过拟合的同时降低了神经网络模型的复杂度;

CNN 每个卷基层中对数据的操作:

图像通过多个不同卷积核的滤波,加以偏置,提取出局部特征,每个卷积核映射出一个新的 2D 图像;

将卷积核的滤波结果进行非线性的激活函数处理,常为 ReLU 函数;

对激活结果进行池化操作(即降采样),一般采用最大池化,保留最显著特征,提升模型的畸变容忍能力;

卷积核的大小即为卷积核拥有的参数多少;

采用局部连接的方式,参数量得到了缩减;

卷积的好处是不管图片尺寸如何,我们需要训练的权值数量只和卷积核大小、卷积核数量有关,可以用极少的参数量处理任意大小的图片,虽然训练的参数下降了,但隐含节点数量未下降,隐含节点数量只与卷积的步长相关;

CNN 要点:

局部连接:降低参数量,减轻过拟合,降低训练复杂度;

权值共享:降低参数量,减轻过拟合,赋予对平移的容忍性;

池化层中的降采样:降低输出参数量,赋予轻度形变的容忍性,调高模型的泛化能力;

LeNet5 的特性:

每个卷基层包含三个部分:卷积、池化、非线性激活函数;

使用卷积提取空间特性;

降采样的平均池化层;

双曲正切或 S 型激活函数;

MLP(多层神经网络)作为最后的分类器;

层与层之间的稀疏连接减少计算复杂度;

LeNet5 有三个卷积层、一个全连接层和一个高斯连接层;

第一个卷积层 6 个卷积核,尺寸 55,共(55+1)*6 = 156 个参数

第二个卷积层 16 个卷积核;

第三个卷积层 120 个卷积核;

全连接层 84 个隐含节点,激活函数 Sigmoid;

VGGNet-16 网络结构主要分为 6 部分,前 5 段为卷积网络,最后一段为全连接网络;

第一段:两个卷积层和一个最大池化层,卷积核大小 33,卷积核数量 64,步长 11,第一个卷积层输入尺寸 2242243,输出尺寸 22422464,第二个输入输出尺寸均为 22422464,池化层 22,输出尺寸 112112*64;

第二段:和第一段相似,输出通道数变为 128,卷积网络输出尺寸 5656128,池化层保持不变;

第三段:三个卷积层和一个最大池化层,输出通道变为 256,输出尺寸 2828256;

第四段:和第三段相似,输出通道变为 512,通过最大池化将图片缩为 14*14;

第五段:和第四段相似,池化层尺寸 22,步长为 22,输出尺寸 77512;

第六段:将第五段输出结果进行扁平化,连接一个隐含节点数为 4096 的全连接层,激活函数为 ReLU;

R-CNN

检测系统三个模块:

生成类别无关区域提案;

从每个区域提取固定长度特征向量的大型 CNN;

一组特定类别的线性 SVM;

需要训练数据的三个阶段:

CNN 微调;

检测器 SVM 训练;

检测框回归训练;

引入 CNN 来分类目标候选框,有很高的目标检测精度,但有明显缺点:

训练过程是多级流水线;

训练在时间和空间的开销上极大;

目标检测速度很慢,因为为每个目标候选框进行 CNN 正向传递,不共享计算;

Fast R-CNN

训练 VGG16 网络比 SPP-Net 快 3 倍,测试速度快 10 倍,比 R-CNN 训练快 9 倍,测试时间快 213 倍,有 13 个卷积层和 3 个 fc 层;

目标检测难点:

大量候选目标位置(提案)需要处理;

候选框只提供粗略定位,必须对其精细化以实现精确定位;

优点:

比 R-CNN 和 SPPnet 有更高的目标检测精度 mAP;

训练是使用多任务损失的但阶段训练;

训练可以更新所有网络层参数;

不需要磁盘空间缓存特征;

网络架构流程:输入图像和多个感兴趣区域 ROI,传送到全卷积网络,经池化到固定大小的特征图中,然后通过全连接层 FC 映射到特征向量,网络对每个 ROI 具有两个输出向量:Softmax 概率和每类检测框回归偏移量;

Faster R-CNN

Faste R-CNN 实现了接近实时检测的速率,但忽略了生成区域提案框的时间,Faster R-CNN 算法通过将 RPN 网络集成到目标检测网络中共享卷积层,缩减了生成区域提案框的时间,计算提案框的边界成本小;

RPN 是一种全卷积网络 FCN,可以针对生成检测提案框的任务端到端训练;

RPN 中引入新“锚点”作为多尺度和纵横比的参考,避免了枚举多个尺度或纵横比得图像或卷积;

为统一 RPN 和 Fast R-CNN 网络,提出一种训练方案:保持提案框固定,微调区域提案和微调目标检测之间交替进行;

组成模块:

提出区域提案的 CNN 网络;

使用区域提案的 Fast R-CNN 检测器;

RPN 将一个任意大小的图像作为输入,输出矩形目标提案框的集合,每个框由一个 objectness 得分;

为生成区域提案框,在最后一个共享的卷积层输出的卷积特征映射上滑动小网络,网络连接到输入卷积特征映射的 n*n 的空间窗口,每个滑动窗口映射到一个低维向量上,向量在输出给两个同级的全连接的层:检测框回归层 reg 和检测框分类层 cls;

多尺度预测方式:

基于图像/特征金字塔:以多尺度调整大小,为每个尺度计算特征图,有效却耗时;

在特征图上使用多尺度的滑动窗口;

具有共享特征的网络的解决方案:

交替训练;

近似联合训练;

非近似联合训练;

cls 检测框分类层得分是排名最高的提案框准确的原因;



目录
相关文章
|
14天前
|
消息中间件 运维 监控
深度解析CommitFailedException的奥秘
深度解析CommitFailedException的奥秘
22 0
|
2天前
|
机器学习/深度学习 存储 人工智能
数据结构与算法设计:深度解析与实践
数据结构与算法设计:深度解析与实践
13 0
|
8月前
|
机器学习/深度学习 SQL 算法
深度互学习
翻译:《Deep Mutual Learning》
118 0
|
8月前
|
机器学习/深度学习 传感器 算法
【深度增强学习 初步学习总结】
【深度增强学习 初步学习总结】
|
4月前
|
人工智能 Java 程序员
一文带你深度体验DevChat
一文带你深度体验DevChat
|
10月前
|
机器学习/深度学习 人工智能 算法
强化学习从基础到进阶-案例与实践[4.1]:深度Q网络-DQN项目实战CartPole-v0
强化学习从基础到进阶-案例与实践[4.1]:深度Q网络-DQN项目实战CartPole-v0
|
Kubernetes 安全 Cloud Native
深度解读服务网格的未来|学习笔记
快速学习深度解读服务网格的未来
200 0
|
存储 SQL 运维
数据库原理深度讲解| 学习笔记
快速学习数据库原理深度讲解
152 0
|
机器学习/深度学习 人工智能 资源调度
深度强化学习技术概述
在本文中详细介绍了深度强化学习技术,将强化学习分成三大类(value-based算法、policy-based算法及结合两者的AC算法)来进行介绍。首先,从数学理论角度介绍了强化学习;接着,从不同适用方向对两类深度强化学习算法进行介绍:基于值函数(Value-based)的深度强化学习算法DQN和基于策略(Policy-based)的深度强化学习算法PG。最后,介绍目前应用广泛的结合前两个算法的结合物AC(Actor-Critic)算法。
1248 2
深度强化学习技术概述
|
网络架构
深度好文:什么是超网 Supernetting?
超网一般用于路由聚合,将具有相似网络前缀的多个网络的路由组合成一个路由条目,该路由条目指向一个超级网络,包含所有网络。这样的优点就是显着减小了路由表的大小以及路由协议交换的路由更新的大小。
954 0
深度好文:什么是超网 Supernetting?