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

自动化东莞网站建设淘宝客网站如何做推广

自动化东莞网站建设,淘宝客网站如何做推广,帝国 只做网站地图,怎么创建网站链接自然语言处理(NLP)模型的发展历史 1.统计方法时期#xff1a;使用贝叶斯方法、隐马尔可夫模型、概率模型等传统统计方法 2.机器学习时期#xff1a;支持向量机(SVM)、决策树模型、随机森林、朴素贝叶斯等传统机器学习方法 3.深度学习革命#xff1a;各种新的深度学习模型使用贝叶斯方法、隐马尔可夫模型、概率模型等传统统计方法 2.机器学习时期支持向量机(SVM)、决策树模型、随机森林、朴素贝叶斯等传统机器学习方法 3.深度学习革命各种新的深度学习模型比如CNN、RNN(以及变体LSTM、GRU) 4.Transformer架构提出的Self-Attention机制可以更好的捕捉长距离依赖问题同时该架构允许并行处理元素极大的提高了训练速度 5.预训练模型随着Bert模型的发布预训练成为了NLP的一个新标准。这些模型首先在一个大规模语料库上进行无监督预训练然后针对具体任务进行微调例如GPT系列 1 从NNLM到word2Vec NNLMNeural Network Language Model:最早尝试使用神经网络来预测序列中下一个词的概率的模型之一 通过一个连续的词向量空间来表示词使得相似的词在向量空间中距离较近。将前几个词的词向量作为输入并通过一个隐藏层来预测下一个词。引入了softmax函数来计算每个词的概率分布。 Word2Vec一种词嵌入技术即把每个词映射到一个固定大小的向量空间中。 1.1 从向量表示到词嵌入 假设我们对求职人员进行人格测试会给一个人的很多维度进行打分内向/外向是其中之一然后用0~100内向→外向来表示程度假设有一个叫Jay的人得分为38/100则可以用下图表示该得分 为了更好的表达数据我们将范围压缩至-1到1类似归一化 对于一个人一个维度显然不足我们再加一个得分作为第二维度 我们就可以认为这个人的性格被这个向量表示出来了假设我们想找的另一个和Jay性格相仿的人则可使用该表示法进行比较。 由图可得Person #1更合适但如果是三维、四维或者更高维则可以使用余弦相似度公式进行计算 以上述例子计算得 也可得出Person #1更合适这就是将性格向量化对于字词也是同样得我们可以将词向量化而生成词向量Word Vectors 的具体方法就是词嵌入Word Embeddings 词嵌入是指将单词映射到一个稠密的向量空间中的过程其中的每个维度都代表了某种语言特征。 这里以GloVe向量为例它是一种用于生成词向量的方法下面是的单词’king’的词嵌入 [ 0.50451 , 0.68607 , -0.59517 , -0.022801, 0.60046 , -0.13498 , -0.08813 , 0.47377 , -0.61798 , -0.31012 , -0.076666, 1.493 , -0.034189, -0.98173 , 0.68229 , 0.81722 , -0.51874 , -0.31503 , -0.55809 , 0.66421 , 0.1961 , -0.13495 , -0.11476 , -0.30344 , 0.41177 , -2.223 , -1.0756 , -1.0783 , -0.34354 , 0.33505 , 1.9927 , -0.04234 , -0.64319 , 0.71125 , 0.49159 , 0.16754 , 0.34344 , -0.25663 , -0.8523 , 0.1661 , 0.40102 , 1.1685 , -1.0137 , -0.21585 , -0.15155 , 0.78321 , -0.91241 , -1.6106 , -0.64426 , -0.51042 ] 根据它们的值对单元格进行颜色编码如果它们接近2则为红色接近0则为白色接近-2则为蓝色 然后将’king’与其他单词进行比较 可以明显看到’Man’和’Woman’更相似即该词嵌入很好的展示了单词的联系下面再举一个例子 大家可以根据色条的相似度得出不同词之间的相似情况。 1.2 NNLM模型 NNLM的核心是一个多层感知机它将词向量序列映射到一个固定长度的向量表示然后将这个向量输入到一个softmax层中计算出下一个词的概率分布假设我们输入’Thou shalt’然后该模型会按下面三个步骤进行预测 最后’not’的得分最高所以选择向用户推荐’not’。 其中Look up Embedding由于模型在经过另外一个训练之后可以生成一个映射单词表所有单词的矩阵也称词嵌入矩阵从而在进行预测的时候我们可以在这个词嵌入矩阵中查询输入的单词。 1.2.1 如何构建词嵌入矩阵 首先收集大量的文本数据然后建立一个滑动窗口滑动窗口的大小可以自定义构建滑动窗口内滑动窗口后一个单词的训练预测样本就可以得到一套用于训练用的数据集 下面是数据集即不同的单词组合后面会出现的单词 1.3 Word2Vec的两种架构CBOW和Skipgram CBOW 为了更好的预测不仅要考虑目标单词的前两个单词还要考虑其后两个单词这种通过“通过上下文词汇预测当前词”的架构就是连续词袋CBOW Skipgram 根据当前词推测当前单词的前后单词的架构就是Skipgram 1.4 Word2vec训练流程 首先创建两个矩阵词嵌入Embedding矩阵是网络Onehot层到Embedding层映射的网络参数矩阵相当于一个初始化的Embedding矩阵、上下文Context矩阵前向传播将上下文词的词向量求平均或相加形成一个上下文向量将上下文向量乘以一个权重矩阵通常称为输出权重矩阵并通过softmax函数计算每个词作为中心词的概率分布。损失计算计算预测的概率分布与真实标签中心词的真实索引之间的交叉熵损失。反向传播利用损失函数的梯度更新词向量矩阵和输出权重矩阵。迭代重复 训练结束后会得到一个全新的词嵌入Embedding矩阵并用于之后的预测 2 从Seq2Seq到Seq2Seq with Attention 2.1 Seq2SeqSequence-to-sequence 字面意思输入一个序列输出另一个序列 2.1.1 Encoder-Decoder模型 特别适用于序列到序列seq2seq的任务如机器翻译、文本摘要、对话系统等。 编码器Encoder编码器负责读取输入序列并将其转换为一个固定长度的向量这个向量被称为“上下文向量”或“编码向量”。编码器通常是一个递归神经网络RNN它可以逐个元素地处理输入序列并生成一个状态向量最终状态向量就是编码向量。 解码器Decoder解码器接收编码器产生的上下文向量并根据这个向量生成输出序列。解码器也是一个RNN它通过逐个元素地生成输出序列中的元素每次生成一个新元素时都会考虑到之前的状态和编码向量。 2.2 Attention机制 Encoder-Decoder模型有一个缺陷序列较长时所有语义完全转换为一个中间语义向量C来表示可能会丢失许多信息而Attention机制就让Eecoder 不再将整个输入序列编码为固定长度的「中间向量」而是编码成一个向量的序列(包含多个向量)。 Attention机制通过计算输入序列中各个部分与当前任务的相关性从而为每个部分分配一个权重这些权重反映了各个部分对当前任务的重要性。 假设图书馆source里有很多书value为了方便查找我们给书做了编号key。当我们想要了解漫威query的时候我们就可以看看那些动漫、电影、甚至二战美国队长相关的书籍。 计算步骤 计算query和key的点积得到权值将权值归一化即将原始计算分值整理成所有元素权重之和为1的概率分布或者说通过SoftMax的内在机制更加突出重要元素的权重将权重和 value 进行加权求和 最后便会得到一个Attention值反应某元素对该任务的重要性。 2.2.1 举例说明Attention的计算步骤 假设输入为The cat is sitting on the mat 我们想将该句子翻译为中文步骤如下 将句子转化为词嵌入向量序列Embedding Vectors输入到Encoder中Encoder会计算每个输入词的隐藏状态 h i h_{i} hi​ i i i表示在输入序列中的位置初始化解码器状态假设要生成第一个词“这”对应“The”解码器会根据编码器的最后一个隐藏状态或所有隐藏状态的一个加权平均和来初始化解码器的状态该初始状态包含了整个输入句子的信息attention机制计算注意力得分、使用softmax函数将得分转化为注意力权重这些权重决定了输入序列中的哪些位置最重要计算上下文向量使用注意力权重来加权求和所有Encoder隐藏状态结合上下文向量和解码器的状态通常是拼接再输入到一个前馈神经网络最后会得到一个输出词汇的概率分布表选取概率最高的输入重复该步骤直到所有词汇翻译完毕 3 Transformer架构 3.1 Transformer编码 Transformer的提出即是为了更好的解决机器翻译问题下面是一个简单步骤说明 一个输入句子经过Transformer后会被翻译成另一个句子我们聚焦于中的模型 其中 编码组件部分由一堆Encoder构成具体个数可以调解码组件部分也是由相同数量的Decoder组成 然后我们再聚焦于单个编码器和解码器 步骤如下 句子输入到编码器后经过self-attention层会帮助编码器在对每个单词编码时关注输入句子中的的其他单词即可以捕捉到输入句子中词语之间的关系而不仅仅是相邻的词。然后传入前馈神经网络进行特征提取流入解码器解码器也有self-attention层但用于处理输出序列编码-解码注意力层许解码器关注编码器的输出帮助模型确定输入句子中最相关的部分从而提高翻译的准确性最后传入前馈神经网络进行特征提取然后输出 3.1.2 举例说明 1.首先将每个输入词转化为词向量这里的维度是演示作用实际中可以自己调整 2.输入到解码器中 便发现了Transformer的两个特点 每个单词都是单独流入编码器而不是排队进入在前馈神经网络中计算是独立的即可以并行计算 3.2 Self-attention机制 假定现在要翻译下列句子 “The animal didn’t cross the street because it was too tired”那其中的it是指animal还是street呢对人很容易但对算法很难 但通过self-attention机制后模型会得出it和animal更相关 3.3 self-attention计算方法 3.4 求和归一化 Transformer架构中还需再提一下编码器中的一个细节每个编码器中的每个子层都有一个残差连接然后做了一个层归一化(layer-normalization) 残差连接 (Residual Connection)残差连接引入了跳跃连接的思想使得输入可以直接绕过一层或多层传递到后面的层。这种连接有助于缓解深层网络中的梯度消失/爆炸问题并促进信息和梯度的流动。 层归一化 (Layer Normalization)层归一化是在神经网络层中对激活值进行归一化的技术它可以帮助控制每一层的输出的统计特性均值和方差从而减少内部协变量移位internal covariate shift使得训练更加稳定。 3.5 解码器中的两个注意力层 我们观察解码器会发现其中有两个注意力层 一个带masked的Multi-Head Attention本质是Self-Attention该自注意力层只允许关注已输出位置的信息屏蔽了未输出的信息。 例如在翻译“我是学生”为“I am a student”的过程中当解码器开始生成“I”时它只能看到自己之前生成的词在这里是起始标记而不能看到后续的任何词。 一个不带masked的Multi-Head Attention即Encoder-Decoder Attention这个注意力层允许解码器关注编码器产生的表示以找到输入序列中与当前生成的输出最相关的部分。这有助于解码器在生成每个词时能够利用到整个输入句子的信息。 例如在翻译“我是学生”为“I am a student”的过程中当解码器生成“I”时它不仅会考虑之前生成的词还会通过编码器-解码器注意力层去关注输入序列“我是学生”中的相关信息从而更好地生成下一个词。 List item 3.6 最后的线性层和softmax层 它们的作用是把Decoder输出的浮点型向量变成一个词。 假设我们的模型词汇表是10000个英语单词它们是从训练数据集中学习的。那logits向量维数也是10000每一维对应一个单词的分数。然后softmax层将这些分数转化为概率全部为正值加起来等于1.0选择其中概率最大的位置的词汇作为当前时间步的输出。 4 BERT模型 4.1 从Word Embedding到ELMO 4.1.1 Word Embedding的缺陷 在第一部分中介绍了word2vec技术作为Word Embedding的一类它也存在Word Embedding的一些缺陷便是无法处理多义词问题 4.1.2 ELMoEmbedding from Language Models 是一种创新的词嵌入方法它通过语言模型来生成词向量特别之处在于它能够提供上下文相关的词表示有着以下特点 上下文敏感性 与传统的词嵌入方法如Word2Vec或GloVe不同ELMo为每个词生成的向量不是固定的而是取决于该词出现的上下文。这意味着同一个词在不同的句子中可能会有不同的向量表示这更符合自然语言的真实使用情况。双向语言模型 ELMo 使用了两个长短期记忆网络LSTM作为语言模型一个正向LSTM从左到右读取文本一个反向LSTM从右到左读取文本。通过结合这两种方向的语言模型ELMo能够捕捉到词在句子中的前后关系。层次结构 ELMo的LSTM语言模型有多层每一层都可以捕获不同粒度的语义信息。最终的词嵌入是这些层的加权平均这使得ELMo能够综合考虑局部和全局的上下文信息。 一个句子通过ELMo之后会得到三个Embedding如下图所示 假设我们将“i am a student”翻译为“我是学生” 预训练阶段 ELMo 需要在大量未标注的文本数据上进行预训练以生成上下文敏感的词向量。输入“i am a student”会分别通过正向和反向LSTM去获得每个词基于前面词/后面词的概率分布。第一个Embedding是单词的Word Embedding第二个Embedding是双层双向LSTM中第一层LSTM对应单词位置的Embedding这层编码单词的句法信息更多一些第三个Embedding是双层双向LSTM中第二层LSTM对应单词位置的Embedding这层编码单词的语义信息更多一些 通过ELMo生成的词向量比传统的词嵌入技术如 Word2Vec 或 GloVe更具有动态性和语境适应性因此在输入到分类/预测模型中之后会有更好的效果。 4.2 微调(Fine-tuning) 把在源数据集上训练的源模型的能力迁移到新数据新模型上 迁移学习(Transfer learning) 就是把已训练好的模型预训练模型参数迁移到新的模型来帮助新模型训练。现迁移学习有以下三种手段 Transfer Learning冻结预训练模型的全部卷积层只训练自己定制的全连接层Extract Feature Vector 先计算出预训练模型的卷积层对所有训练和测试数据的特征向量然后抛开预训练模型只训练自己定制的简配版全连接网络Fine-tuning冻结预训练模型的部分卷积层通常是靠近输入的多数卷积层因为这些层保留了大量底层信息甚至不冻结任何网络层训练剩下的卷积层通常是靠近输出的部分卷积层和全连接层 假设我们想从图像中识别出不同种类的椅子然后将购买链接推荐给用户。一种可能的方法是 先找出100种常见的椅子为每种椅子拍摄1,000张不同角度的图像便收集到的10万张图像数据集目标数据集 在源数据集如ImageNet数据集上预训练一个神经网络模型即源模型创建一个新的神经网络模型即目标模型它复制了源模型上除了输出层外的所有模型设计及其参数我们假设这些模型参数包含了源数据集上学习到的知识且这些知识同样适用于目标数据集我们还假设源模型的输出层与源数据集的标签紧密相关因此在目标模型中不予采用。为目标模型添加一个输出大小为目标数据集类别个数的输出层并随机初始化该层的模型参数在目标数据集上训练目标模型我们将从头训练输出层而其余层的参数都是基于源模型的参数微调得到的 4.3 生成式的预训练之GPT预训练(单向Transformer) Fine-tuning ELMo方法使用的是LSTM去提取数据特征但随着Transformer的出现它的特征抽取能力要强于LSTM所以特征提取自然就采用了Transformer但它采用的是单向Transformer 4.3.1 为什么要采用单向transformer呢 GPT使用的Transformer结构就是将Encoder中的Self-Attention替换成了Masked Self-Attention即屏蔽了未输出的词理由如下 生成连贯的文本序列。避免信息泄露即模型不会提前知道它还没有生成的信息。 4.4 BERT双向Transformer版的GPT 4.4.1 BERT模型的架构预训练(双向Transformer) Fine-Tuning 即BERT模型综合了ELMo的双向优势和Transformer的特征提取优势 下图是BERT、GPT、ELMo的结构图对比 4.4.2 BERT对输入、输出部分的处理 为了适配多任务下的迁移学习BERT设计了更通用的输入层和输出层。 BERT的输入部分是个线性序列两个句子之间通过分隔符「SEP」分割最前面是起始标识「CLS」每个单词有三个embedding 单词embedding有的单词会拆分成一组有限的公共子词单元例如下图示例中‘playing’被拆分成了‘play’和‘ing’句子embedding用于区分两个句子例如B是否是A的下文对话场景问答场景等位置信息embedding句子有前后顺序 把单词对应的三个embedding相加就形成了BERT的输入。 BERT在预训练的输出部分如参考下图 4.4.3 BERT的创新点 掩码语言模型Masked Language Model, MLM在训练过程中输入的一段文本会被随机地遮盖一部分词汇通常大约15%的词汇会被遮盖。这些被遮盖的词汇将被特殊标记如[MASK]替换能更好地捕捉到词汇的多义性和上下文依赖性。下一句预测Next Sentence Prediction, NSP即判断句子B是否是句子A的下文这个关系保存在BERT输入表示图中的[CLS]符号中通过NSP任务BERT模型可以学到句子级别的上下文关系 参考文献 ransformer通俗笔记从Word2Vec、Seq2Seq逐步理解到GPT、BERT
http://www.w-s-a.com/news/318297/

