第九周:机器学习

news2024/9/20 18:46:21

目录

摘要

Abstract

一、RNN

1、引入

2、RNN的分类

二、LSTM

1、基本结构 

2、具体步骤

3、举例说明

4、原理理解 

总结 


摘要

本周主要围绕RNN进行探讨,从为什么需要这类”循环网络“入手,提到了”slot filling“技术,接着又对RNN的几个典型类别进行流程绘制及优缺点分析。总的来说,RNN有几种特殊情况——LSTM和GRU。本篇文章主要是对LSTM的基本结构、计算步骤进行了解和总结,最后还手写推导了一个具体的案例。LSTM和一般的network还是有一些区别,为了理解它和RNN的关系,又进行了对比分析。

Abstract

This week's discussion centers around RNNs, starting from why we need this kind of “recurrent networks”, mentioning the “slot filling” technique, and then mapping the flow and analyzing the advantages and disadvantages of several typical classes of RNNs. In general, there are several special cases of RNN - LSTM and GRU. this article mainly focuses on understanding and summarizing the basic structure and computation steps of LSTM, and in the end, it also handwrites and derives a specific case. there are still some differences between LSTM and general networks, and a comparative analysis is carried out in order to understand the relationship between LSTM and RNN. relationship with RNN, and then compared and analyzed.

一、RNN

1、引入

slot filling槽填充:一个关键词汇就是一个槽slot,从输入的句子当中发选出合适的词汇取值放入槽中称为填充filling。

在上图的例子当中,输入是一个句子。slot是”目的地“和”到达时间“,最终经过神经网络,筛选出其对应的词汇。

问题:如果使用前馈神经网络来实现slot filling,那么将会出现词义混淆的问题。

如上图一样,分不清Taipei是”目的地“还是”出发地“。但是可以看出,Taipei的前置动词是不一样的,如果神经网络可以有记忆,记住arrive和leave,就能解决这个问题。

解决:我们将输入的信息再传入下一层神经元的时候,先保存在一个hidden layer中,然后通过”记忆“计算输出。

RNN(Recurrent Neural Network)循环神经网络:是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。

在本案例中,增加slot——”leave“和”arrive“,其中绿色方框是hidden layer、蓝色方框是memory、黄色和橙色方框分别代表输入和输出。当输入为”leave“或是”arrive“时,首先经过多层hidden layer最终输出是进行slot filling;其中hidden layer中的值会转而储存到memory中;当下一个输入在hidden layer中进行计算时,还要考虑到前一个memory中的值;最后计算”Taipei“的slot filling时,是考虑了前面单词的词义,解决了”前馈神经网络“的无记忆的问题。 

2、RNN的分类

Elman network&Jordan network

在Elman network中,前一个(输入的)hidden layer所得的值保存下来放到下一个(输入的)hidden layer中去;而在Jordan network中,前一个(输入的)output的值保存下来放到下一个(输入的)hidden layer中去。 

由实验所得,Jordan network一般要优于Elman network,是因为hidden layer没有target,而output有target(target的作用就是使预测值有一个对标的真实值),有target则认为是有参照物的,比较好控制。

Bidirectional RNN 

前面的方式,RNN都是将一个句子的单词“从头至尾”的单向读取。但是,也可以双向的读取各个单词,如下:

 

这样的话,当句子中的某个单词做input-output时,该方式不仅仅看过了前半部分的input,而且还看过了其后半部分的input,考虑的信息更多,最终的slot filling效果更好。 

二、LSTM

1、基本结构 

长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决RNN存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。 

LSTM的结构图如下所示: 

 

该结构中一共有三个控制信号,分别是input gate(控制memory cell的开关,只有“开”才会将信息保存至memory中 ) 、forget gate(决定memory cell何时重置清零)、output gate(控制memory cell的开关,只有“开”才会将memory中的信息读取出来)

LSTM的详细计算流程如下图:

字母含义介绍: 

z   输入

z_i “输入”控制信号

z_f “重置”控制信号

z_o “输出”控制信号

a   输出

c  memory中的值——{c}'  memory中更新后的值

