关于自然语言:开课吧自然语言处理NLP导师制名企实训班四期

download:开课吧-自然语言解决(NLP)-导师制名企实训班四期JavaScript:Web前端开发的必备技能 关键字:JavaScript、Web前端、浏览器、HTML、CSS JavaScript,简称JS,是一种广泛应用于Web前端开发的脚本语言。它能够在浏览器中运行,与HTML和CSS一起形成Web页面的根本构造。作为Web前端开发的必备技能,JavaScript曾经成为了古代Web技术的重要组成部分。 一、JavaScript的基本概念 JavaScript是一种解释型脚本语言,它不须要编译就能够间接在浏览器中执行。JavaScript能够通过对网页进行动静操作,实现各种成果,如表单验证、图片轮播等。此外,JavaScript还具备面向对象、事件驱动等特点,使得它能够更好地适应Web前端开发的需要。 二、JavaScript在Web前端开发中的利用 JavaScript在Web前端开发中的利用十分宽泛,如下拉菜单、弹出窗口、表单验证、导航栏等。此外,JavaScript还能够与HTML和CSS进行混合应用,实现更加简单的Web页面成果。例如,能够通过JavaScript动静加载数据、操作DOM元素等,使得页面更加丰富多彩。 三、JavaScript的将来倒退 随着Web前端技术的一直倒退,JavaScript也在一直地更新迭代。例如,ES6引入了箭头函数、模板字符串、Promise等新个性,使得JavaScript更加简洁、易读、易保护。同时,越来越多的前端框架和库,如Vue.js、React等,也在一直地涌现,为Web前端开发提供更加便捷的形式。 总之,JavaScript曾经成为了Web前端开发中十分重要的一部分。把握JavaScript能够使得咱们更好地构建Web页面,实现各种性能和成果。在将来,随着技术的倒退,JavaScript将会变得更加弱小、高效。因而,学习JavaScript对于Web前端开发人员来说是十分必要的。

May 1, 2023 · 1 min · jiezi

关于自然语言:第一届多模态自然语言处理研讨会精彩回顾免费获取PPT

