Hopfield Network 霍普菲尔德网络入门
简介【Hopfield Network 霍普菲尔德网络入门】Hopfield Network (霍普菲尔德网络) , 是 Hopfield 在1982年提出的一种基于能量的模型 , 发表的文章是 Neural networks and physical systems with emergent collective computational abilities 。 基本结构如下图所示:
文章插图
首先我们来看Hopfield Network的一句话定义:
Hopfield Network is a model that can reconstruct data after being fed with corrupt versions of the same data.
也就是说利用Hopfield Network的过程是:
some data → Hopfield Network → full datasome data → Hopfield Network → full data
可以看到Hopfield Network的几个 基本特点 :
- 只有单层
- 神经元节点之间是全连接的
- 只有输入 , 没有输出
- 联想记忆 associatIve memory , 例如重新构建图形 。 假设我们在网络中存储了右侧的三张图片 , 如果我们只输入一部分图片 , 例如左侧的六张图片 , 网络可以从记忆中取出完整的图像 。
在深度学习之中 , 引入这个概念也是为了使模型达到稳定的状态 。
Energy Based Models利用了能量函数的模型被称为 Energy Based Models , EBM。
文章插图
Energy Function for Images对于有 d 个像素的黑白图像 , 假设每一个图像都有参数 x={xj}1≤j≤dx={xj}1≤j≤d, 那么
文章插图
我们可以建立如下形式的能量函数:
文章插图
- 如果我们有 p 个图像 , 我们就能得到基于 E(x)E(x) 的p个极小值 。
- 当两个像素 xixi 和 xjxj 有相同的颜色的时候 ,wijwij 为正值 。 当两个像素 xixi 和 xjxj 有相反的颜色的时候 ,wijwij 为负值 。
- 通常情况下 , 对于所有的像素 xixi,wii=0wii=0。 对于所有的像素 xixi 和 xjxj,wij=wjiwij=wji。
假设我们根据上述的Energy Function for Images中的内容来定义一个Hopfield Network 。 这很像一个有权重、有偏差的普通的神经网络 。 但是它又和普通的前馈神经网络有所不同容:
- 对于离散型Hopfield Network中的神经元 xixi, 只能取到离散值 1/?11/?1。
- 根据相邻神经元的当前值 , 神经元同步或者异步的迭代更新 。 同步:一次更新所有的神经元的值异步:一次更新一个神经元的值
文章插图
训练模型Hopfield Network训练的核心目标就是求出所有的权重 wijwij。
首先假设我们要存储p个pattern到一个有d个神经元的网络中 , 假设 bi=0bi=0,
文章插图
换句话说 ,
文章插图
- c是 x(k)i=x(k)jxi(k)=xj(k) 在所有训练数据中的比例 。
- 存储的pattern p的数目和Hopfield Network中的神经元数目成正比 。
- p/d<0.138p/d<0.138, 我们可以认为所有的pattern存储和恢复成功 。
- 如果我们试图存储比这些更多的模式 , 额外的“虚假”稳定状态可能会出现 。
一旦所有的pattern都存储完毕 , 对于任意的图像 x=x(l)x=x(l), 有如下的公式:
文章插图
- 右侧最后一项被叫做crosstalk项 , 代表了来自其他存储图像的干扰 。
- x(l)ixi(l) :原始图像 。
- Mask Network:从寄生的互联网巨头手中拿回隐私
- App|苹果:SKAdNetwork 现已支持来源 App ID
- 上线6小时暴涨100倍,YFI创始人AC最新发布的Keep3r Network是什么
- NetworkX:是一个简单、多样化、能快速生成网络图形的Python库
- 直击医患隐私保护之痛:学术界明星Oasis Network
- Layer2热潮下TokamakNetwork为何推按需平台
- [分享]局域网扫描工具(Network Scanner)
- HMSNetworks新型智能电网网关可实现远程访问
- Andre Cronje:简述Keep3r Network的链上预言机喂价源