自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(325)
  • 收藏
  • 关注

原创 机器学习 人工智能 博文链接汇总

[入门问题] [TensorFlow] [深度学习] [好玩儿的算法应用实例] [聊天机器人] [神经网络] [机器学习] [机器学习算法应用实例] [自然语言处理] [数据科学] [Python] [Java] [机器学习--初期的笔记] [路线] [软件安装] [面试] 入门问题简单粗暴地入门机器学习机

2017-05-13 23:41:07 14690 18

原创 导读:如何通关自然语言处理面试

让我们先看看一些常见自然语言处理面试题:RNN 为什么会发生梯度消失?如何改进?LSTM 的模型结构是什么?为什么说 LSTM 具有长期记忆功能?LSTM 为什么能抑制梯度衰减?什么是 Word2Vec?如何训练?Word2vec,CBOW 和 Skip-gram 的区别是什么?什么是 seq2seq 模型?有哪些优点?什么是注意力机制?为什么要使用注意力机制,有什么优点?C...

2020-09-22 11:57:45 584

原创 深度学习在自然语言处理中的应用全景图-上

Natural language processing (NLP) 即自然语言处理,它关注的是如何开发实际应用来促进计算机与人类之间的交互语言。 典型应用包括语音识别,口语理解,对话系统,词汇分析,解析,机器翻译,知识图谱,信息检索,问答系统,情感分析,社交计算,自然语言生成和自然语言总结。在过去的五十年里,NLP 经历了三次浪潮,理性主义,经验主义,还有现在的深度学习。在传统的机器学习中,需...

2020-09-22 11:57:44 1142

原创 深度学习在自然语言处理中的应用全景图-下

机器翻译机器翻译研究的是如何使用计算机自动翻译人类语言。深度学习用于机器翻译主要有两类方法:将深度学习用于改进统计机器翻译的各个组件,如词对齐,翻译规则概率估计,短语重新排序模型,语言模型和模型特征组合。基于编码器-解码器框架的端到端翻译系统,可以直接用神经网络将源语言映射到目标语言。端到端神经机器翻译与传统统计机器翻译的主要区别是它可以直接从数据中学习,无需手动设计特征来捕获翻译规...

2020-09-22 11:57:42 800

原创 一文了解深度学习

其实一篇几千字的文章很难将深度学习都讲清楚,不过标题是“了解”,这篇文章的目的就是希望可以给大家带来一个深度学习的整体印象,它是什么,能干什么,处理问题的一般流程是什么,会涉及到的主要概念有哪些,有了这样的基本框架后,这样在后面的实战中,大家可以再回头来比较,看哪些是属于通用流程的,哪些是具体问题所特有的技术技巧。在这篇文章中我们主要有以下内容:什么是深度学习深度学习的简要发展史和机器学...

2020-09-22 11:57:41 624

原创 一文掌握 TensorFlow 基础

在后面的课程中我们将主要使用 TensorFlow 来实现各种模型的应用,所以在本节我们先来看一下 TensorFlow 的基础知识点。TensorFlow 是一个深度学习库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow 即为张量从图的一端流动到另一端。它的一大...

2020-09-22 11:57:39 215

原创 一文掌握 Keras

今天我们来学习一下 Keras。Keras 是一个用 Python 编写的高级神经网络 API,能够用 TensorFlow 或者 Theano 作为后端运行。是由 Francois Chollet 在 Google 工作时开发的,用于构建深度学习模型。Keras 是为了实现快速实验和快速原型设计的,让开发者能够用最短的时间把想法转换为实验结果。用 Keras 可以非常快速地上手深度学习,搭建...

2020-09-22 11:57:38 273

原创 TensorFlow 2.0 Alpha 实用教程

在这篇文章中我们将介绍一下 TensorFlow 2.0 Alpha 的内容,在课程准备的途中赶上了 TensorFlow 的 2019 开发人员峰会,TensorFlow 团队推出了 Alpha 版的 TensorFlow 2.0,我们这门课前一半的代码目前还是 1.x 版本的,在课程结束后会逐渐补充 2.0 版本的代码,在那之前我们先来看一下 TensorFlow 2.0 Alpha 的简易教...

2020-09-22 11:57:36 309

原创 具有记忆能力的 RNN

