【问题标题】:Looking for LSTM / GRU Implementation寻找 LSTM / GRU 实现
【发布时间】:2018-03-23 20:55:50
【问题描述】:

几年前,我在“正常”神经网络和通过反向传播的监督学习方面做了很多工作。而且我知道如何实现标准的神经网络。

现在我想学习 LSTM / GRU 网络的基础知识,但我只能找到抽象公式或如何使用 Keras、TensorFlow 或其他框架。我知道这些框架针对速度进行了很好的优化,但这不是我感兴趣的,因为我看不到这些框架内部会发生什么。我对简单的简单实现感兴趣,例如Java/C#/VB 或其他任何东西,无需使用 RNN 框架来了解这些 RNN 的工作原理。一个带有监督学习的简单演示应用程序可以查看内部所有权重是如何设置的。我在过去两周搜索了详细信息,但似乎无法选择正确的关键字。

任何编程语言都值得赞赏,甚至 FORTRAN 或 COBOL :-)

【问题讨论】:

标签: lstm


【解决方案1】:

我建议你看看斯坦福课程 CS231n。讲座和作业在http://cs231n.github.io。您可以在 YouTube 上找到课程视频。该课程包括一个使用 RNN 生成图像描述的项目。

深度学习框架具有低级 API 和高级 API。如果您的目标只是学习 LSTM 或 GRU 的实现,您可以使用深度学习框架的低级 API 自行构建 LSTM 网络。框架为您提供了张量操作和自动渐变的功能,您可能已经知道如何实现。

这里我以pytorch为例。您可以在 pytorch https://github.com/pytorch/pytorch/blob/master/torch/nn/modules/rnn.py 中查看 LSTM 实现的源代码。不要害怕阅读源代码。这个实现只有 100 行有用的代码。希望它能帮助您对 LSTM / GRU 网络有所了解。

【讨论】:

    猜你喜欢
    • 2021-01-31
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2019-07-22
    • 2019-01-21
    • 2019-01-07
    相关资源
    最近更新 更多