LLM - 循环神经网络(RNN)

1. RNN的关键点:即在处理序列数据时会有顺序的记忆。比如,RNN在处理一个字符串时,在对字母表顺序有记忆的前提下,处理这个字符串会更容易。就像人一样,读取下面第一个字符串会更容易,因为人对字母出现的顺序是提前知道的。但是将字符串反转过来,读取第二个字符串时就没那么容易了。

      

      

2. RNN整体网络结构:分为输入层,隐藏层,输出层;输入层的[x1, x2,x3]是序列数据,隐藏层[h0, h1, h2, h3]存储着过去一段时间和当前的一些状态信息(说明是有记忆的),输出层[y1, y2, y3], y1 是由上一个的状态h0 和 当前状态h1的计算结果。同样,按照这样方式 y2,y3 依次计算出来。 

        

3. RNN单层结构(RNN Cell):Hi是由上一个状态Hi-1计算得到的,输出Yi是由当前Hi计算得到。正式由于每一次隐藏状态的计算都包含了过去的状态,所以RNN是带记忆的。

       

4. RNN的例子:本例是通过输入一句话的前面几个词,来预测下一个词是什么;计算步骤如下:

(1)首先获取每个输入词(one-hot vectors)的词向量(参见LLM - 词向量 Word2vec-CSDN博客),即转换成语义更富的一个向量(word embeddings)。

(2)其次计算h1,h1是由初始状态h0 和 输入x1计算得到,一般h0是随机初始化的值。

          

(3)h2,h3等计算方式同上面的h1。

            

(4)计算h4,因为h4包含了前面h1,h2,h3所有词的信息,所以h4的值更符合句子语义。得到h4之后,再经过一个线性层和softmax处理,得到词表上每个词的概率。然后选择出现概率最大的词作为最终预测词。

             

5. RNN应用场景

(1):词性标注,给定一句话,预测每个词的词性

(2):序列预测,例如给定一周温度,预测每天天气如何

(3):图片描述,给定一个图片,生成一句描述该图片的话

(4):文本分类,给定一个句子,区别这句话情感是正面还是负面

6.RNN优点

(1)可以处理变长数据

(2)模型大小不会随着输入增加而增加

(3)模型权重参数是共享的

(4)后面的计算可以使用到前面的计算结果

7.RNN缺点

(1)是一个顺序计算过程,后面的计算依赖前面的结果,无法并行化

(2)随着序列不断向后推移,由于记忆步长的限制,后面的计算很难依赖更之前的状态,如下图,越往后计算梯度时链式越长,这会导致梯度消失或梯度爆炸。

       

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

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

相关文章

idea MarketPlace插件找不到

一、背景 好久没用idea了,打开项目后没有lombok,安装lombok插件时发现idea MarketPlace插件市场找不到,需要重新配置代理源,在外网访问时通过代理服务进行连接 二、操作 ### File-->setting 快捷键 Ctrl Alt S 远端源地…

动手学深度学习(Pytorch版)代码实践 -循环神经网络-53语言模型和数据集

53语言模型和数据集 1.自然语言统计 引入库和读取数据: import random import torch from d2l import torch as d2l import liliPytorch as lp import numpy as np import matplotlib.pyplot as plttokens lp.tokenize(lp.read_time_machine())一元语法&#xf…

类和对象深入理解

目录 static成员概念静态成员变量面试题补充代码1代码2代码3如何访问private中的成员变量 静态成员函数静态成员函数没有this指针 特性 友元友元函数友元类 内部类特性1特性2 匿名对象拷贝对象时的一些编译器优化 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接…

Linux-DNS

DNS域名解析服务 1.DNS介绍 DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。…

大气热力学(2)——热力学基础

本篇文章源自我在 2021 年暑假自学大气物理相关知识时手写的笔记,现转化为电子版本以作存档。相较于手写笔记,电子版的部分内容有补充和修改。笔记内容大部分为公式的推导过程。 文章目录 2.0 本文所用符号一览2.1 准静态过程2.2 热量和热容量2.2.1 热量…

Java对象

面向对象和面向过程的区别 两者的主要区别在于解决问题的方式不同 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。 面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。 另外,面向对象开发的程序一般更易维…

乞丐传武功

题目 你施舍给了路边的乞丐两个馒头,谁料这个乞丐其实是隐士高人。为了回报你的善心,只见他缓缓从怀中掏出了数本武功秘籍,让你从中挑选一本。你珍重地接过这些秘籍,目光扫过每本封面,降龙十八掌、神照经、易筋经、凌…

