经过两天的折磨,终于把循环神经网络搞明白了.
上两张图:RNN的最好解释,在一位博主看到的。
https://zhuanlan.zhihu.com/p/36192233
双向循环神经网络图:其表示隐藏层的 不仅会收到到t-1时刻的影响,也会手打t+1时刻的影响,
- 变长输入的句子编码成定长的变量-----变长的输入句子编码成变长的变量
- LSMT--->门函数-->梯度下降---->损失函数
- 损失函数又叫代价函数,f(x)会得到与真实的Y相近的值,如果(f(x)-Y)^2越小,损失函数越小,拟合度越好。https://www.zhihu.com/question/52398145
- 梯度下降利用梯度下降算法来拟合一个函数,然后利用代价函数公式,进行找出最优解进行迭代 https://www.jianshu.com/p/c7e642877b0e
- 公式一ht = f (xt, ht−1)--将输入序列转变为向量c
- 公式二: p(y) =(相乘)p(yt | {y1, · · · , yt−1} , c) ,计算下一个位置的概率
- 公式三:使用RNN模型,将每一个条件概率映射为一个模型p(yt | {y1, · · · , yt−1} , c) = g(yt−1, st, c)
- 公式四:计算上下文向量ci,根据注释来确定,系数生成翻译中的单词与源语句中的软对齐
- .关于对齐: 有软对齐和硬对齐。http://www.shuang0420.com/2017/05/01/NLP%20%E7%AC%94%E8%AE%B0%20-%20Machine%20Translation/