From 7d3a8cdf00306e4c4e753260ec75b1b072100ffc Mon Sep 17 00:00:00 2001 From: caoying03 Date: Wed, 28 Jun 2017 15:19:40 +0800 Subject: [PATCH] follow comments. --- generate_sequence_by_rnn_lm/README.md | 12 ++++++------ generate_sequence_by_rnn_lm/index.html | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/generate_sequence_by_rnn_lm/README.md b/generate_sequence_by_rnn_lm/README.md index 4ad5922f..c749bc4c 100644 --- a/generate_sequence_by_rnn_lm/README.md +++ b/generate_sequence_by_rnn_lm/README.md @@ -31,7 +31,7 @@ ## RNN 语言模型 ### 简介 -RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$的隐藏层输出和$t$时刻的词向量一起输入到隐藏层从而得到时刻$t$的特征表示,然后用这个特征表示得到t时刻的预测输出,如此在时间维上递归下去。可以看出RNN善于使用上文信息、历史知识,具有“记忆”功能。理论上RNN能实现“长依赖”(即利用很久之前的知识),但在实际应用中发现效果并不理想,于是出现了很多RNN的变种,如常用的LSTM和GRU,它们对传统RNN的cell进行了改进,弥补了传统RNN的不足,本例中即使用了LSTM、GRU。下图是RNN(广义上包含了LSTM、GRU等)语言模型“循环”思想的示意图: +RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$的隐藏层输出和$t$时刻的词向量一起输入到隐藏层从而得到时刻$t$的特征表示,然后用这个特征表示得到$t$时刻的预测输出,如此在时间维上递归下去。可以看出RNN善于使用上文信息、历史知识,具有“记忆”功能。理论上RNN能实现“长依赖”(即利用很久之前的知识),但在实际应用中发现效果并不理想,研究提出了LSTM和GRU等变种,通过引入门机制对传统RNN的记忆单元进行了改进,弥补了传统RNN在学习长序列时遇到的难题。本例模型使用了LSTM或GRU,可通过配置进行修改。下图是RNN(广义上包含了LSTM、GRU等)语言模型“循环”思想的示意图:

@@ -65,7 +65,7 @@ RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$ * 2,运行`python generate.py`运行文本生成。(输入的文本默认为`data/train_data_examples.txt`,生成的文本默认保存到`data/gen_result.txt`中。) -**如果需要使用自己的语料、定制模型,需要修改的地方主要是`语料`和`config.py`中的配置,需要注意的细节和适配工作详情如下:** +**如果需要使用自己的语料、定制模型,需要修改`config.py`中的配置,细节和适配工作详情如下:** ### 语料适配 @@ -133,7 +133,7 @@ RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$ 1. `gen_file`:指定输入数据文件,每行是一个句子的前缀,**需要预先分词**。 2. `gen_result`:指定输出文件路径,生成结果将写入此文件。 3. `max_gen_len`:指定每一句生成的话最长长度,如果模型无法生成出``,当生成 `max_gen_len` 个词语后,生成过程会自动终止。 - 4. `beam_size`:Beam Search 算法每一步的展开宽度 + 4. `beam_size`:Beam Search 算法每一步的展开宽度。 5. `model_path`:指定训练好的模型的路径。 其中,`gen_file` 中保存的是待生成的文本前缀,每个前缀占一行,形如: @@ -155,8 +155,8 @@ RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$ ``` 其中: 1. 第一行 `81 若隐若现 地像 幽灵 , 像 死神`以`\t`为分隔,共有两列: - - 第一列是输入前缀在训练样本集中的序号 + - 第一列是输入前缀在训练样本集中的序号。 - 第二列是输入的前缀。 2. 第二 ~ `beam_size + 1` 行是生成结果,同样以 `\t` 分隔为两列: - - 第一列是该生成序列的对数概率(log probability) - - 第二列是生成的文本序列,正常的生成结果会以符号``结尾,如果没有以``结尾,意味着超过了最大序列长度,生成强制终止 + - 第一列是该生成序列的对数概率(log probability)。 + - 第二列是生成的文本序列,正常的生成结果会以符号``结尾,如果没有以``结尾,意味着超过了最大序列长度,生成强制终止。 diff --git a/generate_sequence_by_rnn_lm/index.html b/generate_sequence_by_rnn_lm/index.html index 405df21f..17e81d9e 100644 --- a/generate_sequence_by_rnn_lm/index.html +++ b/generate_sequence_by_rnn_lm/index.html @@ -73,7 +73,7 @@ ## RNN 语言模型 ### 简介 -RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$的隐藏层输出和$t$时刻的词向量一起输入到隐藏层从而得到时刻$t$的特征表示,然后用这个特征表示得到t时刻的预测输出,如此在时间维上递归下去。可以看出RNN善于使用上文信息、历史知识,具有“记忆”功能。理论上RNN能实现“长依赖”(即利用很久之前的知识),但在实际应用中发现效果并不理想,于是出现了很多RNN的变种,如常用的LSTM和GRU,它们对传统RNN的cell进行了改进,弥补了传统RNN的不足,本例中即使用了LSTM、GRU。下图是RNN(广义上包含了LSTM、GRU等)语言模型“循环”思想的示意图: +RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$的隐藏层输出和$t$时刻的词向量一起输入到隐藏层从而得到时刻$t$的特征表示,然后用这个特征表示得到$t$时刻的预测输出,如此在时间维上递归下去。可以看出RNN善于使用上文信息、历史知识,具有“记忆”功能。理论上RNN能实现“长依赖”(即利用很久之前的知识),但在实际应用中发现效果并不理想,研究提出了LSTM和GRU等变种,通过引入门机制对传统RNN的记忆单元进行了改进,弥补了传统RNN在学习长序列时遇到的难题。本例模型使用了LSTM或GRU,可通过配置进行修改。下图是RNN(广义上包含了LSTM、GRU等)语言模型“循环”思想的示意图:

