神经网络中的能量函数是如何定义的?

默认排序​

神经网络中的能量函数是如何定义的?

知乎用户

机器学习 话题的优秀回答者

34 人赞同了该回答

不受限的玻尔兹曼机就是物理上的Ising模型,其能量形式的一般形式是:
神经网络中的能量函数是如何定义的?
其中神经网络中的能量函数是如何定义的? 是自旋神经网络中的能量函数是如何定义的?之间的耦合, 也就是机器学习中的特征, 神经网络中的能量函数是如何定义的?就是物理上的外场,
也即机器学习中bias项。

然而我们直接用Ising模型表示数据, 源码和编码都会混在一块, 需要一个前馈型的编码方式的话, 便有了受限玻尔兹曼, 也就是一部分自旋当作源码输入位点(神经网络中的能量函数是如何定义的?), 一部分自旋当作编码位点(神经网络中的能量函数是如何定义的?)。 表述成神经网络的形式便是有一个隐层的网络。能量模型只需稍加改动:

神经网络中的能量函数是如何定义的?

问题,为何要是Ising模型的能量形式,早期是研究生物意义上的神经网络而提出的,然而,工程上最重要的是,受限玻尔兹曼机的前馈概率神经网络中的能量函数是如何定义的?就是一堆sigmoid函数连乘,

神经网络中的能量函数是如何定义的?

这不就是一堆弱智决策专家的打分机器吗?初搞人工神经网络认为三个臭皮匠完暴诸葛亮的孩子有了温暖的回忆。

于是这熊孩子倒过来推导,奇怪,不完全得到原来的能量形式?实际上,你将能量形式写成如下:

神经网络中的能量函数是如何定义的?

也有如上的弱智专家组合。只要不修改Ising耦合的形式,单独修改前驱或者前前层,能量上只是加上某个函数。于是,熊孩子很快乐的堆了很多能量项,反正能量上看,每层都是独立的,意味着可以单独训练,不影响其它层的专家们!于是,熊孩子发现,要求能量最小,可以能量逐项最小化,就是说,可以逐层最小化。

 

这就是为何有这种定义,和这种定义引入的好处。。。工程上,能量表示能将特征融合以及训练分类等等东西给模块化。。。。而且每个模块都是含义清楚的,可训练的。

话外:
统计上,任何能量函数神经网络中的能量函数是如何定义的?在物理上都是同概率密度神经网络中的能量函数是如何定义的?联系的,
神经网络中的能量函数是如何定义的?
能量之所以要取概率密度的对数,很大依赖熵这个总喜欢某些逐渐变大的事物的萌妹子,就不说如何推到(不是错别字)了。

编辑于 2015-11-12

​赞同 34​​2 条评论

​分享

​收藏​感谢收起​

神经网络中的能量函数是如何定义的?

张腾

啦啦啦

40 人赞同了该回答

1982年,J.Hopfield提出了可用作联想存储器的互连网络,这个网络称为Hopfield网络模型,也称Hopfield模型。Hopfield神经网络模型是一种循环神经网络,从输出到输入有反馈连接。

神经网络中的能量函数是如何定义的?

三神经元组成的Hopfield网络

对于一个有反馈的Hopfield网络来说,在输入端输入一个向量之后,网络的状态会发生变化,而最终,网络将稳定于某一个状态或者呈现为周期性的震荡。此时,网络中神经元的状态变化情况为

神经网络中的能量函数是如何定义的?

 

 

神经网络中的能量函数是如何定义的?


这是以前自己写过的一个相关调研,公式敲不出来,就直接贴图在这里了。总而言之,神经网络中的能量定义应当是起源于Hopfield网络,而Hopfield网络中的能量定义与人们的假设有关。具体内容可以参考

 

Hopfield J J, “Neural networks and physical systems with emergent collective computational abilities”, Proceedings of the national academy of sciences, 1982, 79(8): 2554-2558.

 

希望对你有所帮助

发布于 2014-03-09

​赞同 40​​7 条评论

​分享

​收藏​感谢收起​神经网络中的能量函数是如何定义的?

知乎用户

15 人赞同了该回答

虽说这模型有从物理跟生物的启发, 但往这方向说到底, 也只是提到跟某公式很像罢了, 还是不知道如此定义的原因及作用
知识点: 信息论, 线性内积空间
机率及能量(同时是讯息量)函数定义成那样的原因是, 如此才能使得所有状态的讯息量都嵌进一个线性内积空间里, 因为线性实在是太好用, 即便最困难的非线性状态变换, 在新空间中也就化为矩阵相乘, 衡量相似度变成很单纯的内积, 使得不少东西都想嵌进线性内积空间, 例如
1. Word2Vec的原理是把字词嵌入到一个线性内积空间
2. 更早前的SVM也是把非线性嵌入到一个线性内积空间
RBM自然也不能免俗

从信息论来看, 计算信息量的公式为 I(x,y) = -log(p(x,y)) , 所以机率 p(x,y) = exp(-E(x,y)) 的信息量就正好是能量函数 E(x,y), 线性即是 E(x1 + x2, y) = E(x1, y) + E(x2, y). 换句话说x1, x2两个状态同时存在的总讯息量等同两各别讯息量相加, 并构成讯息量的线性空间.
只有以那样的方式来定义机率, 信息量才有可能嵌进线性内积空间
证明: E(x1 + x2, y) = -(x1 + x2)Wy = - x1 W y - x2 W y = E(x1, y) + E(x2, y)
此性质不只对x成立, 对 y 也成立, 进而对 (x W) 跟 (W y)也成立 
有了"线性"这个利器之後, 变换才能化为矩阵相乘, 定义内积, 信息量函数 E(x,y | W) = -xWy 即用來定义一个W为参数的线性内积空间的内积 <x W, y> = -E(x,y | W) = <x, W y>, 内积的作用粗略地说就是衡量两状态向量的相似度, 两个不同空间的状态向量, 透过线性变换W变换到对方的空间, 若越是相似则越能互相代表, 而训练的目标就是以抽样来找到内积中的待定参数 W, 使得前述互相代表的机率最大化

编辑于 2015-11-13

​赞同 15​​2 条评论

​分享

​收藏​感谢神经网络中的能量函数是如何定义的?

知乎用户

4 人赞同了该回答

在计算机领域里很多源自物理上的概念,都会有些打破规则。对于能量函数而言,这个函数无非是要描述整个系统的优化成度。原则上我们可以定义任一个满足我们需要的函数,但指数形式的有很多好处,比如有下界,连续可导等等。

发布于 2014-03-20

​赞同 4​​添加评论

​分享

​收藏​感谢神经网络中的能量函数是如何定义的?

知乎用户

8 人赞同了该回答

受限玻尔兹曼机中的能量函数是受统计热力学的启发,是借鉴了统计热力学中的一个函数改过来用的。学科之间的关系往往很奇妙,学科是相同的,但都是基于物理世界的原理的,不是吗?看看下面这个公式,是不是和RBM中的能量函数很像?没错,这个公式的意思是当系统和它周围的状态处于热平衡时,一个基本事件i发生的概率。所以RBM中能量函数是有根据的,不是随便写的。

神经网络中的能量函数是如何定义的?

发布于 2014-03-19

​赞同 8​​2 条评论

​分享

​收藏​感谢

神经网络中的能量函数是如何定义的?

神隐的满大人

1 人赞同了该回答

看玻尔兹曼分布

发布于 2014-06-11

​赞同 1​​添加评论

​分享

​收藏​感谢