当前位置: 首页 > news >正文

网站建设移动端官网免费文案素材网站

网站建设移动端官网,免费文案素材网站,微信商城网站怎么开发,宿州保洁公司有哪些Transformer和BERT的区别比较表: 两者的位置编码: 为什么要对位置进行编码? Attention提取特征的时候,可以获取全局每个词对之间的关系,但是并没有显式保留时序信息,或者说位置信息。就算打乱序列中token…

Transformer和BERT的区别比较表:

两者的位置编码:

为什么要对位置进行编码?
Attention提取特征的时候,可以获取全局每个词对之间的关系,但是并没有显式保留时序信息,或者说位置信息。就算打乱序列中token的顺序,最后所得到的Attention结果也不会变,这会丢失语言中的时序信息,因此需要额外对位置进行编码以引入时序信息。

Position Embedding in Transformer
在Transformer中,位置编码是由sin /cos sin/cossin/cos函数生成的固定值。

具体做法:用不同频率的正余弦函数对位置信息进行编码,位置编码向量的维度与文本编码向量的维度相同,即dmodeld_{model}dmodel。因此二者可以直接相加作为token最终的编码向量。

pos表示位置,i 表示所在维度。

即使测试集中某些样本超出了最大文本长度,这种编码方式仍然可以获得有效的相对位置表示。

Position Embedding in BERT
在BERT中,与一般的词嵌入编码类似,位置编码也是随机生成且可训练的,维度为[seq_length, width],其中seq_length代表序列长度,width代表每一个token对应的向量长度。

从实现上可以看到,BERT中将位置编码创建为一个tensorflow变量,并将其broadcast到与词嵌入编码同维度后相加。

with tf.control_dependencies([assert_op]):full_position_embeddings = tf.get_variable(name=position_embedding_name,shape=[max_position_embeddings, width],initializer=create_initializer(initializer_range))# 这里position embedding是可学习的参数,[max_position_embeddings, width]# 但是通常实际输入序列没有达到max_position_embeddings# 所以为了提高训练速度,使用tf.slice取出句子长度的embeddingposition_embeddings = tf.slice(full_position_embeddings, [0, 0],[seq_length, -1])num_dims = len(output.shape.as_list())# word embedding之后的tensor是[batch_size, seq_length, width]# 因为位置编码是与输入内容无关,它的shape总是[seq_length, width]# 我们无法把位置Embedding加到word embedding上# 因此我们需要扩展位置编码为[1, seq_length, width]# 然后就能通过broadcasting加上去了。position_broadcast_shape = []for _ in range(num_dims - 2):position_broadcast_shape.append(1)position_broadcast_shape.extend([seq_length, width])position_embeddings = tf.reshape(position_embeddings,position_broadcast_shape)output += position_embeddings

 两者之间的区别


Transformer的位置编码是一个固定值,因此只能标记位置,但是不能标记这个位置有什么用。

BERT的位置编码是可学习的Embedding,因此不仅可以标记位置,还可以学习到这个位置有什么用。

BERT选择这么做的原因可能是,相比于Transformer,BERT训练所用的数据量充足,完全可以让模型自己学习。

如何延拓BERT的位置编码?
我们知道,BERT模型最多只能处理512个token的文本,其原因在于BERT使用了随机初始化训练出来的绝对位置编码,最大位置设为为512,若是文本长于512便无位置编码可用。

另一方面, 复杂度使得长序列的显存用量极大,一般显卡就连finetune也做不到。

苏神提出了一种层次分解的方法将BERT的位置编码最多可以延拓至26万。

具体内容可自行阅读苏神博客

层次分解位置编码,让BERT可以处理超长文本

http://www.dinnco.com/news/40193.html

相关文章:

  • 怎么区分模板网站和定制网站河南seo外包
  • 武汉网站搜索引擎优化sem和seo是什么职业
  • 购物网站建设市场河源新闻最新消息
  • 做网站卖广告挣几百万恶意点击软件哪个好
  • 济南网站建设选聚搜网络网站seo外包
  • 橙色网站logo 配色深圳网络推广服务公司
  • 新网免费做网站站长工具综合查询系统
  • 网站字体变大代码优化关键词的作用
  • 池州网站建设哪家好浏览器搜索引擎大全
  • 黄山公司做网站免费网站seo排名优化
  • 百度怎样收录网站百度投放广告收费标准
  • 安卓手机怎么制作网站关键词排名优化网站
  • 龙岩做网站改版找哪家公司网站运营公司
  • 潍坊网站优化排名镇江网站
  • 自己做网站租服务器站长工具使用方法
  • 广州专业做网站建设营销渠道管理
  • 网站建设论文的研究方法搭建网站的软件
  • 做百科权威网站有哪些sem推广竞价
  • 平谷网站建设百度竞价开户公司
  • 网站建设审核北京做seo的公司
  • 公司做网站的价格南宁网站建设网络公司
  • 二手商品网站怎么做济南seo网站优化
  • 了解宿迁建设网站网络营销策划的内容
  • 浏览有关小城镇建设的网站 记录长沙seo网络营销推广
  • 简单美食网站模板制造企业网站建设
  • 怎么样做网站卖东西店铺推广平台有哪些
  • 教育企业网站源码整合营销推广
  • 免费设计商标的网站免费网站收录网站推广
  • 网站建设有证书吗百度指数的网址
  • 如何做网站的内链和外链搜索引擎营销题库和答案