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

调兵山网站建设怎样做才能让百度搜到网站产品

调兵山网站建设,怎样做才能让百度搜到网站产品,有站点地图的网站,科技馆网站建设背景阿里妹导读#xff1a;自然语言处理领域的殿堂标志 BERT 并非横空出世#xff0c;背后有它的发展原理。今天#xff0c;蚂蚁金服财富对话算法团队整理对比了深度学习模型在自然语言处理领域的发展历程。从简易的神经元到当前最复杂的BERT模型#xff0c;深入浅出地介绍了深… 阿里妹导读自然语言处理领域的殿堂标志 BERT 并非横空出世背后有它的发展原理。今天蚂蚁金服财富对话算法团队整理对比了深度学习模型在自然语言处理领域的发展历程。从简易的神经元到当前最复杂的BERT模型深入浅出地介绍了深度学习在 NLP 领域进展并结合工业界给出了未来的 NLP 的应用方向相信读完这篇文章你对深度学习的整体脉络会有更加深刻认识。 一个神经网络结构通常包含输入层、隐藏层、输出层。输入层是我们的 features (特征)输出层是我们的预测 (prediction)。神经网络的目的是拟合一个函数 ffeatures - prediction。在训练期间通过减小 prediction 和实际 label 的差异的这种方式来更改网络参数使当前的网络能逼近于理想的函数 f。 神经元(Neural Cell) 神经网络层的基本组成成员为神经元神经元包含两部分一部分是上一层网络输出和当前网络层参数的一个线性乘积另外一部分是线性乘积的非线性转换。(如果缺少非线性转换则多层线性乘积可以转化为一层的线性乘积) 浅层神经网络( Neural Network ) 只有一层隐藏层的我们称为浅层网络。 深度学习网络Multilayer Perceptron 相对于浅层网络结构有两层、三层及以上隐藏层的我们就可以称为深度网络。 在通常的理解中一个足够宽的网络是能够拟合任何函数的。而一个深层网络则能够用更少的参数来拟合该函数因为深层的神经元可以获取比浅层神经元更复杂的特征表示。 在图二及三所示网络我们称为全连接网络也就是隐藏层的神经元会和上一层所有的神经元输出相关。和全连接网络相对应的是只和上一层部分神经元输出连接的网络如下文介绍的卷积网络。 卷积网络(CNN) 卷积网络神经元只和上一层的部分神经元输出是连接的。在直觉上是因为人的视觉神经元触突只对局部信息敏感而不是全局所有信息都对同一个触突产生等价作用 同一个卷积核从左到右从上到下和输入做乘积得到了不同强度的输出。从直觉上来理解卷积核对原始数据的不同数据分布的敏感度是不一样的。如果把卷积核理解为是某种 pattern那么符合这种 pattern 的数据分布会得到比较强的输出而不符合这种 pattern 的输出则得到弱的甚至是不输出。 一个卷积核是一个 pattern 提取器 多个卷积核就是多个 pattern 提取器。通过多个特征提取器对原始数据做特征提取转换就构成了一层卷积。 Alex Net, 因为 GPU 内存的原因Alex 使用了两块 GPU 对模型做了切割本质上的卷积层是用于特征提取 最大池化层用于提取强特征及减少参数全连接层则是所有高级特征参与到最后分类决策中去。 循环神经网络(RNN) CNN是对空间上特征的提取 RNN则是对时序上特征的提取。 在RNN中x1 , x2, x3, xt 是在时序上不一样的输入而 V U W 三个矩阵则是共享。同时 RNN 网络中保存了自己的状态 S。 S 随着输入而改变不同的输入/不同时刻的输入或多或少影响 RNN 网络的状态 S。而 RNN 网络的状态 S 则决定最后的输出。 在直觉上我们理解 RNN 网络是一个可模拟任何函数的一个神经网络( action )加上同时有一份自己的历史存储( memory )actionmemory 两者让 RNN 成为了一个图灵机器。 长短期记忆网络( LSTM ) RNN 的问题是非线性操作 σ 的存在且每一步间通过连乘操作传递会导致长序列历史信息不能很好的传递到最后而有了 LSTM 网络。 在 lstmcell 中 包含了通常意义上的遗忘门点乘决定什么要从状态中去除输入更新门按位相加决定什么要添加到状态中去输出门点乘决定状态的输出是什么虽然看起来很复杂本质上是矩阵的运算。 为了简化运算后面有 lstm 的变种 GRU 如下图 文本卷积网络 (TextCNN) CNN 在计算机识别领域中应用广泛其捕捉局部特征的能力非常强为分析和利用图像数据的研究者提供了极大的帮助。TextCNN 是2014年 Kim 在 EMNLP 上提出将 CNN 应用于 NLP 的文本分类任务中。 从直观上理解TextCNN 通过一维卷积来获取句子中 n-gram 的特征表示。TextCNN 对文本浅层特征的抽取能力很强在短文本领域如搜索、对话领域专注于意图分类时效果很好应用广泛且速度快一般是首选对长文本领域TextCNN 主要靠 filter 窗口抽取特征在长距离建模方面能力受限且对语序不敏感。 卷积核( filter )→ n-gram 特征 文本卷积与图像卷积的不同之处在于只在文本序列的一个方向做卷积。对句子单词每个可能的窗口做卷积操作得到特征图( feature map )。 其中。对 feature map 做最大池化( max-pooling )操作取中最大值max{c} 作为 filter 提取出的 feature。通过选择每个 feature map 的最大值可捕获其最重要的特征。 每个 filter 卷积核产生一个 feature ,一个 TextCNN 网络包括很多不同窗口大小的卷积核如常用的 filter size ∈{3,4,5} 每个 filter 的 featuremaps100。 增强序列推理模型(ESIM) ESIM (Enhanced Sequential Inference Model) 为短文本匹配任务中常用且有力的模型。它对于 LSTM 的加强主要在于将输入的两个 LSTM 层( Encoding Layer) 通过序列推理交互模型输出成新的表征。 图片来源paper《Enhanced LSTM for Natural LanguageInference》 如图所示ESIM 为图的左边部分。整体网络结构其实比较明确整条通路大致包括三个步骤。 步骤一编码层。该步骤每个 token 将预训练的编码通过 Bi-LSTM 层从而获取了“新的编码”其目的是通过 LSTM 学习每个 token 的上下文信息。 步骤二局部推理层。步骤二本质是一个句间注意力( intra-sentence attention )的计算过程。通过将两句在步骤一中获取的结果做 intra-sentence attention 操作我们在这里可以获取到一个新的向量表征。接下来对向量的前后变化进行了计算该做法的目的是进一步抽取局部推理信息在 attention 操作的前后变化并捕捉其中的一些推理关系如前后关系等。 步骤三组合推理预测层。再次将抽取后的结果通过 Bi-LSTM并使用AvarageMaxpooling 进行池化其具体操作就是分别进行 average 和 max pooling 并进行 concat最后加上全连接层进行 Softmax 预测其概率。 ELMo 直观上来讲ELMo(Embedding from Language Model) 解决了一词多义的问题例如询问“苹果”的词向量是什么ELMo 会考虑是什么语境下的“苹果”我们应该去询问“苹果股价”里的“苹果”词向量是什么。ELMo 通过提供词级别、携带上下文信息的动态表示能有效的捕捉语境信息。ELMo 的提出对后面的的 GPT 和 BRET有一个很好的引导和启发的作用。一个好的词向量应满足两个特点 能够反映出语义和语法的复杂特征。能够准确对不同上下文产生合适语义。 传统的 word2vec 对每个 word 只有一个固定的 embedding 表达不能产生携带上下文信息的 embedding对多义词无法结合语境判断。ELMo 中的每个单词都要先结合语境通过多层 LSTM 网络才得到最后的表达LSTM 是为捕获上下文信息而生因而 ELMo 能结合更多的上下文语境在一词多意上的效果比 word2vec 要好。 ELMo 预训练时的网络结构图与传统语言模型有点类似直观理解为将中间的非线性层换成了 LSTM利用 LSTM 网络更好的提取每个单词在当前语境中的上下文信息同时增加了前向和后向上下文信息。. 预训练 给定包含 N 个词的序列,前向语言模型通过前 k-1个词预测第 k 个词。在第 k 个位置每个 LSTM 层输出上下文依赖的向量表达, j1,2,…,L。顶层 LSTM 层的输出利用交叉熵损失预测下一个位置。 后向语言模型对序列做反序利用下文的信息去预测上文的词。与前向类似给定经过 L 层的后向深层 LSTM 网络预测得到第 j 层的隐层输出。 双向语言模型拼接前向语言模型和后向语言模型构建前向和后向联合最大对数似然。 其中为序列词向量层参数为交叉熵层参数在训练过程中这两部分参数共享。 嵌入式语言模型组合利用多层 LSTM 层的内部信息对中心词一个 L 层的双向语言模型计算得到 2L1 个表达集合。 Fine-tune 在下游任务中ELMo 将多层的输出整合成一个向量将所有 LSTM 层的输出加上normalized 的 softmax 学习到的权重 sSoftmax(w)使用方法如下所示 直观上来讲biLMs 的较高层次的 LSTM 向量抓住的是词汇的语义信息 biLMs 的较低层次的 LSTM 向量抓住的是词汇的语法信息。这种深度模型所带来的分层效果使得将一套词向量应用于不同任务有了可能性因为每个任务所需要的信息量是不同的。另外 LSTM 的层数不宜过多多层 LSTM 网络不是很容易 train 好存在过拟合问题。如下图是一个多层 LSTM 用在文本分类问题的实验结果随着 LSTM 层数增多模型效果先增加后下降。 Transformer 曾经有人说想要提升 LSTM 效果只要加一个 attention 就可以。但是现在attention is all you need。Transformer 解决了 NLP 领域深层网络的训练问题。 Attention 此前就被用于众多 NLP 的任务用于定位关键 token 或者特征比如在文本分类的最后加一层 Attention 来提高性能。Transformer 起源自注意力机制Attention完全抛弃了传统的 RNN整个网络结构完全是由 Attention 机制组成。Transformer 可以通过堆叠 Transformer Layer 进行搭建作者的实验是通过搭建编码器和解码器各6层总共12层的 Encoder-Decoder并在机器翻译中取得了 BLEU 值的新高。 整个流程的可视化如图以N2示例实际Transformer的N6。 Encoder 阶段输入“Thinking Machines”对应词向量叠加位置向量 Positional Encoding对每个位置做 Self-Attention 得到AddNorm 分两步residual connection即layer Normalization 得到新的对每个位置分别做 feed forward 全连接和 AddNorm得到一个 Encoder Layer 的输出重复堆叠2次最后将 Encoder Layer 输出到 Decoder 的 Encoder-Decoder Layer 层。 Decoder 阶段先是对 Decoder 的输入做 Masked Self-Attention Layer然后将Encoder 阶段的输出与 Decoder 第一级的输出做 Encoder-Decoder Attention最后接 FFN 全连接堆叠2个 Decoder最后接全连接Softmax 输出当前位置概率最大的的词。 Transformer 的结构上比较好理解主要是里边的细节比较多如 Mult-HeadAttention, Feed Forward, Layer Norm, Positional Encoding等。 Transformer的优点 并行计算提高训练速度。这是相比 LSTM 很大的突破LSTM 在训练的时候 当前步的计算要依赖于上一步的隐状态这是一个连续过程每次计算都需要等之前的计算完成才能展开限制模型并行能力。而 Transformer 不用LSTM结构Attention 机制的每一步计算只是依赖上一层的输出并不依赖上一词的信息因而词与词之间是可以并行的从而训练时可以并行计算, 提高训练速度。一步到位的全局联系捕捉。顺序计算的过程中信息会丢失尽管 LSTM 等门机制的结构一定程度上缓解了长期依赖的问题但是对于特别长期的依赖现象LSTM 依旧无能为力。Transformer 使用了 Attention 机制从而将序列中的任意两个位置之间的距离是缩小为1这对解决 NLP 中棘手的长期依赖问题是非常有效的。 总结对比CNN、RNN和Self-Attention CNN只能看到局部领域适合图像因为在图像上抽象更高层信息仅仅需要下一层特征的局部区域文本的话强在抽取局部特征因而更适合短文本。 RNN理论上能看到所有历史适合文本但是存在梯度消失问题。 Self-Attention相比 RNN 不存在梯度消失问题。对比 CNN 更加适合长文本因为能够看到更远距离的信息CNN 叠高多层之后可以看到很远的地方但是 CNN本来需要很多层才能完成的抽象Self-Attention 在很底层就可以做到这无疑是非常巨大的优势。 BERT BERT (Bidirectional Encoder Representations from Transformers) 本质来讲是NLP 领域最底层的语言模型通过海量语料预训练得到序列当前最全面的局部和全局特征表示。 BERT 网络结构如下所示BERT 与 Transformer 的 Encoder 网络结构完全相同。假设 Embedding 向量的维度是输入序列包含 n 个token则 BERT 模型一个layer 的输入是一个的矩阵而它的输出也同样是一个的矩阵所以这样 N 层 BERT layer 就可以很方便的首尾串联起来。BERT 的 large model 使用了 N24 层这样的Transformer block。 目标函数 Masked Language Model, MLM MLM 是为了训练深度双向语言表示向量BERT 用了一个非常直接的方式遮住句子里某些单词让编码器预测这个单词是什么。具体操作流程如下图示例先按一个较小概率 mask 掉一些字再对这些字利用语言模型由上下文做预测。 BERT 具体训练方法为随机遮住15%的单词作为训练样本。 其中80%用 masked token 来代替。10%用随机的一个词来替换。10%保持这个词不变。 直观上来说只有15%的词被遮盖的原因是性能开销双向编码器比单向编码器训练要慢选80% mask20%具体单词的原因是在 pretrain 的时候做了 mask在特定任务微调如分类任务的时候并不对输入序列做 mask会产生 gap任务不一致10%用随机的一个词来替换10%保持这个词不变的原因是让编码器不知道哪些词需要预测的哪些词是错误的因此被迫需要学习每一个 token 的表示向量做了一个折中。 Next Sentence Prediction 预训练一个二分类的模型来学习句子之间的关系。预测下一个句子的方法对学习句子之间关系很有帮助。 训练方法正样本和负样本比例是1150%的句子是正样本即给定句子A和BB是A的实际语境下一句负样本在语料库中随机选择的句子作为B。通过两个特定的 token[CLS]和[SEP]来串接两个句子该任务在[CLS]位置输出预测。 输入表示 Input每个输入序列的第一个 token [CLS]专门用来分类直接利用此位置的最后输出作为分类任务的输入 embedding。 从直观上来说在预训练时[CLS]不参与 mask因而该位置面向整个序列的所有position 做 attention[CLS]位置的输出足够表达整个句子的信息类似于一个global feature而单词 token 对应的 embedding 更关注该 token 的语义语法及上下文信息表达类似于一个 local feature。 Position Embeddings: transformer 的 PositionEncoding 是通过 sincos 直接构造出来的PositionEmbeddings 是通过模型学习到的 embedding 向量最高支持512维。 Segment Embeddings在预训练的句对预测任务及问答、相似匹配等任务中需要对前后句子做区分将句对输入同一序列以特殊标记 [SEP] 分割同时对第一个句子的每个 token 添加 Sentence A Embedding 第二个句子添加 Sentence BEmbedding实验中让EA 1, EB 0。 Fine-tune 针对不同任务BERT 采用不同部分的输出做预测分类任务利用[CLS]位置的embeddingNER 任务利用每个 token 的输出 embedding。 BERT的主要贡献有以下几个方面 预训练的有效性这方面来说 BERT 改变了游戏规则是因为相比设计复杂巧妙的网络结构在海量无监督数据上预训练得到的BERT语言表示少量训练数据微调的简单网络模型的实验结果取得了很大的优势。 网络深度基于 DNN 语言模型 (NNLMCBOW等) 获取词向量的表示已经在 NLP领域获得很大成功而 BERT 预训练网络基于 Transformer 的 Encoder可以做的很深。 双向语言模型在 BERT 之前ELMo 和 GPT 的主要局限在于标准语言模型是单向的GPT 使用 Transformer 的 Decoder 结构只考虑了上文的信息。ELMo 从左往右的语言模型和从右往左的语言模型其实是独立开来训练的共享 embedding将两个方向的 LSTM 拼接并不能真正表示上下文其本质仍是单向的且多层 LSTM难训练。 目标函数对比语言模型任务只做预测下一个位置的单词想要训练包含更多信息的语言模型就需要让语言模型完成更复杂的任务BERT 主要完成完形填空和句对预测的任务即两个 loss一个是 Masked Language Model另一个是 Next Sentence Prediction。 总结 我们在做 NLU 意图分类任务中实践了以上主流模型包括 Xgboost、TextCNN、LSTM、BERT 及 ERNIE 等下边是在前期模型调研阶段在选型测试数据上的对比实验BERT 模型表现出极大的优势。 同时在我们部署上线的过程中对 BERT 时耗做了测试在压测实验数据上的测试结果供参考。针对我们的问答query (1 ) BERT layer 的层数与时耗基本成线性关系多头数目增加对时耗增加不明显 (2) 针对短文本 query 的意图理解更多依赖浅层语法语义特征因而 BERT 层数对模型准召影响较小 (3) attention 多头决定了可以从多少个角度理解 query在我们的实验里降低多头数比降低层数对准召的影响略大而时耗无明显降低。 图像领域Alexnet 打开了深度学习的大门Resnet是图像领域深度学习的殿堂标志。 随着Transformer, Bert 兴起网络也在往12层24层发展得到了 SOTA. Bert 证明了在nlp领域深层网络的效果要优于浅层网络。 自然语言领域Transformer 打开了深层网络的大门BERT 也成为了自然语言处理领域的殿堂标志。 原文链接 本文为云栖社区原创内容未经允许不得转载。
http://www.pierceye.com/news/266099/

