Pull to refresh

Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 1 — NLP, Computer Vision

Reading time 7 min
Views 13K
Original author: Pranav Dar
Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся темой AI. Приятного чтения!


Введение


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

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

Я решил сделать шаг назад и взглянуть на разработки в некоторых ключевых областях в сфере искусственного интеллекта с точки зрения специалистов по data science. Какие прорывы произошли? Что случилось в 2018 и чего ждать в 2019 году? Прочитайте эту статью, чтобы получить ответы!

P.S. Как в любом прогнозе, ниже представлены мои личные выводы, основанные на попытках соединить отдельные фрагменты в целую картину. Если ваша точка зрения отличается от моей, я буду рад узнать ваше мнение о том что ещё может измениться в data science в 2019 году.

Области, которые мы затронем в этой статье:

— Natural Language Proces (NLP)
— Компьютерное зрение
— Инструменты и библиотеки
— Reinforcement Learning
— Проблемы этики в AI

Natural Language Processing (NLP)


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

Мы наблюдали один потрясающий прорыв за другим: ULMFiT, ELMO, OpenAl Transformer, Google BERT, и это не полный список. Успешное применение transfer learning (искусство применять предварительно обученные модели к данным) распахнуло двери применению NLP во множестве задач.
Transfer learning (трансферное обучение) — позволяет адаптировать заранее обученную модель/систему к вашей конкретной задаче с использованием относительно небольшого объема данных.
Давайте посмотрим на некоторые из этих ключевых разработок более детально.

ULMFiT


Разработанный Себастьяном Рудером и Джереми Ховардом (fast.ai), ULMFiT был первым фреймворком, который получил transfer learning в этом году. Для непосвященных, аббревиатура ULMFiT означает “Universal Language Model Fine-Tuning”. Джереми и Себастьян по праву добавили слово “универсальный” в ULMFiT — этот фреймворк может применяться практически к любой задаче NLP!

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

Можете почитать туториал от Пратика Джоши [Pateek Joshi — прим. пер.] о том как начать применять ULMFiT для любой задачи по классификации текста.

ELMo


Угадайте, что означает аббревиатура ELMo? Сокращение от Embeddings from Language Models [вложения из языковых моделей — прим. пер.]. И ELMo привлек внимание ML сообщества сразу после релиза.

ELMo использует языковые модели, чтобы получать вложения для каждого слова, а также учитывает контекст, в котором слово укладывается в предложение или параграф. Контекст — важнейший аспект NLP, в реализации которого большинство разработчиков раньше проваливались. ELMo использует двунаправленные LSTM для создания вложений.
Долгая краткосрочная память (англ. Long short-term memory; LSTM) — разновидность архитектуры рекуррентных нейронных сетей, предложенная в 1997 году Сеппом Хохрайтером и Юргеном Шмидхубером. Как и большинство рекуррентных нейронных сетей, LSTM-сеть является универсальной в том смысле, что при достаточном числе элементов сети она может выполнить любое вычисление, на которое способен обычный компьютер, для чего необходима соответствующая матрица весов, которая может рассматриваться как программа. В отличие от традиционных рекуррентных нейронных сетей, LSTM-сеть хорошо приспособлена к обучению на задачах классификации, обработки и прогнозирования временных рядов в случаях, когда важные события разделены временными лагами с неопределенной продолжительностью и границами.

источник. Wikipedia
Как и ULMFiT, ELMo качественно повышает производительность в решении большого количества NLP задач, таких, как анализ настроения текста или ответы на вопросы.

BERT от Google


Довольно много экспертов отмечают, что выход BERT обозначил начало новой эры в NLP. Следом за ULMFiT и ELMo BERT вырвался вперед, продемонстрировав высокую производительность. Как гласит оригинальный анонс: “BERT — концептуально простой и эмпирически мощный”.

BERT показал выдающиеся результаты в 11 NLP задачах! Посмотрите результаты в тестах SQuAD:



Хотите попробовать? Можете использовать реимплементацию на PyTorch, либо TensorFlow код от Google и попробовать повторить результат на своей машине.

PyText от Facebook


