Касательно общей архитектуры (само)обучающейся автономной системы и нюансов reinforcement learning.
Разделим сигналы, которыми среда "комментирует" действия или бездействие робота на 2 большие категории - положительные (поощрение) и отрицательные (наказание).
Есть ли смысл считать их знакопеременными вариантами одной и той же модальности, условно "reinforcement"?
Нет, они алгоритмически слишком различаются, и мы сейчас увидим это.
О чем говорит "положительный" сигнал, например: робот-уборщик нашел клочок шерсти?
Он несет однозначную информацию - предыдущие действия робота были верны (корни принципа "после значит вследствие"). Мы можем увеличить вес (синаптическую силу, вероятность в графической модели и т.д.) задействованных юнитов и запомнить урок. В следующий раз, оказавшись в данной ситуации, система попытается повторить действия, которые в предыдущие разы чаще всего давали "+" подкрепление.
О чем говорит "отрицательный" сигнал?
В зависимости от статуса объекта, который вызвал появление сигнала, могут быть 2 варианта.
а) мы не сделали что-то, что помогло бы избежать наступление неблагоприятного исхода. Например, робот не увернулся от бегущей собаки (активный контрагент).
б) мы сделали что-то, что вызвало неблагоприятный исход. Например, продолжали движение прямо, несмотря на приближение неподвижной стены (пассивный объект).
Принципиальное отличие случая "а" состоит в том, что мощность результата логического отрицания больше единичного действия. Другими словами, информация о том, что не было предпринято какое-то необходимое действие не дает однозначного указания на то, что же нужно было сделать. Если робот стоял неподвижно, то можно было бы начать движение назад, либо уйти вправо или влево, либо подать звуковой сигнал, чтобы избежать столкновения с бегущей собакой. Если число возможных эфферентных сигналов на этом уровне достаточно велико, то такая негативная информация становится бесполезной, поскольку будет включать в себя команды выдвижения антенны, поиска энергослота и так далее.
Как можно инвертировать бесполезную негативную информацию, не прибегая к процедурам типа "перебрать и попробовать поочередно все моторные программы, сопоставляя результаты"?
Один из способов - введение дополнительной подсистемы прогноза. Обучаясь параллельно, она для произвольного контекста восприятия дает оценки появления + и - сигналов в некотором будущем. Тогда задача моторного селектора - выбирать такие действия, которые минимизируют прогноз наступления отрицательного события. Если модуль прогноза выдал предсказание насчет возникновения "-" события, а оно не наступает в разумное время - можно считать, что активированные моторные сигналы
помогли избежать опасности.
Работу этой пары модулей (предиктор + селектор эфферентов) можно описать по-другому. Система работает уже не непосредственно с внешним миром (и его достаточно буквальным отражением в органах чувств), а с более абстрактным представлением в виде модели "вероятность возникновения + или - события".
Еще один важный информационный нюанс, который связан с отрицательными сигналами, таков.
Система стремится минимизировать частоту таких сигналов, в идеале сведя их к нулю. Это означает, что будет падать не только само число случаев "-", но даже количество
ситуаций, потенциально ведущих к "-".
Иначе говоря, поток обучающих контекстов для системы прогнозирования резко падает. Это неизбежно накладывает еще одно особое условие на работу с "-" событиями: ситуативная память должна удерживать возникшие случаи намного дольше, чем для "+" событий, частоту которых система будет стараться увеличить.
И по мере накопления опыта ценность каждого нового "-" сигнала растет.
Итак, именно отрицательный фидбэк побуждает вводить в конструкцию обучающейся автономной системы дополнительные модули и усложнять работу памяти. Даже переход на работу с промежуточным уровнем абстрагирования (через репрезентацию в пространстве вероятности наступления + и - исходов) в большей степени необходим для правильного учета "-" событий, так как учет "+" на базовом уровне можно выполнять через примитивное ассоциирование стимула и моторной программы.