Hengyuanyun_Y-Tuning: новая парадигма глубокого обучения путем точной настройки представления меток [ACL 2022]

искусственный интеллект глубокое обучение
Hengyuanyun_Y-Tuning: новая парадигма глубокого обучения путем точной настройки представления меток [ACL 2022]

Источник статьи | [Сообщество Hengyuan Cloud](Hengyuan Cloud, платформа общей вычислительной мощности, ориентированная на индустрию искусственного интеллекта.)

Исходный адрес |【АКЛ 2022】

Оригинальный автор | Матор


Внутренняя ОС редактора на данный момент: я не могу винить большого парня за его высокую производительность ~ я мало работаю! Гастарбайтеры, рабочие духи, вставайте и вперед! ! !

Текст начинается:

В ACL2022 есть статья под названием "Y\mathcal{Y}Y-Tuning: An Efficient Tuning Paradigm for Large-Scale Pre-Trained Models via Label Representation Learning«Вклад привлек мое внимание из названия. В отличие от Fine-Tuning, Adapter-Tuning и Prompt-Tuning, новшество этой статьи заключается в том, что она не настраивает входные текстовые функции и параметры крупномасштабного предварительного обучения. модель., только изучая особенности этикеток, в прошлом редко можно было увидеть особенности этикеток. Хотя окончательный эффект все еще может быть несопоставим с тонкой настройкой, он имеет значительные преимущества с точки зрения экономии вычислительных затрат и имеет потенциал для дальнейшего повышения производительности за счет последующих исследований.

PRELIMINARIES OF TUNING PTMS

Для задач НЛП обычно есть входной текстxеXx\in \mathcal{X}и этикеткиyеYy\in \mathcal{Y}X\mathcal{X}Пространство признаков является дискретным (например, One-hot). Возьмем в качестве примера задачу «Анализ настроений» (SA), введите предложениенабор метокY\mathcal{Y}=postivepostive, negative\text{negative}теги вy=postivey=\text{postive}истинная метка

определениеф:XZ\phi : \mathcal{X}\to \mathcal{Z}является отображением входного предложения в многомерное плотное векторное пространство,f:ZYf: \mathcal{Z}\to \mathcal{Y}Чтобы изменить отображение векторного пространства на пространство меток. данный тренировочный наборD\mathcal{D}, мы можем определить функцию потерь как:Y×YR+\ell: \mathcal{Y}\times \mathcal{Y}\to \mathbb{R}^+, а оптимальный можно найтиffиф\phi:在这里插入图片描述В общем, даже если классификаторffОчень просто, но пока есть хороший экстрактор признаковф(x)\phi(x), производительность в нисходящих задачах будет не плохой

Вышеупомянутое содержание удалено из оригинальной статьи. Описание в статье несколько абстрактно. Грубо говоря, это на самом делеф\phiМожет рассматриваться как BERT,ffОн предназначен для решения различных последующих задач, и за некоторыми слоями после BERT, такими как классификация текста, следует линейный слой.

Y\mathcal{Y}-TUNING

мы определяем(x,y)(x,y)– размеченная обучающая выборка,ф\phi^{\star}является предварительно обученной моделью, обученной на крупномасштабном корпусе, и всегда фиксируется в следующемф\phi^{\star}Параметры не обновляются. Традиционный подход заключается в тонкой настройке экстрактора признаков.ф\phi^{\star}параметры, чтобы сделать его близким к истинной метке.Y\mathcal{Y}-Исправлена ​​практика настройкиф\phi^{\star}параметры, в свою очередь настраивая экстрактор этикетокψ\psiпараметры, и мы используем перекрестное внимание дляф(x)\phi^{\star}(x)иψ(Y)\psi(\mathcal{Y})Элементы объединены, как показано на следующем рисунке.

在这里插入图片描述Функция потерь представляет собой тройную потерю в следующей форме:在这里插入图片描述

в,[x]+=max(x,0)[x]_+=\max (x, 0),альфа\alpha— граничный гиперпараметр, контролирующий расстояние между положительными и отрицательными образцами. Во время тренировки дается тренировочный наборD\mathcal{D}, мы можем найти лучшие параметры модели по在这里插入图片描述

На этапе вывода мы можем получить прогнозируемое значение, используя:在这里插入图片描述

AN IMPLEMENTATION OF Y\mathcal{Y}-TUNING

