循环序列模型——05.序列模型第一周课程笔记

时间序列分析模型详细讲解 时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。本文结合SPSS介绍了三种常用的模型 —— 季节分解、指数平滑模型、ARIMA模型,可供数学建模时使用。 阅读详情

一、为什么使用序列模型

能处理非固定大小输入的问题,例如语音识别,DNA序列分析,机器翻译这种是一串序列的问题。

二、 数学符号表示

以自然语言处理为例:
x: Harry Potter and Hermione Granger invented a new spell.
以这句话为输入x,希望得到一个相同长度的y,判断每个单词是否表示人名。
首先需要构建一个按字母排序的单词词典,当然该词典中包含单词的个数因网络和计算资源的不同而不同,一般有4000个等,在这里我们为了表示方便,假设单词数量为1000。然后将每个单词对应在字典中的位置,映射成一个长度为1000的一维向量(onehot)。具体表示方法如下所示:

符号说明
X&lt;1&gt;=[0,0,0,1,0,0,...,0,0]X^{&lt;1&gt;}=[0, 0, 0, 1, 0, 0, ..., 0, 0]X<1>=[0,0,0,1,0,0,...,0,0]X&lt;i&gt;X^{&lt;i&gt;}X<i>表示该句话的第iii个单词,在此处表示Harry在词典中序号为4。
Y&lt;i&gt;Y^{&lt;i&gt;}Y<i>表示第iii个单词的输出。
Tx=9T_x = 9Tx​=9这个序列的长度为9
Ty=9T_y = 9Ty​=9这个序列的输出长度为9
X(i)&lt;t&gt;X^{(i)&lt;t&gt;}X(i)<t>样本中第iii个序列的第ttt个单词
Tx(i)T_x^{(i)}Tx(i)​样本中第iii个输入序列的长度

注意:如果样本中出现了词典中不包含的单词,需要定义一个Unknown向量,以及每句话的结尾EOS向量。

三、循环神经网络模型

1 为什么不能用标准的神经网络

  • 在序列输入问题中,大部分的输入不能输出都不能统一
  • 在同一个单词在文本的不同位置不能分享特征

2 循环神经网络

2.1 前向传播

前向传播
a&lt;t&gt;=g1(Waaa&lt;t−1&gt;+Waxx&lt;t&gt;+ba)a^{&lt;t&gt;}=g_1(W_{aa}a^{&lt;t-1&gt;}+W_{ax}x^{&lt;t&gt;}+b_a)a<t>=g1​(Waa​a<t−1>+Wax​x<t>+ba​)
y^=g2(Wyaa&lt;t&gt;+by)\hat y=g_2(W_{ya}a^{&lt;t&gt;}+b_y)y^​=g2​(Wya​a<t>+by​)

公式可以简化为

