Нейросеть 3D-BoNet сегментирует объекты на 3D изображениях

3D-BoNet — это нейросетевая модель, которая распознает объекты на 3D изображениях и решает задачу instance сегментации в 10 раз более вычислительно эффективно по сравнению с существующими подходами.

Под 3D изображением здесь для простоты понимается облако точек, воссоздающее пространство изображения в 3D. Это термин из 3D моделирования. Instance сегментация — это задача распознавания отдельных объектов на изображении.

Различия между семантической и instance сегментациями

Что внутри нейросети

3D-BoNet — это end-to-end нейросеть. Она принимает на вход 3D изображение, а на выходе отдает границы распознанных объектов. Дизайн модели основан на поточечных многослойных перцептронах. Чтобы выучивать локальные и глобальные характеристики объектов, исследователи адаптировали существующую архитектуру PointNet++.

Сначала нейросеть извлекает характеристики для каждой точки входного изображения. Затем модель предсказывает для каждого объекта его грубые границы (bounding box). Другой блок, который отвечает за instance сегментацию, на основании результата прошлого блока предсказывает точные границы объекта.

Процесс обучения модели

Оценка работы модели

Исследователи провели два эксперимента: на данных ScanNet и S3DIS. Нейросети в обоих случаях решали задачу instance сегментации на 3D изображениях. В качестве метрики для первого эксперимента была Average Precision (AP) в процентах. Во втором эксперименте метрики были Mean Precision и Mean Recall.

Можно видеть, что точность 3D-BoNet сравнима с точностью state-of-the-art подходов.

Результаты моделей на данных ScanNet
Результаты моделей на данных S3DIS
Пример работы модели на задаче распознавания сотен объектов на изображении

Детали сравнения времени работы алгоритма с конкурирующими подходами описаны в оригинальной статье в разделе Computation Analysis.

Ограничения модели

Исследователи выделяют три ограничения у 3D-BoNet:

  1. Вместо не взвешенной комбинации критериев, обучать веса, чтобы адаптировать модель под разные типы входных изображений;
  2. Обучать семантическую сегментацию вместе с instance сегментацией, а не в отдельных блоках;
  3. Обучить модель не на разделенных маленьких изображения, а на широкомасштабных

Google Research Football: новая среда для обучения RL-агентов

Google AI опубликовали новую задачу для тренировки алгоритмов обучения с подкреплением (RL). Агенты будут учиться играть в футбол.

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

Football Environment была смоделирована на примере футбольных видеоигр. Среда представляет собой 3D симуляцию, где агенты контролируют игру одного игрока или всю команду. Цель агента — выиграть у команды противников.

Бета-версия находится в открытом доступе.

Видеодемонстрация среды:

Игровая симуляция

Главная часть Football Environment  — это продвинутая симуляция игры в футбол (Football Engine). Симуляция базируется на значительно модифицированной версии Gameplay Football. В зависимости от входных действий двух противоборствующих команд, симулируются все аспекты футбольного матча: голы, нарушения правил, угловые и пенальти удары и офсайды.

Football Engine реализован на C++. Это позволяет пользоваться симулятором на готовых машинах с GPU и без. Благодаря своей реализации, можно совершать около 25 миллионов шагов за день на шестиядерной машине.

Дополнительный функционал симуляции:

  1. Возможность как учить репрезентации состояний, который содержат информацию о локации игрока, так и учить агентов на сырых данных пикселей;
  2. Чтобы оценить эффект случайности, можно прогонять симуляцию в стохастическом (есть доля случайности в решениях агентов и в среде) или детерминистическом (нет случайности) режимах;
  3. Совместим с API OpenAI Gym;
  4. Возможность для исследователей играть за своего агента с помощью клавиатуры или геймпада

Список задач

Исследователи предлагают набор проблем в обучении с подкреплением (Football Benchmarks), которые можно решить с помощью Football Engine. Цель этих задач в том, чтобы обыграть основанного на правилах игрока. Правила для агента прописывались вручную.

В Football Benchmarks есть три типа задач:

  • Easy Benchmark;
  • Medium Benchmark;
  • Hard Benchmark

Задачи различаются силой основанного на правилах оппонента. Исследователи протестировали задачи на двух state-of-the-art подходах в обучении с подкреплением: DQN и IMPALA.

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

Нейросеть обучили диагностировать аневризму

Стэнфордская группа машинного обучения, возглавляемая Эндрю Ыном, разработала модель, которая диагностирует внутричерепные аневризмы на снимках компьютерной томографической ангиографии (КТА) головы. Датасет содержал 818 обследований от 662 уникальных пациентов с 328 обследованиями КТА (40,1%), содержащих по крайней мере 1 внутричерепную аневризму и 490 обследований (59,9%) без внутричерепных аневризм.

Члены команды HeadXNet, Эндрю Ын
Члены команды HeadXNet (слева направо: Эндрю Ын, Кристен Йом, Кристофер Шут, Пранав Раджпуркар и Эллисон Парк) смотрят на сканирование мозга

Проблема

