Искусственный интеллект в сети. Нейронные сети, искусственный интеллект, машинное обучение: что это на самом деле? Искусственные нейронные сети

Еще одна область исследований в области искусственного интеллекта — это нейронные сети. Они были разработаны по подобию естественных нейронных сетей нервной системы человека.

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

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

Базовая структура искусственных нейронных сетей (ИНС)

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

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


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

Каждое звено связано с весом. ИНС способны к обучению, которое осуществляется путем изменения значения веса. На следующем рисунке показана простая ИНС:

Типы искусственных нейронных сетей

Есть два типа искусственных нейронных сетевых топологий — с прямой связью и обратной связью.

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


Здесь, допускаются петли обратной связи.

Как работают искусственные нейронные сети

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

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

Машинное обучение в искусственных нейронных сетях

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

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

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

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

Алгоритм обратного распространения

Байесовские сети (БС)

Эти графические структуры для представления вероятностных отношений между набором случайных переменных.

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

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

Есть только ограничение на дугах в БН, вы не можете вернуться обратно к узле просто следуя по направлению дуги. Отсюда БНС называют ациклическим графом.

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

Где используются нейронные сети

    Они способны выполнять задачи, которые просты для человека, но затруднительны для машин:

    Аэрокосмические — автопилот самолета;

    Автомобильные — автомобильные системы наведения;

    Военные — сопровождение цели, автопилот, распознавание сигнала/изображения;

    Электроника — прогнозирование, анализ неисправностей, машинное зрение, синтез голоса;

    Финансовые — оценка недвижимости, кредитные консультанты, ипотека, портфель торговой компании и др.

    Обработка сигнала — нейронные сети могут быть обучены для обработки звукового сигнала.


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


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

Немного истории

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

Следующим важным шагом стала разработка Дональдом Хеббом первого алгоритма вычисления ИНС в 1949 году, который стал основополагающем на несколько последующих десятилетий. В 1958 году Фрэнком Розенблаттом был разработан парцептрон - система, имитирующая процессы головного мозга. В свое время технология не имела аналогов и до сих пор является основополагающей в нейронных сетях. В 1986 году практически одновременно, независимо друг от друга американскими и советскими учеными был существенно доработан основополагающий метод обучения многослойного перцептрона . В 2007 году нейронные сети перенесли второе рождение. Британский информатик Джеффри Хинтоном впервые разработал алгоритм глубокого обучения многослойных нейронных сетей, который сейчас, например, используется для работы беспилотных автомобилей.

Коротко о главном

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

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

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

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

Сегодняшнее положение

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

На сегодняшний день рынок нейронных сетей огромен - это миллиарды и миллиарды долларов. Как показывает практика, большинство технологий нейросетей по всему миру мало отличаются друг от друга. Однако применение нейросетей - это очень затратное занятие, которое в большинстве случаев могут позволить себе только крупные компании. Для разработки, обучения и тестирования нейронных сетей требуются большие вычислительные мощности, очевидно, что этого в достатке имеется у крупных игроков на рынке ИТ. Среди основных компаний, ведущих разработки в этой области можно отметить подразделение Google DeepMind, подразделение Microsoft Research, компании IBM, Facebook и Baidu.

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

Почему нейросети еще далеки до человеческого мозга?

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

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

Итог

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

Для тех, кто хочет знать больше

  • Большая нейронная война: что на самом деле затевает Google
  • Как когнитивные компьютеры могут изменить наше будущее

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

Что такое нейронные сети?

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

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

По словам старшего научного сотрудника университета Иннополис Станислава Протасова, наиболее близким аналогом человеческого мозга являются сверточные нейронные сети, придуманные математиком Яном Лекуном. «Они лежат в основе многих приложений, претендующих на звание искусственного интеллекта, - например, в FindFace или Prisma», - отмечает он.

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

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

Александр Крайнов

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

В каком состоянии сейчас находится отрасль?

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

Сергей Негодяев

управляющий портфелем Фонда развития интернет-инициатив

Хотя ученые занимаются формализацией и разработкой нейросетей уже 70 лет, можно выделить два переломных момента в развитии этой технологии. Первый - 2007 год, когда в Университете Торонто создали алгоритмы глубокого обучения многослойных нейронных сетей. Второй момент, спровоцировавший сегодняшний бум, - это 2012 год, когда исследователи из того же университета применили глубинные нейросети и выиграли конкурс ImageNet, научившись распознавать объекты на фото и видео с минимумом ошибок.

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

