CBOW v.s. пропустить грамматику: зачем инвертировать контекст и целевые слова?

Вэтот На странице сказано, что:

[...] пропускающая грамма инвертирует контексты и цели и пытается предсказать каждое контекстное слово из его целевого слова [...]

Однако, глядя на набор обучающих данных, который он создает, содержимое пары X и Y представляется взаимозаменяемым, как и эти две пары (X, Y):

(quick, brown), (brown, quick)

Так зачем же проводить различие между контекстом и целями, если в конце это одно и то же?

Кроме того, делаяКурс глубокого обучения Udacity на word2vecМне интересно, почему они, кажется, делают разницу между этими двумя подходами в этой проблеме:

Альтернативой скип-грамме является другая модель Word2Vec, называемая CBOW (Continuous Bag of Words). В модели CBOW вместо прогнозирования слова контекста по вектору слова вы прогнозируете слово по сумме всех векторов слова в его контексте. Внедрить и оценить модель CBOW, обученную на наборе данных text8.

Не приведет ли это к таким же результатам?

Ответы на вопрос(2)

Решение Вопроса

Вот мое упрощенное и довольно наивное понимание разницы:

Как мы знаем,CBOW учится предсказывать слово по контексту. Или максимизируйте вероятность целевого слова, глядя на контекст. И это бывает проблемой для редких слов. Например, учитывая контекстyesterday was a really [...] day Модель CBOW скажет вам, что, скорее всего, словоbeautiful или жеnice, Слова какdelightful будет уделяться гораздо меньше внимания модели, потому что она предназначена для прогнозирования наиболее вероятного слова. Это слово будет сглажено во многих примерах с более частыми словами.

С другой стороны,пропустить грамм Модель предназначена для прогнозирования контекста. Учитывая словоdelightful он должен понять это и сказать нам, что существует большая вероятность того, что контекстyesterday was really [...] dayили какой-то другой соответствующий контекст. Спропустить грамм словоdelightful не буду пытаться конкурировать со словомbeautiful но вместо этого,delightful+context пары будут рассматриваться как новые наблюдения.

ОБНОВИТЬ

Спасибо @ 0xF за обменЭта статья

По словам Миколова

Пропуск грамм: хорошо работает с небольшим количеством обучающих данных, хорошо представляет даже редкие слова или фразы.

CBOW: в несколько раз быстрее тренироваться, чем скип-грамма, чуть лучшая точность для часто употребляемых слов

Еще одно дополнение к теме найденоВот:

В режиме «skip -gram», альтернативном «CBOW», вместо усреднения слов контекста, каждое из них используется в качестве примера попарного обучения. Таким образом, вместо одного примера CBOW, такого как [предикат 'съел' из среднего значения ('The', 'cat', 'the', 'mouse')], сеть представлена ​​четырьмя примерами скип-граммы [предикат ' ели 'от' The '], [предсказывают' ели 'от' кошки '], [предсказывают' ели 'от' the '], [предсказывают' ели 'от' мыши ']. (Произошло такое же случайное сокращение окна, так что половину времени составляли бы два примера ближайших слов.)

 0xF12 дек. 2017 г., 06:39
Это сообщение Quora [quora.com/... говорит, что skip-грамм требует меньше данных для обучения, чем cbow, просто противоположный вид вашего комментария. Можете ли вы обосновать свой ответ с помощью любой опубликованной статьи или около того.
 Serhiy13 дек. 2017 г., 16:35
Спасибо что подметил это! Объяснение, приведенное в этой статье, имеет смысл, поэтому я обновил свой ответ.

Это связано с тем, что именно вы рассчитываете в любой момент. Разница станет яснее, если вы начнете смотреть на модели, которые включают больший контекст для каждого вычисления вероятности.

В скип-грамме тывычисление слова контекста от слова в текущей позиции в предложении; Вы «пропускаете» текущее слово (и, возможно, немного контекста) в своих вычислениях. Результатом может быть более одного слова (но не в том случае, если ваше контекстное окно содержит всего одно слово).

В CBOW вывычисление текущего слова из слова контекста, так что в результате у вас будет только одно слово.

 Guillaume Chevalier26 нояб. 2016 г., 13:59
Например, как можно изменить конфигурацию модели в отправленной мной ссылке на Udacity? Мне кажется, что только обмен метками с входными примерами поможет, но это не может быть правдой, разница будет настолько тривиальной ...
 Guillaume Chevalier26 нояб. 2016 г., 13:56
Разница все еще неясна для меня, единственное, что, кажется, изменится - это заполнение слов рядом с началом и концом предложений: в одной модели будет больше общих слов на входном размере или выходном размере с точки зрения того, как часто одни и те же слова были показаны. В бесконечно длинном предложении у двух моделей не было бы той концепции неравного заполнения, которую я представляю.

Ваш ответ на вопрос