[FreeRTOS 基础知识] 互斥量 概念

文章目录 基础知识互斥量互斥量与信号量区别优先级反转优先级继承小结 基础知识 [FreeRTOS 基础知识] 信号量 概念 互斥量 互斥量(Mutex,全称:Mutual Exclusion),在计算机科学中,是一种用于防止多个进程同…

科研绘图系列:R语言实验结果组图(linechart + barplot)

介绍 实验结果的多样性意味着每个结果都可能揭示研究的不同方面或角度。在科学研究和数据分析中,通常我们会收集一系列数据点,每个数据点都对应着实验的一个特定变量或条件。为了全面理解这些数据,我们可能会采用多种可视化技术来展示它们。 将多个结果分别可视化,可以让…

亲子时光里的打脸高手,贾乃亮与甜馨的父爱如山

贾乃亮这波操作,简直是“实力打脸”界的MVP啊! 7月5号,他一甩手,甩出张合照, 瞬间让多少猜测纷飞的小伙伴直呼:“脸疼不?”带着咱家小甜心甜馨, 回了哈尔滨老家,这趟亲…

Nginx(http配置、https配置)访问Spring Boot 项目

前文 记录一下在linux服务器下配置nginx中nginx.conf文件代理访问springboot项目 1. spring boot.yml配置 其他mysql,redis,mybatis等之类的配置就不一一列出了 # 自定义配置 为了等下验证读取的配置文件环境 appName: productserver:port: 8083 # 应用服务 WEB 访问端口s…

SQL窗口函数详解

详细说明在sql中窗口函数是什么,为什么需要窗口函数,有普通的聚合函数了那窗口函数的意义在哪,窗口函数的执行逻辑是什么,over中的字句是如何使用和理解的(是不是句句戳到你的痛点,哼哼~&#x…

C语言编译和编译预处理

编译预处理 • 编译是指把高级语言编写的源程序翻译成计算机可识别的二进制程序(目标程序)的过程,它由编译程序完成。 • 编译预处理是指在编译之前所作的处理工作,它由编译预处理程序完成 在对一个源程序进行编译时,…

全国青少年软件编程等级考试-四级-奇偶之和(真题)

题目:奇偶之和 1.准备工作 (1)保留舞台中的小猫角色; 2.功能实现 (1)分别计算1~100中,奇数之和,偶数之和; (2)说出奇数之和,偶数之和。 讲解: 1、如何判断奇偶数 奇数是指除以2有…

C++deque容器

文章目录 deque容器概念deque操作deque对象的带参数构造deque头部和末尾的添加移除操作deque的数据存取deque与迭代器deque赋值deque插入deque删除 deque容器概念 deque是双端数组,而vector是单端的。 deque头部和尾部添加或移除元素都非常快速, 但是在中部安插元…

在x86/amd64的机器上使用Docker运行arm64v8/ubuntu并安装ROS1

一、准备工作 主要是因为国内网络的问题,可能导致镜像拉取失败,解决办法参考:镜像加速 二、安装运行过程 2.1拉取镜像: sudo docker pull arm64v8/ubuntu:20.04这个是ubuntu的拉取指令,其他的也是类似。 2.2 运行…

【DevOps】运维过程中经常遇到的Http错误码问题分析(一)

一、解决HTTP 408错误:上传3M文件时请求超时的问题 在开发Web应用程序时,遇到HTTP 408状态码(请求超时)是常见的问题。特别是在上传大文件时,这种情况更容易发生。本文将探讨在上传一个3M文件时,Web服务器…

LeetCode题练习与总结:排序链表--148

一、题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3&am…

封锁-封锁模式(共享锁、排他锁)、封锁协议(两阶段封锁协议)

一、引言 1、封锁技术是目前大多数商用DBMS采用的并发控制技术,封锁技术通过在数据库对象上维护锁来实现并发事务非串行调度的冲突可串行化 2、基于锁的并发控制的基本思想是: 当一个事务对需要访问的数据库对象,例如关系、元组等进行操作…

【嵌入式开发 Linux 常用命令系列 1.6 -- grep 过滤指定的目录】

请阅读【嵌入式开发学习必备专栏 】 文章目录 grep 过滤指定目录 grep 过滤指定目录 在Linux中使用grep搜索字符串并希望排除特定目录时,可以使用--exclude-dir参数。这个参数允许你指定一个或多个目录名称来排除它们的内容不被grep搜索。这对于忽略一些常见的临时…