Я реализовал выборочный софтмакс с тензорным потоком в моей модели, в котором я пытаюсь классифицировать предложения, используя Rnn «многие к одному» с 500 классами.
У меня есть 3 вопроса, на которые я могу ответитьне могу найти ответ онлайн:
- Стоит ли использовать выборочный софтмакс, когда число классов 500?
- Я вижу, как правило, 2 способа реализовать его онлайн, одним способомони вводят новые весовые коэффициенты и смещения, которые используются исключительно как входные данные в функции tf.nn.sampled_softmax_loss (как в реализации word2vec https://towardsdatascience.com/word2vec-skip-gram-model-part-2-implementation-in-tf-7efdf6f58a27 или также здесь https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow/+/r0.8/tensorflow/g3doc/tutorials/seq2seq/index.md). Вместо этого в других реализациях они используют тот же весчто они используют в матричном умножении для прогноза (https://github.com/olirice/sampled_softmax_loss/blob/master/Sampled_Softmax_Loss.ipynb или выборка Tensorflow Softmax Loss Correct Usage ), что является правильным или, по крайней мере, что мне следует делать в моем случае?
- Транспонировать матрицу весов, некоторые переносят ее, некоторые - нет, как правильно?
Заранее спасибо за любыеподсказка:)