遍地开花的 Attention ,你真的懂吗?

2023-05-16

640?wx_fmt=jpeg

阿里妹导读:曾被 paper 中各种各样的 Attentioin 搞得晕晕乎乎,尽管零零散散地整理过一些关于Attention 的笔记,重点和线索依然比较凌乱。今天,阿里巴巴工程师楠易,将 Attentioin 的知识系统性地梳理、回顾、总结,不求深刻,但求浅显,希望能帮助对 Attention 有疑惑的同学。


前言


Attention 自2015年被提出后,在 NLP 领域,图像领域遍地开花。Attention 赋予模型区分辨别能力,从纷繁的信息中找到应当 focus 的重点。2017年 self attention 的出现,使得 NLP 领域对词句 representation 能力有了很大的提升,整个 NLP 领域开启了全面拥抱 transformer 的年代。


本文会主要从2个方面来介绍 Attention。


初识 Attention,主要扒一扒 Attention 的历史,然后给出一个通用的框架来回答一个终极问题:what is Attention?


细数 Attention,以上文给出的通用框架视角来审视所有的 Attention,在这个章节,你会和各种各样的 Attention 相遇、相识、相恋(global/local、soft/hard、Bagdanau attention、 Luong attention、 self-attention、 multi-head attention , 以及它们的别名),了解它们之间的联系与差异。


长按识别以下二维码,关注阿里机器智能官方公众号,并在对话框内回复A,即可提前 get 完整版 PPT。


640?wx_fmt=jpeg


初识Attention


History


Attention 的发展可以粗暴地分为两个阶段。


2015-2017年,自从 attention 提出后,基本就成为 NLP 模型的标配,各种各样的花式 attention 铺天盖地。不仅在 Machine Translation,在 Text summarization,Text Comprehend(Q&A), Text Classification 也广泛应用。奠定基础的几篇文章如下:


2015年 ICLR 《Neural machine translation by jointly learning to align and translate》首次提出 attention(基本上算是公认的首次提出),文章提出了最经典的 Attention 结构(additive attention 或者 又叫 bahdanau attention)用于机器翻译,并形象直观地展示了 attention 带来源语目标语的对齐效果,解释深度模型到底学到了什么,人类表示服气。


2015年 EMNLP 《Effective Approaches to Attention-based Neural Machine Translation》在基础 attention 上开始研究一些变化操作,尝试不同的 score-function,不同的 alignment-function。文章中使用的 Attention(multiplicative attention 或者 又叫 Luong attention)结构也被广泛应用。


2015年 ICML 《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》是 attention(提出hard/soft attention的概念)在 image caption 上的应用,故事圆满,符合直觉,人类再次表示很服气。


在上面几篇奠基之作之上,2016和2017年 attention 开枝散叶,无往不利。Hiearchical Attention,Attention over Attention,multi-step Attention……这些或叫得上名的或叫不上名。


2017年-至今是属于 transformer 的时代。基于 transformer 强大的表示学习能力,NLP 领域爆发了新一轮的活力,BERT、GPT 领跑各项 NLP 任务效果。奠基之作无疑是:


2017年 NIPS《Attention is all you need》提出 transformer 的结构(涉及 self-attention,multi-head attention)。基于 transformer 的网络可全部替代sequence-aligned 的循环网络,实现 RNN 不能实现的并行化,并且使得长距离的语义依赖与表达更加准确(据说2019年的 transformer-xl《Transformer-XL:Attentive Lanuage Models Beyond a fixed-length context》通过片段级循环机制结合相对位置编码策略可以捕获更长的依赖关系)。


what is Attention ?


直奔主题,终极叩问 "what is attention?" 。这个章节,尝试以统一的抽象框架来定义 attention。如同先编写一个抽象类,后续章节涉及所有的 attention 都继承于这个抽象类。这里我写了两个抽象类,一个叫 alignment-based,一个叫 memroy-based。(两名字我给起的,保留最终解释权)。


★ alignment-based


如下图所示的 model setting,输入 c(context,有的论文写s),y(input,有的地方也写作 h),输出 z。图中,英文表达原汁原味,细品一下。


640?wx_fmt=png

图片来源

https://towardsdatascience.com/memory-attention-sequences-37456d271992


我们细拆 Attention Model,以经典的 Bahdanau attention 为例,看看抽象出来的三部曲:


  • score function :度量环境向量与当前输入向量的相似性;找到当前环境下,应该 focus 哪些输入信息;