近年来,人工智能 (AI) 在波及繁多模态如语音、自然语言和视觉等畛域,获得了重大突破。在繁多模态的工作上,如物体辨认、语音辨认、机器翻译等,AI 零碎在特定数据集上的体现程度与人类相当。随着单模态人工智能潜在问题的解决,钻研人员意识到更高层次的AI工作往往波及到跨多种模式的更简单的信息处理。同时,局限于繁多模态的钻研往往不能充分利用跨模态信息。因而,钻研多模态建模与学习办法具备重要的意义。 在近期举办的国内自然语言解决与中文计算会议 (NLPCC 2020)上,  京东智联云举办了第一届“多模态自然语言解决研讨会”。该研讨会邀请了多位学术大咖进行学术分享,吸引了自然语言解决、多模态、图像处理等多畛域泛滥学者参加。各位学者就跨语言跨模态信息处理、多模态预训练、AI与艺术、视觉与语言交互、多模态对话零碎等畛域的钻研热点和技术利用展开讨论,反应热烈。 多模态已成为新闻报道和信息交换的次要出现模式,多模态主动摘要技术,旨在利用计算机主动实现从多个模态的信息中压缩生成摘要的过程,能够广泛应用于新闻推送和电商举荐等多个畛域。 在本次研讨会中,来自中科院自动化所的研究员张家俊老师,为大家介绍其所在的课题组近年来在多模态摘要办法和评估等方面的研究进展。张老师重点介绍了异源多模态摘要生成的钻研办法变迁:从抽取式办法到生成式办法,再到目前融入多模态注意力机制的图文式摘要生成办法等。同时,张老师也介绍了多模态主动摘要的主动评估办法: 综合思考文本和图片重要性以及文本图片相关性更加贴近人工打分。 ▲以上是张家俊老师分享局部PPT,残缺50页PPT,关注公众号在后盾回复“NLPCC”,获取下载链接▲ 预训练模型的呈现,使自然语言解决由原来的手工调参、依附机器学习专家的阶段,进入到能够大规模、可复制的大工业施展阶段。此阶段基于预训练模型+微调机制,具备很高的可扩展性,展现出很高后劲。而以后钻研也从繁多语言扩大到多模态。 微软亚洲研究院的高级研究员段楠博士为大家介绍了多模态预训练模型的最新研究进展。他首先回顾典型的预训练模型。随后,重点介绍3种最新的多模态预训练模型:Unicoder次要利用于跨语言的语言了解和生成工作;Unicoder VL专一于视频语言工作,对视频片段和对应的自然语言形容进行联结建模;CodeBERT则关注在代码语言工作的。段博士也和与会学者一起探讨以后多模态预训练的问题和可能的将来方向。 ▲以上是段楠博士分享局部PPT,残缺40页PPT,关注公众号在后盾回复“NLPCC”,获取下载链接▲ “AI+艺术是一个跨界畛域。艺术家的想象力往往启发着科学家的创造力,而在AI时代,艺术家用人工智能机器学习相干技术来创作艺术,表白本人的想法和概念,设计师用神经网络模型发明本人的设计工具和助手。” 清华大学将来实验室博士后顶峰分享了AI技术在艺术与设计畛域的创新性利用。其团队开发的道子智能绘画零碎,利用计算机将天然图像以格调迁徙的形式转变成艺术图像,依据所得艺术图像进行水墨画绘作,实现技术与艺术间的跨界交融。高博士也介绍了道子在服装设计、工业设计、安装艺术等畛域的摸索成绩。 多模态智能剖析是近期的钻研热点。来自北航的刘偲传授围绕视觉和语言的交互介绍两方面的内容进行了分享。她首先介绍了视觉关系检测的钻研,包含人-物关系检测,人-物关系宰割,视频关系检测等方面的内容。其次,她指出视觉指代表达和指代宰割,对于智能机器人和交互式图像编辑等理论利用有重要意义。传统的视觉指代表达方法采纳两阶段式架构,模型简单且速度受限,而传统的指代宰割办法聚焦于多模态特色交融,不足利用语言信息进行上下文建模和推理的能力。在本次探讨中,她给出了针对性的解决办法。 ▲以上是刘偲传授分享的局部PPT,残缺43页PPT,关注公众号在后盾回复“NLPCC”,获取下载链接▲ 对话零碎始终是自然语言了解畛域一个重要的钻研内容,它能够使人们更便捷的与机器进行交互,而多模态的对话零碎是十分重要的一个钻研方向。 安全寿险AI研发团队的杨海钦博士,分享了多模态对话零碎在安全人寿的各种场景的利用,包含保单回访服务和视频柜员客服等。在本次讲座中,杨博士重点介绍多模态对话零碎的外围和翻新技术,理论部署教训以及如何利用该零碎来升高经营老本,同时减少用户体验。 ▲以上是杨海钦博士分享的局部PPT,残缺44页PPT,关注公众号后盾回复“NLPCC”,获取下载链接▲ 此次NLPCC 会议中,京东智联云胜利举办了第一届“多模态自然语言解决研讨会”,吸引泛滥参会学者的积极参与和热烈探讨。同时京东AI研究院NLP算法科学家吴友政博士受大会邀请作“智能人机交互及其利用”的主题分享。另外京东AI研究院一篇论文《Enhancing Multi-turn Dialogue Modeling with Intent Information for E-Commerce Customer Service》被大会收录并进行口头汇报。开发者社区将会在之后对该论文进行深度解读,敬请期待! 如何获取 PPT 资源? 扫描下方二维码 关注“京东智联云开发者“公众号 在微信公众号对话框中回复 “NLPCC” ...

November 5, 2020 · 1 min · jiezi

一文纵览自然语言生成的发展