Андрей Калинин

руководитель «Поиска Mail.Ru»

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

Александр Крайнов

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

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

Перспективные сферы для внедрения нейросетей

Транспорт

Робототехника

Биотехнологии

Сельское хозяйство

Интернет вещей

Медиа и развлечения

Лингвистика

Безопасность

Влад Шершульский

директор программ технологического сотрудничества Microsoft в России

Сегодня уже случилась нейронная революция. Иногда даже трудно отличить фантастику от реальности. Представьте себе автоматизированный комбайн со множеством камер. Он делает по 5 тысяч снимков в минуту и через нейросеть анализирует, сорняк перед ним или зараженное вредителями растение, после чего решает, как поступить дальше. Фантастика? Уже не совсем.

Борис Вольфсон

директор по развитию HeadHunter

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

Чему учат нейронные сети в России?

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

Наука и медицина

Школа анализа данных «Яндекса» участвует в эксперименте CRAYFIS совместно с представителями «Сколково», МФТИ, ВШЭ и американских университетов UCI и NYU. Его суть состоит в поиске космических частиц сверхвысокой энергии с помощью смартфонов. Данные с камер передаются ускоренным нейросетям , способным зафиксировать следы слабо взаимодействующих частиц на снимках.

Это не единственный международный эксперимент, в котором задействованы российские специалисты. Ученые университета Иннополис Мануэль Маццара и Леонард Йохард участвуют в проекте BioDynaMo . Заручившись поддержкой Intel и ЦЕРН, они хотят создать опытный образец, способный воспроизвести полномасштабную симуляцию мозговой коры. С его помощью планируется повысить эффективность и экономичность экспериментов, в которых требуется наличие живого человеческого мозга.

Профессор Иннополиса Ярослав Холодов участвовал в разработке компьютерной модели, способной в десятки раз быстрее предсказать образование белковых связей. С помощью этого алгоритма можно ускорить разработку вакцин и лекарств. В этой же сфере отметились разработчики из Mail.Ru Group, Insilico Medicine и МФТИ. Они использовали генеративные состязательные сети , обученные придумывать молекулярные структуры, для поиска веществ, которые могут оказаться полезными при различных болезнях - от онкологии до сердечно-сосудистых заболеваний.

Красота и здоровье

В 2015 году российская компания Youth Laboratories запустила первый международный конкурс красоты Beauty.AI . Фотографии участников в нем оценивались нейросетями. При определении победителей они учитывали пол, возраст, национальность, цвет кожи, симметричность лица и наличие или отсутствие у пользователей морщин. Последний фактор также подтолкнул организаторов к созданию сервиса RYNKL , позволяющего отследить, как старение влияет на кожу и как с ним борются различные препараты.

Также нейросети применяются в телемедицине. Российская компания «Мобильные медицинские технологии », управляющая проектами «Онлайн Доктор » и «Педиатр 24/7 », тестирует бота-диагноста, который будет полезен как пациентам, так и врачам. Первым он подскажет, к какому специалисту обратиться при тех или иных симптомах, а вторым поможет определить, чем именно болен пришедший.

Оптимизация бизнес-процессов и рекламы

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

Команда GuaranaCam задействовала технологии машинного обучения для оценки эффективности размещения товаров и рекламных материалов в офлайне. Система работает на базе облака Microsoft Azure и анализирует покупательское поведение по камерам видеонаблюдения. Владельцы бизнеса получают отчет о состоянии торговли в режиме реального времени. Проект уже применяется в торговом центре «Мега Белая Дача».

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

Холдинг «Белфингрупп » пошел еще дальше. Его «дочка» BFG-soft создала облачную платформу BFG-IS, позволяющую управлять предприятием с помощью его виртуальной модели. Последняя строится автоматически на основании собранных системой данных о производстве и не только показывает, как лучше организовать процессы с учетом заданных целей, но и прогнозирует последствия любых изменений - от замены оборудования до введения дополнительных смен. В конце 2016 года Фонд развития интернет-инициатив решил вложить в компанию 125 миллионов рублей.

Рекрутинг и управление персоналом

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

Транспорт

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

