1. BERT简介 Transformer架构的出现,是NLP界的一个重要的里程碑.它激发了很多基于此架构的模型,其中一个非常重要的模型就是BERT. BERT的全称是Bidirectional Encoder Representation from Transformer,如名称所示,BERT仅使用了Transformer架构的Encoder部分.BERT自2018年由谷歌发布后,在多种NLP任务中(例如QA.文本生成.情感分析等等)都实现了更好的结果. BERT的效果如此优异,其中一个主要原…
1. 预训练的BERT模型 从头开始训练一个BERT模型是一个成本非常高的工作,所以现在一般是直接去下载已经预训练好的BERT模型.结合迁移学习,实现所要完成的NLP任务.谷歌在github上已经开放了预训练好的不同大小的BERT模型,可以在谷歌官方的github repo中下载[1]. 以下是官方提供的可下载版本: 其中L表示的是encoder的层数,H表示的是隐藏层的大小(也就是最后的前馈网络中的神经元个数,等同于特征输出维度). 除此之外,谷歌还提供了BERT-uncased与BERT-c…
1. 什么是BERT BERT的全称是Bidirectional Encoder Representation from Transformers,是Google2018年提出的预训练模型,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的.模型的主要创新点都在pre-train方法上,即用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation. Bert最近很火,应该是最近最火爆的A…
1. 自然语言处理简介 根据工业界的估计,仅有21% 的数据是以结构化的形式展现的[1].在日常生活中,大量的数据是以文本.语音的方式产生(例如短信.微博.录音.聊天记录等等),这种方式是高度无结构化的.如何去对这些文本数据进行系统化分析.理解.以及做信息提取,就是自然语言处理(Natural Language Processing,NLP)需要做的事情. 在NLP中,常见的任务包括:自动摘要.机器翻译.命名体识别(NER).关系提取.情感分析.语音识别.主题分割,等等-- 在NLP与深度学习系…
1. Transformer模型 在Attention机制被提出后的第3年,2017年又有一篇影响力巨大的论文由Google提出,它就是著名的Attention Is All You Need[1].这篇论文中提出的Transformer模型,对自然语言处理领域带来了巨大的影响,使得NLP任务的性能再次提升一个台阶. Transformer是一个Seq2Seq架构的模型,所以它也由Encoder与Decoder这2部分组成.与原始Seq2Seq 模型不同的是:Transformer模型中没有RN…
BERT 预训练模型及文本分类 介绍 如果你关注自然语言处理技术的发展,那你一定听说过 BERT,它的诞生对自然语言处理领域具有着里程碑式的意义.本次试验将介绍 BERT 的模型结构,以及将其应用于文本分类实践. 知识点 语言模型和词向量 BERT 结构详解 BERT 文本分类 BERT 全称为 Bidirectional Encoder Representations from Transformer,是谷歌在 2018 年 10 月发布的语言表示模型.BERT 通过维基百科和书籍语料组成的庞…
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 textCNN 模型 charCNN 模型 Bi-LSTM 模型 Bi-LSTM + Attention 模型 RCNN 模型 Adversarial LSTM 模型 Transformer 模型 ELMo 预训练模型 BERT 预训练模型 所有代码均在textClassifier仓库中. 2 数据集…
在NLP中深度学习模型何时需要树形结构? 前段时间阅读了Jiwei Li等人[1]在EMNLP2015上发表的论文<When Are Tree Structures Necessary for Deep Learning of Representations?>,该文主要对比了基于树形结构的递归神经网络(Recursive neural network)和基于序列结构的循环神经网络(Recurrent neural network),在4类NLP任务上进行实验,来讨论深度学习模型何时需要树形结…
0.前言 深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新ing) NLP机器翻译深度学习实战课程·零(基础概念) NLP机器翻译深度学习实战课程·壹(RNN base) NLP机器翻译深度学习实战课程·贰(RNN+Attention base) NLP机器翻译深度学习实战课程·叁(CNN base) NLP机器翻译深度学习实战课程·肆(Self…
深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新ing) NLP机器翻译深度学习实战课程·零(基础概念) NLP机器翻译深度学习实战课程·壹(RNN base) NLP机器翻译深度学习实战课程·贰(RNN+Attention base) NLP机器翻译深度学习实战课程·叁(CNN base) NLP机器翻译深度学习实战课程·肆(Self-Atte…
本文记录使用BERT预训练模型,修改最顶层softmax层,微调几个epoch,进行文本分类任务. BERT源码 首先BERT源码来自谷歌官方tensorflow版:https://github.com/google-research/bert 注意,这是tensorflow 1.x 版本的. BERT预训练模型 预训练模型采用哈工大讯飞联合实验室推出的WWM(Whole Word Masking)全词覆盖预训练模型,主要考量是BERT对于中文模型来说,是按照字符进行切割,但是注意到BERT随机…
google的bert预训练模型: BERT-Large, Uncased (Whole Word Masking): 24-layer, 1024-hidden, 16-heads, 340M parameters BERT-Large, Cased (Whole Word Masking): 24-layer, 1024-hidden, 16-heads, 340M parameters BERT-Base, Uncased: 12-layer, 768-hidden, 12-heads,…
本节主要学习Keras的应用模块 Application提供的带有预训练权重的模型,这些模型可以用来进行预测,特征提取和 finetune,上一篇文章我们使用了VGG16进行特征提取和微调,下面尝试一下其他的模型. 模型的预训练权重将下载到 ~/.keras/models/ 并在载入模型时自动载入,当然我们也可以下载到自己的目录下,但是需要去源码修改路径. 模型的官方下载路径:https://github.com/fchollet/deep-learning-models/releases Te…
~~因为不太会使用opencv.matlab工具,所以在找一些比较简单的工具. . . 一.NLP标注工具BRAT BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的标注结果能够把无结构化的原始文本结构化,供计算机处理.利用该工具可以方便的获得各项NLP任务需要的标注语料.以下是利用该工具进行命名实体识别任务的标注例子. WeTest舆情团队在使用:http://wetest.qq.com/bee/ 使用案例:http://blog.csdn.net/oweng…
这个github感觉很不错,把一些比较新的实现都尝试了: https://github.com/brightmart/text_classification fastText TextCNN TextRNN RCNN Hierarchical Attention Network seq2seq with attention Transformer("Attend Is All You Need") Dynamic Memory Network EntityNetwork:trackin…
1. 循环神经网络 在介绍循环神经网络之前,我们先考虑一个大家阅读文章的场景.一般在阅读一个句子时,我们是一个字或是一个词的阅读,而在阅读的同时,我们能够记住前几个词或是前几句的内容.这样我们便能理解整个句子或是段落所表达的内容.循环神经网络便是采用的与此同样的原理. 循环神经网络(RNN,Recurrent Neural Network)与其他如全连接神经网络.卷积神经网络最大的特点在于:它的内部保存了一个状态,其中包含了与已经查看过的内容的相关信息. 下面便先以SimpleRNN为例,介绍这…
    上一篇写了一下rpc调用过程的实现方式,简单来说就是服务端把实现了接口的结构体对象进行反射,抽取方法,签名,保存,客户端调用的时候go-micro封请求数据,服务端接收到请求时,找到需要调用调用的对象和对应的方法,利用反射进行调用,返回数据. 但是没有说stream的实现方式,感觉单独写一篇帖子来说这个更好一些.上一篇帖子是基础,理解了上一篇,stream实现原理一点即破.先说一下使用方式,再说原理. 当前go-micro对 rpc 调用的方式大概如下: 普通的rpc调用 是这样: 1.…
NLP论文解读 原创•作者 |FLIPPED 研究背景 随着计算算力的不断增加,以transformer为主要架构的预训练模型进入了百花齐放的时代.BERT.RoBERTa等模型的提出为NLP相关问题的解决提供了极大的便利,但也引发了一些新的问题. 首先这些经过海量数据训练的模型相比于一般的深度模型而言,包含更多的参数,动辄数十亿.在针对不同下游任务做微调时,存储和训练这种大模型是十分昂贵且耗时的. 尤其对于机器翻译任务而言,如果针对一对语言对就需要存储和微调这样一个"庞然大物",显然…
“最近刚好在用ERNIE写毕业论文” “感觉还挺厉害的” “为什么叫ERNIE啊,这名字有什么深意吗?” “我想让艾尼帮我写作业” 看了上面火热的讨论,你一定很好奇“艾尼”.“ERNIE”到底是个啥? 自然语言处理( Natural Language Processing,简称NLP )被誉为人工智能“皇冠上的明珠”.NLP为各类企业及开发者提供用于文本分析及挖掘的核心工具,已经广泛应用在电商.文化娱乐.金融.物流等行业客户的多项业务中. 而艾尼(ERNIE),可谓是目前NLP领域的最强中文预训…
什么是BERT? BERT,全称是Bidirectional Encoder Representations from Transformers.可以理解为一种以Transformers为主要框架的双向编码表征模型.所以要想理解BERT的原理,还需要先理解什么是Transformers. Transformers简单来说是一个将一组序列转换成另一组序列的黑盒子,这个黑盒子内部由编码器和解码器组成,编码器负责编码输入序列,然后解码器负责将编码器的输出转换为另一组序列.具体可以参考这篇文章<想研究B…
预训练模型 在CV中,预训练模型如ImagNet取得很大的成功,而在NLP中之前一直没有一个可以承担此角色的模型,目前,预训练模型如雨后春笋,是当今NLP领域最热的研究领域之一. 预训练模型属于迁移学习,即在某一任务上训练的模型,经过微调(finetune)可以应用到其它任务上. 在NLP领域,最早的预训练模型可以说是word2vec, Mikolov应用语言模型进行训练,产生的词向量(word embeddings)可以用于其他任务上,这样的词向量在目标任务上,可以固定不变,也可以随着模型训练…
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron Courville Neural Networks and Deep Learning42 by Michael Nielsen Deep Learning27 by Microsoft Research Deep Learning Tutorial23 by LISA lab, University…
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 textCNN 模型 charCNN 模型 Bi-LSTM 模型 Bi-LSTM + Attention 模型 RCNN 模型 Adversarial LSTM 模型 Transformer 模型 ELMo 预训练模型 BERT 预训练模型 所有代码均在textClassifier仓库中. 2 数据集…
推荐系统遇上深度学习(十)--GBDT+LR融合方案实战 0.8012018.05.19 16:17:18字数 2068阅读 22568 推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)--FM模型理论和实践:https://www.jianshu.com/p/152ae633fb00推荐系统遇上深度学习(二)--FFM模型理论和实践:https://www.jianshu.com/p/781cde3d5f3d推荐系统遇上深度学习(三)--DeepFM模型理论和实践:https://www.…
各位20级新同学好,我安排的课程没有教材,只有一些视频.论文和代码.大家可以看看大纲,感兴趣的同学参加即可.因为是第一次开课,大纲和进度会随时调整,同学们可以随时关注.初步计划每周两章,一个半月完成课程. Part 1 : 课程大纲 第一章 绪论 1.1 从专家系统到机器学习 1.2 从传统机器学习到深度学习 1.3 深度学习的能与不能 1.4 pytorch 基础 第二章 神经网络基础 2.1 浅层神经网络:生物神经元到单层感知器,多层感知器,反向传播和梯度消失 2.2 神经网络到深度学习:逐…
NVIDIA TensorRT高性能深度学习推理 NVIDIA TensorRT 是用于高性能深度学习推理的 SDK.此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高吞吐量. 在推理过程中,基于 TensorRT 的应用程序的执行速度可比 CPU 平台的速度快 40 倍.借助 TensorRT,您可以优化在所有主要框架中训练的神经网络模型,精确校正低精度,并最终将模型部署到超大规模数据中心.嵌入式或汽车产品平台中. TensorRT 以 NVIDIA 的并行编程…
##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.com/ty4z2008/Qix/blob/master/dl.md)共500条,[篇目二](https://github.com/ty4z2008/Qix/blob/master/dl2.md)开始更新------#####希望转载的朋友**一定要保留原文链接**,因为这个项目还在继续也在不定期更新.希望看到…
并非广告~实在是太良心了,所以费时间给他们点赞一下~ SuperVessel云平台是IBM中国研究院和中国系统与技术中心基于POWER架构和OpenStack技术共同构建的, 支持开发者远程开发的免费科研云平台.除支持虚拟机和容器服务外还提供:大数据Hadoop,Spark开发环境.Python科学计算开发环境(可替代Matlab).Java Eclipse/Bluefish运行环境.C/C++运行环境 只需任意一个邮箱,1分钟就可以申请到服务器,没见过更快的了-使用之后觉得不足之处: 1.由于…
go微服务框架go-micro深度学习(一) 整体架构介绍 go微服务框架go-micro深度学习(二) 入门例子 go微服务框架go-micro深度学习(三) Registry服务的注册和发现 go微服务框架go-micro深度学习(四) rpc方法调用过程详解 go微服务框架go-micro深度学习(五) stream 调用过程详解 代码在github上…
前言 最近在学深度学习HyperLPR项目时,由于一直没有比较合适的设备训练深度学习的模型,所以在网上想找到提供模型训练,经过一段时间的搜索,最终发现了一个谷歌的产品--Google Colaboratory.它几乎可以实现零成本玩转深度学习,达到快速训练模型的目的. Google Colaboratory是谷歌开放的一款深度学习的研究工具,主要用于深度学习的开发和研究.这款工具现在是可以免费使用,但是暂时还是无法确定是不是永久免费.Google Colab最大的好处是给广大的AI开发者提供了免…