a&lt;t&gt;=g1(Wa[a&lt;t−1&gt;,x&lt;t&gt;]+ba)a^{&lt;t&gt;}=g_1(W_{a}[a^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_a)a<t>=g1​(Wa​[a<t−1>,x<t>]+ba​)
y^=g2(Wya&lt;t&gt;+by)\hat y=g_2(W_{y}a^{&lt;t&gt;}+b_y)y^​=g2​(Wy​a<t>+by​)

2.2 方向传播

对于一个判断是否为人名的二分类问题,可以定义损失函数:
KaTeX parse error: Expected 'EOF', got '\cal' at position 2: \̲c̲a̲l̲ ̲L^{<t>}(\hat y^…
通过梯度下降算法不断更新参数
时间反向传播(backpropagation through time)

2.3 不同类型的循环神经网络

不同类型的循环神经网络

3 语言模型和序列生成

3.1 生成过程

一句话概括就是:单词出现的概率。
需要训练集:一个大的语料库(corpus of English text 数量众多的句子)
训练过程

3.2 生成采样

通过每个单元生成的softmax概率,然后以每个单词的概率做随机,到第二个单元时以第一个单元的结果为输入,然后再生成softmax概率,如此循环直到生成EOS标志或者限定时间数。

3.3 字符模型

相比较词汇模型而言,字符模型是以字母,标点符号,数字为字典元素。相比较词汇模型而言,会得到更多的输入,网络相对更加深,训练起来计算成本也比较昂贵。

4 梯度问题

梯度爆炸:梯度修剪
梯度消失:GRU,LSTM

4.1 GRU(Gated Recurrent Unit 门控循环单元)

学习非常深的连接
相关论文:On the properties of neural machine translation:Encoder-decoder approaches 2014
Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling 2014
这里写图片描述
c^&lt;t&gt;=tanh⁡(Wc[c&lt;t−1&gt;,x&lt;t&gt;]+bc)\hat c^{&lt;t&gt;}=\tanh (W_c[c^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_c)c^<t>=tanh(Wc​[c<t−1>,x<t>]+bc​)
Γu=σ(Wu[c&lt;t−1&gt;,x&lt;t&gt;]+bu)\Gamma_u= \sigma (W_u[c^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_u)Γu​=σ(Wu​[c<t−1>,x<t>]+bu​)
c&lt;t&gt;=Γu∗c^&lt;t&gt;+(1−Γu)∗c&lt;t−1&gt;c^{&lt;t&gt;}=\Gamma_u * \hat c^{&lt;t&gt;}+(1-\Gamma_u)*c^{&lt;t-1&gt;}c<t>=Γu​∗c^<t>+(1−Γu​)∗c<t−1>
a&lt;t&gt;=c&lt;t&gt;a^{&lt;t&gt;}=c^{&lt;t&gt;}a<t>=c<t>
Full GRU
c^&lt;t&gt;=tanh⁡(Wc[Γr∗c&lt;t−1&gt;,x&lt;t&gt;]+bc)\hat c^{&lt;t&gt;}=\tanh (W_c[\Gamma_r*c^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_c)c^<t>=tanh(Wc​[Γr​∗c<t−1>,x<t>]+bc​)
Γu=σ(Wu[c&lt;t−1&gt;,x&lt;t&gt;]+bu)\Gamma_u= \sigma (W_u[c^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_u)Γu​=σ(Wu​[c<t−1>,x<t>]+bu​)
Γr=σ(Wr[c&lt;t−1&gt;,x&lt;t&gt;]+br)\Gamma_r=\sigma(W_r[c^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_r)Γr​=σ(Wr​[c<t−1>,x<t>]+br​)
c&lt;t&gt;=Γu∗c^&lt;t&gt;+(1−Γu)∗c&lt;t−1&gt;c^{&lt;t&gt;}=\Gamma_u * \hat c^{&lt;t&gt;}+(1-\Gamma_u)*c^{&lt;t-1&gt;}c<t>=Γu​∗c^<t>+(1−Γu​)∗c<t−1>
a&lt;t&gt;=c&lt;t&gt;a^{&lt;t&gt;}=c^{&lt;t&gt;}a<t>=c<t>

4.1 LSTM(Long Short Term Memory Unit 长短时记忆单元)

学习非常深的连接
相关论文:Long short-term memory 1997
这里写图片描述
c^&lt;t&gt;=tanh⁡(Wc[a&lt;t−1&gt;,x&lt;t&gt;]+bc)\hat c^{&lt;t&gt;}=\tanh (W_c[a^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_c)c^<t>=tanh(Wc​[a<t−1>,x<t>]+bc​)
Γu=σ(Wu[a&lt;t−1&gt;,x&lt;t&gt;]+bu)\Gamma_u= \sigma (W_u[a^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_u)Γu​=σ(Wu​[a<t−1>,x<t>]+bu​)
Γf=σ(Wf[a&lt;t−1&gt;,x&lt;t&gt;]+bf)\Gamma_f= \sigma (W_f[a^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_f)Γf​=σ(Wf​[a<t−1>,x<t>]+bf​)
Γo=σ(Wo[a&lt;t−1&gt;,x&lt;t&gt;]+bo)\Gamma_o= \sigma (W_o[a^{&lt;t-1&gt;},x^{&lt;t&gt;}]+b_o)Γo​=σ(Wo​[a<t−1>,x<t>]+bo​)
c&lt;t&gt;=Γu∗c^&lt;t&gt;+Γf∗c&lt;t−1&gt;c^{&lt;t&gt;}=\Gamma_u * \hat c^{&lt;t&gt;}+\Gamma_f*c^{&lt;t-1&gt;}c<t>=Γu​∗c^<t>+Γf​∗c<t−1>
a&lt;t&gt;=Γo∗tanh⁡c&lt;t&gt;a^{&lt;t&gt;}=\Gamma_o*\tanh c^{&lt;t&gt;}a<t>=Γo​∗tanhc<t>

5 双向循环神经网络(Bidirectional RNN) (BRNN)

因为语言有上下文的语境关系,所以采用双向循环,是的特征信息能够保全得更加完整。

深层循环神经网络

网络结构
因为循环神经网络本身在时间流上就很深,因此,在空间叠加上,不能过深。

测试题

第七题
第八题

时间序列预测(四)—— LSTM模型 时间序列预测(四)—— LSTM模型 文章链接 (一)数据预处理 (二)AR模型(自回归模型) (三)Xgboost模型 (四)LSTM模型 (五)Prophet模型(自回归模型) 模型原理   LSTM(Long-short time memory,LSTM)模型,亦即是长段时间模型。LSTM的原理这篇博客讲的十分的清楚,建议英语好的小伙伴直接去看原文,我这里就大致的翻译精简一下。   人类天... 阅读详情

相关推荐

时间序列模型(含python程序实现)

常用按时间顺序排列的一组随机变量来表示一个随机事件的时间序列,简记为用表示该随机序列的n个有序观察值,称之为序列长度为n的观察值序列。

qq_56891068的博客 5068

15、循环序列模型

循环序列模型1、为什么选择循环序列模型2、符号标记 1、为什么选择循环序列模型 序列模型是神经网络中的几大分支之一,比如循环神经网络(RNN)就属于序列模型。序列模型运用得很广,下面给出了一些常见得例子: 从上图可以看到,序列模型也存在不同类型,有些 X 和 Y 都是序列,而有些只是两者之一是序列数据。 2、符号标记 符号说明: 上标 (i)(i)(i) :第 iii 个样本; 上标&l...

Sunshine的博客 1434

时间序列分析 ARMA模型(R语言实战)

利用R语言实现ARMA模型的建立

weixin_69652071的博客 1万+

序列模型汇总__循环神经网络(RNN)(一)

序列模型是监督学习的一种,也就是其输入数据是带标签的。如语音识别、音乐生成、情感分析、DNA序列分析、机器翻译、视频行为识别、人名实体识别等,其特点是输入或输入或者输入输出是时序的。

散修炼丹师手记 2696

学习记录-Simpack生成车轮不圆的几种示例

单阶、多阶和实测车轮多边形的添加教程

weixin_51965897的博客 3703

经典算法之——解决全排列问题以及详解

回溯”指的是“状态重置”,可以理解为“恢复现场”,是在编码的过程中,是为了节约空间而使用的,而在递归或者深度优先中根据需要的场合来配合回溯法可以进一步对自己的代码进行优化。, n-1, n},方向都为向左。邻位对换法是全排列生成算法中的其中一种,它的换位是双向的,通过保存数字的“方向性”来快速得到下一个排列。最后以 3 开头的全排列为[3, 1, 2], [3, 2, 1];以 1 开头的全排列为[1, 2, 3], [1, 3, 2];以 2 开头的全排列为[2, 1, 3], [2, 3, 1];

m0_68987535的博客 8794

吴恩达深度学习课程之序列模型第一周-循环序列模型 思维导图

pl0321的博客 343

cesium自定义指南针

项目需要一个指南针,用鼠标按住旋转指针,会让3d地图旋转,点击中心点重置方位。当然可以使用插件cesium-navigation-es6,但是样式不好修改,所以我自定义了一个指南针。

weixin_47017648的博客 750

5.序列模型 第一周 循环序列模型

Core:学习搭建循环神经网络并将其应用于自然语言识别和音频应用。 本课程分3周: 第一周 循环序列模型(只学习) 第二周 自然语言处理与词嵌入 第三周 序列模型与注意力机制 1.1 为什么选择序列模型? X与Y可能都是序列,也可能有一方是序列。输入与输出的序列长度可以不同。 1.2 数学符号 识别句中人名位置的序列模型。(命名实体识别问题) 用x&lt;t&gt;x&l...

升级迭代 697

分子动力学模拟学习1-采用AmberTools21的MCPB.py构建金属蛋白的top文件

分子动力学模拟学习1-采用AmberTools21的MCPB.py构建金属蛋白的top文件

weixin_45011386的博客 3823

深度解构事务码 SQF:Support Query Framework 与 ABAP 静态分析实战

某制造企业在年度审计前,需要确认自定义发票过账程序 ZFI_INV* 系列是否存在硬编码公司代码与未捕获异常。技术团队在字段填入ZFI_INV*后,勾选与规则,执行扫描。SQF 生成的 ALV 报告列出 42 个警告,其中 17 条与抛出 CX_SY_NO_HANDLER 相关,8 条涉及动态 SQL 注入风险。结果导出至 Excel 供开发整改,并在 ATC 阶段验证修复。此过程较手工逐个执行 Code Inspector 节省超 80 % 时间。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 214

Course 5 - 序列模型 - 第一周作业 - 搭建循环神经网络及其应用

1.实现RNN网络的前向传播 1.1RNN cell的前向传播 1.2RNN的前向传播 #!/usr/bin/env python # _*_ coding:utf-8 _* import numpy as np import rnn_utils # 1.计算在rnn cell中基本的计算,根据A(t-1),X(t)计算A(t)/Y(t) def rnn_cell_for...

qq_24599703的博客 1937

A.特定领域知识图谱知识推理方案:知识图谱推理算法综述[五]-GeniePath会自动过滤多度“邻居“的图神经网络算法。

构图对于GNN格外重要。那么怎样构图才有信息、有意义呢?如果节点的邻居只有自己,即邻接矩阵为对角阵时,GNN会退化成一个DNN模型。图中每个节点都是孤立的,相当图信息并不能相比其他方法带来增益。如果图特别稠密,比如是一个clique,即每个节点都和所有其他节点有边连接。同样的,这样的图信息同样是信息熵为0。经验上讲,节点度分布有区分度的图是相对有价值的。查看图的节点度分布。比如二类分类,分析正负例的图拓扑当然,构图和实际场景强相关。

丨汀、的博客 437

【Coursera】吴恩达 deeplearning.ai 05.序列模型 第一周 循环序列模型 课程笔记

【Coursera】吴恩达 deeplearning.ai 05.序列模型 第一周 循环序列模型 课程笔记

要加油 673

使用R语言实现循环神经网络RNN进行文本生成

首先,让我们回顾一下循环神经网络(Recurrent Neural Networks,RNN)的基本概念。RNN是一种深度学习技术,特别适合处理序列数据,如时间序列和文本数据。RNN的关键特性是它的隐藏状态,这个状态可以捕捉到当前输入之前的信息。这使得RNN能够利用前面的信息来影响后续的输出,从而对序列数据进行有效的处理。

斌擎科技 724

Dify平台隐患url:/console/api/remote-files/upload暴露高危漏洞,配置nginx htpasswd模块认证机制屏蔽解决

内部网络探测: 攻击者可通过SSRF扫描内网服务云元数据访问: 可能访问AWS/Aliyun/腾讯云等元数据服务服务端请求伪造: 以服务器身份发起任意HTTP请求。

CN_Eden 1317

Coursera吴恩达《深度学习》课程总结(全)

01 神经网络和深度学习(Neural Networks and Deep Learning) 1-1 深度学习概论 主要介绍:主要对深度学习进行了简要概述。首先,我们使用房价预测的例子来建立最简单的单个神经元组成的神经网络模型。然后,我们将例子复杂化,建立标准的神经网络模型结构。接着,我们从监督式学习入手,介绍了不同的神经网络类型,包括Standard NN,CNN和RNN。不同的神经网络模型适合处理不同类型的问题。对数据集本身来说,分为结构化数据和非结构化数据。近些年来,深度学习对非结构化数据的处理

csdn_xmj的博客 5万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

05.序列模型 W1.循环序列模型

文章目录1. 为什么选择序列模型2. 数学符号3. 循环Recurrent 神经网络模型4. 通过时间的反向传播5. 不同类型的循环神经网络6. 语言模型和序列生成7. 对新序列采样8. 循环神经网络的梯度消失 参考: 吴恩达视频课 深度学习笔记 1. 为什么选择序列模型 有些问题,输入数据 X 和 输出数据 Y 都是序列,X 和 Y 有时也会不一样长。在另一些问题里,只有 X 或 只有 Y 是序列 2. 数学符号 3. 循环Recurrent 神经网络模型 为什么不使用标准的神经网络学习上面的 X

Michael是个半路程序员 957

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

《吴恩达深度学习》05序列模型(第1周 循环序列模型)

05. 序列模型 第1周 循环序列模型 1.1 为什么选择序列模型 序列数据举例 (1)语音识别 (2)音乐生成 (3)态度分类 (4)DNA序列分析 (5)机器翻译 (6)视频动作识别 (7)命名实体识别 1.2 数学符号 1.3 循环神经网络 1.4 通过时间的方向传播 1.5 不同类型的循环神经网络 1.6 语言模型和序列生成 1.7 对新序列采样 1.8 带有神经网络的梯度消失 1.9 GRU单元 1.10 长短期记忆 1.11 双向神经网络 1.12 深层循环神经网络 ...

fzj0121的博客 2466

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

吴恩达深度学习笔记05——序列模型1循环序列模型

11111

阿尔基亚的玫瑰蜜 486

《深度学习工程师-吴恩达》05序列模型--循环序列模型 总结

作者:jliang https://blog.csdn.net/jliang3 《深度学习工程师-吴恩达》04序列模型--循环序列模型 学习总结 1.重点归纳 1)循环神经网络(RNN) (1)循环神经网络(RNN)之类的模型在语音识别、自然语言处理和其他领域中一起变革,它属于监督学习,X和Y有时会不一样长,有时候会一样长。 (2)例子:语音识别、音乐生成、文本情感分...

jliang3的博客 1356

吴恩达深度学习网课 通俗版笔记——(05.序列模型)第一周 循环系列模型

循环系列模型 本周是序列模型第一周的内容。 1.1 为什么选择序列模型 序列模型有非常多的应用: 语音识别、音乐生成、情感分类、DNA序列分析、机器翻译、视频行为识别、命名实体识别等等。 1.2 数学符号 从上一节可以看到,序列模型依然是监督学习范畴,即需要给定x和y。 举一个例子,给定一段文本,想要识别其中表示名字的单词。下图展示了一些数学符号,表示单词位置。 在自然语言处理中,x序列中每...

风中一匹狼的博客 359

05. 序列模型 —— week1. 循环序列模型

1. 序列模型的应用 语音识别:将输入的语音信号直接输出相应的语音文本信息。无论是语音信号还是文本信息均是序列数据。 音乐生成:生成音乐乐谱。只有输出的音乐乐谱是序列数据,输入可以是空或者一个整数。 情感分类:将输入的评论句子转换为相应的等级或评分。输入是一个序列,输出则是一个单独的类别。 DNA序列分析:找到输入的DNA序列的蛋白质表达的子序列。 机器翻译:两种不同语言之间的想换转换。输入和输...

iCode_girl的博客 438

05.序列模型 W1.循环序列模型(作业:手写RNN+恐龙名字生成)

文章目录作业1:建立你的循环神经网络1. RNN 前向传播1.1 RNN 单元1.2 RNN 前向传播2. LSTM 网络2.1 LSTM 单元2.2 LSTM 前向传播3. RNN 反向传播3.1 基础 RNN 反向传播 测试题:参考博文 笔记:05.序列模型 W1.循环序列模型 作业1:建立你的循环神经网络 RNN 模型对序列问题(如NLP)非常有效,因为它有记忆,能记住一些信息,并传递至后面的时间步当中 导入一些包 import numpy as np from rnn_utils import

Michael是个半路程序员 3732

rnn神经网络模型_吴恩达深度学习笔记05.序列模型 W1.循环序列模型RNN

目录1. 为什么选择序列模型2. 数学符号3. 循环Recurrent 神经网络模型4. 通过时间的反向传播5. 不同类型的循环神经网络6. 语言模型和序列生成7. 对新序列采样8. 循环神经网络的梯度消失9. Gated Recurrent Unit(GRU单元)10. LSTM(long short term memory)unit11. 双向循环神经网络(Bidirectional...

weixin_39704374的博客 145

吴恩达深度学习课程笔记Lesson14(下)

在自然语言处理中,构建语言模型是最基础的也是最重要的工作之一,并且能用RNN很好地实现。在本视频中,你将学习用RNN构建一个语言模型,在本周结束的时候,还会有一个很有趣的编程练习,你能在练习中构建一个语言模型,并用它来生成莎士比亚文风的文本或其他类型文本。所以什么是语言模型呢?比如你在做一个语音识别系统,你听到一个句子,“the apple and pear(pair) salad was delicious.”,所以我究竟说了什么?我说的是 “the apple and pair salad”,还是“th

智潮先锋聚集地 935
上一篇: 使用Git工具
下一篇: 最长合法括号
张小飘
博客等级 码龄11年 9粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值