一、双线性汇合的计算过程:

第一步,计算Gram 矩阵:

对于一组H×W×D的feature maps,$\boldsymbol{x}_{i} \in \mathbb{R}^{D}$是图像的深度描述,其中$1 \leq i \leq H W$。双线性汇合双线性汇合是计算深度描述向量的格拉姆矩阵(Gram matrix),其中$\boldsymbol{G} \in \mathbb{R}^{D \times D}$。

\begin{equation}
\boldsymbol{G} :=\frac{1}{H W} \sum_{i=1}^{H W} \boldsymbol{x}_{i} \boldsymbol{x}_{i}^{\top}
\end{equation}

如果 不在整张图里面求取一个均值,思考一个像素点更容易理解双线性汇合。

把$x_{1}$作为列向量,$x_{1}^{T}$就是行向量,这样相乘就是一个D×D的矩阵。

从数学运算上思考上面的格拉姆矩阵,相当于是这么算的,将每个feature map展开为一维向量的形式,格拉姆矩阵中的一个值就是两个feature map向量【1,HW】与【HW,1】的乘积再除上HW。而综合来看就是【D,HW】与【HW,D】的矩阵乘积除以HW。

第二步,将格拉姆矩阵展成向量:

\begin{equation}
\boldsymbol{s} :=\operatorname{vec} \boldsymbol{G} \in \mathbb{R}^{D^{2}}
\end{equation}

第三步,进行规范化:

\begin{equation}
s_{k} \leftarrow \operatorname{sign} s_{k} \sqrt{\left|s_{k}\right|}, s \leftarrow \frac{s}{\|s\|}
\end{equation}

(这个地方没有明白是如何计算的?)

二、延申与扩展

协方差矩阵的定义:

\begin{equation}
\mathbf{\Sigma} :=\frac{1}{H W} \sum_{i=1}^{H W}\left(\boldsymbol{x}_{i}-\boldsymbol{\mu}\right)\left(\boldsymbol{x}_{i}-\boldsymbol{\mu}\right)^{\top}=\frac{1}{H W} \boldsymbol{X} \tilde{\boldsymbol{I}} \boldsymbol{X}^{\top}
\end{equation}

其中:

\begin{equation}
\boldsymbol{\mu} :=\frac{1}{H W} \sum_{i=1}^{H W} \boldsymbol{x}_{i}
\end{equation}

\begin{equation}
\tilde{\boldsymbol{I}} :=\boldsymbol{I}-\frac{1}{H W} \mathbf{1} \mathbf{1}^{\top} \in \mathbb{R}^{H W \times H W}
\end{equation}

(这个地方没有明白是如何计算的?)

bilinear pooling的更多相关文章

  1. PyTorch常用代码段整理合集

    PyTorch常用代码段整理合集 转自:知乎 作者:张皓 众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代码段.然而,这项工作常常令人心累身疲,耗费大量时间.所以,今天小编转载了知乎 ...

  2. Awesome Torch

    Awesome Torch This blog from: A curated list of awesome Torch tutorials, projects and communities. T ...

  3. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)

    IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...

  4. 2016CVPR论文集

    http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...

  5. 香侬科技独家对话Facebook人工智能研究院首席科学家Devi Parikh

    Facebook 人工智能研究院(FAIR)首席科学家 Devi Parikh 是 2017 年 IJCAI 计算机和思想奖获得者(IJCAI 两个最重要的奖项之一,被誉为国际人工智能领域的「菲尔兹奖 ...

  6. Classification / Recognition

    转载 https://handong1587.github.io/deep_learning/2015/10/09/recognition.html#facenet Classification / ...

  7. Paper Reading - Learning to Evaluate Image Captioning ( CVPR 2018 ) ★

    Link of the Paper: https://arxiv.org/abs/1806.06422 Innovations: The authors propose a novel learnin ...

  8. ICCV 2015 B-CNN细粒度分类

    哈哈,好久没写博客了....最近懒癌发作~~主要是因为心情不太好啊,做什么事情都不太顺心,不过已经过去啦.最近一直忙着公司的项目,想用这个网络,就给大家带来了的这篇文章.可能比较老,来自ICCV 20 ...

  9. caffeModels--models-caffes-大全

    caffe的伯克利主页:http://caffe.berkeleyvision.org/caffe的github主页:https://github.com/BVLC/caffe caffe的model ...

随机推荐

  1. Mac Pro 坑记录

    第一天app store没法登陆,登陆后没有任何的反应,试过了改系统时间为一致.修改权限:sudo chmod -R 1777 /Users/Shared 都没什么用. 最后是终端运行: defaul ...

  2. 关于表格table嵌套,边框合并问题的解决方法,table嵌套(转)

    原文地址:http://www.cnblogs.com/zhangym118/archive/2016/05/16/5496931.html [问题] 外层table与内层table嵌套,内外表格都需 ...

  3. 功能比较全的StackExchange.Redis封装帮助类(.Net/C#)

    Redis官网https://redis.io/ 以下内容未全部验证,如有问题请指出 //static NewtonsoftSerializer serializer = new Newtonsoft ...

  4. Centos7上安装、破解bamboo6.0.3

    1.下载bamboo安装包,地址:https://www.atlassian.com/software/bamboo/download?_ga=2.65378349.245489969.1512876 ...

  5. 2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用 目录 原理与实践说明 实践原理 实践内容概述 基础问题回答 攻击实例 主动攻击的实践 ms08_067_netapi: ...

  6. Swagger结合mustache模板生成后台接口代码、以及前后台建模代码

    之前项目中使用的的thrift来建模,维护前后台模型以及rest接口,前台使用的是angular2: 但是使用thrift只能生成建模,后台的rest接口的Controller文件还是需要手动去写,一 ...

  7. JavaScript数组对象常用方法

    JavaScript数组对象常用方法 方法 形式 返回值 是否改变原数组 描述 concat -items: ConcatArray[] 追加之后的数组 否 连接两个或更多的数组,并返回结果.注意 c ...

  8. Tomcat类加载

    一.为什么会有类加载 1.在类加载阶段,虚拟机需要完成以下3件事情 1)通过一个全限类定名来获取此类的二进制字节流 2) 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 3)在内存中生成 ...

  9. 如何使用postman传数组数据

    如何使用postman传数组数据 在我们做api接口数据调试的时候,大部分是会用到postman的,一般请求数据的参数都是字符串,但是特殊情况下我们是需要传一个数组数据的,那么为了实现这种需求,究竟该 ...

  10. allure --version 异常io.airlift.airline.ParseArgumentsUnexpectedException: Found unexpected parameter

    执行allure --version时,有时会出现如下异常: io.airlift.airline.ParseArgumentsUnexpectedException: Found unexpecte ...