Чем искусственный интеллект и отличается от нейронных сетей? Нейронные сети, искусственный интеллект, машинное обучение: что это на самом деле? Самообучающийся искусственный интеллект на основе нейронных сетей.

Они были разработаны по подобию естественных нейронных сетей нервной системы человека.

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ключ к успеху развития искусственного интеллекта– нейробиология. Как именно ученые пытаются воспроизвести работу человеческого мозга и в чем особенность работы нейронных сетей - в материале «Футуриста».

Нейробиология и искусственный интеллект

«Будущее искусственного интеллекта - в нейробиологии», - так утверждает основатель Google DeepMind, доктор нейробиологии Демис Хассабис (Demis Hassabis) в статье, опубликованной в журнале Neuron. Хасабис запустил свою лондонскую компанию DeepMind для создания технического аналога человеческого интеллекта , а в 2014 году Google купил его компанию за более чем $500 млн. В прошлом году AlphaGo, разработанная DeepMind программа, обыграла чемпионов мира в логическую игру го. В сотрудничестве с OpenAI, некоммерческим исследовательским институтом ИИ, поддерживаемым Илоном Маском , компания также работает над созданием машин с более развитыми интеллектуальными возможностями.

Все алгоритмы искусственного интеллекта компании DeepMind основаны на концепциях, впервые обнаруженных в нашем собственном мозге. Глубинное обучение и обучение с подкреплением - два столпа современного ИИ - являются результатом свободного переложения модели работы биологических нейронных связей человеческого мозга на язык формальной математики. Глубинное обучение на самом деле является лишь новым названием подхода к искусственному интеллекту, существующему уже более 70 лет и известному как нейронные сети. Нейронные сети были впервые предложены еще в 1944 году Уорреном Маккалоу (Warren McCullough) и Уолтером Питсом (Walter Pitts), двумя исследователями из Чикагского университета, которые в 1952 году основали, как его иногда называют, первый отдел когнитивной науки.

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

Схема устройства нейросети

Особенность работы нейронных сетей

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

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


Пример обучения сети

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

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

Будущее уже здесь

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

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


Модель нейрона, обработанная в приложении Prisma

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

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

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

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

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

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

Проблема обучения ИИ

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

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

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

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

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

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

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

Но лучшее еще впереди

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нейронные сети и ИИ: самое сложное – понять, чего мы хотим

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


Недавно на сайте Geektimes вышла статья “Искусственные нейронные сети простыми словами” . Мы побеседовали с ее автором о развитии искусственного интеллекта и нейронных сетей. Юрий работает сейчас в небольшой фирме “Реинжиниринг-студия Петра Кондаурова”, изучает чат-ботов.

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

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

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

Алгоритмы там были достаточно интересные. Одними из алгоритмов были нейронные сети. Такие простенькие персептроны, все четко. Нам говорили: “Ребята, нейронные сети – это классно, это романтично, это интересно. Скорее всего, за этим будущее, но это будущее достаточно далекое”. Это был 2010 год. Они проигрывали по всем фронтам другим алгоритмам анализа, которые более статистические. В основном за счет того, что они были неконтролируемы, у них куча ошибок, куча проблем по обучению.

Если переводить на человеческий язык, она может, например, попасть в зону комфорта или в локальный минимум, на математическом языке, и оттуда не выберется. Она говорит: “Мне так нравится. Я лучше не могу. Все. Пошли вон!”, хоть тряси, бей, мордуй ее. Из-за этого был достаточно большой пессимизм в отношении нейронных сетей. Пришли. Здорово. Вроде бы работает. Прикольненько. Наверно, за этим будущее. Мы пока не понимаем, что с этим делать.

Это уже была вторая итерация пессимизма. Первая была примерно в 80-х годах, когда их только открыли. По-моему, было правило обучения Хэбба. Они сделали примерно так, как обучается мозг, но только в очень примитивной модели нейронных сетей. Оно кое-как обучалось. Все: “Вау! Классно”. Но у этого правила (хебба) быстро вскрылось множество проблем, и в быту, как оказалось оно было не очень-то и применимым. Было много скепсиса, пессимизма, и на эти нейронные сети “забили” лет на 20, пока не придумали метод обучения, называемый “обратное распространения ошибки”.