相关文章:

  • 织梦二次开发手机网站如何成为一名设计师
  • 网站公司建设网站镇江本地网站
  • 网页设计后面是网站建设吗凡客诚品的配送方式
  • 万链网站做的怎么样?深圳门户网站开发
  • 在线设计工具的网站怎么做wordpress多语言版本号
  • 建设购物网站要求优秀网站大全
  • 平顶山做网站公司用源码网站好优化吗
  • 网上电商游戏优化大师手机版
  • 个人微信公众号怎么做微网站吗网站域名需要续费吗
  • 有效的网站建设公丹阳做网站的
  • 哪些行业做网站的多学企业网站开发
  • 外贸seo网站制作网站备案的流程
  • 网站布局教程wordpress 侧边栏位置
  • 谁有手机网站啊介绍一下dedecms 网站重复文章
  • 博客网站快速排名微信机器人免费版wordpress
  • 孝感网站建设xgshwordpress网站基础知识
  • 百度为什么会k网站长沙做网站找哪家好
  • 揭阳商城网站建设新闻稿发布平台
  • 电商网站建设免费在线优化网站
  • 厦门网站建设咨询挣钱最快的小游戏
  • 郑州网站网络营销莱芜雪野湖别墅
  • 安装iis8 添加网站河南省建设执业资格中心网站
  • 个人网站电商怎么做广州市营销型网站建设
  • 空间站做网站什么版本wordpress 勾子
  • win7网站服务器制作软件网站浏览图片怎么做的
  • 网站制作平台公司嵌入式软件开发环境
  • 网站服务器镜像微商做网站网站
  • 十大旅游电子商务网站网上定做衣服
  • 怎样进行网站备案上海发布公众号app
  • 网站后台模板论坛网站优化招商