前天看了 criss-cross 里的注意力模型  仔细理解了  在: https://www.cnblogs.com/yjphhw/p/10750797.html

今天又看了一个注意力模型 《Self-Attention Generative Adversarial Networks》   https://arxiv.org/pdf/1805.08318v1.pdf

里边关键的还是注意力机制,又花了一个小时理解了下,感觉这种方式能够带来另一种视野的扩大,其中cnn是通过不断卷积扩大视野。

而这种注意力模型直接通过内积(矩阵的乘法)和 线性组合来直接获取全局信息,作者们都认为是注意力! 是否有其他含义还需要进一步理解。

这篇文章里关键就是注意力的产生:

这里边的操作 圆圈里的差  就是值得矩阵乘法。 整个这种注意力机制的论文多起来, 经典的style tranfer的论文也是用类似的方法计算风格损失的 格莱姆矩阵

下面就从输入x开始, x是个 c*w*h的 特征图  论文里写 c*n 是因为把w*h 展开了 。

然后三路 1*1卷积,没问题,这个操作可以先不展开。

这里我们用不展开的方式 先描述  f(x)和g(x)做 c`*1*1的卷积, h(x)是 做 c*1*1的卷积

做完后 对f(x),g(x) 在空间维度上拉开 w*h 拉开为 n=w*h

黄色的就是  c`*n    绿色也是  c`*n      大小的矩阵

对黄色的转置 就是 n*c`    然后 和绿色的就能做矩阵乘法

得到一个 n*n的矩阵。下边为了归一化参数,在列的方向上做softmax。得到了一个n*n的注意力矩阵,为什么在列方向上归一化,这是因为为了下一步和h(x)的特征图相乘

h(x)是经过 c*1*1的卷积操作,对输入x进行了一次变换的来的,同样对其拉开就成了一个 c*n的矩阵

刚才得到的注意力矩阵式n*n的,并且在列上归一化了,  所以 h(x)* attention  得到一个  (c*n) *(n*n)= c*n 大小的矩阵。

然后恢复 c*n 到 c*w*h就可以。

这样就可以看到这完全就是对每个位置和所有位置进行加权,一下子具有全局感受视野,而且每个位置的权值不同。

这可以细细体会下,这样的操作到底代表了什么。

卷积是扩大视野的方法,这种操作直接一步到位获取了全局视野。

和criss-cross的方法是在通道上,这个直接是在通道内。不太确定。

之前还有squeeze 和 excitation的注意力方法

如何结合起来,是否可以用在分类上,提升分类精度? 值得思考。

《Self-Attention Generative Adversarial Networks》里的注意力计算的更多相关文章

  1. AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks 笔记

    AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks 笔记 这 ...

  2. SAGAN:Self-Attention Generative Adversarial Networks - 1 - 论文学习

    Abstract 在这篇论文中,我们提出了自注意生成对抗网络(SAGAN),它是用于图像生成任务的允许注意力驱动的.长距离依赖的建模.传统的卷积GANs只根据低分辨率图上的空间局部点生成高分辨率细节. ...

  3. Generative Adversarial Networks overview(2)

    Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...

  4. Generative Adversarial Networks overview(1)

    Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...

  5. GD-GAN: Generative Adversarial Networks for Trajectory Prediction and Group Detection in Crowds

    GD-GAN: Generative Adversarial Networks for Trajectory Prediction and Group Detection in Crowds 2019 ...

  6. StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记

    StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks  本文将利 ...

  7. 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

    Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...

  8. Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

    Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 20 ...

  9. (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!

    Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...

随机推荐

  1. python基础14_文件操作

    文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...

  2. Fasttext原理

    fastText 模型输入一个词的序列(一段文本或者一句话),输出这个词序列属于不同类别的概率.序列中的词和词组组成特征向量,特征向量通过线性变换映射到中间层,中间层再映射到标签.fastText 在 ...

  3. golang反射

    要点 1.变量 2.反射 3.结构体反射 4.反射总结以及应用场景 一.变量介绍 1.变量的内在机制 A.类型信息,这部分是元信息,是预定义好的 B.值类型,这部分是程序运行过程中,动态改变的 var ...

  4. docker info 警告"WARNING: No swap limit support"

    vim/etc/default/grub 找到 GRUB_CMDLINE_LINUX="" 在双引号里面输入cgroup_enable=memory swapaccount=1 然 ...

  5. HTML语言发展史

    .发展时间线 1982年,Tim Berners-Lee 建立 HTML 1993年,大學生的 Marc Andreessen 在他的 Mosaic 浏览器加入 标记,从此可以在Web頁面上浏览图片 ...

  6. Windows 2008 asp.net 配置

    目录 1.     前言.. 32.     部署环境.. 32.1         服务器环境信息.. 33.     磁盘阵列配置.. 44.     安装操作系统.. 45.     安装软件. ...

  7. 为什么想起开通blog?

    为什么想起开通博客 2016年跨年夜写年终总结时,曾对自己许下愿,要成为一个会讲“故事”的人,无奈口才不行,写字也不好看,所以只能在电脑上码码字代替了. 在我看来,这“故事”该有许多种含义:首先,电子 ...

  8. Python_在Ubuntu中搭建科学计算环境

    本文针对 Ubuntu 下搭建 Python 科学计算的环境,罗列了关键词和部分链接,最后附上了自己的一点分享. 1.升级 关键词: python ubuntu 升级 推荐: ubuntu16.04下 ...

  9. JAVA对mongodb的基本操作

    public class test3 { //连接数据库(不需要验证,用于测试连接本地的mongodb) public static MongoDatabase getDatabase(String ...

  10. linux服务器共享给windows的client打印机配置

    最近实验室新进来一台服务器还有打印机,老大意思让服务器连接打印机并进行网络共享,其他的人可以通过自己的PC连接到共享打印机,打印各自电脑的文件.这样的需求可能很多人都有遇到,我也是遇到这件事,在网上搜 ...