Белорусский студент научил нейросеть узнавать персонажей «Игры престолов. Переобучение: в чем проблема и как ее решить. Нюансы работы нейронной сети

Новости о нейронных сетях появляются каждый день. То сети научились определять пол и возраст людей по фотографии, то обыграли человека в очередную настольную игру, то начали генерировать научные тексты, код приложений и писать картины в духе Сальвадора Дали. А завтра Скайнет отберет у тебя работу, автомобиль, жизненное пространство, а тебя самого… нет, не утилизирует, а удобно разместит на диване и заставит ничего не делать, наслаждаясь безусловным доходом. Или все-таки нет?

Рождение мифа

Исследователи и компании, которые работают с большими объемами данных, применяют нейросети еще с восьмидесятых годов, а вот рядовые земляне обращают внимание на прогресс в этой области только после показательных побед машин над людьми. Deep Blue обыграл Каспарова! Watson обошел людей в Jeopardy! А теперь гугловский AlphaGo победил Ли Седоля - одного из лучших игроков в го на сегодняшний день.

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

У AlphaGo есть если не интуиция, то кое-что очень на нее похожее. Система долгое время обучалась на сотнях тысяч сыгранных людьми партий и играла сама с собой. Она научилась «чувствовать» перспективные ходы и уже на их основе прогнозирует игру на несколько ходов вперед. То есть программа переняла ту человеческую черту, которую люди используют ежесекундно, а вот переложить в алгоритм затрудняются.

С легкой руки журналистов AlphaGo превратилась из банальной нейронной сети, описанной еще шестьдесят лет назад, в Искусственный Интеллект, которому недалеко и до обретения самосознания. На самом деле это, конечно же, не так. AlphaGo - это более-менее стандартный пример многослойной нейронной сети, которая способна эффективно решать одну конкретную задачу. Присущая ей «интуиция» - это известное свойство системы, обученной на множестве примеров. Однако считать нейронные сети чересчур разрекламированной игрушкой тоже не стоит.

Перцептрон и триста пород собак

Впервые идею искусственной нейронной сети предложил нейрофизиолог Фрэнк Розенблатт в 1957 году и реализовал ее в нейрокомпьютере «Марк-1» в 1960-м. Математическая модель такой сети получила имя «перцептрон», а само устройство представляло собой небольшой компьютер, снабженный табло из нескольких сотен фотоэлементов. Показывая компьютеру изображения, а затем корректируя весовые коэффициенты связей искусственных нейронов, можно было научить нейронную сеть распознавать геометрические фигуры и некоторые буквы алфавита.

По нынешним временам «Марк-1» - это игрушка. К тому же она страдала от множества проблем: к примеру, изображения не распознавались при деформации или повороте. Сейчас понятно, что при тогдашнем уровне вычислительной мощности многие вещи просто нельзя было реализовать. Перцептроны интересны скорее с исторической точки зрения - реальных задач они не решали. В 1969 году Марвин Минский и Сеймур Паперт описали эти опыты в книге «Перцептроны», после чего исследования в области нейросетей были свернуты в пользу, как тогда казалось, более перспективных символьных вычислений.

Новый всплеск интереса к нейронным сетям произошел лишь в 1986 году, когда появился способ машинного обучения по методу обратного распространения ошибки. Он позволил существенно повысить скорость и качество обучения нейросетей. Однако вычислительные ресурсы все еще были ограничены, да и действительно больших объемов данных для обучения нейросетей не было. Поэтому они существовали в основном как исследовательские проекты и применялись для решения очень ограниченного круга задач. Таких, которые не требуют слишком много мегагерцев или мегабайтов, - к примеру, распознавание текста.

В 2012 году произошло событие, которое коренным образом изменило отношение к нейросетям. Сеть SuperVision, разработанная в Торонтском университете, с большим отрывом выиграла конкурс распознавания объектов на изображениях ImageNet LSVRP (Large-Scale Visual Recognition Challenge). Число ее ошибок составило 16,4%, тогда как программа, занявшая второе место, ошибалась в 26% случаев. Для сравнения: человек делает ошибки в 5% случаев. Но удивительнее всего было то, что для предварительного обучения сети использовался не кластер, а обычный компьютер с двумя видеокартами NVIDIA. Тренировка заняла около недели.

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

Звучит курьезно? Пожалуй. Но вот что важно: тебе никогда не узнать столько пород собак, а машина их уверенно распознает. И речь не о каком-то огромном компьютере IBM, а о системе вроде тех, что собирают себе любители игр с крутой графикой.

Назад в будущее

