|
|
@ -18,7 +18,9 @@
|
|
|
|
"* 情感分析 - 对一段文本进行情感识别(我们现在做)\n",
|
|
|
|
"* 情感分析 - 对一段文本进行情感识别(我们现在做)\n",
|
|
|
|
"* 图文映射 - CNN和RNN的融合\n",
|
|
|
|
"* 图文映射 - CNN和RNN的融合\n",
|
|
|
|
"* 机器翻译 - 将一种语言翻译成另一种语言\n",
|
|
|
|
"* 机器翻译 - 将一种语言翻译成另一种语言\n",
|
|
|
|
"* 语音识别 - 将语音识别成文字,如王者荣耀"
|
|
|
|
"* 语音识别 - 将语音识别成文字,如王者荣耀\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"请回顾[第四章——递归神经网络与词向量原理解读](https://github.com/ben1234560/AiLearning-Theory-Applying/blob/master/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%85%A5%E9%97%A8/%E7%AC%AC%E5%9B%9B%E7%AB%A0%E2%80%94%E2%80%94%E9%80%92%E5%BD%92%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E4%B8%8E%E8%AF%8D%E5%90%91%E9%87%8F%E5%8E%9F%E7%90%86%E8%A7%A3%E8%AF%BB.md)"
|
|
|
|
]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -54,6 +56,35 @@
|
|
|
|
"这个嵌入矩阵包含训练集中每个词的一个向量。传统来讲,这个嵌入矩阵中的词向量数据会很大。"
|
|
|
|
"这个嵌入矩阵包含训练集中每个词的一个向量。传统来讲,这个嵌入矩阵中的词向量数据会很大。"
|
|
|
|
]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"source": [
|
|
|
|
|
|
|
|
"### Recurrent Neural Networks(RNNs)"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"source": [
|
|
|
|
|
|
|
|
"现在,我们已经得到了神经网络的输入数据——词向量,接下来让我们看看需要构建的神经网络。NLP数据的个独特之处是它是时间序列数据。每个单词的出现都依赖于它的前—个单词和后—个单词。由于这种依赖的存在,我们使用循环神经网络来处理这种时间序列数据。循环神经网络的结构和你之前看到的那些前馈神经网络的结枃可能有一些不一样。前馈神经网络由三部分组成,输入层,隐藏层和输出层。\n",
|
|
|
|
|
|
|
|
"<img src=\"assets/20210112104331.png\" width=\"70%\">\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"前馈神经网络和RNN之前的主要区别就是RNN考虑了时间的信息。在RNN中,句子中的每个单词都被考虑上了时间步骤。实际上,时间步长的数量将等于最大序列长度\n",
|
|
|
|
|
|
|
|
"<img src=\"assets/20210112104505.png\" width=\"70%\">\n",
|
|
|
|
|
|
|
|
"与每个时间步骤相关联的中间状态也被作为一个新的组件,称为隐藏状态向量h(t)。从抽象的角度来看,这个向量是用来封装和汇总前面时间步骤中所看到的所有信息。就像x(t)表示一个向量,它封装了一个特定单词的所有信息。\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"隐藏状态是当前单词向量和前一步的隐藏状态冋量的函数。并且这两项之和需要通过激活函数来进行激活。\n",
|
|
|
|
|
|
|
|
"<img src=\"assets/20210112105004.png\" width=\"50%\">\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"<img src=\"assets/20210112105055.png\" width=\"100%\">\n",
|
|
|
|
|
|
|
|
"如上图,第一个词The(Xt-1)经过神经元计算(Wxt-1),得出特征向量ht-1,再给第二个词movie使用,循环如此,直至最后,综合考虑前面的所有特征。\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"从上图我们也能看到一个问题,就是越前面的数据,越无法感知,也就是俗称的梯度消失,所以引入LSTM,LSTM在上一章节已经了解过,这里不再重复。\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"可回顾[第四章——递归神经网络与词向量原理解读](https://github.com/ben1234560/AiLearning-Theory-Applying/blob/master/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%85%A5%E9%97%A8/%E7%AC%AC%E5%9B%9B%E7%AB%A0%E2%80%94%E2%80%94%E9%80%92%E5%BD%92%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E4%B8%8E%E8%AF%8D%E5%90%91%E9%87%8F%E5%8E%9F%E7%90%86%E8%A7%A3%E8%AF%BB.md)"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": null,
|
|
|
|
"execution_count": null,
|
|
|
|