Но в 1998-2003 году появилась интересная разработка. Называлась она “сверточная сеть”. Она долго лежала. Идея была простая – устроено, примерно, как в зрительной коре у человека. Идея простая. Мы берем огромное изображение, делим на маленькие квадратики и над каждым квадратиком проводим одну и ту же операцию. Мы не делаем нейрон, который связан, например, со всеми пикселями изображения. Он работает по маленьким квадратикам, причём на каждом из них одинаково. В итоге вычислительная нагрузка на нейронные сети упростилась. Обучать это дело стало проще. Точность повысилась. Самое главное – это все стало более-менее контролируемо.

И тут начались первые интересные заморочки у Гуглов и Яндексов. Причем стороны стали активно работать над этим примерно в 2013 году. Первое – распознавание котиков на YouTube.

Это сверточные нейронные сети. Они не такие страшные. Они работают даже понятнее, чем то, что я описал в статье. Нужно только немного разобраться. Например, относительно квадратика 10х10 пикселей один нейрон может сказать: “Здесь есть диагональ слева направо”. А второй нейрон будет говорить: “Здесь есть элемент диагонали справа налево”. Соответственно, диагоналями, горизонтальными, вертикальными линиями мы уже превращаем изображение из пиксельного почти в векторное. Ничего себе! Взяли и превратили, уже не в пикселях говорим, а в диагоналях. Классно! Естественно, она работала круче. Это, с одной стороны.

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

На практике это означает, что мы что-то рандомно меняем, проверяем. Как в жизни. Что-то поменяли, что-то попробовали. О! Лучше. Давайте двигаться в этом направлении. Не получилось. Давайте другое. У этих двух есть хорошие черты, давайте их объединим. Как-то так – начали учить более стохастически, случайным образом. Начали получать очень даже неплохие результаты. Более того, эти результаты не так, как прежде, зависели от сложности архитектуры сетей.

Потом набежало множество очень умных людей, и появился термин “Deep Learning”. Это не только генетический алгоритм. Это целый Клондайк алгоритмов. Где-то они используют математику. Где-то они используют генетические алгоритм. Где-то они могут использоваться еще какой-то алгоритм. Все стало креативненько. Такие сети начали работать с распознаванием статических изображений. Вы, наверно, знаете эту историю. Взяли породы животных – изображения 122-х пород собак. С течением времени, к 2015 году, сеть стала определять породу животных (собак) по фотографии лучше собаководов.

Как это работало?

История была в том, что все выражали скепсис, говорили: “Обработка изображений – это только на людях”. Есть один сайт с обучающими выборками. Там было 122 породы собак – много фотографий на каждую породу. Показали это все в сеточке. Было соревнование. Лаборатории, которые делали алгоритмы (не нейронные сети, а алгоритмы распознавания изображений), давали 80% безошибочного распознавания. Это очень хороший показатель для любого распознавания. 80-86% – это хороший показатель распознавания.

Ребята, которые занимались только нейронными сетями, сначала (по-моему, в 2013 году) показали примерно 80%. В 2014 году они получили 87%, обогнали те лаборатории. А вот к 2015 году они показали 95%. Притом, что люди-собаководы распознают только 92%. Ты ей показал фрагмент изображения собаки, а она просто по положению шерсти (даже непонятно как, какие признаки она для себя выделила) уже знает, какая это порода. Более того, она говорит вероятность идентификации этих пород. Работает обычная сеть значительно стабильнее человека. Прежде всего, сразу немного испугались люди: “Ё-мое! Это означает, что можно заменять операторов на электроэнергетических подстанциях и во многих других местах”. Это первая технология, которая “взорвалась”. Она называется “сверточные сети”.

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

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

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

Я так долго подводил, чтобы вы не боялись этих слов, понимали, что это такое. Когда их начали соединять, люди были поражены. LSTM-сети принадлежат к классу сетей, называемых “рекуррентные”. LSTM – это одна из технологий. Самое интересное, что может делать эта рекуррентная сеть – ей можно на вход подавать слова. У нее каждое слово – это какое-то число. Она его каким-то образом векторизировала. Каждое слово – это число. Ей можно на ход подавать последовательность слов.

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

Сейчас это все еще не коробочные решения. Это решения для Microsoft, Google, Яндекса. У меня лично такого нет. Но ребята из Амстердама поприкалывались по-черному. Что они сделали? Они вышли на улицу и сняли на видео происходящее на улочках. Люди ездят, какие-то улочки, народ бухает, кто-то куда-то бежит, женщина спешит в магазин – обычный день, ничего интересного. Взяли это видео, принесли домой. Дальше они соединили сверточные и рекуррентные сети. Сверточные анализируют изображения. Рекуррентные дают описания. В итоге у них получилась программка, которая в текстовом виде, причем в достаточно красивом, начинает описывать: “Женщина едет туда-то. Велосипедист едет туда-то”.

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

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

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

