Глоссарий по машинному обучению: языковая оценка

Эта страница содержит термины глоссария Language Evaluation. Чтобы просмотреть все термины глоссария, щелкните здесь .

А

внимание

#язык

Механизм, используемый в нейронной сети , который указывает важность определенного слова или части слова. Внимание сжимает объем информации, необходимой модели для предсказания следующей лексемы/слова. Типичный механизм внимания может состоять из взвешенной суммы по набору входных данных, где вес для каждого входного сигнала вычисляется другой частью нейронной сети.

Обратитесь также к самовниманию и многоголовому самовниманию , которые являются строительными блоками Трансформеров .

Б

мешок слов

#язык

Представление слов во фразе или отрывке, независимо от порядка. Например, набор слов представляет собой следующие три фразы одинаково:

  • собака прыгает
  • прыгает на собаку
  • собака прыгает

Каждое слово сопоставляется с индексом в разреженном векторе , где вектор имеет индекс для каждого слова в словаре. Например, фраза the dog jumps отображается в вектор признаков с ненулевыми значениями в трех индексах, соответствующих словам the , dog и jumps . Ненулевое значение может быть любым из следующих:

  • 1 для обозначения наличия слова.
  • Подсчет количества раз, когда слово появляется в сумке. Например, если фраза «бордовая собака» — это собака с темно-бордовой шерстью , то и «бордовая собака», и «собака» будут представлены как 2, а другие слова — как 1.
  • Некоторое другое значение, например логарифм количества раз, когда слово появляется в сумке.

BERT (представление двунаправленного кодировщика от трансформаторов)

#язык

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

BERT имеет следующие характеристики:

Варианты BERT включают:

  • ALBERT , что является аббревиатурой от A L ight BERT .
  • ЛаБСЭ .

Обзор BERT см. в разделе Open Sourcing BERT: современная предварительная подготовка для обработки естественного языка .

биграмма

#последовательность
#язык

N-грамма , в которой N=2.

двунаправленный

#язык

Термин, используемый для описания системы, которая оценивает текст, который предшествует целевому разделу текста и следует за ним . Напротив, однонаправленная система оценивает только текст, который предшествует целевому разделу текста.

Например, рассмотрим замаскированную языковую модель , которая должна определять вероятности для слова или слов, представляющих подчеркивание в следующем вопросе:

Что с тобой _____?

Однонаправленная языковая модель должна была бы основывать свои вероятности только на контексте, обеспечиваемом словами «Что», «есть» и «тот». Напротив, двунаправленная языковая модель может также получать контекст от «с» и «вы», что может помочь модели генерировать более точные прогнозы.

двунаправленная языковая модель

#язык

Языковая модель , которая определяет вероятность того, что данная лексема присутствует в данном месте в отрывке текста на основе предшествующего и последующего текста.

BLEU (дублер двуязычной оценки)

#язык

Оценка от 0,0 до 1,0 включительно, указывающая на качество перевода между двумя языками общения (например, между английским и русским). Оценка BLEU 1,0 указывает на идеальный перевод; оценка BLEU 0,0 указывает на ужасный перевод.

С

каузальная языковая модель

#язык

Синоним однонаправленной языковой модели .

См. двунаправленную языковую модель , чтобы сравнить различные направленные подходы к языковому моделированию.

крах

#язык

Предложение или фраза с неоднозначным значением. Crash blossoms представляют значительную проблему для понимания естественного языка . Например, заголовок Red Tape Holds Up Skyscraper является крахом, потому что модель NLU может интерпретировать заголовок буквально или образно.

Д

декодер

#язык

В общем, любая система ML, которая преобразует обработанное, плотное или внутреннее представление в более необработанное, разреженное или внешнее представление.

Декодеры часто являются компонентом более крупной модели, где они часто работают в паре с кодировщиком .

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

Обратитесь к Transformer для определения декодера в архитектуре Transformer.

устранение шума

#язык

Общий подход к самоконтролируемому обучению, при котором:

  1. В набор данных искусственно добавляется шум .
  2. Модель пытается убрать шум.

Шумоподавление позволяет учиться на неразмеченных примерах . Исходный набор данных служит целью или меткой , а зашумленные данные — входными данными.

Некоторые маскированные языковые модели используют шумоподавление следующим образом:

  1. Шум искусственно добавляется к немаркированному предложению, маскируя некоторые токены.
  2. Модель пытается предсказать исходные токены.

Е

изменить расстояние

#язык

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

