IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Pytorch中对RNN输入和输出的形状总结 -> 正文阅读

[人工智能]Pytorch中对RNN输入和输出的形状总结

作者:recommend-item-box type_blog clearfix


个人对于RNN的一些总结,如有错误欢迎指出。

RNN的输入和输出

RNN的经典图如下所示

各个参数的含义
Xt: t时刻的输入,形状为[batch_size, input_dim]。对于整个RNN来说,总的X输入为[seq_len, batch_size, input_dim],具体如何理解batch_size和seq_len在下面有说明。
St: t时刻隐藏层的状态,也有时用ht表示,形状为[batch_size, hidden_size],St=f(U·Xt+W·St-1),通过W和U矩阵的映射,将embedding后的Xt和上一状态St-1转为St
Ot: t时刻的输出,Ot=g(V·St),形状为[batch_size, hidden_size],总的为输出O为[seq_len, batch_size, hidden_size]

Pytorch中的使用

Pytorch中RNN函数如下

RNN的主要参数如下

nn.RNN(input_size, hidden_size, num_layers=1, bias=True)

参数解释
input_size: 输入特征的维度,一般rnn中输入的是词向量,那么就为embedding-dim
hidden_size: 隐藏层神经元的个数,或者也叫输出的维度
num_layers: 隐藏层的个数,默认为1

output=输出O, 隐藏状态St,其中输出O=[time_step, batch_size, hidden_size],St为t时刻的隐藏层状态

理解RNN中的batch_size和seq_len

深度学习中采用mini-batch的方法进行迭代优化,在CNN中batch的思想较容易理解,一次输入batch个图片,进行迭代。但是RNN中引入了seq_len(time_step), 理解较为困难,下面是我自己的一些理解。

首先假如我有五句话,作为训练的语料。

sentences = ["i like dog", "i love coffee", "i hate milk", "i like music", "i hate you"]

那么在输入RNN之前要先进行embedding,比如one-hot encoding,容易得到这里的embedding-dim为9.

那么输入的sentences可以表示为如下方式

t=0t=1t=2
batch1ilikedog
batch2ilovecoffee
batch3ihatemilk
batch4ilikemusic
batch5ihateyou

那么在RNN的训练中。
t=0时, 输入第一个batch[i, i, i, i, i]这里用字符表示,其实应该是对应的one-hot编码。
t=1时,输入第二个batch[like, love, hate, like, hate]
t=2时,输入第三个batch[dog, coffee, milk, music, you]
那么对应的时间t来说,RNN需要对先后输入的batch_size个字符进行前向计算迭代,得到输出。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:16:59  更:2021-10-09 16:18:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:38:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码