七、深度学习——RNN

一、RNN网络原理

  • 文本数据是具有序列特性的。为了表示出数据的序列关系,需要使用循环神经网络(Recurrent Nearal Networks,RNN)来对数据进行建模,RNN是一个作用于处理带有序列特点的样本数据

1.RNN的计算过程

  • h表示隐藏状态,每一次的输入都会包含两个值:上一个时间步的隐藏状态,当前状态的输入值,输出当前时间步的隐藏状态和当前时间步的预测结果

实际上,字是重复输入到同一个神经元中的

2.神经元内部的计算过程

ht=tanh(Wihxt+bih+Whhht−1+bhh)h_t= tanh(W_{ih}x_t+b_{ih}+W_{hh}h_{t-1}+b_{hh})ht=tanh(Wihxt+bih+Whhht−1+bhh)

  • WihW_{ih}Wih表示输入数据的权重
  • bihb_{ih}bih表示输入数据的偏置
  • WhhW_{hh}Whh表示输入隐藏状态的权重
  • bhhb_{hh}bhh表示输入隐藏状态的偏置
  • 最后对输出结果使用tanh激活函数进行计算,得到该神经元的输出

3.API

python 复制代码
RNN = torch.nn.RNN(input_size, hidden_size, num_layer)
  • input_size:输入数据的维度,一般设为词向量的维度
  • hidden_size:隐藏层h的维数,也是当前层神经元的输出维度
  • num_layer:隐藏层h的层数,默认为1

将RNN实例化就可以将数据送入进行处理,处理方式如下:

python 复制代码
output, hn = RNN(x, h0)
  • 输入数据:输入主要包括词嵌入的x,初始的隐藏层h0

    • x的表示形式为[seq_len, batch, input_size],即[句子的长度,batch的大小,词向量的维度]
    • h0的表示形式为[num_layers, batch, hidden_size],即[隐藏层的层数, batch的大小,隐藏层h的维数](初始化设置为全0)
  • 输出结果:主要包括输出结果output,最后一层的hn

    • output的表示形式为[seq_len, batch, input_size],即[句子的长度,batch的大小,词向量的维度]
    • hn的表示形式为[num_layers, batch, hidden_size],即[隐藏层的层数, batch的大小,隐藏层h的维数]
相关推荐
AI_56783 小时前
AI开发革命:PyCharm科学计算模式重塑TensorFlow调试体验
人工智能·ai·neo4j
算家计算3 小时前
AGI为何被“判死刑”?李飞飞最新万字长文,指出一个致命缺失
人工智能·资讯
野豹商业评论3 小时前
三次更名的背后:百度AI的定位困惑
人工智能·百度
老蒋新思维3 小时前
2025 创客匠人全球创始人 IP + AI 万人高峰论坛:破局创业困境,拥抱无限未来
大数据·网络·人工智能·网络协议·tcp/ip·创客匠人·知识变现
永霖光电_UVLED3 小时前
EPC的GaN电源ic瞄准了机器人的敏捷性
人工智能·制造
Chef_Chen4 小时前
数据科学每日总结--Day13--数据挖掘
人工智能·数据挖掘
杰克逊的日记4 小时前
中型 GPU 服务集群监控方案(10-50 节点)
人工智能·gpu算力·gpu监控
CoovallyAIHub4 小时前
空间智能!李飞飞、LeCun&谢赛宁联手提出“空间超感知”,长文阐述世界模型蓝图
深度学习·算法·计算机视觉
麻雀无能为力4 小时前
现代卷积神经网络
人工智能·神经网络·cnn
FL16238631295 小时前
医学类数据集目标检测分割分类数据集汇总介绍
人工智能·目标检测·分类