SuperVision не случайно стала символом новой эры нейронных сетей. Классификация изображений - нечто гораздо более сложное и высокоуровневое, чем просто разбор буковок на бумаге. Сказать, что отличает букву А от всех остальных букв алфавита, сможет даже ребенок, но попробуй с ходу рассказать об отличительных признаках, допустим, облака. В чем конкретно его разница по сравнению с остальными объектами, которые ты видишь? В голову приходят слова «белый», «небо», «кучевые» и так далее. Это множество параметров, о каждом из которых тоже нужно иметь представление. Что такое «белый»? А «небо»?

Сейчас эту задачу решают при помощи метода Deep Learning (глубинное обучение), суть которого в том, чтобы объединить в сеть большое количество слоев нейронов (в SuperVision их было пять, в современных сетях доходит до сотен). Получается что-то вроде иерархии абстракций. А потом сети скармливаются примеры , по которым она «видит», как выглядит облако в различных ситуациях, и может понять, как его идентифицировать. В случае ошибки система перенастраивает сама себя.

Метод опробованный и действенный, но, чтобы он работал, должно соблюдаться два требования. Во-первых, примеров должно быть действительно много. Не сотни и даже не тысячи, а десятки и сотни тысяч, и чем больше, тем лучше будут результаты. Во-вторых, сеть должна быть действительно большой и состоять из сотен тысяч или даже миллионов нейронов, объединенных во множество слоев. В процессе обучения такого ИИ примеры прогоняются через всю сеть с постоянной коррекцией ошибок. Требования к вычислительным мощностям получаются соответствующие.

Раньше подобные задачи пытались решить с помощью кластеров из тысяч машин. К примеру, в Google делали нейросеть, которая работала на 16 тысячах процессорных ядер. Что, конечно же, делало ее использование совершенно нерентабельным.

В 2014 году в Google предприняли новую попытку и на этот раз использовали глубинное обучение. Результатом стала сеть GoogLeNet из 22 слоев, которая, по словам авторов, так же как и SuperVision, может быть обучена на нескольких высококлассных GPU за неделю. На конкурсе ImageNet гугловская сеть показала себя великолепно: число ошибок снизилось до 6,7%. Почти как у человека!

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

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

Все еще радуешься ярким картинкам и узнавалкам лиц? Есть плохая новость.

Все вокруг только и говорят, что о нейросетях: Prisma, MSQRD, AlphaGo… Все это кажется таким новым, невероятным, забавным. Но мало кто понимает, что такое нейронная сеть, каковы ее возможности и к чему широкое распространение таких решений приведет в достаточно скором будущем.

Как устроена искусственная нейросеть


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

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

Как работает нейросеть


Самой очевидной задачей для нейросети является распознавание изображений. Допустим, мы загрузили фотографию автомобиля. Говоря по-простому, элементы первого уровня в состоянии лишь отличить прямую линию от изогнутой, светлый элемент от темного.

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

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

Делая поочередно то правильные, то неправильные выводы, она постепенно повышает процент «попаданий», пока он не достигает требуемого значения. Если нейросеть достаточно сложна, к этому моменту даже ее создатели и «тренеры» уже не в состоянии сказать, как именно она решила поставленную задачу. Классический «черный ящик» .

Почему нейросети «выстрелили» именно сейчас

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

Очень кстати пришелся созданный в начале 2000-х метод «глубинного обучения» (Deep Learning ). Он позволил резко сократить время обучения нейросети.

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

Как работает Prisma, Google Deep Dream и прочие

Это очень упрощенное представление, но дело обстоит именно так. Предварительно обученной на том или ином наборе изображений нейронной сети «скармливают» фотографию не с целью ее распознать, а наоборот - с целью выявить и подчеркнуть на ней те элементы, которые система «помнит» после обучения. Многократное повторение этой операции и дает тот самый результат, который так понравился тебе в Prisma .

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

Почему мы слышим только о картинках

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

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

Что нам дают нейросети

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

Далеко за примерами ходить не надо: недавно специалисты Яндекса поставили весьма показательный эксперимент, записав неофициальный музыкальный альбом, текст песен которого полностью создан нейросетью и стилизован под творчество Егора Летова и группы «Гражданская оборона».

Есть и более серьезные успехи. Впечатляющих результатов удалось достичь в области медицинской диагностики - нейросеть ставит диагнозы лучше врачей . Не будем углубляться в детали, достаточно загуглить «нейросеть медицинская диагностика». Голосовой поиск Google использует нейросети, и именно благодаря им удалось добиться резкого повышения качества работы сервиса. И это лишь начало длинного списка.

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

Куда мы катимся

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

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

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

Нейронные сети произвели фурор в IT, и интерес к ним не угасает. Эта подборка видеолекций внесёт ясность в понимание процессов нейросети.

Нейронные сети. Введение

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

Немного биологии

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

В целом об искусственной нейронной сети