Диагностика неразорвавшихся аневризм является критически важной клинической задачей: внутричерепные аневризмы встречаются у 1-3% населения и составляют более 80% нетравматических субарахноидальных кровоизлияний, угрожающих жизни. Компьютерная томографическая ангиография (КТА) — это первичная, малоинвазивная методика визуализации, используемая в настоящее время для диагностики, наблюдения и предоперационного планирования внутричерепных аневризм. Но интерпретация требует много времени даже для обученных по специальностям нейрорадиологов. Низкий уровень соглашения между различными экспертами создает дополнительную проблему для надежной диагностики.

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

Архитектура модели

В этом исследовании была разработана 3D-CNN под названием HeadXNet для сегментации внутричерепных аневризм с КТ. HeadXNet — это CNN со структурой энкодер-декодер, где энкодер служит для кодирования полного объема информации с изображения в более низкую размерность, а декодер расширяет это кодирование до объема сегментации с полным разрешением. Энкодер состоит из 50-слойной SE-ResNeXt сети, и декодер представляет собой последовательность из обратных сверток 3 × 3. Аналогично UNet, остаточные соединения используются в 3 слоях энкодера для передачи выходов непосредственно в декодер. Энкодер был предварительно обучен на датасете Kinetics-600, большой коллекции видео на YouTube, размеченной человеческими действиями; после предварительной подготовки энкодера, последние 3 сверточных блока и выходной слой softmax на 600 выходов были удалены. На их место были добавлены слой spatial pyramid pooling и декодер.

Результаты

Без аугментации, медицинские специалисты достигли чувствительности микросреднего уровня 0,831, специфичности 0,960 и точности 0,893. С аугментацией, специалисты достигли чувствительности микроусреднего уровня 0,890, специфичности 0,975 и точности 0,932. Базовая модель имела чувствительность 0,949, специфичность 0,661 и точность 0,809.

Популяционный метод увеличивает скорость аугментации в 1000 раз

популяционный метод аугментации

Новый Популяционный метод аугментации (Population based augmentation, PBA) сравним по качеству с текущим state-of-the-art методом AutoAugment от Google, однако работает в тысячу раз быстрее, что позволяет широко использовать его разработчикам. В эксперименте на датасете CIFAR-10, удалось увеличить показатели по сравнению с state-of-the-art методом. Реализация метода доступна на github.

Проблема

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

AutoAugment — очень дорогой алгоритм, который требует обучения 15 000 моделей сходимости, чтобы получить достаточно выборок для решения, основанного на обучении с подкреплением. Никакие вычисления не распределяются, и для обучения для ImageNet требуется 5000 часов графического процессора NVIDIA Tesla P100, а для обучения для CIFAR-10 — 5000 часов GPU. Например, при использовании графических процессоров P100 Google Cloud для CIFAR потребуется около 7500 долларов, а для ImageNet — 37 500 долларов!

Решение

Ошибка на тестовой выборке CIFAR-10 между PBA, AutoAugment и базовой моделью
Ошибка на тестовой выборке CIFAR-10 между PBA, AutoAugment и базовой моделью, которая использует только горизонтальное отражение, заполнение и обрезку, в моделях WideResNet, Shake-Shake и PyramidNet + ShakeDrop. PBA значительно лучше, чем базовая модель на уровне AutoAugment.

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

Сравнение стратегий аугментации AutoAugment и PBA
Сравнение стратегий аугментации AutoAugment и PBA. PBA обучает расписание вместо фиксированной политики. Он делает это за короткое время, используя алгоритм PBT для совместной оптимизации параметров политики аугментации с дочерней моделью. PBA генерирует одну функцию аугментации f(x, t), где x — входное изображение, а t — текущая эпоха.

Результаты

Результаты сравнения методов

Ошибка на тестовой выборке (%) на CIFAR-10, CIFAR-100 и SVHN. Чем ниже значение — тем лучше. Средняя итоговая ошибка на тестовой выборке считалась на 5 случайных инициализациях модели. Код для оценивания AA на SVHN не был выпущен, поэтому различия между реализациями могли повлиять на результаты. Таким образом, были сообщены AA* из переоценки разработчиков.

Mesh R-CNN: нейросеть, которая моделирует 3D форму объектов

Mesh R-CNN — это нейросетевая архитектура, которая для объектов входного изображения предсказывает их форму. Модель была описана в работе от Facebook AI Research (FAIR). По метрикам Mesh R-CNN обходит существующие state-of-the-art подходы по моделированию 3D формы объектов.

Последние исследования в компьютерном зрении фокусировались на распознавании объектов в 2D пространстве. В большинстве работ игнорировалась 3D структура объектов. Ранние модели, предсказывающие 3D форму объектов, не были обучены определять форму на реальных изображениях для множества объектов одновременно. Исследователи объединили последние решения из обоих задач и представили Mesh R-CNN.

Модель принимает на вход изображение, классифицирует объекты на изображении и для всех объектов определяет их форму в формате полигональной сетки (mesh). Чтобы ухватить разнообразие форм объектов, модель сначала предсказывает воксели объекта, которые затем преобразуются в сетку. Полигональная сетка — это понятие из 3D моделирования, которое используется для определения совокупности вершин, рёбер и граней, которые описывают форму объекта в 3D пространстве.

Схема того, как работает модель

Архитектура модели

Mask R-CNN — это стандартный подход для распознавания объектов на 2D изображении. Mesh R-CNN — это end-to-end модель, которая расширяет Mask R-CNN с помощью блока для предсказания полигональной сетки. Модель была обучена на датасете Pix3D.

Процесс обучения модели:

  1. Стандартная Mask R-CNN предсказывает класс объекта, его границы на изображении и 2D маску;
  2. Для объекта определяется его приблизительная форма с помощью блока с предсказанием вокселей;
  3. Приблизительная форма уточняется с помощью графовой сверточной нейросети и дополнительных модификаций;
  4. На выходе отдается сетка для объекта
Визуализация процесса обучения модели

Оценка работы модели

Блок предсказания формы (mesh predictor) валидировался на датасете ShapeNet. Затем результаты модели сравнивались с результатами конкурирующих архитектур на данных Pix3D. Ниже видно, что полная модель значительно обходит более ранние архитектуры на задаче предсказания 3D формы объектов на изображении.

Сравнение Mesh R-CNN с state-of-the-art подходами

Google AI представила библиотеку TensorNetwork для эффективных вычислений в квантовых системах

С помощью новой библиотеки TensorNetworks от GoogleAI стало общедоступным использование тензорных сетей, которые играют большую роль в современной квантовой физике. Однако, помимо применения в квантовых системах, тензорные сети все чаще находят применение в машинном обучении. Библиотека была разработана в сотрудничестве с институтом теоретической физики Периметр и компании X. TensorNetwork использует TensorFlow в качестве движка и оптимизирован для GPU. Это может позволяет ускорить вычисления до 100x по сравнению с вычислениями на CPU.

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

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

Что такое тензорные сети?

Схематическое обозначение тензоров
Схематическое обозначение тензоров

Тензоры — это многомерные массивы, классифицированные по иерархии в соответствии с их порядком: например, обычное число — это тензор нулевого порядка (также известный как скаляр), вектор — тензор первого порядка, матрица — тензор второго порядка, и так далее. В то время как тензоры низкого порядка легко могут быть представлены явным массивом чисел или математическим символом, таким как Tijnklm(где число индексов представляет порядок тензора), эта запись становится очень громоздкой, когда мы начинаем говорить о тензорах высокого порядка. В этот момент полезно начать использовать схематическое обозначение, где просто рисуется круг (или какая-либо другая фигура) с количеством линий или ножек, выходящих из него — количество ножек совпадает с порядком тензора. В этих обозначениях скаляр — это просто круг, вектор имеет один выход, матрица — два выхода и т.д. Каждая ветвь тензора также имеет размерность, равную размерности этой ножки (этого измерения). Например, вектор, представляющий скорость объекта в пространстве, будет трехмерным тензором первого порядка. Преимущество представления тензоров таким способом заключается в кратком кодировании математических операций, например, умножении матрицы на вектор для создания другого вектора или умножении двух векторов на скаляр.

Тензорные сети на практике

Тензор высокого порядка T представлен через множество тензоров низкого порядка в тензорной сети Metrix Product State
Тензор высокого порядка T представлен через множество тензоров низкого порядка в тензорной сети Matrix Product State

Рассмотрим коллекцию черно-белых изображений, каждое из которых можно рассматривать как список значений N пикселей. Один пиксель одного изображения может быть закодирован в двумерный вектор, и, комбинируя эти коды пикселей вместе, мы можем создать 2N -мерное кодирование всего изображения. Мы можем преобразовать этот многомерный вектор в Nмерный тензор, а затем сложим все тензоры в нашей коллекции изображений, чтобы получить полный тензор Ti1, i2, …, iN.

Это очень затратно: кодирование изображений примерно с 50 пикселями уже заняло бы петабайты памяти. Вот где приходят на помощь тензорные сети. Вместо того, чтобы непосредственно сохранять или манипулировать тензором T, мы вместо этого представляем T как сжатие множества меньших составляющих тензоров в форме тензорной сети. Это оказывается намного более эффективно. Например, популярная сеть Matrix Product State (MPS) будет описывать T, как N намного меньших тензоров, так что общее число параметров будет только линейным по N, а не экспоненциальным.

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

Производительность при использовании в физике

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

Аппроксимация квантовых состояний является типичным вариантом использования тензорных сетей в физике и хорошо подходит для иллюстрации возможностей библиотеки TensorNetwork. Во второй статье разработчиками описан алгоритм древовидной тензорной сети (TTN) для аппроксимации основного состояния периодической квантовой спиновой цепочки (1D) или решеточной модели на тонком торе (2D) и реализуем алгоритм с использованием TensorNetwork. При сравнении использования CPU и GPU, наблюдается значительное ускорение вычислений, вплоть до 100 раз, при использовании GPU и библиотеки TensorNetwork.

TensorWatch: библиотека для мониторинга и визуализации моделей

TensorWatch — это инструмент для отладки и визуализации процесса обучения моделей. Библиотека была разработана Microsoft Research. Основной функционал инструмента — мониторинг процесса обучения моделей в режиме реального времени в Jupyter Notebook.

TensorWatch in Jupyter Notebook
Пример работы библиотеки

