Рассмотрите этот игрушечный пример, чтобы проиллюстрировать общую ситуацию (обратите внимание, что это не обязательно связано с НЛП, пожалуйста, см. Редактирование для более подробной информации): Алиса и Боб ведут беседу, где каждый участник на каждом временном шаге говорит одно слово. Задача состоит в том, чтобы предсказать, каким будет второе следующее слово Боба.
На мой взгляд, есть несколько базовых c типов для предиктора (в этом вопросе - нейронная сеть).
1) вывод с шагом по времени t - это то, что сказал Боб при t + 2 (скаляр). Значение: заботится только о нашей целевой миссии.
2) результат на временном шаге t - это то, что сказал Боб при t + 1, t + 2 (вектор с двумя записями). Значение: только посмотрите на нашего целевого Боба, но добавьте информацию о его предыдущих действиях.
3) вывод с шагом по времени t - это то, что Алиса и Боб сказали в t + 2 (вектор с двумя записями). Значение: Добавление истинного будущего действия Алисы.
4) вывод с шагом по времени t - это то, что Алиса и Боб сказали в t + 1, t + 2 ( Матрица 2х2). Значение: используйте каждую доступную информацию, чтобы описать ситуацию как можно лучше.
Какой из вышеперечисленных случаев лучше всего подходит? Еще раз отмечаю, что я забочусь только о втором слове Боба, и эта точность наиболее важна для оценки.
РЕДАКТИРОВАТЬ
Это просто пример, чтобы упростить то, что я считаю является общим основным вопросом, и не имеет ничего общего с естественным языком. Чтобы обдумать это - вместо слов в качестве входных данных предиктор может получить изображения бровей Алисы и Боба и в соответствии с этим предсказать, каким будет второе слово Боба.
EDIT 2 ( Формулировки не существует, потому что у меня недостаточно репутации для нее).
Моя задача - проблема регрессии, использующая нейронную сеть для получения входных данных x измерений [ Batch, SeqLen, Features ], чтобы приблизить некоторую функцию f (x | l) . Например, если SeqLen = 10 и l = 100 , то x имеет 10 последовательных выборок и f (x | l = 100) - это некоторое значение на 100 шагов вперед.
Преобразование из примера с игрушкой, обозначив одну из функций - feature_i , в качестве нашего целевого значения (например, f ( x | l) ), затем:
feature_i_l - слово Бобса в t + l .
feature_j_l - слово Алисы в t + l .
feature_k_l - направление Бобса волосы движутся ветром в t + l .
f (x | l) - слово Бобса в t + l .
1) GroundTruth - это ( feature_i_l ).
2) GroundTruth - ( feature_i_1, feature_i_2 ,. .., feature_i_l ).
3) GroundTruth - это ( feature_j_l, feature_i_l ).
4) GroundTruth - это целые функции от t до т + л .
Любая модель, которая требует выполнения, на 100 шагов вперед, 100 прогнозирования для t + 1 , затем t + 2 и т. Д., Накапливающих ошибка будет огромной.