循环神经网络特点:为更好地处理时序信息而设计的。它引⼊状态变量来存储过去的信息,并⽤其与当前的输⼊共同决定当前的输出。
循环神经⽹络常⽤于处理序列数据,如⼀段⽂字或声⾳、购物或观影的顺序,甚⾄是图像中的⼀⾏或⼀列像素。因此,循环神经⽹络有着极为⼴泛的实际应⽤,如语⾔模型、⽂本分类、机器翻译、语⾳识别、图像分析、⼿写识别和推荐系统。
以上是书中得描述,重点,处理序列数据。
语⾔模型
⻓ 度 为 T 的 词 的 序 列 W 1 W 2 , . . . , W T ⻓度为T的词的序列W_1W_2,. . . ,W_T ⻓度为T的词的序列W1W2,...,WT
语⾔模型的计算
假设序列 W 1 W 2 , . . . , W T W_1W_2,. . . ,W_T W1W2,...,WT中的每个词是依次⽣成的,我
们有 P ( w 1 w 2 , . . . , w T ) = ∏ i = 1 T P ( w t ∣ w 1 , . . . , w t − 1 ) P(w_1w_2,. . . ,w_T) = \prod\limits_{i=1}^TP(w_t | w_1, . . . , w_{t−1}) P(w1w2,...,wT)=i=1∏TP(wt∣w1,...,wt−1)
n元语法
当序列⻓度增加时,计算和存储多个词共同出现的概率的复杂度会呈指数级增加。n元语法通过⻢尔可夫假设(虽然并不⼀定成⽴)简化了语⾔模型的计算。这⾥的⻢尔可夫假设是指⼀个词的出现只与前⾯n个词相关,即n阶⻢尔可夫链(Markov chain of order n)。如果n = 1,那么有P(w3 | w1, w2) = P(w3 | w2)。如果基于n − 1阶⻢尔可夫链,我们可以将语⾔模型改写为
P ( w 1 w 2 , . . . , w T ) ≈ ∏ i = 1 T P ( w t ∣ w t − ( n − 1 ) w t − ( n − 2 ) . . . , w t − 1 ) P(w_1w_2,. . . ,w_T) \approx \prod\limits_{i=1}^TP(w_t | w_{t-(n-1)}w_{t-(n-2)} . . . , w_{t−1}) P(w1w2,...,wT)