首页 > 代码库 > 使隐藏层某一神经元取最大激活的数学推导

使隐藏层某一神经元取最大激活的数学推导

求使隐藏层某一个神经元取到最大激活的输入问题,即

对这个函数求最值:

技术分享………………………………….技术分享..(j=1,2..100)是100个方程未知量

其中f是sigmoid函数

我们知道sigmoid函数是单调递增的,那么对上式函数求最值,就是对里面的技术分享函数求最值。技术分享技术分享是常数,所以就是求技术分享这个方程的最大值。怎么求最大值呢?

因为令技术分享技术分享所以技术分享技术分享技术分享。也就是求技术分享的最大值。

在矩阵理论中我们有Cauchy柯西不等式:技术分享。因为技术分享,所以即技术分享

通过柯西不等式我们发现了技术分享的上界:技术分享,并且我们知道当技术分享的时候,能够达到上界。

但是需要注意的是,我们发现这种上界跟x有关系,也就是说这个上界是不固定的,并且随着x二范数的增加而增加。所以我们求这个方程的最大值,就必须固定这个方程的上界,也就是固定x二范数。(注意x二范数固定不是说方程的未知数x就固定了,你的x里面的100个xj还是可以变化,只要二范数不变就可以)

我们假设固定x的二范数技术分享,然后求技术分享的x的值,(w是已知量),即求下面这个方程组x的值:

技术分享

我们求得的x的值为(口算即可算出):

技术分享

这个技术分享就是使技术分享取到最大值的的输入。

现在你可能有一个疑问,上面是假设x的二范数技术分享,可不可以是其他的值,答案是可以。你也可以把x的二范数等于2.

这样我们求得的使技术分享取到最大值的输入是上面的那个技术分享向量各元素都乘以技术分享

其实你把x的二范数定成几都可以,最后用上面方法算出的技术分享都是使技术分享取到最大值,只是取的最大值的大小不一样。

但是技术分享的增大不一定技术分享就一直随着增大,因为我们知道sigmoid函数如图所示:

技术分享

 

所以技术分享的值在5以上,技术分享也不会增加了,就一直保持趋近于1.当然这里我们使技术分享取得最大值不一定就要取到1,只要是最大值即可。

综上,你只要把输入x(注意这里的输入跟训练网络参数的训练样本没关系)限定在一个二范数a以内(二范数以内的x不可能使技术分享取最大,这里要求输入x要在二范数a以内是使技术分享上界不变,取到上界的技术分享只能是x的二范数等于a且x=kw的输入值),那么我们就可以找到使技术分享取到最大值的输入技术分享

最后你想以图像的形式展示使技术分享取最大值的输入x的时候,其实你没必要纠结应该把输入x的二范数限制在几,因为这里你只是在展示图像,而不管x的二范数限制在几,那些技术分享不同的只是系数问题,而在图像上表示出来只是图像像素深浅的问题,而图像的明暗的布局并没有改变。所以你如果求一堆x哪个使技术分享最大,如果有的话只能有一个值(这个x范数最大,且是权重参数的倍数),但是如果只是展示图像,那么只要你要展示的x只要是相应权重的n倍,展示效果都是一样的。在程序中也是除以了系数最大值,而不是把除以相应系数和。

(完)

使隐藏层某一神经元取最大激活的数学推导