Pull to refresh

Comments 17

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

Не надо свою субъективную классификацию методов выдавать за общепринятую. А в общепринятой обучение без учителя — это не когда вы даете только «общую оценку» действий, а когда вы никакой оценки не даете. Обучение с подкреплением (reinforcement learning) — это вполне себе обучение с учителем.
Кроме колодца, какие ещё есть подобные простые тестовые задачи?
Спасибо, но это всё таки не то. Большинство примеров — не задачи для агента, за исключением примеров из видеоигр, но они совсем не элементарные, того же колодца там нет.
Честно говоря не совсем понял как же указанный пример является обучением без учителя?? Если:
1. Извне т.е.
учитиелем
задаются финальные состояния — кубик остановил движение на ракетке и остановил движение на дне. Им приписана ценность = 1 и -1 Т.е по факту метки извне заданы. Кем?? Как их получить рандомно? Т.е статистически надежно разделить? Вот подозреваю кластеризация по итогу и дала бы два эти кластера. Также если исходным условием задания ценностной функции сделать максимизацию времени игры. Поймал — игра продолжается + 1 балл. Нет — игра рестарт +0.
2. Получается что среда должна уже содержать параметр true, false и критерий его определения сетью??? Опять нужен учитель??
3. Было бы интереснее увидеть как же происходит reinforcement learning на классификации картинок. Если каждый класс будет стремится к своей максимизации, как же алгоритм будет их дифференцировать???
В обучении с учителем последний комментировал бы каждое движение ракетки (туда двинулся или не туда). Фактически это перенос опыта человека на сеть.

В обучении без учителя оценивается, например, только вся игра в целом (выиграл/проиграл). Как если бы перед ребёнком поставили задачу дойти куда-нибудь. А как он решит добираться — его личное дело, — шагая, ползя или телепортируясь (может найти способ, о котором мы не предполагали).

Это такая принятая терминология. В том или ином виде оценка всегда есть, от человека или среды.
1) Среда выдает Агенту только вознаграждение по результатам его действий, Среда никак своей наградой Агента не обучает и не говорит ему правильно он поступает или нет.
А награда может измеряться в чем угодно хоть в очках за игру, хоть во времени которое агент проживет в среде(как вы предложили). Но Агенту нужна награда обязательно, без нее Агент не получит обратную связь от среды в которой он обучается. Без получения награды от среды вся деятельность Агента лишена смысла — потому что откуда тогда Агент вообще поймёт, что он чему-то должен учиться. Что заставит Агента куда-то двигаться и что-то предпринимать в среде, если ему можно постоять в сторонке, результат-то будет для него одинаков.
2) Как я уже написал выше — Среда не содержит интерпретации награды она лишь ведет ее подсчет исходя из действий агента. Интерпретацию награды как и цель обучения для агента задает человек — автор алгоритма обучения Агента, именно в сам алгоритм мы «зашиваем» цель обучения и то как Агенту интерпретировать награду получаемую от среды.
3) Для задачи классификации пусть даже и через Reinforcement Learning все равно придется расписать для Cреды подсчет награды — насколько правильно текущая версия агента умеет классифицировать картинки, если этого не сделать, то Агент элементарно скажет, я все откласифицировал — тут один класс изображения и все картинки принадлежат к нему.
И никакого обучения не получится.
Выводы:
а) Нет обратной связи от среды (награды) — нет обучения Агента.
б) Без поставленой цели обучения — Агент ничему не научится.
вот мне и не понятно чем метка в алгоритме обучения с учителем типа + or — для ответа отличается от той что вы указываете для агента??? И чем тогда построить алгоритм обучения на основе той же карты самоорганизации хуже чем предложенный вами?? По крайней мере не требуется никаких априорных допущений. Среда закономерно дискриминируется на структурные области например поведенческие в SOM. в чем преимущество Reinforcement Learning? Сам параметр вознаграждения, его адекватность среде, должен быть внесен извне, а значит знание о свойствах среды должно быть известно априорно. Т.е. этот путь алгоритмизации только для коррекции. не более. А известны ли гибридные архитектуры совмещающие например SOM и Reinforcement Learning?
Среда выдает Агенту только вознаграждение по результатам его действий, Среда никак своей наградой Агента не обучает и не говорит ему правильно он поступает или нет.

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

Как обычные задачи обучения с учителем, так и задачи обучения с подкреплением решаются с помощью минимизации некоторого функции потерь. Ключевая разница — в более традиционных задачах, таких как классификация, даны «правильные ответы», и в качестве функции потерь используется какое-то расстояние (среднеквадратиченое отклонение, кросс энтропия) между выходами модели и правильными ответами, так как мы знаем функцию расстояния, то можем её продифференцировать. В обучении с подкреплением функция потерь задана извне, поэтому мы не можем её продифференцировать, в этом и заключается ключевая особенность задач обучения с подкреплением.
Интересный будет цикл. Жду продолжения
Спасибо за статью! А не поясните отличие данного подхода от Deep Q-Learning?
А правильно я понимаю, что награда это скаляр и тем самым в функции потерь все логорифмы вероятностей умножаются на одно и то же число?
Награда выдается средой в ответ на конкретное действие агента, соответственно,
при расчете Loss функции мы на награду должны умножать только логарифм вероятности того действия которое фактически совершал агент в этом состоянии.
Затем мы суммируем такие логарифмы вероятностей действий агента умноженные на награды за действия, для всех шагов агента и делаем всю сумму отрицательной, т.к. что бы максимизировать награду за игру Loss функцию необходимо минимизировать.
Спасибо за ответ.
То есть Loss это произведение rewards на логарифмы вероятности policy. Policy это нейронка.
Задам вопрос более конкретно:
Индекс J в функции Policy Function Loss это для суммирования по шагам в рамках оптимального действия на каждом шаге, или для суммирования всех действий внутри одного шага?
Спасибо за вопрос, попробую объяснить немного по другому:
Loss функция суммирует логарифмы умноженные на награду для всей игры по одному действию агента на один шаг игры.
А вот сама Игра или ее эпизод уже состоят из последовательности шагов от 0 до J.
Так что индекс J — это J-й шаг игры,
Можно сказать, что шаг игры это такой своеобразный «такт» игры который характеризуется своим уникальным состоянием среды, действием агента и наградой от среды за такое действие.
Внутри шага мы не суммируем логарифмы вероятностей всех доступных действий агента, т.к. нет никакого смысла это делать потому что, такие произведения все равны нулю. Награды мы за несовершенные действия от среды не получали ведь действия не было, значит награды для несовершенных действий равны нулю, а умножая любое число (хоть даже и логарифм) на ноль мы получаем ноль.
Следовательно и складывать нечего.
Sign up to leave a comment.

Articles