- PVSM.RU - https://www.pvsm.ru -
Привет!
Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество [1]! Первая часть мартовской сборки обзоров опубликована ранее [2].
Статьи на сегодня:
Авторы статьи: Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, Ren Ng (UC Berkeley, Google Research, UC San Diego, 2020)
Оригинал статьи [19] :: GitHub project [20] :: Video [21] :: Blog [22]
Автор обзора: Александр Бельских (в слэке belskikh)
Новая СОТА в создании новый 3д видов предмета из всего лишь нескольких (порядка 25 штук) изображений с нескольких видов, чем-то похоже на интерполяцию между видами.
Суть подхода следующая:
Так как объёмный рендеринг это дифференцируемая операция, то можно обучать MLP, накидывая L2 лосс на получившееся в п3 изображение.
В простом виде это у авторов не завелось, так что придумали несколько трюков:
Для каждой сцены оптимизируются отдельные сетки. Лоссом является сумма L2 между GT и результатами рендера выходов "грубой" и "точной" сеток. Обучение одной сетки длится 1-2 дня на 1xV100.
Авторы статьи: Xinjie Feng, Hongxun Yao, Yuankai Qi, Jun Zhang, Shengping Zhang (China, 2020)
Оригинал статьи [23] :: GitHub project [24]
Автор обзора: Александр Бельских (в слэке belskikh)
Новый подход к задаче Optical Character Recognition (OCR), заключающийся в объединении ResNet и Transformer. Выдаёт СОТА результаты на распознавании букв из текста, особенно сильно аутперформит аналоги на текстах сложной формы и шрифтов (изогнутый текст на упаковках и т.п.).
Суть метода такая:
Здесь активно утилизируется мощный механизм внимания Трансформера, который "сам" выбирает, на какой участок изображения смотреть, чтоб найти там букву. Этим можно объяснить такие хорошие результаты на классически сложных датасетах с текстами сложной формы.
В качестве экстрактора фичей из изображения авторы использовали первые 4 слоя энкодера ResNet-101 (предобученный из torchvision). Архитектура Трансформера такая:
Модель обучена на датасете SynthText и RRC-ArT. Обучали всё на Tesla P40 (про время трейна и инференса инфы нет).
Модель показывает себя на уровне с аналогами в задачах распознавания "выровненного" (близкого к прямоугольно-горизонтальному) текста и значительно аутперформит аналоги в задаче распознавания изогнутого/сложного текста.
Фейлит модель чаще всего в случаях (см. примеры ниже):
Авторы предполагают три основные причины для этого:
Авторы статьи: (Imperial College London, Google Research, 2019)
Оригинал статьи [25]
Автор обзора: Юрий Кашницкий (в слэке yorko)
В задаче суммаризации текста выделяют подходы extractive и abstractive. В первом случае пересказ – это по сути подмножество предложений из исходного текста, второй подход в целом сложнее – пересказ может быть новым текстом меньшей длины, как, например, аннотация научной статьи.
Авторы PEGASUS (первый – из Imperial College, еще три – из Google Research) подходят к задаче abstractive summarization предлагая Gap Sentences Generation objective для предобучения обычного трансформера. Это тот же Masked Language Modeling, только в BERT & Co. маскируются токены, а тут – целые предложения. Причем, получается именно abstractive self-supervised objective, то есть надо восстановить предложения, которые модель локально не видит. В случае extractive-суммаризации модель просто научилась бы некоторые предложения копировать, а остальные – игнорировать.
Вот как это работает схематически. Детали в статье не описываются, и мне лично было бы сложно провести reverse-engineering. Но идея такая: на входе 3 предложения, одно из них маскируется символом [MASK1], также некоторые токены маскируются символом [MASK2]. Стандартная схема трансформера “энкодер-декодер” – и надо восстановить замаскированное предложение и отдельные токены. Надо отметить, что это авторы попытались совместить предложенную Gap Sentences Generation objective и MLM из BERT, но эксперименты показали, что GSG уже достаточно, бертовая токен-MLM не улучшает. А картинку уже нарисовали с токен-MLM :).
Прятать (маскировать) некоторые предложения решили не просто так, а с помощью эвристик для выбора “важных” предложений. Рассмотрели 3 подхода: маскировать случайные предложения (Random), первые несколько штук (Lead) и Principal, отобранные по ROUGE1-F1. В последнем случае считается похожесть каждого предложения на весь текст и выбирается некоторый процент (остановились на 30%) самых репрезентативных предложений, чтоб на них наложить маску и их пытаться восстановить.
Последняя стратегия Principal в итоге сработала лучше всего, хотя на новостных датасетах выстрелила Lead, т.к. в новостях есть такой bias, что все главное уже в начале сообщается.
Предобучились на двух корпусах: C4 (Colossal and Cleaned version of Common Crawl, 750 Gb), а также зарелизили HugeNews – 3.8 Tb новостей (или материалов, похожих на новости).
Дообучились на 12 задачах (пересказать новости, научные статьи, патенты, дискуссии на reddit и т.д.), почти везде SOTA (на момент публикации, дек. 2019). Также показали, что хороши, когда дообучаются на малой части датасета всего из 1000 примеров.
Вот это часть таблички в Appendix E меня впечатлила, на 10к примерах результаты в целом вровень с предыдущей SOTA (по строкам разные датасеты, 12 штук):
Авторы также посмотрели глазками на пересказы – порадовались высокому лингвистическому качеству сгенерированного текста, а также неожиданным проявлениям “понимания” текста, например, футбольный клуб Chelsea в пересказе уже возникал как “Jose Mourinho’s side” и “The Blues”. Все вроде круто, только ни код ни веса не выложили. В аппендиксе как-то гиперпараметры перечислены – и на том спасибо.
От автора обзора: Ах да, в целом идея-то выглядит очень простой – берешь трансформер, маскируешь некоторые предложения. Сказывается эффект от предобучения на очень больших датасетах. Вот термин “big data” уже замылен давно и вообще моветон, но это именно оно.
И вдогонку – пока еще хороших метрик для оценки abstractive суммаризации нет. Использование ROUGE – довольно спорный выбор, лучшее из худшего. Поскольку ROUGE очень простая метрика, по сути смотрит только на пересечение слов/энграмм в пересказе-эталоне и в сгенерированном пересказе. Не проверяется ни грамматика, ни качество текста. Вкратце про это у Рудера [26], заодно SOTA можно заценить на разных задачах.
Авторы статьи: Miles Cranmer, Sam Greydanus, Stephan Hoyer, Peter Battaglia, David Spergel, Shirley Ho (Princeton, Oregon, Google, Flatiron, 2020)
Оригинал статьи [27] :: GitHub project [28] :: Blog [29]
Автор обзора: Вадим Петров (в слэке graviton)
Коротко
В работе предложен способ обучения нейронных сетей, которые в последующем играют роль "лагранжиана" (функционала описывающего состояние системы) для предсказания протекания физических процессов. Данный подход позволяет задать априорные знания о законах сохранения, играющих определяющую роль в физике. В качестве основы использован "лагранжев" подход в механике, который лежит в основе законов движения, таких как, например, 2-ой закон Ньютона.
Детали
Предшествующие подходы:
Одна из проблем обычных нейронных сетей — неспособность выучить основные симметрии и законы сохранения физических явлений. Были предложены подходы, основанные на нейронных дифференциальных уравнениях (Hamiltonian Neural Networks и Deep Lagrangian Networks), решающие эти проблемы. Но у них оказались свои сложности:
Подход
Авторы предложили использовать нейронную сеть в качестве лагранжиана (функционала описывающего состояние системы). Т.е. подав на вход сети, например, координату и скорость системы, сеть выдает лагранжиан, к которому применяются градиенты, позволяющие вычислить ускорение. Полученное ускорение используется для изменения состояния системы.
Важным в работе является следующее:
Имплементация
Для решения задачи авторы переписали уравнения движения (Лагранжа-Эйлера) в форме, к которому применим подход нейронных дифференциальных уравнений и реализовали это в библиотеке jax.
Архитектура
В качестве архитектуры использована 4-ех слойная полносвязная сеть с 500 нейронами в каждом слое. Для инициализации весов разработали свой подход.
Функция активации
ReLU для данной задачи не подходит, т.к. 2-ая производная нулевая. Проверили ReLU^2, ReLU^3, tanh, sigmoid и softplus. softplus оказалась лучшей.
Эксперименты
Авторы статьи: Sunnie S. Y. Kim, Nicholas Kolkin, Jason Salavon, Gregory Shakhnarovich (Chicago, USA, 2020)
Оригинал статьи [30]
Автор обзора: Евгений Кашин (в слэке digitman)
Авторы говорят, что в стайл трансфере есть два главных компонента форма и стиль. Обычно все работы в этой области меняют текстуры, без геометрии. Они сделали независимый от домена стайл трансфер, изменяющий форму объектов.
Их метод DST(deformable style transfer) берет на вход изображения "контента" и "стиля", накладывая на них ограничения: оба из одного домена, и между ними есть какая-то связь (например, и там и там машина в одном ракурсе). Основная их идея — давайте геометрически растянем контент картинку, чтобы она матчилась с картинкой стиля. Для матчинга двух картинок найдем на них подходящие кейпоинты автоматически, и применим на этом классический стайл трансфер (на деле все посложнее).
Так как они не привязываются к конкретному домену (в отличие от их бейзлайнов), то нельзя использовать какой-то готовый детектор лицевых ландмарок, нужно что-то универсальное для всех доменов. Использовали NBB (neural best-buddies): берут активации с разных слоев претрейн CNN для 2-х изображений, находят похожие активации в верхних слоях, "прослеживают" их путь до нижних слоев, спускаясь до уровня пикселей, кластеризуют попиксельные геометрические фичи на k кластеров (80), получая k соответствующих кейпоинтов на 2-х картинках, потом еще фильтруют эвристиками.
После нахождения соответствия точек между изображениями, считают вектор смещения для каждой пары точек. Из этого получают уже dense flow field из изображения 'I' в его warped версию W(I, θ). Для нахождения векторного поля используют thin-plate spline interpolation. Все дифференцируемо, дальше будет в лоссе видно, как они находят θ — вектор смещений.
На рисунке выше: е — контент, f — стиль, g — совмещенные стилевые кейпоинты с контент картинкой, h — попытка растянуть контент до геометрии стиля.
Дальше они берут два метода для сравнения, которые будут использовать для переноса стиля: Gatys (стиль как Gramm matrix по vgg активациям, контент — активации с какого либо слоя) и STROTSS (стиль состоит из 3-х компонент, контент тоже активации). Оба метода используют оптимизацию по входу, используя контент и стиль лоссы. Их метод DST не меняет контент лоссы, а только добавляет слагаемое к стиль лоссам:
Лосс состоит из стайл лосса между картиной стиля I_s и стилизованной картинкой X (первое слагаемое) и стайл лосса между I_s и геометрически деформированной версии стилизованной картинки W(X, θ). Таким образом оптимизация производится сразу для обычной и растянутой версии изображения.
Следующий лосс — deformation loss для k кейпоинтов, где p_i и p_i' — source и target кейпоинты соответственно. Здесь оптимизируется как раз по смещениям θ. Кажется, что они могли бы просто взять разность p_i' и p_i, но дальше говорят, что если слишком агрессивно минимизировать этот лосс, то будут артефакты из-за неидеального нахождения пар кейпоинтов или сильно разной геометрии source и target изображений. Поэтому они еще добавили регуляризацию на "total variation norm of the 2D warp field". Это дополнительно заставляет поле двигать соседние пиксели в одну сторону.
Итоговой лосс:
где коэффициентами α и β можно регулировать сохранение стиля, а через γ — величину искажения. Результат оптимизации(финальное изображение) — это warped stylized image W(I, θ).
Ну и наверно самый важный рисунок, который показывает, на сколько их метод лучше, чем просто применить трансформ на стайлтрансфере по отдельности. На рисунке ниже представлены: контент, стиль, просто STROTSS, заварпленный выход STROTSS, DST, отдельно преобразование контента трансформацией, выученной через DST.
Делали user study на AMT и показали, что их метод сильно лучше переносит "стиль" изображения, несущественно проседая по переносу "контента" по сравнению с бейзлайнами.
Авторы статьи: Yonglong Tian, Yue Wang, Dilip Krishnan, Joshua B. Tenenbaum, Phillip Isola (MIT, Google, 2020)
Оригинал статьи [31] :: GitHub project [32]
Автор обзора: Александр Бельских (в слэке belskikh)
Очень простой бейзлайн для few-show learning, который заключается в получении хорошего экстрактора фичей и дальнейшем обучении поверх фичей логрега на нескольких примерах данных. Несмотря на простоту, аутперформит нынешнюю соту на ряде датасетов в среднем на 3%, показывая, что хорошее представление данных работает не хуже сложных meta-learning алгоритмов.
Авторы рассматривают проблему мета-обучения, которое обычно представляет собой семейство задач, разделенных на мета-трейн и мета-тест сеты. Каждая задачка состоит из ограниченного набора данных. Алгоритм должен быть способен так обобщиться на задачках из мета-трейн сета, чтоб быть способным решать задачи из мета-тест всего по нескольким примерам из мета-тест таски. Few-shot learning это одна из задач мета-обучения.
Подход, предлагаемый авторами:
Для дополнительного повышения качества экстрактора фичей запускается процесс self-distillation по стратегии Born-again из соответствующей статьи [33]. Во время этого процесса учитель и студент это одинаковые архитектуры, обучающиеся на одном и том же мета-трейн сете. Студент учится минимизировать кросс-энтропию между своими предиктами и GT лейблами, а также минимизировать KL — дивергенцию между своими предиктами и софт таргетами из учителя.
Это итеративный процесс, и каждый раз студент становится учителем на следующем этапе. Авторы объясняют повышение качества тем, что при дистилляции модель лучше ловит связь между классами (например, что кошка ближе к собаке, чем к самолёту) за счёт обучения на софт-лейблах.
В экспериментах использовали ResNet-12 и SeResNet-12 архитектуры на датасетах miniImageNet, tiered- ImageNet, CIFAR-FS, и FC100.
Помимо логрега пробовали ещё kNN, но он показал себя хуже во всех сетапах, даже на отнормированных фичах.
Авторы статьи: Devesh Walawalkar, Zhiqiang Shen, Zechun Liu, Marios Savvides (Carnegie Mellon University, USA, 2020)
Оригинал статьи [34]
Автор обзора: Андрей Лукьяненко (в слэке artgor)
Авторы предложили продвинутую версию cutmix. Улучшение заключается в том, что заменяют не рандомные куски картинки, а на основе attention maps, вытащенных претренированной сеткой. Это позволяет заменять самые важные части картинки, а не рандомные куски фона.Провели много экспериментов на CIFAR-10, CIFAR-100, ImageNet (!) и тренировали с нуля разные варианты ResNet, DenseNet, EfficientNet. В среднем улучшение + 1.5% качества.
По факту подход реально не сложный, но и описывают они его в довольно общих словах, да и код не выложили:
От автора обзора: Если честно, мне это напомнило CAM CutMix, который Chris описывал [35] на конкурсе Kaggle::Bengali.AI Handwritten Grapheme Classification.
Эксперименты
Все модели тренировали с нуля и на pytorch:
Ablation study
Количество патчей, которые будут заменены — гиперпараметр, который надо подбирать. Пробовали значения от 1 до 15. Значение 6 оказалось лучше всего.
Автор: Вадим Петров
Источник [36]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/matematika/352181
Ссылки в тексте:
[1] сообщество: http://ods.ai/
[2] опубликована ранее: https://habr.com/ru/company/ods/blog/496024/
[3] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (UC Berkeley, Google Research, UC San Diego, 2020): #1-nerf-representing-scenes-as-neural-radiance-fields-for-view-synthesis
[4] Scene Text Recognition via Transformer (China, 2020): #2-scene-text-recognition-via-transformer
[5] PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization (Imperial College London, Google Research, 2019): #3-pegasus-pre-training-with-extracted-gap-sentences-for-abstractive-summarization
[6] Lagrangian Neural Networks (Princeton, Oregon, Google, Flatiron, 2020): #4-lagrangian-neural-networks
[7] Deformable Style Transfer (Chicago, USA, 2020): #5-deformable-style-transfer
[8] Rethinking Few-Shot Image Classification: a Good Embedding Is All You Need? (MIT, Google, 2020): #6-rethinking-few-shot-image-classification-a-good-embedding-is-all-you-need
[9] Attentive CutMix: An Enhanced Data Augmentation Approach for Deep Learning Based Image Classification (Carnegie Mellon University, USA, 2020): #7-attentive-cutmix-an-enhanced-data-augmentation-approach-for-deep-learning-based-image-classification
[10] Январь — Февраль 2020: https://habr.com/ru/company/ods/blog/493016/
[11] Октябрь — Декабрь 2019: https://habr.com/ru/company/ods/blog/485122/
[12] Июль — Сентябрь 2019: https://habr.com/ru/company/ods/blog/472672/
[13] Январь — Июнь 2019: https://habr.com/ru/company/ods/blog/471514/
[14] Февраль — Март 2018: https://habr.com/ru/company/ods/blog/352518/
[15] Декабрь 2017 — Январь 2018: https://habrahabr.ru/company/ods/blog/352508/
[16] Октябрь — Ноябрь 2017: https://habrahabr.ru/company/ods/blog/343822/
[17] Сентябрь 2017: https://habrahabr.ru/company/ods/blog/339094/
[18] Август 2017: https://habrahabr.ru/company/ods/blog/336624/
[19] Оригинал статьи: https://arxiv.org/abs/2003.08934
[20] GitHub project: https://github.com/bmild/nerf
[21] Video: https://youtu.be/JuH79E8rdKc
[22] Blog: http://www.matthewtancik.com/nerf
[23] Оригинал статьи: https://arxiv.org/abs/2003.08077
[24] GitHub project: https://github.com/fengxinjie/Transformer-OCR
[25] Оригинал статьи: https://arxiv.org/abs/1912.08777
[26] Вкратце про это у Рудера: https://github.com/sebastianruder/NLP-progress/blob/master/english/summarization.md
[27] Оригинал статьи: https://arxiv.org/abs/2003.04630v1
[28] GitHub project: https://github.com/MilesCranmer/lagrangian_nns
[29] Blog: https://greydanus.github.io/2020/03/10/lagrangian-nns/
[30] Оригинал статьи: https://arxiv.org/abs/2003.11038
[31] Оригинал статьи: https://arxiv.org/abs/2003.11539v1
[32] GitHub project: http://github.com/WangYueFt/rfs/
[33] соответствующей статьи: https://arxiv.org/abs/1805.04770
[34] Оригинал статьи: https://arxiv.org/abs/2003.13048
[35] описывал: https://www.kaggle.com/c/bengaliai-cv19/discussion/136021
[36] Источник: https://habr.com/ru/post/497268/?utm_source=habrahabr&utm_medium=rss&utm_campaign=497268
Нажмите здесь для печати.