我应该使用什么损失函数和指标来训练 RNN 返回一系列类别?

What loss function and metrics should I use to train RNN returning a sequence of categories?

我正在尝试训练一个模型,该模型返回一个单词序列 (RNN) 的 class。

我为我的模型提供了一系列嵌入:

[ batchSize, sequence_length, word_embedding ] as float[]

并取回单热数组序列:

[ batchSize, sequence_length, number_of_classes ] as bool[]

我将其与相同格式的基本事实进行比较。


So, I am wondering:

  1. 我应该使用什么loss
  2. 我应该报告什么 metrics 以跟踪正在取得的进展?

听起来您正在训练一个系统来执行多类分类,其中每个样本恰好属于一组已知 类 中的一个。对于此任务,常见的选择是使用 categorical_crossentropysparse_categorical_crossentropy

请参阅此处了解损失的定义: https://keras.io/losses/

有关使用的基本示例,请参见此处(在 python 中,但 JS API 匹配)。 https://colab.sandbox.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/quickstart/beginner.ipynb