Автор курса в этом видео подробно рассказывает о строении нейросети с примерами и картинками. Настоящая биологическая нейронная сеть имеет трёхмерную структуру. Это значит, что отследить, как соединены между собой клетки, почти невозможно. Поэтому зачастую нейросети создаются плоскими, чтобы можно было с ними работать, не имея огромных компьютерных мощностей. Также условились, что сеть состоит из трёх слоев искусственных нейронов: входного, скрытого и выходного.

Искусственный нейрон

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

Структура нейронной сети

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

Нюансы работы нейронной сети

Автор рассматривает важные темы работы нейронной сети, которые касаются входного и выходного слоя. Нормализация и масштабирование, метод “Один из N”, вопросы организации сетей и наличие нескольких скрытых слоев – вот некоторые из тем, рассматриваемых в этой видеолекции.

Далее следуют 3 очень важные видеолекции по обучению нейросети, к которым нужно подойти со всей серьезностью.

Обучение сети

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

Технология обучения сети. Часть 1

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

Технология обучения сети. Часть 2

Этот видеоурок автор начинает с объяснения темы обучения скрытых слоев. Ранее в курсе рассматривались сети, которые имели только входной и выходной слои. В таких сетях всё просто – меняются веса нейронов, и операция повторяется. Но когда есть скрытые нейроны, всегда непонятно, за что они отвечают, и как у них менять веса. На помощь приходит метод обратного распространения ошибки.

Работа одного нейрона

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

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

Конечно, уже из названия можно догадаться, что в нейросетях разработчики попытались скопировать устройство человеческого мозга: как известно, он состоит из множества простых клеток-нейронов, которые обмениваются друг с другом электрическими сигналами. Но чем тогда нейросети отличаются от обычного компьютера, который тоже собран из примитивных электрических деталей? И почему до современного подхода не додумались ещё полвека назад?

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

Что такое нейронная сеть

Идея нейросети заключается в том, чтобы собрать сложную структуру из очень простых элементов. Вряд ли можно считать разумным один-единственный участок мозга - а вот люди обычно на удивление неплохо проходят тест на IQ. Тем не менее до сих пор идею создания разума «из ничего» обычно высмеивали: шутке про тысячу обезьян с печатными машинками уже сотня лет, а при желании критику нейросетей можно найти даже у Цицерона, который ехидно предлагал до посинения подбрасывать в воздух жетоны с буквами, чтобы рано или поздно получился осмысленный текст. Однако в XXI веке оказалось, что классики ехидничали зря: именно армия обезьян с жетонами может при должном упорстве захватить мир.

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

Работает перцептрон проще некуда: он получает несколько исходных чисел, умножает каждое на «ценность» этого числа (о ней чуть ниже), складывает и в зависимости от результата выдаёт 1 или –1. Например, мы фотографируем чистое поле и показываем нашему нейрону какую-нибудь точку на этой картинке - то есть посылаем ему в качестве двух сигналов случайные координаты. А затем спрашиваем: «Дорогой нейрон, здесь небо или земля?» - «Минус один, - отвечает болванчик, безмятежно разглядывая кучевое облако. - Ясно же, что земля».

«Тыкать пальцем в небо» - это и есть основное занятие перцептрона. Никакой точности от него ждать не приходится: с тем же успехом можно подбросить монетку. Магия начинается на следующей стадии, которая называется машинным обучением . Мы ведь знаем правильный ответ - а значит, можем записать его в свою программу. Вот и получается, что за каждую неверную догадку перцептрон в буквальном смысле получает штраф, а за верную - премию: «ценность» входящих сигналов вырастает или уменьшается. После этого программа прогоняется уже по новой формуле. Рано или поздно нейрон неизбежно «поймёт», что земля на фотографии снизу, а небо сверху, - то есть попросту начнёт игнорировать сигнал от того канала, по которому ему передают x-координаты. Если такому умудрённому опытом роботу подсунуть другую фотографию, то линию горизонта он, может, и не найдёт, но верх с низом уже точно не перепутает.

Чтобы нарисовать прямую линию, нейрон исчеркает весь лист

В реальной работе формулы немного сложнее, но принцип остаётся тем же. Перцептрон умеет выполнять только одну задачу: брать числа и раскладывать по двум стопкам. Самое интересное начинается тогда, когда таких элементов несколько, ведь входящие числа могут быть сигналами от других «кирпичиков»! Скажем, один нейрон будет пытаться отличить синие пиксели от зелёных, второй продолжит возиться с координатами, а третий попробует рассудить, у кого из этих двоих результаты ближе к истине. Если же натравить на синие пиксели сразу несколько нейронов и суммировать их результаты, то получится уже целый слой, в котором «лучшие ученики» будут получать дополнительные премии. Таким образом достаточно развесистая сеть может перелопатить целую гору данных и учесть при этом все свои ошибки.

