论文传送门:

https://arxiv.org/pdf/1703.00810.pdf


(一)简介

【论文】Opening the black box of deep neuron network via information

上面这个图是论文中第一个实验结果,展示的是信息平面(Information plane)在训练过程中的变化。左图训练了5%的样本,右图训练了95%的样本。

所谓 Information plane,和X-Y平面一样,也是一个平面,不过information plane的横纵坐标是互信息的大小。横轴是I(X;T),也就是输入和隐层T的互信息。 纵轴是I(Y;T),也就是输出(神经网的决策)和隐层的互信息。信息平面的位置体现了不同的隐层保留了多少关于X和Y的信息,如下图所示。

【论文】Opening the black box of deep neuron network via information

实验结果里那条粗的竖着的渐变色的曲线,是随着迭代进行,某一隐层T包含的关于X,Y的信息量的在信息平面上的轨迹。深紫色是开始迭代,颜色越黄表示迭代越多次。

实验结果里细线连的是一个神经网络中不同的隐层,右上角是第一个隐层,往左下依次是第二到五个隐层、输出层。第一个隐层自始至终在信息平面右上角,训练过程中,它的位置没怎么变,一直包含了很多关于X,Y的信息。而后面的隐层,包含的X,Y的信息逐渐减少,但是随着训练,在信息平面的位置发生了较大的改变。 这个改变分为两个阶段,按照作者说的,一个是“学习阶段”,第二个阶段是“压缩阶段”。一开始,隐层会学到关于输入输出的信息,所以在信息平面上朝着右上方移动。第二个阶段,隐层开始忘记关于输入的信息,包含的关于X的信息开始下降,朝左移动。

 

(二)实验设计

(1)网络结构:

各层级点数: 12(输入)-10-7-5-4-3-2(输出层)

**函数:输出层(output)使用sigmoid,其他层使用hyperbolic tangent

损失函数:交叉熵

训练方法:随机梯度下降

(2)实验任务

输入数据:12个二进制输入(即2^12=4096种pattern),这12个点在球面上均匀分布。

输出标签:二分类,即0或1

——————————————————————【注】————————————————————————————

学习一下大佬zhuangbility的姿势:

binary decision就是两种决策(就是2分类)~

O(3):这里O实际上就是 Orthogonal,3就是三维。是群论里群的概念。O(3)实际上就是所有3*3的正交矩阵构成的集合。 正交矩阵是一个旋转矩阵 ,这里说的 “ invariant under O(3) rotations of the sphere ",意思就是使用在三维空间里,使用正交矩阵投影(实际上就是各种旋转),决策不会受到旋转的影响,始终是不变的。

2D Sphere:就是我们日常里说的球体。这个挺有意思的。放一个网址:Is a shpere 2D or 3D

http://mathforum.org/library/drmath/view/54696.html

我们平时所说的球,的确是由一大堆3维空间里的点构成的。首先确认一下,这里说的球,实际上是一个球面,而不是实心球体(回想一下球的定义,到球心距离都相等的点),所以本质上球就是一个曲面,是2D的。同样我们所说的圆,实际是一条曲线,是1D的。

关于判断2D还是3D,有一个很有趣的说法,对于一个球面,放大极限的倍数,我们看到的是一个平面。而对于圆锥体,它的确是一个3D物体,因为圆锥的尖儿不管怎么放大,始终和其他面不在一个平面上。

所以在2D球上均匀分布了12个点,就是下图这样,不过有12个点而已。

【论文】Opening the black box of deep neuron network via information

开始不明白怎么在3维球面上12维数据,所谓的二进制,就是这十二个点可能是1可能是0。

总结下来,实验的意思,用一个例子来讲,

大概就像球面是一张棋盘,上面均匀的画着方格,我们在上面可以放12个棋,每个位置可以放白棋(0)也可以放黑棋(1),然后判断这种放法是白棋赢了或者黑棋赢了(标签0或1)。

———————————————————————————————————————————————————————

(3)给数据打标签

上面已经设计好了12维的二进制数据X,标签的产生的步骤:

1. 使用球谐函数映射。二进制数据是分布在球面上的,球谐函数SH(X)在物理学上是描述各个方向的振动幅度的,在我们的设定之下,球谐函数可以描述12个方向上的“振动幅度”,只不过这个所谓的振动幅度取值只能是0或1。

2.经过球谐函数映射后的数据要平移【论文】Opening the black box of deep neuron network via information【论文】Opening the black box of deep neuron network via information的确定方式为,使用sigmoid函数计算平移后数据的概率,两个类别概率应该接近于相等。(因为后面这个步骤说的是用阶跃函数,也就是平移后的数据,正数概率和负数概率大致相等)

3. 平移之后,用阶跃函数映射到0或1。

——————————————————   注  ———————————————————————————————

记一下sigmoid为什么可以用来预测概率~~先贴一篇豆瓣鹅的笔记

https://www.douban.com/note/610822773/

首先sigmoid的好处就不用说了,值域在(0,1),容易求导,还和高斯分布的累积函数长得很像。

我们可以使用sigmoid映射进行回归,也可以根据映射值大小进行分类。sigmoid和二分类关系很密切。有很多函数,为什么会选择sigmoid??实际上它是在不知道概率分布的时候最优的决策方式。那为什么sigmoid最优呢?

首先,如果知道具体的数值,均匀分布的时候熵最大。比如说,掷骰子猜数,最好认为各个面出现的可能性一样,猜中的可能性最大。如果只知道数据的均值,不知道方差,我们最好认为数据是指数分布的。 然而如果均值方差都不知道,这个时候,最大熵定理告诉我们,最好认为数据是高斯分布,于是,这种情况下,我们默认数据是高斯的。二分类的话,它们的pdf应该长下面这样:

【论文】Opening the black box of deep neuron network via information

用贝叶斯准则来判断的话,

【论文】Opening the black box of deep neuron network via information

化简一下,竟然得到的是sigmoid函数

【论文】Opening the black box of deep neuron network via information

也就是说,如果我们不知道数据的均值方差的时候,只知道数据,希望预测数据类别的时候,最好认为它的概率用sigmoid得到比较好。

但是如果知道数据的均值和方差的时候,sigmoid函数就不是最好的了。

—————————————————————————————————————————————————————

(4)互信息估计

 

相关文章: