【深度学习】RNN循环神经网络的原理

sentiment analysis,根据评价来判断为好评还是差评。例如I hate this boring movie,每个单词都用一个张量[100]进行表示,整句话就可以用张量[5, 100]进行表示。每个单词经过线性层操作之后(w和b的shape为[100, 2]),与线性层相连接提取特征,抽取高层特征,会得到一个张量[2],经过加和计算可以得到张量[5, 2],进而得到概率值P(pos|x)判断评论的好坏属性。

但是这样的方法存在问题,当句子太长的时候,[w,b]的参数太多。这时候我们可以采用权值共享的方法,把所有的[w, b]用同一个值进行处理,这样会大大减少参数量。

而且没有一个上下语境信息,我们不能一个一个的单词进行处理,而需要看整体的句子,需要持续的协调一致的张量(consistent tensor),存储统一的语境信息。首先,初始化h0,第一个单词不仅输入输入的特征向量 "I",还输入初始值h0的特征向量;第二个单词,输入 "hate"的同时,也输入上一时刻的语境信息 h1;第三个单词,输入 "this"的同时,也输入上一时刻的语境信息 h2。

简化之后,可以得到如果输入特征为[5, 3, 100],一句话有5个单词,有三个句子batch,每个单词用100维的特征向量进表示,输入一句话的时候shape为[3, 100],然后进行不断自我更新,自我更新机制取决于上一时刻的输出和当前输入。

展开之后可以得到:

如何进行训练RNN呢?

相关推荐
橙露5 小时前
数据特征工程:缺失值、异常值、标准化一站式解决方案
人工智能·机器学习
新加坡内哥谈技术5 小时前
OpenAI 的 Codex 团队如何工作并利用 AI
人工智能
星河耀银海5 小时前
人工智能大模型的安全与隐私保护:技术防御与合规实践
人工智能·安全·ai·隐私
love530love6 小时前
Scoop 完整迁移指南:从 C 盘到 D 盘的无缝切换
java·服务器·前端·人工智能·windows·scoop
njsgcs6 小时前
agentscope提取msg+llama_index 查询
人工智能
小和尚同志6 小时前
什么?oh-my-opencode 太重了?那试试 oh-my-opencode-slim
人工智能·aigc
一路往蓝-Anbo6 小时前
第 9 章:Linux 设备树 (DTS) ——屏蔽与独占外设
linux·运维·服务器·人工智能·stm32·嵌入式硬件
飞哥数智坊7 小时前
把模型焊死在芯片上,就能跑出 17,000 tokens/秒?这是一条死路,还是一条新路?
人工智能
多恩Stone7 小时前
【3D-AICG 系列-11】Trellis 2 的 Shape VAE 训练流程梳理
人工智能·pytorch·算法·3d·aigc
tuotali20267 小时前
氢气压缩机技术规范亲测案例分享
人工智能·python