0: Так, всем привет. Я снова вернулся. Был небольшой перерыв из за моей болезни, но я вернулся с новыми силами. Готов снова рассказывать про эту чудесную науку. Обучение с подкреплением. Теперь хотелось бы перейти к теме. У нас сегодня достаточно насыщенное занятие для начала.
1: Хотел бы немного повторить про монте карло. Он полисе оф полисе методы. И потом уже перейдём к теме сегодняшнего семинара. Это темпра дифференс метод и его связь с монте карло, потому что в конце заня
2: Вы поймёте, что на самом деле это один и тот же метод, просто они находятся в разных границах. Вот если у нас есть какая-то шкала и возьмём какой-то параметр, то в 1 это, например, 0, а в другом бесконечность. Вот это вы поймёте.
3: Теперь давайте. Кто знает, что такое монте карло? Методы в обучении с подкреплением. Отлично, это хорошо. Давайте повторим, вообще подходы делятся на он полисе и of полисе. Чем они? Отлича?
4: В он полисе у нас есть политика, модель какая-то, и мы оптимизируем именно эту политику, то есть модель что-то делает, и она учится на своих действиях. Что такое о полисе?
5: Полисе. Как раз-таки у нас получается оффлайн процесс обучения в таком подходе у нас 1 политика генерирует траектории. Мы уже говорили, что такое траектории. Вот, а потом мы просто
6: Берём и другой моделью другой модели, скармливаем особым способом эти данные и получаем новую политику. Вот таким образом, на самом деле, при офлайн методах у нас политики.
7: Политика, которая генерирует траектории и политика, которая учится на этих траекториях, может быть 1 и та же. То есть это может быть 1 и та же модель, например, но все равно при реализации алгоритма будет видно, что это of полисе метод и у таких методов
8: Есть разные и преимущества, и недостатки. Например, многие оффлайн методы, они обладают большой дисперсией, но при этом не обладают или практически не обладают смещением и
9: В то время как онлайн методы, наоборот, они обладают смещением, но при этом дисперсия там сильно меньше. Здесь вы можете вспомнить такую аналогию с градиентным бустингом и
10: Со случайным лесом в классическом машинном обучении. То есть у нас 1, 1 имеет большую дисперсию, другое большое смещение, но если мы объединим разные подходы, то мы получаем какое-то лучшее решение. Это все следует из разложения.
11: Ошибки на смещение, дисперсию. Вот, но про это уже как-нибудь в другой раз. Про это уже я даже, мне кажется, писал пост в канале. Если нет, то я напишу ещё сегодня вот про математические основы этого разложения.
12: А теперь давайте перейдём к самому методу монте карло, в чем он заключается это достаточно простая вещь, то, что мы берём, у нас есть какие-то возвраты, ну даже не какие-то, а просто у нас есть episode, есть возвраты и
13: И мы берём и усредняем значение награды, значение, точнее, ревордов, которые мы получаем. То есть мы усредняем возврат, а значит, таким образом мы можем определять
14: Функцию ценности и функцию ценности состояния действия. Вот, ну и сразу давайте такое мини голосование монте карло. Методы лучше подходят для эпизодически.
15: Или для континуальных под ну, эпизодов не эпизодов, а траекторий давайте проголосуем кто ещё, поднимите руку, кто за то, что monte carlo подходит для эпизо.
16: Кино, да? А то есть почему это уже определяли на 1 занятии, по эпизодические, континуальные, ну, непрерывные, по сути, без конца. Вот. Ну, понятно, почему, то есть
17: Главные недостатки метода монте карло в том, что интуиция заключается в том, что мы берём и хотим. Вот посмотрели весь эпизод и получаем среднее какое-то. То есть нам нужно дождаться конца.
18: Этого эпизода. А если у нас эпизод без конца, то это очень долго и такой метод нам плохо подходит. Поэтому сегодня мы познакомимся с другим методом. Темпорал дифференс, который, наоборот, очень хорошо подходит для
19: Непрерывных задач. Дальше. Так вы знаете ферст визит и every визит подходы в монте карло. Знаете? Ну,
20: Тут на самом деле достаточно просто их объяснить. Ферст визит. Это означает то, что мы учитываем в нашем усреднении возвратов только 1 появление награды. Ой, не награды, а состояние в every визит. Понят?
21: Наоборот, мы учитываем вообще все появления в нашей траектории. На самом деле между ними разница небольшая, она заключается в некоторых предположениях, которые мы делаем о задаче, то есть
22: Например, иногда нам важно, чтобы у нас мы начинали из разных состояний, а некоторые варианты подходят, допускают то, что мы начинаем всегда из 1 точки и при этом продолжаем эксплорейшн.
23: Что получается, но эти оба алгоритма, они сходятся к 1 точке. Это будет непрерывная. Как называется у нас получается, если мы вводим белановский оператор, то
24: У нас будет непрерывная точка, ой, неподвижная точка в нашем пространстве, и это как раз-таки будет оптимальная функция ценности. Вот, и как раз-таки к ней сходится наша
25: Алгоритм теперь про то, как у нас вообще вычисляется, как работает алгоритм. Понятно то, что мы чаще всего все завязано, все алгоритмы с
26: Ну, алгоритмы обучения с подкреплением завязаны на 1 такой схеме. То, что мы стартуем из какой-то точки, оцениваем текущую политику и её как-то модифицируем. То есть у нас такой полу,
27: Получается цикл из eval этапа это от слова evolution по-английски, то есть оценка и импрув этапа вот вы в литературе будете встречать английской именно эти термины, так что.
28: Что их лучше знать и здесь у нас может быть, почему я здесь ничего не пишу? Потому что здесь может быть все что угодно. Здесь может быть какая-то политика, может быть функция ценности, потому что этот подход универсален для всего обучения.
29: Подкреплением получается вот мы крутимся в таком цикле и так происходит работа почти всех алгоритмов. То есть мы сначала генерируем нашу цепочку и понятно, когда алгоритм
30: Типа монте карло работают хорошо, когда у нас есть небольшие по времени эпизоды, которые мы можем легко распараллелить. И, например, блэк джек есть очень хороший пример, он будет
31: Вам дан как задача посчитать там функцию ценности, состояния, графики, нарисовать. Это все будет в mehrere. Вот. И это очень хороший пример именно для методов монте карло, потому что каждый эпизод, то есть игра, длится небольшое
32: Количество времени и мы можем параллельно много запускать, можно пару слов скажу вот вчера на лекции кто был, я вот про это рассказывал, то есть мы оцениваем политику, вычисляем функцию ценности, значит, q и затем улучшаем.
33: Вот берём жадную политику, которая, значит, каждому состоянии оставляет действия, которых максимальные. Это вот Ровно тоже самое, но только это для детерминированных политиков. Константин будет рассказывать про вероятностные политики. Вот.
34: Теперь хотелось ещё сказать про небольшой трюк, который вам поможет при выполнении практической работы, потому что хочется, чтобы вы не только получили алгоритмы, но ещё попробовали их оптимизировать, потому что
35: В сухую алгоритмами мало кто пользуется. То есть чаще всего нужны оптимизации. И здесь достаточно понятная оптимизация будет. То есть у нас, ну, вводим просто функцию ценности состояния. Я на простом примере покажу, но для ку
36: Функции тоже самое мы получается.
37: Считаем сумму просто по всем возвратам.
38: И таким образом, мы на самом деле, можем, ну, где р, это множество всех возвратов в данном состоянии собранных для этого состояния. То есть эта формула достаточно
39: Простая. Тут я опускаю некоторые индексы. Вот, но она это награда, да, которую мы получаем. Да, да, да. Награда зависит от пары, от состояния, от действия, которые мы предпринимаем. Это, это функции.
40: Только для ценности. Это как награда для состояния считается сумма по всем действиям или как сумма для, для, награда, для действия. Награда это ртс, а так просто ттс, да ну.
41: Потому что здесь не совсем это имеется ввиду, это множество всех возвратов, собранных для этого состояния. То есть это награда все-таки.
42: Возвраты, возвраты это функция у нас дисконтированная сумма наград.
43: Вот, и что? Это очень классная функция и понятно, что мы можем, но для вычисления данного значения нам нужно хранить весь массив, а на самом деле мы можем хранить не массив, а просто, ну не каж.
44: Раз высчитывает сумму, этот трюк часто используется в динамическом программировании, в олимпиадном программировании. Когда у нас есть большие ограничения по памяти, то мы просто берём
45: В от с это будет в от, с прошлое плюс альфа жжёт минус в от с вот, вот это, вот этот трюк, он вам понадобится для большинс, для оптимиза.
46: Большинства алгоритмов это достаточно знакомая формула, она и в темпл дифференс появится, и, например, кто занимался классическим машинным обучением, тоже её должны знать, что тут написано, что мы берём теку.
47: Функцию и прибавляем к ней вот такую величину, что это, это по сути, разность возврата и функции ценности состояния. И дальше мы используем параметр альфа. Он обычно называется шаг
48: Обходимости степ сайз параметр, если по-английски вот если мы просто положим альфа, равно 1 делить на n с где n это колли?
49: Приходов, состояние с, то мы получим точно ту же формулу, что и наверху, но при этом, что любопытно нам для того, чтобы вычислять этот алгоритм, нам нужно
50: Всего лишь 3 величины, то есть у него Константная, у такого, у такого улучшения функции улучшения, апроксимации, функции, у неё Константная зависимость памяти от длины.
51: Виктории это очень полезно, да.
52: Вопрос вот по самой верхней формуле. То есть, получается, мы вот берём вообще все возвраты. То есть каждый раз, когда мы попадаем в это состояние, мы считаем, мы считаем, возврат получается. Да, да, да, да, это, например, независимости от времени.
53: Вне зависимости от времени мы для всех вот есть разные реализации, но они все сходятся всегда к 1, при условии, при допущении того, что мы проводим бесконечное количество экспериментов. Это также
54: Как-то, что у нас мат ожидания можно оценивать с помощью выборочного среднего при большом количестве экспериментов. То есть это тоже самое плюс минус. Вот то есть вот этот подход он прям достаточно важный, его нужно запомнить, он вам
55: Понадобится, потому что в ноутбуках нужно будет писать, например, не просто посчитать функцию состояние, импортировать какую-то функцию, а нужно будет брать и вот такие формулы писать, чтобы вы руками научились это делать.
56: Теперь, как мы поняли, как можно улучшать нашу функцию. Про оценку я тоже говорил уже на прошлых занятиях, но я думаю, вы уже знаете, что-то есть, что можно всегда почитать ещё.
57: Хотелось рассказать про то, что методы монте карло понятно, когда мы не можем воспользоваться методами монте карло, когда у нас есть политика и при этом вероятность
58: Прийти в какое-то состояние, она нулевая. Вот. И для этого мы используем немного другое допущение. То есть мы рассматриваем не все возможные политики, а мы рассматриваем только те политики.
59: Для которых, для всех а. И. С у нас выполняется такое свойство.
60: Вот, то есть, получается, что здесь написано, это мы рассматриваем для всех, а для всех с понятно, что чаще всего у нас алгоритм работает эпсилон гриди или
61: Софт. То есть что мы делаем? Мы каждый, у нас есть эксплорейшн эксплуатейшн. Проблема, мы должны её решать, но при этом мы не можем позволить что-то есть. Чаще всего у нас алгоритм
62: Должен оставаться жадным, и каждый раз вот после каждого Прохода по Такому циклу наш алгоритм становится более жадным к тем действиям, которые приносят наибольшую награду, но при этом у нас все равно остаётся вероятность эпсилон.
63: Которая говорит нам о том, что мы можем выбрать какое-то случайное действие. И здесь, по сути, величина такая-то, что наша вероятность выполнить действие в таком
64: Состоянии должна быть больше или равна нашему эпсилону алгоритма, который мы определяем сами или с помощью подбора гипер параметров, например Басовский подход или просто grid search. Вот это различные алгоритмы и
65: Дальше мы делим на всевозможные действия, которые возможны в этом состоянии, да, все действия, которые можно, можно выполнить в этом состоянии, да, не все действия можно выполнить в каждом состоянии, да.
66: Мы поэтому берём, то есть когда-то это все множество, когда-то у нас есть какие-то ограничения вот то есть например мы подошли к стене и понятно, если мы смотрим в стену to вперёд, мы уже пройти не можем, тогда у нас появляется ограни.
67: А если мы стоим в центре и ходим вперёд, назад, влево, вправо, то мы можем пойти куда угодно. И наша атс тоже самое, что и просто. А вот это тоже такой важный нюанс и
68: Сейчас я веду такие рассуждения про метод монте карло. Хочу показать на примере данных рассуждений, как вам стоит вести рассуждения при работе над алгоритмами из практической работы, то есть примерный
69: Подход должен быть таким же, что дальше давайте, в принципе, буду резюмировать с монте карло и переходить к теме сегодняшнего занятия. Мы поняли то, что метод монте карло классный, потому что
70: Ну, он достаточно простой, мы просто усредняем, это достаточно Лёгкая идея. Дальше мы не требуем никаких знаний о модели среды. Это как раз-таки модель среды, это наша функция п от 4 состояний, да?
71: 4 аргументов. Ой, да, 4 аргументов. В принципе, это основные преимущества достаточно дёшево, если у нас сам эпизод достаточно дешёвый, но при этом важный момент. Монте карло, методы
72: Возможно использовать, когда у нас цена ошибки велика. Почему? Потому что мы, по сути, слепо можем принять любое действие в любой ситуации, и это ведёт это на
73: На самом деле очень плохо в робототехнике, например, когда у нас робот какой-то может сломаться, что-то выйти из строя и в реальности. После того, как произошло обучение, политику замораживают и она не учится, в отличие, например, от ллма, где цена ошибки не такая.
74: Большая и даже когда модель работает, она обучается вот
75: Что ещё? Ну, с этим тоже научились сейчас бороться. Вот я видел, даже в группу курса скидывали гитхаб со средами для обучения с подкреплением.
76: То есть сейчас это такая Новомодная область исследований, и многие лаборатории занимаются именно этим, пытаются создавать какие-то, пытаются создать Лёгкий инструмент для создания, для
77: Симуляции сред, в которых работает та или иная рель модель. И таким образом ускорять, удешевлять обучение. Вот. Но пока это тоже работает.
78: Работает, но не очень хорошо. Каждая статья, которая выходит на эту тему, это уже достаточно большой прорыв, если там есть что-то классное, ну, из научных достижений. Вот.
79: В принципе, это все, что, наверное, я хотел рассказать, поэтому давайте перейдём потихоньку к 2 части. Давайте я перейду сюда. Мы сегодня разбираемся с, по сути, таким.
80: Преемником метода монте карло, насколько я помню, темпр дифференс появился позже метода монте Карла и стал некой революцией, потому что он стал
81: Он, во первых, открыл новый взгляд на обучение с подкреплением и помог решать многие задачи, которые до этого казались невозможными для решения его идея очень простая, точно такая же, как в градиентном бустинге.
82: Наверняка вы видели эту картинку, когда вот есть пингвинчик с гольфом, ну, с клюшкой от гольфа. И вот мячик все ближе и ближе к лунке. Здесь, в темпр дифференс, точно такая же идея. Мы не ждём окончания эпизода, а допустим,
83: Если вот у нас есть линии функции ценности, вот у нас точка это в звёздочка, то есть оптимальная функция ценности, а мы начинаем где-то здесь, то мы идём
84: Стахостическим шагами. То есть мы оцениваем не весь, не весь возврат, а мы потихоньку смещаемся в сторону, такую вот в сторону, все ближе и ближе к оптимальной функции.
85: Ценности или оптимальной политики. Это происходит одновременно. Поэтому тут не так важно. Вот это основа данного алгоритма. То есть мы каждый раз высчитываем возврат
86: Новый и немного немного смещаем нашу функцию ценности, то есть мы можем инициировать её как угодно, но это достаточно хорошее упражнение понять, как меняется сходимость темпр дифференс от инициализации.
87: Начальной функции ценности состояний. Вот, то есть можно начать это решить упражнение для простого случая, когда у нас функция представляется таблицей. Вот это достаточно интересная задачка и поможет вам лучше.
88: Понять этот алгоритм. Вот понятно, почему этот алгоритм достаточно классно работает для эпизодов, которые не имеют терминального состояния, просто потому, что нам нужна опреде,
89: Определённая точность. Мы задаём какой-то, ну не эпсилон уже занято, но все равно это, допустим, другой эпсилон, который показывает нам, насколько наша аппроксимируем я. Функция может отличаться от оптимальной и таким образом,
90: Эту величину мы высчитываем с помощью понимания, какое качество необходимо нашему роботу. Например, то есть с какой точностью мы хотим передвигать детали. Это сантиметры или это миллиметры, вот, и так далее. И таким образом мы просто запускаем
91: Какую-то машину и вот она учится, учится, учится, пока не достигнет определённой точности. Сейчас я, получается, напишу нам формулу этого алгоритма и расскажу подробнее про критерии сходимости.
92: То есть, когда вообще может этот алгоритм сходиться, вот у нас есть уравнение беллмана, которое мы уже все знаем, и мы получ.
93: На практике, что вот такое значение. Так me подводит кама и с т + 1. То есть понятно сейчас, ну.
94: Что у нас значит то, что у нас текущая функция ценности, состояния?
95: What забыл примерно равна текущей награде на следующем шаге плюс функции дисконтированной функции ценности следующего состояния вот и мы с этим разобрались, мы уже даже это доказали.
96: Почему я ставлю здесь примерно потому, что это действительно равно в случае оптимальной политики и в каких-то простых случаях, в реальности, когда мы не можем чётко посчитать, например, награду или чётко посчи.
97: Нашу функцию ценности. Следующее состояние у нас получается примерно все-таки в реальности не все идеально. Вот. И в самом последнем состоянии функция ценности равна нулю, да, функция это надо сказать, да, а это уже было
98: Говорено, когда мы проговори, ну, говорили об этих функциях и выводили их свойства, то есть считается от конца к началу, да, вот теперь, а давайте просто будем каждый раз пытаться наилучшим образом.
99: Оценить вот эту величину. И таким образом мы сможем на каждом шаге оценивать нашу функцию ценности состояния. Вот и начнём мы с вывода алгоритма темпорал дифференс 0. Вот он записывается как просто
100: Т д 0, вы чуть позже поймёте, почему здесь стоит 0. Это определённый параметр обычно в более общем случае у нас алгоритм т. Д. Н вот и это будет по сути.
101: Показывает нам, насколько далеко мы смотрим в будущее. Вот тогда, если у нас есть алгоритм, то
102: У нас обновление происходит по Такому принципу.
103: С т + 1 минус в с т вот. Ну и что мы здесь видим? Мы здесь на самом деле видим точно такую же схему. У нас есть текущее значение, и мы его
104: Уточняем с помощью какого-то конкретного способа вот что на самом деле вот это означает. Ну вот мы пытаемся этот альфа у нас
105: Как раз-таки степ сайз параметр, теперь мы не требуем того, что, например, это 1, делить на n, где n количество состояний, количество раз, когда мы пришли в это состояние, то есть у нас здесь мы 1 пыта.
106: На каждом шаге наилучшим образом предсказывать.
107: Лучшее лучшую функцию, которая сработала бы на этом шаге. Итак, чтобы наш алгоритм учился, мы добавляем здесь параметр альфа, который мы делаем меньше единицы. Вот вообще, строго говоря, этот альфа должен
108: Удовлетворять критерию робинсона монро. Вот свойствам, точнее альфа постоянно или все зависит от реализации альфа может быть иметь какую-то постоянную функцию. Это может быть скользящая, средняя экспоненциальная
109: То есть, постоянная-ка там, условно, там сумма должна быть квадратов меньше бесконечно. Ну, если мы учитываем то, что это бесконечно малых. Вот. То есть, иногда встречаются такие варианты, когда у нас альфа бесконечно малая изначально.
110: Вот, но это прям совсем дикость. То есть чаще всего alpha меняется по какой-то формуле, а чаще всего меняется по достаточно очевидной формуле. Вот, но часто используются экспоненциальные средние для альфа. Я сейчас расскажу про это.
111: Если бы индекс ты написал при альфа, ну, там условие сумма альфа т квадрат меньше бесконечности должно, да, но это я сейчас буду там не только это, там ещё de 1 у критерия, да, вот теперь.
112: Доказательство того, что у нас этот алгоритм сходится, то, что он сходится к единственной точке, что эта точка неподвижная, на самом деле точно такое же, как и предыдущие разы вот это все есть на mehrere, здесь они
113: Буду сейчас тратить время, потому что у нас его не так много остаётся. Теперь хотелось ещё сказать про критерий робинсон монро, как раз-таки, который необходим для альфа, то есть условия на альфа.
114: У нас всего 2 условия на альфа.
115: И они имеют.
116: Ну, 1, допустим.
117: Так, если что-то не видно, вы говорите, я постараюсь писать крупнее. Вот.
118: Вот у нас есть 2 условия и, по сути, альфа, этот параметр, который можно воспринимать как определённый настройку того, как быстро сходится наш алгоритм. И нам важно, чтобы
119: Эти случайные, ну потому что наш алгоритм не оценивает полную, полные возвраты, а делает каждый раз одношаговые предсказания, то нам важно, чтобы случай
120: Этих Шагов она убывала и достаточно убывала быстро. Вот. И поэтому нам важно, чтобы
121: Сам ряд альфа квадратов у нас, получается, сходился. Сейчас я даже неправильно тут написал, тут не равно должно быть. Вот. А
122: Да, да, да.
123: Вот, да, я, я что-то и там и там равно написал, вот, то есть как это воспринимать вот это условие можно воспринимать то, что мы хотим добиться того, что наше влияние случайностей
124: Нашего процесса, то есть его стохастичности, потому что вообще обучение с подкреплением это на самом деле стахастический анализ, оно будет очень маленьким. Вот. А с другой стороны, мы хотим, чтобы эти шаги действительно были доста.
125: Значимыми, вот, чтобы мы успевали сходиться к нашей точке. Вот
126: Листик кого, который вот. Ну так, теперь давайте ещё введём небольшой
127: Но важный термин вот это критерий робинсона монро, его можно, его нужно скорее запомнить, он достаточно легко запоминается, но при этом используется для проверки большинства таких задач, где на
128: Мы хотим изучить какую-то сходимость. Вот теперь введём темпл дифференс рор, то есть ошибку темпра дифференс. Мы обозначаем её маленькой дельтой. Она зависит от времени. Это, по сути, награда.
129: На следующем шаге, плюс дисконтированная сумма ценности на следующем, ой, следующего состояния, минус функция ценности текущего состояния. То есть и тогда у нас
130: На самом деле верхнее уравнение принимает другой вид в с т плюс альфа дельта т. То есть вот такая короткая запись.
131: Она возможна, её тоже я принимаю, но надо объяснять, что такое дельта, соответственно, и дельта нам понадобится позже для других алгоритмов. Вот. Ну и понятно, что оно означает, если мы посмотрим на формулу,
132: То если наша дельта близка к нулю, тогда мы уже почти пришли к нашей функции, ценности, состояния и все работает. Вот что дальше? Дальше? Вот.
133: Это ошибка, она очень важная. Мы познакомимся в следующие алгоритмы. У нас будут эктор, критик и так далее, и так далее. И там мы будем активно использовать. В принципе, понятно. Давайте теперь поговорим немного про
134: Свойство темпл дифференс. Вот даже здесь видно по картинке, что у нас достаточно большие шаги, и поэтому у алгоритма темпол дифференс у нас, наоборот, большое смещение, но при этом диспер
135: Не такая большая вот темпл дифференс это такой вот преемник градиентного бустинга, в то время как покажи пальчиком, где смещение, а где дисперсия здесь.
136: Что смещение в каком плане? Ну у нас же здесь смещение небольшое, дисперсия большая, как это следует из вот этой картинки, из этой картинки, как это следует? Ну, то, что у нас шаги, ну, у нас, может вот у нас оптимальное
137: Траектория самая вот это наша оптимальная траектория, но при этом наш алгоритм не идёт по этой траектории. А вот вот здесь берём и смотрим. Ага. У нас вот такое смещение и у данного алгоритма относи
138: Оптимальной траектории, стремление текущей политики и текущей функции ценности состояния к оптимальным функциям ценности, состояния и оптимальным политикам будет обладать вот таким
139: Смещением достаточно большим, вот оно постепенно уменьшается, но все равно на это нужно больше Шагов. А у монте карло, наоборот, дисперсия больше. То есть мы не обязательно приходим в эту точку, а мы у нас смещ.
140: Небольшое. Мы сразу гуляем где-то рядом, но при этом мы то тут, то тут, то тут и вот так вот усредняем, усредняем и попадаем потом все равно к этой точке. То есть монте карло, методы монте карло и методы темпра дифференс. Они сходятся у нас к 1
141: Точки вот соответственно ещё зачастую нам вообще почему мы вводили функцию q от с и а потому что у нас иногда
142: Ценность состояния может определяться не только тем, что мы вот в него пришли, у него есть какая-то ценность, а тем, какое действие мы в нём совершаем. Поэтому это все верно и для функции пары
143: Ценности действия, состояния теперь хотел бы перейти к 2 наверное самым главным алгоритмам сарса и q learning вот это такие основные методы, которые в своё время.
144: Сильно изменили ландшафт обучения с подкреплением. Вот если есть вопросы, я сейчас на них отвечу и будем переходить к следующей части.
145: Да, а вот оптимальную политику ты не строишь, да, оптимальную политику? Ну, я вычисляю оптимальную функцию ценности, а если у нас есть, ну, то мы и политик.
146: Же сразу строим то, что у нас каждая функция ценности, она привязана к политике, мы сразу понимаем, если у нас определ оптимальной функции, ценности, состояния, у нас соответствует оптимальная политика всегда. Поэтому по оптимальной функции ценности
147: Мы всегда можем найти оптимальную политику. Вот глупый вопрос ценности, Виктор.
148: Да, его можно решить, найти. Вот, да, ценности решает уравнение. А зачем тогда для оценки как раз-таки этих функций нет, эти функции можно решить уравнение.
149: Их найти. Ну, в реальности их мы не можем решить в реальности у нас среды слишком сложные, и мы не можем. К тому же мы можем решить уравнение беллмана только тогда, когда у нас есть модель среды, то есть та функция, провокационный вопрос на самом
150: А все-таки тут нужна матрица по не матрица, а набор матриц. Вот, а у нас их нету, у нас их есть только конкретные розыгрыш. Ну вот я и говорю, это как раз-таки вот эта матрица п, они являются моделью среды, у нас их нету.
151: Поэтому мы не можем. Так, а такой вопрос. У тебя состояние все-таки известно, да, здесь, то есть состояние, да, мы уже посетили эпизод. А если мы не знаем какие
152: Просто наблюдаем действия и все. Если мы, я помню, я изучал данную ситуацию. Сейчас я точно не скажу, если там вроде мы дела.
153: Какую-то оценку, какое-то предположение и все хорошо получается. Но точно сейчас всем разработать аналоги этих алгоритмов, когда состояние мы не знаем, это будет интересная задачка. Вам понравится Колмогоров, он только так воспитывал серьёзных людей, он давал задачи
154: Никто, в общем, не знает, как подступиться. Ну, в реальности они имеют решение. Данная задача даже имеет решение, но оно примерное и не математическое, эмпирическое. На самом деле, серьёзный вопрос. Изучить эту ситуацию, посмотреть.
155: Статьи, где вот тоже самое. То есть функция ценности строится, но не для состояний. Ну, точнее говоря, там же политика должна быть, да, оптимальная цель, то это политику, да, найти оптимальную политику. Если политика без состояний, как-то
156: Её определять политика без состояний. Ну тогда это не будет политика. А что будет, если состояние мы не знаем, а что у нас есть? У нас есть просто какие-то варианты наград. Мы знаем просто о том, как какое распределение называется функции из цепочек действий.
157: Новые действия, то есть мы совершили действия, надо по ним определить новые действия. Самое оптимальное. Вот этому надо обучиться. Да, да. То есть политика имеет, ну да, это как будто неполные, ну, неполные данные для того, чтобы решать реальные задачи.
158: Поэтому надо как-то вот когда мы состояние не знаем, только видим робот, да, вот он ползает действия выполняет награду получает, а состояние его мы не знаем. Но нам надо учиться управлять действиями, чтобы как-то там суммарная награда была максимальная. В общем, понятно, в чем задача, да, придумать аналог.
159: Понятие политики, когда состояния нету, это функция есть цепочка действий, новые действия и разработайте вот этот д метод построения оптимальной политики. Вот такая домашнее задание. Да, я the
160: Что если вы посидите, то вы что-нибудь придумаете. Я буду рад почитать то, что вы придумаете каким-нибудь субботним вечером. Так, да, вопрос.
161: Глупый вопрос, я просто не понял, а мы находим оптимальную функцию ценности, да, но мы для этого как бы высчитываем какие-то функции ценности, а как мы это делаем? Мы делаем это мы каждый раз у нас
162: Есть следующее. Мы каждый раз идём следующую, следующую. А самая конечная функция ценности. Ну вот у нас есть состояние, т. Т. Большое, это терминальное состояние и функция ценности от с.
163: Терминального, она у нас всегда равна нулю. Вот, и таким образом мы идём как бы обратно, разворачивая этот алгоритм. Вот. То есть это проговорилось, это на мире в принципе, написано, вот там можно почитать про это подробнее. Вот условия, да.
164: Робинсон монро, да, у нас.
165: Сумма альфа т равна бесконечности, да разве нет условия на состояние? С? По моему, нет? Формулируется условие, что альфа т вот с в сумме бесконечности должна быть равна бесконечности. Это как бы условие того, что в каждо
166: Состоянии бывает достаточное количество раз. Нет, это немного про другое. Критерий робинсона монро он необходим просто как критерий сходимости. Сейчас я покажу. То есть у нас, допустим, есть какой-то алгоритм.
167: Допустим, ну вы на буквы не смотрите, допустим, an равно n от tt равно n от т - 1 плюс какой-нибудь альфа дельта.
168: Вот, и в таких алгоритмах мы часто используем критерии робинсона монро для того, чтобы понять вообще, будет ли обладать. Ну потому что у альфа может быть, например, какой-то конкретный вид.
169: Tt равно 1 делить на т. Вот и тогда мы должны изучить а этот алгоритм вообще может сходиться или нет, и для такого вида алгоритмов был придуман критерий робин.
170: Монро, который позволяет нам понять, сходится ли такой алгоритм или нет. И вот если альфа удовлетворяет ему, то алгоритм будет сходиться к какой-то точке. Если это у нас, например, будет являться сжимающим отображением, то чаще всего это будет являться
171: Неподвижной точкой в нашем пространстве, в контексте обучения с подкреплением это будет оптимальное что-либо. То есть оптимальная политика, оптимальная. А то, про что ты говоришь, то, что мы должны посетить все состояния, это
172: Необходимое требование для, например, алгоритмов робинсона монро, ой, все mon для алгоритмов монте карло, которые требуют, чтобы можно было прийти во все состояния и
173: И тогда у нас алгоритм будет действительно сходиться к оптимальным, а если он не посещает все состояния с какой-то вероятностью, то не будет сходиться это именно про сходимость монте карло. А робинсон моннро это более общий для таких вот
174: Видов. Просто мы этот критерий применяем для лернинг получается. Ну, в том числе, да, в каком состоянии.
175: Ни разу не побывали, но вот сумма альфа, те все ещё равна бесконечности, то мы, получается, для вот состояния, в котором мы ни разу не были, не сможем определить корректность. Да, мы, мы не все не можем сойтись.
176: У нас, как называется у нас оптима, у нас же temple дифференс сходится на бесконечности. И все-таки мы требуем то, что у нас вероятность не 0. То есть у нас есть условия на то, что вероятность не 0. Вот
177: Но это все равно это не критерий робинсон монро, а это именно критерий для td или для монте карло, то есть именно каноничный робинсон монро он выглядит именно так, и потому что ну это в.
178: Рели, у нас есть какие-то дополнительные условия, а в стохастическом анализе есть варианты, когда нам не нужны какие-то дополнительные предположения о природе. Вот теперь про сарсу сарсы достаточно.
179: Странно обозначается, но если мы посмотрим, как можно это назвать, то добавим здесь индекс т здесь индекс т здесь т здесь т + 1 здесь т + 1 вот и здесь т + 1. Вот и теперь мы видим, что на самом деле это
180: Часть нашей траектории, и этот алгоритм использует выбранное следующее действие для того, чтобы обновлять нашу функцию ку с от. А вот конкретная формула сейчас я запишу
181: Так, это получается текущая.
182: У нас будет точно такая же схема. То, что мы берём текущую величину. Главное, с индексами не ошибиться. Плюс я сразу покажу здесь.
183: Переход как раз-таки альфа. И вот то, что там мы называли дельтой здесь это р т + 1 плюс гамма ку с т + 1 а
184: Т + 1 плюс в кружочке, потому, ну, чтобы было видно, что это я сюда перехожу. Вот смысл немножко другой.
185: Нет, ну это все зависит от этого, но здесь это просто для перехода, потому что в прошлый раз, когда я нарисовал что-то без кружочка, мне сказали, что непонятно, куда мы переходим, я учусь на ошибках, но, похоже, неправильно.
186: Плохой у меня рель, алгоритм в голове обратное это обновление.
187: Значение, да, да, да. Ну, присвоение, как в некоторых языках программирования.
188: Паскале, да, но я думаю, что вообще, наверное, практическую работу можно писать на любом языке, но я бы хотел бы, чтобы вы писали на питоне или максимум на р языке. Может, слышали.
189: A r. Он просто английская буква р. Вот все-таки изучать рль на плюсах я конечно заманчиво, но я бы не хотел бы проверять ваши графики на плюсах написанные, теперь вернёмся к.
190: Мы видим такое обновление, оно действительно достаточно обычный использует тд. Лернинг. Вот, и мы, по сути, какая спрятана интуиция за этим алгоритмом? Вот достаточно простая
191: То есть мы учим, мы считаем, вот находясь в шаге, то, что дальше я буду вести себя так же, как сейчас, то есть таким же оптимальным способом. Вот в то время как кулени у нас делает другое предположении.
192: Какое мне действие сейчас выбрать, если дальше я буду делать только оптимальные шаги. Вот понятно, почему мы здесь делаем предположение о будущем, потому что потом мы будем как раз-таки идти обратно вот эту цепочку от терминального
193: Состояние, например, или от какого-то выбранного состояния назад во времени. Вот, и сарса давайте подумаем, если, то есть ещё раз, что делает сарса, мы смотрим
194: На траекторию и думаем то что если я буду делать так же, как сейчас, то что я получу, какой это метод? Давайте голосовать. Это о полисе или он полисе метод. Давайте, кто за он полисе.
195: Угу. Кто за of полисе побольше. Но, как как ни странно, большая часть воздержалась. Вот зря. Лучше сделать глупое предположение и потом исправиться. Чем не делать никакого предположения.
196: Вот я часто делаю глупые предположения. Это на самом деле, он полиси метод, потому что мы улучшаем ту же политику, ту же функцию ценности, пары, состояния действия, что и наша политика. Ну,
197: Текущая, то есть мы то, что генерит сарсу, то её и как раз-таки улучшает нашу политику, функцию и так далее. Вот, то есть это важная такая звёздочка. Давайте здесь сделаю
198: Он полисе метод вот потому что различия он полисе, полисе методов мы будем я потом буду спрашивать и это достаточно важный момент. Вот как можно было уже догадаться кулени это больше о полисе метод. Вот.
199: Для баланса, так сказать. И тут идея тоже достаточно простая. Сейчас я напишу формулу, она почти та же самая, но есть небольшое изменение, которое как раз-таки ведёт к
200: Значительным изменением поведения алгоритма.
201: Вот точно также р т + 1. Вот, а потом у нас начинается изменения.
202: Мы берём не просто, ну, функцию следующего состояния действия, а мы рассматриваем максимальную. То есть мы думаем, мы перебираем все возможные действия в следующем состоянии.
203: И выбираем то, которое будет, которое принесёт нам наибольшую награду. Вот. То есть вот здесь самое главное отличие. Давайте я напишу, что это в полисе метод. Ой, да.
204: Да да, q.
205: Это верно, это ку ку т т + 1. Вот сейчас я объясню, что это значит.
206: Так, это полисе метод. То есть мы сначала генерируем какую-то цепочку. Почему это полисе? Потому что чтобы выбрать нам максимальное значение, мы должны знать вообще следующие все возмо.
207: Следующие состояния. Вот что стоит ещё сказать. Ну понятно, что здесь мы записываем все тоже самое. Только мы берём максимум по действиям следующим, которые мы предпримем в ст плюс.
208: 1. Вот, то есть какая интуиция стоит за Куленина достаточно простая. То что, что мне делать сейчас, если дальше я буду действовать самым оптимальным, самым лучшим способом? Вот это в принципе,
209: Это главное различие у нас в этой части. То есть где-то мы думаем, что мы поступим так же, как сейчас. И это вот на примере сарса и кулени очень хорошо показывает разницу между и очень наглядно это получается.
210: Показывать разницу между он полисе и of полисе методами, то есть в он полисе мы считаем то, что дальше мы будем действовать так же, как до этого делали, и таким образом оцениваем наши функции в of полисе, методах.
211: Мы уже имеем полные цепочки, полные награды, и мы понимаем, что принесёт нам наибольшее действие. Поэтому мы концентрируемся не то что не на том, что произойдёт в будущем, потому что мы и так знаем то, что принесёт нам больше всего, а мы хотим понять здесь.
212: Сейчас что нужно выбрать? Вот. То есть что из этого, какие плюсы и минусы тут на самом деле достаточно базово. Сейчас ещё будет 1 мини упражнение, потом на дом вам сарса лучше проводит.
213: Exploration исследование вот кулери. Наоборот, колернинг более оптимистичная, алгоритм, а сарса больше такой исследовательский. В принципе, это основное различие.
214: Само упражнение заключается в том, что реализовать эти методы, ой, методы, алгоритмы. Вот, и как раз-таки на практике посмотреть вот с графиками просто графики в обучении с подкреплением, это, наверно,
215: 1 из самых лучших, потому что мы все время можем смотреть, как в зависимости от алгоритма меняется наша траектория сходимости к оптимальной политике и так далее, и так далее. То есть мы можем смотреть, например, за темпра, дифферен с ошибкой и так далее. Вот это даёт нам
216: Какую-то информацию здесь я советую вам с арсой и куленном провести тоже самое самим. В принципе, доказательство, что эти алгоритмы сходятся и сходятся на самом деле к оптимальным функциям ку, оно аналогично все
217: Доказательства используют один и тот же подход неподвижной точки. Вот.
218: Есть некоторые промежуточные алгоритмы, как, например, экспектед сарса. Вот это что-то среднее между этими 2 алгоритмами. Важно ещё сказать то, что строго
219: Говоря, он полис в полисе это не какое-то чёткое разделение, а скорее шкала, где в 1 мы.
220: Это такая шкала, где есть, ну, существуют промежуточные состояния, почему это важно? Потому что, например, последние алгоритмы, как jr пио, это больше гибридная модель алгоритма.
221: Где нельзя точно сказать, что это о, в полисе, или он в полисе. То есть там используются методы и того, и того алгоритмов, ну, точнее, семейств, алгоритмов, потому что, о, в полисе алгоритмы, и он в полисе. Алгоритмы, это все-таки семейство вот есть.
222: Какие-то у вас вопросы по конкретно этим алгоритмам? Отлично. Сейчас я как раз-таки расскажу вам про тдн. Алгоритмы. Немного ещё скажу про
223: 1 практическую работу. И, в принципе, я думаю, можно вас будет немного, ну, уже отпускать.
224: Так, отлично. Вот теперь.
225: Теперь о тдн. Ну вот, вспомним темпра дифферент зря я, наверное, конкретно его формулу стёр, но там у нас используется всего лишь 1 возврат. А если мы возьмём и определим новую?
226: Величину не просто возврат какой-то, а энный возврат. Вот, и тогда это она будет определяться как награда на следующем шаге плюс награда.
227: Ориентированная на ещё следующем плюс и так далее плюс игрек н - 1 р т plus н.
228: Да и gamma н - 1 плюс гамма н на в степени с т plus н. Что это по сути обозначает, то есть, если мы говорим?
229: Про обычные возвраты, то если бы мы брали вот возвраты в эпизодическом, то мы уже рассматривали подобные возвраты, просто здесь вместо н стоит большая буковка т. То есть означающая терминальное состояние.
230: И мы так идём до терминального состояния. Вот здесь у нас в тдн используется другая запись. Не запись, а скорее формула, запись.
231: У нас плюс минус та же самая, то есть действительно тоже самое обновление. Плюс как раз-таки альфа плюс то, что мы считаем т. Н. Минус в с т вот.
232: То есть практически ничем не отличается формула, и понятно, что при n равном единице мы на самом деле получаем обычный тир, то есть.
233: Сейчас я напишу, что это т д н вот это т д. Н. Алгоритм при n равном единице у нас обычной тд 0 это достаточно просто, это даже проверять не нужно, вот.
234: А теперь давайте подумаем, что будет, если н, мы устремляем к бесконечности? Какой алгоритм мы тогда получим? Есть ли какие-то идеи? Давайте, кто сделает самый 1? Предположение самое правильное, или
235: Правильно. Есть при бесконечность. Ну да, монте карло. Достаточно понятно почему или непонятно. Судя по всему, непонятно. Сейчас объясню.
236: Вот, то есть, действительно, что будет, если мы здесь до бесконечности рассмотрим, то мы получаем обычные возвраты. И тогда у нас получается, формула, которая была вот на той доске. Надеюсь, вы записали для
237: Обычного алгоритма монте карло. Вот, то есть это действительно альфа, тогда мы можем сделать 1, делить на n, и все у нас работает классно. Вот. И это достаточно важный момент, то, что по сути, показывает то, что у нас
238: Как раз-таки то, о чем я говорил в начале семинара, то, что темпра дифференс и метод монте карло, они у нас не какие-то совершенно разные подходы, а наоборот, это один и тот же подход, просто с разным параметром.
239: И это дополнительно показывает связь между он полисе и of полисе методами. Если изначально мы сразу рассматривали то, что нн равно бесконечности. Потом мы пришли к н равно единице, то сейчас современные алгоритмы уже
240: Умеют где-то посередине плавать и использовать плюсы и того, и того алгоритма, потому что на самом деле вместе сээн, у нас меняется без вариант трейдов при разложении ошибки. То есть здесь идея
241: Здесь очень все похоже на классическое машинное обучение. То есть мы с помощью параметра н, мы можем регулировать дисперсию нашего алгоритма или смещение нашего алгоритма, а
242: Какие-то надстройки. Мы можем, например, построить бустинг или случайный лес на темпорал дифференс. И тут в зависимости от того, что вам нужно, вы можете различные надстройки делать.
243: В принципе, ещё 1 такое небольшое упражнение изучить характеристики такого алгоритма, то есть изучить характеристики тдн при различных параметрах н. То есть, если н больше и nn меньше, как у нас, изменяя
244: Величины. Вы можете, в принципе, в telegram присылать решения. Те, кто присылали мне уже решения. Я все помню, они у меня уже отмечены. Вот если
245: Если хотите, можете написать ещё раз. Я дам обратную связь. Если нет, то просто потом у вас будут баллы или не будут баллы. Все зависит от того, как кто решил. Вот.
246: В принципе, это основные моменты. Хочется упражнения. Я дал вам именно основные, но будут дополнительные намерерия. Вот тоже с баллами все, все будет.