循环神经网络和自然语言处理
文章平均质量分 78
然后就去远行吧
我们的目标是星辰大海~
展开
-
自然语言处理 —— 困惑度
我们通常用困惑度(perplexity)来评估语言模型的好坏。可以探索一下交叉熵损失函数的定义。困惑度是对交叉熵损失函数做指数运算后得到的值。特别地:最佳情况下,模型总是把标签类别的概率预测为1,此时困惑度为1;最坏情况下,模型总是把标签类别的概率预测为0,此时困惑度为正无穷;基线情况下,模型总是把预测所有类别的概率都相同,此时困惑度为类别个数。显然,任何一个有效模型的困惑度必须小于类...原创 2020-02-18 21:23:27 · 1475 阅读 · 0 评论 -
循环神经网络——裁剪梯度(应对梯度爆炸)
循环神经网络中比较容易出现梯度衰减或梯度爆炸,为了应对梯度爆炸,可以进行裁剪梯度。假设把所有模型参数梯度的元素拼接成一个向量g,并设裁剪的阈值是θ\thetaθ。裁剪后的梯度min(θ∣∣g∣∣,1)gmin(\frac{\theta}{||g||},1)gmin(∣∣g∣∣θ,1)g的L2L_2L2范数不超过θ\thetaθ。通过代码进行演示:def grad_clipping(para...原创 2020-02-18 21:13:44 · 560 阅读 · 0 评论 -
自然语言处理——语言模型
1.语言模型语言模型是自然语言处理的重要技术。自然语言处理中最常见的数据是文本数据。我们可以把一段自然语言文本看做一段离散的时间序列。假设一段长度为T的文本中的词依次为w1,w2,...,wTw_1,w_2,...,w_Tw1,w2,...,wT,那么在离散的时间序列中,wt(1≤t≤T)w_t(1\leq t\leq T)wt(1≤t≤T)可看做在时间步t的输出或者标签。给定一个长度为...原创 2020-02-18 17:27:29 · 1300 阅读 · 1 评论