神经网络(八)注意力机制与外部记忆

一、注意力机制

        1.定义

                只处理重要的数据,用以对抗数据超载。

        2.分类

                自下而上:无需主动关注,对应汇聚(pooling)

                自上而下:需要主动关注(带有问题)对应会聚(focus)

        3.人工神经网络中的实现

神经网络(八)注意力机制与外部记忆_第1张图片

                软性注意力机制:以概率分布为数据赋予不同的权重

                ①计算注意力分布α

                        \alpha_n=p(z=n|X,q)=softmax(s(x_n,q))=\frac{exp(s(s_n,q))}{\sum_{j=1}^N exp(s(x_j,q))}

                ②根据α来计算信息的加权平均

                        att(X,q)=\sum_{n=1}^N \alpha_nx_n=E_{z~p(z|X,q)}[x_z]

                打分函数s(x_n,q)

加性模型 v^Ttanh(W_x+Uq)
点积模型 x^Tq
缩放点积模型 \frac{x^Tq}{\sqrt{D}}
双线性模型 x^TWq

        4.注意力机制的变体

                ①硬性注意力:离散决策(不依赖概率分布),通常与强化学习相结合

                ②键值对注意力

神经网络(八)注意力机制与外部记忆_第2张图片

                         att((K,V),q)=\sum_{n=1}^N\frac{exp(s(k)n,q))}{\sum_j exp(s(k_j,q))}v_n 

                                其中(K,V)用以表示N个输入信息

                ③多头注意力:利用多个查询,同时从输入信息中选取多组信息,籍此每个注意力头可以关注不同的信息

                        att((K,V),Q)=att((K,V),q_1)\bigoplus ...att((K,V),q_M)

                ④结构化注意力:一般不用

        5.指针网络

                作为一个软性指针指出相关信息的位置。一般协同其他神经网络使用

                通过一个查询向量,与各个数据计算相似度,得出数据的位置

                也可单独使用,例如数据排序

神经网络(八)注意力机制与外部记忆_第3张图片

         6.自注意力模型

神经网络(八)注意力机制与外部记忆_第4张图片

                         权重矩阵a_{ij}由注意力动态生成

                 QKV模式(引入三个参数,使得自注意力模型变得可学习)

神经网络(八)注意力机制与外部记忆_第5张图片

                         ①输入序列矩阵化x=[x_1,...,x_N]

                         ②生成三个向量序列Q=W_qX,K=W_kX,V=W_vX

                         ③计算h_n=att((K,V),q_n)=\sum_{j=1}^N softmax(s(k_j,q_n))v_j

                多头自注意力模型

神经网络(八)注意力机制与外部记忆_第6张图片

         7.Transformer

                自注意力模型的单独使用,但是并不能仅有自注意力,需要结合其他操作:位置编码、层归一化、直连边、逐位的FFN

神经网络(八)注意力机制与外部记忆_第7张图片

                 主要用于建模局部连接,效率更高。

                与CNN,RNN的对比分析

神经网络(八)注意力机制与外部记忆_第8张图片

二、记忆增强网络

        1.记忆

神经网络(八)注意力机制与外部记忆_第9张图片

         2.记忆增强神经网络

神经网络(八)注意力机制与外部记忆_第10张图片

                         记忆神经网络 = 主网络 + 外部记忆 + 读写操作

        3.结构化的外部记忆单元

                外部记忆的定义为矩阵M,N为记忆片段的数量,D为每个记忆片段的大小

                读写操作:通过注意力机制实现。由查询向量 q 查找外部记忆中最相关的内容

        4.基于神经动力学的联想记忆

                由一个相关的输入查询内容,而不是由地址查询内容

神经网络(八)注意力机制与外部记忆_第11张图片

 

                Hopfield网络:是一种记忆的存储和检索模型(属于全连接神经网络)

神经网络(八)注意力机制与外部记忆_第12张图片

                        仅S0时刻获取外部信息,直至迭代收敛后输出

                 更新过程:

                        ①神经元自身无连接且具有对称性(w_{ij}=0=w_{ji})

                        ②第 i 个神经元状态:s_i=+1         若\sum_{j=1}^Mw_{ij}s_j+b_i\geq 0

                                                                = -1            其他情况

                                公式为其所有邻居加权偏置

                        ③s_t=f(Ws_{t-1}+b)

                Hopfield网络是稳定的(多次迭代后必定收敛),其中有一个标量属性,称为“能量

                        E=-\frac{1}{2}s^TWs-b^Ts                且E_t\geq E_{t+1}(每迭代一次能力就会下降)

                权重对称也是一个重要特征,保证了能量函数的单调递减,若不对称可能会导致周期性的震荡/混乱

                联想记忆

神经网络(八)注意力机制与外部记忆_第13张图片

                         每次更新能量会下降,所以会是的迭代指向局部最优点。也就是所谓的吸引点,可以视为网络中存储的信息。

                存储过程

                        w_{ij}=\frac{1}{N}\sum_{n=1}^Nx_i^{(n)}x_j^{(n)}

                        若两个神经元经常同时激活,则加强他们的连接;若不经常激活,则连接消失

                相较于结构化外部记忆,具有更好的生物学特征

你可能感兴趣的:(机器学习,学习笔记,java,servlet,数据库)