神经网络中的能量函数

转载 2017年01月03日 09:42:27

能量函数(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 论文中的未来工作一段,他提了一个能量函数,把输入向量和输出向量统一考虑,并以最小化能量函数为目标进行优化。在这个意义上,能量函数和代价函数本质上是一样的。

相关文章推荐

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

能量函数(energy function)一开始在热力学中被定义,用于描述系统的能量值,当能量值达到最小时系统达到稳定状态。 在神经网络(Neural Network)中,在RBM中被首次使用。在R...

MATLAB BP网络工具箱中不同学习函数,训练函数和性能函数时的学习效率和精度

demo来自《神经网络理论与MATLAB7实现》 首先,介绍一下BP网络在MATLAB工具箱中常用的几类函数: 前向网络创建函数: newcf   创建级联前向网络 newff   创建前...

受限玻尔兹曼机(RBM)学习笔记(三)能量函数和概率分布

去年 6 月份写的博文《Yusuke Sugomori 的 C 语言 Deep Learning 程序解读》是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算法原理基本不懂。...

机器学习: 神经网络中的Error函数

在神经网络中,我们经常会用到 back propagation 算法来训练神经网络,根据网络的loss 函数,对网络 中的权值(weights)与偏移量(bias)求导,根据导数对权值与偏移量进行更...

神经网络工具箱函数

  • 2013-06-27 22:03
  • 69KB
  • 下载

BP神经网络实现函数拟合

  • 2014-01-21 09:42
  • 4.77MB
  • 下载

【Stanford CNN课程笔记】5. 神经网络解读1 几种常见的激活函数

本课程笔记是基于今年斯坦福大学Feifei Li, Andrej Karpathy & Justin Johnson联合开设的Convolutional Neural Networks for Vis...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)