bilinear pooling
一、双线性汇合的计算过程:
第一步,计算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的更多相关文章
- PyTorch常用代码段整理合集
PyTorch常用代码段整理合集 转自:知乎 作者:张皓 众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代码段.然而,这项工作常常令人心累身疲,耗费大量时间.所以,今天小编转载了知乎 ...
- Awesome Torch
Awesome Torch This blog from: A curated list of awesome Torch tutorials, projects and communities. T ...
- ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)
IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...
- 2016CVPR论文集
http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...
- 香侬科技独家对话Facebook人工智能研究院首席科学家Devi Parikh
Facebook 人工智能研究院(FAIR)首席科学家 Devi Parikh 是 2017 年 IJCAI 计算机和思想奖获得者(IJCAI 两个最重要的奖项之一,被誉为国际人工智能领域的「菲尔兹奖 ...
- Classification / Recognition
转载 https://handong1587.github.io/deep_learning/2015/10/09/recognition.html#facenet Classification / ...
- 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 ...
- ICCV 2015 B-CNN细粒度分类
哈哈,好久没写博客了....最近懒癌发作~~主要是因为心情不太好啊,做什么事情都不太顺心,不过已经过去啦.最近一直忙着公司的项目,想用这个网络,就给大家带来了的这篇文章.可能比较老,来自ICCV 20 ...
- caffeModels--models-caffes-大全
caffe的伯克利主页:http://caffe.berkeleyvision.org/caffe的github主页:https://github.com/BVLC/caffe caffe的model ...
随机推荐
- 006-CSS引入外部字体
我们制作页面css,设置字体,可能会需要加入一些比较特殊的字体,这时候就需要引入这些字体. 方法如下: @font-face { font-family: KuTang;/*定义字体的名字*/ src ...
- js大图轮播和倒计时
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ubuntu window 10 双系统
https://rufus.ie/ U盘制作工具 http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso ubuntu ...
- CSS——img自适应div大小
代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...
- linux单项目发布流程
1.安装python #1.安装python3.7所需要的依赖包yum -y groupinstall "Development tools"yum -y install zlib ...
- 设置webstorm自动删除行尾分号
- nodejs笔记之流(stream)
nodejs的stream有四种流类型: 可读:Readable可写:Writable可读可写:Duplex操作被写入数据,然后读出结果:Transform常用事件:data:有数据可读时触发end: ...
- 6.JAVA基础复习——JAVA中文档注释与帮助文档的生成
java中的文档注释:用于说明该类的功能作用方便他人使用关键词前需要加@符 用于类的注释 @author name 作者 @version v1.0 版本 …… 用于函数的注释 @param para ...
- CentOS7开放端口号
查看所有开放的端口号 firewall-cmd --zone=public --list-ports 或者 firewall-cmd --permanent --list-ports(--perman ...
- Leetcode 树(102, 637)
637: 二叉树的层平均值 给定一个非空二叉树,返回一个由每层节点平均值组成的数组: https://leetcode-cn.com/problems/average-of-levels-in-bin ...