640?wx_fmt=png


  • alignment function :计算 attention weight,通常都使用 softmax 进行归一化;


640?wx_fmt=png


  • generate context vector function :根据 attention weight,得到输出向量;


640?wx_fmt=png


下图,更加直观地展示这三个接口的位置:


640?wx_fmt=png


自此之后,要认清一个 attention 的详情,只需要搞清楚这三个部分,所有的变换都是在3个位置进行调整,当然变化最丰富的是 score function。在后一个章节会详细对比不同种类的 attention 在这三个维度上的变换。


★ memory-based


另一种视角是 QKV 模型,假设输入为 q,Memory 中以(k,v)形式存储需要的上下文。感觉在 Q&A 任务中,这种设置比较合理,transformer 是采用的这种建模方式。k 是 question,v 是 answer,q 是新来的 question,看看历史 memory 中 q 和哪个 k 更相似,然后依葫芦画瓢,根据相似 k 对应的 v,合成当前 question 的 answer。


640?wx_fmt=png

图片来源:

https://zhuanlan.zhihu.com/p/35571412


在这种建模方式下,也分为三步:


  • address memory (score function):640?wx_fmt=png,在 memory 中找相似;


  • normalize(alignment function) : 640?wx_fmt=png


  • read content (gen context vector function) : 640?wx_fmt=png


其实还是没有逃出上文三部曲的框架。只是将 input 分裂成了 kvpair。


后文都会以统一的三部曲建模方式(score function,alignment function,generate context vector function)来分析所有 attention。


Attention in Detail


在上文,我们 high-level 地了解了 attention 三部曲的建模方式,接下来要把所有Attention 拉出来排排坐。


Framework


如下图,通常听到的一些 attention,他们的差异其实主要体现在 score-function 层面,其次是体现在 generate context vector function 的层面。我们分别来看看,这些 attention 之间的差异与联系。


640?wx_fmt=png


★ generate context vector function


hard / soft attention 是在文章《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》提出的概念,最直观的一种理解是,hard attention 是一个随机采样,采样集合是输入向量的集合,采样的概率分布是alignment function 产出的 attention weight。因此,hard attention 的输出是某一个特定的输入向量。soft attention 是一个带权求和的过程,求和集合是输入向量的集合,对应权重是 alignment function 产出的 attention weight。hard / soft attention 中,soft attention 是更常用的(后文提及的所有 attention 都在这个范畴),因为它可导,可直接嵌入到模型中进行训练,hard attention 文中 suggests a Monte Carlo based sampling approximation of gradient。


★ alignment function


在 soft attention 中,又划分了 global/local attention(In this paper :《Effective Approaches to Attention-based Neural Machine Translation》)。


直观理解就是带权求和的集合不一样,global attention 是所有输入向量作为加权集合,使用 softmax 作为 alignment function,local 是部分输入向量才能进入这个池子。为什么用 local,背后逻辑是要减小噪音,进一步缩小重点关注区域。接下来的问题就是,怎么确定这个 local 范围?文中提了两个方案 local-m 和 local-p。local-m 基于的假设生硬简单,就直接 pass了。local-p 有一个预估操作,预计当前时刻应该关注输入序列(总长度为S)的什么位置 pt(引入了两个参数向量,vp,wp),然后在 alignment function 中做了一点儿调整,在 softmax 算出来的attention wieght 的基础上,加了一个以 pt 为中心的高斯分布来调整 alignment 的结果。


作者最后阐述 local-p + general(score-function 参考上图中multiplicative attention 中的 general 版本)的方式效果是最好的。但从global/local 视角的分类来看,更常用的依然还是 global attention,因为复杂化的local attention 带来的效果增益感觉并不大。


640?wx_fmt=png


★ score-function


如何生成输出向量,有上面提及的那些变换。接下来是变化更加丰富的 score function。最为常用的 score function 有上文图中的那几种(基本全乎了吧)。其实本质就是度量两个向量的相似度。如果两个向量在同一个空间,那么可以使用 dot 点乘方式(或者 scaled dot product,scaled 背后的原因是为了减小数值,softmax 的梯度大一些,学得更快一些),简单好使。如果不在同一个空间,需要一些变换(在一个空间也可以变换),additive 对输入分别进行线性变换后然后相加,multiplicative 是直接通过矩阵乘法来变换(你是不是也曾迷惑过为什么attention 要叫做 additive 和 multiplicative attention?)。