Существует несколько определений расстояния редактирования, каждое из которых использует разные строковые операции. Например, расстояние Левенштейна учитывает наименьшее количество операций удаления, вставки и замены.

Например, расстояние Левенштейна между словами «сердце» и «дротики» равно 3, потому что следующие 3 правки — это наименьшее количество изменений для превращения одного слова в другое:

  1. сердце → дорогой (замените «h» на «d»)
  2. дорогой → дротик (удалить «е»)
  3. дротик → дартс (вставьте «s»)

встраиваемый слой

#язык
#основы

Специальный скрытый слой , который обучается на многомерном категориальном признаке, чтобы постепенно изучить вектор встраивания более низкого измерения. Слой внедрения позволяет нейронной сети обучаться гораздо эффективнее, чем обучение только на многомерном категориальном признаке.

Например, Земля в настоящее время поддерживает около 73 000 видов деревьев. Предположим, что древесные породы являются функцией вашей модели, поэтому входной слой вашей модели включает однократный вектор длиной 73 000 элементов. Например, возможно, baobab будет представлен примерно так:

Массив из 73 000 элементов. Первые 6 232 элемента содержат значение 0. Следующий элемент содержит значение 1. Последние 66 767 элементов содержат нулевое значение.

Массив из 73 000 элементов очень длинный. Если вы не добавите в модель слой внедрения, обучение займет очень много времени из-за умножения 72 999 нулей. Возможно, вы выбираете слой внедрения, состоящий из 12 измерений. Следовательно, слой внедрения будет постепенно изучать новый вектор внедрения для каждой породы деревьев.

В определенных ситуациях хеширование является разумной альтернативой встраивающему слою.

встраивание пространства

#язык

D-мерное векторное пространство, в которое сопоставляются элементы из векторного пространства более высокой размерности. В идеале пространство вложения содержит структуру, дающую значимые математические результаты; например, в идеальном пространстве вложений сложение и вычитание вложений могут решать задачи аналогии слов.

Скалярный продукт двух вложений является мерой их сходства.

вложение вектор

#язык

Вообще говоря, массив чисел с плавающей запятой, взятый из любого скрытого слоя , который описывает входные данные для этого скрытого слоя. Часто вектор внедрения представляет собой массив чисел с плавающей запятой, обученный в слое внедрения. Например, предположим, что слой внедрения должен изучить вектор внедрения для каждого из 73 000 видов деревьев на Земле. Возможно, следующий массив является вектором вложения для баобаба:

Массив из 12 элементов, каждый из которых содержит число с плавающей запятой от 0,0 до 1,0.

Вектор вложения — это не набор случайных чисел. Слой внедрения определяет эти значения посредством обучения, аналогично тому, как нейронная сеть изучает другие веса во время обучения. Каждый элемент массива представляет собой рейтинг по некоторой характеристике породы дерева. Какой элемент представляет характеристику какого вида деревьев? Людям очень трудно это определить.

Математически примечательная часть вектора вложения заключается в том, что аналогичные элементы имеют аналогичные наборы чисел с плавающей запятой. Например, похожие породы деревьев имеют более похожий набор чисел с плавающей запятой, чем разные породы деревьев. Секвойи и секвойи являются родственными видами деревьев, поэтому у них будет более похожий набор чисел с плавающей запятой, чем у секвой и кокосовых пальм. Числа в векторе внедрения будут меняться каждый раз, когда вы переобучаете модель, даже если вы переобучаете модель с идентичными входными данными.

энкодер

#язык

В общем, любая система ML, которая преобразует необработанное, разреженное или внешнее представление в более обработанное, более плотное или более внутреннее представление.

Кодировщики часто являются компонентом более крупной модели, где они часто работают в паре с декодером . Некоторые трансформеры сочетают кодировщики с декодерами, хотя другие трансформеры используют только кодировщик или только декодер.

Некоторые системы используют выходные данные кодировщика в качестве входных данных для сети классификации или регрессии.

В задачах от последовательности к последовательности кодировщик принимает входную последовательность и возвращает внутреннее состояние (вектор). Затем декодер использует это внутреннее состояние для предсказания следующей последовательности.

Обратитесь к Transformer для определения кодировщика в архитектуре Transformer.

Ф

Скрипка

#язык

Первая библиотека конфигурации Python, которая устанавливает значения функций и классов без инвазивного кода или инфраструктуры. В случае Pax и других кодовых баз машинного обучения эти функции и классы представляют модели и гиперпараметры обучения .

Fiddle предполагает, что кодовые базы машинного обучения обычно делятся на:

  • Библиотечный код, определяющий слои и оптимизаторы.
  • Код «клея» набора данных, который вызывает библиотеки и связывает все вместе.

