(自用笔记)RNN原理,Pytorch实现和使用RNN实现IMDB英文电影评价二分类

循环神经网络

记忆单元分类

RNN,GRU,LSTM

类别

单向循环,

双向循环

多层单或双向叠加

delay:n帧输入输入网络,记忆单元先更新n步,这n步的输出先不要

使得预测第一帧输出的时候不只看到了第一帧的输入(看到的上下文更宽)

优点/缺点:

优点:每个时刻的权重共享,可以处理变长序列,模型大小与序列长度无关,计算量与序列长度呈线性增长,考虑历史信息,便于流式输出
缺点:串行计算较慢,无法获取很长的历史信息

transformer计算复杂度和序列是平方关系
生成任务:image
分类:image
词法识别image

RNN(Recurrent Neural Network)

x<1>输入神经网络,输出判断这个单词是否是人名的一部分,

读到x<2>时,不仅仅使用x<2>来预测,还会使用time-step 1的信息作为输入

a<1>代表time step1的激活值

image

黑色块表示延迟一个time-step

RNN每个time-step的参数是共享的,数据从左到右读入

缺点:只利用了之前的信息而没有利用之后的信息

根据y hat输出选择激活函数:

比如对于ner任务,输出为0,1则可以选择sigmoid

简化符号:

image

输出中的一个分叉将成为其自身的输入

image

image

与前馈神经网络不同:多个RNN层都是同一个层

各个时刻的 RNN 层接收传给该层的输入和前一个 RNN 层的输出,然后据此计算当前时刻的输出

image

RNN的权重:

(1)输入x转化为输出h的权重Wx

(2)将前一个RNN层输出ht-1转化为当前层输出的Wh

ht−1 和 xt 都是行向量

RNN 的 h 存储“状态”,时间每前进一步(一个单位),它就以式 (5.9) 的形式被更新

Backpropagation Through Time

基于时间的反向传播

image

Truncated BPTT

按适当长度截断的误差反向传播法

如果序列太长,就会出现计算量或者内存使 用量方面的问题。此外,随着层变长,梯度逐渐变小,梯度将无法向前一层 传递

以各个块为单位(和其他块没有关联)完成误差反向传播法

正向传播之间是有关联的,这意味着必须按顺序输入数据

神经网络在进行 mini-batch 学习时,数据都是 随机选择的。但是,在 RNN 执行 Truncated BPTT 时,数据需 要按顺序输入

正向传播的计算需要前一个块最后的隐藏状态 h9,这样可以维 持正向传播的连接。

按顺序输入

image

两个批次:一个批次500个时序数据,由于按长度10截断,则一个批次的元素量为50

批次的第一个元素:0-9,

第 1 笔样本数据从头开始按顺序输入,第 2 笔数据从第 500 个数据开始按顺 序输入。

一是要按顺序输入数据,二是 要平移各批次(各样本)输入数据的开始位置

image

实现RNN

基于RNN的神经网络:在水平方向上长度固定

在水平方向创建长度固定的网络序列

image

将进 行 Time RNN 层中的单步处理的层称为“RNN 层”,将一次处理 T 步的层 称为“Time RNN 层”

RNN单步 time-step处理

ht = tanh(ht−1Wh + xtWx + b) :RNN正向传播

image

image</

为了在Windows安装ADB工具,你可以按照以下步骤进行操作: 1. 首先,下载ADB工具包并解压缩到你自定义的安装目录。你可以选择将其解压缩到任何你喜欢的位置。 2. 打开运行窗口,可以通过按下Win+R键来快速打开。在运行窗口中输入"sysdm.cpl"并按下回车键。 3. 在系统属性窗口中,选择"高级"选项卡,然后点击"环境变量"按钮。 4. 在环境变量窗口中,选择"系统变量"部分,并找到名为"Path"的变量。点击"编辑"按钮。 5. 在编辑环境变量窗口中,点击"新建"按钮,并将ADB工具的安装路径添加到新建的路径中。确保路径正确无误后,点击"确定"按钮。 6. 返回到桌面,打开命令提示符窗口。你可以通过按下Win+R键,然后输入"cmd"并按下回车键来快速打开命令提示符窗口。 7. 在命令提示符窗口中,输入"adb version"命令来验证ADB工具是否成功安装。如果显示版本信息,则表示安装成功。 这样,你就成功在Windows安装ADB工具。你可以使用ADB工具来执行各种操作,如枚举设备、进入/退出ADB终端、文件传输、运行命令、查看系统日志等。具体的操作方法可以参考ADB工具的官方文档或其他相关教程。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [windows环境安装adb驱动](https://blog.csdn.net/zx54633089/article/details/128533343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Windows安装使用ADB简单易懂教程](https://blog.csdn.net/m0_37777700/article/details/129836351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值