在导读部分我们提到了序列数据,它的一个重要特性是具有顺序,而 RNN 的记忆性使它可以处理序列数据。现实世界有很多问题的研究对象都是序列数据,尤其是自然语言处理中几乎所有问题都和序列数据相关。段落是句子的序列,句子是单词的序列,单词是字母的序列,音频视频也是由帧组成的序列。在所有这些应用中,序列数据的顺序是很重要的,顺序发生了变化,含义也会发生变化。简单的前馈神经网络处理这类问题是非常受限制...

2020-09-22 11:57:35 606

原创 LSTM 三重门背后的故事

LSTM 三重门背后的故事在前面的文章中我们知道了基本的 RNN 很容易出现梯度消失的问题,并且列出了梯度消失的几个解决方案,其中包括 LSTM 模型,今天就来看看 LSTM 是怎样解决这个问题的。本文知识点:LSTM 的结构为什么 LSTM 要有三重门?如何将三道门相连?LSTM 的前向计算反向传播LSTM 是如何解决梯度消失的在文章的末尾会列出几个关于 LSTM 的面试...

2020-09-22 11:57:33 523

原创 用 LSTM 预测股票价格

今天我们将用 LSTM 来预测时间序列数据。代码包括两个版本,第一个是 TensorFlow 1,第二个是 Keras 的,二者有很多地方是差不多的,在 TensorFlow 中给出了很详细的解释,在 Keras 中会主要解释区别之处。时间序列是指由依赖于时间顺序的离散值或连续值所组成的序列。对这类数据来说时间是一个很重要的特征,我们在生活中处处可见这样的数据,例如气温、心电图、物价、每天的销售...

2020-09-22 11:57:32 1497

原创 用 RNN 建立语言模型

用 RNN 建立语言模型今天来看循环神经网络的一个重要的应用:语言模型。本文结构:什么是语言模型?语言模型的应用?为什么用基于 RNN 的语言模型?RNN 是如何实现语言模型的?RNN 是如何实现 character-level 语言模型的?character-level 语言模型的具体应用:生成莎士比亚风格的文本1. 什么是语言模型?语言模型,它的任务是要估计一个单词...

2020-09-22 11:57:30 742

原创 word2vec:基于层级 softmax 和负采样的 CBOW

今天我们来看一下 word2vec,它是自然语言处理中非常重要的概念,是一种用语言模型做词嵌入的算法,目的就是将文字转化为更有意义的向量,进而可以让深度神经网络等模型更好地理解文本数据。词嵌入词嵌入(Word Embeddings)就是将文本转化为数字表示,转化成数值向量后才能传递给机器学习等模型进行后续的训练和运算,并应用于情感分析文档分类等诸多任务中。词嵌入的方法主要有两大类:基于传统频...

2020-09-22 11:57:28 763

原创 word2vec:基于层级 softmax 和负采样的 Skip-Gram

Skip-Gram前一篇,我们学习了什么是 CBOW,今天来看 Skip-Gram,它是 word2vec 的另一种训练思路。Skip-Gram 和 CBOW 的思路是相反的,CBOW 是由上下文得到中心词,而 Skip-Gram 是由中心词预测上下文。所以 Skip-Gram 的模型输入是一个中心词的词向量,输出是中心词的上下文向量。不过它并不是对 CBOW 模型的简单的颠倒,而是用一个...

2020-09-22 11:57:27 731

原创 详解 GloVe 的原理和应用

前面我们学习了 word2vec 的两种训练模型:CBOW 和 Skip-Gram,这两种都是通过一个神经网络学习出单词的词向量,今天我们来学习另外一个学习词向量的模型 GloVe,全称叫 Global Vectors for Word Representation,它是一个基于全局词频统计的词表征工具,属于非监督式学习方法。word2vec 是深度学习中比较主流的词嵌入方法,后来在 2014 ...

2020-09-22 11:57:25 2860

原创 用 word2vec 进行文档聚类

在前面几篇文章中我们学习了 word2vec 的两种模型 CBOW 和 Skip-Gram,了解了它们的基本原理,数学思想,还有代码实现。word2vec 有很多优点,它的概念比较容易理解,训练速度快,既适用于小数据集也适用于大数据集,在捕获语义相似性方面做得很好,而且是一种非监督式学习方法,不需要人类标记数据。当然也有一些不足,如虽然易于开发,但难以调试;如果一个单词有多种含义,嵌入向量只能...

2020-09-22 11:57:23 1748

原创 LSTM 的几种改进方案