摘要: 从马尔科夫链到Transformer,本文带您纵览自然语言生成的发展。人们对人工智能的兴趣随着科幻电影的诞生和发展变得愈发浓厚。每当我们听到“人工智能”这个词,便会联想到《终结者》、《黑客帝国》、《我,机器人》等电影。机器人具有独立思考的能力在目前看来还比较遥远,但机器学习和自然语言理解领域已经在过去几年取得了重大进展。个人助理(Siri/Alexa)、聊天机器人及问答机器人等应用程序正悄无声息地改变着人们的生活方式。人们需要理解大量有歧义且结构多变的语言并从中获取意义,这促使自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation, NLG)成为人工智能中发展最快的应用。Gartner预测,“到2019年,自然语言生成将是90%的现代BI和分析平台的标准特征”。本文将回顾NLG的历史,并展望其未来。什么是NLG?NLG通过预测句子中的下一个单词传达信息。使用语言模型能够预测下一个可能出现的单词,也就是找到单词在序列中的概率分布。举个例子,预测“I need to learn how to __”的下一个单词,语言模型会计算下一个单词,如“write”,“drive”可能出现的概率。RNNs及LSTMs等高级神经网络能够处理较长的句子,提高了语言模型预测的准确性。马尔可夫链(Markov Chains)马尔可夫链是最早用于语言生成的算法。它通过当前单词预测句子中的下一个单词。举个例子,模型通过下面两个句子进行训练,“I drink coffee in the morning”和“I eat sandwiches with tea”。“drink”后面出现“coffee”的概率是100%,“I”后面出现“eat”和“drink”的概率分别为50%。马尔可夫链在计算下一个单词出现概率的时候,会把每个单词之间的关系考虑进去。该模型最早用于为智能手机输入句子提供下一个单词生成建议。但由于仅注意当前单词,马尔可夫模型无法探测当前单词与句子中其它单词的关系以及句子的结构,使得预测结果不够准确,在许多应用场景中受限。循环神经网络(Recurrent Neural Network, RNN)神经网络启发于人类大脑的工作原理,通过对输入和输出数据之间的非线性关系进行建模,为计算提供了一种新的方法,用于语言建模即称为神经语言建模。RNN是神经网络的一种,它能够捕捉输入数据的序列特征。通过前馈网络处理序列中的每一个item,并将模型的输出作为序列的next item,此过程能够帮助存储前面每步的信息。这样的“记忆”使得RNN在语言生成中有着出色的表现,因为记住过去的信息能够帮助更好的预测未来。与马尔可夫链不同的是,在进行预测时,RNN不仅关注当前单词,还关注已经处理过的单词。利用RNN进行语言生成在RNN的每一次迭代中,模型都能在其“记忆”单元中存储出现过的单词,以及计算下一个单词出现的概率。举个例子,有“We need to rent a __”,此时要预测句子中的下一个单词。模型能够记住在词典中每个单词随前面单词出现的概率。在上述例子中,“house”或者“car”比“river”和“dinner”有着更高的出现概率。“记忆”单元选择概率更高的单词,并对其进行排序,然后进行下一次迭代。但RNN有一个很大的问题——梯度消失。随着序列长度的增加,RNNs不能存储那些很久前遇到的单词,便只能根据最近的单词进行预测。这使得RNNs无法应用于生成连贯的长句子。长短期记忆网络(Long Short-Term Memory, LSTM)长短期记忆网络是RNNs的变体,比vanilla RNNs更适合处理长序列。LSTM应用广泛,其与RNNs的结构类似。不同的是,RNNs只有一个简单的层结构,而LSTM内部有4个层结构。一个LSTM由4部分组成:cell,输入门,输出门以及遗忘门。利用LSTM进行语言生成示例,输入句子为“I am from Spain. I am fluent in ___”。为了正确预测出下一个单词“Spanish”,LSTM会更加关注上一句中的“Spain”并且利用cell对其进行记忆。在处理序列时cell会对获取的信息进行存储,这些信息会用于预测下一个单词。当遇到句号时,遗忘门会意识到句子中的上下文发生了改变,并忽略当前cell中存储的状态信息,换句话说,遗忘门的作用是让循环神经网络“忘记”之前没有用到的信息。LSTM及其变体能够解决梯度消失问题并生成连贯的句子。但是,LSTM也有其局限性:计算要求高,难以训练。TransformerTransformer在2017年,由Google团队在论文《Attention Is All You Need》中首次提出,并涉及到一种名为“self-attention mechanism”的新方法。Transformers目前广泛用于解决NLP问题,例如语言建模,机器翻译以及文本生成等。Transformer模型由一组编码器和一组解码器组成,前者负责处理任意长度的输入,后者负责输出生成的句子。在上述示例中,编码器处理输入句子,并为其生成表示。解码器利用表示生成用于输出的句子。每个单词最初的表示或嵌入由空心圆表示。接下来,Transformer模型利用self-attention机制获取所有其他单词之间的关系,生成每个单词的新表示,如图中的实心圆。对每个单词重复该步骤,连续生成新的表示,类似地,解码器从左往右依次生成单词。与LSTMs不同的是,Transformer需要的步骤少,应用self-attention机制能够在不考虑单词位置的情况下,直接捕捉句子中所有单词之间的关系。最近,许多研究学者对vanilla transformer模型进行了改进,提升了速度与精度。在2018年,谷歌提出BERT模型,此模型在各种NLP任务中均取得了最先进的结果。在2019年,OpenAI发布了一个基于transformer的语言模型,只需要输入几行文本就可以生成长篇文章。利用Transformers进行语言生成Transformer模型同样可以用于语言生成,最著名的要数OpenAI提出的GPT-2语言模型。该模型通过将注意力集中在与预测下一个单词相关的单词上,更好的学习并预测句子中的下一个单词。使用Transformer进行文本生成与机器翻译所遵循的结构类似。举个例子,“Her gown with the dots that are pink, white and ____”。通过利用self-attention机制对前面所出现的颜色(白色和粉色)进行分析,理解需要预测的单词也是一种颜色,此时模型的输出为“blue”。Self-attention能够帮助模型选择性地关注每一个单词在句子中担任的角色,而不仅仅是通过循坏记住些许特征。语言生成的未来本文带我们纵览了语言生成的发展,从利用马尔可夫链预测下一个单词,到使用self-attention生成连贯的文章。但是,我们仍处于生成语言建模的初期,今后还会往自主生成文本的方向迈进。生成模型也将用于图像、视频、音频等内容的开发。本文作者:【方向】阅读原文本文为云栖社区原创内容,未经允许不得转载。

