数据科学家应该知道的 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/
  • 五、经常问的问题

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

批量替换WordPress文章内图片链接

在WordPress使用过程中,如果中途更换了域名,原先文章内的图片使用的是原来的域名,就会造成文章页里面的图片链接无法显示。如果从后台文章挨个修改就比较麻烦。可以通过数据库进行批量替换即可。 使用 PHPMyadmin 打开 数据库,登…

【DataV可视化工具详解】

文章目录 前言一、什么是DataV?二、主要特点1. 强大的图表库2. 灵活的数据接入3.实时数据展示4. 易于定制的仪表盘 三、应用场景1.业务监控与分析2.大屏展示3.数据洞察与决策支持 四、例图总结我是将军,我一直都在,。! 前言 今天…

如何下载到正确版本的Steam?正确使用实现多开搬砖不被封号

各位游戏玩家们,你们是否也曾因为无法在Steam平台上正常下载游戏而感到烦恼呢?盗版问题已经严重影响了Steam的用户体验,也给玩家们带来了不必要的经济损失。但是,作为玩家,我们需要更多的方法来区分正版和盗版&#xf…

西南科技大学814考研一

C语言基础 字节大小 char:1 字节 unsigned char:1 字节 short:2 字节 unsigned short:2 字节 int:通常为 4 字节(32 位平台)或 8 字节(64 位平台) unsigned int&#x…

for,while,do-while,死循环,嵌套循环,跳转关键字,随机数

1.for循环 public class ForDemo1 {public static void main(String[] args) {for (int i 0; i < 5; i) {System.out.println("HelloWorld");}System.out.println("--------------------------------------------");for (int i 1; i <10 ; i) {Sy…

Linux基础知识(1)——目录结构,绝对/相对路径,指令等(配图)

目录 1.目录结构 2.路径 3.认识指令 文章内容并不聚焦于Linux命令&#xff0c;而是针对Linux的基础知识进行讲解&#xff0c;相信这部分知识更能帮助大家了解Linux系统。 本文只是带大家简单了解一下Linux的入门知识&#xff0c;在之后的文章中&#xff0c;我们将讲解Linux中…

三、程序员指南:数据平面开发套件

定时器库 定时器库为DPDK执行单元提供了定时器服务&#xff0c;以便异步执行回调函数。该库的特点包括&#xff1a; 定时器可以是周期性的&#xff08;多次触发&#xff09;或单次的&#xff08;一次性触发&#xff09;。定时器可以从一个核加载并在另一个核上执行。这必须在…

4.6 Windows驱动开发:内核遍历进程VAD结构体

在上一篇文章《内核中实现Dump进程转储》中我们实现了ARK工具的转存功能&#xff0c;本篇文章继续以内存为出发点介绍VAD结构&#xff0c;该结构的全程是Virtual Address Descriptor即虚拟地址描述符&#xff0c;VAD是一个AVL自平衡二叉树&#xff0c;树的每一个节点代表一段虚…

网络工程师沦为IT行业里的“二等公民”了?

大家好&#xff0c;我是老杨。 都说网工难&#xff0c;都说网工苦&#xff0c;都说网工行业已经不行了、网工成为最底层、“二等公民”&#xff0c;已经彻底没落了…… 这些在互联网里持续不断散发出来的负能量&#xff0c;有没有让你在深夜耍手机的时候一次又一次的扎心过&a…

提升工作效率,打造精细思维——OmniOutliner 5 Pro for Mac

在当今快节奏的工作环境中&#xff0c;如何高效地组织和管理我们的思维和任务成为了关键。而OmniOutliner 5 Pro for Mac正是为此而生的一款强大工具。无论你是专业写作者、项目经理还是学生&#xff0c;OmniOutliner 5 Pro for Mac都能帮助你提升工作效率&#xff0c;打造精细…

shopify motion主题如何更换视频

有很多做跨境电商的朋友&#xff0c;为了吸引用户在网站停留更多时间&#xff0c;往往会选择将自己的网站做的天花乱坠&#xff0c;视频、GIF等各式夺目的的元素搭配在网站首页。但是后期想要更换视频的时候&#xff0c;如果没有相关经验的小白不知道如何更换视频&#xff0c;或…

处理BOP数据集,将其和COCO数据集结合

处理BOP数据集&#xff0c;将其和COCO数据集结合 BOP 取消映射关系&#xff0c;并自增80 取消文件名的images前缀 import os import json from tqdm import tqdm import argparseparser argparse.ArgumentParser() parser.add_argument(--json_path, defaultH:/Dataset/COCO…

【LeetCode:2342. 数位和相等数对的最大和 | HashMap + 模拟 】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

[黑马程序员SpringBoot2]——开发实用篇1

目录&#xff1a; 手工启动热部署自动启动热部署热部署范围配置关闭热部署功能第三方bean属性绑定松散绑定常用计量单位应用bean属性校验进制数据转换规则加载测试专用属性加载测试专用配置测试类中启动web环境发送虚拟请求匹配响应执行状态匹配响应体匹配响应体(json)匹配响应…

快速搜索多个word、excel等文件中内容

如何快速搜索多个word、excel等文件中内容 操作方法 以win11系统为介绍对象。 首先我们打开“我的电脑”-->“文件夹选项”-->“搜索”标签页,在“搜索内容”下方选择&#xff1a;"始终搜索文件名和内容&#xff08;此过程可能需要几分钟&#xff09;"。然后…

杭州-区块链前瞻性论坛邀请函​

2023密码与安全前瞻性论坛邀请函 生成合法节点或非法节点&#xff0c;测试共识协议

Bulk RNA-seq上下游分析

Bulk-RNA-seq上下游分析还是相对简单的&#xff0c;这次我以mouse为例&#xff0c;进行Bulk-RNA-seq上下游分析&#xff0c;并进行对应的图片绘制。 上游分析 1.软件准备 #安装所需软件 sudo apt install fastqc sudo apt install hisat2 sudo apt install cutadapt sudo ap…

Vue3 动态设置 ref

介绍 在一些场景&#xff0c;ref设置是未知的需要根据动态数据来决定&#xff0c;如表格中的input框需要我们主动聚焦&#xff0c;就需要给每一个input设置一个ref&#xff0c;进而进行聚焦操作。 Demo 点击下面截图中的编辑按钮&#xff0c;自动聚焦到相应的输入框中。 &…

python3-- Pillow10 ‘FreeTypeFont‘ object has no attribute ‘getsize‘报错解决

文章目录 一、问题二. 解决方法&#xff1a;1.方法12.方法2 三. 总结 一、问题 使用pillow10进行图片文字合成时获取文字大小失败 AttributeError: FreeTypeFont object has no attribute getsize二. 解决方法&#xff1a; 1.方法1 降级Pillow pip install Pillow9.5.0再去…

手把手教你搭建Maven私服

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1. Maven私服简介 ①私服简介 Maven 私服是一种特殊的Maven远程仓库&#xff0c;它是架设在局域网内的仓库服务&#xff0c;用来代理位于外部的远程仓库&#xff08;中央仓库、其他远程公共仓库&#xff09;。 当然…