全文共1958字,预计学习时长5分钟

图源:unsplash

近十年来,卷积神经网络一直在全球计算机视觉研究领域发挥着主导作用。但研究者们正在提出一种新方法,想要利用转换器的功能赋予图像更深层的意义。

转换器最初是为自然语言处理任务而设计的,主攻神经网络机器翻译。后来,谷歌研究院的阿列克谢·多索维斯基(Alexey Dosovitskiy)、卢卡斯·拜尔(Lucas Beyer)等人撰写了一篇题目为《一幅图像值得16x16个字符:大规模用于图像识别的转换器》的论文,提出了一种名为视觉转换器(ViT)的架构,该架构可通过转换器处理图像数据。

卷积神经网络(CNN)存在的问题

在深入研究视觉转换器的运行方式之前,厘清卷积神经网络的缺点和根本缺陷很有必要。首先,卷积神经网络无法编码相对空间信息。也就是说,它仅关注于检测某些特征,而忽略了相对空间位置。

上面两幅图像都会被识别为人脸,因为卷积神经网络只关注输入图像中是否存在某些特征,而忽略了它们相对于彼此的位置。

卷积神经网络的另一个主要缺陷是池化层。池化层会丢失很多有用的信息,比如最活跃的特征检测器的准确位置。换句话说,它能检测到某些特征,但却无法传达其在图像中的准确位置。

转换器简介

从本质上说,转换器应用了自我注意的概念。这个概念可以分为两部分:自我和注意。注意指的仅仅是可训练的权重,它可以模拟输入句子中各部分的重要程度。

从以上示例中,大家可以发现,转换器中的注意单元正在比较单词“it”与句子中包括“it”在内的其他所有单词的位置。不同的颜色代表着同时独立运行的多个注意单元,目的是发现这些联系中的不同模式。

一旦通过上述比较计算出一个分数,它们就会经由结构简单的前馈神经元层发送出去,最后进行规范化处理。在训练期间,转换器学习了这些注意向量。

模型架构

和常规转换器通过单词了解句子一样,视觉转换器通过像素获得类似的图像效果。不过,这里有一个问题。与文字不同,单一像素本身并不传达任何含义,这也是我们选择使用卷积过滤器的原因之一(它可对一组像素进行操作)。

它们将整个图像分成小块图像或单词。所有小块图像都通过线性投影矩阵展平,同它们在图像中的位置一起送入转换器(如上图所示)。在这一过程中,研究人员们选择了大小为16x16的小块图像,所以才有了这样诗意的研究题目。

现在,这些嵌入的小块图像通过多方面自我注意的交替层、多层感知器(结构简单的前馈神经元层)和类似于常规转换器中的层规范化,分类头安装在转换器编码器的末端,从而预测最终分类。像其他的卷积模型一样,人们可以使用预先训练好的编码器库和一个自定义MLP层来微调模型,以适应其分类任务。

重点

论文作者在ImageNet、CIFAR-10/100和JFT-300M(谷歌的私有数据集,拥有3亿张高分辨率图像)等各种标注数据集上训练了该模型。在准确性方面,他们的模型几乎和其他先进的卷积模型一样准确(在很多情况下甚至更准确),但训练时间大大减少了(减少了大约75%),而且使用的硬件资源也更少。

视觉转换器的另一个优点是能够很早地了解到更高层级的关系,原因是它使用了全球注意而非局部注意。人们甚至在一开始就可以注意到那些相对于卷积神经网络很遥远的事物。除了在训练过程中保持高效以外,视觉转换器还会随着训练数据的增多而表现愈佳。

图源:unsplash

难道这意味着卷积神经网络已经过时,而视觉转换器成为了新常态吗?

当然不是!虽然卷积神经网络存在不足,但它在处理对象检测和图像分类等任务方面仍然十分高效。作为最先进的卷积架构,ResNet和EfficientNet仍然占据着处理此类任务的主导地位。然而,转换器在自然语言处理任务(比如语言翻译)方面取得了突破,在计算机视觉领域显示出了不小的潜力。

在这个不断发展的研究领域,未来会发生什么?只有时间会告诉我们答案。

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

举报/反馈