Первые нейросети

Перцептроны устроены не намного сложнее, чем любые другие элементы компьютера, которые обмениваются единицами и нулями. Неудивительно, что первый прибор, устроенный по принципу нейросети - Mark I Perceptron, - появился уже в 1958 году, всего через десятилетие после первых компьютеров. Как было заведено в ту эпоху, нейроны у этого громоздкого устройства состояли не из строчек кода, а из радиоламп и резисторов. Учёный Фрэнк Розенблатт смог соорудить только два слоя нейросети, а сигналы на «Марк-1» подавались с импровизированного экрана размером в целых 400 точек. Устройство довольно быстро научилось распознавать простые геометрические формы - а значит, рано или поздно подобный компьютер можно было обучить, например, чтению букв.

Розенблатт и его перцептрон

Розенблатт был пламенным энтузиастом своего дела: он прекрасно разбирался в нейрофизиологии и вёл в Корнеллском университете популярнейший курс лекций, на котором подробно объяснял всем желающим, как с помощью техники воспроизводить принципы работы мозга. Учёный надеялся, что уже через несколько лет перцептроны превратятся в полноценных разумных роботов: они смогут ходить, разговаривать, создавать себе подобных и даже колонизировать другие планеты. Энтузиазм Розенблатта вполне можно понять: тогда учёные ещё верили, что для создания ИИ достаточно воспроизвести на компьютере полный набор операций математической логики. Тьюринг уже предложил свой знаменитый тест, Айзек Азимов призывал задуматься о необходимости законов роботехники, а освоение Вселенной казалось делом недалёкого будущего.

Впрочем, были среди пионеров кибернетики и неисправимые скептики, самым грозным из которых оказался бывший однокурсник Розенблатта, Марвин Минский. Этот учёный обладал не менее громкой репутацией: тот же Азимов отзывался о нём с неизменным уважением, а Стэнли Кубрик приглашал в качестве консультанта на съёмки «Космической одиссеи 2001 года». Даже по работе Кубрика видно, что на самом деле Минский ничего не имел против нейросетей: HAL 9000 состоит именно из отдельных логических узлов, которые работают в связке друг с другом. Минский и сам увлекался машинным обучением ещё в 1950-х. Просто Марвин непримиримо относился к научным ошибкам и беспочвенным надеждам: недаром именно в его честь Дуглас Адамс назвал своего андроида-пессимиста.

В отличие от Розенблатта, Минский дожил до триумфа ИИ

Сомнения скептиков того времени Минский подытожил в книге «Перцептрон» (1969), которая надолго отбила у научного сообщества интерес к нейросетям. Минский математически доказал, что у «Марка-1» есть два серьёзных изъяна. Во-первых, сеть всего с двумя слоями почти ничего не умела - а ведь это и так уже был огромный шкаф, пожирающий уйму электричества. Во-вторых, для многослойных сетей алгоритмы Розенблатта не годились: по его формуле часть сведений об ошибках сети могла потеряться, так и не дойдя до нужного слоя.

Минский не собирался сильно критиковать коллегу: он просто честно отметил сильные и слабые стороны его проекта, а сам продолжил заниматься своими разработками. Увы, в 1971 году Розенблатт погиб - исправлять ошибки перцептрона оказалось некому. «Обычные» компьютеры в 1970-х развивались семимильными шагами, поэтому после книги Минского исследователи попросту махнули рукой на искусственные нейроны и занялись более перспективными направлениями.

Эпоха застоя

Развитие нейросетей остановилось на десять с лишним лет - сейчас эти годы называют «зимой искусственного интеллекта». К началу эпохи киберпанка математики наконец-то придумали более подходящие формулы для расчёта ошибок, но научное сообщество поначалу не обратило внимания на эти исследования. Только в 1986 году, когда уже третья подряд группа учёных независимо от других решила обнаруженную Минским проблему обучения многослойных сетей, работа над искусственным интеллектом наконец-то закипела с новой силой.

Хотя правила работы остались прежними, вывеска сменилась: теперь речь шла уже не о «перцептронах», а о «когнитивных вычислениях». Экспериментальных приборов никто уже не строил: теперь все нужные формулы проще было записать в виде несложного кода на обычном компьютере, а потом зациклить программу. Буквально за пару лет нейроны научились собирать в сложные структуры. Например, некоторые слои искали на изображении конкретные геометрические фигуры, а другие суммировали полученные данные. Именно так удалось научить компьютеры читать человеческий почерк. Вскоре стали появляться даже самообучающиеся сети, которые не получали «правильные ответы» от людей, а находили их сами. Нейросети сразу начали использовать и на практике: программу, которая распознавала цифры на чеках, с удовольствием взяли на вооружение американские банки.