Архитектура модели на бумажной диаграмме в основном состоит из трех частей:

  1. для извлечения текстовых функцийф\phi, эта часть обычно является моделью класса Encoder, такой как BERT и т. д.
  2. используется для извлечения функций этикеткиψ\psi, в этой части обычно используется структура декодера Transformer, поскольку часть Cross-Attention требуется для взаимодействия с элементами этикетки и текстовыми элементами.
  3. Указатель метки, используемый для прогнозирования категории, эта часть относительно проста, используйте среднее или максимальное объединение для преобразования вектора высокой размерности в вектор низкой размерности.
Label Embedding

задан набор метокY\mathcal{Y}, мы сначала пометимyеYy\in \mathcal{Y}Сопоставьте с одним или несколькими последовательными векторами. Конечно, в дополнение к меткам нам также необходимо отображать информацию, связанную с задачей, в векторы, такие как задачи анализа тональности, мы добавим флаг SA вверху.

На самом деле это немного похоже на mBART: при машинном переводе язык, соответствующий флагу (например, ZH, JP, EN и т. д.), добавляется в начало предложения.

Таким образом, первоначальные признаки метки在这里插入图片描述

в,eTe_TПредставляет вложения, связанные с задачами,ece^{c}означает первыйccвложения категорий,NNиDDПредставляют количество выборок и размерность представления метки соответственно. На самом деле каждая метка может быть представлена ​​несколькими векторами.Автор также провел сравнительный эксперимент, чтобы изучить, как каждая метка, представленная несколькими векторами, повлияет на результаты.在这里插入图片描述Существует множество способов маркировкиyyСопоставление с вектором, например выборка из словаря, равномерное распределение, встраивание токенов и т. д.

Self-Attention and Cross-Attention

Сначала мы используем само-внимание для усиления информационного взаимодействия между разными ярлыками.在这里插入图片描述в,QеRN×Dk,KеRM×Dk,VеRM×Dv\mathbf{Q}\in \mathbb{R}^{N\times D_k}, \mathbf{K}\in \mathbb{R}^{M\times D_k}, \mathbf{V}\in \mathbb{R}^{M\times D_v}, если во внимании к себе,N=MN=M; если в перекрестном внимании,NNпредставляет длину входного предложения,MMПредставляет длину ввода метки в перекрестном внимании在这里插入图片描述в,X\mathbf{X}- многомерный вектор входного предложения после прохождения через PTM

Label Pointer

После всех вычислений получаем выходной вектор在这里插入图片描述в,hT\mathbf{h}_Tописательные признаки, связанные с задачей,hc\mathbf{h}_cэто категорияccособенности этикетки. Триплетная потеря определяется следующим образом:在这里插入图片描述в,cc^{\star}представляет индекс, соответствующий правильной метке

MODEL ANALYSIS

Предположим, у нас естьLLслой предварительно обученной модели, который имеет сложностьO(LM2)\mathcal{O}(LM^2)MMдлина входного предложения; одно имеет длинуPPНепрерывная подсказка , ее сложностьO(L(M+P)2)\mathcal{O}(L(M+P)^2);заY\mathcal{Y}Для -настройки сложность само-внимания и перекрестного внимания соответственноO(N2)\mathcal{O}(N^2)а такжеO(MN)\mathcal{O}(MN)NNразмер набора меток. Так какY\mathcal{Y}В -настройке мы фиксируем параметры предобученной модели и не обучаем, поэтому часть предобученной модели не будет занимать вычислительные ресурсы (особенно процесс обратного распространения)

RESULT

在这里插入图片描述По результатам эксперимента эффект считается "очень конкурентоспособным". Конечно, мы не можем сравнить его с традиционным FineTune. Ведь есть так много параметров, которые можно обучить, а вычислительная мощность, необходимая для обучения, невелика. на порядок.

Персональное резюме

предложено в этой статьеY\mathcal{Y}-Идея настройки очень интересна.Традиционная идея состоит в том, чтобы выучить входное предложение так, чтобы выходной вектор был близок к распределению метки; эта статья как раз наоборот, изучает метку. Что меня удивляет, так это то, что функция потерь не является традиционной CrossEntropyLoss, потому что, на мой взгляд, хорошо напрямую преобразовать выходной вектор в реальную метку и сравнить его с реальной меткой. Но функция потерь, используемая в статье, называется Triplet Loss, я не знаю, почему автор это сделал.