在前面我们很细致地介绍了基本 LSTM 的理论,其实学者们还提出了多种 LSTM 的变种,如 Coupled LSTM、Peephole LSTM、GRU 等等,今天就来看看其中两个比较流行的变体 Peephole connections 和 GRU,它们都可应对梯度消失问题,也都可用于构建深度神经网络,此外我们还会学习一个高效的搜索策略 Beam Search。首先来回顾一下 LSTM 的结构...

2020-09-22 11:57:22 13487

原创 Peephole LSTM、GRU 实战

前面我们讲过了 LSTM 的两个变体 Peephole LSTM 和 GRU 的模型原理,在这一节中我们会将这些模型应用起来,分别用它们来做一个文本生成的任务,并对比不同方案的效果。我们先通过 TF1 构建 LSTM、Peephole、GRU 模型的代码来看看手动搭建过程中有什么区别,然后再用 Keras 中的 API 使用模型。LSTM、Peephole 源码对比首先比较 LSTM 和 P...

2020-09-22 11:57:20 3144

原创 双向 RNN 识别手写数字

在前面几节我们学习的都是单向的 RNN,单向的结构有个局限,就是在当前时间点上只能利用过去的信息,而无法利用未来的序列信息的,这会影响一些需要上下文背景的任务效果。例如命名实体识别中,有些名字在某些语境中也许代表的是玩具的名字,如果不考虑下文,很可能就被识别为人名;或者在手写识别中,知道当前位置的前面和后面是什么样子的,可以更好地判断这是什么字,提高预测准确率;又或者想要预测序列中的缺失值,就不...

2020-09-22 11:57:19 236

原创 序列模型实现词性标注

今天我们来看看 NLP 中一个很重要且基本的问题:POS。什么是 POS?POS:Part-of-speech tagging,即词性标注,这是一种序列标注问题,就是输入一个句子,输出每个词在这句话中的词性是什么。例如,“我喜欢吃酸辣的热狗”这句话中,“我”和“热狗”是名词,“喜欢”和“吃”是动词,“酸辣的”是个形容词。词性种类集合是预先定义好的,单词的词性也是取决于上下文的,即同样的词在不...

2020-09-22 11:57:17 560

原创 双向 LSTM-CRF 实现命名实体识别

今天我们来学习 NER——Named entity recognition,命名实体识别,即识别出文档中具有特定意义的实体,例如人名、地名、机构名、专有名词等。命名实体识别主要用来提取结构化信息,是信息提取、问答系统、句法分析、机器翻译等应用领域的重要工具。例如,可以用来自动识别简历中的电子邮件、电话号码、学位信息;可以从法律、金融和医疗等领域的文档中提取重要的实体,用于后续的分类和搜索等;用于...

2020-09-22 11:57:16 1419

原创 用一个小例子理解 seq2seq 的本质

我们知道序列预测有 one-to-one、many-to-one、many-to-many、one-to-many 几种类型。在前面的文章中,我们做过的任务大多是将一个序列映射为单个输出的问题,比如 NER 是预测单个单词的标签,语言模型是一个一个预测下一个单词的问题。现在我们要看输出是一个序列的情况,也就是 to-many,这类问题有个挑战是它的输入和输出都是序列,而且序列的长度是不固定的,为...

2020-09-22 11:57:14 356

原创 动手实现 Bahdanau 注意力模型

前一篇我们学习了 seq2seq 模型,从它的模型结构中我们可以看到存在两个瓶颈:例如,当我们用 seq2seq 翻译一句话时,它的 Encoder 需要将原始句子中的主语,谓语,宾语,以及主谓宾之间的关系等信息都压缩到一个固定长度的上下文向量中,这个向量的长度通常只是 128 或者 256,如果输入数据很长时,就会有很多信息无法被压缩进这么短的向量中。另一个瓶颈是,这个上下文向量在 Deco...

2020-09-22 11:57:12 1373

原创 情感分析 Kaggle 实战

今天我们来看自然语言处理中一个很重要的应用领域:情感分析。情感分析也称为意见挖掘,是要从文本中识别和提取意见,要识别出用户对一件事一个物品或一个人的看法和态度,比如一个电影的评论,一个商品的评价,一次体验的感想等等。在这类任务中要对带有情感色彩的主观性文本进行分析,识别出用户的态度,是喜欢,讨厌,还是中立。情感分析的分析粒度可以是词语、句子、段落或篇章。在实际生活中情感分析有很广泛的应用,例如...

