其他分享
首页 > 其他分享> > 手把手写深度学习(3)——用RNN循环神经网络自动歌词之理论篇

手把手写深度学习(3)——用RNN循环神经网络自动歌词之理论篇

作者:互联网

前言:RNN的出现,解决了CNN在处理时空序列上的糟糕表现。所谓时空序列可以简单理解上前后的输入是有联系的,比如自然语言处理,我们说的前一句话和后一句话之间是有联系的;智能视频处理,每一帧的前后是有联系的;雷达信号,每个信号之间是有联系的……传统的图像处理,图像中的每个像素点,这些像素值之间是没有联系的。我们利用RNN做一个自动歌词生成器,本文先介绍一下RNN的理论基础。

 

目录

语言模型

RNN原理和网络结构

参考


语言模型

语言模型(language model)是计算一个句子的概率的模型。自然语言处理中最常见的数据是文本数据。我们可以把一段自然语言文本看作一段离散的时间序列。假设一段长度为TT的文本中的词依次为w1,w2,…,wTw1,w2,…,wT,那么在离散的时间序列中,wt(1≤t≤T)可看作在时间步(time step)t的输出或标签。给定一个长度为TT的词的序列w1,w2,…,wTw1,w2,…,wT,语言模型将计算该序列的概率:

P(w1,w2,…,wT)

如果句子中的每一个词都是独立出现的,那么我们就可以把概率写成:

但是我们前言中说了,自然语言中,每个词肯定相互之间有联系的,如果这个词出现依赖前一个词,这就是二元语法:

 

 同理,一个词出现依赖前两个词,这就是三元语法:

因此,一个词出现依赖于前N-1个次,就是N元语法:

RNN原理和网络结构

 

将刚才那个抽象图画成具体图:

 按照时间线展开就是:

最后我们用公式表示:

好了,RNN理论能理解这些就够了,后面开始写代码。

参考

标签:RNN,手把手,神经网络,w2,序列,自然语言,隐藏
来源: https://blog.csdn.net/qq_41895747/article/details/121183750