2022清华暑校笔记之L2_2 CNN和RNN基础介绍

2024-03-05 22:30

本文主要是介绍2022清华暑校笔记之L2_2 CNN和RNN基础介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2022清华大学大模型交叉研讨课

L2 Neural Network basics

1 Recurrent Neural Networks

循环神经网络RNNs

1.1 RNN基础

序列数据 顺序记忆(大脑更易识别)

输入通常是不定长的数据,h为不同时间步的变量,y为输出
RNN结构单元

在这里插入图片描述
顺序记忆:每一个时间步的hi都是由上一个隐藏状态的内容,h0需要自己初始化的。

  • 应用:
    • 序列标签(标注属性)
    • 序列预测(预测天气)
    • 图像描述(给定图片生成句子)
    • 文本分类(区分情感)
  • 优点
    • 可以处理任意长度的输入
    • 模型的大小不会因为输入的长短而改变
    • 参数共享
    • 后面的计算会使用之前步骤的信息
  • 缺点
    • 时间较慢
    • 实际上后面的计算很难再用到之前的数据
    • 梯度消失(常出现)或梯度爆炸

1.2 RNN变体

思路:优化单元,将隐藏层变复杂

1.2.1 GRU(Gated Recurrent Unit)

将门控机制引入RNN,权衡过去的信息和当前输入信息的权重。观察式子我们发现,此处的W均为专属的权重
在这里插入图片描述

  • 重置门
    h ~ i = tanh ⁡ ( W x x i + r i ∗ W h h i − 1 + b ) \tilde{h}_{i}=\tanh \left(W_{x} x_{i}+r_{i} * W_{h} h_{i-1}+b\right) h~i=tanh(Wxxi+riWhhi1+b)
    考虑到上一层的状态对当前的激活,我们可以得到一个临时的hi.
    如果我们的ri接近于0的话,我们会发现hi和上一个hi的关系很弱。
  • 更新门
    h i = z i ∗ h i − 1 + ( 1 − z i ) ∗ h ~ i h_{i}=z_{i} * h_{i-1}+\left(1-z_{i}\right) * \tilde{h}_{i} hi=zihi1+(1zi)h~i
    权衡新得到的hi和hi-1之间的影响,从而得到传输到下一层的hi。
    当zi接近于1的时候,hi和hi-1完全相等;当zi接近于0的时候,我们可以直接采用激活后的新hi。
  • 演示
    在这里插入图片描述
    门控机制的好处:可以控制不同地方的关联性(快捷地建立较远的关系);减少数量
1.2.2 LSTM(Long Short-Term Memory)
  • Ct
    • 新增了一个Ct表示cell的状态,用来学习长期的依赖关系。
  • Forget gate ft 遗忘门
    在这里插入图片描述
    f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_{t}=\sigma\left(W_{f} \cdot\left[h_{t-1}, x_{t}\right]+b_{f}\right) ft=σ(Wf[ht1,xt]+bf)
    决定上一个状态中的哪些信息可以从cell中移除。计算方式: 当前的状态和上一层隐藏层状态。最后得到的ft为0-1区间内。如果为0,表示过去的信息直接丢弃。
  • 输入门
    在这里插入图片描述
    决定哪些信息可以存入cell状态中
    • it:输入门参数
      i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) i_{t}=\sigma\left(W_{i} \cdot\left[h_{t-1}, x_{t}\right]+b_{i}\right) it=σ(Wi[ht1,xt]+bi)
    • C ~ t \tilde{C}_{t} C~t为待选的ct变量
      C ~ t = tanh ⁡ ( W C ⋅ [ h t − 1 , x t ] + b C ) \tilde{C}_{t}=\tanh \left(W_{C} \cdot\left[h_{t-1}, x_{t}\right]+b_{C}\right) C~t=tanh(WC[ht1,xt]+bC)
  • 更新cell state
    在这里插入图片描述
    • C t = f t ∗ C t − 1 + i t ∗ C ~ t C_{t}=f_{t} * C_{t-1}+i_{t} * \tilde{C}_{t} Ct=ftCt1+itC~t
    • 首先更新旧的cell state:将遗忘门乘上一层cell state,来决定哪些信息需要摒弃
    • 将输入门和待选的新向量相乘,来决定当前哪些信息需要加入下一层的信息cell state。
  • 输出门 在这里插入图片描述
    输出门决定哪些信息可以输出
    o t = σ ( W o [ h t − 1 , x t ] + b o ) o_{t}=\sigma\left(W_{o}\left[h_{t-1}, x_{t}\right]+b_{o}\right) ot=σ(Wo[ht1,xt]+bo)
    h t = o t ∗ tanh ⁡ ( C t ) h_{t}=o_{t} * \tanh \left(C_{t}\right) ht=ottanh(Ct)
    (可以理解成调整一些信息来适应单词的表述)
1.2.3 Bidirectional RNNs(双向RNN)
  • 前言
    • 在传统RNN任务中,每一个隐藏状态变量都是从之前时间中的状态变量和当前的输入决定的
    • 但是很多应用中我们会依赖于整个输入序列
    • 例子:手写/语音识别
  • 示例图
    在这里插入图片描述

2 Convolutional Neural Networks

卷积神经网络CNNs

2.1 前言

  • 应用:
    • CV任务
    • NLP任务:情感分类、关系分类
  • 善于提取局部和位置不变的模式
    • CV:颜色、边角、纹理等
    • NLP:短语和语法结构等
  • 提取模式的步骤:
    • 计算一个句子中所有可能的n-gram的表示
    • 不依赖外部的语言学工具(如依赖解析等)

2.2 CNN结构示例

  • 结构:输入层、卷积层(filter)、最大池化层(提取特征)、非线性层
2.2.1输入层

将词通过word embedding转化成向量表示。
在这里插入图片描述
X为词向量表示矩阵,m此处为6,d为我们继续词向量表示时选取的维度。

2.2.2卷积层在这里插入图片描述

第二行,表示选取的N元组
W滑动的卷积核
f卷积之后的特征表示

卷积核的大小是全局参数共享的
在这里插入图片描述

2.2.3 CNN和RNN的比较

在这里插入图片描述

这篇关于2022清华暑校笔记之L2_2 CNN和RNN基础介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778017

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close