Кроме того, нейронные сети могут использоваться в сфере транспорта и другим образом. Летом 2016 года «Яндекс» добавил в принадлежащую ему доску объявлений «Авто.ру » функцию автоматического определения модели машины по ее фото. На тот момент система знала 100 марок.

Психология и безопасность

Российский стартап NTechLab , обошедший Google в международном конкурсе алгоритмов распознавания лиц The MegaFace Benchmark , использовал технологии машинного обучения в приложении FindFace . Оно позволяет найти человека в социальных сетях по фотографии. Зачастую пользователи обращаются к сервису для выявления фейков, но он может быть полезен и правоохранителям. С его помощью уже установили личность нескольких преступников, в том числе захватчика Ситибанка в Москве. Бизнес-версия FindFace.Pro предоставляется компаниям, заинтересованным в идентификации клиентов. Сейчас систему доучивают определять пол, возраст и эмоции окружающих, что может быть полезно не только при общении с клиентами, но и при управлении персоналом.

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

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

Медиа и творчество

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

Кроме того, «Яндекс» экспериментирует и с творчеством. Сотрудники компании уже успели применить нейросетевой подход к поэзии , а затем и

Термины «искусственный интеллект» и «машинное обучение» в последнее время обрели невероятную популярность. И это не только благодаря достижениям в науке и технике, а потому, что интеллектуальные системы стали ближе к людям, и во многом это заслуга смартфонов. Уже сегодня смартфоны подсказывают нам дорогу по оптимальному маршруту с учетом пробок, советуют фильм на основе наших предпочтений, умеют стилизовать наши фотографии под произведения Ван Гога и многое другое. Производители смартфонов даже начали устанавливать специальные «нейронные cопроцессоры», которые призваны ускорить эти операции. Таким процессором, например, обладает новый Honor View 10 от Huawei. Но как мы пришли к этому? Давайте разбираться.

Так что же такое искусственный интеллект?

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

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

Одним из логичных подходов в решении этой задачи является попытка скопировать мыслительную деятельность человека. Например, мы привыкли, что видеть и распознавать предметы — это легко. Наш мозг справляется с этим без особых усилий, потому что однажды этому научился. В 1966 году группа ученых и студентов Массачусетского технологического института решила летом не ехать на каникулы, а остаться в кампусе и математически решить задачу распознавания объекта на картинке. Т. е. решить одну из задач компьютерного зрения — научить машину по картинке определять, что на ней изображено. Студенты назвали свою работу The summer vision project, подразумевая, что это настолько простая задача, что ее можно решить всего за одно лето. Сейчас, спустя более чем 50 лет, мы знаем, что это сложная задача, в решении которой ученые-исследователи и технические гиганты все еще соревнуются. Лишь в 2015 году машины стали распознавать изображения так же хорошо, как люди (и даже немного лучше). А тогда, в 1966 году специалисты из MIT не достигли поставленной цели, но получили результаты, полезные для дальнейших исследований.

Если самые яркие фантастические книги об ИИ были написаны в 50-х, а компьютер вошел в повседневность еще в 90-х, то почему прорыв применительно к системам искусственного интеллекта мы наблюдаем только сейчас, в последние 5-10 лет?

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

Но вот вопрос: если люди занимаются этими задачами с 40-х годов прошлого века, самые яркие фантастические книги об ИИ были написаны в 50-х, а компьютер вошел в повседневность еще в 90-х, то почему прорыв применительно к системам искусственного интеллекта мы наблюдаем только сейчас, в последние 5-10 лет? Для ответа на этот вопрос нужно посмотреть на историю.

Перцептрон и две зимы искусственного интеллекта

Первой попыткой смоделировать деятельность мозгового нейрона был предложенный в 1943 году искусственный нейрон Маккалока — Питтса — математическая модель естественного, т. е. человеческого нейрона. Так же как в реальном нейроне, в искусственный нейрон поступает сигнал (число 0 или 1), и после простых вычислений нейрон так же выпускает сигнал (0 или 1). Сеть из таких нейронов могла решать простейшие логические задачи — так было положено начало методу нейронных сетей. Правда, для сети нейронов Маккалока — Питтса еще не было придумано методов ее обучения, и поэтому все внутренние вычисления в каждом нейроне вручную настраивались человеком.

