ViT (Vision Transformer) ----LSTM网络
vision
pytorch/vision: 一个基于 PyTorch 的计算机视觉库,提供了各种计算机视觉算法和工具,适合用于实现计算机视觉应用程序。
项目地址:https://gitcode.com/gh_mirrors/vi/vision
免费下载资源
·
LSTM是对RNN的改进,主要改进RNN的梯度消失的问题即长依赖问题,那么具体如何解决的呢?
由上图可以发现增加了三个门,那么这三个门是如何解决长依赖问题的呢?LSTM最大的设计就是传输带C,就是通过传输带的设计避免梯度的消失,lstm存在很多门,可以让信息选择性通过
- 遗忘门
举个例子
得到遗忘门的输出f后,在和传输带的c向量相乘
那么遗忘门的功能主要体现在哪里呢?通过例子可以看出,遗忘门的输出f是0-1的概率值,乘上传输带c就可以控制传输带信息的流入量,该f值的获取荣光如下:
由此可以发现,遗忘门的输入是输入x_t和上一个状态的输出h_t-1的concat组成的向量,然后和矩阵W_f相乘,在通过sigmoid激活函数得到输出f_t,其中矩阵W是通过数据训练学习而来
- 输入门
计算i_t的方式和遗忘门输出的计算差不多,都是把上一状态的输出h_t-1和输入x_t做concat connection,然后和矩阵W_i相乘,在通过激活函数sigmoid激活函数获取到输出i_t,此时输出的范围为0-1的概率值
更新传输带的值C_t
除了需要计算输入的的输出,还要计算待更新的传输带的值C^_T,该值的计算和计算i_t的类似,只是不同是激活函数为tanh,最后待更新的传输带的值从C^_T的值的范围是-1到1,该值在和i_t相乘,在于遗忘门输出相加得到传输带的C_t值,如下:
- 输出门
输出门的计算方式和以上差不多,激活函数是sigmoid,计算过程和遗忘门、输入门类似
更新状态h_t的值。
- 总结
GitHub 加速计划 / vi / vision
15.85 K
6.89 K
下载
pytorch/vision: 一个基于 PyTorch 的计算机视觉库,提供了各种计算机视觉算法和工具,适合用于实现计算机视觉应用程序。
最近提交(Master分支:2 个月前 )
868a3b42
5 天前
e9a32135
14 天前
更多推荐
已为社区贡献11条内容
所有评论(0)