1993 год: капча уже морально устарела

К середине 1990-х исследователи сошлись на том, что самое полезное свойство нейросетей - их способность самостоятельно придумывать верные решения. Метод проб и ошибок позволяет программе самой выработать для себя правила поведения. Именно тогда стали входить в моду соревнования самодельных роботов, которых программировали и обучали конструкторы-энтузиасты. А в 1997 году суперкомпьютер Deep Blue потряс любителей шахмат, обыграв чемпиона мира Гарри Каспарова.

Строго говоря, Deep Blue не учился на своих ошибках, а попросту перебирал миллионы комбинаций

Увы, примерно в те же годы нейросети упёрлись в потолок возможностей. Другие области программирования не стояли на месте - вскоре оказалось, что с теми же задачами куда проще справляются обычные продуманные и оптимизированные алгоритмы. Автоматическое распознавание текста сильно упростило жизнь работникам архивов и интернет-пиратам, роботы продолжали умнеть, но разговоры об искусственном интеллекте потихоньку заглохли. Для действительно сложных задач нейросетям по-прежнему не хватало вычислительной мощности.

Вторая «оттепель» ИИ случилась, только когда изменилась сама философия программирования.

Нейросети наших дней

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

Конечно, для обычных программ это серьёзная проблема, - но как раз такого изобилия и не хватало нейросетям! Учёным давно известно, что если не экономить ресурсы, самые сложные задачи начинают решаться словно бы сами собой. Ведь именно так действуют все законы природы, от квантовой физики до эволюции: если повторять раз за разом бесчисленные случайные события, отбирая самые стабильные варианты, то из хаоса родится стройная и упорядоченная система. Теперь в руках человечества наконец-то оказался инструмент, который позволяет не ждать изменений миллиарды лет, а обучать сложные системы буквально на ходу.

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

Так и произошло третье пришествие перцептронов - на этот раз уже под знакомыми нам названиями «нейросети» и «глубинное обучение». Неудивительно, что новостями об успехах ИИ чаще всего делятся такие крупные корпорации как Google и IBM. Их главный ресурс - огромные дата-центры, где на мощных серверах можно тренировать многослойные нейросети. Эпоха машинного обучения по-настоящему началась именно сейчас, потому что в интернете и соцсетях наконец-то накопились те самые big data, то есть гигантские массивы информации, которые и скармливают нейросетям для обучения.

В итоге современные сети занимаются теми трудоёмкими задачами, на которые людям попросту не хватило бы жизни. Например, для поиска новых лекарств учёным до сих пор приходилось долго высчитывать, какие химические соединения стоит протестировать. А сейчас существует нейросеть, которая попросту перебирает все возможные комбинации веществ и предлагает наиболее перспективные направления исследований. Компьютер IBM Watson успешно помогает врачам в диагностике: обучившись на историях болезней, он легко находит в данных новых пациентов неочевидные закономерности.

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

В сфере развлечений компьютеры продвинулись не хуже, чем в науке. За счёт машинного обучения им наконец поддались игры, алгоритмы выигрыша для которых придумать ещё сложнее, чем для шахмат. Недавно нейросеть AlphaGo разгромила одного из лучших в мире игроков в го, а программа Libratus победила в профессиональном турнире по покеру. Более того, ИИ уже постепенно пробирается и в кино: например, создатели сериала «Карточный домик» использовали big data при кастинге, чтобы подобрать максимально популярный актёрский состав.

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

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

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

Игры с ботами

Развлекаться с недоученными нейросетями очень весело: они порой выдают такие ошибки, что в страшном сне не приснится. А если ИИ начинает учиться, появляется азарт: «Неужто сумеет?» Поэтому сейчас набирают популярность интернет-игры с нейросетями.

Одним из первых прославился интернет-джинн Акинатор , который за несколько наводящих вопросов угадывал любого персонажа. Строго говоря, это не совсем нейросеть, а несложный алгоритм, но со временем он становился всё догадливее. Джинн пополнял базу данных за счёт самих пользователей - и в результате его обучили даже интернет-мемам.

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

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

Революция откладывается

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

Главная слабость нейросетей в том, что каждая из них заточена под определённую задачу. Если натренировать сеть на фотографиях с котиками, а потом предложить ей задачку «отличи небо от земли», программа не справится, будь в ней хоть миллиард нейронов. Чтобы появились по-настоящему «умные» компьютеры, надо придумать новый алгоритм, объединяющий уже не нейроны, а целые сети, каждая из которых занимается конкретной задачей. Но даже тогда до человеческого мозга компьютерам будет далеко.

