И почему это важно

Необходимость в метрике оценки

Расчет убытков по другим направлениям

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

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

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

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

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

Проблемы с расчетом убытков в НЛП

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

Пример

Если я попрошу вас выбрать неправильную подпись для изображения выше из следующих вариантов:

  • Автомобиль перед домом.
  • Автомобиль на дороге перед домом.
  • Серая машина на дороге перед домом.
  • Серая спортивная машина перед домом.

Вы можете выбрать любой из них и при этом быть правильным, ни один из них не является неправильным, меняются только детали. Если основная правда для этого изображения в нашем наборе данных - «серая машина на дороге». Как вы научите модель, используя наземную метку истины, что все 4 выхода верны? Не все так просто, правда?

Почему важно иметь хорошие показатели оценки?

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

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

Если мы пытаемся решить две проблемы с помощью одной модели, мы хотели бы знать производительность модели по обеим этим задачам, чтобы принять обоснованное решение, чтобы знать, какие компромиссы мы идем. Здесь также проявляется «добротность» метрики. Реальный мир полон предвзятости, и мы не хотим, чтобы наши решения были предвзятыми, поскольку это может иметь немыслимые последствия.

Быстрый пример, если мы переводим текст с языка X на английский. Для конкретного предложения, если мы говорим о группе A, оно переводится как «Они сделали хорошую работу». в отличие от Группы B, это переводится как «Они проделали отличную работу», что является кристально ясным признаком того, что наша модель смещена в сторону Группы B. Такие предубеждения должны быть известным до того, как он будет развернут в реальном мире, и метрики должны помочь нам в их выявлении.

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

Оценка BLEU - дублер двуязычной оценки

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

Как рассчитать балл BLEU?

Расчет точности униграммы:

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

Продолжая приведенный выше пример:
Наземная правда: «Серая машина на дороге»
S1: «Автомобиль на дороге» получит оценка 5/6,
S2: «Серая машина перед домом на дороге» получит оценку 6/6,
S3: «На серой машине дорога автомобильная» также получите оценку 6/6!
Фактически S4: «автомобиль автомобиль автомобиль автомобиль автомобиль автомобиль» также получит оценку 6/6 !!

Это не кажется правильным; мы не должны так высоко оценивать S3 и S4. Чтобы наказать последние два сценария, мы используем комбинацию униграммы, биграммы, триграммы и n-грамм, умножая их. Использование n-граммов в некоторой степени помогает нам уловить порядок предложений - сценарий S3. Мы также ограничиваем количество раз для подсчета каждого слова на основе наибольшего количества раз, которое оно встречается в любом ссылочном предложении, что помогает нам избежать ненужного повторения слов - сценарий S4.

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

if (length(output) > length(shortest_References))
    brevity_Penalty = 1;
else { // output caption is shorter.
    brevity_Penalty = exponent(length(output)/length(shortest_Reference)-1);
}
BLEU Score = unigram_precision * bigram_precision *...*            ngram_precision * brevity_Penalty; 

Проблемы с BLEU:

  • Он не учитывает значение: на самом деле слова в предложении не в равной степени влияют на значение предложения. Но метод BLEU оценивает все слова как равные.
    Основная правда: у меня бордовая машина.
    S1: У меня синяя машина.
    S2: у меня красная машина.
    S3: у меня бордовая лодка.
    = ›Все получат одинаковые баллы , даже если S1 и S3 передают здесь неверную информацию.
  • Он не учитывает структуру предложения напрямую: он не может фиксировать синтаксис. Порядок слов не влияет на оценку предложения. Или, в случае перевода, порядок предложений.
    Например, если я пытаюсь оценить перевод главы в романе, и я поменяю местами первую и вторую половины перевода, это немного повлияет на оценку BLEU. Между тем, сюжетная линия перевода будет полностью искажена, что допустимо только в фильмах Нолана.
  • Он не поддерживает морфологически насыщенные языки. Если вы хотите сказать «Я высокий» по-французски, оба правильных перевода - «Je suis grand» и «Je suis grande». Единственное отличие - это род слова «grand (e)». Но для BLEU эти слова могут быть такими же разными, как день и ночь. Если модель предсказывает одно, ожидая другого, BLEU просто сочтет это несоответствием.

SQuAD - Стэнфордский набор данных с ответами на вопросы

В этом типе метрического теста задаются вопрос и текст, и модель должна предсказать ответ на основе данного текста.

[Если вы не знакомы с отсылкой к фэнтези, вот все, что вам нужно знать, чтобы понять мою аналогию:
Гарри Поттер - это серия книг Джоан Роулинг;
Перси Джексон и олимпийцы - это совершенно другой и не связанный между собой сериал Рика Риордана;
В сериале о Гарри Поттере главный герой - Гарри Поттер, либо в беде, либо собирается попасть в одну из них, примерно 90% времени;
Перси Джексон - главный герой другой серии книг, о которой я упоминал, и также разделяет тенденцию попадать в неприятности с Гарри;
Есть персонаж по имени Перси, хотя и не очень важный из серии о Гарри Поттере.
Ага, это все, что вам нужно знать для этого. : D]

Если я дам вам текст из серии о Гарри Поттере и спрошу: «Почему Перси Джексон и его друзья попали в беду»? Человек сможет сказать, что вопрос и текст не связаны контекстно и, следовательно, на вопрос невозможно ответить; Поттер-голова просто отречется от меня. Но когда его задают модели НЛП, он может просто попытаться предсказать наиболее вероятный ответ, который может быть о другом персонаже, попавшем в беду - намек на Гарри Поттера или что-то вроде персонажа по имени Перси или Джексон.

Чтобы устранить эти слабые места, SQuAD 2.0 объединил существующие данные SQuAD с более чем 50 000 вопросов, на которые не было ответа, которые были написаны криминальными специалистами, чтобы они были похожи на те, на которые можно было ответить. Чтобы преуспеть в SQuAD 2.0, системы должны не только отвечать на вопросы, когда это возможно, но также определять, когда абзац не поддерживает ответ, и воздерживаться от ответа.

Вы можете проверить Таблицу лидеров SQuAD здесь.

MS MACRO - набор данных для чтения в среде MAchine

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

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

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

Набор данных состоит из 1 010 916 анонимных вопросов, взятых из журналов поисковых запросов Bing, каждый с ответом, созданным человеком, и 182 669 полностью переписанными людьми ответами. Кроме того, набор данных содержит 8 841 823 отрывка, извлеченных из 3 563 535 веб-документов, полученных с помощью Bing, которые предоставляют информацию, необходимую для поиска ответов на естественном языке.

КЛЕЙ и SuperGLUE - оценка общего понимания языка

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

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

Обязательно ознакомьтесь с таблицами лидеров для КЛЕЙ и Супер-КЛЕЙ.

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

Ссылки и другие полезные материалы:

Рад, что вы дочитали до конца статьи. 🎉
Надеюсь, ваш опыт чтения был таким же обогащающим, как и тот, который я получил при написании этой статьи. 💖

Обязательно ознакомьтесь с другими моими статьями здесь.

Если вы хотите связаться со мной, я выберу Twitter.