Интуитивно понятное объяснение потери контрастной оценки шума (NCE)?

datascience.stackexchange https://datascience.stackexchange.com/questions/13216

Вопрос

Я читал о NCE (форма отбора проб кандидата) из этих двух источников:

Tensorflow Repoblup

Оригинальная бумага

Может ли кто -нибудь помочь мне со следующим:

  1. Простое объяснение того, как работает NCE (я нашел вышеупомянутое трудное проанализировать и понять, поэтому что -то интуитивное, что приводит к представленной математике, было бы здорово)
  2. После точки 1 выше, естественное интуитивное описание того, как это отличается от отрицательной выборки. Я вижу, что в формуле есть небольшое изменение, но не мог понять математику. У меня есть интуитивное понимание негативной выборки в контексте word2vec - Мы случайным образом выбираем некоторые образцы из словарного запаса V и обновить только их, потому что |V| большой, и это обеспечивает ускорение. Пожалуйста, исправьте, если не так.
  3. Когда использовать какой из них и как это решается? Было бы здорово, если бы вы могли включить примеры (возможно, легко понять приложения)
  4. NCE лучше отрицательной выборки? Лучше в каком манере?

Спасибо.

Это было полезно?

Решение

Взято из этого поста:https://stats.stackexchange.com/a/245452/154812

Проблема

Есть некоторые проблемы с изучением слова векторов с использованием «стандартной» нейронной сети. Таким образом, слова векторы изучаются, в то время как сеть учится прогнозировать следующее слово, указанное в окне слов (ввод сети).

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

«Стандартная» нейронная сеть обычно обучается функции затрат на перекрестную энтропию, которая требует, чтобы значения выходных нейронов представляли вероятности, что означает, что результаты вывода «оценки», рассчитанные сетью для каждого класса, должны быть нормализованы, преобразованы в Фактические вероятности для каждого класса. Этот этап нормализации достигается с помощью функции Softmax. Softmax очень дорого, когда применяется к огромному выходному слою.

(А) решение

Чтобы решить эту проблему, то есть дорогостоящее вычисление Softmax, Word2VEC использует метод, называемую оценкой шумоподобного. Этот метод был введен [a] (переформулированным [b]), затем использованным в [c], [d], [e] для изучения встроений слов из текста естественного языка.

Основная идея состоит в том, чтобы преобразовать проблему многономиальной классификации (поскольку это проблема прогнозирования следующего слова) в проблему бинарной классификации. То есть вместо использования Softmax для оценки истинного распределения вероятности выходного слова используется двоичная логистическая регрессия (бинарная классификация).

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

Это важно: вместо прогнозирования следующего слова («стандартная» техника обучения), оптимизированный классификатор просто предсказывает, хороша ли пара слов.

Word2VEC слегка настраивает процесс и называет его отрицательным отбором. В Word2VEC слова для негативных образцов (используемые для поврежденных пар) взяты из специально разработанного распределения, которое предпочитает менее частые слова, которые можно чаще рисоваться.

использованная литература

A] (2005) - Контрастирующая оценка: обучающие логарифмические модели на немеченых данных

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

C] (2008) - Объединенная архитектура для обработки естественного языка: глубокие нейронные сети с многозадачным обучением

D] (2012) - Быстрый и простой алгоритм для обучения нейронных вероятностных языковых моделей.

E] (2013) - Учебное слово эффективно эффективно с оценкой шума.

Другие советы

Честно говоря, нет интуитивного способа понять, почему потеря NCE будет работать, не понимая ее математики. Чтобы понять математику, вы должны прочитать оригинальную статью.

Причина, по которой потери NCE будут работать, заключается в том, что NCE приближается к оценке максимального правдоподобия (MLE), когда отношение шума к реальным данным $ k $ увеличивается.

Реализация TensorFlow работает на практике. В основном для каждого данного $ (x, y) $, $ y $ это помеченный класс из данных, Tensorflow NCE образцы потерь $ k $ Занятия из распределения шума. Мы рассчитываем специальную версию цифр для каждого из классов (1 из данных + $ k $ Из распределения шума) с использованием уравнения

$$ delta s _ { theta^0} (w, h) = s _ { theta^0} (w, h) - log kp_n (w) $$

Где $ P_n (w) $ это распределение шума. С цифрами для каждого рассчитанного класса TensorFlow используют цифры для вычисления потери SoftMax для бинарной классификации (потеря логарифмы в логистической регрессии) для каждого из классов, и добавьте эти потери вместе в качестве окончательной потери NCE.

Однако его реализация концептуально неверна, потому что отношение шума к реальным данным $ k $ отличается от количества классов $ n $ Отбирается из распределения шума. TensorFlow NCE не предоставляет переменную для отношения шума к данным и неявно предполагает $ n = k $ Что я считаю концептуально неверным.

Оригинальные документы NCE много пропустили деривации доказательства, так что действительно трудно понять NCE. Чтобы понять математику о NCE, у меня есть сообщение в блоге об этом аннотировании математики из документов NCE:

https://leimao.github.io/article/noise-contrastive-estimation/.

Колледж -второкурсник или выше должны быть в состоянии понять это.

По сути, это выбор выборки из истинного распределения, который состоит из истинного класса и некоторых других шумных ярлыков класса. Затем забрать Softmax на него.

Это основано на выборке слов из истинного распределения и распространения шума.

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

Здесь я объяснил о потере NCE и о том, как она отличается от потери NCE.

Шумовая контрастная оценка: решение для дорогостоящего Softmax.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top