Fiddle фиксирует структуру вызова связующего кода в неоцениваемой и изменяемой форме.

Лен

#язык

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

льняной пресс

#язык

Библиотека Transformer с открытым исходным кодом, построенная на Flax , предназначена в первую очередь для обработки естественного языка и мультимодальных исследований.

г

GPT (генеративный предварительно обученный преобразователь)

#язык

Семейство больших языковых моделей на основе Transformer , разработанных OpenAI .

Варианты GPT могут применяться к нескольким модальностям , в том числе:

  • генерация изображений (например, ImageGPT)
  • преобразование текста в изображение (например, DALL-E ).

ЧАС

галлюцинация

#язык

Производство кажущихся правдоподобными, но фактически неверных результатов с помощью генеративной модели , которая якобы делает утверждение о реальном мире. Например, если диалоговый агент утверждает, что Барак Обама умер в 1865 году, у агента галлюцинации .

л

LaMDA (языковая модель для диалоговых приложений)

#язык

Большая языковая модель на основе Transformer , разработанная Google, обучена большому набору данных диалогов, который может генерировать реалистичные разговорные ответы.

LaMDA: наша прорывная технология общения обеспечивает обзор.

языковая модель

#язык

Модель , которая оценивает вероятность того, что токен или последовательность токенов встречаются в более длинной последовательности токенов.

большая языковая модель

#язык

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

М

языковая модель в маске

#язык

Языковая модель , предсказывающая вероятность того, что токены-кандидаты заполнят пробелы в последовательности. Например, маскированная языковая модель может рассчитать вероятность слов-кандидатов заменить подчеркивание в следующем предложении:

____ в шляпе вернулся.

В литературе обычно используется строка «МАСКА» вместо подчеркивания. Например:

Вернулась "МАСКА" в шапке.

Большинство современных языковых моделей с масками являются двунаправленными .

метаобучение

#язык

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

  • Улучшайте/изучайте ручные функции (такие как инициализатор или оптимизатор).
  • Повышение эффективности данных и вычислений.
  • Улучшить обобщение.

Мета-обучение связано с обучением в несколько приемов .

модальность

#язык

Категория данных высокого уровня. Например, числа, текст, изображения, видео и аудио — это пять различных модальностей.

модельный параллелизм

#язык

Способ масштабирования обучения или логического вывода, при котором разные части одной модели помещаются на разные устройства. Параллелизм моделей позволяет создавать модели, которые слишком велики для размещения на одном устройстве.

См. также параллелизм данных .

многоголовое самовнимание

#язык

Расширение внутреннего внимания , которое применяет механизм внутреннего внимания несколько раз для каждой позиции во входной последовательности.

Трансформеры представили многоголовое самообслуживание.

мультимодальная модель

#язык

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

Н

понимание естественного языка

#язык

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

N-грамм

#последовательность
#язык

Упорядоченная последовательность из N слов. Например, по-настоящему безумным является 2-грамм. Поскольку порядок имеет значение, «безумно действительно» отличается от «истинно безумно» на 2 грамма.

Н Название (имена) для этого типа N-грамм Примеры
2 биграмм или 2-грамм идти, пойти, пообедать, поужинать
3 триграмма или 3-грамм съел слишком много, три слепые мыши, звонит колокол
4 4 грамма прогулка в парке, пыль на ветру, мальчик ел чечевицу

Многие модели понимания естественного языка полагаются на N-граммы для предсказания следующего слова, которое пользователь наберет или скажет. Например, предположим, что пользователь набрал три слепых . Модель NLU, основанная на триграммах, скорее всего, предскажет, что следующим пользователем будет тип мыши .

Сравните N-граммы с набором слов , которые представляют собой неупорядоченные наборы слов.

НЛУ

#язык

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

п

конвейерная обработка

#язык

Форма параллелизма модели , при которой обработка модели делится на последовательные этапы, и каждый этап выполняется на другом устройстве. Пока этап обрабатывает одну партию, предыдущий этап может работать со следующей партией.

См. также поэтапное обучение .

позиционное кодирование

#язык

Метод добавления информации о положении токена в последовательности во встраивание токена. Модели-трансформеры используют позиционное кодирование, чтобы лучше понять отношения между различными частями последовательности.

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

С

самовнимание (также называемое уровнем самовнимания)

#язык

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

