热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

吴恩达深度学习笔记(五)week1循环序列模型

为什么选择序列模型(序列模型的例子)数学符号x<t>x<t>

为什么选择序列模型(序列模型的例子)

吴恩达深度学习笔记(五)week1循环序列模型

数学符号

吴恩达深度学习笔记(五)week1循环序列模型


x<t> 表示样本的第t个输入
y<t> 表示样本的第t个输出
Tx表示输入样本的长度
Ty表示输出的长度
x(i)<t>表示第i个样本的第t个输入
y(i)<t>表示第i个样本的第t个输出


至于如何表示每个x(i)<t>,常用的方法有one-hot-representation和distributed-representation

循环神经网络模型

为什么不选择标准神经网络

吴恩达深度学习笔记(五)week1循环序列模型

循环神经网络结构

吴恩达深度学习笔记(五)week1循环序列模型
左边是通俗的结构模型,右边是实际的结构模型,通过反馈能使当前输出不仅取决于当前输入,还受之前输入的影响。

前向传播过程

吴恩达深度学习笔记(五)week1循环序列模型
其中W第一个下标代表用于计算的输出类型,第二个下标代表与W做运算的数据类型。 更为简单的表示如下图。
吴恩达深度学习笔记(五)week1循环序列模型

通过时间的反向传播

定义损失函数如下。
吴恩达深度学习笔记(五)week1循环序列模型

不同循环神经网络

吴恩达深度学习笔记(五)week1循环序列模型
如第一节中的例子,实际问题中输入与输出长度有多种对应关系,为解决不同的问题需求,循环神经网络的结构也有多种
吴恩达深度学习笔记(五)week1循环序列模型

语言模型和序列生成

语言模型:一个语言模型通常构建为字符串s的概率分布p(s),这里的p(s)试图反映的是字符串s作为一个句子出现的概率。–摘自统计自然语言处理(宗成庆)
吴恩达深度学习笔记(五)week1循环序列模型
用RNN构建语言模型 ,如下图所示,其中x<t>=y<t1>。输出层采用的**函数是softmax.
吴恩达深度学习笔记(五)week1循环序列模型

对新序列进行采样 (生成特定风格文本)

用特定风格的文本训练神经网络后,可以勇气来生成相似风格的文本,下图分别是训练过程和采样过程。采样过程随机初始化输入后计算每个单词的概率,然后对每个单词进行随机采样,并把采样结果作为下一时刻的输出。
吴恩达深度学习笔记(五)week1循环序列模型
下图是用不同语料生成的不同风格文本。
吴恩达深度学习笔记(五)week1循环序列模型

带有神经网络的梯度消失

当神经网络的层数很深时,梯度可能会指数型增长(梯度爆炸)或者指数型下降(梯度消失)。当发生梯度消失时,当前层的输出很容易受局部影响,不能传播到更前的层,如下面的句子,was很难影响到cat(单数),为解决梯度消失,GRU和LSTM是有效的方法。
吴恩达深度学习笔记(五)week1循环序列模型

GRU单元(门控制循环单元)

如下为一个简化的GRU单元, c<t>为记忆单元,其取值由c~<t>c<t1>共同决定,由Γu 控制,因为Γu 的**函数为sigmoid函数,所以其取值基本上为01分别代表记忆单元是更新取值(c~<t>)还是保持之前的取值(c<t1>
吴恩达深度学习笔记(五)week1循环序列模型
完整的GRU单元如下图所示 ,在计算c~<t>时给c<t1>加了个权重Γr
吴恩达深度学习笔记(五)week1循环序列模型

长短期记忆(LSTM)

LSTM的基本思想和GRU一样,都是用控制门单元控制当前时刻的输出,但LSTM中的 c<t>并不与 a<t>相等,具体关系如下图。
吴恩达深度学习笔记(五)week1循环序列模型
LSTM模型如下图。
吴恩达深度学习笔记(五)week1循环序列模型

双向神经网络

构建双向神经网络的需求之一是自然语言处理中的命名实体识别,如下面的句子,判断Teddy是否为人名,不仅与之前的输入有关还与其之后的输入有关。
吴恩达深度学习笔记(五)week1循环序列模型
双向神经网络结构如下图所示。
吴恩达深度学习笔记(五)week1循环序列模型

深层循环神经网络

深层循环神经网络每个时刻的输出是经过多个隐藏层后输出的,但是因为循环神经网络需要的计算资源很大,所以循环神经网络的层数一般不会很深。
吴恩达深度学习笔记(五)week1循环序列模型


推荐阅读
  • 第三届人工智能、网络与信息技术国际学术会议(AINIT 2022)
    20223rdInternationalSeminaronArtificialIntelligence,NetworkingandInformationTechnology第三届 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 视觉图像的生成机制与英文术语解析
    近期,Google Brain、牛津大学和清华大学等多家研究机构相继发布了关于多层感知机(MLP)在视觉图像分类中的应用成果。这些研究深入探讨了MLP在视觉任务中的工作机制,并解析了相关技术术语,为理解视觉图像生成提供了新的视角和方法。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • Quora问题探讨:26岁开始转行做开发是否太迟? ... [详细]
  • 微服务优雅上下线的最佳实践
    本文介绍了微服务上下线的正确姿势,避免使用 kill -9 等粗暴手段,确保服务的稳定性和可靠性。 ... [详细]
  • NX二次开发:UFUN点收集器UF_UI_select_point_collection详解
    本文介绍了如何在NX中使用UFUN库进行点收集器的二次开发,包括必要的头文件包含、初始化和选择点集合的具体实现。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 理工科男女不容错过的神奇资源网站
    十一长假即将结束,你的假期学习计划进展如何?无论你是在家中、思念家乡,还是身处异国他乡,理工科学生都不容错过一些神奇的资源网站。这些网站提供了丰富的学术资料、实验数据和技术文档,能够帮助你在假期中高效学习和提升专业技能。 ... [详细]
  • 随着各类门户网站、短视频平台、剧集播放和在线教育等互联网内容生态的迅猛发展,网络流量呈现爆炸性增长。为提升用户体验,边缘云计算与CDN(内容分发网络)技术应运而生。这些技术通过在靠近用户的位置部署节点,有效降低了数据传输延迟,提高了内容加载速度,确保用户能够通过手机或电脑流畅访问互联网资源。此外,边缘计算还能够在本地处理部分数据,进一步减轻核心网络的压力,优化整体网络性能。 ... [详细]
author-avatar
mobiledu2502861407
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有