数据科学家应该知道的 10 个高级深度学习架构!

  • 一、介绍

  •         跟上深度学习的最新进展变得非常困难。几乎每天都会出现深度学习的新创新或新应用。然而,这些进步大部分都隐藏在 ArXiv / Springer 等媒体上发表的大量研究论文中。
  •         本文包含深度学习的一些最新进展以及 keras 库中的实现代码。我还提供了原始论文的链接,以防您有兴趣阅读或想要参考它们。
  •         为了使文章简洁,我只考虑了计算机视觉领域成功的架构。
  •         如果您有兴趣,请继续阅读!
  •         PS本文假设您具备神经网络知识并熟悉 keras。如果您需要了解这些主题,我强烈建议您先阅读以下文章:
  • 深度学习基础知识——从人工神经网络开始-CSDN博客

 

  • 教程:使用 Keras 优化神经网络(带有图像识别案例研究)
  • 目录
  • 介绍
  • 高级架构是什么意思?
  • 计算机视觉任务的类型
  • 深度学习架构列表
    • 1. 亚历克斯网络
    • 2.VGG网络
    • 3.谷歌网络
    • 4. 残差网络
    • 5.ResNeXt
    • 6.RCNN(基于区域的CNN)
    • 7. YOLO(你只看一次)
    • 8.挤压网
    • 9. 赛格网
    • 10.GAN(生成对抗网络)
  • 经常问的问题
  • 尾注
  • 二、高级架构是什么意思?

  • 与单一的传统机器学习算法相比,深度学习算法由一组不同的模型组成。这是因为神经网络在构建成熟的端到端模型时提供了灵活性。
  • 神经网络有时可以与乐高积木进行比较,您可以在其中构建几乎任何简单到复杂的结构,您的想象力可以帮助您构建。
  • 我们可以将高级架构定义为具有作为成功模型的良好记录的架构。这主要出现在像 ImageNet 这样的挑战中,你的任务是使用给定的数据解决问题,比如图像识别。对于那些不知道 ImageNet 是什么的人,它是 ILSVR(ImageNet 大规模视觉识别)挑战赛中提供的数据集。
  • 另外,正如下面提到的架构中所描述的,它们中的每一个都有细微差别,这使得它们与通常的模型不同;当他们被用来解决问题时给予他们优势。这些架构也属于“深层”模型的范畴,因此它们的性能可能比浅层模型更好。
  • 三、计算机视觉任务的类型

  • 本文主要关注计算机视觉,因此很自然地描述计算机视觉任务的范围。计算机视觉; 顾名思义,就是创建可以复制人类执行的视觉任务的人工模型。这本质上意味着我们所看到的和我们所感知的是一个可以在人工系统中理解和实现的过程。
  • 计算机视觉的主要任务类型可分为以下几类:
  • 对象识别/分类——在对象识别中,您会得到一张原始图像,您的任务是识别该图像属于哪个类别。
  • 分类+ 定位 ——如果图像中只有一个物体,而你的任务是找到该物体的位置,那么这个问题的一个更具体的术语就是定位问题。
  • 对象检测- 在对象检测中,您的任务是识别对象位于图像中的位置。这些对象可能属于同一类或完全不同类。
  • 图像分割——图像分割是一项有点复杂的任务,其目标是将每个像素映射到其正确的类别。
  • 四、深度学习架构列表

  • 现在我们已经了解了什么是高级架构并探索了计算机视觉的任务,让我们列出最重要的架构及其描述:
  • 1. 亚历克斯网络

  • AlexNet 是第一个深度架构,由深度学习先驱之一 Geoffrey Hinton 及其同事提出。它是一种简单但功能强大的网络架构,为当今深度学习的突破性研究铺平了道路。这是作者提出的架构的表示。
  • 当分解时,AlexNet 看起来像是一个简单的架构,其中卷积层和池化层一个在另一个之上,然后是顶部的全连接层。这是一个非常简单的架构,早在 20 世纪 80 年代就已概念化。该模型的独特之处在于它执行任务的规模以及使用 GPU 进行训练。20 世纪 80 年代,CPU 用于训练神经网络。而 AlexNet 仅使用 GPU 就将训练速度提高了 10 倍。
  • 尽管目前有点过时,AlexNet 仍然被用作将深度神经网络应用于所有任务的起点,无论是计算机视觉还是语音识别。
  • 原论文 链接
  • 代码实现链接
  • 2.VGG网络

  • VGG 网络是由牛津大学视觉图形小组的研究人员引入的(因此得名 VGG)。该网络的特点是其金字塔形状,其中靠近图像的底层较宽,而顶层较深。
  • 如图所示,VGG 包含后续的卷积层和池化层。池化层负责使层更窄。在他们的论文中,他们提出了多种此类网络,并改变了架构的深度。
  • VGG的优点是:
  • 这是一个非常好的针对特定任务进行基准测试的架构。
  • 此外,VGG 的预训练网络可以在互联网上免费获得,因此它通常开箱即用地用于各种应用。
  • 另一方面,它的主要缺点是如果从头开始训练,训练速度非常慢。即使在像样的 GPU 上,也需要一周多的时间才能让它工作。
  • 原论文链接
  • 代码实现链接
  • 3.谷歌网络

  • GoogleNet(或 Inception Network)是由 Google 研究人员设计的一类架构。GoogleNet 是 ImageNet 2014 的获胜者,它被证明是一个强大的模型。
  • 在这个架构中,除了更深入(它包含 22 层,而 VGG 有 19 层)之外,研究人员还提出了一种称为 Inception 模块的新颖方法。
  • 如上所示,这与我们之前看到的顺序架构相比是一个巨大的变化。在单个层中,存在多种类型的“特征提取器”。这间接帮助网络表现得更好,因为训练时的网络在解决任务时有很多选项可供选择。它可以选择对输入进行卷积,也可以直接池化。
  • 最终的架构包含多个这样的初始模块,这些模块相互堆叠。甚至 GoogleNet 中的训练也略有不同,因为大多数最顶层都有自己的输出层。这种细微差别有助于模型更快地收敛,因为层本身有联合训练和并行训练。
  • GoogleNet 的优点是:
  • GoogleNet 的训练速度比 VGG 更快。
  • 预训练的 GoogleNet 的大小相对较小于 VGG。VGG 模型可以有 >500 MB,而 GoogleNet 的大小只有 96 MB
  • GoogleNet 本身并没有直接的缺点,但提出了对架构的进一步改变,这使得模型表现更好。其中一种变化被称为 Xception Network,其中 inception 模块的发散限制(GoogleNet 中为 4,如上图所示)增加。现在理论上它可以是无限的(因此称为极端初始!)
  • 原论文链接
  • 代码实现链接
  • 4. 残差网络

  • ResNet 是真正定义深度学习架构深度的怪物架构之一。残差网络(简称ResNet)由多个后续残差模块组成,它们是ResNet架构的基本构建块。残差模块的表示如下
  • 简而言之,残差模块有两个选项,要么可以对输入执行一组函数,要么完全跳过这一步。
  • 现在与 GoogleNet 类似,这些残差模块一个接一个地堆叠起来,形成一个完整的端到端网络。
  • ResNet 引入的其他一些新颖技术是:
  • 使用标准 SGD 而不是花哨的自适应学习技术。这是与合理的初始化函数一起完成的,该函数可以保持训练的完整性
  • 输入预处理的变化,输入首先被分成补丁,然后输入网络
  • ResNet的主要优点是可以使用数百甚至数千个残差层来创建网络然后进行训练。这与通常的顺序网络有点不同,在通常的顺序网络中,您会发现随着层数的增加,性能升级会减少。
  • 原论文链接
  • 代码实现链接
  • 5.ResNeXt

  • ResNeXt 据说是当前最先进的物体识别技术。它建立在 inception 和 resnet 的概念之上,带来了一种新的、改进的架构。下图总结了 ResNeXt 模块的残差模块的外观。
  • 原论文链接
  • 代码实现链接
  • 6.RCNN(基于区域的CNN)

  • 基于区域的 CNN 架构据说是所有应用于目标检测问题的深度学习架构中最具影响力的。为了解决检测问题,RCNN 所做的就是尝试在图像中存在的所有对象上绘制边界框,然后识别图像中的对象。其工作原理如下:
  • RCNN的结构如下:
  • 原论文链接
  • 代码实现链接
  • 7. YOLO(你只看一次)

  • YOLO 是当前最先进的基于深度学习的实时系统,用于解决图像检测问题。如下图所示,它首先将图像划分为定义的边界框,然后对所有这些框并行运行识别算法,以识别它们属于哪个对象类。识别出此类后,它会继续智能地合并这些框,以在对象周围形成最佳边界框。
  • 所有这些都是并行完成的,因此可以实时运行;每秒处理多达 40 张图像。
  • 尽管它的性能比 RCNN 同类产品低,但它仍然具有实时性的优势,可以用于解决日常问题。这是 YOLO 的架构示意图
  • 原论文链接
  • 代码实现链接
  • 8.挤压网

  • 挤压网络架构是一种更强大的架构,在移动平台等低带宽场景中非常有用。该架构仅占用 4.9MB 空间,而 inception 占用约 100MB!这种巨大的变化是由一种称为火模块的特殊结构带来的。下图是消防模块的示意图。
  • SqueezeNet最终的架构如下:
  • 原论文链接
  • 代码实现链接
  • 9. 赛格网

  • SegNet是一种用于解决图像分割问题的深度学习架构。它由一系列处理层(编码器)和一组相应的用于像素分类的解码器组成。下图总结了 SegNet 的工作原理。
  • SegNet 的一个关键特征是,由于编码器网络的池化索引与解码器网络的池化索引相连,它保留了分割图像中的高频细节。简而言之,信息传递是直接的,而不是进行卷积。SegNet 是处理图像分割问题时最好使用的模型之一
  • 原论文链接
  • 代码实现链接
  • 10.GAN(生成对抗网络)

  • GAN 是一种完全不同的神经网络架构,其中神经网络用于生成全新的图像,该图像不存在于训练数据集中,但足够真实,可以包含在数据集中。例如,下图是 GAN 的详细组成。我在本文中介绍了GAN 的工作原理。如果你好奇的话就去看看吧。
  • 原论文链接
  • 代码实现链接
  • Q1. 深度学习中的神经网络架构是什么?
  • A. 深度学习中的神经网络架构是指人工神经网络的结构设计和组织。它包括层的排列和连接性、每层中神经元的数量、使用的激活函数的类型以及特殊层(如卷积层或循环层)的存在。该架构决定了信息如何在网络中流动,并在网络学习和解决复杂问题的能力中发挥着至关重要的作用。
  • Q2。CNN 是深度学习架构吗?
  • 答:是的,CNN(卷积神经网络)是一种深度学习架构。CNN 是一种专门用于处理和分析结构化网格数据(例如图像和视频)的神经网络。它们的特点是存在卷积层,卷积层执行局部感受野操作以从输入数据中提取相关特征。CNN 在各种计算机视觉任务中取得了显着的成功,使其成为图像识别、目标检测和其他视觉任务领域深度学习的基本组成部分。
  • 参考资料:
  • https://www.analyticsvidhya.com/blog/2017/08/10-advanced-deep-learning-architectures-data-scientists/
  • 五、经常问的问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/196063.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浙大恩特客户资源管理系统CustomerAction.entphone;.js 接口任意文件上传漏洞复现 [附POC]