后文我们将介绍几个具有代表性的 attention,通过具体的 attention example 来进一步理解。以及一些花样 attention,看大家都怎样变着法儿用 attention。


Bahdanau Attention & Luong Attention


在对比之中,认知更清晰,一图表达所有。这两个 Attention 就是整个 Attention 的奠基之作。Tensorflow 中实现了这两种 Attention 的 API。


640?wx_fmt=png


Self Attention & Multi-head Attention


★ why self attention ?


有很多文章写 self-attention,但是写 why self-attention 的并不多。所以打算多花点笔墨来写 why。


RNN 的长距离依赖比较 tricky:RNN 很强大(可以作为 encoder 对长度任意的序列进行特征抽取,基于特征抽取的能力可以胜任分类任务,另一方面可以作为Generators 学习 Language Model),其实核心就是长距离依赖(gate architectures - 线性操作让信息可以保持并流动,并选择性地让信息通过),可以对长度任意的序列进行表达,但是这种方式还是比较 tricky。并且这种序列建模方式,无法对具有层次结构的信息进行很好的表达。

RNN 由于递归的本质,导致无法并行。


640?wx_fmt=png


CNN 在 NLP 中扮演了 n-gram 的 detector 角色,在层内可以并行。CNN works well,基于的假设是局部信息相互依赖。CNN 具有 Hierarchical Receptive Field,使得任意任意两个位置之间的长度距离是对数级别的。


640?wx_fmt=png


所以有没有一种方法,能够做到既能又能还能?


相对于 CNN,要 constant path length 不要 logarithmic path length , 要 variable-sized perceptive field,不要固定 size 的 perceptive field;
相对于 RNN,考虑长距离依赖,还要可以并行!


这就是 self attention。下图可以看到 self-attention 和 convolution 有点儿神似,它摒弃了 CNN 的局部假设,想要寻找长距离的关联依赖。看下图就可以理解 self-attention 的这几个特点:


  • constant path length & variable-sized perceptive field :任意两个位置(特指远距离)的关联不再需要通过 Hierarchical perceptive field 的方式,它的 perceptive field 是整个句子,所以任意两个位置建立关联是常数时间内的。

  • parallelize : 没有了递归的限制,就像 CNN 一样可以在每一层内实现并行。


640?wx_fmt=png

图片来源:

https://nlp.stanford.edu/seminar/details/lkaiser.pdf


self-attention 借鉴 CNN中 multi-kernel 的思想,进一步进化成为 Multi-Head attention。每一个不同的 head 使用不同的线性变换,学习不同的 relationship。


★ what is self-attention?


已经有很多很好的文章介绍 transformer 和 self-attention,以及内部细节。有兴趣的同学可以看下参考资料【11】,介绍得比较详细,下图是完整版本的 multi-head attention 的示例图(引用自上述链接中)。这是基于上文中提及了 QKV 的 memory-based 的建模方式。需要说明的几个点:


1. QKV 都是对输入 x 的线性映射。
2. score-function 使用 scaled-dot product。
3. multihead 的方式将多个 head 的输出 z,进行 concat 后,通过线性变换得到最后的输出 z。


640?wx_fmt=png


transformer 框架中 self-attention 本身是一个很大的创新,另一个有意思的是 three ways of attention 的设计。attention weight 一列以英译中,encoder 输入machine learning,decoder 输入机器学习。


  1. Encoder self-attention:Encoder 阶段捕获当前 word 和其他输入词的关联;

  2. MaskedDecoder self-attention :Decoder 阶段捕获当前 word 与已经看到的解码词之间的关联,从矩阵上直观来看就是一个带有 mask 的三角矩阵;

  3. Encoder-Decoder Attention:就是将 Decoder 和 Encoder 输入建立联系,和之前那些普通 Attention 一样;


640?wx_fmt=png


在 transformer 中除了上诉提及的东西,还有 positional encoding,residuals 这些小而美的东西。在复杂度方面在原文中也与 RNN-CNN 进行了对比。


花样 Attention


下面简要介绍几种花样的 attention:


