LSTM详解

LSTM概览

首先引用一片文章 https://zhuanlan.zhihu.com/p/36455374来形象解释LSTM的整个执行过程。

 很多初学者对time_stepbatch_size概念的理解不太清晰,下面给出形象解释:

 

time_step表示序列数据的长度,batch_size表示一次性输入几个样本进行训练,通常每个词都需要编码(embeddinghttps://zhuanlan.zhihu.com/p/53194407),比如“光”编码为[0.1,0.2,0.3,0.9],这个向量的大小4就是输入层大小。如此,一次训练输入的数据维度便为batch_size*time_step*input_size=2*5*4。假设隐藏层大小是10,则隐层输出的数据维度为batch_size*time_step*hide_size=2*5*10

 LSTM前馈与BPTT

理解LSTM的理论推导过程,对于深度了解神经网络训练原理、参数之间的关系与影响十分重要,对于想从零手写LSTM的同学更是必不可少。

LSTM的前馈理论可以参考这篇文章http://colah.github.io/posts/2015-08-Understanding-LSTMs/

LSTM的反馈理论可参考https://zhuanlan.zhihu.com/p/402373336

 以上是LSTM的基本算法原理,在实际运用时为了提高算法效率,会在其基础上优化,比如TBPTThttps://www.cnblogs.com/shiyublog/p/10542682.html#_label2

 损失函数

用于分类的损失函数一般采用交叉熵函数,常用的有softmax_cross_entropybinary_cross_entropy,详见https://www.jianshu.com/p/47172eb86b39

 交叉熵函数用于反馈时的求导方法参见https://zhuanlan.zhihu.com/p/25723112

预测一般采用MSE等,详见https://www.icode9.com/content-4-782377.html

实例

参见https://gitee.com/ggkm/rnn-text-classifier

 

posted @   guang_blog  阅读(444)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示