Как же Facebook мог остаться в стороне от этой гонки? Компания предлагает собственный open-source NLP фреймворк, который называется PyText. Как следует из исследования опубликованного Facebook, PyText увеличил точность диалоговых моделей на 10% и сократил время обучения.

PyText фактически стоит за несколькими собственными продуктами Facebook, такими как Messenger. Так что работа с ним добавит неплохой пункт в ваше портфолио и бесценные знания, которые вы, несомненно, получите.

Можете попробовать сами, скачайте код с GitHub.

Google Duplex


Сложно поверить в то что вы ещё не слышали о Google Duplex. Вот демо, которое долгое время мелькало в заголовках:


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

Тренды в NLP на 2019 год


Кто лучше, чем сам Себастьян Рудер, может дать представление о том, куда NLP движется в 2019 году? Вот его выводы:
  1. Применение предварительно обученных языковых моделей вложений станет повсеместным; передовые модели без поддержки будут очень редко встречаться.
  2. Появятся предварительно обученные представления, которые могут кодировать специализированную информацию, которая дополнит вложения языковой модели. Мы сможем групировать различные типы предварительно обученных представлений в зависимости от требований задачи.
  3. Появится больше работ в области многоязычных приложений и многоязычных моделей. В частности, опираясь на межъязыковые вложения слов, мы увидим появление глубоких предварительно обученных межъязыковых представлений.

Компьютерное зрение




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

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

Выход BigGANs


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

В последние месяцы в этом направлении появились сдвиги, а, с созданием BigGAN, такие проблемы могут быть решены раз и навсегда. Посмотрите на изображения сгенерированные этим методом:



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

Для справки: эти модели сначала прошли обучение на наборе данных ImageNet, а затем на JFT-300M, чтобы продемонстрировать, что эти модели хорошо переносятся c одного датасета на другой. Вот ссылка на страницу из рассылки GAN, объясняющая способ визуализации и понимания GAN.

Модель Fast.ai обучилась на ImageNet за 18 минут


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

Их модель давала точность в 93% при впечатляющих 18 минутах. Железо, которое они использовали, в деталях описанное в их блоге, состояло из 16 публичных AWS облачных инстансов, каждый с 8 GPU NVIDIA V100. Они построили алгоритм использующий fast.ai и PyTorch библиотеки.

Общая стоимость сборки составила всего 40 долларов! Более подробно Джереми описал их подходы и методы здесь. Это общая победа!

vid2vid от NVIDIA


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



NVIDIA решила сделать общедоступным свое решение в начале этого года [2018 год — прим. пер.], что было положительно оценено обществом. Цель vid2vid состоит в том, чтобы вывести функцию отображения из заданного входного видео, чтобы создать выходное видео, которое передаёт содержание входного видео с невероятной точностью.


Вы можете попробовать их имплементацию на PyTorch, забирайте на GitHub тут.

Тренды в машинном зрении на 2019 год


Как я упоминал ранее, в 2019 году мы скорее увидим развитие тенденций 2018 года, а не новые прорывы: самоуправляемые автомобили, алгоритмы распознавания лиц, виртуальная реальность и другое. Можете не согласиться со мной, если у вас другая точка зрения или дополнения, поделитесь ей, что еще нам ожидать в 2019 году?

Вопрос с дронами, ожидающий одобрения политиков и правительства, может наконец получить зеленый свет в Соединенных Штатах (Индия в этом вопросе далеко позади ). Лично мне хотелось бы, чтобы больше исследований проводились в реальных сценариях. Такие конференции, как CVPR и ICML, хорошо освещают последние достижения в этой области, но насколько проекты близки к реальности — не очень понятно.

“Visual question answering” и “visual dialog systems”, могут, наконец, выйти с долгожданным дебютом. Эти системы лишены возможности обобщения, но ожидается, что мы скоро увидим интегрированный мультимодальный подход.



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

Читать продолжение: Часть 2 — Инструменты и библиотеки, AutoML, Reinforcement Learning, этика в AI

Tags:
Hubs:
+14
Comments 0
Comments Leave a comment

Articles