Язык представляет собой как бы второе зеркало, в котором отражается весь мир, и в том числе каждый индивидуум, и в котором каждый индивидуум может увидеть (вернее, не может не увидеть!) самого себя. Так возникает понятие Я. //В.Турчин
Не рычите на собаку
Что такое обучение с подкреплением? В той его части, когда нужно выработать сложное поведение, Карен Прайор в 3 главе управление с помощью стимулов пишет:
Цепное поведение следует всегда вырабатывать с конца (иначе поведение натыкается на незнакомый стимул и рассыпается). Начинайте с последнего действия в цепи, удостоверьтесь, что оно усвоено и сигнал к его выполнению хорошо узнается, лишь потом переходите к разучиванию предпоследнего действия и т.д.
next_state = action (state) или Y=F(X)
Как только из состояния X совершено действие F, то оно подкрепляется состоянием(наградой) Y. Далее уже состояние Y становится текущим состоянием X, которое в свою очередь будет служить наградой для чего-то другого. Например, требуется выработать цепное поведение: D=R(P) W=Q(D). Иначе говоря, требуется получить последовательность состояний PDW с помощью действий RQ. Обучаем сначала W=Q(D), т.е. награждаем состоянием W на действие Q из состояния D. И уже затем D=R(P), т.е. награждаем состоянием D на действие R из состояния P.
Чуть формализма
Представим пять состояний в виде чисел от 1 до 5, которые последовательно соединены. Требуется, чтобы представляющая точка в пространстве состояний оптимально двигалась к цели. Пусть целью будет состояние 5. Тогда, случайно передвигаясь, представляющая точка достигнет цели и пометит ее величиной награды. Состояние же из которого цель непосредственно получена можно пометить с учетом дисконта. Если конечное состояние стоит 7, то состояние 4 будет, например, на единицу меньше. А состояние 3 еще меньше на единицу по отношению к состоянию 4. В результате получим топографическую карту QL со значеиями 34567, в которой градиент каждого состояния будет указывать на цель.
В результате (само) обученный агент А из состояния 3 за 2 перехода получит цель 5. Что произойдет, если имеется другой агент В, целью которого было построить карту с целью 1? Если два агента начнут по очереди делать ходы, то никто не выиграет, поскольку представляющая точка будет колебаться, не достигнув целевых состояний. Но это при условии, если агент В составит верную карту. Если же нет и его алгоритм действий пока случаен, то агент А не сразу, но выиграет: представляющая точка хоть и будет колебаться, но все же будет смещаться к 5.
Теперь изменим переходы между состояниями (закольцуем): из 5 можно будет непосредственно попасть в 1 и обратно. Пусть оба агента находятся в неведении о существовании другого, но карта им полностью известна. Если текущее состояние 3 и сделан ход к цели 1 агентом В, то агент А выберет переход от 2 к 1. Что приведет к проигрышу агента А. Если информация о проигрыше (отрицательное подкрепление) ему будет доступна, то агент А, разумеется, перестроит карту и в слушающий раз выберет переход от 2 к 3.
Пожалуй, наиболее интересен случай, если переходы между состояниями первоначально не известны и становятся доступными при достижении определенных состояний. Например, возможно такое, что сначала требуется перейти от 2 к 4 через 3. Как только состояние 4 будет достигнуто, то появится возможность перейти от 2 к 1. И при возвращении к 1 уже будет доступен переход от 4 к 5. Внешне, если отслеживать только смену состояний, изменение в пространстве состояний представляющей точки выглядят довольно бессмысленным. Но суть та же: строим телескоп – видим звезды, изобретаем колесо – можем без усилий передвигаться на расстояния.
Золото математики
Им является Y=F(X). Собирая в цепочки такие переходы можно описывать сложное поведение вещи или явления. Пример Эшби из Замогилья в Введении в кибернетику:
![](https://habrastorage.org/getpro/habr/upload_files/918/0e5/7f6/9180e57f63fd7c9d4ec3117ac50dfc82.jpg)
Введем обозначения: * - какое-то состояние, П – пение активно, п – пение не активно, С – смех активен, с – смех не активен, О – орган играет, о – орган молчит, Л – ладан горит, л – ладан не горит.
В качестве состояния здесь пара (вектор) пение, смех. А действием служит пара орган, ладан.
Пение становится другим, если О и с: П* = О*(пс) п*=О*(Пс). Если ладан горел: смех активен, если было пение *С=*Л(П*); смеха не будет, если не было пения *с=*Л(п*)
![Замогилье Замогилье](https://habrastorage.org/getpro/habr/upload_files/2c5/bd0/694/2c5bd0694566d882a62392e5e6ef423a.jpg)
Если собрать все переходы, то получим таблицу Замогилья. Поддержать тишину в доме можно так: Пс=ол(ПС) пс=Ол(Пс) пс=оЛ(пс).
Что считать объектом
На этот вопрос можно ответить так: что предсказуемо в своем поведении, чьи следующие состояния можно предсказать, если совершать определенные действия. Как в данном примере, в котором со 100% уверенностью можно знать каждое последующее состояние. Но всегда ли мир таков? Нет. Тогда каков критерий и можно ли его выразить все же численно?
Представим себе, что не все однозначно. Представим, что из состояния пс при действии ол следует не только пС, но также ПС. Тогда количество переходов было бы не 16 (как в таблице), а 16+1. Отнесем количество переходов, как если бы поведение объекта было 100% однозначным, к числу реально случившихся: 16 / (16+1). Так выразим коэффициент однозначности. Ценность такой трактовки в том, что заранее не ведомо что брать за состояния и что брать да действия. Но если величина этого коэффициента близка к единице, то рассмотренное множество состояний и действий можно рассматривать как объект этого мира, как какую-то отдельность. Более подробно механизм исследования представлен в статье.
Просто представьте: рождаемся и на нас сваливается информация в виде множества пикселей, частот, амплитуд и ничего более. Как же мы начинаем ориентироваться в таком сумасшедшем разнообразии, как мы начинаем видеть предметы, узнавать знакомые голоса, выявлять законы окружающего мира? Так и начинаем: то, что имеет повторяемость в своем поведении, то и является вещью или явлением этого мира. С учетом, разумеется, что то, что повторяемо, может иметь свой срок жизни.
Наш внутренний учитель в этом случае — то, что сопротивляется энтропии, сопротивляется неопределенности потока данных, обнаруживая преобразования, имеющие предсказательную силу.
Q-Learning и целеполагание
Если целью является пс, то можно построить топографическую карту. Пусть ценность цели будет число 5. Тогда состояния, непосредственно ведущие к цели, можно пометить с учетом дисконта на 1 меньше. А состояния, непосредственно ведущие к пред. целям еще на 1 меньше и т.д. В результате получим следующую карту.
![QL Замогилья QL Замогилья](https://habrastorage.org/getpro/habr/upload_files/1ea/708/b11/1ea708b1108726c1efb63afa0afb3755.jpg)
Выбор как поддержать тишину в доме как раз и делается по информации этой карты: двигаемся в сторону градиента. Если находимся в состоянии ПС, то можно выбрать действия либо ол, либо Ол. Если выбрано ол, то перейдем в состояние Пс. Из состояния Пс максимум указывает на действие Ол. Как следствие – переход в состояние пс. И чтобы оставаться (быть в нем), требуется выбрать действие оЛ.
6. Мир многих: кто ставит цели
Итак, существуют множество таких вот объектов, однозначность которых достаточно высока. Некоторые из которых являются частью других. Что дальше? А то, что некоторые их них способны видеть (понимать) как устроены другие объекты. Для этого достаточно выразить с помощью QL карт исследуемые объекты. Как результат: одни могут управлять другими, получать желаемое состояние в исследуемых объектах.
Как могут быть выбраны цели? Цели могут быть вполне конкретные. Цели могут быть случайные. Но думаю, что правило ищем то, однозначно, как цель, работает почти всегда.
7. Соединение объектов. Язык
Чуть подробней рассмотрим решение как добиться тишины в доме: Пс=ол(ПС) пс=Ол(Пс) пс=оЛ(пс).
7.1 Функционала Y=F(X) достаточно, если имеем дело с одной таблицей. Если нет, то надо конкретизировать отношения часть/целое. В данном случае состояния и действия являются частью Замогилья. Поэтому перепишем: Зм.Пс=Зм.ол(Зм.ПС) Зм.пс=Зм.Ол(Зм.Пс) Зм.пс=Зм.оЛ(Зм.пс).
7.2 Если требуется только характеризовать цель в Замогилье, подразумевая смену состояний: Зм.[*, пс]. Если нужно выразить такую цель, которая устойчива: Зм.[*, пс, пс]. Если важно начальное состояние, из которого цель тишина в доме будет получена: Зм.[ПС, *, пс, пс]. Наконец, если требуется только сказать, что Замогилье что-то делает: Зм.[*].
7.3 Можно спросить какие действия нужны совершить, чтобы из состояния ПС перейти в состояние пс: Зм.[*, пс] = Зм.[?](Зм.ПС). Или спросить какие состояния примет последовательно Замогилье, если выполнить действия. ол, Ол, оЛ : Зм.[?] = Зм.[ол, Ол, оЛ](Зм.ПС).
С этих позиций рассмотрим решение как добраться до клада. В лабиринте идем к ключу; открываем ключом дверь; идем к открытой двери; через открытую дверь проходим в комнату; в комнате идем к кладу.
![Найди клад Найди клад](https://habrastorage.org/getpro/habr/upload_files/c34/163/906/c3416390635f9c3427dc6ddc43dc7366.jpg)
Л.[*, 11] .
| В лабиринте к состоянию ключ |
12.[*, 54, 54] = 11.[*](12.[*]) .
| Ключом изменяем состояние двери, чтобы дверь пришла в состояние устойчиво открыта |
Л.[11, *, 12] .
| В лабиринте от ключа к двери |
КМ.54 = Л.12.54 .
| Открытая комната - тоже, что открытая дверь лабиринта |
КМ.[54 , *, 63] . | В комнате от открытой двери к кладу |
Как именно отрыть дверь, изменяя состояния ключа, в этом тексте не оговаривается. Но это и не нужно, когда описываем общую задачу. Как именно это сделать описано в QL карте и может быть выражено при необходимости языком.
В какой-то степени это напоминает протоколы маршрутизации в сетях. Внутренние протоколы решают, как добраться внутри АС автономной системы до пограничного роутера. Внешние протоколы типа BGP помогают ориентироваться уже между АС.
Вот пример еще большей абстракции. Типа такой, в которой отображена лишь синтаксическая роль падежей: гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка.
77.38.[*]->44 44->55 55.66 55<-88 .
Прочесть можно так: тридцать восемь семидесяти семи делает сорок четыре; сорок четыре делает пятьдесят пять; шестьдесят шесть пятидесяти пяти; восемьдесят восемь будет управлять пятидесятями пяти.
Смысл: 38 управляет 44; 38 является частью 77; 44 управляет 55; 66 является частью 55; 88 будет управлять 55.
Под такую структуру подпадает, например: внучка дедушки рисует карандашом большую картину маме.
В примере выше вместо 12.[*, 54, 54] = 11.[*](12.[*]) кратко выразить, что ключ изменяет состояния двери, можно так: 11->12.
Важно то, что алгоритм сам может:
Выделять объекты среди разнообразия этого мира. Ориентир – максимизация коэффициента однозначности.
Составление QL карты отдельно взятой таблицы, характеризующей этот объект, для оптимального достижения цели.
Использование языка для описания взаимодействия объектов.
8. Зеркало себя
Если существуют объекты, способные выразить с высокой однозначностью другие объекты, если это дает им возможность получать требуемые состояния, то что мешает им обратить свое внимание на сам процесс исследования как на объект? Если так, то наше Я является процессом познания (поиск однозначности, QL-карты уже найденных объектов, язык), только обращенный к самому себе как к объекту исследования со своими состояниями и действиями, которые могут быть собраны в таблицы, подчиненные правилам языка.
P.S. Пишите bvv2311@mail.ru