Сейчас больше нет игр. Gооgle сейчас развлекается тем, что хочет пустить в нейронную сеть StarCraft. Мой брат, являясь профессиональным геймером в StarCraft, говорит: “Катастрофа!”, потому что известно, что с неограниченным микроконтролем 20 зерлингами(читай – пешками) можно снести 10 танков. Люди, даже корейцы, будут уже не конкурентоспособны.

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

Последнее, самое жесткое, что есть. Мы, люди, любим себя. Но люди, во-первых, не могут так успешно менять себя под окружающую ситуацию, а во-вторых, у нас всегда очень мало информации. Например, когда недавно мы учили одну сетку для того чтобы просто искать синонимы и близкие по смыслу слова, мы ей “скормили” 1 гигабайт Википедии. Для того чтобы усвоить, “переварить” 1 гигабайт Википедии на стареньком Макбуке, ей понадобилось 4 часа, все романы на русском еще 8 часов. А вся коллекция романов художественной литературы, написанной в России на русском языке, содержит примерно 15 гигабайт, и весь корпус весь Википедии содержит 5 гигабайт. Итого за 3 дня такая сетка “переварит” все, точнее – основное, написанное людьми на русском языке. Она будет знать о русском языке все. На это ей понадобится несколько дней.

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

Спасибо за отличный рассказ. Сейчас нейронные сети “заточены” на выполнение каких-то определенных задач. Если сеть умеет распознавать котиков, она уже не может распознавать собак или если она пишет романы на русском, то распознавать котиков она тоже не может. Это правильно?

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

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

Не очень понятно. Сетке “в детстве” показывали котиков, и у нее от этого травма, а пик температуры на графике напоминает уши котиков, и она от этого замкнется. Почему невозможна такая ситуация?

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

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

Если поставить цель – воспроизвести подобие человека с руками, ногами и всем остальным. Серьезно. С искусственным интеллектом.

Я говорю о разуме.

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

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

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

Серьезно. Мы хотим, чтобы оно убирало посуду? Или чтобы это была идеальная любовница? Или чтобы это был идеальный воин? А мы будем в него закладывать инстинкт самосохранения, чтобы потом получить нечто, что захватит планету, или не будем? У нас он эволюцией заложен жестко и на очень низком уровне. А ему-то зачем закладывать? Самый конечный вопрос. А зачем нам это надо? Поиграть? Скорее всего, вы увидите одного такого человека – андроида, и скажете: “Классно! Мы тебя увидели. Давайте теперь решать нормальные задачи – выращивать хлеб, убивать людей”. Такие нормальные человеческие задачи.

Хорошо. Понятно. Мы углубились в будущее. Я возвращаюсь к текущим задачам и реалиям. Вопрос в правильности понимания работы нейронных сетей, искусственного интеллекта. У нас в статье было написано, что, создав сеть, уже мало кто может понять, на основании чего она принимает решения. Это так или нет?

В большинстве случаев – да. Если вы , вы помните, что я расписал 9 нейрончиков – как работает каждый из них. Их было 9, но это совсем утрированный пример. Во-первых, повторю еще раз то, что там было. То, что происходит на скрытом слое, никогда не формализуется человеком. Мы просто говорим: “3 на 3. Вот такие три входа, такие три выхода. Вот пары: как было, как должно быть. Учись”. Что она делает на этих скрытых слоях – никто не знает.

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

Goto – главное.

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

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

К сожалению, нет. Правила – не таблица, никакого “if” там нет. Там набор коэффициентов и порогов, то есть это огромное количество чисел. Например, в сети 3 на 3, о которой я говорил, может быть порядка 20-ти чисел, которые входят в настройки. В сети 10 тысяч на 100 таких коэффициентов будут миллиарды. Все.

Как все работаем потом? При помощи этих коэффициентов можно сделать четкое “или”, например, логический оператор. Все, что можно закодить, можно закодить машиной Тьюринга – есть такая теорема. Соответственно, чтобы у нас была машина Тьюринга (она же тоже работает с временными рядами), что нам нужно? Нам нужен сдвиг. Нам нужны базовые логические операторы: “и”, “или”, сложение, умножение. Это можно делать через настройку коэффициентов. Например, мы можем сделать через настройку коэффициентов исключающий “или”, “и”, любой логический оператор. Пока мы работаем с одним логическим оператором, мы четко видим, как логика распространяется, какие есть выходы, можем все протестировать.

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

