Какие многообещающие результаты были достигнуты в области глубокого обучения в 2017 году?

Google глубокое обучение алгоритм робот
Какие многообещающие результаты были достигнуты в области глубокого обучения в 2017 году?

Эта статья написана [Передовая линия ИИ】Оригинал:t.cn/RHxwjPU


Автор | Эд Тянтов Переводчик | Дебра Редактор | Эмили

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

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


текст

Нейронный машинный перевод Google

Около года назад Google анонсировала новую модель Google Translate и подробно описала структуру сети — рекуррентную нейронную сеть (RNN).

  • Машинное обучение перевода и алгоритмы Google Translate
  • Основы машинного перевода
  • blog.statsbot.co

Ключевые результаты: Google Neural Machines сократила разрыв с людьми в точности перевода на 55-85% (6 баллов для людей). Однако без массивного набора данных Google эта модель не обязательно сможет это сделать.

Чат-боты создают язык? Нет! просто слухи

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

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

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

Полная история описана в этом посте, код бота тоже с открытым исходным кодом.

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

За последний год наблюдался высокий уровень энтузиазма в отношении разработки нейронных сетей с обратной связью, которые применялись ко многим задачам и программному обеспечению. Архитектура RNN стала намного сложнее, но в некоторых областях аналогичные результаты были достигнуты с использованием простой сети DSSM с прямой связью. Например, функция «Умный ответ» Google Mail может достичь того же эффекта, что и LSTM. Кроме того, Яндекс запустил совершенно новую поисковую систему на основе этой нейронной сети.


звук

WaveNet: модель генерации необработанного аудио

DeepMind сообщает о моделях для генерации звука в этой статье. Вкратце, исследователи из этой группы создали авторегрессионные полностью сверточные модели WaveNet на основе методов генерации изображений (PixelRNN и PixelCNN).

Сеть обучает модель от начала до конца: ввод текста, вывод аудио. По сравнению с людьми ошибка исследования уменьшилась на 50 процентов, что является хорошим результатом.


Однако основным недостатком WaveNet является его неэффективность, которая связана с авторегрессией, звуки генерируются последовательно, а для создания односекундного звука требуется около 1-2 минут.

Случай:

storage.Google APIs.com/deep mind-what…

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

Пример генерации звука

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

Если вам интересна эта модель, вы можете прочитать полную версию исследования DeepMind.


чтение по губам

Чтение по губам — еще одно великое достижение глубокого обучения, превосходящее человеческие возможности.

Google Deepmind в сотрудничестве с Оксфордским университетом представили миру свою модель «чтения по губам» в статье «Предложения чтения по губам в дикой природе». Модель, обученная на собранном ею наборе данных телешоу, может читать по губам лучше, чем профессиональные читатели по губам на канале BBC.

Этот набор данных содержит 100 000 предложений с аудио и видео. Модель: LSTM для аудио, CNN + LSTM для видео. Эти два вектора состояния, наконец, возвращаются обратно в LSTM, который генерирует результат (символ).

Во время обучения модель использует разные типы входных данных: аудио, видео, аудио+видео. Другими словами, это «полнотипная» модель задачи.


Генерация движения Обамы Audio Lip Sync Motion

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

Поскольку звук настолько «отшлифован», авторы статьи создали некоторые точки перегиба (или приемы), чтобы улучшить текст и синхронизацию.

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


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

OCR: Карты Google и просмотр улиц

В своей статье команда Google Brain подробно описывает, как они представили механизм OCR (оптическое распознавание символов) в Картах, который может распознавать уличные знаки и сохранять знаки.

В ходе разработки технологии компания составила новый набор FSNS (French Street Name Signs) с множеством сложных случаев.

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

Рисунок 1: Каждое изображение обрабатывается экстрактором признаков, который затем объединяет результаты в карту признаков, обозначенную буквой «f», используя пространственно взвешенные комбинации для создания вектора фиксированного размера ut, который возвращается обратно в RNN.

Тот же подход применим и к задаче распознавания названий вывесок магазинов (может быть много «шумных» данных, и самой сети приходится фокусироваться на нужном месте) с объемом выборки в 80 миллиардов фотографий.


визуальное мышление

Глубокое обучение также может выполнять задачу, называемую визуальным мышлением, которая требует, чтобы нейронные сети отвечали на вопросы на основе фотографий. Например: «Есть ли на картинке резиновый материал того же размера, что и цилиндр из желтого металла?» Этот важный вопрос только недавно был решен с точностью 68,5%.

Этот прорыв также приписывается команде Deepmind: на наборе данных CLEVR они достигли точности 95,5%, что даже лучше, чем у людей.

Также очень интересна эта сетевая архитектура:

  1. Используйте предварительно обученный LSTM для текстовых вопросов, чтобы получить встраивание вопросов.
  2. Используя CNN (всего четыре слоя) с изображением, получите карту признаков (признаки, характеризующие изображение).
  3. Далее в картах объектов формируются попарные комбинации координат (желтые, синие, красные под картой), добавляются координатные и текстовые вложения.
  4. Утроить и суммировать по другой сети.
  5. Окончательное представление генерируется другой сетью прямой связи, которая отвечает за предоставление ответа передаточной функции softmax (softmax).


Код Pix2

Кроме того, Uizard также создал интересное нейросетевое приложение: сделал скриншот дизайнера интерфейса и сгенерировал код макета.

Рисунок 2: Пример собственного графического интерфейса iOS, запрограммированного с помощью DSL

Это очень практичное приложение нейронной сети, которое может упростить процесс разработки программного обеспечения. По словам авторов, точность этой сети может достигать 77%. Однако этот проект все еще находится в стадии исследований и еще не начал практического применения.


SketchRNN: научите машину рисовать

Возможно, вы слышали о Quick, Draw от Google! , цель которого — зарисовать различные цели за 20 секунд. Как описано в блоге и статье Google, они собрали набор данных для обучения нейронной сети.

Этот набор данных содержит 70 000 эскизов и теперь является открытым исходным кодом. Эскиз — это не картинка, а подробное векторное описание рисунка (в определенный момент пользователь нажимает «карандаш», отпускает его, чтобы начать рисовать и т. д.).

Исследователи использовали RNN в качестве механизмов кодирования/декодирования для обучения вариационных автокодировщиков последовательностей (VAE).

Рисунок 2: Схема структуры RNN

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

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

Даже создайте «кошачью свинью», выполнив векторную арифметику:


GANs

Генеративно-состязательные сети (GAN, Generative Adversarial Networks) — одна из самых горячих тем в глубоком обучении. GAN в основном используются для обработки изображений, поэтому я использую изображения для объяснения концепции.

  • Генеративно-состязательные сети (GAN): механизмы и приложения
  • Как генеративно-состязательные сети могут улучшить нашу жизнь
  • blog.statsbot.co

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

Схематическая диаграмма выглядит следующим образом:

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

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

Самый типичный пример обучения ГАН — спальня или портрет.

Ранее мы рассматривали возможность использования автоматического кодирования (Sketch-RNN), которое кодирует необработанные данные в скрытое представление. Генераторы могут делать то же самое.

В проекте изображения лица мы использовали векторное изображение. Вы можете изменить вектор и посмотреть, как изменится лицо.

Тот же алгоритм одинаково хорошо работает и в скрытом пространстве: «мужчина в очках» минус «мужчина» плюс «женщина» равно «женщина в очках».


Изменение возраста лица с помощью GAN

Если вы вводите параметры управления скрытым вектором во время обучения, их можно изменить при создании скрытого вектора для управления изображением на картинке. Такой подход называется условным GAN (условным GAN).

В статье «Face Aging With Conditional Generative Adversarial Networks» автор делает то же самое. После того, как движок был обучен на наборе данных актеров известного возраста на IMDB, исследователи смогли изменить возраст лица человека.


профессиональное фото

Google также нашел еще одно интересное применение для GAN — фильтрация фотографий и улучшение качества. Они обучили GAN, используя набор данных профессиональных фотографий: генератор для улучшения качества фотографий (профессиональные снимки, обработанные специальными фильтрами), и дискриминатор, чтобы определить, какие фотографии «улучшены», а какие — действительно профессиональные фотографии.

Обученный алгоритм ищет лучшие изображения в панорамах Google Street View и находит профессиональные и полупрофессиональные фотографии (на основе рейтинга фотографа).


Синтез изображений из текстовых описаний

Еще один впечатляющий пример использования GAN — создание изображений из текстовых описаний.

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


Pix2pix

В 2016 году среди множества статей выделялась Berkeley AI Research (BAIR) «Преобразование изображений в изображения с помощью условных состязательных сетей» (преобразование изображений в изображения с использованием CAN). Это исследование посвящено преобразованию изображения в изображение, например, созданию карт с использованием спутниковых изображений или созданию реалистичных текстур с использованием эскизов объектов.

Это еще один пример успешного применения условных GAN. В данном случае условие охватывает все изображение, в качестве архитектуры генератора используется популярная в сегментации изображений UNet, а в качестве дискриминатора размытых изображений используется новый классификатор PatchGAN (изображение разрезается на N фрагментов, а истинное /ложные прогнозы делаются для каждого патча).

Исследователи выпустили онлайн-демонстрацию сети, вызвавшую большой интерес у пользователей.

Адрес исходного кода:

GitHub.com/Филлип и/Пи…


CycleGAN

Чтобы применить Pix2Pix, нам нужен набор данных, содержащий парные изображения из разных доменов. В целом собрать такие наборы данных не проблема, однако, если вы хотите сделать что-то более сложное, вроде «изменения» объектов или стилей, соответствующие картинки мишени найти в принципе сложно.

Поэтому исследователи Pix2Pix решили расширить свое мышление и создали модель, которая осуществляет перевод между разными доменами изображения без сопряжения изображений — CycleGAN («Непарный перевод изображения в изображение»).

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

Этот метод может научиться преобразовывать лошадь -> зебру.

Но этот переход очень нестабилен и часто приводит к неоптимальным результатам:

Ссылка на исходный код:

GitHub.com/military training/C-сторона…


Молекулярные разработки в онкологии

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

Короче говоря, с помощью Adversarial Autoencoder (AAE, Adversarial Autoencoder) мы можем узнать скрытое представление молекул и затем использовать его для поиска новых молекул. В результате мы обнаружили 69 молекул, некоторые из которых являются противораковыми молекулами, а другие имеют большое медицинское значение.


Враждебные атаки

Также активно исследуются состязательные атаки. Итак, что такое состязательная атака? Например, стандартная сеть, обученная на ImageNet, совершенно нестабильна при добавлении специального шума к классифицированным картинкам. В приведенном ниже примере мы видим небольшое изменение изображения шума человеческого глаза, но модель дает предсказание совершенно другого класса.


Для этого мы можем использовать Fast Gradient Notation Method (FGSM) для стабильности: он имеет доступ к параметрам модели, способен выполнять один или несколько шагов градиента на нужном классе и изменяет исходное изображение.

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

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

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

Выполнение следующих действий с логотипами также приведет к их неправильному распознаванию.

  • Несколько статей от организаторов конкурса.
  • Библиотеки, написанные для защиты от атак: умнички и дурачки.


Обучение подкрепления

Обучение с подкреплением (RL) также является одним из самых интересных и интересных методов в машинном обучении.

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

В настоящее время RL широко используется в играх, ботах и ​​системах управления трафиком.

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

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

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

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

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


обучающийся робот

OpenAI активно исследует обучение агентов в виртуальной среде, что безопаснее, чем проведение экспериментов в реальном мире.

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

Хотя для людей эти задачи - раз плюнуть :)

