Эмоции В Нейронных Сетях

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

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

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

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

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

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

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

Задача очень тривиальная, но вся проблема была в том, что амебе пришлось этому научиться самостоятельно и без моей помощи.

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

Красивыми словами это можно описать так: «Решение задачи не заложено в систему управления заранее; мы передаем в систему не только выполнение задачи, но и поиск решения этой проблемы».

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

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

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

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

Поэтому я использую нейросеть как максимальное подобие мозга.

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

Но нам все равно нужно, чтобы он мог делать то же самое, что и до того, как мы выбросили наше вложенное решение.

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

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

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

Сейчас я не буду вдаваться в подробности о единственном распространённом «языке эмоций».

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

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

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

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

Это ключевой момент для нейросети, поскольку мы вводим систему мотивации и коммуникации (по крайней мере, мы сможем «обращаться» к амебе).

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

Далее собственно описание строения нейронов, сенсоров и нейросети в целом краткое, но достаточно сложное из-за отсутствия объяснений, почему это так.

Не обязательно читать.

Выводы можете прочитать.



Сетевое устройство

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

  • Выдача результата нейроном задерживается на один такт работы сети.

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

  • Я использую только два значения на выходе нейронов «0» и «1».

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

    Если разница положительна, результат равен «1»; если нет, то «0».

  • Синапс имеет тенденцию стать «положительным», если результат функции активации равен «1», и «отрицательным», только если текущий результат равен «0», а предыдущий результат был «1».

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

Нейроны в моей сети делятся на несколько типов
  • Датчики Обычные датчики представлены в сети только выходами.

  • эффекторы.

    Мотонейроны, выходы, управляющие мышцы и в сети представлены только входами.

  • «Эмоциональные датчики».

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

  • Обычный.

    Я описал их в моя первая статья .

    Нет необходимости думать о проблеме; она решается на уровне «условных рефлексов», поэтому я их здесь не использую.

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

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

Связи устанавливаются тем быстрее, чем ближе и чаще одновременно активны нейроны (правило Хебба).

Окончательная топология выглядит так.



Эмоции в нейронных сетях

Рис 1. Топология участка нейросети, отвечающего за повороты Кружками обозначены зоны ответственности нейронов.

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

Обе части сети не связаны между собой.



выводы

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

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

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

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



Эмоции в нейронных сетях

Рис 2. Путь амебы.

Она разворачивается и ползет к цели.



Эмоции в нейронных сетях

Рис 3. Скриншот. Вот как это выглядит с отключенной трассировкой.

Теги: #искусственный интеллект #нейронные сети #ИИ #эмоции

Вместе с данным постом часто просматривают: