Команда R&D компании Synesis провела первый AI Bar Talks
8-го ноября команда R&D (исследования и разработка) компании Synesis провела первый Synesis AI Bar Talks. Это интеллектуальная площадка для обсуждения актуальных тем вместе с экспертами IT-индустрии, где каждый может поделиться экспертизой, мнением или просто слушать. В первом выпуске обсуждали темы искусственного интеллекта, машинного обучения и компьютерного зрения.
Развитие "искусственного интеллекта" и его способность решать реальные задачи бизнеса позволяет говорить о новых применениях нейронных сетей. Про одно из таких применений на Bar Talks рассказывал Дмитрий Клименков (Computer Vision & Deep Learning).

Как и зачем учить нейронные сети читать по губам

Чтение по губам - одна из задач, которая на 100% не под силу даже человеку. Обучить сеть тому, чего не может делать человек, задача почти невыполнимая. Однако в чтении по губам все иначе ввиду особенностей работы мозга. Улавливать различные микродвижения в артикуляции и обобщать увиденную информацию - тяжело. Как показала практика, при правильно подобранной архитектуре для сверточных нейронных сетей данная задача становится проще.

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

Исследователи этой области, по сути, не придумывали ничего нового в нейросетевой теории, они скорее грамотно использовали то, что уже было придумано. Они выбирали правильные типы слоев, их количество и последовательность для текущей задачи. Чтобы построить state-of-the-art архитектуру, авторы использовали пространственно-временные сверточные слои, хорошо себя зарекомендовавший ResNet-блок и рекуррентные LSTM сети.
В чем же тогда их исследовательский вклад, если ничего нового они не изобрели? Как минимум в том, что они занялись этой задачей и довели ее до рабочего решения, которое показывает результаты лучше человеческих в разы. Попутно они решили ряд локальных проблем, связанных с тренировкой нейросетей для данной задачи. Всегда лучше что-то сделать, чем рассуждать, как это сделать. Точность распознавания составила 95% - задачу можно считать решенной. Некоторые могут возразить, что 95% это не 100%, но давайте вспомним с какой вероятностью мы правильно вставляем USB флеш-карту в порт. 33%? 50%? Может эта задача тоже не решена для человечества?

Если с распознаванием отдельных слов по губам все более-менее ясно, то как насчет распознавания целых предложений? Здесь лидером является компания Google, исследователи которой разработали модель с наилучшими показателями работы на публичных датасетах. Кроме того, они собрали самый большой датасет для тренировки моделей чтения по губам, суммарная длительность которого 3 800 часов. Это частично объясняет их непревзойденные результаты, ведь у ближайшего конкурента датасет лишь в 480 часов. Google cвой датасет не выкладывает в открытый доступ, а значит их коммерческое решение в области чтения по губам уже близко.
Применений опции 'чтение по губам' - множество. Например, дать глухим или слабослышащим людям возможность общаться со слышащими. Если говорить о конкретном продукте, воплощающим эту технологию, то им вполне может стать видео-мессенджер. Глухой собеседник просто артикулирует, глядя в камеру, а второй собеседник видит сказанные предложения в виде субтитров. Стирание границы в общении слышащих и глухих людей, идея сделать равный мир еще "равнее", - именно это движет Дмитрием, который в свободное время занимается данной разработкой.

Сегодня проект видео-мессенджера разрабатывается при поддержке сообщества Open Data Science. Ребята собрали небольшую рабочую группу по теме. В свободное время они разрабатывают и тренируют нейронные сети для распознавания сказанных предложений по губам в онлайн-режиме, а также собирают датасет (пока только русский язык) в автоматическом режиме с помощью YouTube.

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

Вторым докладчиком на Bar Talks был Никита Журавлев, - специалист Computer Vision & Deep Learning компании Synesis. Он выбрал не менее актуальную тему "Generative Adversarial Networks", или попросту GAN-ы.
Распознать картину Моне гораздо проще, чем нарисовать такую же. Генеративные (создающие данные) модели рассматривают более сложную задачу, чем дискриминативные (обрабатывающие данные), а значит и их тренировка сама по себе не является простым процессом.

Зачем вообще необходимо обучать GAN-ы, и чем это может помочь в реальной жизни? Одно из многих применений GAN-ов - генерация синтетических данных для обучения других нейросетей, на которых строится бизнес и которые работают в продакшне. Но не стоит забывать и об умной аугментации уже существующих данных для искусственного увеличения выборки тренировочных данных. В ходе исследований приходит понимание многих фундаментальных проблем, которыми сейчас занимается сообщество в области computer science и machine learning.

Чтобы быть по-настоящему полезными в практических приложениях, и особенно в тех случаях, когда синтетические данные используются как вторичный продукт для дообучения уже отточенных и готовых продуктовых решений, генеративные сети не могут работать на "среднем" / "удовлетворительном" уровне. Они должны работать либо "отлично", либо "никак". Плохо сгенерированные данные добавят ненужный шум в уже имеющиеся данные или сделают их только хуже.
Доклад о GAN-ах был не столько рецептом по решению конкретных проблем, сколько рассказом о самих проблемах, причинах их возникновения, понимании и обсуждении того, куда стоит смотреть, чтобы их эффективно решать. В последнее время новички области deep learning-а и нейронных сетей думают, что решение задач в основном зависит от количества слоев "нейросети" в модели и вычислительных мощностей (видеокарт) в распоряжении. Здесь же акцент на том, что под любой моделью, не важно, будь то простое модельное дерево решений или сложная нейросеть, лежит прежде всего математика - большой пласт теории с вытекающими оттуда проблемами и недостатками решений. Не всегда получение хорошего результата в решении проблем завязано на "полуинтуитивном" усложнении модели за счет увеличения параметров. Иногда стоит копнуть гораздо глубже, чтобы обнаружить недостатки используемого подхода, а следовательно и пути решения. Ведь только понимая масштаб проблемы можно её решить.
09 НОЯБРЯ / 2018

© All Right Reserved. Synesis.
2018