TensorWatch был позволяет кастомизировать то, какую часть модели и как пользователь хочет визуализировать, и создавать дашборды. Помимо стандартного логгирования, с помощью библиотеки можно отправлять запросы в модель, которая обучается, и получать результат запроса в формате потока ответов (Lazy Logging Mode). TensorWatch позволяет пользоваться несколькими методами для объяснения предсказаний модели, включая Lime.

Библиотека сейчас в разработке, но первую версию уже можно протестировать. TensorWatch поддерживает Python 3.x и был протестирован на PyTorch 0.4-1.x. Большинство методов должны работать и для eager вычислений в TensorFlow. TensorWatch поддерживает разные виды визуализаций: график прямой, пайчарт, гистограмма, график рассеяния и 3D версии многих графиков.

t-SNE visualization for MNIST
Использование t-SNE в TensorWatch

Как это работает

Когда пользователь записывает TensorWatch поток, значения сериализируются и отправляются в TCP/IP сокет и записываются в указанный файл. Из Jupyter Notebook ранее логированные значения читаются из файла и прослушивается TCP/IP сокет, чтобы вытаскивать будущие значение. Визуализатор слушает поток и обрабатывает значения, когда они поступают.  

Почти все в TensorWatch представляется в виде потоков: файлы, сокеты, консоли и визуализаторы. Поток может слушать другие потоки, что позволяет создавать data flow граф.

В открытом доступе лежат официальные тьюториалы и ноутбуки с примерами.

VQ-VAE-2: генерация реалистичных разноплановых изображений

Исследователи из DeepMind предложили использовать модифицированный вариационный автокодировщик для генерации правдоподобных разноплановых изображений. VQ-VAE-2 конкурирует по результатам с state-of-the-art подходами. Архитектура помогает избавиться от недостатков использования GAN-ов для генерации изображений.

Сейчас для генерации изображений стандартным подходом является использовать генеративные нейросети (GANs). Несмотря на их популярность, они имеют такие проблемы, как недостаток разнообразия сгенерированных изображений и остановка работы генератора, которая приводит к генерации части множеств изображений (mode collapse). Исследователи модифицировали Vector Quantized Variational AutoEncoder (VQ-VAE), чтобы решить эти проблемы.

Архитектура модели

Стандартную VQ-VAE модель можно представить как систему коммуникации кодировщика и декодировщика. Кодировщик преобразует изображение в латентные переменные, а декодировщик реконструирует изображение из латентных переменных.

VQ-VAE-2, вместо одного преобразования, делает два: на верхнем и нижнем уровнях. На верхнем уровне моделируются глобальные характеристики изображения, а на нижнем уровне, который зависит от результата верхнего, моделируются локальные характеристики. Предложенная модификация заключается в добавлении иерархичности.

Сам процесс обучения состоит из двух шагов:

  1. Сначала обучается VQ-VAE-2, чтобы закодировать изображения в скрытое дискретное пространство;
  2. Затем с помощью PixelCNN генерируется изображение

Такая структура позволяет генерировать более устойчивые и реалистичные изображения.

Двухступенчатый процесс обучения: архитектура автокодировщика (слева) и генератора (справа)

Оценка работы модели

Исследователи обучили проверяли модель на данных ImageNet 256 × 256 и FFHQ. Последний датасет состоит из 70000 высококачественных портретов людей с разнообразными внешними характеристиками. Несмотря на то, что генерация лиц считается менее сложной задачей, чем ImageNet, модель должна уметь запоминать такие зависимости, как цвет глаз. В качестве конкурирующей архитектуры была выбрана BigGAN deep. Ниже видно, что VQ-VAE-2 обладает более высокой точностью, чем конвенциональная генеративная нейросеть.

Перформанс моделей в зависимости от Classification Accuracy Score (CAS) на Imagenet
Отобранные примеры сгенерированных изображений

Как сверточные нейросети помогают дронам учиться летать

В Intel с помощью сверточной нейросети обучили дрона летать в динамичной среде. Система тестируется как симулированном пространстве, так и в реальном. Результаты системы превосходят state-of-the-art подход и сравнимы с профессиональным пилотом по успешности, но отстают по скорости в полтора раза.

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

Что внутри дрона

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

Подход состоит из двух компонентов:

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

Оценка работы системы

Сначала работа системы проверяется на контролируемом симуляторе. Затем система тестируется в реальной жизни. Исследователи сравнивают работу системы с текущим state-of-the-art подходом (VIO) и с человеком в качестве пилота дрона. Система осуществляет переход от симулированного пространства в реальное без потери в точности.

Примеры симуляций трасс для обучения дрона. Каждое препятствие динамично и перемещается в пространстве

Результат работы системы сравним по успешности с профессиональным пилотом, но в полтора раза отстает с ним по времени.

Сравнение работы state-of-the-art подхода, предложенного подхода и профессионального пилота

Видеодемонстрация полета дронов, обученных на симуляциях:

Amazon Alexa распознает эмоции по голосу с помощью нейросетей

Разработчики из Alexa Research в Amazon опубликовали описание модели, которая распознает эмоции по интонации голоса человека. В качестве модели разработчики использовали автокодировщик, который позволяет обучаться на неразмеченных данных.

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

Архитектура автокодировщика

