能量函数在神经网络中的意义

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hejunqing14/article/details/50057001

能量函数(energy function)一开始在热力学中被定义,用于描述系统的能量值,当能量值达到最小时系统达到稳定状态。
在神经网络(Neural Network)中,在RBM中被首次使用。在RBM中,输入层v和隐藏层h之间的能量函数定义为:

E(v,h)=ivaivi+jhbjhj+iv,jhvihjwij

将a,v,b,h和w向量表示成矩阵,这个式子可以简化为
E(v,h)=A×V+B×H+V×W×H

A,B,W都是权重矩阵,从式中可以看出,这个能量函数为V和H的加权与VH的加权和。在后续的步骤中,v和h的联合概率为p(v,h)=1zeE(v,h),其中z为归一化因子。训练的目的为使得联合概率尽量大,即能量函数尽量小。从这个角度出发,能量函数的意义与热力学相同,能量函数值越小,系统趋于稳定。所以能量函数是反映系统稳定程度的参考指标,在这个意义上与代价函数(cost function)相似。
Bengio 大牛在其 2003年的JMLR 论文中的未来工作一段,他提了一个能量函数,把输入向量和输出向量统一考虑,并以最小化能量函数为目标进行优化。在这个意义上,能量函数和代价函数本质上是一样的。

展开阅读全文

没有更多推荐了,返回首页