Як працює негативна вибірка у word2vec?


19

Я дуже намагався зрозуміти поняття негативної вибірки в контексті word2vec. Я не в змозі перетравити ідею [негативної] вибірки. Наприклад, у роботах Міколова негативне очікування вибірки сформульовано як

logσ(w,c)+kEcNPD[logσ(w,cN)].

Я розумію лівий термін , але не можу зрозуміти ідею вибірки негативних пар слово-контекст.logσ(w,c)


4
Смішно, наскільки розсіяна документація для word2vec. Ви знайдете негативні вибірки вибірки тут: arxiv.org/pdf/1402.3722v1.pdf
Алекс Р.

Я переглянув пояснення, яке ви послали, і зрозумів математику, що стоїть за ним. Але я не в змозі перетравити інтуїцію за вибіркою.
Упендра Кумар

Відповіді:


27

Питання

Існують деякі проблеми з вивченням векторів слів за допомогою «стандартної» нейронної мережі. Таким чином, слова вектори вивчаються, поки мережа вчиться передбачати наступне слово, задане вікно слів (вхід мережі).

Прогнозувати наступне слово - це ніби передбачити клас. Тобто така мережа є лише «стандартним» багаточленним (багатокласним) класифікатором. І ця мережа повинна мати стільки вихідних нейронів, скільки там класів. Коли заняття - це фактичні слова, кількість нейронів, ну, величезна .

"Стандартна" нейронна мережа зазвичай навчається з функцією витрат на перехресну ентропію, яка вимагає, щоб значення вихідних нейронів представляли ймовірності - це означає, що вихідні "бали", обчислені мережею для кожного класу, повинні бути нормалізовані, перетворені в фактичні ймовірності для кожного класу. Цей крок нормалізації досягається за допомогою функції softmax . Softmax дуже дорого коштує, коли застосовується до величезного вихідного шару.

(А) рішення

Для вирішення цього питання, тобто дорогого обчислення софмаксу, Word2Vec використовує техніку, яку називають шумо-контрастною оцінкою. Ця методика була введена [A] (переформульована [B]), а потім використана в [C], [D], [E] для вивчення вбудовування слів із тексту без маркіровки на природній мові.

Основна ідея полягає в перетворенні проблеми мультиноміальної класифікації (оскільки це проблема передбачення наступного слова ) у бінарну задачу класифікації . Тобто, замість того, щоб використовувати softmax для оцінки справжнього розподілу ймовірності вихідного слова, натомість використовується двійкова логістична регресія (двійкова класифікація).

Для кожного навчального зразка розширеного (оптимізованого) класифікатора подається справжня пара (центральне слово та інше слово, що з’являється в його контексті) та кількість випадково зіпсованих пар (що складається з центрального слова та випадково вибраного слова з лексика). Навчившись відрізняти справжні пари від зіпсованих, класифікатор остаточно засвоїть слова вектори.k

Це важливо: замість прогнозування наступного слова ("стандартної" методики навчання) оптимізований класифікатор просто передбачить, чи є пара слів хорошим чи поганим .

Word2Vec трохи налаштовує процес і називає його негативним вибіркою . У Word2Vec слова для негативних зразків (які використовуються для зіпсованих пар) черпають із спеціально розробленого розподілу, який надає перевагу менш рідкісним словам.

Список літератури

[A] (2005) - Контрастна оцінка: Навчання лінійно-лінійних моделей на немаркованих даних

[B] (2010) - Шум-контрастна оцінка: новий принцип оцінки для ненормалізованих статистичних моделей

[C] (2008) - Уніфікована архітектура для обробки природних мов: глибокі нейронні мережі з багатозадачністю навчання

[D] (2012) - швидкий і простий алгоритм для навчання нейронних імовірнісних моделей мови .

[E] (2013) - Ефективне вкладання вбудованих слів із шумопомітною оцінкою .


Відповідь ґрунтується на деяких старих моїх записках - сподіваюся, що вони були правильними :)


2
Ви згадали, "in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often". Мені цікаво, чи правильно це? Оскільки деякі інші джерела кажуть, що частіші слова відбираються як негативні вибірки. Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.
Тайлер 傲 来 国 主


До речі, що є причиною вибору слова з високими або низькими частотами як негативні зразки? Чи недостатньо хороша випадкова вибірка з безтекстових слів?
Тайлер 傲 来 国 主

@Tyler 傲 来 国 主 Наскільки я розумію, менш рідкісні слова є більш інформативними, оскільки вони, як правило, конкретні. Більш часті слова, як правило, асоціюються з багатьма іншими словами (візьмімо крайній приклад "the"). Це робить нечасті слова "складнішими", щоб отримати правильність (ви навчаєтесь швидше), а також знижує ймовірність вибору слова, яке насправді не є негативним зразком (оскільки для великих корпорацій перевірка цього дорога і часто залишається поза увагою).
drevicko

@drevicko Рідше слова є більш інформативними, але менш часті слова, які мають негативні зразки, менш інформативні. Відповідно до теорії інформації, чим вище ймовірність, тим меншою є самоінформація. Подія, коли часті слова є негативними зразками для даного цільового слова, має бути меншою ймовірністю, що означає більшу кількість інформації.
Тайлер 傲 来 国 主
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.