Introduction

准备做一个feature map浏览器,可以做些intuitive的观察。code在这里(tool目录下放的支持变形输入的module.py模块)。

可以支持对feature map和softmax output的浏览,其中feature map用了简单的平均化方法(可视化之前进行了归一化),这一方法似乎简洁有效,之前有fine grained的任务是照此进行的。

Similar Map

测试的时候,有一项是对feature map进行操作,用的是vgg16。偶然间发现没有经过mean处理的输入产生的feature map和经过的看起来没有什么区别,而probability有明显的变化。

Figure 1. 经过中心化的featuremap

Figure 2. 原图数据输入获得的featuremap

关于`softmax output`的概率输出就不贴出来了,没什么说的。

但两个`feature map`就有些意思了。

## Exploration

从输入的数据上来看,两者有$50\%$的统计差距,在经过多次非线性映射后,表现出极为相似的map。一个容易想到的解释是,两者间有一个系数的差别,路上和大师兄说起,他第一感觉也是这样。

下面两个图是两个feature map 的`histogram`,这里注明一下,由于被抑制的元素很多(是非常多),所以统计范围区间设置为$[0.01,100]$。

Figure 3. Histogram-经过中心化的featuremap

Figure 4. Histogram-原始图数据的featuremap

上面第一张是经过中心化的,第二张没有。如果说是有一个系数的差异,似乎更容易接受两个分布是相同的!

如果说还需要确认其中有值得从理论上考察的理由,再来看看`第一个`*Activation*后Map的分布:

Figure 5. with *mean*

Figure 6. no *mean*

以上两图的也是按照`with mean`,`no mean`排列。大致上两个也可以认为是相同分布。

### Link

如果再脑补一下的话,还可以想象这些分布是一种正态分布,因为`ReLU`的存在被truncate了,只剩下正半部分,还可以继续脑补,如果权重也是一个正态分布(之前有过观察,发现确实是正太),另外从初始化方式上,也可以认为其符合。

之前Kaiming He有过一个关于初始化方法的[方差理论](https://arxiv.org/abs/1502.01852),暗示在这个问题上还是可以过一把推导瘾的。

# Formulation

令$x\sim\mathcal{N}(\mu,\sigma^2)$是未经中心化的输入变量,$z\sim\mathcal{N}(0,\delta^2)$是中心化后的变量,$w$是一个零均值正态分布,独立是必须假设的:) 。需要注意的是,这些假定与实际是相当接近的。

经过一个卷积后,输出$y$的计算式:

$$

\begin{equation}

y_i = \sum_jw_{ij}x_{j}\label{eq:output_y}

\end{equation}

$$

下面考察均值和方差两部分的差异。

## 均值

在上述假定的情况下,均值式计算如下:

$$

\begin{eqnarray}

E[y_i] & = & E\left[ \sum_j w_{ij}x_{j} \right]\nonumber\\

& = & \sum_j E\left[ w_{ij}x_{j} \right]\nonumber\\

& = & \sum_j E[w_{ij}]E[x_j] \label{eq:mean}

& = & 0

\end{eqnarray}

$$

方差

如果方差计算出来也是相同的,那么理论与观察又产生了一种成就感。

\[\begin{eqnarray}

E\left[ \left( \sum_jw_{ij}x_j \right)^2 \right] & = & E\left[ \sum_j\left(w_{ij}x_j \right)^2 + \sum_j\sum_kw_{ij}w_{ik}x_kx_j \right]\label{eq:var1}

\end{eqnarray}

\]

\ref{eq:var1}中第二项根据相关假定,归结为\(0\),第一项,由独立假定处理。简化为:

\[\begin{eqnarray}

E\left[ \left( \sum_jw_{ij}x_j \right)^2 \right] & = & E\left[ \sum_j\left(w_{ij}x_j \right)^2 + \sum_j\sum_kw_{ij}w_{ik}x_kx_j \right]\nonumber\\

& = & \sum_jE[w_{ij}^2]E[x_j^2]

\end{eqnarray}

\]

这说明方差与\(x\)的均值是有关的。

考虑均值还是比较大的(\(150~vs.~[0,255]\)),所以,在两种情况下,情况应该是不同的,而且应该是有比较明显的不同。

Bias

这里考虑一下bias存在的情况,此种情况对应\ref{eq:var1}中右式加上标量\(b\),容易得出,bias对方差的计算没有影响。