Один нейрон говорит: “Я распознал какой-то абстрактный образ А”. Второй нейрон говорит: “Я распознал какой-то абстрактный образ Б”. Третий нейрон говорит: “Я не распознал абстрактный образ С”. Выходной нейрон спрашивает: “Насколько хорошо вы их распознали?”. У них, соответственно, точность 80, 90 и 10 процентов. Выходной нейрон говорит: “Значит, с вероятностью 75% это кошка”.

Теперь у вас немой вопрос: “Что за абстрактный образ А?”. Я говорю, что не знаю, что это за абстрактный образ А. Этот абстрактный образ А пришел еще из каких-то 20-ти подабстрактных образов или их отсутствия. А они, в свою очередь уже пришли из того, что где-то есть диагональка, которая пересекается с другой диагональкой. Наверно, аналитически мы сможем понять – похоже это на ушко, причем ушко кошки, потому что у собаки будут не диагональки, а что-то размытое, висящее и дурно пахнущее. Решение принимается примерно так.

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

А здесь получается нечеткая логика. Если я подойду к боксеру с этого угла, в этой ситуации, при этом боксер будет немного пьян, а освещение будет такое, вероятность “получить в табло” будет 35%. Мы называем это интуицией. У нас для этого есть правое полушарие мозга. Оно отлично отрабатывает. Когда мы ничего не понимаем, мы называем это “религия”, “магия” или “женская логика”, если нам это нравится или не нравится. Или кого-то называем гением. Мы не можем анализировать наши поступки. То же самое и здесь.

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

Здесь все очень просто. Так получилось, что я как раз 5 лет работал в электроэнергетике, как раз на системах управления. У нас же есть не только система принятия решения. Например, сейчас компьютерная. Там стоит релейная автоматика, то есть некоторые дублирующие системы. Там три системы. Релейная автоматика. Она работает уж совсем просто. Температура больше – это то-то, делать се-то, все. Есть автоматическая система управления. Это компьютер. Сейчас там логика запрограммирована программистами. Есть, в конце концов, сонный дежурный, который развлекается тем, что играет в пасьянс. Как ему ни запрещают, он все равно найдет способ поиграть в пасьянс.

Мы можем спланировать как угодно. Лично я делал бы так. Я бы оставил релейную автоматику. По компьютерной автоматике у нас есть состояния консистентное, не консистентное. Например, при повышении температуры реактора, если повышение температуры за последние несколько часов будет в такой-то точке, то мне нельзя держать стержни менее чем на таком уровне. Это прописывается в ГОСТах. Соответственно, когда мы делаем не консистентное состояние, мы из нечеткой логики переходим в четкую.

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

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

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

Мне кажется, но это уже совсем не четкий ответ, как на примере с го, все может случиться в любую минуту. Я как раз слушал лекцию на эту тему. Все может случиться в любой момент. Мне кажется, что это примерно, как с развитием персональных компьютеров. Первые персональные компьютеры у нас появились на Аполлоне. Apple II, который серьезно пошел в массы, появился, по-моему, через 8 лет. Аполлоны 1969 года, Apple II, по-моему, 1977. До этого появилась еще какая-то IВМ. Сейчас нейронные сети уже, наверно, постарше, чем Apple II, но я как программист могу вам сказать, что нет коробочных решений, которые я могу быстро развернуть и понять. Когда они появятся? Я предполагаю, что это произойдет примерно в течение пяти лет. Почему я назвал именно эту цифру? Потому что это прогнозы относительно того, когда роботы-автомобили спокойно выйдут на территорию Америки, начнут ездить.

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

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

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

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

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

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

Но вообще проблема – чем будут заниматься люди – очень острая. Это очень большой вопрос.

Сегодня я пишу программу. Вы, как я понимаю, пишите статьи? Правильно я понимаю?

Нас всех заменят?

Да. Это не шутки. Помните, раньше люди сами вязали свитера? Я недавно был в Непале, и купил вязаный свитер hand made. Ничем не отличается от не вязаного, но вроде бы классно. В России можно купить. Он будет стоить дорого. Примерно то же самое. При этом не факт, что hand made будет лучше. Я думаю, что мы с вами не захотим ездить на автомобиле, собранном вручную.

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

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

