IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 学习笔记之机器翻译和文本摘要3 -> 正文阅读

[人工智能]学习笔记之机器翻译和文本摘要3

一、Self-attention

Multi-head Self-attention的维度变化 head = 8
embeding_size =4, seq_len = 2,中间维度3
X [ 2 , 4 ] ? W q [ 4 , 3 ] = Q [ 2 , 3 ] , X ? W k = K [ 2 , 3 ] , X ? W v = V [ 2 , 3 ] X[2,4]*W_q[4,3]=Q[2,3] , X*W_k = K[2,3], X * W_v = V[2,3] X[2,4]?Wq?[4,3]=Q[2,3],X?Wk?=K[2,3],X?Wv?=V[2,3]
s c o r e = Q K T / d k [ 2 , 2 ] score=QK^T/\sqrt{d_k}[2,2] score=QKT/dk? ?[2,2]
a = s o f t m a x ( s c o r e ) [ 2 , 2 ] a =softmax(score)[2,2] a=softmax(score)[2,2]
c o n t e x t = Σ a V [ 2 , 3 ] context = \Sigma aV [2,3] context=ΣaV[2,3]
C o n t e x t = h e a d 个 c o n t e x t s c o n c a t 起 来 [ 2 , 24 ] Context = head 个 contexts concat 起来 [2,24] Context=headcontextsconcat[2,24]
C o n t e x t [ 2 , 24 ] ? W [ 24 , 4 ] = o u t p u t [ 2 , 4 ] Context [2,24] * W[24,4] =output [2,4] Context[2,24]?W[24,4]=output[2,4]

二、文本摘要baseline

1. 使用Multi-head self attention

因为文本摘要的难度相对较大,我们会希望把attention的机制升级到Multi-head self attention.

2. 使用Layer Normilazition

Batch Normilazition和Layer Normilazition 都是将数据标准化,可以减少梯度消失现象。
前者是通过标准化不同样本的同一个特征来标准化;后者是对同一个样本的不同特征来标准化。
前者的缺点是依赖于Batch size,并且数据需要记录。(不过比较适合CNN)。再机器翻译和文本摘要的场景中因为seq_len的不同所以不太适合用BN。

3. mask机制

原理是padding后的向量经过一系列变换后padding的位置不一定是零,计算loss的时候如果计算进去就会不准确,引入mask机制可以避免。一般场景{1,0},softmax前则补{1,-999}。

4. 引入先验知识

原理是在文本摘要这个场景下输出强烈依赖于输入,摘要的词几乎全部来源于原文。那么我们可以将文章的原文做一个One_hot,再加一个平移变换后和softmax前的概率值做一个平均后再softmax。

三、Pointer Generator Network

1. Pointer Network

定义 s t s_t st?是decoder的第t步, h i h_i hi? 是encoder的第i步
e i t = V t a n h ( W 1 s t + W 2 h i + b ) e_i ^{t} = Vtanh(W_1s_t + W_2 h_i+ b) eit?=Vtanh(W1?st?+W2?hi?+b)

a i t = s o f t m a x ( e i t ) a_i ^{t}= softmax(e_i^{t}) ait?=softmax(eit?)
h t ? = Σ i a i t h i h^*_t = \Sigma_i a_i ^{t}h_i ht??=Σi?ait?hi?
p v o c a b = s o f t m a x ( V ′ V [ h t ? , s t ] + b ) + b ′ ) p_{vocab} = softmax(V^{'}V[h^*_t,s_t] + b) + b^{'}) pvocab?=softmax(VV[ht??,st?]+b)+b)
p g e n = σ ( W 1 h t ? + W 2 s t + W ? D e c o d e r i n p u t + b ) p_{gen} = \sigma(W_1h^*_t + W_2 s_t + W * Decoder_{input} + b) pgen?=σ(W1?ht??+W2?st?+W?Decoderinput?+b)
p ( w ) = p v o c a b ( w ) ? p g e n + ( 1 ? p g e n ) ? Σ i : w i = w a i t p(w) = p_{vocab} (w) * p_{gen} + (1-p_{gen}) * \Sigma _{i:w_i = w}a_i ^{t} p(w)=pvocab?(w)?pgen?+(1?pgen?)?Σi:wi?=w?ait?

2. Covarage机制

可以让模型关注之前没关注的角落。
c t = Σ i = 0 t ? 1 a i c_t = \Sigma_ {i=0}^{t-1}a^i ct?=Σi=0t?1?ai
e i t = V t a n h ( W 1 s t + W 2 h i + W 3 c t + b ) e_i ^{t} = Vtanh(W_1s_t + W_2 h_i +W_3 c_t+ b) eit?=Vtanh(W1?st?+W2?hi?+W3?ct?+b)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-03 17:04:52  更:2021-10-03 17:05:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 19:22:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码