关于方差的进一步考察

上面关于方差的计算在我的直觉上,感觉是一致的,但却与观察上有冲突;我把推导的结论和大师兄讨论了下,他表述了不一样的直觉。我打算先把第一个conv的输入/输出做些对比。

Figure 7. distribution of the conv1_1's output with subtracting *mean*

下图是没有经过减均值处理的输出分布:

Figure 8. distribution of the conv1_1's output **without** subtracting *mean*

从图中并没有获得令人耳目一新的事物,但比较`title`中`variance`的值,却会有新的发现。

很自然的,这给了我去验证之前推导的公式的激励。我们再来看看第一层的`weight`和`原始`图像的分布:

Figure 9. distribution of the conv1_1's weight**

下面这张是原始图像的分布(实际上这里只需要关注方差的变化了,所以是否经过减均值处理并不影响后面想要得出的结论)

Figure 10. distribution of the raw input image

Mathematical Formulation

数据已经足够,在开始进行数值验证前,再做一些假设以及验证方法的说明。

Note1

\ref{eq:mean}是对某一分量进行的求解,在此处,假定所有\(y_i\)都是独立同分布的,这样就变成对单个随机变量的求解,记这个随机变量为\(y\);同理,设置随机变量\(w,x\),并且用一个常量\(c\)替换求和操作,于是改写\ref{eq:mean}:

\[\begin{equation}

E[y^2]=cE[w^2]E[x^2]\label{eq:re-formulation-var-x}

\end{equation}

\]

Note2

再用\(\hat{y}\)表示经过中心化后的变量\(z\)经过卷基层后的输出随机变量:

\[\begin{equation}

E[\hat{y}^2] = cE[w^2]E[z^2]\label{eq:re-formulation-var-z}

\end{equation}

\]

Note3

于是验证的方法是比较通过\ref{eq:re-formulation-var-x}和\ref{eq:re-formulation-var-z}计算出来的\(c\)是否一致。

\ref{eq:re-formulation-var-x}:

\[\begin{eqnarray}

E[y^2] & = & cE[w^2]E[x^2]\nonumber\\

10735 & = & 0.04\times 20208c\nonumber\\

\Rightarrow c & = & 13

\end{eqnarray}

\]

\ref{eq:re-formulation-var-z}:

\[\begin{eqnarray}

E[\hat{y}^2] & = & cE[w^2]E[z^2]\nonumber\\

2590 & = & 0.04\times 4583c\nonumber\\

\Rightarrow c &= & 14

\end{eqnarray}

\]

另外,看看\(c\)的意义,按照\ref{eq:mean},c应该是元素个数,第一层conv核尺寸为3x3,通道数为3,考虑到稀疏分布,一半应该算正常。

Conclusion

在这次讨论中,直观上看起来改变不大的分布,其方差却有了巨大改变,这是产生一种冲突的缘由;

正态分布的假设在实际数值计算中仍然有相当的效用;

过程中还发现,对变量的认定将影响数值方法的验证感受,比如对由两个满足正态分布的随机序列逐点相乘得到的序列的和与均值,会发现两者给人的感受有很大差异。

Postscript

这个问题持续了一段时间,我最开始只是想对featureMap Viewer的code做些小结,顺便贴些图片,后面偶然发现两种特征图有极为相似的视觉感受,开始讨论了下相关的数学原理,本来以为结束了,回去却突然发现得出结论的逻辑刚好弄反了(第二天赶忙过来撤下),于是陷入某种僵局,最后发现Conclusion第三条中的观点,后面从直接的输入输出进行了验证。

这是一个与直觉有冲突的现象。看起来迷乱的猜测最后被计算贯彻。但也可以注意到softmax的输出并不是正态分布的(这很容易想象到,其分布应该相近与一个dirac函数)。

另外,像前面提到的Kaiming He的工作,提供了一些最初的想法。

References

He, Kaiming, et al. "Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification." international conference on computer vision (2015): 1026-1034.

