Что может и чего не может нейросеть: пятиминутный гид для новичков. А что происходит не в России? За что мы любим нейросети

  • 21.04.2019

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исследователи и компании, которые работают с большими объемами данных, применяют нейросети еще с восьмидесятых годов, а вот рядовые земляне обращают внимание на прогресс в этой области только после показательных побед машин над людьми. 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. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

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

В первой половине 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 применяет нейросети для обработки и классификации текстов в «Поиске», анализа изображений. Компания также ведёт экспериментальные разработки, связанные с ботами и диалоговыми системами.

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

  • Машинное обучение ,
  • Разработка под e-commerce
  • С момента описания первого искусственного нейрона Уорреном Мак-Каллоком и Уолтером Питтсом прошло более пятидесяти лет. С тех пор многое изменилось, и сегодня нейросетевые алгоритмы применяются повсеместно. И хотя нейронные сети способны на многое, исследователи при работе с ними сталкиваются с рядом трудностей: от переобучения до проблемы «черного ящика».

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

    За что мы любим нейросети

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

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

    Обучение нейросетей 101

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

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

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

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

    Самой известной из таких баз является ImageNet . При такой постановке задачи обучение мало чем отличается от, например, распознавания эмоций, которым занимается Neurodata Lab . Сети демонстрируются примеры, она делает предположение, и, в зависимости от его правильности, корректируются веса. Процесс повторяется до тех пор, пока точность не увеличивается до искомых величин.

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

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

    Переобучение: в чем проблема и как ее решить

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

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

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

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


    Эффект от удаления аномального значения из тренировочного свода данных ()

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

    Одна сеть – одна задача или «проблема катастрофической забывчивости»

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

    Здесь исследователям или приходится тестировать разнообразные архитектуры сетей и выбирать из них лучшую, или использовать динамические нейронные сети. Последние «следят» за изменениями среды и подстраивают свою архитектуру в соответствии с ними. Одним из используемых в этом случае алгоритмов является метод MSO (multi-swarm optimization).

    Более того, нейросети обладают определенной особенностью, которую называют катастрофической забывчивостью (catastrophic forgetting). Она сводится к тому, что нейросеть нельзя последовательно обучить нескольким задачам - на каждой новой обучающей выборке все веса нейронов будут переписаны, и прошлый опыт будет «забыт».

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

    Новый подход получил название Elastic Weight Consolidation (упругое закрепление весов ) из-за аналогии с упругой пружинкой. Технически он реализуется следующим образом: каждому весу в нейронной сети присваивается параметр F, который определяет его значимость только в рамках определенной задачи. Чем больше F для конкретного нейрона, тем сложнее будет изменить его вес при обучении новой задаче. Это позволяет сети «запоминать» ключевые навыки. Технология уступила «узкоспециализированным» сетям в отдельных задачах, но показала себя с лучшей стороны по сумме всех этапов.

    Армированный черный ящик

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

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

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

    Нейронные сети - это лишь инструмент

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

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

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

    При этом ученые до сих пор не до конца определились , в каком направлении следует развивать нейросети. Индустрия старается как максимально приблизить нейросети к модели человеческого мозга, так и генерировать технологии и концептуальные схемы, абстрагируясь ото всех «аспектов человеческой природы». На сегодняшний день - это что-то вроде «открытого произведения» (если воспользоваться термином Умберто Эко), где практически любые опыты допустимы, а фантазии – приемлемы.

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

    Теги:

    • neurodata lab
    • нейронные сети
    • нейросети
    Добавить метки

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

    Настоящее и будущее

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

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

    Общее представление

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

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

    Как это строится?

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

    Несмотря на указанное сходство, аналогичный подход к еще несколько лет тому назад подвергался остракизму. Это видно и из научных работ, и из фантастических книг про нейросеть («Попаданцы в космос», упомянутые выше, к примеру). Между прочим, в некоторой степени даже высказывания Цицерона можно связать с современной идеей нейросетей: он в свое время довольно едко предложил обезьянкам кидать в воздух написанные на жетонах буквы, дабы рано или поздно из них сложился осмысленный текст. И только 21 столетие показало, что подобное ехидство было совершенно неоправданным. Нейросеть и фантастика разошлись разными путями: если армии обезьянок дать множество жетонов, они не только создадут богатый смыслом текст, но и власть над миром получат.

    Сила - в единстве, брат

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

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

    Пальцем в небо

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

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

    Применение идеи в реальности

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

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

    Исторические вехи

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

    Первые нейроны первой нейросети состояли из резисторов, радиоламп (в тот период еще не было разработано такого кода, которым могут пользоваться современные ученые). Работа с нейросетью была задачей Френка Розенблатта, создавшего двухслойную сеть. Для передачи внешних данных в сеть использовался экран разрешением 400 точек. Машина вскоре смогла опознавать геометрические фигуры. Уже это позволило предположить, что, при совершенствовании технических решений, нейросети могут научиться читать буквы. И кто знает, чему еще?

    Первая нейросеть

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

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

    Скептицизм оправдался

    Уже в шестидесятых находились такие ученые, которые спорили и с Розенблаттом, и с другими великими умами, работавшими над искусственным интеллектом. Довольно точное представление об их логике измышлений можно получить из публикаций Марвина Минского, известного в своей области. К слову сказать, известно, что о способностях Минского высоко отзывались Стенли Кубрик (Минский помогал ему в работе над «Космической одиссеей»). Минский не был против создания нейронных сетей, о чем свидетельствует и фильм Кубрика, да и в рамках своей научной карьеры он занимался обучением машин еще в пятидесятых. Тем не менее Минский категорично относился к ошибочным мнениям, критиковал надежды, для которых в тот момент еще не было прочного основания. К слову сказать, Марвин из книг назван именно в честь Минского.

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

    Дело встало

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

    Нейросети не привлекали внимание научного сообщества больше десятилетия. Перелом произошел, когда в моду вошел киберпанк. Удалось обнаружить формулы, по которым можно с высокой точностью считать ошибки. В 1986 году проблема, сформулированная Минским, нашла уже третье решение (все три были разработаны независимыми друг от друга группами ученых), и именно его обнаружение подтолкнуло энтузиастов на освоение нового поля: работа над нейросетями снова активизировалась. Впрочем, термин перцептроны незаметно подменили на когнитивные вычисления, избавились от экспериментальных приборов, стали пользоваться кодированием, применяя самые эффективные методики программирования. Всего несколько лет, и нейроны уже собраны в сложные структуры, способные справляться с довольно серьезными задачами. Со временем удалось, к примеру, создать программы для чтения человеческого почерка. Появились первые сети, способные к самообучению, то есть самостоятельно находившие правильные ответы, без подсказки от управляющего компьютером человека. Нейросети нашли себе применение на практике. Например, именно на них построены опознающие на чеках числа программы, применяемые в банковских структурах в Америке.

    Вперед семимильными шагами

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

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

    Наше время

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

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