Я- часть само-внимания относится к последовательности внимания к себе, а не к какому-то другому контексту. Самостоятельное внимание является одним из основных строительных блоков для Transformers и использует терминологию поиска по словарю, такую ​​как «запрос», «ключ» и «значение».

Слой внутреннего внимания начинается с последовательности входных представлений, по одному для каждого слова. Входное представление слова может быть простым встраиванием. Для каждого слова во входной последовательности сеть оценивает релевантность слова каждому элементу во всей последовательности слов. Оценки релевантности определяют, насколько окончательное представление слова включает в себя представления других слов.

Например, рассмотрим следующее предложение:

Животное не перешло улицу, потому что слишком устало.

На следующем рисунке (из Transformer: A Novel Neural Network Architecture for Language Understanding ) показана схема внимания слоя само-внимания для местоимения it , с темным цветом каждой строки, указывающим, насколько каждое слово способствует представлению:

Дважды встречается следующее предложение: «Животное не перешло улицу, потому что слишком устало». Линии соединяют слово «это» в одном предложении с пятью токенами («The», «животное», «улица», «оно» и точка) в другом предложении. Грань между «оно» и «животное» самая сильная.

Слой само-внимания выделяет слова, которые имеют отношение к «этому». В этом случае слой внимания научился выделять слова, к которым он может относиться, присваивая наивысший вес животному .

Для последовательности n токенов само-внимание преобразует последовательность вложений n отдельных раз, по одному разу в каждой позиции последовательности.

Обратитесь также к вниманию и многоголовому самовниманию .

анализ настроений

#язык

Использование статистических алгоритмов или алгоритмов машинного обучения для определения общего отношения группы — положительного или отрицательного — к услуге, продукту, организации или теме. Например, используя понимание естественного языка , алгоритм может выполнять анализ настроений по текстовой обратной связи по университетскому курсу, чтобы определить степень, в которой студенты в целом любили или не любили курс.

последовательность задач

#язык

Задача, которая преобразует входную последовательность маркеров в выходную последовательность маркеров. Например, есть два популярных вида последовательных задач:

  • Переводчики:
    • Пример входной последовательности: «Я люблю тебя».
    • Пример выходной последовательности: "Je t'aime".
  • Ответ на вопрос:
    • Пример входной последовательности: «Нужна ли мне моя машина в Нью-Йорке?»
    • Пример выходной последовательности: «Нет. Пожалуйста, держите машину дома».

разреженная функция

#язык
#основы

Функция , значения которой преимущественно равны нулю или пусты. Например, объект, содержащий одно значение 1 и миллион значений 0, является разреженным. Напротив, плотный признак имеет значения, которые преимущественно не равны нулю или пусты.

В машинном обучении удивительное количество функций является редкими. Категориальные признаки обычно являются разреженными признаками. Например, из 300 возможных видов деревьев в лесу один пример может идентифицировать только клен . Или из миллионов возможных видео в видеотеке один пример может идентифицировать только «Касабланку».

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

разреженное представление

#язык
#основы

Сохранение только позиций ненулевых элементов в разреженном объекте.

Например, предположим, что категориальный признак с именем « species идентифицирует 36 видов деревьев в конкретном лесу. Далее предположим, что каждый пример идентифицирует только один вид.

Вы можете использовать однократный вектор для представления видов деревьев в каждом примере. Горячий вектор будет содержать одну 1 (для представления конкретных видов деревьев в этом примере) и 35 0 s (для представления 35 видов деревьев, не входящих в этот пример). Таким образом, однократное представление maple может выглядеть примерно так:

Вектор, в котором позиции с 0 по 23 содержат значение 0, позиция 24 содержит значение 1, а позиции с 25 по 35 содержат значение 0.

В качестве альтернативы, разреженное представление просто указывало бы на положение конкретного вида. Если maple находится в позиции 24, то разреженное представление maple будет просто таким:

24

Обратите внимание, что разреженное представление намного компактнее, чем однократное представление.

постановочное обучение

#язык

Тактика обучения модели в виде последовательности дискретных этапов. Целью может быть либо ускорение процесса обучения, либо достижение лучшего качества модели.

Иллюстрация подхода прогрессивного стекирования показана ниже:

  • Этап 1 содержит 3 скрытых слоя, этап 2 содержит 6 скрытых слоев, а этап 3 содержит 12 скрытых слоев.
  • Этап 2 начинает тренировку с весами, изученными в 3 скрытых слоях этапа 1. Этап 3 начинает тренировку с весами, изученными в 6 скрытых слоях этапа 2.

