双向联想记忆神经网络|学习笔记

简介: 快速学习双向联想记忆神经网络

开发者学堂课程【神经网络概览及算法详解:双向联想记忆神经网络】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/40/detail/948


双向联想记忆神经网络

 

内容介绍:

一、双向联想记忆网络

二、 BAM 网络运行过程

三、 BAM 能量函数与权值设计

四、 BAM 网络的特点

 

一、双向联想记忆网络

接下来介绍双向联想记忆神经网络。这里通过简单的介绍让大家了解有这种网络,以及该网络的作用、特点分别是什么;如果碰到实际问题和所讲的网络匹配,自己可以花费更多的时间仔细研究。

image.png

双向联想记忆网络( BAM ):由 Bart Kosko 在1988年提出,可实现双向联想。

双向可以体现该网络的主要特点:信息可以双向传播,既可以从输入层到输出层,也可以从输出层到输入层;所以这里没有输入层和输出层的概念,称为两层,是一个双层双向网络。同样 BAM 网还有离散型、连续型、自适应型等多种形式。

网络结构比较简答,X 层有 n 个节点, y 层有 m 个节点。需要注意的是:这里讲的不是输入层和输出层,因为难以界定输入层和输出层分别是哪一个。它们互为对方的输入和输出。

观看上图箭头,白色箭头是 x 到 y ,黑色箭头是 y 到 x 。对应的矩阵,一个为 W ,一个为 WT 的转制。它的状态输出为单极性二进制{1,0},或者双极性离散值{1,-1}。不同方式的输入,即方向不同,那么矩阵是互为转制的。

 

二、 BAM 网络运行过程

运行过程如下图。

image.png

一个输入到 x 层,它实际上可以通过 w 转制的矩阵, x 到 y ,计算净输出 WX( t-1 ) ,之后使用激活函数作用于净输出,得到 y 值,此时并未结束,该网络并不稳定。接着 y 值会在 y 层作为输入返回到 x 中。第一时刻是从 x 到 y ,第二时刻是从 y 返回的,由 t-1 变为 t 。 让激活函数 f(x) 作用于 Y ( t-1 ) 即 y 的净输出,得到 x 。

到这仍然没有结束,需要继续进行更新、循环、运行;直到输出稳定,网络训练完成。

 

三、 BAM 能量函数与权值设计

它同样使用了能量函数。84年之前没有能量函数的概念,使用的是网络误差或学习信号更新权重,但是在84年霍夫尔德提出了霍夫尔德网络能量函数之后,很多的神经网络开始借鉴能量函数,使用能量函数做权重的更新。

image.png

假设阈值为0,能量函数为:image.png, T 为转制的意思。在做权重设计时,通常使用外积法。比如,当网络需要存储模式( X1, Y1)时,即输入为 X1 时,能够固定的在输出端得到 Y1 ;同样,如果在 Y 端输入 Y1 ,在 X 端可以得到固定的输入值 X1权重设计需要满足联立方程组:image.png 。即传 X1 得到 Y1 时必须有第一个式子,此时需要求未知的 W ;即用 W 乘 X1 ,在激活函数 sgn 作用之后必须等于 Y1

 

另外 W 转制乘 Y 求激活函数最终的输出应等于 X1 ,联立上述方程组后就可求出权值。权值的计算方法为:image.png

更一般的为:image.png即将1至p相加,因为可能有多个存储对。网络容量为: Pmax min(m,n)即最大就等于最小的。因为两端都可以做输入输出,一端是 m ,一端是 n ;最小的就是该网络容量的上限。

 

四、 BAM 网络的特点

BAM 网络的主要特点:

第一,网络设计比较简单;只需要几组输入和几组典型输出,权值由输入输出简单计算得到,运行时由实际输出与权向量矩阵做内积计算得到相应的输出。

第二,大规模并行处理,可以处理较大的数据量。

第三,实时性(非常重要)和容错性较好;通常来讲,网络训练和预测的发展时间相对较长,实时性较差。

第四,无需对输入向量进行预处理,可直接输入,不需要编码和解码。假设从 x 端输入,希望得到一个联想的输出 y ; x 的样本数可能是残缺不全的,比如要做图像识别或 OCR 图像字符,它们遮挡了部分数据,可以通过固定的联想得到一个实际的数值。另一个好处是可以将输入的缺失信息补全。

相关文章
|
30天前
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
338 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
5月前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
79 5
|
29天前
|
机器学习/深度学习 存储 自然语言处理
从理论到实践:如何使用长短期记忆网络(LSTM)改善自然语言处理任务
【10月更文挑战第7天】随着深度学习技术的发展,循环神经网络(RNNs)及其变体,特别是长短期记忆网络(LSTMs),已经成为处理序列数据的强大工具。在自然语言处理(NLP)领域,LSTM因其能够捕捉文本中的长期依赖关系而变得尤为重要。本文将介绍LSTM的基本原理,并通过具体的代码示例来展示如何在实际的NLP任务中应用LSTM。
59 4
|
5月前
|
机器学习/深度学习 存储 自然语言处理
程序与技术分享:DeepMemoryNetwork深度记忆网络
程序与技术分享:DeepMemoryNetwork深度记忆网络
|
28天前
|
机器学习/深度学习 数据可视化 Linux
Seaborn可视化学习笔记(一):可视化神经网络权重分布情况
这篇文章是关于如何使用Seaborn库来可视化神经网络权重分布的教程,包括函数信息、测试代码和实际应用示例。
34 0
|
3月前
|
机器学习/深度学习
【机器学习】面试题:LSTM长短期记忆网络的理解?LSTM是怎么解决梯度消失的问题的?还有哪些其它的解决梯度消失或梯度爆炸的方法?
长短时记忆网络(LSTM)的基本概念、解决梯度消失问题的机制,以及介绍了包括梯度裁剪、改变激活函数、残差结构和Batch Normalization在内的其他方法来解决梯度消失或梯度爆炸问题。
107 2
|
3月前
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
147 2
|
5月前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
105 6
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】36. 门控循环神经网络之长短期记忆网络(LSTM)介绍、Pytorch实现LSTM并进行训练预测
【从零开始学习深度学习】36. 门控循环神经网络之长短期记忆网络(LSTM)介绍、Pytorch实现LSTM并进行训练预测
|
6月前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
下一篇
无影云桌面