Сейчас самой крупной сетью располагает компания Digital Reasoning (хотя новые рекорды появляются чуть ли не каждый месяц) - в их творении 160 миллиардов элементов. Для сравнения: в одном кубическом миллиметре мышиного мозга около миллиарда связей. Причём биологам пока удалось описать от силы участок в пару сотен микрометров, где нашлось около десятка тысяч связей. Что уж говорить о людях!

Один слой умеет узнавать людей, другой - столы, третий - ножи…

Такими 3D-моделями модно иллюстрировать новости о нейросетях, но это всего лишь крошечный участок мышиного мозга

Кроме того, исследователи советуют осторожнее относиться к громким заявлениям Google и IBM. Никаких принципиальных прорывов в «когнитивных вычислениях» с 1980-х годов не произошло: компьютеры всё так же механически обсчитывают входящие данные и выдают результат. Нейросеть способна найти закономерность, которую не заметит человек, - но эта закономерность может оказаться случайной. Машина может подсчитать, сколько раз в твиттере упоминается «Оскар», - но не сможет определить, радуются пользователи результатам или ехидничают над выбором киноакадемии.

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

Сказки про Скайнет


Хотя нам самим сложно удержаться от иронии на тему бунта роботов, серьёзных учёных не стоит даже и спрашивать о сценариях из «Матрицы» или «Терминатора»: это всё равно что поинтересоваться у астронома, видел ли он НЛО. Исследователь искусственного интеллекта Элиезер Юдковски, известный по роману « », написал ряд статей, где объяснил, почему мы так волнуемся из-за восстания машин - и чего стоит опасаться на самом деле.

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

Бояться надо не врагов, а чересчур усердных друзей. У любой нейросети есть мотивация: если ИИ должен гнуть скрепки, то, чем больше он их сделает, тем больше получит «награды». Если дать хорошо оптимизированному ИИ слишком много ресурсов, он не задумываясь переплавит на скрепки всё окрестное железо, потом людей, Землю и всю Вселенную. Звучит безумно - но только на человеческий вкус! Так что главная задача будущих создателей ИИ - написать такой жёсткий этический кодекс, чтобы даже существо с безграничным воображением не смогло найти в нём «дырок».

* * *

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

Сделай сам


Нейронную сеть можно сделать с помощью спичечных коробков - тогда у вас в арсенале появится фокус, которым можно развлекать гостей на вечеринках. Редакция МирФ уже попробовала - и смиренно признаёт превосходство искусственного интеллекта. Давайте научим неразумную материю играть в игру «11 палочек». Правила просты: на столе лежит 11 спичек, и в каждый ход можно взять либо одну, либо две. Побеждает тот, кто взял последнюю. Как же играть в это против «компьютера»? Очень просто.

  1. Берём 10 коробков или стаканчиков. На каждом пишем номер от 2 до 11.
  2. Кладём в каждый коробок два камешка - чёрный и белый. Можно использовать любые предметы - лишь бы они отличались друг от друга. Всё - у нас есть сеть из десяти нейронов!

Теперь начинается игра.

  1. Нейросеть всегда ходит первой. Для начала посмотрите, сколько осталось спичек, и возьмите коробок с таким номером. На первом ходу это будет коробок №11.
  2. Возьмите из нужного коробка любой камешек. Можно закрыть глаза или кинуть монетку, главное - действовать наугад.
  3. Если камень белый - нейросеть решает взять две спички. Если чёрный - одну. Положите камешек рядом с коробком, чтобы не забыть, какой именно «нейрон» принимал решение.
  4. После этого ходит человек - и так до тех пор, пока спички не закончатся.

Ну а теперь начинается самое интересное: обучение. Если сеть выиграла партию, то её надо наградить: кинуть в те «нейроны», которые участвовали в этой партии, по одному дополнительному камешку того же цвета, который выпал во время игры. Если же сеть проиграла - возьмите последний использованный коробок и выньте оттуда неудачно сыгравший камень. Может оказаться, что коробок уже пустой, - тогда «последним» считается предыдущий походивший нейрон. Во время следующей партии, попав на пустой коробок, нейросеть автоматически сдастся.

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

В первой половине 2016 года мир услышал о множестве разработок в области нейронных сетей - свои алгоритмы демонстрировали Google (сеть-игрок в го AlphaGo), Microsoft (ряд сервисов для идентификации изображений), стартапы MSQRD, Prisma и другие.

В закладки

Редакция сайт рассказывает, что из себя представляют нейронные сети, для чего они нужны, почему захватили планету именно сейчас, а не годами раньше или позже, сколько на них можно заработать и кто является основными игроками рынка. Своими мнениями также поделились эксперты из МФТИ, «Яндекса», Mail.Ru Group и Microsoft.

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