相关文章:

  • 云南省城乡住房与建设厅网站杭州网站制作平台公司
  • 程序员做网站美工能过关吗深圳品牌折扣店
  • 地产网站设计怎么做网贷网站
  • 公司网站是如何搭建的跨境电商被骗血本无归
  • 品牌网站建设目标vps怎么做多个网站
  • 普陀区建设工程质检网站网站建设 工作方案
  • 三河做网站开发公司虚列成本
  • 网站公司建设网站首页注册资本可以随便填吗
  • 网站做链接的意义是什么意思网站设计与制作
  • 快速开发网站的应用程序网站高中建设工具
  • 备案期间网站可以做竞价吗网站开发四川
  • 盐城网站app建设竣工验收备案查询
  • 河南省建设厅八大员网站相城网页设计
  • 建设电子商务网站要多少钱怎么自己开公司
  • 网站设计分析怎么写5年的室内设计师收入
  • 珠海网站建设服务谷歌关键词排名查询工具
  • 三网站合一系统优化最好的安卓手机
  • 那几个网站可以做h5产品经理培训哪个机构好
  • 吉林市做网站阿里巴巴国际站怎么运营
  • 中国网站排名100网站建设属于销售费用
  • 最新seo网站优化教程温州微网站
  • 网站双线选择昆明网站制作代理
  • 网站推广优化招聘织梦网站图片设置多大
  • 四川德充建设集团有限公司网站台州seo免费诊断
  • 农庄网站模板网站 文件夹 上传
  • 做长图文网站企业网站开发服务合同
  • 长椿街网站建设九江网站推广徽hyhyk1
  • 贴吧做网站wordpress不兼容ie
  • 上海万网网站建设网络工程专业是什么
  • 到国外建网站自己做的视频发什么网站吗