热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

卷积神经网络的分布式训练(一)ResNet

卷积神经网络的分布式训练(一)ResNet该专题是我本科毕设的各个知识点介绍和分析,以及一些实验结果展示。本科毕业了,研究生开学,又进入了一个新的学习阶段,那么趁着有时间就总结一下

卷积神经网络的分布式训练(一)ResNet

该专题是我本科毕设的各个知识点介绍和分析,以及一些实验结果展示。本科毕业了,研究生开学,又进入了一个新的学习阶段,那么趁着有时间就总结一下这个课题,分享给大家~
如果你觉得对你有帮助,给我点赞吧!小女子能力有限,也欢迎大家批评指正。

目录

  • 卷积神经网络的分布式训练(一)ResNet
    • 一、ResNet 介绍
      • 基本原理
      • 层次种类
    • 二、网络模型结构设计
      • 1、预处理模块
      • 2、基本单元
      • 3、池化层
      • 4、全连接层
    • 参考文献

一、ResNet 介绍

ResNet(Residual Neural Network )
优点:解决网络退化、梯度消失和梯度爆炸等问题。

干货来咯~接下来将详细介绍ResNet的原理和层次种类。

基本原理

ResNet解决网络退化问题的关键:特殊的残差模块。

从图1可以看出,数据在经过网络时可以选择两条路径,一条是正常的路径,另一条是便捷的路径。这个捷径也就是残差网络中的ShortCut连接机制,它很像日常生活中的电路“短路”,可以将一个深层次的网络变成一个浅层次的网络。假设我们把神经网络中的一个模块的输入和输出关系看作y=H(x),x是输入,y是输出。如果通过正常的路径来对数据进行处理,那么直接通过梯度方法求得的H(x)就会出现退化问题。然而,如果通过ShortCut连接机制来处理数据,那么神经网络中可变参数的优化目标就不仅仅是H(x),而是H(x)=F(x)+x,则F(x)=H(x)-x,F(x)是可以进行优化的部分,对应着残差。因此,当输入数据时,神经网络只需要去学习输入和输出的差值即可,这样学习起来简单了很多。
卷积神经网络的分布式训练(一)ResNet

图1 ResNet残差模块的结构图[1]

卷积神经网络的分布式训练(一)ResNet

图2 ResNet普通残差模块和瓶颈模块的结构图[1]

ResNet的残差模块又可以分为两种类型的结构,一种是普通的残差模块结构,另一种是瓶颈模块结构。普通的残差模块结构只有两个层次,并且它们的卷积大小都是33。瓶颈模块结构,顾名思义,也就是它的卷积层的大小像“瓶颈”一样发生了变化,瓶颈模块结构一共有三层,比普通的残差模块多了一层,因此可以增加神经网络的深度。瓶颈模块只有第二层的卷积大小是33,第一层和第三层的卷积大小都是1*1,第一层负责缩小维度让第二层获地更少的通道数,第三层负责扩大维度来恢复通道数。

层次种类

ResNet一共有五种类型的层次,分别为18层、34层、56层、101层和152层,不管一个ResNet有多少层,它都是由四个基本的模块构成,每个基本模块又由多个残差模块组成。不同的是18层和34层的ResNet使用的是普通残差模块结构,50层、101层和152层的ResNet使用的是瓶颈模块结构。
卷积神经网络的分布式训练(一)ResNet

图3 不同层数的ResNet网络结构[1]

二、网络模型结构设计

建立神经网络模型的方法就是构建它的预处理模块、每个基本单元(包含多个ResBlock)、池化层和全连接层,最后用一个向前传播函数将他们连接起来即可。

1、预处理模块

根据你的数据格式处理即可。

2、基本单元

ResNet-34中有四个大的基本单元,而每一个基本单元又是由多个残差模块(ResBlock)组成,每个基本单元的ResBlock个数分别是:第一个单元3个ResBlock,第二个单元6个ResBlock ,第三个单元4个ResBlock 第四个单元3个ResBlock。如图4所示,每一个ResBlock由两个基本模块(BasicBlock)构成,BasicBlock是由卷积层、BN层(Batch Normalization)和**函数组成。
卷积神经网络的分布式训练(一)ResNet

图4 ResNet残差模块的基本结构图

3、池化层

池化层采用的是平均池化层,它的作用是汇总空间信息,缩小模型的大小,提高计算的速度。

4、全连接层

全连接层的作用是整合之前的层次提取出来的特征,对数据进行分类。

卷积神经网络的分布式训练(一)ResNet
图5 构建的ResNet结构图

参考文献

[1] HE K, ZHANG X, REN S, et al. Deep Residual Learning for Image Recognition; proceedings of the IEEE Conference on Computer Vision & Pattern Recognition, F, 2016 [C].


推荐阅读
  • 论文阅读:《Bag of Tricks for LongTailed Visual Recognition with Deep Convolutional Neural Networks》
    基于深度卷积神经网络的长尾视觉识别技巧包摘要近年来,挑战性长尾分布上的视觉识别技术取得了很大的进展,主要基于各种复杂的范式(如元学习)。除了这些复杂 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • https:www.bilibili.comvideoav43996494?p61补充说明(修正前面代码存在问题):#先验框筛选defchoose_anchor_boxes(sel ... [详细]
author-avatar
mobiledu2502908197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有