Seq2Seq / NLP / Translation: после генерации целевого предложения имеет ли скрытое состояние последнего декодера какое-либо остаточное значение? - PullRequest
0 голосов
/ 24 января 2020

Я сейчас изучаю машинный перевод, и меня интересует вопрос, более подробно разбирающийся во внутренностях представлений предложений.

Предположим, что мы обучаем систему кодирования-декодирования Seq2Seq En-Fr параллельно корпуса, начиная с предварительно обученных векторов слов Eng и Fr. Система может использовать что угодно для формирования вложения предложения (Transformers, LSTMs, et c). Затем задача системы перевода Seq2Seq состоит в том, чтобы научиться строить представления предложений на английском языке из векторов английских слов и научиться создавать представления на французском предложении из векторов французских слов, а путем связывания кодера и декодера изучать эти два представления предложений в одном и том же пространстве. ,

После обучения модели и кодирования некоторого предложения Энгли sh вместе с моделью (скажем, «Это не труба») предложение, внедряемое в пространство совместного представления, имеет некоторое представление о словах: это ',' есть ',' не ',' a ',' pipe 'и др. c и все их ассоциации, а также последовательность, в которой они появляются. (1)

Когда декодер запускается в кодировке, он может извлечь вышеупомянутую информацию из-за нагрузки корпуса, которая была ему подана во время обучения, и статистических ассоциаций между словами, и вывести соответственно , 'Ceci', 'n', '' ',' est ',' pas ',' une ',' pipe ',' (EOS) '. На каждом шаге он извлекает и выводит следующее французское слово из скрытого состояния декодера и преобразует его так, чтобы декодер обнаружил эвристически «наиболее заметное» слово, которое будет декодировано следующим, и так далее, до тех пор, пока «(EOS)» .

Мой вопрос таков: есть ли какая-либо интерпретация последнего скрытого состояния декодера после (EOS) вывода? Это полезно для чего-то еще? Конечно, простой ответ: «Нет, модель была обучена захватывать миллионы строк текста Engli sh и обрабатывать их до тех пор, пока какое-то слово в сочетании со скрытым состоянием не создает (EOS), а последнее скрытое состояние декодера не станет просто так, все остальное, на что явно не обращено внимания, это просто шум, а не сигнал ".

Но мне интересно, есть ли что-нибудь еще в этом направлении? Я пытаюсь понять, что если у вас есть вложение предложения, сгенерированное в Engli sh, и значение, выброшенное из него на французском языке с помощью модели декодера, остается ли какое-либо остаточное значение, которое нельзя перевести из Engli sh на французский? Конечно, последнее скрытое состояние для перевода любого конкретного предложения будет очень трудно интерпретировать, но как насчет совокупности (например, некоторой совокупности последних скрытых состояний каждого переводимого предложения, в котором есть слова «французский», это означает что-то немного другое в Engli sh, потому что это может быть в паре с 'fries' et c. Это глупый пример, но вы, вероятно, можете подумать о других, эксплуатирующих культурные двусмысленности, et c, которые появляются в язык.) Может ли это последнее вложение отразить некоторую статистическую «неопределенность» или двусмысленность в переводе (может быть, такие как «возможные» значения и ассоциации, которые могли закончиться на французском языке, но не так?) или какую-то другую структурную структуру? аспект языка, который может быть использован, чтобы помочь нам понять, скажем, чем Engli sh отличается от французского?

В какой категории вы думаете ответ на это падение?

  • "Сигнала нет",
  • "Возможно, некоторые но это было бы очень трудно извлечь, потому что это зависит от механизма обучения модели "
  • " Есть сигнал, который можно надежно извлечь, даже если нам нужно собрать более миллиона примеров " ?

Я не уверен, является ли этот вопрос вообще чувственным, но мне любопытно ответить на него и были ли проведены какие-либо исследования в этом направлении? Я спрашиваю из простого простого любопытства.

Примечания :
Я знаю, что последнее скрытое состояние существует, потому что оно генерирует (EOS) в сочетании с последним словом. В этом его цель, ничто иное (?) Не делает его особенным. Мне интересно, сможем ли мы извлечь из него больше смысла (даже если это означает преобразовать его, например, применив к нему шаг декодера еще раз или что-то в этом роде).

(1) (Конечно, ML Модель не имеет богатых идей «понятий», как человек, со всеми ее ассоциациями с мыслями, переживаниями и чувствами, в модели ML «концепция» имеет ассоциации только с другими словами, встречающимися в одноязычном корпусе для слова «векторное обучение» и двуязычный корпус для обучения переводу.)

1 Ответ

0 голосов
/ 24 января 2020

Отвечая на мой вопрос, но все еще интересуюсь мыслями. У меня есть предчувствие, что ответ «нет», потому что скрытое вложение состояния генерируется с учетом только двух свойств: (1) быть «ближайшим» по косинусному расстоянию к следующему выходному токену из всех токенов на французском языке, и ( 2) создать скрытое состояние, соответствующее следующему слову, когда к нему применено преобразование декодера. Чтобы у последнего скрытого состояния была интерпретация, отличная от «это точка на 300-м (или в любом используемом нами измерении встраивания»), замыкающий круг на косинусное расстояние до французского (EOS) токена »означал бы, что мы должны применить (2) к нему. Но в обучающих данных никогда не было примеров чего-либо следующего (EOS), поэтому то, что мы получаем, если применить преобразование декодера к последнему скрытому состоянию, никогда не будет изучено и будет просто случайным в зависимости от инициализации нашей модели.

Если мы Хотелось бы получить какое-то представление о том, насколько хорошо «совпадает» пространство совместного вложения Engli sh и французского языка, мы должны смотреть и сравнивать тестовые потери различных переводов, а не смотреть в последнее скрытое состояние. Но все же интересуются мыслями людей по этому поводу, если кто-то думает иначе.

...