Играя с нейронными сетями и алгоритмами самообучения для них, я натолкнулся на мысль, что алгоритм контролируемого обучения вполне можно было бы отнести к категории самообучающихся, если бы учителей заменить «эмоциональными» нейронами.
Такие нейроны, по сути, являются просто сенсорами «хорошо/плохо» и при соединении с обычными нейронами создают определенные связи, которые гасят или возбуждают в зависимости от типа сенсора.
Это крайне поверхностное описание принципа, который не получил развития в нейробиологии по двум простым причинам.
1. Современные сети не обладают как стабильностью, так и пластичностью, то есть процесс корректной работы сети несовместим с ее обучением.
Современные сети, изучая новое, успешно забывают старое, поэтому для работы используют неизменяемый после обучения слепок нейросети, который не нужно никак контролировать.
2. Специфика наших требований к рабочей сети, даже если она обладает одновременно стабильностью и пластичностью, не позволяет ей совершать ошибки, но избежать этого при обучении невозможно.
Почему мы спрашиваем о системе, которая не только может физически сломаться, но и имеет что-то вроде «человеческого фактора»? Я поставил перед собой цель создать модель на нейросети для управления амебой в плоском пространстве, пытающейся развернуться в сторону цели и добраться до нее.
Задача очень тривиальная, но вся проблема была в том, что амебе пришлось этому научиться самостоятельно и без моей помощи.
Ведь при создании автоматических систем мы все равно заранее уточняем все решения для всей совокупности условий конкретной задачи, которую будут выполнять машины, а также не даем системам возможности обучаться в процессе их работы.
Красивыми словами это можно описать так: «Решение задачи не заложено в систему управления заранее; мы передаем в систему не только выполнение задачи, но и поиск решения этой проблемы».
Мы настолько привыкли заранее задавать решения в автоматические системы, что сложно представить себе абстрактную модель самообучающейся автоматической системы, самостоятельно находящей решения.
Не нужно наступать на те же грабли, думая, что в финале нам просто нужно в той или иной форме рассказать, как решить задачу.
Автомат когда-нибудь сможет понять полученную от нас информацию и использовать чужой опыт, но на самом деле нам придется начать работать с системой, которая пока не обладает никакими навыками, кроме способности учиться, воспринимать окружающую среду и повлиять на это.
Получается, что из обычной автоматической системы нужно сразу выкинуть заранее вложенное решение и поставить в нее вычислительную подсистему, в которой реализовано что-то вроде нашего мозга.
Поэтому я использую нейросеть как максимальное подобие мозга.
Но после первой встречи с таким автоматом вы поймете, что он полный аутист, ему все равно, и он глубоко безразличен к окружающему миру.
Но нам все равно нужно, чтобы он мог делать то же самое, что и до того, как мы выбросили наше вложенное решение.
Я упустил одну важную вещь, забыл задать системе условие решения нашей задачи.
Системе необходимо дать понять, когда ее действия удовлетворяют условиям решения нашей задачи и наоборот. Центральным словом здесь является слово «понимать», и именно нейросеть должна «понять», что мы от нее хотим.
Здесь не нужно ничего особенного выдумывать, достаточно лишь примитивно повторить уже существующий, и да, уже существовавший в нас «язык эмоций».
Сейчас я не буду вдаваться в подробности о единственном распространённом «языке эмоций».
Скажу только, что все мы не только чувствуем эмоции, но и одинаково реагируем на них, показывая посредством языка тела, что мы чувствуем.
Мы будем использовать метод кнута и пряника, поскольку он работает даже с самыми простыми животными, предполагает наличие эмоциональных переживаний приятного и неприятного (боль).
Мы наделены большим набором эмоций, чем эти чувства, но такого набора вполне достаточно для модели амебы и нашей задачи.
Добавляя к цели датчики вращения, движения к цели и наоборот, а также добавляя к ним эмоциональную окраску, мы объясняем проблему и мотивируем нейросеть на решение нашей задачи.
Это ключевой момент для нейросети, поскольку мы вводим систему мотивации и коммуникации (по крайней мере, мы сможем «обращаться» к амебе).
Поведение нашей амебы вызовет у внешнего наблюдателя сильную ассоциацию с мотивированным поведением и с наличием в нем эмоционального восприятия.
Далее собственно описание строения нейронов, сенсоров и нейросети в целом краткое, но достаточно сложное из-за отсутствия объяснений, почему это так.
Не обязательно читать.
Выводы можете прочитать.
Сетевое устройство
Основные свойства модели нейрона, которую я использую.
- Выдача результата нейроном задерживается на один такт работы сети.
Главным преимуществом является возможность соединять нейроны любым удобным для вас способом, поскольку это не вносит ошибок в сетевую логику; сначала вычисляются все значения всех нейронов, а затем обновляются их выходы.
- Я использую только два значения на выходе нейронов «0» и «1».
- Выход нейрона может образовывать «негативный» и «положительный» синапс, причем этот синапс также может менять свое состояние с «положительного» на «негативное» и наоборот.
- Функция активации рассчитывается как разница между активными положительными и отрицательными входами.
Если разница положительна, результат равен «1»; если нет, то «0».
- Синапс имеет тенденцию стать «положительным», если результат функции активации равен «1», и «отрицательным», только если текущий результат равен «0», а предыдущий результат был «1».
- Нейроны ограничены областью, в которой создаются соединения, поэтому топология сети вступает в игру.
- Датчики Обычные датчики представлены в сети только выходами.
- эффекторы.
Мотонейроны, выходы, управляющие мышцы и в сети представлены только входами.
- «Эмоциональные датчики».
То же, что и обычные датчики, но устанавливают неизменяемые связи, только положительные или отрицательные, в зависимости от типа датчика, и не могут изменить состояние этих связей.
- Обычный.
Я описал их в моя первая статья .
Нет необходимости думать о проблеме; она решается на уровне «условных рефлексов», поэтому я их здесь не использую.
В самом начале связи между нейронами вообще отсутствуют. «Эффекторы активируются случайным образом до тех пор, пока не будут установлены первые соединения.
Связи устанавливаются тем быстрее, чем ближе и чаще одновременно активны нейроны (правило Хебба).
Окончательная топология выглядит так.
Рис 1. Топология участка нейросети, отвечающего за повороты
Кружками обозначены зоны ответственности нейронов.
Такую же топологию имеет часть нейросети, отвечающая за движение к цели.
Обе части сети не связаны между собой.
выводы
Я обходился без обычных нейронов памяти, в задаче думать не надо, она решается на уровне возникающих условных рефлексов, поэтому я их здесь не использую.Центральную роль в решении проблемы сыграла топология сети, то, как были размещены нейроны и сенсоры.
Очень важно, как вы подготовите нейронную сеть и собственно поставите задачу для решения.
Далее амеба делает попытки передвигаться, между одновременно активными нейронами устанавливаются связи и в конечном итоге эмоции боли и удовольствия направляют ее к цели.
Рис 2. Путь амебы.
Она разворачивается и ползет к цели.
Рис 3. Скриншот.
Вот как это выглядит с отключенной трассировкой.
Теги: #искусственный интеллект #нейронные сети #ИИ #эмоции
-
Оптимистическое Влияние Онлайн-Игр На Детей
19 Oct, 24 -
Работать За Границей. Переезд В Швецию
19 Oct, 24 -
Форма Входа На Хабр
19 Oct, 24