RNN 对序列建模,但是缺乏层次信息。而语言本身是具有层次结构,短语组成句子,句子组成篇章。因此研究者十分希望把语言中的这些层次结构在模型中得以体现,Hierarchical 的方式就出现了。《Hierarchical Attention Networks for Document Classification》,从 word attention 到 sentence attention,如下图一。


在匹配或者检索任务中(如Q&A,IR),要衡量 query,doc 相似度,这时候attention 的方法中,query 和 doc 就互为对方的 cotext,query 对 doc 算一次attention,doc对query 算一次 attention,《Attention-over-Attention Neural Networks for Reading Comprehension 》,如下图二。


上文介绍 why self-attention 时已经提及了 RNN 和 CNN 的一些优点和问题,几乎和 transformer 同时,facebook 发表了《Convolutional Sequence to Sequence Learning》,同样地想借用 CNN 的优点来补足 RNN 不能并行的弱点,用 CNN 结合 attention 来对序列进行建模,如下图三。


随着 transformer 的爆红,围绕 transformer 的花边,出现了 weighted-transformer 《Weighted Transformer Network For Machine Translation》。今年出现了 transformer-xl 《Transformer-xl :attentive language models beyond a fixed-length context》,如下图四, 想达到对任意长度的输入进行特征抽取,而不是 transformer 切成 segment 的定长输入。


640?wx_fmt=png


总结


Why Attention Works?


从上面的建模,我们可以大致感受到 Attention 的思路简单,四个字“带权求和”就可以高度概括,大道至简。做个不太恰当的类比,人类学习一门新语言基本经历四个阶段:死记硬背(通过阅读背诵学习语法练习语感)->提纲挈领(简单对话靠听懂句子中的关键词汇准确理解核心意思)->融会贯通(复杂对话懂得上下文指代、语言背后的联系,具备了举一反三的学习能力)->登峰造极(沉浸地大量练习)。


这也如同attention的发展脉络,RNN 时代是死记硬背的时期,attention 的模型学会了提纲挈领,进化到 transformer,融汇贯通,具备优秀的表达学习能力,再到 GPT、BERT,通过多任务大规模学习积累实战经验,战斗力爆棚。


要回答为什么 attention 这么优秀?是因为它让模型开窍了,懂得了提纲挈领,学会了融会贯通。


那又是如何开窍的?是因为它懂得了"context is everything"。


1.在语言模型中:语言模型(language model)是整个 NLP 领域的基础,语言模型的精准程度基本上直接掌握所有 NLP 任务效果的命脉。而 context 又掌握着语言模型的命脉,语义不孤立,在特定 context 下展示特定的一面,模型如果可以学习到这些知识,就可以达到见人说人话,见鬼说鬼话的理想状态。


在语义表达上能把 context 用好的都是成功的典范(参考:word2vec 靠学习 word 及其 context 发家,ELMo-deep contextualized word representations, BERT 从句子中抠掉一个词用上下文去预测这个词,transformer-xl 较 transformer 使用更全面的 context 信息,XLNet 一大重要贡献也是研究如何使用上下文信息来训练语言模型)。


2.在其他领域中:Attention 是把 context 用好的典范之一。Attention 背后本质的思想就是:在不同的 context 下,focusing 不同的信息。这本来就是一个普适的准则。所以 Attention 可以用到所有类似需求的地方,不仅仅是 NLP,图像,就看你对 context 如何定义。


在很多的应用场景,attention-layer 肩负起了部分 feature-selection,featue-representation 的责任。举个例子,transfer learning with Domain-aware attention network for item recommemdation in e-commerce 中提及:不同场景的用户的行为有不同的偏好(场景是 context,价格,品牌是不同的信息),天猫用户对品牌看重,亲淘用户 focus 价格,可以通过 attention-layer 学习到不同 context 下,用户的 Attention 在哪里。在 ctr 预估中,Deep Interest Network for Click-Through Rate Prediction 出发点类似。在推荐场景中,文章 Feature Aware Multi-Head Attention 在手淘猜你喜欢排序模型中的应用 。这些都是attention 在业务场景落地的参考。


最后,国际搜索和推荐算法部招贤纳士啦!如果对信息检索、NLP、图像处理、机器学习方向有兴趣,想要加入我们,简历申请地址:carrie.ywj@alibaba-inc.com


Reference

