我已经在Pytorch中实现了变分自动编码器模型,该模型在SMILES字符串(分子结构的字符串表示形式)上进行了训练。
在训练自动编码器输出与输入相同的字符串时,“损失”函数不会在各个时期之间减小。
我尝试了以下操作,但均未成功:
1)在解码器中再增加3个GRU层,以提高模型的学习能力。
2)将潜在向量的大小从292增加到350。
3)增加和降低学习率。
4)将优化器从Adam更改为SGD。
5)在最多50个时期训练模型。
6)增加和减少批量大小。
以下是我的代码的链接。
https://colab.research.google.com/drive/1LctSm_Emnn5sHpw_Hon8xL5fF4bmKRw5
以下是能够成功训练的等效keras模型(相同体系结构)。 https://colab.research.google.com/drive/170Peseik03CFYpWPNyD8B8mxUGxTQx67