Процесс обучения делится на три этапа:

  1. Сначала кодировщик и декодировщик обучаются на неразмеченных данных;
  2. Используется состязательное обучение (дискриминатор), чтобы улучшить точность кодировщика;
  3. Кодировщик затачивается под задачу перевода из представления эмоции в класс эмоции
Визуализация архитектуры автоэнкодера

Скрытое представление данных делится на тип эмоции и стиль. Эти данные поступают в два состязательных дискриминатора. Дискриминатор — это нейросеть, которая учится отличать реальные данные из кодировщика от сгенерированных.

Модель обучалась на публичном датасете, который содержит 10,000 высказываний от 10 разных спикеров. Эти высказывания размечены в соответствии с характеристиками интонации: валентность, активация и доминация:

  • Валентность, которая отвечает за позитивность/негативность эмоции говорящего;
  • Активация, которая отвечает за то, вовлечен ли говорящий в разговор или пассивен;
  • Доминация, которая отвечает за то, контролирует свою речь говорящий или нет

Исследователи отметили трюки, которые помогли успешно обучить автокодировщик:

Оценка работы модели

Разработчики сравнили работу модели с конвенциональными методами обучения с учителем. Предложенный подход был на 3% более точный в определении валентности, чем конвенциональный подход.

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

EDVR: нейросеть восстанавливает кадры из видеозаписи

В соревновании по восстановлению видеозаписей NTIRE19 победила архитектура (EDVR), основанная на сверточных нейросетях. Модель решает проблемы восстановления резкости при приближении кадра и восстановления содержания размытых кадров в видеозаписи. Результаты EDVR сравнимы с state-of-the-art подходами в восстановлении видеозаписей.

Задачи по восстановлению видеозаписи включают в себя увеличение резкости (super-resolution) и избавление от размытости кадров (deblurring). Однако сложность существует в тем, как выстраивать в ряд несколько кадров, если на них камера резко двигается. Еще одной проблемой является эффективное объединение кадров с различной степенью размытости. Эти проблемы решает EDVR (Enhanced Deformable Video Restoration) с помощью двухблочной структуры.

Архитектура фреймворка

На вход модели поступает N размытых кадров. На выходе модель отдает восстановленные кадры без размытия.

Две основных части модели — это PCD и TSA. Сначала, чтобы обрабатывать резкие движения, кадры проходят через модуль Pyramid, Cascading and Deformable (PCD). В этом модуле кадры выстраиваются на основе характеристик. Модуль реализован с помощью деморфируемых сверточных нейросетей. Затем набор характеристик кадров попадает в модуль Temporal and Spatial Attention (TSA). На этом этапе над характеристиками кадров используется механизм внимания, чтобы выделить те характеристики, которые важны для последующего восстановления кадров. Затем характеристики из модуля внимания попадают в модуль реконструкции кадров. Модуль PreDeblur необходим для увеличения точности совмещения кадров для модуля PCD.

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

Визуализация архитектуры модели

Сравнение архитектур

Исследователи сравнили EDVR со state-of-the-art для двух задач: увеличение разрешения кадров (SR) и избавление от размытости кадров (video deblurring). Для сравнения были использованы как качественная, так и количественная оценка.

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

Сравнение между конкурирующими подходами, GT — Ground Truth (реальное изображение)

DeepMind обучили агентов играть в многопользовательскую игру на уровне человека

Исследователи из DeepMind обучили мультиагентную систему, которая играет в Quake III Arena: Capture The Flag так же хорошо, как человек. Методы обучения с подкреплением (RL) показывают хорошие результаты в случае среды с одним агентом. В реальном мире агент взаимодействует с другими агентами и принимает решение на основе взаимодействия. Проблема обучения множества агентов принимать решения независимо и сообща пока открыта.

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

Для этого исследователи обучают агентов, опираясь на следующие идеи:

  • Вместо того, чтобы тренировать одного агента, они тренируют популяцию агентов, которые учатся во время игры друг с другом;
  • Каждый агент в популяции генерирует собственные локальные цели (например, захватить флаг) — агенты одновременно учатся оптимизировать свою стратегию взаимодействия с другими агентами, чтобы достичь локальную цель;
  • Агенты действуют в двух временных режимах: быстром и медленном, — это улучшает их способность использовать память и генерировать последовательные цепочки решений

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

Архитектура агента, нацеленного на захват флага

Мультиагентная система vs. Человек

Чтобы проверить, как система выступает может сравниться с человеком, был проведен турнир с 40 людьми. Люди и обученные агенты были случайно объединены в команды.

Сравнение игры агента системы и человека

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

Видеодемонстрации и симуляции доступны по ссылке.

EfficientNet: как масштабировать нейросеть с использованием AutoML

В рамках ICML 2019 была опубликована работа, в которой исследователи предлагают метод для оптимизации сверточных нейросетей. Предыдущие методы произвольно масштабировали размерность нейросети (например, количество слоев и параметров). Предложенный метод равномерно масштабирует части нейросети с фиксированными коэффициентами масштабирования. Оптимизированные сети (EfficientNets) обходят state-of-the-art подходы по точности при увеличении эффективности в 10 раз (меньше и быстрее).