узнать предпочтения людей

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


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

Упражнения в сложной обстановке

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

Оправдав ожидания, исследователи DeepMind преуспели в достижении этой цели: они обучили агента (симулятор тела) выполнять сложные действия, создав среду, полную сложных препятствий, и вознаградив алгоритм за движение.


разное

центр обработки данных охлаждения

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

На основе информации от тысяч датчиков в центре обработки данных разработчики Google обучили набор нейронных сетей для прогнозирования PUE (эффективности использования энергии) и повышения эффективности управления центром обработки данных. Это впечатляюще важный случай ML в действии.

Модели для любых задач

Хорошо известно, что нам сложно применить модель к другим задачам, потому что каждая задача должна обучаться на конкретной модели. Тем не менее, Google Brain в своей статье «Одна модель для изучения всего» делает небольшой шаг к созданию модели «один размер подходит всем».

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

Для этого они построили сложную сетевую структуру, используя разные блоки для обработки разных входных данных и получения результатов. Блоки кодера/декодера делятся на три типа: свертка, внимание и смесь экспертов со стробированием (MoE).

Ключевые результаты обучения:

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

Изучите Imagenet за час

Сотрудники Facebook сообщили в своей статье, что инженеры компании смогли обучить модель Resnet-50 на Imagenet менее чем за час. Однако этот процесс необходимо выполнять на кластере из 256 графических процессоров (Tesla P100).