Первая модель нейрона, которая имела свой метод обучения на множестве входных данных и желаемых результатах, был так называемый перцептрон, описанный Фрэнком Розенблаттом в 1958 году.

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

Метод, придуманный Хинтоном и Румельхартом, заключается в том, чтобы сравнить полученный ответ с желаемым, понять, насколько мы ошиблись, а затем последовательно, в обратном порядке пройти по слоям и переобучить нейроны

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

Конец первой зиме искусственного интеллекта пришел, когда группа канадских ученых (среди которых были Дэвид Румельхарт и, как сейчас говорят, дедушка нейронных сетей Джеффри Хинтон) в 1986 году придумала универсальный метод обучения нейронных сетей для любых, даже самых сложных функций активации нейронов. Если представить нейронную сеть как последовательность слоев из нейронов, то поступающий сигнал (например, картинка или звуковой файл с речью человека, если мы говорим о распознавании) проходит сквозь слои нейронов один за другим, и на последнем слое мы получаем ответ (текстовое описание того, что изображено на картинке, или текст, который был сказан человеком). Метод, придуманный Хинтоном и Румельхартом, заключается в том, чтобы сравнить полученный ответ с желаемым, понять, насколько мы ошиблись, а затем последовательно, в обратном порядке пройти по слоям и переобучить нейроны, чтобы они лучше работали на выбранном примере картинки/звука. Метод так и называли — метод обратного распространения ошибки, и он до сих пор является самым простым и надежным методом обучения нейронных сетей и используется повсеместно.

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

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

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

В то время нейросети были вытеснены методом опорных векторов, предложенным еще в 1963 году советскими учеными Алексеем Червоненкисом и Владимиром Вапником. Суть метода легко понять, представив себе, что две сестры празднуют день рождения в один день и им дарят один торт на двоих. С одной стороны торта синие свечки для старшей, а с другой стороны красные для младшей. Задача — разрезать торт на две части так, чтобы каждой сестре достался кусок только с ее свечками и чтобы расстояние от линии разреза до красных и синих свечек было максимальным. Метод опорных векторов позволяет решить такую задачу математически, зная только координаты свечек. В контексте задач искусственного интеллекта обучением является выбор линии разреза, а узнав один раз эту линию, далее можно предсказывать, какого цвета окажется новая свечка на торте, зная ее координаты. В 1990 году Вапник эмигрировал в США, и в 1995 году он дорабатывает этот метод для обучения более сложным (нелинейным) зависимостям. Полученный метод на рубеже 2000-х использовался повсеместно, например, для распознавания рукописного текста, классификации изображений и многих других задач искусственного интеллекта. Кстати, Владимир Вапник сейчас преподает в Колумбийском университете и работает в Facebook.

Возвращение нейронных сетей

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

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

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

В 2012 году Хинтон и его студенты придумали метод, который напоминает работу мозга во время похмелья

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

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

Использование графических карт для обучения и использования нейросетей вызвало настоящий прорыв в решении задач искусственного интеллекта

Оказалось, что для обучения нейронных сетей идеально подходят компьютерные видеокарты. Графические карты (GPU — graphics processing unit) совершили скачок в развитии за счет интереса к видеоиграм. В видеоиграх на экране мы видим трехмерный виртуальный мир, в котором живут персонажи игры и их окружение.

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

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

Роботы вокруг нас

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

А вот на производствах часто используется связка «человек — машина», когда система с искусственным интеллектом сначала обучается тому, как человек, например, закручивает гайки (с какой амплитудой или усилием), и только после этого повторяет его действия.

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

И конечно, одна из самых интересных задач — непосредственное взаимодействие ИИ с человеком в повседневной его жизни, день за днем и час за часом — взаимодействие при помощи гаджетов.

Нейросети в вашем смартфоне

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

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

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

Именно поэтому производители смартфонов в настоящее время разрабатывают и внедряют специальный вид процессоров — NPU (neural processing unit), которые также называют ускорителями искусственного интеллекта (AI accelerator). Они призваны увеличить производительность выполнения параллельных вычислений аналогично GPU и потреблять меньше энергии. Эти процессоры наряду с GPU и обычными CPU устанавливаются на одном и том же чипе внутри смартфона.