@@ -107,7 +107,7 @@ RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$ * 2,运行`python generate.py`运行文本生成。(输入的文本默认为`data/train_data_examples.txt`,生成的文本默认保存到`data/gen_result.txt`中。) -**如果需要使用自己的语料、定制模型,需要修改的地方主要是`语料`和`config.py`中的配置,需要注意的细节和适配工作详情如下:** +**如果需要使用自己的语料、定制模型,需要修改`config.py`中的配置,细节和适配工作详情如下:** ### 语料适配 @@ -175,7 +175,7 @@ RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$ 1. `gen_file`:指定输入数据文件,每行是一个句子的前缀,**需要预先分词**。 2. `gen_result`:指定输出文件路径,生成结果将写入此文件。 3. `max_gen_len`:指定每一句生成的话最长长度,如果模型无法生成出``,当生成 `max_gen_len` 个词语后,生成过程会自动终止。 - 4. `beam_size`:Beam Search 算法每一步的展开宽度 + 4. `beam_size`:Beam Search 算法每一步的展开宽度。 5. `model_path`:指定训练好的模型的路径。 其中,`gen_file` 中保存的是待生成的文本前缀,每个前缀占一行,形如: @@ -197,11 +197,11 @@ RNN是一个序列模型,基本思路是:在时刻$t$,将前一时刻$t-1$ ``` 其中: 1. 第一行 `81 若隐若现 地像 幽灵 , 像 死神`以`\t`为分隔,共有两列: - - 第一列是输入前缀在训练样本集中的序号 + - 第一列是输入前缀在训练样本集中的序号。 - 第二列是输入的前缀。 2. 第二 ~ `beam_size + 1` 行是生成结果,同样以 `\t` 分隔为两列: - - 第一列是该生成序列的对数概率(log probability) - - 第二列是生成的文本序列,正常的生成结果会以符号``结尾,如果没有以``结尾,意味着超过了最大序列长度,生成强制终止 + - 第一列是该生成序列的对数概率(log probability)。 + - 第二列是生成的文本序列,正常的生成结果会以符号``结尾,如果没有以``结尾,意味着超过了最大序列长度,生成强制终止。 -- GitLab