Інтуїтивне пояснення втрат протишумної оцінки (NCE)?


32

Я читав про NCE (форму вибірки кандидатів) з цих двох джерел:

Тенсдорфловський запис

Оригінальний папір

Чи може мені хтось допомогти з наступним:

  1. Просте пояснення того, як працює NCE (мені було сказано, що важко розібратися та зрозуміти, тому щось інтуїтивне, що призводить до математики, представленої там, було б чудово)
  2. Після пункту 1 вище, природно інтуїтивний опис того, чим це відрізняється від негативного відбору проб. Я можу побачити, що у формулі незначна зміна, але математика не могла зрозуміти. Я маю інтуїтивне розуміння негативного вибірки в контексті word2vec- ми випадковим чином вибираємо деякі зразки зі словникового запасу Vта оновлюємо лише ті, оскільки |V|вони великі, і це забезпечує швидкість. Будь ласка, виправте, якщо не так.
  3. Коли використовувати який і як вирішено? Було б чудово, якби ви могли включити приклади (можливо, легко зрозуміти програми)
  4. Чи NCE кращий, ніж негативний вибірки? Краще яким чином?

Дякую.


може моя посада може допомогти. nanjiang.quora.com/Noise-contrastive- Оцінка та пізніший експеримент із теано можна знайти на моїй github.com/jiangnanHugo/language_modeling. Я сподіваюся, що моє розуміння правильно.
jiangnan hugo

Відповіді:


27

Взято з цього допису: https://stats.stackexchange.com/a/245452/154812

Питання

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

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

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

(А) рішення

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

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

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

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

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

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

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

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

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

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

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


3

Чесно кажучи, немає інтуїтивного способу зрозуміти, чому втрата NCE працюватиме без глибокого розуміння її математики. Щоб зрозуміти математику, слід прочитати оригінальний папір.

к .

(х,у)укк

Δсθ0(ш,год)=сθ0(ш,год)-журналкПн(ш)

Пн(ш)

кнн=к

Оригінальні статті NCE дуже пропустили виводи доказів, так що зрозуміти NCE дуже важко. Щоб зрозуміти математику про NCE простіше, у мене є повідомлення в блозі про це, що коментує математику в документах NCE:

https://leimao.github.io/article/Noise-Contrastive-Estimation/ .

Випускник коледжу або вище повинен мати можливість це зрозуміти.


1

В основному, це вибір вибірки з істинного розподілу, що складається з істинного класу та деяких інших шумних міток класу. Потім перейнявши софтмакс.

Це засновано на вибірці слів із справжнього розподілу та розподілу шуму.

Тут основна ідея полягає у підготовці класифікатора логістичної регресії, який може відокремити вибірки, отримані від справжнього розподілу, і вибірку, отриману в результаті розподілу шуму. Пам'ятайте Коли ми говоримо про вибірки, отримані з істинного розподілу, ми говоримо лише про один зразок, який є справжнім класом, отриманим при модельному розподілі.

Тут я пояснив втрати NCE та чим вони відрізняються від втрат NCE.

Контрастна оцінка шуму: рішення для дорогого Softmax.


1
Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться.
tuomastik

0

Простими словами, NCE - це лише функція втрати класифікації з декількома мітками, що містить лише 1 позитивну мітку та k негативну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.