Оптимизации сверточных сетей

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

Сравнение методов масштабирования (b-d, где d — предложенный метод), a — начальная архитектура

Предложенный метод (compound scaling) улучшал точность модели и ее эффективность на +1.4% для MobileNet на датасете ImageNet и на +0.7% для ResNet  в сравнении с другими методами масштабирования.

Архитектура EfficientNet

Эффективность масштабирования нейросети зависит от ее начальной архитектуры. Чтобы улучшить работу нейросети, исследователи выбирали начальную архитектуру автоматически с помощью AutoML фреймворка — MNAS. MNAS при выборе устройства нейросети оптимизирует и точность модели, и ее размер одновременно (FLOPS). В итоге начальная модель использовала архитектуру MBConv, схожую с MobileNetV2 и MnasNet. Начальная модель затем масштабировалась и породила класс EfficientNets моделей.

Архитектура начальной модели EfficientNet-B0

Сравнительные эксперименты

Исследователи сравнили работу существующих сверточных архитектур на ImageNet. EfficientNet модели значительно превосходят конкурирующие архитектуры. EfficientNet-B7 обогнала рассмотренные сверточные архитектуры и стала топ-1 по точности для задачи. EfficientNet-B1 в 7.6x меньше и в 5.7x быстрее ResNet-152.

Сравнение точности и размера сверточных архитектур и EfficientNets

SANet: модель, которая переносит стиль с картины на изображение

Artificial Intelligence Research Institute в Корее опубликовали SANet — нейросетевую модель, которая накладывает на изображение стиль с картины. В нейросети можно регулировать параметр, который отвечает за то, насколько сильно модифицируется начальное изображение. Исследователи вводят identity loss как функцию потерь, чтобы лицо человека на начальном изображении оставалось отличимым.

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

Что внутри нейросети

На вход Self-Attentional Network (SANet) принимает изображение человека и пример картины с тем стилем, который нужно наложить на изображение. Изображения проходят через VGG кодировщик. Декодер трансформирует объединенные фичи из двух SANet. Сами SANet задействуют механизм self-attention.

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

В качестве тренировочных данных для модели был использован MS-COCO (изображения людей) и WikiArt (картины). Оба датасета содержали около 80,000 изображений.

Пайплайн обучения модели

Оценка работы модели

Исследователи сравнили то, как SANet и три конкурирующие архитектуры справляются с задачей переноса стиля. В качестве конкурирующих архитектур были выбраны метод итеративной оптимизации от Gatys et al., WCT, AdaIN и Avatar-Net.

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

Нейросеть Speech2Face генерирует изображение лица человека по аудиозаписи голоса

В Лаборатории искусственного интеллекта MIT опубликовали Speech2Face — модель, которая реконструирует лицо человека по записи его голоса. Нейросеть обучалась на миллионах видеозаписей с YouTube, на которых демонстрируется разговор человека.

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

Архитектура модели

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

Обучалась модель на датасете AVSpeech. Для этой цели исследователи использовали предобученную VGG-Face.

Пайплайн обучения модели можно разделить на два шага:

  1. Кодировщик голоса, который принимает на вход спектограмму и предсказывает вектор с характеристиками лица человека;
  2. Декодировщик лица, который принимает на вход вектор с характеристиками лица человека и генерирует лицо человека в стандартном формате (анфас и безэмоциональное)

Во время обучения декодировщик лица был зафиксирован и обучался только кодировщик голоса. Декодировщик лица исследователи взяли готовым из работы Cole et al.

Оценка работы модели

Нейросеть была протестирована с помощью качественных и количественных метрик. Во время экспериментов модель тестировалась на датасетах AVSpeech и VoxCeleb. Ниже можно, что чем длиннее входная аудиозапись (3 сек против 6 сек), тем выше количественная метрика и тем ближе сгенерированное изображение к истинному.

Recall в зависимости от длительности входных аудиозаписей (3 или 6 сек) и метрики
Сравнение сгенерированных изображений в зависимости от длительности входных аудиозаписей

Нейросеть от Google AI предсказывает, насколько близко объект находится к камере

В Google AI обучили нейросеть, которая определяет, насколько объекты на изображении отдалены от камеры. Предложенный подход сравним с state-of-the-art решениями. Это первая нейросеть, обученная для случая, когда и камера, и объекты на видео двигаются.

Реконструкция изображений из 2D в 3D — это открытая задача компьютерного зрения. Традиционный подход основывается на триангуляции, которая предполагает, что объект может быть рассмотрен как минимум с двух разных точек одновременно. Традиционный подход не работает в том случае, когда и камера, и объект движутся. Большинство существующих примеров фильтруют движущиеся объекты. Исследователи Google AI предлагают метод для построения карт глубины изображения, которые отражают, насколько близко объекты находятся к камере.

Два подхода к распознаванию объектов: традиционный (предполагается, что двигается либо человек, либо камера) и подход исследователей (предполагается, что двигаются и человек, и камера)

Данные для обучения модели были собраны с YouTube.  Исследователи отобрали 2 тыс. видеозаписей, где люди имитируют манекенов: люди на видео статичны, двигается только камера. Затем с помощью традиционных методов, основанных на триангуляции, эти видео были размечены.