March 25, 2019 · 1 min · jiezi

迁移学习NLP:BERT、ELMo等直观图解

摘要: 图解,2018年自然语言处理领域最成功的方向!2018年是自然语言处理的转折点,能捕捉潜在意义和关系的方式表达单词和句子的概念性理解正在迅速发展。此外,NLP社区已经出现了非常强大的组件,你可以在自己的模型和管道中自由下载和使用(它被称为NLP的ImageNet时刻)。在这个时刻中,最新里程碑是发布的BERT,它被描述NLP一个新时代的开始。BERT是一个模型,它打破了前几个模型处理基于语言的任务的记录。该模型的论文发布后不久,团队还开放了该模型的代码,并提供了已经在大量数据集上预先训练过的模型的下载版本。这是一个重大的发展,因为它使任何人都可以构建一个涉及语言处理的机器学习模型,他们成功的将这个强大的工具变成了一个易于使用的组件,从而节省了训练NLP模型所需的时间,精力和资源。BERT是建立在最近NLP社区中涌现的一些聪明的想法之上,包括但不限于半监督序列学习(Andrew Dai和Quoc Le)、<u style=“box-sizing: border-box;">ELMo</u>(由Matthew Peters和来自AI2的研究人员和UW CSE),ULMFiT(由fast.ai创始人Jeremy Howard和Sebastian Ruder提供)和OpenAI转换器(由OpenAI研究人员Radford,Narasimhan,Salimans和Sutskever提供)和Transformer(Vaswani等人)。需要注意的一些概念才能完全了解BERT的内容。因此,让我们首先看一下在查看模型本身所涉及的概念之前可以使用BERT的场景。示例:句子分类BERT最擅长的是分类单个文本,这个模型看起来像这样:为了训练这样的模型,你必须训练分类器,在训练阶段BERT模型发生的变化很小。该过程称为微调,并且整个过程是源于半监督序列学习和ULMFiT。既然我们在讨论分类器,那么我们就处于机器学习的监督学习领域。这意味着我们需要一个标记的数据集来训练这样的模型。以垃圾邮件分类器示例,标记的数据集将是电子邮件和标签的列表(“垃圾邮件”或“非垃圾邮件”)。这种用例的其他示例包括:1、情绪分析输入:电影/产品评论。输出:评论是正面还是负面?示例数据集:SST2、事实查证输入:句子。输出:“索赔”或“不索赔”更夸张/前沿的例子:输入:是否进行索赔。输出:“真”或“假”Full Fact是一个为公众利益建立自动事实检查工具的组织。他们的部分管道其实是一个分类器,它可以读取新闻文章并检测声明(将文本分类为“声明”或“不声明”),以此进行事实验证。模型架构现在你已经了解了如何使用BERT的用例,接下来让我们仔细看看它是如何工作的。首先介绍BERT的两种型号:l BERT BASE:与OpenAI Transformer的尺寸相当,性价比很高;l BERT LARGE:一个非常庞大的模型,它的性能最好;BERT基本上是训练有素的转换器(Transformer)编码器堆栈。现在是你阅读The Illustrated Transformer的好时机,该文章解释了Transformer模型-BERT的基本概念以及我们接下来要讨论的概念。两种BERT模型都有大量的编码器层(本文称之为Transformer Blocks),其中Base版本为12个,Large版本为24个。它们还具有更大的前馈网络(分别为768和1024个隐藏单元)以及比初始论文中的转换器更多attention heads(分别为12和16)(初始论文的转换器中有6个编码器层,512个隐藏单元,和8个attention heads)。模型输入第一个接口输入提供了一个特殊的接口[CLS],原因将在后面变得明显,CLS在这里代表分类。就像转换器的香草编码器一样,BERT采用一系列字作为输入。每一层都应用自我关注,并通过前馈网络传递其结果,然后将其交给下一个编码器。在架构方面,到目前为止,这与转换器完全相同。模型输出每个位置输出大小为hidden_size的矢量(BERT Base中的768)。对于我们上面看过的句子分类示例,我们只关注第一个位置的输出(我们将特殊的接口[CLS]标记传递到)。该向量现在可以用作我们选择的分类器的输入,通过使用单层神经网络作为分类器,这样效果就能达到我们想要的。如果你有更多标签(例如,如果你是使用“垃圾邮件”,“非垃圾邮件”,“社交”和“促销”标记电子邮件),你只需调整分类器网络以获得更多输出神经元即可,然后通过softmax。卷积网相似操作对于那些具有计算机视觉背景的人来说,这个矢量切换应该让人联想到VGGNet等网络的卷积部分与网络末端的完全连接的分类部分之间发生的事情。嵌入(Embedding)的新时代到目前为止,词嵌入一直是影响NLP模型处理语言的主要力量。Word2Vec和Glove等方法已被广泛用于此类任务。让我们回顾一下之前是如何使用它们的。Word嵌入是个啥?对于要由机器学习模型处理的词,它们需要以某种形式的数字表示,这样模型才可以在计算中使用。Word2Vec让我们可以使用一个向量(一个数字列表)以一种捕获语义相关关系的方式正确表示单词(例如,判断单词是相似的,判断还是在它们之间具有的关系,如“开罗”和“埃及”之间的关系)以及句法或基于语法的关系(例如“was”和“is”之间的关系)。该领域的研究者很快意识到,使用经过大量文本数据预训练的嵌入技术,而不将模型与经常是小型数据集的模型一起训练,这是一个好主意。因此,你可以下载Word2Vec或GloVe预训练生成的单词列表及其嵌入。ELMo:语境问题如果我们使用GloVe,那么“stick”这个词将由一个向量表示,无论上下文是什么。但是,许多NLP研究人员(Peters等人,2017年,McCann等人,2017年及Peters等人,2018年在ELMo论文中)发现“stick”有多个含义,这取决于它的使用位置。为什么不根据它所使用的上下文给它一个嵌入呢?这样既捕获该上下文中的单词含义以及其他上下文信息。因此,语境化嵌入词诞生了!语境化词嵌入可以根据它们在句子的上下文中携带的含义给出单词不同的嵌入ELMo不是对每个单词使用固定嵌入,而是在为其中的每个单词分配嵌入之前查看整个句子,它使用在特定任务上训练的双向LSTM来创建这些嵌入。ELMo在NLP背景下向预训练迈出了重要一步。ELMo LSTM将使用我们数据集语言中的大量数据集进行训练,然后我们可以将其用作需要处理语言的其他模型中的组件。ELMo的秘密是什么?ELMo通过训练来预测单词序列中的下一个单词,这是一项称为获得语言理解语言建模的任务。这很方便,因为我们拥有大量的文本数据,这样的模型可以在不需要标签的情况下学习。我们可以看到每个展开的LSTM步骤的隐藏状态都是从ELMo的头部后面突出。在完成预训练之后,这些在嵌入式proecss可以派上用场。ELMo实际上更进一步,因为双向LSTM,这意味着它的语言模型不仅具有下一个词的感觉,而且还有前一个词。ELMo通过以某种方式将隐藏状态(和初始嵌入)组合在一起来提出情境化嵌入(连接后加权求和)。ULM-FiT:在NLP中使用迁移学习ULM-FiT引入了有效利用模型在预训练期间学到的内容的方法,这不仅仅是嵌入,而且是上下文嵌入。ULM-FiT引入了语言模型和流程,从而有效地微调该语言模型以执行各种任务。NLP可能与计算机视觉一样,有了一种方法来进行转移学习。The Transformer:超越LSTMsTransformer论文和代码的发布,以及它在机器翻译等任务上取得的成果开始让一些人认为它们是LSTM的替代品。事实上Transformer比LSTM更好地处理长期依赖性。Transformer的编码器-解码器结构使其非常适合机器翻译。但是你如何将它用于句子分类?你如何使用它来预训练可以针对其他任务进行微调的语言模型(这些任务就是被该领域称为使用预训练模型或组件的监督学习任务)。OpenAI Transformer:预训练用于语言建模的Transformer解码器事实证明,我们不需要整个Transformer来为NLP任务采用转移学习和精细可调语言模型,我们可以只使用Transformer的解码器。解码器是一个很好的选择,因为它是语言建模(预测下一个单词)的必备选择,它是为掩盖未来的接口而构建的。该模型堆叠了十二个解码器层。由于在该设置中没有编码器,因此这些解码器层将不具有香草Transformer解码器层具有的编码器。然而,它仍然会有自我关注层。通过这种结构,我们可以继续在同一语言建模任务上训练模型:使用大量(未标记)数据集预测下一个单词。只是使用7000本书的文字,让它学习!书籍非常适合这类任务,因为它允许模型学习关联相关信息,即使它们被大量文本分开。例如,当你使用推文或文章进行训练时,你无法获得这些信息。现在,OpenAI Transformer已经准备好接受训练,预测由7,000本书组成的数据集上的下一个单词。将学习能力转移到下游任务既然OpenAI Transformer已经过预先训练,并且其层也经过调整以合理地处理语言,我们就可以开始将它用于下游任务。让我们首先看一下句子分类(将电子邮件分类为“垃圾邮件”或“非垃圾邮件”):OpenAI论文概述了许多输入转换,以处理不同类型任务的输入。下图显示了模型的结构和输入转换,以执行不同的任务。BERT:从解码器到编码器openAI的Transformer为我们提供了基于Transformer的可调预训练模型。但是从LSTM到Transformer的过渡中缺少了一些东西,因为ELMo的语言模型是双向的,但openAI的Transformer只训练向前语言模型。我们能否建立一个基于Transformer的模型,其语言模型同时向前和向后?蒙面语言模型(NLM:Masked Language Model)“我们将使用Transformer编码器”,BERT说。“这很疯狂”,Ernie回答说,“每个人都知道双向调节会让每个词在多层次的背景下间接地审视自己。”“我们将使用蒙面工具”,BERT自信地说。找到正确的任务来训练Transformer堆栈的编码器是一个复杂的障碍,BERT通过采用早期文献中的“蒙面语言模型”概念(称为完成任务)来解决。除了掩盖15%的输入之外,BERT还混合了一些东西,以改善模型后来如何微调。有时它会随机用另一个单词替换一个单词,并要求模型预测该位置的正确单词。两个句子的任务(Two-sentence Tasks)如果你回顾一下OpenAI的Transformer处理不同任务的输入变换,你会注意到一些任务要求模型具有说出两个句子的能力(例如,它们是否只是对方的复述?给出一个维基百科条目作为输入,以及关于该条目作为另一个输入的问题。)。为了使BERT更好地处理多个句子之间的关系,预训练过程包括一个额外的任务:给定两个句子(A和B),B可能是跟随A的句子,或不是?特定任务-模型BERT论文展示了将BERT用于不同任务的多种方法。BERT用于特征提取微调不是使用BERT的唯一方法。就像ELMo一样,你可以使用预先训练的BERT来创建语境化词嵌入。然后,你可以将这些嵌入提供给现有模型-该过程论文已经证实可以产生结果,在命名实体识别等任务上应用微调BERT并不远。哪个向量最适合作为上下文嵌入?我认为这取决于任务。我们考察了六种选择(与微调模型相比,得分为96.4):BERT延伸使用BERT的最佳方式是通过BERT FineTuning与Google Colab托管的Cloud TPU笔记本。如果你之前从未使用过云TPU,那么这也是尝试它们的良好起点,以及BERT代码也适用于TPU,CPU和GPU。下一步是查看BERT仓库中的代码:l 该模型在modeling.py(class BertModel)中构建,与vanilla Transformer编码器完全相同。l run_classifier.py是微调过程的一个示例。它还构建了监督模型的分类层,如果要构建自己的分类器,请查看create_model()该文件中的方法。l 可以下载几种预先训练的模型,它们跨越了BERT Base和BERT Large,以及英语,中文等语言,以及涵盖102种语言的多语言模型,这些语言在维基百科上进行了训练。l BERT不会将单词视为标记,相反,它注意者WordPieces。tokenization.py是将你的单词转换为适合BERT的wordPieces的标记器。l 你还可以查看BERT的PyTorch实现。该AllenNLP库使用此实现允许使用的嵌入BERT与任何模型。本文作者:【方向】阅读原文本文为云栖社区原创内容,未经允许不得转载。

