5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.3 集束搜索Beam Search 对于机器翻译来说,给定输入的句子,会返回一个随机的英语翻译结果,但是你想要一个最好的英语翻译结果.对于语音识别也是一样,给定一个输入的语音片段,你不会想要一个随机的文本翻译结果,你想要一个最接近愿意的翻译结果. Jane visite l'Afrique en septembre 希望翻译成英文句子 Jane is visiting Africa in September…
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.2选择最可能的句子 Picking the most likely sentence condition language model 有条件的语言模型 对于 语言模型 ,能够估计出这些单词是一个句子的可能性,也可以用其生成一个新的句子. 对于 机器翻译模型 使用绿色表示 编码网络 ,使用 紫色表示 解码网络. 会发现 解码网络 和 语言模型 几乎一模一样,只是在普通的语言模型中输入的向量 \(a^{<0>…
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.9语音辨识 Speech recognition 问题描述 对于音频片段(audio clip)x ,y生成文本(transcript),人听见的或者麦克风捕捉的都是空气中细微的气压变化,语音识别系统能够根据这种微弱的气压变化将音频转化为文本字符. 将空气中微弱的气压变化显示成频率图的形式,并输出音频的文本内容如下图所示: 考虑到人的耳朵并不会处理声音的原始波形,而是通过一种特殊的物理结构来测量不同的频率和强…
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.7注意力模型直观理解Attention model intuition 长序列问题 The problem of long sequences 对于给定的长序列的法语句子,在下图中的网络中,绿色的编码器读取整个句子,然后记忆整个句子,再在感知机中传递,紫色的解码神经网络将生成英文翻译. 人工的方法不会通过读取在记忆整个句子中的内容,然后从零开始翻译成一个英语句子,人工翻译做的是先翻译出句子的部分,再看下一部分…
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.6Bleu得分 在机器翻译中往往对应有多种翻译,而且同样好,此时怎样评估一个机器翻译系统是一个难题. 常见的解决方法是通过BLEU得分来进行判断 评价机器翻译Evaluating machine translation Papineni K. Bleu:A Method for Automatic Evaluation of Machine Translation[J]. Proc Acl, 2002. 示例…
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1基础模型 [1] Sutskever I, Vinyals O, Le Q V. Sequence to Sequence Learning with Neural Networks[J]. 2014, 4:3104-3112. [2] Cho K, Van Merrienboer B, Gulcehre C, et al. Learning Phrase Representations using RNN…
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10长短期记忆网络(Long short term memory)LSTM Hochreiter S, Schmidhuber J. Long Short-Term Memory[J]. Neural Computation, 1997, 9(8):1735-1780. 门控循环神经网络单元GRU 长短期记忆网络LSTM 记忆细胞更新: \[\breve{C}^{<t>}=tanh(W_c[a^{<t-1&g…
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.7对新序列采样 基于词汇进行采样模型 在训练完一个模型之后你想要知道模型学到了什么,一种非正式的方法就是进行一次新序列采样. 一个序列模型模拟了任意特定单词序列的概率,对新序列采样即是对概率分布进行采样来生成一个新的单词序列. 假设你的RNN训练模型为: 对于新序列进行采样第一步即是对想要模型生成的第一个词进行采样 设置\(a^{<0>}=0,x^{<1>}=0\)从而得到所有可能的输出结果\(\hat…
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.5不同类型的循环神经网络 上节中介绍的是 具有相同长度输入序列和输出序列的循环神经网络,但是对于很多应用\(T_{x}和T_{y}\)并不一定相等. 在此节会介绍不同的能够处理不同问题的循环神经网络. 多对多循环神经网络 对于命名实体识别的问题中,RNN的输出和输入序列长度一致--\(T_{x}=T_{y}\). 则在每读一个单词时都输出预测的值\(\hat{y}\) 这是一个典型的多对多的问题. 多对一循环神经网络…
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.3循环神经网络模型 为什么不使用标准的神经网络 假如将九个单词组成的序列作为输入,通过普通的神经网网络输出输出序列, 在不同的例子中输入数据和输出数据具有不同的长度,即每个数据不会有一样的长度 也许每个语句都有最大长度,能够通过Padding 的方式填充数据,但总体来说不是一个好的表达方式. 不共享从文本的不同位置上学到的特征 例如普通神经网络可以学习到Harry这个单词出现在\(x^{<1>}\)的位置,但是如果…
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1什么是序列模型 在进行语音识别时,给定了一个输入音频片段X,并要求输出片段对应的文字记录Y,这个例子中的输入和输出都输序列数据.因为X是一个按时序播放的序列音频而输出Y是一系列单词. 音乐生成使用的也是序列数据,在这个例子中只有输出数据Y是序列,而输入数据可以是空集也可以是个单一的整数,这个数可能指代想要生成的音乐风格也可能是你想要生成的那首曲子的前几个输入. 情感分类问题中,输入是一串文字,输出是情感的评价 DN…
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.9 Sentiment classification 情感分类 情感分类任务简单来说是看一段文本,然后分辨这个人是否喜欢或不喜欢他们正在谈论的这段文本. 情感分类 一个最大的挑战是可能标记的训练集没有那么多,但是有了词嵌入,即使只有中等大小标记的训练集也能构建一个不错的情感分类器. 问题引入 通过训练一个从x到y的映射得到一个情感分类器,只需要收集在社交媒体上顾客对你的评价,你就可以判断其对餐厅的情感是正面的还是负面…
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 负采样 Negative sampling Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]// International Conference on Neural Information Processing Systems.…
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.6 Word2Vec Word2Vec相对于原先介绍的词嵌入的方法来说更加的简单快速. Mikolov T, Chen K, Corrado G, et al. Efficient Estimation of Word Representations in Vector Space[J]. Computer Science, 2013. Skip-grams 假设在训练集中给出了如下的例句:"I want a gla…
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.3词嵌入的特性 properties of word embedding Mikolov T, Yih W T, Zweig G. Linguistic regularities in continuous space word representations[J]. In HLT-NAACL, 2013. 词嵌入可以用来解决类比推理问题(reasonable analogies) man 如果对应woman,此时左…
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1词汇表征 Word representation 原先都是使用词汇表来表示词汇,并且使用1-hot编码的方式来表示词汇表中的词汇. 这种表示方法最大的缺点是 它把每个词孤立起来,这样使得算法对相关词的泛化能力不强 例如:对于已知句子"I want a glass of orange ___ " 很可能猜出下一个词是"juice". 如果模型已知读过了这个句子但是当看见句子"I…
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.10词嵌入除偏 Debiasing word embeddings Bolukbasi T, Chang K W, Zou J, et al. Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings[J]. 2016. 机器学习和人工智能算法正渐渐被信任用以辅助或是制定极其重要的决策,所以要确保人工智能系统不受…
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.8 GloVe word vectors GloVe词向量 Pennington J, Socher R, Manning C. Glove: Global Vectors for Word Representation[C]// Conference on Empirical Methods in Natural Language Processing. 2014:1532-1543. 示例 I want a gl…
参考1 参考2 参考3 1. 为什么选择序列模型 序列模型能够应用在许多领域,例如: 语音识别 音乐发生器 情感分类 DNA序列分析 机器翻译 视频动作识别 命名实体识别 这些序列模型都可以称作使用标签数据(X,Y)作为训练集的监督式学习,输入x和输出y不一定都是序列模型.如果都是序列模型的话,模型长度不一定完全一致. 2. Notation(标记) 下面以 命名实体识别 为例,介绍序列模型的命名规则.示例语句为: Harry Potter and Hermione Granger invent…
参考 1. Word Representation 之前介绍用词汇表表示单词,使用one-hot 向量表示词,缺点:它使每个词孤立起来,使得算法对相关词的泛化能力不强. 从上图可以看出相似的单词分布距离较近,从而也证明了Word Embeddings能有效表征单词的关键特征. 2. 词嵌入(word embedding) Transfer learning and word embedding: 从海量词汇库中学习word embeddings(即所有单词的特征向量),或者从网上下载预训练好的w…
参考 1. 基础模型(Basic Model) Sequence to sequence模型(Seq2Seq) 从机器翻译到语音识别方面都有着广泛的应用. 举例: 该机器翻译问题,可以使用"编码网络(encoder network)"+"解码网络(decoder network)"两个RNN模型组合的形式来解决. encoder network将输入语句编码为一个特征向量,传递给decoder network,完成翻译.具体模型结构如下图所示: 其中,encoder…
Hyperparameter search 超参数搜索 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1 调试处理 需要调节的参数 级别一:\(\alpha\)学习率是最重要的需要调节的参数 级别二: Momentum参数 \(\beta\) 0.9是个很好的默认值 mini-batch size,以确保最优算法运行有效 隐藏单元数量 级别三: 层数 , 层数有时会产生很大的影响. learning rate decay 学习率衰减 级别四: NG在使用Adam算法时几乎不会调整\…
一.为什么选择序列模型 序列模型可以用于很多领域,如语音识别,撰写文章等等.总之很多优点... 二.数学符号 为了后面方便说明,先将会用到的数学符号进行介绍. 以下图为例,假如我们需要定位一句话中人名出现的位置. 红色框中的为输入.输出值.可以看到人名输出用1表示,反之用0表示: 绿色框中的\(x^{<t>},y^{<t>}\)表示对应红色框中的输入输出值的数学表示,注意从1开始. 灰色框中的\(T_x,T_y\)分别表示输入输出序列的长度,在该例中,\(T_x=9,T_y=9\)…
目录 第一周 循环序列模型 第二周 自然语言处理与词嵌入 第三周 序列模型和注意力机制 第一周 循环序列模型 在进行语音识别时,给定一个输入音频片段X,并要求输出对应的文字记录Y,这个例子中输入和输出数据就是序列模型. 音乐生产问题也是使用序列数据的一个例子. 在自然语言处理中,首先需要决定怎样表示一个序列里单独的单词,解决办法式创建一个词典.然后每个单词的序列表示可以使用该词典长度的一维数组来表示,匹配的位置数据为1,其它位置数据为0. 下面看一个循环神经网络模型: RNN反向传播示意图: 如…
[说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![认真看图][认真看图] [补充说明]深度学习中的序列模型已经广泛应用于自然语言处理(例如机器翻译等).语音识别.序列生成.序列分析等众多领域! [再说一句]本文主要介绍深度学习中序列模型的演变路径,和往常一样,不会详细介绍各算法的具体实现,望理解! 一.循环神经网络RNN 1. RNN标准结构 传统神经网络的前一个输入和后一个输入是完全没有关系的,不能处理序列信息(即前一个输入和后一个输入是…
第三周 序列模型和注意力机制(Sequence models & Attention mechanism) 3.1 序列结构的各种序列(Various sequence to sequence architectures) 首先,我们先建立一个网络,这个网络叫做编码网络(encoder network)(上图编号 1 所示),它是一个 RNN 的结构, RNN 的单元可以是 GRU 也可以是 LSTM.每次只向该网络中输入一个法语单词,将输入序列接收完毕后,这个 RNN 网络会输出一个向量来代表…
第一周 循环序列模型(Recurrent Neural Networks) 1.1 为什么选择序列模型?(Why Sequence Models?) 1.2 数学符号(Notation) 这个输入数据是 9 个单词组成的序列,所以会有 9 个特征集和来表示这 9 个 单词,并按序列中的位置进行索引,用\(…
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/35 本文地址:http://www.showmeai.tech/article-detail/227 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 本系列为吴恩达老师<深度学习专业课程>学习与总结整理所得,对应的课程视频可以在这里查看. 引言 在ShowMeAI前一篇文章 自然语言处理与词嵌入 中我们对以下内容进行了介绍: 词嵌入与迁移学习/…
贪心搜索(greedy search) 贪心搜索最为简单,直接选择每个输出的最大概率,直到出现终结符或最大句子长度. 集束搜索(beam search) 集束搜索可以认为是维特比算法的贪心形式,在维特比所有中由于利用动态规划导致当字典较大时效率低,而集束搜索使用beam size参数来限制在每一步保留下来的可能性词的数量.集束搜索是在测试阶段为了获得更好准确性而采取的一种策略,在训练阶段无需使用. 假设字典为[a,b,c],beam size选择2,则如下图有: 1:在生成第1个词的时候,选择概…
JUC学习笔记--共享模型之管程 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的管程部分 我们会分为以下几部分进行介绍: 共享问题 共享问题解决方案 线程安全分析 Monitor synchronized锁 Wait/notify 模式之保护性暂停 模式之生产者消费者 park 线程状态转换详解 多锁操作 活跃性 ReentrantLock 同步模式之顺序控制 共享问题 这小节我们将会介绍共享问题 共享问题概述 我们首先来简单介绍一下贡献问题的产生原因: 操作系统目前只操纵一…