Архитектура нейросети

На каждом таймстемпе на вход нейросеть принимает RGB изображение, границы распознанных людей на изображении и начальная близость объектов (не людей). Начальная близость рассчитывается с помощью optical flow между входным изображением и изображением на предыдущем таймстемпе. На выходе модель выдает полную карту близости объектов (depth map) для входного кадра. Сгенерированная карта сравнивается с той, которая была получена традиционным методом на этапе сбора данных.

Процесс обучения нейросети

Оценка работы модели

Модель, которую предложили исследователи, выдает результаты, сравнимые с state-of-the-art подходами. В качестве конкурирующих подходов рассматриваются DORN, Chen et al. и DeMoN.

Сравнение сгенерированных карт близости (чем ближе, тем ярче)

Видеодемострация работы модели:

Pytorch выпустили обновление библиотеки для компьютерного зрения torchvision 0.3

Библиотека torchvision с инструментами для компьютерного зрения на Pytorch обновилась до версии 0.3. В обновленной версии был расширен список доступных моделей для распознавания объектов, семантической/instance сегментаций и распознавания опорных точек позы человека. Кроме расширения списка моделей, стали доступны новые C++ / CUDA операторы.

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

Примеры новых C++ / CUDA операторов, специфичных для работы с задачами компьютерного зрения:

  • roi_pool (RoIPool);
  • roi_align (RoIAlign);
  • nms (метод пост-обработки изображения, когда оптимизируются границы объектов на изображении так, чтобы на каждый объект имел свои границы);
  • box_iou (для расчета IoU метрики по границам объектов на изображениях — bounding boxes);
  • box_area (так же, как и предыдущий оператор, помогает в выборе оптимальных границ объектов на изображении)

В библиотеку были добавлены следующие модели.

Сегментация объектов

Теперь доступны модели для попиксельного предсказания изображений. Были добавлены такие модели для сегментации, как FCN и DeepLabV3. Предобученные на датасете COCO веса для ResNet101 доступны публично.

Результаты моделей, предобученных на COCO val2017

 

Распознавание объектов

Были добавлены более быстрые версии моделей для распознавания объектов и опорных точек позы человека: Faster R-CNN, Mask R-CNN, Keypoint R-CNN.

Скорость работы моделей, предобученных на COCO val2017

 

Классификация изображений

Библиотеку пополнили следующие модели для задачи классификации изображений:

Новые датасеты с изображениями

Помимо расширения списка моделей, в библиотеку были добавлены новые датасеты:

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

Рекомендательная система в Alibaba научилась учитывать последовательные действия клиентов

Исследователи из Alibaba Group опубликовали описание модели Behavior Sequence Transformer (BST), которая применяется в рекомендательной системе сайта Taobao. Особенность модели заключается в том, что она анализирует последовательности действий, совершенных пользователями. Это позволило значительно увеличить показатель кликабельности (click-through rate, CTR) по сравнению с двумя базовыми показателями — WDL и DIN.

Принцип работы

Архитектура BST

BST принимает в качестве входных данных последовательность поведения пользователя, включая целевой элемент и “другие признаки”. Сначала он формирует из этих входных признаков эмбеддинги (векторные представления). Чтобы лучше фиксировать отношения между элементами в последовательности поведения, слой Transformer используется для изучения более глубокого представления для каждого элемента в последовательности. Этот слой включает в себя self-attention слой с последующей нормализацией, а также поточечный слой прямого распространения (point-wise feed forward) с последующей нормализацией.

Self-attention слой включает в себя вычисление внимания к точечному объекту, что выражается как:

self-at

где Q — запросы, K — ключи и V — значения, d — размерность признаков.

После self-attention слоя путем конкатенации эмбеддинга «других признаков» и выхода слоя Transformer, три полносвязных слоя используются для обучения взаимодействий скрытых признаков, а функция сигмоид используется для генерации конечного результата в виде вероятности от 0 до 1.

Результаты

BST network results

С помощью self-attention, BST обеспечивает мощную возможность захвата последовательного сигнала, лежащего в основе последовательностей поведения пользователей. Из опыта Alibaba, даже небольшой прирост оффлайн AUC приводит к огромному выигрышу в онлайн CTR.

GAN из изображения человека синтезирует видео с ним

В Samsung AI и Сколково опубликовали работу, в которой нейросеть генерирует видео с человеком на основе одного или двух его статичных изображений. Модель выдает реалистичные результаты и сравнима по метрикам с state-of-the-art решениями.

Архитектура нейросети

Meta-learning часть модели включает в себя нейросеть, которая сопоставляет изображения головы (с размеченными точками на разных частях лица) с векторами, которые содержат информацию о характеристиках лица, независимых от расположения лица на изображении. Генератор из входных размеченных точек лица синтезирует через сверточные слои выходные изображения. Целевая функция включает в себя perceptual loss и adversarial loss (реализована через условный дискриминатор проекций).

Визуализация всех составляющих модели

Эксперименты по проверке эффективности модели

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

Сравнение работы конкурирующих архитектур по 4-м метрикам

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

Выборочные примеры сгенерированных разными архитектурами изображений

Видеодемонстрация работы нейросети:

