目录

第一周 循环序列模型

第二周 自然语言处理与词嵌入

第三周 序列模型和注意力机制

第一周 循环序列模型

在进行语音识别时,给定一个输入音频片段X,并要求输出对应的文字记录Y,这个例子中输入和输出数据就是序列模型。

音乐生产问题也是使用序列数据的一个例子。

在自然语言处理中,首先需要决定怎样表示一个序列里单独的单词,解决办法式创建一个词典。然后每个单词的序列表示可以使用该词典长度的一维数组来表示,匹配的位置数据为1,其它位置数据为0。

下面看一个循环神经网络模型:

RNN反向传播示意图:

如何构建一个语言模型呢?

首先需要一个训练集,包含一个很大的英文文本语料(corpus)或者其它的语言,你想用于构建模型的语言的语料库。语料库是自然语言处理的一个专有名词,意思就是很长的或者说数量众多的英文句子组成的文本。

下图是一个RNN构建序列的概率模型:

RNN的梯度消失:

GRU单元:

LSTM主要公式:

双向RNN:

深层循环神经网络(Deep RNNs)

下面看一下RNN单元:

LSTM模型可以更好地解决梯度消失问题,能够更好地记住一条信息,并且可以在很多时间步中保存。

下面看下LSTM模块:

第二周 自然语言处理与词嵌入

在对单词进行向量化表示的时候,可以对其特征进行标志学习,例如学习apple的相关特性后,可以依据orange与apple的相似程度,推断出orange也会有相关的特性。一般可以定义一个多维的特征向量,每一维表示一个特性判断。

使用词潜入,能够有效解决一些同类型词特性识别问题,其中该词在训练集中出现较少或者就没有出现过。 当你的任务的训练集相对较小时,词嵌入的作用最明显,所以它广泛用于NLP领域。

词嵌入的特性

如果你学习一些词嵌入,通过算法来找到使得相似度最大化的单词w,你确实可以得到完全正确的答案。例如,man和women的差值,求出king对应的差值单词,比较理想的单词是queen。

词嵌入的一个显著成果就是,可学习的类比关系的一般性。举个例子,它能学会man对于woman相当于boy对于girl,因为manwoman之间和kingqueen之间,还有boygirl之间的向量差在gender性别)这一维都是一样的。

如何建立神经网络来预测序列中的下一个单词?如下图模型