December 13, 2018 · 1 min · jiezi

傻瓜神经网络入门指南

摘要: 现在网络上充斥着大量关于神经网络的消息,但是,什么是神经网络?其本质到底是什么?用几分钟阅读完这篇文章,我不能保证你能够成为这个领域的专家,不过你已经入门了。现在网络上充斥着大量关于神经网络的消息,但是,什么是神经网络?其本质到底是什么?你是不是对这个熟悉又陌生的词感到困惑?用几分钟阅读完这篇文章,我不能保证你能够成为这个领域的专家,但可以保证的是,你已经入门了。什么是神经网络?想要透彻的了解神经网络,我们首先要知道什么是机器学习。为了更好的理解机器学习,我们首先谈谈人的学习,或者说什么是“经典程序设计”。在经典的程序设计中,作为一名开发人员,我需要了解所要解决的问题的各个方面,以及我要以什么规则为基础。举个例子来说,假设我要设计一个能够区别正方形和圆形的程序。处理方法则是编写一个可以检测到角的程序,然后计算角的数量。如果程序能检测到4个角,那么图形为正方形;如果角的个人为0,则为圆形。那么这个机器学习有何关系?一般来说,机器学习=从示例中学习。在机器学习中,该如何区别正方形和圆形呢?这时候,我们就要设计一个学习系统,将许多形状及类别不同的图形作为输入,然后我们希望机器能够自己学习形状及类别,然后识别出不同图形的不同特性。一旦机器学会了这些属性,我们就可以输入一个新的图形(机器以前没见过的图形),然后机器对这些图形进行分类。什么是神经网络?在神经网络中,神经元是一个很奇特的名字,比较类似于函数。在数学和计算机领域,函数可以接受某个输入,经过一系列的逻辑运算,输出结果。更重要的是,我们可以将神经元看做一个学习单元。因此,我们需要理解什么是学习单元,然后再了解神经网络的基本构建块,即神经元。为了更好的理解,假设我们试图理解博客文章中单词数量与人们实际从博客中读取单词数量之间的关系。请记住一点,在机器学习领域,我们从示例中学习。因此,我们用x表示机器收集到文章的单词数量,用y表示人们实际读到的单词数,它们之间的关系用f表示。然后,我只需要告诉机器(程序)我希望看到的关系(比如直线关系),机器再将会理解它所需要绘制的线。我在这里得到了什么?下次我想写一篇包含x个单词的文章时,机器可以根据对应关系f找到人们真正能阅读到的单词数y。那么,神经网络到底是什么?如果一个神经元是一个函数,那么神经网络就是一个函数网络,也就是说,我们有很多个这样的功能(比如学习单元),这些学习单元的输入和输出相互交织,相互之间也有反馈。作为一名神经网络的设计人员,我的主要工作就是:1.如何建模输入和输出?例如,如果输入是文本,我可以用什么建模?数字?还是向量?2.每个神经元有哪些功能?(它们是线性?还是指数?…)3.神经网络的架构是什么?(即哪个函数的输出是哪个函数的输入?)4.我可以用哪些通俗易懂的词来描述我的网络?一旦我回答了以上这些问题,我就可以向网络“展示”大量具有正确输入和输出的例子,神经网络学习后,当我再次输入一个新的输入时,神经网路就会有个正确的输出。神经网络的学习原理超出了本文索要描述的范围,想要了解更多内容,请点击这里。另外你可以去神经网络专题,来更透彻的了解神经网络。神经网络的学习是件永无止境时,这个领域的知识呈爆炸性增长,每时每刻都会有新的知识和内容更新。最后,我贴出来一些个人认为比较好的帖子供你学习:1.Gal Yona ——我最喜欢的博主之一。她的文章涵盖了核心技术解释到半哲学评论。2.Siraj Raval——拥有大量视频的YouTuber,从理论解释到动手实践教程,应有俱有!3.Christopher Olah ——一位充满激情和洞察力的研究员,他的博客涵盖了神经网络的基础到深入探索。4.Towards Data Science 是神经网络领域中最大的Medium出版物,建议你每天抽出几分钟的时间来阅读,你会获得意想不到的收获。本文作者:【方向】阅读原文本文为云栖社区原创内容,未经允许不得转载。

December 6, 2018 · 1 min · jiezi