Два года назад я тоже думал об этом, что все хорошо. Как бы ни развивалось, так и будет. А потом я сказал так. Эволюция ограничила наши творческие способности по одной простой причине: потому что они средне деструктивные. Но в среднем это то, что нужно. Эволюция иногда создает левшу, который прибегает и творит какой-то хаос. А еще лучше, если это переученный левша, у которого биполярное расстройство. Какой-нибудь Джобс. Прибежит, натворит хаос. Двинет весь социум вперед ценой собственной нормальной счастливой жизни. Это нормально. Какой-нибудь Курт Кобейн, Иисус Христос. Полно народу. Эволюции - это выгодно, так как человечество двигается. Но если она сделает такими всех, то человечество вымрет. Потому что придут обезьяны, а люди будут угорать: “Как?! Они нас убивают”, слишком рано задумаются о том, что жизнь бессмысленна, детей делать не нужно.

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

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

Это спорный вопрос – можно ли плохой музыкой убить.

Я с вами согласен.

Хорошо. Следующий вопрос. Творческие задачи тоже будут решены. А есть ли какие-нибудь ограничения, где неприменимы навыки или возможности искусственного интеллекта? Или как говорили в кино: “Будет все одно сплошное телевидение”, будет один сплошной искусственный интеллект и нейронные сети. Есть какие-то области, где все-таки это не будет эффективно работать?

В течение пяти лет будет множество таких областей, если так все пойдет. Но если это действительно экспонента, то через 20 лет – нет, не будет таких областей.

Я долго об этом думал и прихожу к выводу, что постепенно нейронные сети будут делать так. Сначала давайте все-таки оптимизируем производство. Давайте. Подключим к ней все станки. Она будет давать экспертное решение, а люди будут определять, правильное оно или нет. Подключили. А давайте всю нашу корпорацию Google или Apple “посадим” на нее. Она будет смотреть и думать, какие зарплаты устанавливать, мониторить рынок – продавать акции или покупать акции, заниматься высокочастотным трейдингом и так далее. Давайте? Давайте. Сделали. А потом давайте она будет помогать нашим политикам. Людей очень много. Известно, что хороший политик – информированный политик. Нам нужна экспертная система. Поможет? Поможет, сделаем.

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

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

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

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

Конечно, есть. Я имею в виду, что пока не найден путь, как эту “коробочку” принести в бизнес, но в интернете система заработала. Это инструменты немного более низкого уровня. Я точно знаю два таких инструмента. Здесь еще зависит от языка программирования. Первый – самая классная штука – это Word2Vec – буквально “словарь-вектор”. В чем заключается идея? Ты ей “кормишь” огромные корпуса знаний (это то, чем занимался я), она превращает слова в вектора, и мы можем делать с ними арифметические операции.

У меня был очень смешной пример. Я беру такое словосочетание: “мальчик плюс девочка”. Она говорит: “Близкие слова: жених”. Я: “Классно”. У нее большой список слов, но одно из первых – “жених”. Молодец. “Девочка плюс мальчик”. Она: “Мисс, миссис”. Примерно правильно поняла. Но дальше самое интересное. Я говорю: “Девочка минус мальчик”. И тут началось то, от чего я заплакал. Девочка минус мальчик – это “оставлено, зафиксировано, налажено, ликвидировано, развернуто”. Я говорю: “А мальчик минус девочка?”, и сеть мне неоднозначно – “магистратура”.

Логично.

Я говорю: “ОК. Близкие слова к слову “глупость”. Она говорит: “Радость, безумие, чувственность, грусть, доброта, любовь, красота, субъективность”. Я говорю: “Классно”. Пошел по другому пути. Там есть такая штука: если А – это В, то С – это… Пример. Если Париж – это Франция, то Рим – это…? Она отвечает: “Италия”. Я говорю: “ОК. Если вино – это весело, то водка – это…?” – “Глупо”. Я говорю: “Ладно”. Она начала еще больше угорать. Я: “ОК. Мальчик хороший, а девочка…?” Она: “Плохая”. Я: “Хорошо. Девочка хорошая, а мальчик…?” – “Лучше”. Это Word2Vec. Очень угарная штука. Безумно. Нужно немного разобраться с ней, и можно зависнуть в ней надолго. Она существует для того чтобы понимать эмоциональные оттенки текста. Например, негативный комментарий пользователь оставил или нет. Это первое.

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

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



error: Контент защищен !!