g(z)f(z_i)f(z_f)f(z_o)h({c}')都是输入经过激活函数计算后的值 

2、具体步骤

step1 判断“输入门”是否开启

判断式g(z)f(z_i)

如果z_i是零(输入门关闭),那么式子也是零;如果z_i非零(输入门开启),那么式子非零(z不为零)

step2 判断“记忆门”是否开启

判断式cf(z_f)

如果z_f是零(记忆门关闭),那么式子也是零;如果z_f非零(记忆门开启),那么式子非零(c不为零)

step3 叠加记忆或者重置记忆

{c}'=g(z)f(z_i)+cf(z_f)

将step1和step2的两个式子相加得到该input信息在memory中的存储情况。总的来说,memory当中的取值取决于“输入门“控制 和”记忆门“控制二者。 

step4 判断”输出门“是否开启

判断式h({c}')f(z_o)

 如果z_o是零(输出门关闭),那么式子也是零;如果z_o非零(输出门开启),那么式子非零({c}'不为零)

3、举例说明

当{x_1x_2x_3} 的输入信息不断变化的时候,输出的分析如下图:

 

4、原理理解 

LSTM是RNN的一种特殊形式 ,其中的memory就可以看作是neural。一般的network当中,neural相当于一个处理input的function;LSTM中,memory也相当于一个function,只不过需要有4个对应的input。如下图: 

左图中的一个input只会乘以一个权重就放进neural中,右图中可以明显看出,一个input放进hidden layer当中的neural进行计算时,需要分为4个input,所以推测最初input的值应该是一个4维向量。 

然而,现实中的 LSTM会更加的复杂,结构如下图: 

 

每一个的计算都需要:该输入的4个input、上一输入的output、以及memory中存储的值。 

一般LSTM不止一层,会出现多层叠加的情况,如下: 

 

总结 

这周由RNN入手,进而深入学习了LSTM的基本原理和计算流程。接下来,我将学习RNN的另一种特殊形式——GRU,以及RNN所遇到的困难和解决方式。针对上周自注意力机制的学习,我将在后续查漏补缺,更进一步学习底层原理和计算的推导。 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型赋能风控运营:效率跃升的密码

一、大模型助力风控运营的背景与趋势 大模型兴起的背景 随着金融行业的迅速发展和数据量的爆炸式增长,传统的风控运营手段逐渐难以满足复杂多变的风险形势。大数据、人工智能等技术的不断进步,为大模型在风控运营领域的应用提供了技术支撑。金融机构面…

海洋大地测量基准与水下导航系列之一引子

海底大地基准网是一组布放在海底的声学基准站,组建类似GNSS星座的定位系统,既可以对水面及水下的各类设备提供时间和空间信息,也可用来监测海底板块及水体环境的动态变化。海底声学基准站与海面GNSS、海底重力站联合打造立体的观测控制网&…

十道MySQL必问面试题

你是如何理解最左前缀原则的?你是如何理解行锁、GAP锁、临键锁的?你是如何理解MVCC的?你是如何理解count(*)和count(1)的?你是如何理解Online DDL的?你知道哪些情况下会导致索引失效?你是如何理解filesort的…

fastmock使用

FastMock 是一个在线工具,用于快速创建和管理模拟 API(Mock API)。它主要用于前端开发,允许开发者在没有真实后端服务的情况下,模拟 API 响应,从而加速开发和测试过程。 FastMock网址:fastmock.…

Java多进程调用dll程序和exe程序

🎯导读:本文介绍了使用Java调用本地DLL及EXE程序的方法。针对DLL调用,文章提供了基于Java Native Access (JNA) 库的具体实现方案,包括定义Java接口以映射DLL中的函数,并展示了如何加载DLL及调用其中的方法。对于EXE程…

Python 数据可视化:工具与实践

文章目录 数据可视化可视化库特点对比实例:绘制基本数据分布图评估维度 交互式可视化与静态图表实例:创建交互式折线图评估维度 实时数据可视化实例:展示实时股票数据评估维度 图表设计原则实例:设计适合展示销售数据的条形图评估…

论文辅助笔记:LP_BERT

1 train_task1.py 1.1 main部分 读取命令行参数,调用task1函数 1.2 task1 train 1.3 task1 valid 1.3 collate_fn 2 Dataset 2.1 train dataset 2.2 valid dataset 3 LPBERT 3.1 不同的embedding day-of-week embedding和time-of-day embedding X位置和Y位置的…

色彩与笔触的交响:广州米塔在线科教技术有限公司揭秘PS绘画秘籍!

在数字艺术的广阔天地里,PS无疑是一颗璀璨的明星,它不仅在图像处理领域独领风骚,更以其强大的功能成为了众多艺术家和设计师进行数字绘画的首选工具。广州米塔在线科教技术有限公司,作为致力于艺术教育与技术分享的平台,深知掌握P…

sealos快速搭建k8s集群

一,环境准备 1,三台(搭建一主两从集群)或五台(三主两从集群)虚拟机, 安装alimaLinux系统 ,相同的root密码,不要安装docker。 如果是alimaLinux-mini版本操作系统&#xf…

PMP–知识卡片--SCQA金字塔表达

SCQA模型通过四个关键元素:情景冲突疑问答案,建立了一个精确而有逻辑的表达框架。同时,它也能够帮助你构建合理的逻辑链条,让别人更容易理解和接受你的观点。 情景:通过描述背景和现状引入话题,这个元素帮助…

两个月冲刺软考——关系模式中的候选关键字与如何分解为无损连接并保持函数依赖的解法(例题讲解,看完必会)

1. 数据库中的简单属性、多值属性、复合属性、派生属性 简单属性:指不能够再分解成更小部分的属性,通常是数据表中的一个列。例如学生表中的“学号”、“姓名”等均为简单属性。 多值属性:指一个属性可以有多个值。例如一个学生可能会有多个…

掌握EF Core:全方位面试指南,助你从初级到高级轻松晋级

一、前言 这份指南旨在帮助你为主要考察 Entity Framework Core (EF Core) 的面试做好准备,内容涵盖基础、中级和高级三个不同经验级别。每个级别包括10个高频面试题,附有解题思路和详细的解答示例。 二、基础级别 重点在于 EF Core 的基本概念和使用…

nginx源码编译

华子目录 准备下载nginx源码包关闭firewalld和selinux安装依赖环境 安装解压关闭nginx的debug功能执行./configure进行环境检测添加nginx系统用户使用make编译使用make install安装 进入到prefix指定的目录中查看启动nginx服务关闭nginx添加nginx环境变量卸载nginx 准备 下载n…

猫头虎 分享:Python库 SciPy 的简介、安装、用法详解入门教程

🐯 猫头虎 分享:Python库 SciPy 的简介、安装、用法详解入门教程 今天猫头虎带您深入探索SciPy,一个在数据科学和人工智能领域必不可少的Python库! 📝 摘要 在数据科学和人工智能领域,SciPy 是一个关键的…

【电脑小白】告别蓝屏恐慌:一步步教你排查和解决蓝屏问题,从此告别蓝屏烦恼!

在日常学习和工作中,电脑已经成为我们日常生活和工作中不可或缺的一部分。然而,电脑的蓝屏问题却成为许多朋友,尤其是电脑小白们的噩梦。一旦遭遇蓝屏,大多数人一时都会感到手足无措。 因此,本文将向各位朋友介绍遇到蓝…

迁移学习之领域泛化

对目标领域一无所知,并不是要适应到某一个特定的领域上的问题通常称为领域泛化。领 域泛化可又分成两种情况。一种情况是训练数据非常丰富,包含了各种不同的领域,测试数据 只有一个领域。如图1(a)所示,比如…

2024年8月30日(docker部署project-exam-system系统 并用Dockerfile构建java镜像)

一、回顾 1.使用harbao仓库 1. Python -- version 2. yum -y update 3. yum -y install python2-pip 4. pip install -- upgrade pip 20.3 -i https://mirrors.aliyun.com/pypi/simple 5. pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple 6. source do…

向量、数量积、向量积

目录 一、向量的定义二、向量是有序的数字列表三、向量的基本分类四、向量的运算律五、向量的基本运算1、向量加法2、向量乘法(数乘)3、向量减法4、点积(内积或数量积)5、叉积(外积或向量积)6、向量的模&am…

RTA-OS Port Guide学习(一)-基于S32K324 OS

文章目录 前言OS Port的安装Port CharacteristicsParameters of ImplementationConfiguration ParametersStack used for C-startup(SpPreStartOS)Stack used when idle (SpStartOS)Stack overheads for ISR activation (SpIDisp)Stack overheads for ECC tasks (SpECC)Stack o…

LLM的范式转移:RL带来新的 Scaling Law

从几周前 Sam Altman 在 X 上发布草莓照片开始,整个行业都在期待 OpenAI 发布新模型。根据 The information 的报道,Strawberry 就是之前的 Q-star,其合成数据的方法会大幅提升 LLM 的智能推理能力,尤其体现在数学解题、解字谜、代…