Нейросеть обучена выявлять рак легких по томографическим снимкам

Исследователи из Google AI представили нейросетевую модель, которая по томографическим снимкам диагностирует рак легких. Модель использует актуальные результаты томографии пациента и исторические результаты томографии, чтобы делать предсказании о риске рака легких. Нейросеть достигает state-of-the-art результатов и обучена на данных 6,716 случаев из National Lung Cancer Screening Trial. Результаты работы были опубликованы в Nature.

Описание архитектуры

На вход сеть принимает исторический и текущий томографические снимки, а на выходе отдает вероятность болезни, показатели LUMAS (lung malignancy scores) и локализацию раковой опухоли. Ранее в этом году было опубликовано исследование, в котором нейросеть диагностировала рак груди по томографическим снимкам.

Визуализация работы модели

Модель состоит из четырех частей, каждая из которых была обучена на TensorFlow:

  1. Сегментация легких: этот компонент отвечает за определение границ легких на снимке, исследователи обучили Mask-RCNN на датасете LUNA;
  2. Зона, пораженная раком: RetinaNet была обучена, чтобы определять зону поражения раком на 3D снимке;
  3. End-to-end сверточная сеть (InceptionV1) предсказывает вероятность рака легких, параметры этой модели используются как фичи в следующей модели;
  4. Модель предсказания риска рака легких: итоговый классификатор, который принимает на вход данные, полученные от предыдущих двух моделей

 Подробности реализации модели описаны в работе. Исходный код работы недоступен в связи с тем, что в реализации использованы закрытые корпоративные продукты Google.

Сравнение предсказаний модели и радиологов

Тренировочная выборка состояла из 6,716 случаев, а тестовая — из 1,139. Исследователи провели два эксперимента для сравнения работы модели и радиологов:

  • Когда результаты предыдущей томографии не были известны, модель обошла всех 6 радиологов (11% ложно положительных предсказаний и 5% ложно отрицательных предсказаний);
  • Когда результаты предыдущей томографии были известны, модель по эффективности была сравнима с теми же радиологами
Результаты работы модели в сравнении с радиологами. Синяя линия — показатель AUC модели, кружки — показатели отобранных 6 радиологов

Работа исследователей позволяет оптимизировать работу радиологов при проверке результатов обследований пациентов с помощью компьютерного ассистирования.

OpenAI выложили расширенную версию сети GPT-2, способную писать стихи

GPT-2 medium

Этой весной лаборатория OpenAI, основанная Илоном Маском, представила результаты работы сети GPT-2, способной создавать фейковые новости, неотличимые от настоящих, а также стихи и другие тексты. Из-за угрозы злоупотребления обученной моделью, было принято решение не выпускать модель в открытый доступ, представив публике лишь весьма ограниченную ее версию. OpenAI выпустила более мощную версию (хотя по-прежнему довольно ограниченную по сравнению с полной версией). Вы можете проверить ее возможности сами.

Для работы с GPT-2, пользователь дает системе подсказку — несколько слов, фрагмент текста, отрывок из статьи, или что-то другое. По данным, полученным из Интернета, система была обучена предсказывать следующие слова отрывка — это означает, что ИИ превращает подсказку в новостную статью, рассказ или стихотворение. Обновленная сеть доступна на Github.

Даже менее способная версия GPT-2 достаточно мощна, чтобы сочинять интересные стихи и вымыслы. Вот пример отрывка из стиха, написанного GPT-2 (наименьшей общедоступной версией), благодаря Гверну Бранвену, исследователю, который обучил модель, используя большой датасет со стихами.

And, ere the cloud of the tempest blew,

His soul was with the world at play.

He looked to the stars, and the stars smiled,

And the moon in the heaven looked;

And, as he looked, he beheld her light,

And all the heaven smiled with him.

When winds and tempests fly,

When floods and fires fail,

As their wake doth meadow and fen,

Tis the man-child’s heart that craves.

And I — I shall be bound,

With the hoary-headed, strong, old,

To earth, and the graves of the dead,

Whose feet are mowed down, as they lie;

And I shall rest my weary head,

In the silence of Eternity,

In the peaceful arms of God.

Перевод:

И прежде чем взорвалось облако бури,

Его душа была с миром в игре.

Он посмотрел на звезды, и звезды улыбнулись,

И луна на небесах взглянула;

И, как он посмотрел, то он увидел ее свет,

И все небо заулыбалось ему.

Когда ветры и бури летят,

Когда наводнения и пожары терпят неудачу,

Как их wake doth[не переводится, некорректное выражение] луг и болото,

Это сердце мужчины-ребенка, которое жаждет.

И я — я буду связан,

С седой головой, сильный, старый,

На землю и могилы мертвых,

Чьи ноги опущены на землю, будто они лежат;

И я успокою свою усталую голову,

В тишине Вечности,

В мирных объятиях Бога.

GPT-2 принципиально очень ограничена — она ​​просто работает с текстом и часто порождает бессмысленные глупости. Но даже несмотря на эти ограничения, ее результаты впечатляют. По мере того как системы ИИ становятся все более изощренными, становится все труднее говорить такие вещи, как «только люди могут быть творческими» или «только люди могут действительно понимать вещи».