feature map 意义_FeatureMap Viewer以及中心化对统计分布变化的影响讨论相关推荐

  1. feature map 意义_CNN中的feature map

    Feature map的理解 在cnn的每个卷积层,数据都是以三维的形式存在的.因此就可以将其看成是许多个二维的面叠在一起,而其中的每一个面,都称作一个feature map. 例如上图中的A0层,数 ...

  2. 利用IPFS构建自己的去中心化分布式Wiki系统

    IPFS全称InterPlanetary File System,中文名:星际文件系统,是一个旨在创建持久且分布式存储和共享文件的网络传输协议. 它是一种内容可寻址的对等超媒体分发协议.在IPFS网络 ...

  3. 一种在外部中心化基础下的网络空间去中心化充盈区块链系统

    本文是<赛博空间学与赛博学>的第四章 赛博空间充盈计划 第四章内容全部一起放出,请点击下面推送阅读.可辅助上一期视频理解:网络补全计划! 区块链技术本质上就是赛博空间学的产物.在区块链的区 ...

  4. 区块链第二阶段:去中心化计算平台(一)

    以太坊对区块链的发展具有创新性的意义,它使得区块链的应用不只局限于数字货币领域.以太坊给出了一套图灵完备的编程语言Solidity,让用户可以通过智能合约自由地开发去中心化App-DAPP,并且通过P ...

  5. 去中心化数字身份DID简介——一、基本概念

    本人最近正在研究数字身份DID技术,该技术在区块链领域目前还比较冷门,并没有什么实际的应用案例,但是数字身份的应用场景广阔,是一个必然会火起来的技术.于是打算写几篇文章,好好讲一下其中涉及到的概念,技 ...

  6. 挑战“数据霸权”,巴克云筑起去中心化网络

    文:施燕芬 本文首发于:36氪 区块链逐步发展的过程中,定义越来越狭窄.区块链+金融成了固定搭配:大家都认为区块链特点是不可篡改.可追溯性,其实区块链去中心化的特性更为典型. 在重新定义区块链的路上, ...

  7. 【项目评析】Jibrel Network(JNT)--去中心化银行???(黑人问号)

    在我们讨论去中心化的时候,我们在讨论什么? "在一个分布有众多节点的系统中,每个节点都具有高度自治的特征.节点之间彼此可以自由连接,形成新的连接单元.任何一个节点都可能成为阶段性的中心,但不 ...

  8. Dapp距实现完全“去中心化”还有多远?

    文由公众号DappVision原创首发,转载请联系授权 #小猫内心os:"谁又在cue我?" 近日,Coindesk签约记者David Floyd采访了Loom Network的联 ...

  9. 关于去中心化技术实现的意义

    谈起去中心化,我们首先得知晓何谓中心化?所谓中心化就是一切以中央为转移.古代的皇权社会就是典型的中心化组织,天下以皇帝为权力中心,一切经济.文化.政治等天下大事都以皇帝为转移,才算合法合规,不然就是& ...

最新文章

  1. 一个流畅的iOS图表框架PNChart
  2. CRS中常用的OCR和Votedisk的操作命令小结
  3. 软考-信息系统项目管理师-流程管理
  4. Golang之slice操作
  5. vue2.0项目引入element-ui
  6. 草稿 listview控件切换大小图标
  7. 【干货】无人机如何进行倾斜摄影的航线规划
  8. 大数据分析需要什么技术架构
  9. 设计模式(1)-- 七大软件设计原则-开闭原则
  10. 手机APP游戏/软件/资源下载站/软件盒子源码
  11. 导线水平角及边长观测实习记录
  12. 给你一个团队,你怎么带?
  13. 什么是503服务不可用错误(以及如何解决)?
  14. 华为任正非写的《致新员工书》
  15. google vr 简介
  16. BZOJ 3786: 星系探索 ETT
  17. endnote更新之后打开word出现乱码
  18. java 五子棋_Java GUI 单机版五子棋
  19. [附源码]Python计算机毕业设计SSM京津冀区域产学研项目管理信息系统(程序+LW)
  20. 10大硬盘数据恢复软件推荐

热门文章

  1. 【机器学习】梯度提升树(GBDT)的原理小结
  2. 【机器学习】算法面试知识点整理(持续更新中~)
  3. 粒子滤波(Particle filter)
  4. Intellij Idea导出可执行的jar包
  5. Flask-session
  6. 利用RxJava加载图片
  7. 导出mysql sql语句吗_mysql sql语句导入与导出
  8. bat窗口大小设置_DOS处理 CMD提速 BAT恶搞
  9. c sqlserver建表csdn_Oracle拉出在sqlserver建表的语句
  10. 琴弦文字 - wpf行为