「深度学习」循环神经网络RNN

一、序列模型的例子

二、数学符号定义

X^{(i)<t>}:训练样本 i 的输入序列的第 t 个元素。

T_{X}^{i}:训练样本 i 的输入序列的长度。

Y^{(i)<t>}:训练样本 i 的输出序列的第 t 个元素。

T_{Y}^{i}:训练样本 i 的输出序列的长度。

三、举例:识别人名

【输入和输出序列长度相同】

1、数据表示

准备 Vocabulary/Dictionary

将所有要用到的单词放在一起,做成清单 —— 将每个单词用一位 one-hot 表示

遇见没见过的单词,常见新标记 Unknown Word,使用 <UNK> 来表示

2. 标准神经网络存在的问题

  • 对于不同的例子,输入和输出会有不同的长度

  • 不共享从文本的不同位置学到的特征

3. 循环神经网络 (RNN)

(1) 构建 RNN

循环神经网络从左向右扫描数据,每一步所用的参数是共享的

缺点:只使用当前输入之前的序列信息来做预测 —— 解决方法:双向循环神经网络(BRNN)

(2) 前向传播

损失函数:

用向量简化符号:

(3)通过时间的反向传播

四、不同类型的循环神经网络

多对多型(如机器翻译)、多对一型、一对一型(标准的小型神经网络)、一对多型、注意力结构

如音乐生成:、机器翻译:

五、RNN 构建语言模型

1. 定义语言模型

y^{<i>} 来表示输入的文本序列 x^{<i>} = y^{<i-1>}

训练集: 大量的英文文本 语料库 (large corpus)

句子结尾:增加额外的标记 EOS (可选)

未知词:增加额外的标记 UNK

2. 建立 RNN 模型

通过前面输入的单词,预测下一个输出单词的概率。

  • 定义代价函数 (softmax):

    L (\overline{y}^{<t>}, y^{<t>}) = -\sum{y_{i}^{<t>} log\overline{y}_{i}^{<t>}}​

    L = \sum{L^{<t>} (\overline{y}^{<t>}, y^{<t>})}

  • 给定新句子输出的概率:

    P(y^{<1>}, y^{<2>},...,y^{<n>}) = P(y^{<1>})P(y^{<2>}|y^{<1>})...P(y^{<n>}|y^{<1>}y^{<2>}...y^{<n-1>})​

3. 新序列采样

序列模型:模拟了任意特定单词序列的概率

新序列采样:对上述概率分布进行采样,根据训练好的模型,生成新的单词序列/随机的句子。

绝大多数使用基于词汇的语言模型,基于字母的语言模型将得到太长的序列,消耗算力。

六、双向循环神经网络 (BRNN)

两个前向传播:一个从前往后、一个从后往前 —— 既可知道以前的信息,也可以知道未来的信息

​​​​​​​

基本单元可以是标准 RNN 单元,也可以是 GRU​​​​​​​ 单元或 LSTM 单元

常见:带有 LSTM 单元的双向 RNN 模型

缺点:需要完整的数据序列

七、深层循环神经网络 (DRNNs)

a^{[l]<t>}:第 l 层 t 时刻的激活值

​​​​​​​

基本单元可以是标准 RNN 单元,也可以是 GRU​​​​​​​​​​​​​​ 单元或 LSTM 单元

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/455440.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle 面试题 | 14.精选Oracle高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

OpenGL实现光源位置指示

案例需求&#xff1a; 在三维超声显示中&#xff0c;需要一个光源指示功能来示意光源是从什么方向照向胎儿的&#xff0c;从而帮助用户去理解当前胎儿三维显示的效果。如下图 基于以上需求需要实现以下几点功能&#xff1a; 1. 构造球体模型和光源模型&#xff1b; 2. 绕球体…

恒创科技:服务器内存不足影响大吗?

​  服务器在为网站、应用程序和在线服务提供支持方面发挥着关键作用。这些服务器需要提供最佳性能&#xff0c;以确保正常无缝的用户体验&#xff0c;而RAM是显著影响服务器性能的关键配置之一。 RAM 是一种随机存取存储器&#xff0c;计算机和服务器使用它来临时存储正在使…

【GAMES101】Lecture 17 材质

目录 材质 漫反射 镜面反射 折射-Snell’s Law Fresnel Reflection / Term&#xff08;菲涅耳项&#xff09; 微表面模型 各向同性与各向异性 BRDF的性质 测量BRDF 材质 渲染方程中的BRDF描述了物体是如何与光线作用的&#xff0c;而物体的材质决定了它看起来是怎么样…

有趣的CSS - 按钮文字上下滑动

目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲染效果 整体效果 这个按钮效果主要使用 :hover 伪选择器以及 transition 过渡属性来实现两个子元素上下过渡的效果。 此效果可以在主入口按钮、详情或者更多等按钮处使用&#xff0c;增加一些鼠…

zxxxxczzvdsgbhfdb

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 磁盘满的本质分析 专栏&#xff1a;《Linux从小白到大神》 | 系统学习Linux开发、VIM/GCC/GDB/Make工具…

Flink 动态表 (Dynamic Table) 解读

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

深度解析ScheduledThreadPoolExecutor源码之ScheduledFutureTask

文章目录 引言一、RunnableScheduledFuture定义周期性接口二、ScheduledFutureTask源码分析2.1 ScheduledFutureTask参数解析2.2 ScheduledFutureTask源码方法解析 总结 引言 在上一章节我们已经对ScheduledThreadPoolExecutor中的延迟队列DelayedWorkQueue做了源码分析深度解…

ManimCE教程(1)快速入门

概述 Manim 是一个用于精确编程动画的动画引擎。 开始一个新项目 首先创建一个新文件夹&#xff0c;命名为&#xff1a;project&#xff0c;此文件夹是项目的根文件夹&#xff0c;它包含 Manim 运行所需的所有文件&#xff0c;以及项目产生的所有输出。 设置圆的动画 1、打…

文心一言4.0API接入指南

概述 文心一言是百度打造出来的人工智能大语言模型&#xff0c;具备跨模态、跨语言的深度语义理解与生成能力&#xff0c;文心一言有五大能力&#xff0c;文学创作、商业文案创作、数理逻辑推算、中文理解、多模态生成&#xff0c;其在搜索问答、内容创作生成、智能办公等众多…

Python入门:常用模块—time datetime模块

在python中&#xff0c;与时间处理有关的常用模块有&#xff1a;time&#xff0c;datetime&#xff0c;calendar&#xff08;很少用&#xff09; 一、在Python中&#xff0c;通常有这几种方式来表示时间&#xff1a; 时间戳格式化的时间字符串元组&#xff08;struct_time&am…

vscode 突然连接不上服务器了(2024年版本 自动更新从1.85-1.86)

vscode日志 ll192.168.103.5s password:]0;C:\WINDOWS\System32\cmd.exe [17:09:16.886] Got some output, clearing connection timeout [17:09:16.887] Showing password prompt [17:09:19.688] Got password response [17:09:19.688] "install" wrote data to te…