当前位置: 首页 > news >正文

李沧网站建设电话从化企业网站建设

李沧网站建设电话,从化企业网站建设,wordpress 恢复数据库 白屏,小程序app备案文 | 魏旭编 | 橙橙子#xff0c;小戏当 BERT 模型出来之后#xff0c;Transformer 架构基本成为 NLP 任务的底色。诸如 Roberta、XLNet、ELECTRA、GPT3 等刷榜各类 NLP 任务的模型#xff0c;无一不是基于 Transformer 框架。无疑#xff0c;Transformer 开启了 NLP 的统治… 文 | 魏旭编 | 橙橙子小戏当 BERT 模型出来之后Transformer 架构基本成为 NLP 任务的底色。诸如 Roberta、XLNet、ELECTRA、GPT3 等刷榜各类 NLP 任务的模型无一不是基于 Transformer 框架。无疑Transformer 开启了 NLP 的统治时代或者说Transformer 已经成为 NLP 的 Back-bone Networks 基石网络。但是隔壁的 CV 界的 Back-bone 却仍然保留着 CNNs  框架这个统治了 CV 界 20 多年的王者依旧稳如泰山对比NLP领域 Transformer 的崛起不禁让人浮想联翩是否真正存在一种框架能够做到横跨两界千秋万载一统江湖最近MSRA 的一篇论文《Swin Transformer: Hierarchical Vision Transformer using Shifted Windows》带来了好消息论文所提出的 Swin Transformer 霸榜 CV 各大榜单颇有当年 BERT 一刀斩群雄的气派。如果 Transformer 果真能成为 CV 任务的 Back-bone那么距离 CV、NLP 大一统时代是否更进一步呢这里本文将通过对比 NLP 和 CV 在 Transformer 框架上的使用异同来理解在 CV 领域是如何使用 Transformer 结构的。论文题目Swin Transformer: Hierarchical Vision Transformer using Shifted Windows论文链接https://arxiv.org/abs/2103.14030原文代码https://github.com/microsoft/Swin-TransformerArxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0517】 下载论文PDF~1 背景概述在讨论论文细节之前让我们先来了解一下背景知识好好扒一扒 CV 和 NLP 的历史发展看看到底为什么 CV 迟迟没有用上 Transformer 。CV vs NLPAI 时代两朵鲜花的恩怨情仇根据历史经验我们知道在社会主义人工智能的初级阶段往往是那些简单的易于理解的模式占领上风走在前列。而当社会主义人工智能发展到了中后期那些简单且易于理解的模式又会因为过于简单而成为其进一步发展的阻碍。在 2012 年那会儿国内可能要到 2015 年人工智能刚刚展露头角的时候 CV Computer Vision 产业一时风头无量——图片分类、人脸识别、物体检测等等任务纷纷落地而相比之下NLP 的发展就要缓慢的多。究其原因其主要原因还是在于任务编码输入的差异。我们知道图片天然由像素组成而像素的存储天然是数字 0-255 这也就意味着计算机可以毫不费力的去读取一张图片。而随后在 Embedding 之后接入的一系列 DNN 算法使得计算机就能轻松的从读取图片变为读懂图片。这也正是 CV 在这波人工智能浪潮中能走在前列的一个主要原因。而此时的 NLP 呢科学家们还在费劲心思的用各种方法将字符形式的文字转化为计算机可编码的数字符号NLPer 尝试过用 ASCII 编码字母编码映射最终却选择了丑陋的one-hot纵然它是稀疏矩阵纵然它限制了词表大小纵然它有 OOV Out Of Vocabulary 问题纵然它丑陋无比但 NLPers 别无选择。与此同时另一个使得 CV 能够表现卓著的原因应该归功于 CNN 的发展。由于 CV 天然的空间特性对应的 NLP 有很好的序列特性可以被狭义的认为是时间特性让 CNN 架构在 CV 上大放异彩。当然后期针对于 NLP 的这种序列特性 NLPer 也开发了 RNN 系列算是和CNN分庭抗礼吧但哪怕在 RNN 出现后 NLP 的时代还远没有到来最多算作从备受挤压到平分秋色。2017 年Transformer 框架被《 Attention Is All You Need 》提出[1]。2018年BERT 模型问世 《 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 》[2]。可以这么说BERT模型的出现对于 NLP 来说是一个里程碑式的节点它为以后的各类 NLP 任务画定了一个框架即一个 PLM fine-tune 的框架而以后基本所有的 PLM 都是基于 Transformer 框架。是的一个崭新的时代到来了一个属于NLP的时代它来临了Transformer 适用于 NLP确不适合 CVCNN 本身极其擅长于解读图像的信息通过卷积核和卷积核的移动可以捕捉到图像的各个方位的信息同时将信息映射到更低维的空间中达到提取空间特征的作用。而且因为其轻量级的架构特征使得它能高效的抽取 CV 这类高分辨率输入所以 CNN 一经提出就在 CV 任务上大方光彩到如今依然久久不息。但 CNN 也有自己一直被诟病的问题那就是 CNN 算子的感受野比较局限即使通过卷积核移动能够获得全局的特征但往往需要后面连接 RNN 或 Transformer 层来进一步处理全局的信息。此外虽然 CNN 模型极其适用于图像结构但是对于文本、语音等信息的处理能力确偏弱其实是相对于 Transformer 偏弱虽然 Kim 在 2014 年提出了 TextCNN [3]但与 CV 处理的兼容性仍然不高。因此 CNN 对于多模态学习来说并非是完美的 Back-Bone 对象。因此CV 同志们一直在探索如何将 Transformer 架构完美落地于 CV 任务达到真正的 CV NLP 的大一统。Transformer 落地于 CV 的第一个问题就是图片输入的高分辨率会导致超大的计算量。我们先看一下对于一个文本输入Transformer 是如何通过注意力机制完成语义理解的。对于一个长度是 H 的句子做一次 Attention 计算需要进行H*H 次注意力计算。而同样输入一张分辨率为 H*H 的图片做一次 Attention 计算需要进行 (H*H)^2 次注意力计算。此外512 的文本长度已经可以满足大多数 NLP 任务的需求但 768*768 分辨率的图片对于 CV 任务确是常见至极。如此高的计算损耗就意味着 Transformer 难以在 CV 中大展手脚这也就是为什么目前的 CV 还是 CNN 统治下的天下。另一个问题就是 CV 任务与 NLP 任务相比在处理粒度( Scaled )上有很大差异。对于 NLP 问题任务的处理粒度往往是 Token 级别或者大于 Token 级别而对于图片分类会有像素级别、物体级别、图片级别甚至视频级别粒度跨度非常大。这意味着如果 CV 需要使用统一的预训练模型需要在不同 Scale 任务上都有很好的效果也就是说CV的预训练模型需要同时理解图片在不同 Scale 上的语义差异。2 论文主体因为图片有高分辨率、任务 Scale 差异大的特征导致 Transformer 结构在 CV 的落地一直是一个难题。之前 Transformer 在 CV 上的主要功能是对 CNN 之后特征进行查漏补全特征进一步提取、注意力权重计算等通常提取之后的特征数量远小于像素数量所以计算量还是可以接受的。但是 Swin Transformer 则使用另一种方法试图开创一种将 Transformer 作为 CV 任务 Back-Bone 的框架结构解决 CV 高分辨率带来高计算量的问题。那么 Swin Transformer 是如何做到的呢图片切分Patches and Windows首先我们先接触两个 Swin transformer 中的术语 Patches 和 Windows。比如下图中一张 16*16 的图片我们通过无覆盖的划分方法将其分割为 64 个小的方格这里每一个 2*2 的方格就是一个 Patch 。我们再将 4*4 个 Patch 进行联合就形成了一个 Window 。如下面动图的 Layer l 就是由 64 个 Patches 和 4 个同等大小的 Windows 组成。对应到 NLP 一个 Patch 等效于一个单词一个 Window 等效于一个句子而一张图片则是一个 Document。这样Transformer 好像可以在 CV 上开始落地了其实使用这种 Patch 的方法并不是 Swin Transformer  首创DETRVision Transformer-ViT 等也使用过。当 CVer 发现像素等效于NLP中的一个字母那么我们把相邻的多个像素进行连接这是不是就是一个单词了这就是 Patch 的思想。但其中难点在于如何确定一个 Patch 的 SizePatch 太小那么计算量仍然会很大。Patch 太大那么信息损失又会很严重。一个 Patch 没有通用意义。区别于 NLP“ hello ”就是“你好”的意思表示“打招呼”的一种方法这是高级信息表征带来的天然优势。但一张图片中位置为[0:3,0:3] 这 9 个像素点组成的 Patch 不是每次都有通用意义的这对于训练 CV 的预训练模型是十分大的挑战。SW-MSA特殊的 Attention 计算方法在 Swin 中Attention 的计算也稍有不同这里总结为“一同两异”。在 NLP 中我们针对于每个单词进行 Attention 计算而 Swin 中我们针对于每个 Patch 进行 Attention 计算这是“一同”。但是 NLP 中我们对整个 Document 进行长程 long-range 的 Attention 计算而 Swin 中的 Attention 只针对于一个 Window 之内的计算(相当于 NLP 中只对一个句子进行了 Attention 计算)这是“一异”。在 NLP 中Attention 只被计算一次在 Swin Transformer 中Attention 会被计算两次通过 W - MSA SW - MSA 分步骤获取 Window 内部和相邻 Windows 之间的 Attention 权重这是“另一异”。从上面的“一同两异”我们基本可以看出 Swin Transformer 的主要创新点。它将 CV 问题通过 Patch  和 Window 的模式转化为了 NLP 问题这样理论上在 NLP 中很好用的 Transformer 框架就可以在 CV 上落地了。同时针对CV中的一些特殊性Swin Transformer 使用了独特的 Attention 方法。独特性一只对 Window 内的 Patch 进行 Attention 计算而不是在所有的Patches之间进行否则 Attention 的计算量还是太大。那么对于一张像素为 H*H*3 的图片我们以 n*n 划分为一个 Patch 然后将 m*m 个相邻 Patch 作为一个 Window 可以得到 个 Window 。那么对于一张图片的 Attention 计算次数 。此时与图片像素成平方的复杂度同NLP中 Attention 计算和句子长度成平方的复杂度相一致。独特性二如果只进行 Window 内部的 Attention 计算那么只是 Local Attention 。对于两个不同 Windows 之间的像素点就没法获得他们之间的关联性了也就是缺乏 Global Attention 的能力。Swin 这里使用了迂回的方法它仍然基于一个假设那就是越靠近的像素点之间越需要计算注意力彼此关联更紧密。所以Swin 在进行 Attention 计算的时候除了我们见到的那种方方正正的 Window 结构用 W-MSA, Windows-based Multi Self-Attention 计算还设计了一种叫做 Shift Window Partitioning 的方法将相邻的 Windows 进行 Merge 计算 SW-MSA Shift Windows-based Multi Self-Attention 。通过这种 Cross-Windows 的关系计算尽量保证更多的像素之间能计算出彼此的相关性从而代替获得 Global Attention 。实验结果表明增加了 SW-MSA 之后结果能有很大的提升。其实SW-MSA 也是通过近似的方式去获取 Global Attention 它假设“越靠近的像素点之间关系越紧密”如同 NLP 问题中假设单词与单词位置越靠近语义影响越大一样。但实际的图片任务中仍然存在像素和像素有长程依赖性而 SW-MSA 是无法解决的。不过即便如此加入了 SW-MSA 的 Swin Transformer 仍然能大大刷新 CV 任务榜单因此期待在未来出现更优美的 Attention 计算方法。3 算法框架接下来我们看看 Swin Transformer 的模型框架图下图是 Swin-T Swin Transformer Tiny 版的架构图。左边图a是整个模型的框架图右边彩色的图b是单个 Swin Transformer Block 的解析图。如图所示我们把整个模型框架看成一张图片从输入模型到最后输出模型的过程论文将其分为4个 Stage 我自己补上了一个 Stage0 主要是对图片进行 Patch 切分。Stage0这个相当于数据处理按照 Patch 的处理方法 将一张图片切分为一个个的 Patch。Stage 1Linear Embedding 进行特征映射然后过 两遍Swin Transformer block就是上面讲的适用于图片的 Transformer 训练方法你可以理解为 BERT 12层中的一层。如图b对于一个 Swin Transformer Block 先经过一个 LN W - MSA 然后接上一个残差网络再接上 LN MLP 再接残差网络获得高维空间的表征映射最后将 W-MSA 替换为 SW-MSA 重复上面的步骤。Stage 2将相邻的两个 Patch 进行融合称为 Patch Merging 然后再过两遍 Swin Transformer Block 。用作者的话说Patch Merging 的目的是为了让模型随着训练程度的加深能够获取更高层的意义表征。Stage 3将相邻的两个 Patch 进行融合然后再过 6 遍 Swin Transformer Block 。Stage 4将相邻的两个 Patch 进行融合然后再过 2 遍 Swin Transformer Block。在这里 Stage 1-4 可以认为是一种训练的重复就如同 BERT 中 12 层的重复结构每一层的基础单元是 Swin Transformer Block 。通过和 NLP 中 BERT 的训练框架对比可以看出模型符合我们常规认知的 Transformer 的框架训练。选取一个训练基元 Swin Transformer Block然后不断重复叠加最终获得一个深层的隐藏层表征后面接各类下游任务进行 Fine-tune 。同样在 BERT 中我们通常认为浅层网络更注重于一些语法结构的信息深层网络则更注重于语义的信息。而 Swin Transformer 通过不断进行 Patch 融合然后再将维度从 C - 2C - 4C - 8C 从而获得更深维度的图像意义表征也有种逐步加深对图片表征理解的感觉。4 模型结果两个字“屠榜”用一句话表述那就是同等量级的模型无论是在框架还是实际系统落地后基本都有 2-4 个点的提升这在 CV 任务中已经是一个重大的 Improvement 。5 结论总结Swin Transformer , 这篇文章号称开启了 CV 领域的新时代用 Transformer 构建 CV 任务的时代。文章一直提到一个关键词—— Back-Bone Architectures 。所以文章的目的不是在于对于某个任务获得了更好的算法结果而是要为所有的 CV 任务制定一种使用 Transformer 的框架结构。从算法结果屠榜二字来看似乎做到了。而且代码开源一天就有上千的 Star 其威力可见一斑。总结一下文章的 Key-Point 主要有以下几点使用 Patch Window 的图片处理方法。Patch 的划分方法将图片划分为一个个的 “Token”将多个 Patch 组合成一个 Window 相当于多个 “Token” 构建为一个句子完美的与 NLP 任务对应为 Transformer 在 CV NLP 上的大一统迈出重要一步。混合使用 W-MSA SW-MSA 获得全局的 Attention。在 Window 内部计算 W-MSA 实现 Local Attention 缩小复杂度使用 Shift Window 的方法部分实现 Global Attention 扩展特征视野。这种计算方法将图片的计算复杂度统一到 的量级让 Transformer 落地于 CV 成为可能。多层的 Swin Transformer Block 进行叠加训练不断优化特征提取的结果。这也是对标 BERT 预训练的操作逐步获取更深层次的图片内容表征让 CV 和 NLP 任务在训练模式上统一。这里小编的思考论文使用的 Shift Window 的方法其实比较简单后续我想应该会有其他优化方法来获得更好的结果。就如同当时的 BERT 以及各类接踵而来的 BERT 。比如说如果以 Windows 作为基元获取 Windows 之间的相关性来代替 Global Attention 是否能更好的表征图片之间的长程依赖或者根据 Attention 的结果动态获取新的 Windows 划分对应于 NLP 中的分句这样是否可以获得超过 SW-MSA 的结果总之无论如何从实验结果来看Swin Transformer 非常有可能完成自己对 Back Bone 的定义开启一个崭新的 CV 使用 Transformer 的时代寻求报道、约稿、文案投放添加微信xixiaoyao-1备注“商务合作”后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1].Attention is all need.  https://jalammar.github.io/illustrated-transformer/[2].BERThttps://arxiv.org/abs/1810.04805[3].TextCNNhttps://www.aclweb.org/anthology/D14-1181.pdf[4].Swin Transformer 原论文.  https://arxiv.org/abs/2103.14030[5].Swin Transformer 原作者解析. https://pub.towardsai.net/will-transformers-replace-cnns-in-computer-vision-55657a196833[6].Vision transformer. https://github.com/lucidrains/vit-pytorch
http://www.pierceye.com/news/175156/