2020-09-22 11:57:11 1319

原创 实践:动手搭建聊天机器人

什么是聊天机器人?聊天机器人是一种人工智能系统,可以用文字或者语音和人类交流互动。简单的如询问现在的天气怎么样、最新的新闻是什么,复杂一点的如手机出问题了询问一下要如何解决等等。不过聊天机器人现在并不仅仅是只会这种简单的对话,也开始有变现的途径,比如一些实用场景:如辅助客服人员,可以查看资讯,可以帮忙下订单。很多零售业厂商的客服聊天机器人能够帮助客户解答 80% 的常见问题,极大地提高效率节...

2020-09-22 11:57:09 630

原创 透彻理解神经机器翻译的原理

今天我们要学习机器翻译,机器翻译就是让计算机来帮我们将一种语言自动翻译成另一种语言。现在机器翻译几乎已经成为我们生活中不可缺少的工具了,当我们在看英文文档时,可以直接把不懂的单词、句子,甚至段落,复制到谷歌翻译等工具中就可以立刻得到翻译结果。现在还有一些 App 是用手机对着外语拍照,就可以直接进行翻译,或者对着手机讲话,就能有语音翻译,好像带着一个私人翻译一样。有了机器翻译,我们的生活变得...

2020-09-22 11:57:08 1711

原创 实践:动手搭建神经机器翻译模型

我们现在几乎每天都会用到翻译软件,无论是看论文看源码看新闻,总是会遇见一些不熟悉不认识的单词,关于机器翻译背后的原理我们在前一篇文章中已经讲到了,今天就来动手实践一下。在这个例子中我们会用一个很小的数据集来理解一遍流程,接下来主要会有两大步骤,一个是 NMT 的训练,一个是 NMT 的推断预测。NMT 的训练步骤:序列的表示:主要是将文本转化为序列数据。词嵌入:用一个低维向量浓缩表达每个...

2020-09-22 11:57:06 518

原创 多复杂的 CNN 都离不开的这几个基本结构

今天我们来学习 CNN,大家可能都知道 CNN 主要应用于图像领域,但其实近几年在自然语言处理领域也经常使用 CNN 来做一些任务,这篇文章我们先介绍一下 CNN 的基础,下一篇将介绍一个很擅长处理图像任务的模型要如何用于文本序列任务。什么是 CNNCNN:Convolutional Neural Network,卷积神经网络,主要用于图像领域,可以用来做图像分类任务,比如大家熟知的手写识别、...

2020-09-22 11:57:05 146

原创 论文复现:用 CNN 进行文本分类

前一篇文章中我们学习了 CNN 的基础结构,并且知道了它是计算机视觉领域的基础模型,其实 CNN 不仅仅可以用于计算机视觉,还可以用于处理自然语言处理问题,今天就来看看如何用 CNN 处理文本分类任务。文本分类就是根据文本的内容给句子或者文档打标签分类别,是自然语言处理领域中很基础的应用,前面学过的情感分析和垃圾邮件识别都属于文本分类任务。再比如主题标签、语言检测、意图识别,这些也都在社交媒体分...

2020-09-22 11:57:03 1075

原创 实战:为图片生成文本摘要

上一篇我们介绍了 Transformer 的原理,今天我们来根据论文动手编写一个 Transformer,并将其应用在我们前面讲过的机器翻译的例子上,大家感兴趣也可以进行对比学习。这里的数据部分和前面机器翻译那篇是一样的,使用 ManyThings.org 的英语—法语的数据集,同样为了简化只选取 20 句。因为例子比较小,我们也会对论文中设置的一些参数进行简化。准备数据import ten...

2020-09-22 11:57:01 661

原创 简述 XLNet 的原理和应用

前两篇我们讲了 BERT 的原理和应用,谷歌在发布 BERT 时就引起了不小的轰动,因为当时 BERT 在 11 项 NLP 任务测试中刷新了当时的最高成绩,这个震撼还未平息,CMU 与谷歌大脑提出的 XLNet 又掀起一阵高潮,它在 20 个 NLP 任务上超过了 BERT 的表现,尤其是在难度很大的大型 QA 任务 RACE 上也足足超越 BERT 模型 6~9 个百分点,在其中 18 个任务...

2020-09-22 11:57:00 478

原创 什么是 Transformer

