Это 15-й день моего участия в ноябрьском испытании обновлений. Узнайте подробности события:Вызов последнего обновления 2021 г.
Я слышал об увеличении данных и о виртуальном состязательном обучении, но я не ожидал, что кто-то объединит их и назовет это увеличением виртуальных данных. В этой статье в основном объясняется статья о EMNLP2021.Virtual Data Augmentation: A Robust and General Framework for Fine-tuning Pre-trained Models, в этой статье предлагается надежный и общий метод увеличения данных, исходный код статьи находится вGitHub.com/Ru ЦАИ бокс/ВД…
В начале статьи упоминается основная проблема аугментации данных: как гарантировать, что они все еще находятся в одном и том же семантическом пространстве при генерации разнообразия данных? Проще говоря, увеличить разнообразие аугментации данных легко. В основе всего одно слово: «хаос». Например, многие методы аугментации данных случайным образом меняют положение токенов в предложении или случайным образом удаляют некоторые токены и вставляют их. случайным образом определенные жетоны. Хотя это увеличивает разнообразие образцов, семантика также может сильно измениться и даже больше не иметь той же семантики, что и исходные образцы. Легко сохранить семантику неизменной или обеспечить, чтобы усиленные сэмплы и исходные семплы находились в одном и том же семантическом пространстве.Суть: «не запутаться», например, заменой синонимов и т. д., этот метод вряд ли может изменить семантику, но разнообразия данных недостаточно, потому что это по сути одно и то же предложение
Эти две потребности на самом деле противоречат друг другу, все, что мы можем сделать, это попытаться достичь некоего баланса. В частности, предложенный авторами метод состоит из двух важных частей:Embedding Augmentationа такжеRegularized Training
Embedding Augmentation
Предположим теперь, что у нас есть предложение «Времени достаточно для теста», для токена в каждой позиции мы можем заменить его на [MASK], а затем использовать MLM для прогнозирования вероятности всех токенов в словаре в этой позиции, например.
[MASK] is enough for test
[MASK] Токен вывода позиции и его вероятность
Time p=0.5
Day p=0.3
Hours p=0.15
...
Другой пример
Times is enough for [MASK]
[MASK] Токен вывода позиции и его вероятность
test p=0.5
evaluation p=0.3
experiment p=0.1
...
Увидев это, вы, возможно, уже имеете представление об увеличении данных, которое заключается в том, чтобы использовать задачу MLM для предсказания токена в каждой позиции в предложении, а затем случайным образом выбирать токен для замены в соответствии с предсказанной вероятностью. Например, приведенное выше предложение может быть заменено на «Часов достаточно для оценки». Это действительно хороший метод увеличения данных, но автор статьи этого не сделал.
Для простоты описания мы обсуждаем только для данного предложенияжетон вДело о аугментации (собственно приговорВсе токены в Vocabulary будут выполнять эту операцию), с помощью задачи MLM мы можем предсказать, что все слова в Vocabularyвероятность местоположения
в,это количество токенов в словаре
Чтобы увеличить разнообразие дополнений данных или ввести некоторый шум для усиления защиты от помех, мы случайным образом выбираем вектор из распределения Гаусса.
Смешивая этот вектор с распределением вероятностей по формуле (1), можно получить новое распределение вероятностей
Затем для каждого токена, который собирается заменить, используем вероятностьВзвешенное слияние всех токеновВстраивание вектора
в,,- матрица векторов слов модели MLM
Чтобы привести простой пример для объяснения, для удобства он также используется для замены токена в качестве примера, а весь Словарь имеет только 4 токена, а размерность вектора слова равна 2. Прежде всего, у нас есть предложение «Она хорошо учится», МАСКА «хорошо», а затем используем модель MLM для прогнозирования распределения вероятностей как
Слева направо вероятности хорошо, отлично, отлично, умно согласно распределению ГауссаСлучайно сгенерированный вектор
Я не указал здесь дисперсиюСколько стоит, а то мне лень считать
будетиПосле смешивания выполняется Softmax для получения нового распределения вероятностей как
Предположим, что матрица вложения
Тогда вложение, соответствующее финальной «хорошей» позиции, есть
Пока что я не знаю, поняли ли вы, что такое «Виртуальное увеличение данных».Матрица, как правило, не может найти соответствующий индекс, а это означает, что генерируемое нами вложение не соответствует реальному токену.
Regularized Traning
В заголовке есть история, но по сути она вводит дополнительную функцию потерь, в частности, теперь наша цель оптимизации
вУказывает, что есть параметрыПредобученная модель ,количество образцов,Указывает, что предложение усиливаетсяприговор. В частности, если это задача классификации, то
в,Это кросс-энтропийные потери, которые можно заменить в соответствии с конкретными задачами,означает первыйВектор, сгенерированный после прохождения предложения через Word2Vec, имеет размерность[seq_len, emd_dim]
Чтобы предотвратить огромный разрыв в семантике между усиленным образцом и исходным образцом, другими словами, мы надеемся, что усиленный образец и исходный образецраспределенныйблизка, поэтому в статье дивергенция KL представлена как вторая потеря
в,Относится к усилению исходного образцаобразцы,является симметричной дивергенцией KL, в частности
На самом деле, этот метод можно рассматривать как многозадачность, Мы надеемся, что параметры модели обучены области, Эта область заключается в том, что независимо от того, выполняет ли модель последующие задачи на исходном образце или позволяет модели оценить разрыв между исходным образцом и усиленным образцом модель может работать хорошо. Наконец, в конце этой части дается картинка в статье (один образец на картинке расширяет 3 образца)
Results
Если вы просто посмотрите на исходное сравнение точности, кажется, что улучшение не очень большое, я чувствую, что могу достичь или даже превзойти эффект увеличения виртуальных данных, внедрив некоторые хитрости. Ключ находится во втором столбце «Att Acc», который представляет результат атаки на модель. Эта часть улучшения особенно велика, что указывает на то, что метод VDA обладает сильной защитой от помех или высокой надежностью.
Персональное резюме
На самом деле, эта статья была очень ясно объяснена ранее.Здесь нечего обобщать, но у меня есть личное мнение, которое я хочу обсудить с вами, потому что, когда он выполняет задание MLM, он использует весь словарь как набор кандидатов , так что Будь это не очень удобно для скорости вычислений или использования памяти, я думаю, что его можно изменить на топовые k токенов с наибольшей вероятностью выноса.Пока следующие токены не так похожи по семантике, избегайте операции весь словарь, по крайней мере, не генерировать преувеличенное распределение вероятностей в десятки тысяч или сотни тысяч