Я уже знаю значение встраивания токенов, встраивания сегментов и встраивания позиций. Но почему эти три вектора можно сложить вместе? Размер и направление векторов изменятся после сложения, а также изменится семантика слова. (Это тот же вопрос для модели Transformer, которая имеет два вложения с именами Input Embedding и Position Embedding.)
Почему можно добавить три вложения Берта?
Ответы (1)
Во-первых, эти векторы добавляются поэлементно -> Размер вложений остается прежним.
Во-вторых, позиция играет важную роль в значении токена, поэтому она должна каким-то образом быть частью встраивания. Внимание: встраивание токенов не обязательно содержит семантическую информацию, как мы теперь знаем из word2vec, все эти вложения (токен, сегмент и позиция) изучаются вместе при предварительном обучении, чтобы они лучше всего выполняли задачи вместе. При предварительном обучении они уже складываются вместе, поэтому обучаются специально для этого случая. Направление векторов меняется с этим добавлением, но новое направление дает модели важную информацию, упакованную всего в один вектор.
Примечание. Каждый вектор огромен (768 измерений в базовой модели).