Введение

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

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

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

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

Прямо во время написания статьи я сдаю на водительские права, так что мне везёт воочию наблюдать как обучается моя собственная «нейронка».

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

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

Общая схема архитектуры

Схема нейросетевой архитектуры формирования автоматических навыков

Архитектура состоит из четырёх основных нейросетевых компонентов:

1.          Классификатора новизны;

2.          Сознательной нейронной сети;

3.          Генеративной нейронной сети;

4.          Подсознательной нейронной сети.

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

Математическое описание

Входные данные

Пусть на вход системы поступает изображение

где

 — высота изображения,

 — ширина изображения, а

 — количество каналов.

В первом эксперименте можно использовать чёрно-белые изображения размером

:

На каждом изображении находится одна двумерная геометрическая фигура.

Классификатор новизны

Классификатор новизны определяет, знаком ли системе поступивший вход:

где

 — нейронная сеть определения новизны, а

 — оценка вероятности того, что изображение не относится к уже освоенным вариантам.

Для маршрутизации используется порог

:

где

 — подсознательная сеть, а

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

Работа подсознательной сети

Подсознательная сеть выполняет классификацию уже знакомых фигур:

Её выходом является распределение вероятностей по классам:

где

 — общее количество возможных фигур.

Предсказанный класс определяется выражением

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

Работа сознательной сети

Если изображение признано новым, оно поступает в сознательную сеть:

Сознательная сеть также выдаёт распределение вероятностей по возможным классам:

После выбора класса система получает подкрепление:

В простейшем случае награда задаётся так:

где

 — правильный класс изображения.

Если ответ неверный, параметры сознательной сети обновляются:

где

 — параметры сознательной сети,

 — скорость обучения, а

 — распределение вероятностей ответов.

Когда сознательная сеть получает положительное подкрепление, сохраняется успешная пара

Работа генеративной сети

Генеративная нейронная сеть получает успешный пример

 и случайный вектор

:

где

 — генеративная сеть, а

 — новый вариант исходного изображения.

Генератор создаёт набор похожих изображений:

Для всех сгенерированных изображений сохраняется тот же класс:

В результате формируется синтетический датасет:

Этот процесс является аналогом мысленного представления множества вариантов уже увиденного объекта.

Обучение подсознания

Подсознательная сеть дообучается на новых примерах:

где функция потерь может быть обычной категориальной кросс-энтропией:

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

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

Экспериментальная задача: классификация двумерных фигур

Постановка задачи

Система должна распознавать простые геометрические фигуры на чёрно-белых изображениях. В качестве классов можно использовать:

•             круг;

•             квадрат;

•             треугольник;

•             крест;

•             звезду.

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

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

Начальное обучение

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

•             разных размеров;

•             в разных положениях на изображении;

•             с различной толщиной линий;

•             с небольшими поворотами;

•             с добавленным шумом.

Одновременно обучается классификатор новизны. Он должен считать варианты этих трёх фигур знакомыми, а изображения других фигур — новыми.

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

Появление новой фигуры

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

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

После этого сохраняется успешная пара

Генерация воображаемых примеров

Генеративная сеть создаёт множество вариантов исходного креста:

•             крест в другой части изображения;

•             крест большего или меньшего размера;

•             повёрнутый крест;

•             крест с более толстыми линиями;

•             крест с шумом;

•             частично перекрытый крест;

•             слегка деформированный крест.

Получается синтетический датасет нового класса:

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

Формирование автоматического навыка

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

Следовательно, они начинают направляться сразу в подсознательную сеть:

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

Предлагаемые архитектуры нейронных сетей

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

Последовательность обучения системы

1.          Предварительное обучение. Подсознательная сеть обучается на круге, квадрате и треугольнике. Классификатор новизны обучается на тех же фигурах. Генеративная сеть осваивает преобразования геометрических объектов. Сознательная сеть получает начальные веса.

2.          Появление новой фигуры. Системе показывается крест. Классификатор новизны отправляет его в сознательную сеть.

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

4.          Воображение. Генеративная сеть создаёт множество вариантов креста.

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

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

Критерии успешности эксперимента

Снижение участия сознательной сети

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

Освоение нового класса подсознанием

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

Сохранение старых навыков

После добавления нового класса точность на круге, квадрате и треугольнике не должна существенно снизиться.

Исчезновение новизны освоенного класса

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

Заключение

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

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

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

Основная проверяемая гипотеза формулируется следующим образом:

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

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

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

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