文章目录 浙大恩特客户资源管理系统CustomerAction.entphone;.js 接口任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 浙大恩特客户资源管理系统CustomerAction.entphone;.js 接口任…

Apache Doris (五十四): Doris Join类型 - Bucket Shuffle Join

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

【测试功能篇 01】Jmeter 压测接口最大并发量、吞吐量、TPS

压力测试,我们针对比较关键的接口,可以进行相应的压力测试,主要还是测试看看接口能抗住多少的请求数,TPS稳定在多少,也就是吞吐量多少 安装 Jmeter的安装很简单,官网下载地址 http://jmeter.apache.org/ &…

笔记53:torch.nn.rnn() 函数详解

参数解释: (1)input_size():即输入信息 Xt 的每个序列的独热编码向量的长度,即 len(vocab) (2)hidden_size():即隐变量 h 的维度(维度是多少,就代表用几个数…

go语言学习之旅之Go语言数据类型

学无止境,今天学习Go 语言数据类型 Go(或Golang)是一种静态类型语言,这意味着变量的数据类型必须显式声明,并且在运行时不能更改。以下是Go中的一些基本数据类型: 这里仅介绍最常用的类型 数值类型: int: …

实在智能携手中国电信翼支付,全球首款Agent智能体亮相2023数字科技生态大会

11月10日-13日,中国电信与广东省人民政府联合主办的“2023数字科技生态大会”在广州隆重举行。本届大会以“数字科技焕新启航”为主题,邀请众多生态合作伙伴全方位展示数字科技新成果,包括数字新消费、产业数字化、智能电子、人工智能大模型等…

CentOS to 浪潮信息 KeyarchOS 迁移体验与优化建议

浪潮信息KeyarchOS简介 KeyarchOS即云峦操作系统(简称KOS), 是浪潮信息研发的一款面向政企、金融等企业级用户的 Linux 服务器操作系统。它基于Linux内核、龙蜥等开源技术,支持x86、ARM 等主流架构处理器,其稳定性、安全性、兼容性和性能等核心能力均已…

软件质量保护与测试(第2版)学习总结第十三章 集成测试

很多人都认为微软是一家软件开发公司,事实上我们是一家软件测试公司。 ---比尔盖茨 集成测试是在单元测试的基础上将多个模块组合在一起进行测试的过程。 13.1.1 区别 单元测试主要关注模块内部,系统测试则是在用户的角度来评价系统&#xff…

万宾科技智能井盖传感器,提升市政井盖健康

市政井盖就是城市里不可或缺的基础设施之一,关于它的监测工作可马虎不得。它承载着保护市民的交通安全以及城市正常运转的重要使命。虽然现在城市化的速度很快,但是传统的市政井盖管理方式变得有些力不从心了。井盖的覆盖范围很广,如果单单依…

飞熊领鲜参加「第十届中国产业数字化大会」获创新企业数字化百强

11月16日至17日,托比网“第十届中国(南京)产业数字化大会”在南京举行。作为“中国(南京)电子商务大会”的一部分,本次会议由江苏省商务厅、南京市人民政府指导,南京市商务局、南京市鼓楼区人民…

Android设计模式--原型模式

一,定义 原型模式就是用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 也就是说用户从一个实例中复制出一个内部属性一致的对象,这个被复制的对象就是原型。 原型模式多用于创建复杂的或者构造耗时的实例,因为这…

Flutter的Widget, Element, RenderObject的关系

在Flutter中,Widget,Element和RenderObject是三个核心的概念,它们共同构成了Flutter的渲染流程和组件树的基础。下面简要介绍它们之间的关系: 1.Widget Widget是Flutter应用中的基础构建块,是一个配置的描述&#xf…

《向量数据库指南》——TruLens + Milvus Cloud构建RAG深入了解性能

深入了解性能 索引类型 本例中,索引类型对查询速度、token 用量或评估没有明显影响。这可能是因为数据量较小的关系。索引类型对较大语料库可能更重要。 Embedding 模型 text-embedding-ada-002 在准确性(0.72,平均 0.60)和答案相关度(0.82,平均0.62)上优于 MiniLM Embeddin…

数组两种初始化方法

1.数组的静态初始化 静态初始化即在初始化数组时即规定了数组的大小以及数组中每个元素的值 有三种静态初始化的方法: 以初始化一个int类型的数组为例: 1.数组类型[] 数组名 new 数组类型[]{元素1,元素2...元素n}; int[] a new int[]{1,3,5}; 2.数…

JavaEE初阶 01 计算机是如何工作的

前言 今天开始进行对JavaEE的一些基本总结,希望大家能在阅读中有所收获,如有错误还望多多指正. 1.冯诺依曼体系结构 这个体系结构相信学计算机的同学都不陌生,但是你真的知道这个体系结构说的是什么嘛?请听我娓娓道来.首先我先给出一张冯诺依曼体系结构的简图 你可以理解为当前…

ROS话题(Topic)通信:自定义msg - 例程与讲解

在 ROS 通信协议中,数据是以约定好的结构传输的,即数据类型,比如Topic使用的msg,Service使用的srv,ROS 中的 std_msgs 封装了一些原生的数据类型,比如:Bool、Char、Float32、Int64、String等&am…

轻地图+数据闭环加速落地,觉非科技获多家头部车企定点

‍作者 |张祥威 编辑 |德新 智能驾驶日益普及,「轻地图」和「数据闭环」成为各家能力比拼的关键,车企对此的需求也逐渐迫切。 11月16日,觉非科技宣布已与多家头部主机厂达成量产定点合作,围绕轻地图与数据闭环服务,支…

RabbitMQ-高级篇-黑马程序员

代码: 链接: https://pan.baidu.com/s/1nQBIgB_SbzoKu_XMWZ3JoA?pwdaeoe 提取码:aeoe 在昨天的练习作业中,我们改造了余额支付功能,在支付成功后利用RabbitMQ通知交易服务,更新业务订单状态为已支付。 但…

22款奔驰S450L升级钢琴内饰板 完美的融合进去

钢琴拉丝桃木面板装车让人眼前一亮,内饰的豪华度和高级感立马提升一个等级,带条纹的亮面烤漆,温润高端。 为什么升级更换桃木饰板?因为升级桃木饰板可以更换掉一些镀铬银色的装饰件,这样就可以让整车的豪华感大大的提升…