Три этапа, которые обозначены как «Этап 1», «Этап 2» и «Этап 3». Каждый этап содержит разное количество слоев: этап 1 содержит 3 слоя, этап 2 содержит 6 слоев, а этап 3 содержит 12 слоев. 3 слоя этапа 1 становятся первыми 3 слоями этапа 2. Точно так же 6 слоев этапа 2 становятся первыми 6 слоями этапа 3.

См. также конвейерную обработку .

Т

Т5

#язык

Модель обучения с преобразованием текста в текст, представленная Google AI в 2020 году . T5 — это модель кодера - декодера , основанная на архитектуре Transformer , обученная на чрезвычайно большом наборе данных. Он эффективен при выполнении различных задач обработки естественного языка, таких как генерация текста, перевод языков и ответы на вопросы в разговорной манере.

T5 получил свое название от пяти букв T в «Трансформаторе преобразования текста в текст».

T5X

#язык

Платформа машинного обучения с открытым исходным кодом, предназначенная для создания и обучения крупномасштабных моделей обработки естественного языка (NLP). T5 реализован на кодовой базе T5X (которая построена на JAX и Flax ).

текстовый диапазон

#язык

Диапазон индекса массива, связанный с определенным подразделом текстовой строки. Например, слово good в строке Python s="Be good now" занимает текстовый диапазон с 3 по 6.

жетон

#язык

В языковой модели - элементарная единица, на которой модель обучается и делает прогнозы. Токен обычно является одним из следующих:

  • слово — например, фраза «собаки как кошки» состоит из трех токенов слов: «собаки», «лайки» и «кошки».
  • символ — например, фраза «велосипедная рыба» состоит из девяти жетонов символов. (Обратите внимание, что пустое место считается одним из токенов.)
  • подслова — в которых одно слово может быть одним токеном или несколькими токенами. Подслово состоит из корня слова, префикса или суффикса. Например, языковая модель, использующая подслова в качестве лексем, может рассматривать слово «собаки» как две лексемы (корневое слово «собака» и суффикс множественного числа «s»). В той же языковой модели одно слово «более высокий» может рассматриваться как два подслова (корневое слово «высокий» и суффикс «эр»).

В предметных областях вне языковых моделей токены могут представлять другие типы атомарных единиц. Например, в компьютерном зрении токен может быть подмножеством изображения.

Трансформер

#язык

Архитектура нейронной сети , разработанная в Google, которая опирается на механизмы внутреннего внимания для преобразования последовательности входных вложений в последовательность выходных вложений, не полагаясь на свертки или рекуррентные нейронные сети . Трансформера можно рассматривать как набор слоев само-внимания.

Преобразователь может включать в себя любое из следующего:

Кодер преобразует последовательность вложений в новую последовательность той же длины. Кодер включает в себя N одинаковых слоев, каждый из которых содержит два подуровня. Эти два подуровня применяются в каждой позиции входной последовательности встраивания, преобразуя каждый элемент последовательности в новое вложение. Первый подуровень кодера агрегирует информацию со всей входной последовательности. Второй подуровень кодера преобразует агрегированную информацию в выходное вложение.

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

Сообщение в блоге Transformer: новая архитектура нейронной сети для понимания языка представляет собой хорошее введение в Transformers.

триграмма

#последовательность
#язык

N-грамма , в которой N=3.

U

однонаправленный

#язык

Система, которая оценивает только текст, предшествующий целевому разделу текста. Напротив, двунаправленная система оценивает как текст, который предшествует целевому разделу текста, так и следует за ним . См . двунаправленный для более подробной информации.

однонаправленная языковая модель

#язык

Языковая модель , которая основывает свои вероятности только на лексемах , появляющихся до , а не после целевой лексемы. В отличие от двунаправленной языковой модели .

В

вариационный автоэнкодер (VAE)

#язык

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

VAE состоят из двух нейронных сетей : кодера и декодера . Кодер принимает ввод (например, изображение, звук или текст) и сжимает его в вектор скрытых переменных. Декодер берет вектор скрытых переменных и восстанавливает исходные данные. Потери вычисляются путем сравнения исходных данных с реконструированными данными, а веса обновляются посредством обратного распространения через обе сети.

Вт

вложение слов

#язык

Представление каждого слова в наборе слов в векторе встраивания ; то есть представление каждого слова в виде вектора значений с плавающей запятой от 0,0 до 1,0. Слова с похожими значениями имеют более похожие представления, чем слова с разными значениями. Например, морковь , сельдерей и огурцы будут иметь относительно схожие представления, которые будут сильно отличаться от представлений самолета , солнцезащитных очков и зубной пасты .