关于 LSTM 收集的更多细节,可以参阅 RNN 与 LSTM 单位运行细节的概述:
- http://karpathy.github.io/2015/05/21/rnn-effectiveness/
- http://colah.github.io/posts/2015-08-Understanding-LSTMs/
此外,还有一些工作商量了 RNN 以外的其他语音辨认方法,如比 RNN 枷⒚效力更高的卷积层:https://arxiv.org/abs/1701.02720
六、练习和监测收集
因为示例中的收集是应用 TensorFlow 练习的,我们可以应用 TensorBoard 的可视化计算图监督练习、验证和进行机能测试。在 2017 TensorFlow Dev Summit 上 Dandelion Mane 给出了一些有效的赞助:https://www.youtube.com/watch?v=eBbEDRsCmv4
我们应用 tf.name_scope 添加节点和层名称,并将摘要写入文件,其结不蚜?鲈动生成的、可懂得的计算图,正如下面的双向神经收集(BiRNN)所示。数据大年夜左下角到右上角在不合的操作之间传递。为了清跋扈起见,不合的节点可以用定名空间进行标记和着色。在这个例子中,蓝绿色 fc 框对应于完全连接的层,绿色 b 和 h 框分别对应于误差和权重。
我们应用 TensorFlow 供给的 tf.train.AdamOptimizer 来控制进修速度。AdamOptimizer 经由过程应用动量(参数的移动平劫数)来改良传统梯度降低,促进超参数动态调剂。我们可以经由过程创建标签缺点率的┞藩要标量来跟踪损掉和缺点率:
- Create a placeholder for the summary statistics
- with tf.name_scope("accuracy"):
- # Compute the edit (Levenshtein) distance of the top path
- distance = tf.edit_distance(tf.cast(self.decoded[0], tf.int32), self.targets)
- # Compute the label error rate (accuracy)
- self.ler = tf.reduce_mean(distance, name='label_error_rate')
- self.ler_placeholder = tf.placeholder(dtype=tf.float32, shape=[])
- self.train_ler_op = tf.summary.scalar("train_label_error_rate", self.ler_placeholder)
- self.dev_ler_op = tf.summary.scalar("validation_label_error_rate", self.ler_placeholder)
- self.test_ler_op = tf.summary.scalar("test_label_error_rate", self.ler_placeholder)
七、若何改进 RNN
如今我们构建了一个简单的 LSTM RNN 收集,下一?问题是:若何持续改进它?荣幸的是,在开源社区里,很多大年夜公司都开源了本身的最新语音辨认模型。在 2016 年 9 月,微软的论文《The Microsoft 2016 Conversational Speech Recognition System》展示了在 NIST 200 Switchboard 数据中单体系残差收集缺点率 6.9% 的新方法。他们在卷积+轮回神经收集上应用了几种不合的声学和说话模型。微软的团队和其他研究人员在以前 4 年中做出的重要改进包含:
推荐阅读
7月底,黑客大年夜HBO那盗走了《权力的游戏》资本,并在本月初放出泄漏片段。收集安然公司Proofpoint宣布了一份申报,称有人应用泄漏的《权力的游戏》资本来引导用户下载恶意软件,内含RA>>>详细阅读
本文标题:如何使用TensorFlow构建、训练和改进循环神经网络
地址:http://www.17bianji.com/lsqh/37006.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示