CBOW是从原始语句推测目标字词;而Skip-Gram正好相反,是从目标字词推测出原始语句。CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。 (下图左边为CBOW,右边为Skip-Gram

情感分类任务就是看一段文本,然后分辨这个人是否喜欢他们在讨论的这个东西,这是NLP中最重要的模块之一,经常用在许多应用中(PS:例如,从用户对某店铺的评价留言信息,分析出是正面评价还负面评价,并给出最终的打分衡量数据)。 情感分类一个最大的挑战就是可能标记的训练集没有那么多。下图是一个简单的模型:

第三周 序列模型和注意力机制

目前,深度学习技术可以借助seq2seq模型实现不同语言的互译,以及识别图片,给出图片中物体的描述。如下图,识别图中猫,给出文字描述:

集束搜索算法能够让机器翻译的记过更加贴近原意,而且语法也能够尽量规整。

长度归一化(Length normalization)是对集束搜索算法稍作调整的一种方式,帮助得到更好的结果。

当你使用RNN读一个句子,于是另一个会输出一个句子。我们要对其做一些改变,称为注意力模型(the Attention Model),并且这会使它工作得更好。注意力模型或者说注意力这种思想(The attention algorithm, the attention idea)已经是深度学习中最重要的思想之一,下图是其运行模式:

注意力模型能够让一个神经网络只注意到一部分的输入句子,当它生成句子的时候,更像人类翻译。模型如下图:

参考资料:

1.https://blog.csdn.net/u013733326/article/details/80890454

2.http://www.ai-start.com

Deep Learning.ai学习笔记_第五门课_序列模型的更多相关文章

  1. Deep Learning.ai学习笔记_第一门课_神经网络和深度学习

    目录 前言 第一周(深度学习引言) 第二周(神经网络的编程基础) 第三周(浅层神经网络) 第四周(深层神经网络) 前言 目标: 掌握神经网络的基本概念, 学习如何建立神经网络(包含一个深度神经网络), ...

  2. Deep Learning.ai学习笔记_第四门课_卷积神经网络

    目录 第一周 卷积神经网络基础 第二周 深度卷积网络:实例探究 第三周 目标检测 第四周 特殊应用:人脸识别和神经风格转换 第一周 卷积神经网络基础 垂直边缘检测器,通过卷积计算,可以把多维矩阵进行降 ...

  3. Deep Learning.ai学习笔记_第三门课_结构化机器学习项目

    目录 第一周 机器学习策略(1) 第二周 机器学习策略(2) 目标:学习一些机器学习优化改进策略,使得搭建的学习模型能够朝着最有希望的方向前进. 第一周 机器学习策略(1) 搭建机器学习系统的挑战:尝 ...

  4. Deep Learning.ai学习笔记_第二门课_改善深层神经网络:超参数调试、正则化以及优化

    目录 第一周(深度学习的实践层面) 第二周(优化算法) 第三周(超参数调试.Batch正则化和程序框架) 目标: 如何有效运作神经网络,内容涉及超参数调优,如何构建数据,以及如何确保优化算法快速运行, ...

  5. deep learning深度学习之学习笔记基于吴恩达coursera课程

    feature study within neural network 在regression问题中,根据房子的size, #bedrooms原始特征可能演算出family size(可住家庭大小), ...

  6. AI学习笔记:特征工程

    一.概述 Andrew Ng:Coming up with features is difficult, time-consuming, requires expert knowledge. &quo ...

  7. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

  8. DeepLearning.ai学习笔记(三)结构化机器学习项目--week2机器学习策略(2)

    一.进行误差分析 很多时候我们发现训练出来的模型有误差后,就会一股脑的想着法子去减少误差.想法固然好,但是有点headlong~ 这节视频中吴大大介绍了一个比较科学的方法,具体的看下面的例子 还是以猫 ...

  9. [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...

随机推荐

  1. 《Thinking In Java》阅读笔记

    <Thinking In Java>阅读笔记 前四章:对象导论. 一切都是对象. 操作符. 控制执行流程 public在一个文件中只能有一个,可以是一个类class或者一个接口interf ...

  2. ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu

    %ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu load spectra_data.mat temp = randperm(size(NIR,1)); P_tra ...

  3. P1967 货车运输

    P1967 货车运输最大生成树+lca+并查集 #include<iostream> #include<cstdio> #include<queue> #inclu ...

  4. Web Component

    前言 Web Component不是新东西,几年前的技术,但是受限于浏览器兼容性,一直没有大规模应用在项目里,直到现在(2018年年末),除IE仍不支持之外,其它主流浏览器都支持Web Compone ...

  5. swap

    添加交换分区 SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理 ...

  6. 前后端通过API交互

    前两篇已经写好了后端接口,和前段项目环境也搭建好了 现在要通过接口把数据展示在页面上 先占位置写架子 创建一个头部组件和底部组件占位置 <template> <h1>这是头部组 ...

  7. java中打开文件流后要关闭后重新打开

    记录错误,打开文件流一定要关闭并重新打开文件流,不然取的文件内容永远是第一次取的文件内容: /** * 读取配置文件 */ private Properties readProperties() { ...

  8. BZOJ4910 : [Sdoi2017] 苹果树

    问题等价于树形依赖背包,允许一条链每个点各免费一次. 设$f[i][j]$表示按DFS序考虑到$i$,体积为$j$的最大收益. 先放入不能免费的物品,等遍历完儿子后再放入必选的物品,那么$i$到根路径 ...

  9. 使用Three.js为QQ用户生成3D头像阵列

    东西其实比较简单,就是输出某一范围内QQ账号的3D头像 涉及的技术主要是Three.js的基本使用 而后通过腾讯的接口异步并发请求QQ用户头像,Canavs作图生成Texture应用在球体上 需要注意 ...

  10. MDK错误 Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o). 解决方法

    此错误产生的位置在STM32工程所包含的汇编启动代码文件,如下图 熟悉ARM汇编的朋友一定可以看出,这是一个子程序调用语句,而调用的子程序正是SystemInit.出现错误的原因就是汇编器没有在代码之 ...