1.Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:1409.0473, 2014.
2.Xu K, Ba J, Kiros R, et al. Show, attend and tell: Neural image caption generation with visual attention[J]. arXiv preprint arXiv:1502.03044, 2015.
3.Luong M T, Pham H, Manning C D. Effective approaches to attention-based neural machine translation[J]. arXiv preprint arXiv:1508.04025, 2015.
4.Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.
5.Dai Z, Yang Z, Yang Y, et al. Transformer-xl: Attentive language models beyond a fixed-length context[J]. arXiv preprint arXiv:1901.02860, 2019.
6.Yang Z, Yang D, Dyer C, et al. Hierarchical attention networks for document classification[C]//Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2016: 1480-1489.
7.Cui Y, Chen Z, Wei S, et al. Attention-over-attention neural networks for reading comprehension[J]. arXiv preprint arXiv:1607.04423, 2016.
8.Gehring J, Auli M, Grangier D, et al. Convolutional sequence to sequence learning[C]//Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017: 1243-1252.
9.https://github.com/kimiyoung/transformer-xl
10.https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html
11.https://jalammar.github.io/illustrated-transformer/
12.https://www.jianshu.com/p/b1030350aadb
13.https://arxiv.org/abs/1706.06978



阿里巴巴在 AI 路上

有哪些重大突破?

关注“阿里机器智能”,

了解 AI 大事,

扫我 ↓


640?wx_fmt=jpeg


640?wx_fmt=gif

你可能还喜欢

点击下方图片即可阅读


640?wx_fmt=jpeg

如何在视频里任意抠图?阿里工程师做到了!


640?wx_fmt=jpeg

技术人如何通过了解业务,获取晋升机会?


640?wx_fmt=jpeg

看!闲鱼又开源了一个 Flutter 开发利器



640?wx_fmt=jpeg


关注「阿里技术」

把握前沿技术脉搏

阅读更多

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

遍地开花的 Attention ,你真的懂吗? 的相关文章

  • Altium Designer软件绘图

    使用Altium Designer软件绘制一个stm32最小系统的电路原理图 芯片的PCB和SCH封装自定义元器件PCB的封装自定义元器件SCH的封装绘制stm32最小系统原理图 芯片的PCB和SCH封装 新建一个工程 xff1a 新建PC
  • 利用原理图绘制PCB板

    利用原理图绘制PCB板 AHT封装PCB封装AHT SCH封装AHT 元件封装 AHT原理图添加PCB绘制BOM表网络表PCB板 AHT封装 PCB封装 1 打开之前设计好的stm32f103c8t6工程 xff0c 再打开PCB封装库 P