神经网络测试时间计算机,卷积神经网络的时代到此结束了?相关推荐

  1. 神经网络和卷积神经网络,常用的卷积神经网络

    前馈神经网络.BP神经网络.卷积神经网络的区别与联系 一.计算方法不同1.前馈神经网络:一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层.各层 ...

  2. 神经网络与卷积神经网络,什么是卷积神经网络

    前馈神经网络.BP神经网络.卷积神经网络的区别与联系 一.计算方法不同1.前馈神经网络:一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层.各层 ...

  3. 描述卷积神经网络的结构,卷积神经网络三大特点

    什么是卷积神经网络?为什么它们很重要 卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理 ...

  4. 神经网络与卷积神经网络,深度残差卷积神经网络

    深度残差网络是卷积网络的一种吗 谷歌人工智能写作项目:神经网络伪原创 深度残差网络是卷积网络的一种吗 神经网络的历史是什么? 沃伦·麦卡洛克和沃尔特·皮茨(1943)基于数学和一种称为阈值逻辑的算法创 ...

  5. 深度卷积神经网络是什么,卷积神经网络的深度

    卷积神经网络算法是什么? 一维构筑.二维构筑.全卷积构筑. 卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedfor ...

  6. 什么是深度卷积神经网络,基于深度卷积神经网络

    卷积神经网络算法是什么? 一维构筑.二维构筑.全卷积构筑. 卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedfor ...

  7. 卷积神经网络(2D卷积神经网络和3D卷积神经网络理解)

    前言 卷积神经⽹络(convolutional neural network,CNN)是⼀类强⼤的神经⽹络,正是为处理图像 数据而设计的.基于卷积神经⽹络结构的模型在计算机视觉领域中已经占主导地位,当 ...

  8. 一维卷积神经网络结构图,一维卷积神经网络原理

    1.卷积神经网络算法是什么? 一维构筑.二维构筑.全卷积构筑. 卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Fe ...

  9. fpga卷积神经网络加速器,FPGA卷积神经网络综述

    如何使用FPGA加速机器学习算法 如何使用FPGA加速机器学习算法 当前,AI因为其CNN(卷积神经网络)算法出色的表现在图像识别领域占有举足轻重的地位.基本的CNN算法需要大量的计算和数据重用,非常 ...

最新文章

  1. Redis学习笔记(八)——持久化
  2. java.net.SocketException四大异常解决方案---转
  3. 从羊毛党看一个成功的裂变活动
  4. PHP安全基础第一章
  5. 小皮面板有php环境吗,体验phpStudy小皮面板创建LAMP/LNMP系统和建站图文
  6. Netty 从源码的角度深入剖析 ByteBuffer
  7. linux运行run.tar.gz,linux .run 文件的制作和安装
  8. android 源码开发 关于编译等小知识点总结
  9. 「1024 程序员节」各大公司和程序员们都是怎么过的?你都做了哪些计划或安排?
  10. 使用原生js得到页面相关的正确参数
  11. 基于ZigBee的高压开关SF6气体泄漏监测系统
  12. C语言根号下ln怎么表示,c语言ln根号x
  13. eda技术试卷_EDA技术试题库-试题库
  14. AMiner会议论文推荐第三十二期
  15. dell服务器idrac配置
  16. 基于高德导航的Android大作业
  17. 京东深圳手Q微信事业部测试工程师面试总结
  18. 简单c语言实现的成语接龙小游戏
  19. 阿里智能运维平台的演进:从自动化到无人化(附PPT)
  20. 神经网络控制与matlab仿真,matlab神经网络拟合预测

热门文章

  1. android 服务器201,Android端i-jetty服务器开发(八)
  2. matlab 数据降维和重构_核主成分分析(Kernel PCA, KPCA)的MATLAB 实现
  3. 企业计算机能力,以IT企业需求为导向的计算机人才培养模式研究
  4. oracle 表结构语句,oracle查询表结构语句
  5. 从0开始利用宝塔linux面板+DSShop搭建一个简单的购物网站
  6. Python中国际化(i18n)完整指南
  7. python progressbar 多行_使用单击.progressbar在Python中使用多处理
  8. escape mysql_MySQL中ESCAPE关键字的用法详解
  9. linux安装oracle出现os,linux下安装oracle
  10. ps -aux 和ps -elf 区别(查看进程)