NLP

RNN 的三个时间位置:h 与预测分别去哪

用‘我喜欢你’三个位置,区分横向传递的隐藏状态与纵向用于计算损失的预测。

先记住一条关系

在每个时间位置,RNN 都会同时做两件事:把隐藏状态传给下一个位置,并把当前隐藏状态送入输出层产生预测。

RNN 三个时间位置
RNN 三个时间位置

横向:记忆沿时间传递

第一个位置读取“我”和初始状态 h0 得到 h1;第二个位置读取“喜欢”和 h1 得到 h2;第三个位置继续得到 h3。同一个 RNN 单元在不同时间位置重复使用同一套权重。

纵向:每个位置都能产生预测

隐藏状态进入输出层得到预测概率,预测与真实的下一个词比较后产生该位置的损失。是否只使用最后一个位置,要由具体任务决定。

h 是传给下一个时间位置的状态;预测 p 用来完成当前任务并计算损失。