相关文章:

  • 网站优化 无需定金公明网站制作
  • 安徽龙山建设网站wordpress 禁止twitter
  • 中卫市网站开发制作网页设计html代码大全颜色
  • 深圳网站建设伪静态 报价 jsp 语言新网站如何推广
  • 南京建设局网站首页wordpress 要求ftp
  • 百度站长 添加网站哪些网站可以上传自己做的视频
  • 网站开发的论文引言微信网站开发视频教程
  • 宁波网站制作出售爱南宁app下载官网最新版
  • 科技类公司名称大全常州网站关键词优化咨询
  • 共享ip服务器做网站如何把网站推广出
  • 网站开发标书范本免费模板下载网站推荐
  • 郑州品牌网站建设宿松县住房和城乡建设局网站
  • 电商网站开发与运营赣州爆炸事故
  • 牡丹区建设局网站黄骅贴吧最近发生的事
  • 手机一键建站北京公司网站建站
  • 做个简单网站大概多少钱广州联亨科技网站建设
  • 恺策网优 营销型网站建设品牌服务商在线html网站开发
  • 做seo要明白网站桂林生活网新闻
  • 网站建设供需武昌做网站哪家专业
  • 好看的电商网站模板网易对象存储wordpress
  • 上海工商网查询企业信息查询系统安卓优化大师app下载
  • 深圳网站快速备案亳州做网站
  • 个人网站如何建jsp做的网站源码
  • 竹子建站公司怎么在百度上创建自己的网页
  • 专门做恐怖电影网站电子商务网站建设 实验
  • 旅游网站案例遂宁网站建设公司哪家好
  • WordPress站群更新wordpress 图片命名吗
  • 网站建设最好的公司哪家好网站模板下载软件
  • 运输公司网站模板网站建设及使用
  • 哈尔滨cms模板建站网站建设天地心