**Transformer** 是由 Google 团队的 Ashish Vaswani 等人在 2017 年 6 月发表的论文 Attention Is All You Need 中提出的 NLP 经典之作,这个模型可以算是近几年来 NLP 领域的一个重大的里程碑,在它之前 seq2seq + Attention 就表现很强了,结果这篇论文一出来就引起了不小的轰动,它竟然不需要任何 RNN 等...

2020-09-22 11:56:58 959

原创 BERT 基础

BERT,Bidirectional Encoder Representations from Transformers,来自 Google AI Language 的论文: [BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding](https://arxiv.org/pdf/ 181...

2020-09-22 11:56:57 373

原创 BERT 实战

上一篇我们学习了 BERT 的原理,这里我们将它应用在 NER 实战上,我们在前面课程中也学习过 NER,这里我们用同样的数据集来看如何应用 BERT,大家可以与前面的模型进行比较。另外推荐大家使用 Google 的云端 Jupyter Notebook 开发环境 Colab,自带 TensorFlow、Matplotlib、NumPy、Pandas 等深度学习基础库,还可以免费使用 GPU、T...

2020-09-22 11:56:55 931

原创 专栏结语

今天这篇文章是本专栏的最后一篇,感谢大家可以坚持学习到这里!在“第 1 部分:深度学习基础知识”中,我们知道了自然语言处理的几大热门研究领域,每个主题介绍了一些经典的研究论文,让大家可以对 NLP 有一个全局的了解。介绍了神经网络的基础知识,用 3W 方法解释了深度学习的常用核心概念,还有应用深度学习的 8 个基本步骤,并学习了 TensorFlow 1&2、Keras 的使用。这些都是...

2020-09-22 11:56:53 175

原创 6 种用 LSTM 做时间序列预测的模型结构 - Keras 实现

LSTM(Long Short Term Memory Network)长短时记忆网络,是一种改进之后的循环神经网络,可以解决 RNN 无法处理长距离的依赖的问题,在时间序列预测问题上面也有广泛的应用。今天我们根据问题的输入输出模式划分,来看一下几种时间序列问题所对应的 LSTM 模型结构如何实现。1. UnivariateUnivariate 是指:input 为多个时间步,o...

2019-03-20 19:17:19 3914 1

原创 代码实例:如何使用 TensorFlow 2.0 Preview

去年8月13日,谷歌宣布 “TensorFlow 2.0 is coming”,最近几天,谷歌 TensorFlow 团队刚刚发布了 TensorFlow 2.0 Preview 版,可以来这里查看:现在还不是最终版本,而且可能还不太稳定,不过大家都可以开始尝试,并提出建议和反馈,请查看如何提交报告:本文结构:从 TensorFlow 1.12 到 TensorFlow 2.0 pre...

2019-01-14 15:33:36 18080 2

原创 图解什么是 Transformer

Transformer 是 Google 团队在 17 年 6 月提出的 NLP 经典之作,由 Ashish Vaswani 等人在 2017 年发表的论文 Attention Is All You Need 中提出。Transformer 在机器翻译任务上的表现超过了 RNN,CNN,只用 encoder-decoder 和 attention 机制就能达到很好的效果,最大的优点是可以高效...

2019-01-10 15:09:09 1242

原创 强化学习 8: approximate reinforcement learning

上次提到一个问题,就是如何有效的将交叉熵算法用于很大的数据量的问题上。前面说过,对于骑自行车这种可能只有十个 state,四个 aciton 的小问题上面,交叉熵可以解决,但如果在自动驾驶,或者打游戏上面,它却不行,因为这时我们没有办法再存储一个表格来记录所有可能状态的所有可能行为的概率,因为这可能有几十亿的状态,或者是一个连续空间,是没有办法做记录的。存储这样的表格不仅是不可能的,也是没有效...

2018-11-23 21:00:27 853

原创 强化学习第7课:交叉熵方法的一些局限性

上次介绍的交叉熵方法,交叉熵方法虽然非常有效,但是也有一些缺点。例如,如果你只尝试100次的话,那么可能会有一些稀少的情况,在这100次中只出现那么一两次。这样的话,会得到一个非常奇怪的概率分布,可能会一直重复某一个行动。也许你可以通过增加实验的次数来改进这个问题,比如说100次增加到10000次,但是如果骑自行车摔倒1万次的话,那会非常疼。这时可以用 smoothing要做的就是在正规化之...

2018-11-23 20:59:25 1057

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除