随机推荐

  • c语言结构体

    结构体 定义 xff1a 用于存储不同的数据类型 xff0c 存储在同一块内存空间里面 1 关键字 struct 2 标签 结构体名称 3 成员 例如 xff1a span class token keyword struct span s
  • css基础

    CSS基础 CSS的作用CSS的语法CSS的引用内部样式表外部样式颜色 xff0c 尺寸 xff0c 对齐盒子模型边框与边距定位溢出浮动透明度 CSS学习总结 CSS的作用 在我们写的html页面中 xff0c 所有的内容只能通过添加标记来
  • adaboost和朴素贝叶斯算法简述

    adaboost和朴素贝叶斯算法简述 adaboost原理基本步骤基本应用 朴素贝叶斯算法原理基本步骤基本应用 adaboost原理 前一个基本分类器分错的样本会得到加强 xff0c 加权后的全体样本再次被用来训练下一个基本分类器 同时 x
  • MDB基础

    MDB基础学习 页面结构页面导航条页面主题布局页面主体页面底部总结 页面结构 MDB 模板 在 code 中打开 index html文件你可看到常见的 HTML 文档结构 xff0c MDB 需要的 CSS 和 JS 文件 xff0c 我
  • 基于数电的交通灯控制器

    一 任务与要求 由一条主干道和一条支干道的汇合点形成十字交叉路口 xff0c 为确保车辆安全 迅速地通行 xff0c 在交叉路口的每个人口处设置了红 绿 黄三色信号灯 xff08 1 xff09 用红 绿 黄三色发光二极管作信号灯 xff0
  • STM32学习心得(第一天)

    作为一名刚接触STM32的初学者 xff0c 今天通过观看网站上的视频 xff0c 对STM32有了最基础的了解 xff0c 并学到了一些STM32的学习方法 xff0c 自我感觉收获不错 一 学习方法 1 两个学习网址 xff1a 开源电
  • STM32学习心得(第二天)

    我感觉今天的学习状态还是可以的 xff0c 进行了开发环境的搭载和怎样构建一个新项目 基于固件库 xff0c 学到了较多的新知识 xff0c 同时了解了STM32的启动模式 xff0c 程序下载的两种方法 xff08 1 ISP串口下载2
  • STM32学习心得(第三天)

    今天的状态还可以 xff0c 学习了新建工程模板 xff08 基于寄存器 xff09 和了解了GPIO工作原理 xff0c 昨天基于库函数新建工程模板学习的并不牢固 xff0c 今天还是无法自己创建出来 xff0c 正好借此机会再巩固一下
  • Ubuntu 快速更换阿里源

    简介 xff1a 本文主要给大家讲解如何为Ubuntu更换阿里源 xff0c 通过以下四个步骤即可快速实现换源 镜像下载 域名解析 时间同步请点击 阿里巴巴开源镜像站 一 查看ubuntu的Codename lsb release a gr
  • 【工作遇到的问题——已解决】pip3 install numpy失败

    问题描述 需求 xff1a 求出列表中90 的响应时间 xff1a import numpy as np span class token keyword for span i in finalvalues span class token
  • 7、CAS

    目录 1 CAS是什么 1 1 CAS基本知识 1 2 CAS基本思想 2 对原子类中使用的CAS进行分析 2 1 CAS demo 代码 2 2 源码分析 3 原子类 3 1 有那些属性 用AtomicInteger分析 3 2 Unsa
  • ubuntu设置网络代理在内网中使用 apt代理、docker代理

    ubuntu设置apt 代理 编辑apt 配置文件 span class token function sudo span span class token function vim span etc apt apt conf 添加以下内容
  • 通过VNC远程连接ubuntu桌面(多种客户端连接方式)

    背景 有些时候一些设备不带显示器和键盘鼠标 xff0c 我们来维护他 xff0c 是通过ssh远程连接进行操作 但可能有些维护需要有图形显示来操作 xff0c 这时候再用ssh就不是很合适了 我所遇的设备情况是 xff0c 经常要自己接入显
  • 选择悖论:开源网络操作系统(NOS)重启指南

    我们拥有的选择越多 xff0c 就越不满足 然而 xff0c 只有手握选择权 xff0c 才能在决策之时享受自由和自主 这就是众所周知的选择悖论 当你打算从亨氏旗下的57种薯片 xff08 我的美国朋友们把它叫做chips xff09 中挑
  • Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

    一 摘要 自下而上的机制 基于 Faster R CNN xff1a 提取出图像区域 xff0c 每个区域都有一个相关的特征向量 自上而下的机制 xff1a 确定特征权重 提出了一种自下而上和自上而下的结合注意力机制 xff0c 使注意力能
  • 在keras环境下将numpy数据形式转换为tensor

    目录 前期尝试试错最终的解决方法 前期尝试 因为刚刚开始学习 xff0c 想要记录一下自己学习的全过程 xff0c 所以想知道具体方法的可以直接在目录跳到最后 xff1a 最终的解决方法 最近开始接触神经网络的学习 xff0c 在看过一个比
  • SSH测试远程服务器端口的连通性

    ssh是linux的标准配置并且最常用 xff0c 可以用来判断端口是否打开 用法 ssh v p port username 64 ip v 详细模式 会打印日志 xff0c 显示登录的细节 p 指定端口 username 可以随意 ip
  • hadoop单表关联

    1 单表关联 实例描述 实例中给出child parent xff08 孩子 父母 xff09 表 xff0c 要求输出grandchild grandparent xff08 孙子 爷奶 xff09 表 样例输入 如下所示 file xf
  • 调试带有源码的dll

    环境 windows 7 Visual Studio 2010 将dll项目debug目录下的 dll lib pdb文件拷贝到exe项目程序的debug目录下 xff08 是exe所在的文件夹 xff09 在调用dll里面的函数前面增加断
  • 遍地开花的 Attention ,你真的懂吗?

    阿里妹导读 xff1a 曾被 paper 中各种各样的 Attentioin 搞得晕晕乎乎 xff0c 尽管零零散散地整理过一些关于Attention 的笔记 xff0c 重点和线索依然比较凌乱 今天 xff0c 阿里巴巴工程师楠易 xff