9.3学习日记

最近几天出去玩了,没有学习,赶紧补回来hhh

一、ELMo模型

前几天记录的时候说到word2Vec模型无法解决多义词问题,ELMo模型通过双层的Lstm解决了这一问题。
在这里插入图片描述
这是该模型的架构,首先看到输入的embedding,当你输入一个句子时,它会被分词,再经过embedding层被转换为一个个的字符序列,特殊的,ELMo会把这些字符序列输入到一个cnn中,生成词向量,这是为了进一步提取字符的特征,如前缀后缀等。
然后将词向量输入到双层的lstm中。这部分是这个模型的精华,从上下的角度看是双层的lstm,第一层 LSTM 可以学习短期的时间依赖性,而第二层 LSTM 则可以进一步捕捉更长时间范围内的依赖关系。原文中说第一层可以学习局部上下文(如词语之间的关系),而第二层可以学习全局上下文(如句子或段落的结构),我个人觉得不太可能,只是通过增加参数量来提高模型的泛化能力,减少过拟合风险,再多加几层应该效果更好。从左右的角度来看,每一层中同时存在的前向和后向两个方向的 LSTM。
前向(Forward)LSTM:从句子的开始到结束,逐步处理输入,捕捉从前往后的上下文信息。
后向(Backward)LSTM:从句子的结束到开始,逆序处理输入,捕捉从后往前的上下文信息。
这使得 ELMo 能够有效捕捉到词语在句子中不同方向的上下文信息,生成更为丰富的词向量表示。

二、attention机制

1.什么是注意力

这就好像人在看美女帅哥照片的时候,不自觉的会把目光聚焦在某些地方。在深度学习中,注意力是根据输入数据的内容动态地分配权重,关注更重要的部分

2.注意力机制的原理

假设我们有一个输入序列 𝑋=[𝑥1,𝑥2,…,𝑥𝑛],其中每个 𝑥𝑖代表一个输入向量。设置Q,K,V三个向量,其中:
查询(Query, Q): 查询是用来检索信息的输入,通常是模型在某个时刻的隐藏状态或当前的目标表示。
键(Key, K): 键是对每个输入向量的一个表示,它们用于与查询进行匹配。
值(Value, V): 值是与每个输入向量相关联的信息,当查询和键匹配时,这些值将被提取出来。
然后使用查询向量 Q 和键向量 K 之间的相似度来计算注意力得分。一个常见的做法是点积,然后通过一个 softmax 函数来归一化,得到注意力权重 𝑎𝑖。即ai =softmax(Q⋅K ^T ),再用这个ai与V进行点积,这样就为每个值设置了权重。在transform中,k和v向量是一样的,当然不等也是可以的,但是k和v必须要有联系。
这里需要注意,有时候qk点积后的结果需要进行缩放,不然会出现数值差距太大导致概率分布不稳定的问题。

三、self-attention机制

与注意力机制类似,但是qkv是同源的,可以说是同一个东西,与RNN、LSTM的区别是:
1.RNN无法处理上下文
2.LSTM可以选择性的记忆上下文
3.因为self-attention会直接将句子中任意两个单词的联系通过一个计算步骤联系起来,所以更容易捕获句子中长距离的相互依赖的特征
4.self-attention可以对每一个单词都进行attention值得计算,所以并发性高

最后说一下,这是我自己的学习记录,很多公式推导暂时没看,对于特别底层的东西还不是很了解,目前只是知道这些原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值