Войти в почту

Руководитель службы компьютерного зрения «Яндекса» — о том, как создать стартап на основе нейросетей

По прогнозу исследовательской фирмы Markets and Markets, объем мирового рынка искусственного интеллекта к 2020 году составит более $5 млрд. Медиа, реклама, ретейл, финансовая сфера и здравоохранение — основные сферы применения ИИ. Руководитель службы компьютерного зрения «Яндекса» Александр Крайнов на фестивале Kaspersky Geek Picnic рассказал, в чем опасность переобучения машин, заменит ли нейросеть человека и почему создать стартап в сфере ИИ легче, чем кажется (просто зайдите в интернет). Практическое использование нейронных сетей Сегодня нейронные сети успешно используются для поиска похожих изображений. Выход из сети можно записать в вектор — набор чисел, который позволяет поместить картинку в многомерное пространство. Для этого мы учим нейронную сеть распознавать кучу объектов разных классов, получаем множество признаков разных изображений, учим записывать эти признаки в виде вектора. У двух похожих картинок близкие векторы (глядя на кубики разных цветов и размеров, ребенок понимает, что все они — кубики). Близость становится семантической, а не визуальной. По изображению самолета мы можем находить любые другие самолеты — в ином ракурсе, цвете и т. п. Этот же способ используется при автоматическом переводе текстов. Автопереводчики учатся на уже переведенных текстах (их много в сети), сопоставляя их векторы и выбирая похожие фрагменты. Нейронные сети умеют не только создавать и искать картинки, но и писать тексты, стихи и музыку, причем авторство машины распознается с трудом. Еще одна сфера применения нейронных сетей — голосовые помощники (Siri, Amazon Alexa, Google Assistant). У модуля помощника, в который прилетает ваша фраза «Хай», есть фиксированный набор сценариев, но ему нужно выбрать из них подходящий ответ. Для этого нейронная сеть учится понимать, что фраза означает, скажем, приветствие, и решает, как реагировать. Но в помощниках не так уж много от искусственного интеллекта — правила ответа, заготовленный набор фраз написаны руками… Все помощники учатся понимать контекст и заполнять форму, задавая дополнительные вопросы. Если спросить, какая будет погода, — они будут уточнять, где и когда именно. Машинное обучение — способ научить машину составить формулу для решения какой-либо задачи: предсказать погоду или пробки, выбрать лучший банк или место для светофора. Что такое машинное обучение ИИ (раньше это называлось машинным обучением) вырос из компьютерного зрения — умения распознавать изображения. Нейронные сети существуют с 60-х годов, но «выстрелили» только в 2012-м — раньше не хватало вычислительных мощностей для рывка. Если при выборе банка учитываются два фактора — рейтинг надежности кредитного учреждения и процент, который нам заплатят, — легко найти банк с помощью формулы полинома (многочлена). факторов больше (удобство, близость к дому) — работает дерево решений (на каждом шаге есть варианты «да» и «нет»). Для метеорологического прогноза машина анализирует характеристики — силу ветра, давление и температуру, — историю наблюдений по этим данным и обучается предсказывать погоду. Машинное обучение работает, когда есть данные и цель. Данные — это материал для обучения (истории обмана вкладчиков банками, влияние установки светофора на движение). Цель позволяет измерить, идет ли обучение в нужную сторону. В случае с погодой обучение успешно, если разница предсказанной и фактической температуры минимальна. Нейронные сети могут самостоятельно автоматически выделить изначальные факторы и работать с ними. Проблемы обучения нейросетей Диалоги на свободную тему — большая проблема для нейросетей. Машина не понимает, когда поменялся контекст беседы. В сети — миллиарды диалогов со специфическими данными в каждом конкретном случае. Нейронная сеть выбирает наиболее реалистичный ответ. Но ответы на вопрос, сколько тебе лет — 14 или 15 ,— одинаково реалистичны. Другая проблема — автоматически определить, что сеть обучается успешно. Сейчас это самая «огненная» тема, работа кипит, все учат боты. Основной враг машинного обучения — переобучение, когда данных мало, а параметров много. Предположим, что в конкретной аудитории можно определить пол человека по номеру телефона. Мы собираем данные с каждого и все работает, пока мы не применим систему на другой аудитории. В машинном обучении важно, чтобы система научилась обобщать исходный материал. Победит ли бездушная машина человека? Сравним две цифры. В самой развитой искусственной сети — 20 млн параметров, а в нейронной сети каждого человека — 80 трлн. Это все равно что сравнить баскетбольный мяч с планетой Земля. Как обучаются нейронные сети Нейронные сети состоят из нескольких слоев, на которых расположены связанные друг с другом нейроны. Каждый из них получает данные, обрабатывает их определенным математическим образом и передает результирующее число следующему слою. Пример: на входе черно-белая картинка с определенным значением яркости для каждого пикселя. Нейрон выбирает, как обрабатывать группу пикселей, и передает полученное число нейрону следующего слоя и т. д. Последний слой собирает результаты и решает, что изображено — картинка «а» или «б». Изначально точность — 50%, то есть решение случайно. Далее сеть сама обучается и начинает править параметры — менять формулы, пока точность не повысится. На простой перебор ушла бы вечность, но ученые находят математические способы ускорить обучение сети. Мы показываем и называем кубик, и у ребенка формируется представление о нем. Ребенок спрашивает взрослых, кубик ли на картинке, затем сам распознает объект по признакам. Нейронные сети учатся подобно детям. Если начитать нейронной сети звуки, она поймет последовательность фонем и построит языковую модель. Как создаются стартапы на основе нейросетей Из СМИ складывается впечатление, что какие-то секретные ученые в закрытых фирмах отдельно друг от друга «пилят» свои искусственные интеллекты. А на самом деле серьезные разработчики решают конкретную задачу методами математического обучения, иногда получая что-то вроде ИИ. Все мировые разработки в свободном доступе, в этой сфере все работают вместе, делятся друг с другом, спешат сделать чуть лучше, чем у других. Например, публикуются формулы и алгоритм переноса стилей (как сделать фото в стиле художника), с опорой на 25 других источников. Метод работает, но медленно. В следующей статье (со сравнением и ссылками на исходный код) рассказывается, как сделать быстрее. А через полгода выходит всем известная Prisma. Стартапы не изобретают и не придумывают — они делают продукт. Но вовремя и красиво завернуть алгоритм в пользовательский продукт (как это удалось создателям Prisma) удается немногим. Тогда параллельно стартовало пять похожих проектов, а «выстрелил» только один. Мы живем в эпоху неограниченных возможностей — три студента могут прочитать научную статью с таким вкусным научным «жиром», сделать свой стартап и заработать много денег. Так что дерзайте и делайте продукты!

Руководитель службы компьютерного зрения «Яндекса» — о том, как создать стартап на основе нейросетей
© Inc.