Нейронные сети - одно из направлений в разработке систем искусственного интеллекта. Идея заключается в том, чтобы максимально близко смоделировать работу человеческой нервной системы - а именно, её способности к обучению и исправлению ошибок. В этом состоит главная особенность любой нейронной сети - она способна самостоятельно обучаться и действовать на основании предыдущего опыта, с каждым разом делая всё меньше ошибок.

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

Руководитель направления «Поиск Mail.ru» в Mail.Ru Group Андрей Калинин отмечает, что нейронные сети способны решать такие же задачи, как и другие алгоритмы машинного обучения, разница заключается лишь в подходе к обучению.

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

Директор программ технологического сотрудничества Microsoft в России Влад Шершульский замечает, что сейчас нейросети применяются повсеместно: «Например, многие крупные интернет-сайты используют их, чтобы сделать реакцию на поведение пользователей более естественной и полезной своей аудитории. Нейросети лежат в основе большинства современных систем распознавания и синтеза речи, а также распознавания и обработки изображений. Они применяются в некоторых системах навигации, будь то промышленные роботы или беспилотные автомобили. Алгоритмы на основе нейросетей защищают информационные системы от атак злоумышленников и помогают выявлять незаконный контент в сети».

В ближайшей перспективе (5-10 лет), полагает Шершульский, нейронные сети будут использоваться ещё шире:

Представьте себе сельскохозяйственный комбайн, исполнительные механизмы которого снабжены множеством видеокамер. Он делает пять тысяч снимков в минуту каждого растения в полосе своей траектории и, используя нейросеть, анализирует - не сорняк ли это, не поражено ли оно болезнью или вредителями. И обрабатывает каждое растение индивидуально. Фантастика? Уже не совсем. А через пять лет может стать нормой. - Влад Шершульский, Microsoft

Заведующий лабораторией нейронных систем и глубокого обучения Центра живых систем МФТИ Михаил Бурцев приводит предположительную карту развития нейронных сетей на 2016-2018 годы:

  • системы распознавания и классификации объектов на изображениях;
  • голосовые интерфейсы взаимодействия для интернета вещей;
  • системы мониторинга качества обслуживания в колл-центрах;
  • системы выявления неполадок (в том числе, предсказывающие время технического обслуживания), аномалий, кибер-физических угроз;
  • системы интеллектуальной безопасности и мониторинга;
  • замена ботами части функций операторов колл-центров;
  • системы видеоаналитики;
  • самообучающиеся системы, оптимизирующие управление материальными потоками или расположение объектов (на складах, транспорте);
  • интеллектуальные, самообучающиеся системы управления производственными процессами и устройствами (в том числе, робототехнические);
  • появление систем универсального перевода «на лету» для конференций и персонального использования;
  • появление ботов-консультантов технической поддержки или персональных ассистентов, по функциям близким к человеку.

Директор по распространению технологий «Яндекса» Григорий Бакунов считает, что основой для распространения нейросетей в ближайшие пять лет станет способность таких систем к принятию различных решений: «Главное, что сейчас делают нейронные сети для человека, - избавляют его от излишнего принятия решений. Так что их можно использовать практически везде, где принимаются не слишком интеллектуальные решения живым человеком. В следующие пять лет будет эксплуатироваться именно этот навык, который заменит принятие решений человеком на простой автомат».

Почему нейронные сети стали так популярны именно сейчас

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

Однако до недавнего времени, говорит Андрей Калинин из Mail.Ru Group, скорость работы нейросетей была слишком низкой, чтобы они могли получить широкое распространение, и поэтому такие системы в основном использовались в разработках, связанных с компьютерным зрением, а в остальных областях применялись другие алгоритмы машинного обучения.

Трудоёмкая и длительная часть процесса разработки нейронной сети - её обучение. Для того, чтобы нейронная сеть могла корректно решать поставленные задачи, требуется «прогнать» её работу на десятках миллионов наборов входных данных. Именно с появлением различных технологий ускоренного обучения и связывают распространение нейросетей Андрей Калинин и Григорий Бакунов.

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

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

Каковы объёмы рынка нейронных сетей

«Очень легко посчитать. Можно взять любую область, в которой используется низкоквалифицированный труд, - например, работу операторов колл-центров - и просто вычесть все людские ресурсы. Я бы сказал, что речь идет о многомиллиардном рынке даже в рамках отдельной страны. Какое количество людей в мире задействовано на низкоквалифицированной работе, можно легко понять. Так что даже очень абстрактно говоря, думаю, речь идет о стомиллиардном рынке во всем мире», - говорит директор по распространению технологий «Яндекса» Григорий Бакунов.

По некоторым оценкам, больше половины профессий будет автоматизировано – это и есть максимальный объём, на который может быть увеличен рынок алгоритмов машинного обучения (и нейронных сетей в частности).- Андрей Калинин, Mail.Ru Group