Они используют Gloo и Caffe2 для распределенного обучения. Для повышения эффективности необходимо большое количество корректировок (8192 элемента) стратегии обучения, таких как усреднение градиента, фаза разминки, специальные скорости обучения и т. д.

В результате при расширении с 8-битного до 256-битного GPU КПД может достигать 90%. Исследователей из Facebook можно провести быстрее, а у других компаний таких условий нет.


Новости

автономный автомобиль

Пространство беспилотных автомобилей находится в самом разгаре, и многие компании тестируют свою продукцию. Недавнее приобретение Intel компании MobilEye, скандалы, связанные с кражей технологий Uber и Google, а также первая авария на беспилотном транспортном средстве получили широкое распространение.

Еще стоит отметить, что Google Waymo запускает бета-программу. Google является пионером в этой области, и похоже, что их технологии хороши, поскольку их автомобили проехали более 3 миллионов миль.

Кроме того, в США беспилотные автомобили уже ездят по дорогам всех штатов страны.

здравоохранение

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

DeepMind даже открыл отдел здравоохранения.

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

вкладывать деньги

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

Китай инвестировал 150 миллиардов долларов в искусственный интеллект, что сделало его мировым лидером в отрасли.

Чтобы получить преимущество в области искусственного интеллекта, Baidu Research нанимает 1300 человек, занимающихся исследованиями в области искусственного интеллекта, а Facebook FAIR — 80 сотрудников. В 2017 году на Международной конференции по обнаружению знаний и интеллектуальному анализу данных (KDD) сотрудники Alibaba представили свой сервер параметров Kunpeng, который обрабатывает 100 миллиардов образцов и имеет триллионы параметров для общих задач.


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

Ответить после подписки "AI"Знаешь