首页 > 解决方案 > Keras 中的弹性权重合并算法实现

问题描述

我正在研究基于 LSTM 的模型来预测日志异常。我的模型架构如下所示:

______________________Layer (type) Output Shape Param # ================================================================= 
lstm (LSTM) (None, 5, 1555) 9684540 ______________________ 
lstm_1 (LSTM) (None, 1555) 19350420 ______________________ 
dense (Dense) (None, 1024) 1593344 ______________________ 
dense_1 (Dense) (None, 1024) 1049600 _______________________ 
dense_2 (Dense) (None, 1555) 1593875
================================================================= 
Total params: 33,271,779

我想继续训练避免灾难性遗忘,我在 EWC 上看到了这篇论文。是的,我将在增量训练中获得完全不同的日志文件,因此目前正在发生灾难性的遗忘。我在互联网上查看,只发现它的 pytorch 和 tensorflow 实现。我对它们不是很流利,我正在寻找一些相同的 tensorflow-2/keras 实现。我确实了解该论文,但不了解如何实施它。是否有可能在 keras 中做,如果是的话怎么做?欢迎任何其他简单的持续学习方法!

标签: pythonkerasdeep-learningrecurrent-neural-networktf.keras

解决方案


我最近想在分布式优化设置中应用相同的算法(EWC)。我找不到 tensorflow-2 实现。所以我从头开始实现它。你可以在这里找到它 - https://github.com/stijani/elastic-weight-consolidation-tf2.git。包含一个演示笔记本,用于演示代码用法和 MNIST 数据集的示例结果。


推荐阅读