gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.34K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
BioBERT: a pre-trained biomedical language representation model for biomedical text mining
Jinhyuk Lee, Wonjin Yoon, Sungdong Kim, Donghyeon Kim, Sunkyu Kim, Chan Ho So, Jaewoo Kang

Статья: https://arxiv.org/abs/1901.08746
BioBERT pre-trained weights: https://github.com/naver/biobert-pretrained
Код для fine-tuning на NER/RE/QA: https://github.com/dmis-lab/biobert

Работа из серии “давайте прикрутим BERT ещё к какой-нибудь задаче и сделаем новый state-of-the-art”. Прикрутили BERT для анализа биомедицинских текстов.

Причём прикрутили не просто BERT, а дообученный на биомед текстах (BioBERT).

BioBERT = 1) BERT (претренированный на general domain типа En-Wikipedia, BookCorpus) + 2) претренировка на биомед текстах (PubMed abstracts, PMC full texts) + 3) fine-tuning на конкретную задачу.

Проверяли на задачах: Named Entity Extraction, Relation Extraction, Question Answering.

Что интересно, некоторые из задач с крайне маленькими датасетами (QA дообучался на 327, 486 или 618 примерах; NER и RE максимум на нескольких десятках тысяч, 30681 -- самый крупный датасет).

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

Поразительно, как хорошо работает на мелких датасетах в QA.

В итоге новый кубик в копилку тех, кто работает с биомед текстами.