К примеру, одним из первых чипов с внедренным ускорителем искусственного интеллекта является процессор Kirin 970 производства компании Huawei, который был представлен в сентябре 2017 года. Сейчас такой процессор установлен в новом смартфоне Honor View 10, поступившем в продажу в России в феврале 2018 года. Производитель заявляет, что уже сейчас этот чип выполняет ряд функций, что называется, «на борту»:

  1. Распознавание сцены при съемке фотографии, которая адаптирует параметры камеры к объекту на переднем плане.
  2. Анализ действий пользователя и адаптация к тому, как он использует смартфон, с целью минимизации энергозатрат.
  3. Машинный перевод, выполняемый предустановленной программой от Microsoft, использует neural processing unit для своей нейросети.
  4. Специальная нейронная сеть для подавления шума в записываемых звуковых сигналах.

Итого, что мы имеем? Смартфон наконец начинает оправдывать слово «смарт» в своем названии, получив процессор, ускоряющий решение задач искусственного интеллекта. Уже сейчас он напичкан множеством алгоритмов, которые решают сложные технические задачи иногда даже лучше, чем если бы их решал человек. При этом одной из таких задач является анализ действий владельца. Кажется, что еще чуть-чуть — и ваш смартфон будет знать о вас больше, чем родная мать. Будущее уже тут. И если вы думаете, что восстание машин начнется, когда skyNet объявит охоту на Джона Коннора, то вы ошибаетесь. Оно уже началось. И оно, быть может, уже сейчас в вашем кармане под видом привычного гаджета.

Японский алгоритм написал книгу “День, когда Компьютер написал роман”. Несмотря на то что с характерами героев и сюжетными линиями неопытному писателю помогали люди, компьютер проделал огромную работу – в итоге одна из его работ прошла отборочный этап престижной литературной премии. Нейросети также написали продолжения к Гарри Поттеру и Игре Престолов .

В 2015 году нейросеть AlphaGo, разработанная командой Google DeepMind, стала первой программой, победившей профессионального игрока в го . А в мае этого года программа обыграла сильнейшего игрока в го в мире , Кэ Цзэ. Это стало прорывом, поскольку долгое время считалось, что компьютеры не обладают интуицией, необходимой для игры в го.

Безопасность

Команда разработчиков из Технологического университета Сиднея представила дронов для патрулирования пляжей. Основной задачей дронов станет поиск акул в прибрежных водах и предупреждение людей на пляжах . Анализ видеоданных производят нейросети, что существенно отразилось на результатах: разработчики утверждают о вероятности обнаружения и идентификации акул до 90%, тогда как оператор, просматривающий видео с беспилотников, успешно распознает акул лишь в 20-30% случаев.

Австралия занимает второе место в мире после США по количеству случаев нападения акул на людей. В 2016 году в этой стране были зафиксированы 26 случаев нападения акул, два из которых закончились смертью людей.

В 2014 году Лаборатория Касперского сообщала, что их антивирус регистрирует 325 тыс. новых зараженных файлов ежедневно. В то же время, исследование компании Deep Instinct показало, что новые версии вирусов практически не отличаются от предыдущих – изменение составляет от 2% до 10%. Самообучающаяся модель, разработанная Deep Instinct, на основании этой информации способна с высокой точностью определять зараженные файлы .

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

Бонус: нейросети на страже нашего газона

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

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


Изображение с камеры во дворе Бонда

До начала работы нейросеть прошла обучение: Бонд “скормил” ей 300 разных фотографий кошек. Анализируя эти фотографии, нейросеть училась распознавать животных. Но этого оказалось недостаточно: она корректно определяла кошек лишь в 30% случаев и приняла за кошку тень Бонда, в результате чего он сам оказался мокрым.

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

Через некоторое время кошки, обучившиеся не на фотографиях, но на собственной шкуре, перестали посещать участок Бонда.

Заключение

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

Однако не везде, куда приходит машинное обучение, оно вытесняет людей. Если нейросеть ставит диагнозы лучше живого врача, это не значит, что в будущем нас будут лечить исключительно роботы. Вероятнее, врач будет работать вместе с нейросетью. Аналогично, суперкомпьютер IBM Deep Blue выиграл в шахматы у Гарри Каспарова еще в 1997 году, однако люди из шахмат никуда не делись, а именитые гроссмейстеры до сих пор попадают на обложки глянцевых журналов.

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