Hinton Neural Network课程笔记11b: 利用Hopfield Net进行信息存储
来源:互联网 发布:流程优化岗面试题 编辑:程序博客网 时间:2024/04/29 20:46
课程简介
Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。
课程笔记
关于Hopfield的简单定义与应用,请参考Hinton Neural Network课程笔记11a: Hopfield Net的定义与应用。关于Hopfield的详细介绍,可以参考《现代模式识别(第二版)》(里面包括对于Hopfield Net其他角度的理解与应用,讲解也更加系统。个人猜测Hinton课程中的Hopfield Net只是为了引入RBM)。
1. 简单的信息存储方法
11a的笔记中已经提到了Hopfield Net的一个重要应用就是进行信息存储,其可以在给定结构和权重的情况下,对破损信息进行恢复。而如何通过需要存储的信息得到权重,就是这里的信息存储方法。(因为每个节点设置是0/1,按照特定顺序排列的多个节点设置就是一个二进制数了,而计算机内的二进制数就可以用于存储信息了。)
最简单的进行信息存储的方法如下图:
即在节点设置为0/1的情况下,设存储之前的权重为
1.1. 简单方法的存储能力限制
对于含有N个节点的全连接Hopfield Net,其大概只能存储0.15N个信息(每个信息都是N bit,所以是
思考其原因,每次记忆新的节点设置的时候,都是通过改变权重,期待生成一个新的局部最小点。但是会存在两个相邻的局部最小点融合为一个位于两者之间的局部最小点的情况,这就对应于Hopfield Net的记忆半径。而为了使得Hopfield Net可以记忆两个相邻的信息,就引入了unlearning。所谓unlearning就是learning的反向,即不是加上
2. 伪似然法
物理学家在Hopfield Net这个领域做了很多贡献,他们提出了一个可以大大提高网络存储能量的记忆方法:伪似然法。此方法看上去和坐标梯度下降法(Coordinate graident descent)近似相同,因为和RBM关系不大,只做简易介绍如下(与上诉方法的主要区别就在于多次循环数据集,而不是每种设置只记忆一次;另注意每次对权重的更新都是整数,对称权重所以需要对两个方向的变化综合之后再更新):
- Hinton Neural Network课程笔记11b: 利用Hopfield Net进行信息存储
- Hinton Neural Network课程笔记9f:Mackay的设定正则化系数方法
- Hinton Neural Network课程笔记10a:融合模型Ensemble, Boosting, Bagging
- Hinton Neural Network课程笔记1a:为什么需要机器学习?
- Hinton Neural Networks课程笔记1b:神经网络模拟的大脑机理
- Hinton Neural Networks课程笔记2b:第一代神经网络之感知机
- Hinton Neural Networks课程笔记3b:线性神经元的误差曲面
- Hinton Neural Networks课程笔记4c:softmax输出神经元
- Hinton Neural Networks课程笔记3e:如何利用梯度值训练网络(学习策略和过拟合抑制)
- Hinton Neural Networks课程笔记4b:神经网络是一种混合概念表示,既可以表示为特征向量,也可以表示为关系
- Hinton Neural Networks课程笔记1d:一个简单的机器学习实例
- Hinton Neural Networks课程笔记1e: 监督学习、强化学习、无监督学习,及其应用
- Hinton Neural Networks课程笔记2c:感知机的几何解释
- Hinton Neural Networks课程笔记2d:为什么感知机的学习算法可以收敛
- Hinton Neural Networks课程笔记2e:感知机的局限性
- Hinton Neural Networks课程笔记3a:线性神经元的学习算法
- Hinton Neural Networks课程笔记3c:学习逻辑斯蒂回归
- Hinton Neural Networks课程笔记3d:反向传播算法(BP)
- iflux2 idea
- 将博客搬至CSDN
- android 6.0 动态权限获取
- [转]Js函数加括号、不加括号
- Spring容器的初始化4种方式
- Hinton Neural Network课程笔记11b: 利用Hopfield Net进行信息存储
- 深入理解Java:注解(Annotation)--注解处理器
- 盒子模型
- Java设计模式--抽象工厂模式
- GalaxyOJ-510 (点分治)
- 我学tensorflow遇到的问题【总结】
- C++ 智能指针(下)
- ninePacth(.9.png) iOS 的实现
- 深入理解Java:注解(Annotation)基本概念