Анатолий Старостин. Что нужно знать о нейросетях и чего от них ждать
Какие рынки изменит технологияУспех приложения Prisma, музыкальный альбом «Нейронная оборона», тексты к которому написал робот, — очередные плоды развития искусственного интеллекта. Новые открытия будут случаться всё чаще. Искусственные нейронные сети теперь доступны не только крупным компаниям и закрытым лабораториям — их стали применять стартапы, которые работают с анализом текстовых, голосовых и визуальных данных.
Песни, которые собрал робот из текстов «Гражданской обороны», — явление не уникальное. Многие компании уже генерируют не только стихи, но и прозу, официальные документы, комментарии к матчам и другое.
Уже есть системы, позволяющие создавать музыку с помощью нейронных сетей так, чтобы мелодия походила на чьё-то произведение. Так, например, работает проект Wolfram Tones, позволяющий составлять собственные композиции. Этого эффекта теоретически можно добиться и с воспроизведением голоса.
Обработав голос и музыку Егора Летова через нейросеть, можно достичь ещё большего сходства с его оригинальным творчеством. Правда, на это потребуются большие технологические мощности и время.
Откуда сети родом
Первые исследования в области нейросетей относятся к середине XX века. Тогда в успех их практического применения мало кто верил: для работы нейросетей не хватало вычислительных мощностей. С тех пор человечество сильно продвинулось в разработке новых технологий, компьютеры стали мощнее, процессоры — производительнее и компактнее.
В 2006 году стало ясно, что для работы алгоритмов нейронных сетей хорошо подходят графические процессоры (GPU), которые раньше использовались для совсем других задач: создания 3D-графики или игр. Это позволило обучать нейронные сети гораздо лучше и быстрее по сравнению с обычными процессорами. Со временем появились результаты тестирований и статьи, из которых стало понятно, что с помощью нейронных сетей можно решать задачи в области машинного обучения.
Сегодня при задаче текстового анализа нейросети успешно применяются для поиска в текстах персон, локаций, организаций или определения тональности текста. Правильно настроенные нейронные сети могут определить нетривиальные зависимости в тексте. Например, когда в социальной сети вы находите отзыв «Автомобиль замечательный, но не едет», технологии определяют, что отзыв негативный.
Как это работает
По своему строению нейронные сети — это большой конструктор. Существуют целые классы алгоритмов нейросетей (сверхточные, рекурентные, рекурсивные), их применение зависит от специфики конкретных задач.
Главное отличие нейронных сетей от других технологий в том, что они требуют минимальной работы с признаками (feature engineering). Если при классическом машинном обучении чаще всего приходится производить сложные алгоритмические процедуры с исходными обучающими данными, то нейронные сети удаётся хорошо обучать на сырых данных. Релевантные для обучения признаки там вычисляются автоматически. Так, например, при анализе изображений нейронным сетям на вход можно подавать просто информацию о цветах всех точек изображения — все сложные обобщения сети делают сами.
Работа с текстами гораздо сложнее работы с изображениями. Буквы складываются в слоги, слоги — в слова, слова — в предложения, и за каждым фрагментом текста всегда скрывается смысл. Для ручного описания обучающих признаков при решении той или иной задачи в области анализа текстов нужно быть высококлассным лингвистом и потратить массу времени и усилий. Нейронным же сетям на вход можно подать довольно примитивные данные (например, результаты морфологического анализа вместе с примитивной разметкой отдельных ключевых слов), а на выходе получать качественный результат. Использование нейронных сетей при работе с текстом экономит время и усилия, а следовательно, снижает финансовые затраты.
В ABBYY мы ведём эксперименты по использованию нейронных сетей для распознавания и анализа текстов и часто применяем технологии анализа, разработанные ранее. Мы рассчитываем, что эти эксперименты позволят нам в будущем расширить возможности наших решений.
Сетевые навыки
Многие примеры применения нейросетей сегодня кажутся развлечением. Важно понимать, что и некоторые серьёзные задачи с их помощью уже сегодня решаются быстрее, проще, а главное — дешевле, чем всего пару лет назад. Это меняет подход к работе с любыми данными.
Нейронные сети — это ещё и мощный катализатор для развития новых аппаратных средств. Появились целые промышленные комплексы, например Amazon Web Services, где можно запросто арендовать графические процессоры для построения собственных нейронных сетей. Сегодня нейросети уже прекрасно справляются с анализом текстовых, аудио- и визуальных данных.
Недавно Google выложила в открытый доступ исходный код системы языкового анализа синтаксиса SyntaxNet, в которой используются нейронные сети. «Яндекс» рассказал, что обучает нейронные сети на основе своих сервисов по подбору недвижимости. Это позволяет анализировать местоположение объектов, стоимость, фотографии и тексты с их описаниями.
Отдельно надо выделить направление чат-ботов, где тексты генерируются на основе нейронных сетей. В Кремниевой долине есть стартап российского происхождения Luka, который с помощью тех же технологий генерирует диалоги с героями разных произведений.
После смерти певца Принса они сделали чат с музыкантом, проанализировав интервью с ним в общедоступных источниках. Андрей Карпати из Стэндфордского университета создал программу, в которую можно загрузить определённые тексты, скажем сонеты Шекспира, и она сама начнёт генерировать тексты в той же стилистике. Смысла в них, впрочем, не очень много.
Точно так же нейронные сети работают и с аудиоинформацией, например с генерацией музыки, схватывая характерные черты и создавая подобные произведения на их основе. Американская компания Lexika запустила сервис поиска по тексту в аудио- и видеофайлах на основе нейросетей. Google Voice Search стал работать качественнее благодаря использованию улучшенного алгоритма для обучения нейронных сетей. Он создавался для анализа и распознавания акустических моделей.
Кроме развлечений вроде приложения с фильтрами Prisma нейросети уже сегодня научились предсказывать действия людей при встрече. Так, сотрудники Массачусетского технологического института обучали искусственный интеллект распознавать объятия и рукопожатия. Несмотря на то что обучение проходило на видеозаписях с YouTube, а также сериалах «Офис» и «Отчаянные домохозяйки», следующие версии этой нейросети помогут роботам планировать действия или вызывать экстренные службы при фиксации происшествий камерами наблюдения.
Следующий шаг
Успех нейронных сетей часто, особенно в популярной литературе, подают как огромный шаг в сторону создания искусственного интеллекта — машины, думающей и действующей как человек. И правда, с их развитием многие сложные задачи перестали быть недосягаемыми для компьютеров. Но это по-прежнему отдельные задачи, которые решаются отдельными программами.
Грубо говоря, машина, обученная виртуозно играть в го, никогда не начнёт водить машину или даже играть в шахматы. Следующим шагом в области искусственного интеллекта должно стать создание интеллектуальных систем, способных осваивать и понимать новые предметные области без участия разработчиков. В таких системах нейронные сети будут лишь одним из удобных и нужных инструментов, но архитектуры этих систем станут значительно сложнее. Когда такие системы появятся, предсказать невозможно.
Скорее всего, области применения нейросетей расширятся совсем скоро. Помимо уже известных приложений, роботов, беспилотных автомобилей и самолётов этот алгоритм найдёт применение в решении задач, которые сделают жизнь человека не только проще, но и безопаснее. Нейронные сети помогут в прогнозировании аномальных явлений и катастроф, ранней диагностике заболеваний и даже изобретении новых лекарств.
Фотография на обложке: NASA