«Алгоритмы машинного обучения - это следующий шаг в автоматизации любых процессов, в разработке любого программного обеспечения. Поэтому рынок как минимум совпадает со всем рынком ПО, а, скорее, превосходит его, потому что становится возможно делать новые интеллектуальные решения, недоступные старому ПО», - продолжает руководитель направления «Поиск Mail.ru» в Mail.Ru Group Андрей Калинин.

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

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

Способности собственных нейронных сетей демонстрировали и Google (технология AlphaGo выиграла у чемпиона в го; в марте 2016 года корпорация продала на аукционе 29 картин, нарисованных нейросетями и так далее), и Microsoft (проект CaptionBot , распознающий изображения на снимках и автоматически генерирующий подписи к ним; проект WhatDog , по фотографии определяющий породу собаки; сервис HowOld , определяющий возраст человека на снимке и так далее), и «Яндекс» (в июне команда встроила в приложение «Авто.ру» сервис для распознавания автомобилей на снимках; представила записанный нейросетями музыкальный альбом; в мае создала проект LikeMo.net для рисования в стиле известных художников).

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

«Игры - характерная особенность нашего поведения как биологического вида. С одной стороны, на игровых ситуациях можно смоделировать практически все типичные сценарии человеческого поведения, а с другой - и создатели игр и, особенно, игроки могут получить от процесса массу удовольствия. Есть и сугубо утилитарный аспект. Хорошо спроектированная игра приносит не только удовлетворение игрокам: в процессе игры они обучают нейросетевой алгоритм. Ведь в основе нейросетей как раз и лежит обучение на примерах», - говорит Влад Шершульский из Microsoft.

«В первую очередь это делается для того, чтобы показать возможности технологии. Другой причины, на самом деле, нет. Если речь идёт о Prisma, то понятно, для чего это делали они. Ребята построили некоторый пайплайн, который позволяет им работать с картинками. Для демонстрации этого они избрали для себя довольно простой способ создания стилизаций. Почему бы и нет? Это просто демонстрация работы алгоритмов», - говорит Григорий Бакунов из «Яндекса».

Другого мнения придерживается Андрей Калинин из Mail.Ru Group: «Конечно, это эффектно с точки зрения публики. С другой стороны, я бы не сказал, что развлекательные продукты не могут быть применены в более полезных областях. Например, задача по стилизации образов крайне актуальна для целого ряда индустрий (дизайн, компьютерные игры, мультипликация - вот лишь несколько примеров), и полноценное использование нейросетей может существенно оптимизировать стоимость и методы создания контента для них».

Основные игроки на рынке нейронных сетей

Как отмечает Андрей Калинин, по большому счёту, большинство присутствующих на рынке нейронных сетей мало чем отличаются друг от друга. «Технологии у всех примерно одинаковые. Но применение нейросетей - это удовольствие, которое могут позволить себе далеко не все. Чтобы самостоятельно обучить нейронную сеть и поставить на ней много экспериментов, нужны большие обучающие множества и парк машин с дорогими видеокартами. Очевидно, что такие возможности есть у крупных компаний», - говорит он.

Среди основных игроков рынка Калинин упоминает Google и её подразделение Google DeepMind, создавшее сеть AlphaGo, и Google Brain. Собственные разработки в этой области есть у Microsoft - ими занимается лаборатория Microsoft Research. Созданием нейронных сетей занимаются в IBM, Facebook (подразделение Facebook AI Research), Baidu (Baidu Institute of Deep Learning) и другие. Множество разработок ведётся в технических университетах по всему миру.

Директор по распространению технологий «Яндекса» Григорий Бакунов отмечает, что интересные разработки в области нейронных сетей встречаются и среди стартапов. «Я бы вспомнил, например, компанию ClarifAI . Это небольшой стартап, сделанный когда-то выходцами из Google. Сейчас они, пожалуй, лучше всех в мире умеют определять содержимое картинки». К таким стартапам относятся и MSQRD, и Prisma, и другие.

В России разработками в области нейронных сетей занимаются не только стартапы, но и крупные технологические компании - например, холдинг Mail.Ru Group применяет нейросети для обработки и классификации текстов в «Поиске», анализа изображений. Компания также ведёт экспериментальные разработки, связанные с ботами и диалоговыми системами.

Созданием собственных нейросетей занимается и «Яндекс»: «В основном такие сети уже используются в работе с изображениями, со звуком, но мы исследуем их возможности и в других областях. Сейчас мы много экспериментов ставим в использовании нейросетей в работе с текстом». Разработки ведутся в университетах: в «Сколтехе», МФТИ, МГУ, ВШЭ и других.