Использовали свою платформу NSML (NAVER Smart Machine Learning, подробнее тут: https://arxiv.org/abs/1712.05902, NSML: A Machine Learning Platform That Enables You to Focus on Your Models).
Overview of the pre-training and fine-tuning of BioBERT
Do we train on test data? Purging CIFAR of near-duplicates
Björn Barz, Joachim Denzler
Статья: https://arxiv.org/abs/1902.00423
Исправленный CIFAR, ciFAIR: https://cvjena.github.io/cifair/

Забавная статья про то, как в обоих картиночных датасетах CIFAR (10 и 100) обнаружили дубликаты между трейн и тест сетами, а также внутри тест сетов. И соответственно все оценки качества моделей на CIFAR завышены и могут быть перекошены в сторону запоминания вместо обобщения.

Проблема в том, что датасеты отфильтрованы недостаточно хорошо. Попиксельные дубликаты из них убраны, но остались другие дубликаты (near-duplicates) типа картинок с небольшими сдвигами или кропами, изменениями яркости и просто очень похожие объекты, различить которые можно только внимательно вглядываясь.

Найдено 3.3% дубликатов в CIFAR-10 и 10% (!) дубликатов в CIFAR-100. Рассматривается только кейс, когда для картинок из тест сета есть дубликаты в соответствующих трейн сетах. Дубликаты внутри самих трейн сетов не рассматриваются, потому что bias конечно вносят (на каких-то картинках сеть обучается больше), но оценку качества не смещают.

Дубликаты обнаруживают автоматизированной процедурой. Для каждого объекта находится ближайший в пространстве эмбеддингов из обученной на трейн сете CNN (взяты L2 нормализованные фичи с одного из верхних слоёв), а затем все пары отсматриваются вручную и размечаются людьми.

Все найденные дубликаты вычищены, заменены на картинки аналогичных классов, взятые из того же датасета-предшественника, из которого был собран CIFAR (это датасет Tiny Images, http://groups.csail.mit.edu/vision/TinyImages/, собранный из картиночной поисковой выдачи по запросам для synset’ов WordNet). Получился честный CIFAR (Fair CIFAR, ciFAIR), который можно взять по ссылке из начала поста.

Результаты моделей пересчитали (есть сложность, обученных на CIFAR моделей не опубликовано, поэтому обучали заново на референсных архитектурах), посчитали разницу в качестве (в среднем ошибка возросла на 0.41% для CIFAR-10 и на 2.73% на CIFAR-100; порядок лидеров не поменялся кроме одной пары на CIFAR-10). На сайте с датасетом есть лидерборд.

Вывод: в целом оферфита на дубликаты не произошло, и это хорошо (при этом модели, на которых проверялись, обладают достаточной capacity, чтобы тупо всё запомнить). Но всё-таки как-то неаккуратненько!

Следите за своими датасетами.
👍1
Semantic Redundancies in Image-Classification Datasets: The 10% You Don't Need
Vighnesh Birodkar, Hossein Mobahi, Samy Bengio
Статья: https://arxiv.org/abs/1901.11409

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

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

Это удалось на CIFAR-10 и ImageNet, и таким образом авторы показывают избыточность этих датасетов (порядка 10%). То есть эти самые 10% можно найти простой техникой агломеративной кластеризации.

Для этого на полном датасете обучается модель (ResNet-32 на CIFAR-10/100, ResNet-101 на ImageNet), затем с предпоследнего слоя берутся представления данных и на них проводится процедура агломеративной кластеризации, где в качестве меры близости берётся косинусная мера (вернее 1 минус косинусная близость в качестве меры непохожести). Кластеризацию проводят до образования группы кластеров нужного размера (объединяют наименее непохожие). Затем из каждого кластера оставляют точку наиболее близкую к центроиду и выбрасывают остальные. Так получаем сокращённый датасет.

Затем на сокращённом датасете обучают сетку и оценивают её качество. Сравнивают с сеткой, обученной на рандомном подмножестве такого же размера, взятого из оригинального датасета.

На CIFAR-10 оказывается, что отобранные таким образом 90% точек дают качество полного датасета. То же самое на ImageNet.

Главная интрига — CIFAR-100. На нём предложенный метод не обнаружил избыточности! И отобранный кластеризацией датасет был лишь чуть лучше рандомного. Что входит в противоречие с предыдущей статьёй, где нам явно показали, что в этом датасете полно почти-дубликатов и есть даже почти полные дубликаты, в отличие от CIFAR-10 (там в статье было также написано, что при составлении CIFAR-100, похоже, были ослаблены строгие критерии фильтрации). Там на CIFAR-100 нашли как раз порядка 10% разных дубликатов, которых не нашли здесь.

Получается серьёзная нестыковка.

Интересно, проблема в различии функций близости (здесь косинусная мера, там евклидово расстояние) или в особенности агломеративной процедуры (где в качестве меры непохожести двух кластеров берётся максимальная непохожесть между всеми парами точек этих кластеров)?

В общем всё это подозрительно!

P.S. Хотя я не совсем корректен, в предыдущей статье искали дубликаты в тесте относительно трейна, здесь же работали с трейн. Но всё равно как-то не верится.
Как известно, большая часть уловок в современном NLP строится вокруг unsupervised learning -- данных у нас много, а разметки мало, и она дорогая (а качественной -- так и вообще почти нет). Одним из интересных ходов является использование смайлов и эмоджи в качестве нативной разметки для сетевой коммуникации. Сегодня пара небольших работ на эту тему.

Interpretable Emoji Prediction via Label-Wise Attention LSTMs
Francesco Barbieri, Luis Espinosa-Anke, Jose Camacho-Collados, Steven Schockaert, Horacio Saggion

#NLP, #emoji, #attention, #EMNLP 2018

Статья: https://aclweb.org/anthology/D18-1508
Репозиторий: https://github.com/fvancesco/Semeval2018-Task2-Emoji-Detection
Сопроводительные материалы: https://fvancesco.github.io/label_wise_attention/

Небольшой, но забавный постер с EMNLP 2018. Авторы используют энкодер в виде двухслойного bi-LSTM со skip connections между слоями, дальше, поверх энкодера они применяют механизм внимания и его результат превращают, через проекцию и софтмакс, в предсказание эмоджи. В качестве вариации архитектуры они используют структуру, в которой на каждый эмоджи учится отдельная матрица внимания, что даёт доп. профит в качестве предсказания эмоджи. Лично я не уверен, что профит от этого больше, чем просто от кратного увеличения матрицы внимания, но так проще интерпретировать результаты. Собственно, вся идея в том, что дальше эти матрицы внимания можно использовать не только для предсказания эмоджи, но и для анализа того, от каких слов и конструкций зависит выбор эмоджи. Далее см. картинки.

И, чтоб два раза не вставать.

MOJITALK: Generating Emotional Responses at Scale
Xianda Zhou, William Yang Wang

#NLP, #emoji, #ACL 2018

Статья: https://arxiv.org/pdf/1711.04090.pdf
Код и датасет: https://github.com/Claude-Zhou/MojiTalk

Делают диалоговую RNN-модуль, учитывающую эмоджи. Точнее, используют seq2seq+attn с кондишенингом генерации ответа на конкретный символ эмоджи.
Учат три варианта диалоговой модели, отличия моделей такие: бейзлайн -- обычный seq2seq с вниманием, вторая модель -- СVAE, третья -- СVAE с REINFORCE обратной связью от предобученного классификатора эмоджи (с замороженными весами). По результатам -- СVAE всюду лучше бейзлайна, Reinforced CVAE обгоняет обычный CVAE на редких эмоджи, а на частных они работают примерно с одинаковым качеством. Отдельно делали человеческую оценку результатов, но результаты её приводят довольно странным образом. Но на приводимых cherry-picked примерах всё достаточно неплохо.