background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "MIT 6.S191 (2019): Deep Reinforcement Learning"

input logo icon
Теги видео
|

Теги видео

deep learning
mit
artificial intelligence
reinforcement learning
machine learning
neural networks
introduction to deep learning
introduction to neural networks
intro to deep learning
6s191
6.s191
mit deep learning
alexander amini
amini
ava soleimany
lex fridman
tensorflow
computer vision
alphago
alpha zero
deep mind
deepmind
what is deep learning?
tensorflow tutorial
deep learning basics
deep learning explained
reinforcement learning basics
nvidia
openai
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:03
сегодня мы собираемся обсудить глубокое
00:00:06
обучение с подкреплением, которое на самом деле представляет собой
00:00:09
комбинацию дисциплин
00:00:12
глубокого обучения и
00:00:14
давнего сообщества
00:00:16
обучения с подкреплением, которое существует уже много
00:00:18
десятилетий в машинном обучении и на
00:00:22
высоком уровне обучения с подкреплением.
00:00:23
предоставляет нам набор математических
00:00:26
инструментов и методов для обучения агентов тому,
00:00:29
как на самом деле перейти от восприятия
00:00:31
мира (как мы обычно говорим
00:00:33
о проблемах глубокого обучения или машинного обучения
00:00:36
в контексте
00:00:37
восприятия компьютерного зрения) к фактическому выходу за пределы
00:00:40
этого восприятия к фактическому действовать
00:00:43
в этом мире и выяснить, как
00:00:45
оптимально действовать в этом мире, и я хотел бы
00:00:49
начать с показа довольно короткого, но
00:00:52
драматичного видео трейлера фильма,
00:00:54
основанного на истории об альфа-призраке, о которой вы,
00:00:57
возможно, слышали просто для того, чтобы познакомьте нас
00:00:59
с мощью этих
00:01:01
техник го — старейшая в мире
00:01:06
настольная игра, в которую постоянно играют. Это одна
00:01:09
из самых простых и в то же время самых абстрактных игр. Она
00:01:12
превосходит меня, профессионального игрока. Го — это
00:01:15
давняя задача искусственного
00:01:17
интеллекта
00:01:19
[Музыка]
00:01:21
все, что мы когда-либо пробовал в ИИ, просто
00:01:23
падаю, когда пытаешься сыграть в го,
00:01:25
количество возможных конфигураций
00:01:27
доски больше, чем количество атомов
00:01:29
во вселенной,
00:01:30
я откажусь, нашел способ научиться
00:01:32
играть в го так далеко, альфаго он справился со всеми
00:01:35
испытаниями, которые я ему ставил, но мы не узнаем
00:01:37
его истинную силу, пока не сыграем кого-то,
00:01:40
кто находится на вершине мира, как
00:01:42
кукла Лиза. Я не такая, как никто другой, вот-вот
00:01:45
начнется в Южной Корее, они сказали, что
00:01:47
все пойти в теннис, как Роджер Федерер,
00:01:49
просто сама мысль о
00:01:50
машине, играющей человека, потому что это
00:01:52
место по своей сути интригует, это
00:01:54
сумасшедший дом, добро пожаловать в глубокий
00:01:56
вызов разума, за которым наблюдает весь мир,
00:01:59
сможет ли кукла Лиза найти слабость альфаго,
00:02:02
эй, есть ли на самом деле слабость
00:02:07
игра как бы перевернулась
00:02:10
сейчас он не уверен, спасибо, это
00:02:13
перерастает в очень-очень опасную
00:02:14
драку, держи телефон, Рена вышла из
00:02:17
комнаты, в конце концов он сказал о гордости,
00:02:19
я думаю, что-то пошло не так, задыхается, чувак,
00:02:21
спасибо, у него есть план. эти
00:02:23
идеи, которые движут альфаго, будут
00:02:26
определять наше будущее, вот и все, ребята, так что для
00:02:33
тех из вас, кому интересно, на самом деле это
00:02:34
фильм, который вышел год или
00:02:36
два назад и теперь доступен на Netflix,
00:02:38
это довольно драматичное изображение
00:02:41
реальной истории Alphago сталкивается с Лизой
00:02:44
Доул, но
00:02:46
в то же время это невероятно мощная история, потому что она действительно
00:02:48
показывает влияние, которое этот алгоритм оказал
00:02:51
на мир и прессу, которую он
00:02:53
получил в результате, и, надеюсь, к
00:02:57
концу этой лекции вы поймете
00:02:58
смысл о том, что этот
00:03:00
замечательный алгоритм, который Valve ранее
00:03:02
обучила и который выходит за рамки этого,
00:03:05
хотя затем также прочитает лекцию о
00:03:07
некоторых новых рубежах глубокого
00:03:09
обучения, так что давайте начнем с
00:03:11
разговора о некоторых
00:03:13
классах того, что мы Мы уже видели в этой
00:03:15
лекции, сравнивали и видели,
00:03:18
как обучение с подкреплением вписывается в
00:03:19
эти классы, поэтому, прежде всего,
00:03:22
обучение с учителем — это, вероятно, самая распространенная
00:03:24
вещь, с которой мы сталкивались в
00:03:25
этом классе, нам дают данные и метки,
00:03:27
и мы вы пытаетесь изучить это
00:03:29
функциональное сопоставление, чтобы перейти от новых данных
00:03:31
к новым и к
00:03:32
одной из существующих меток в нашем
00:03:34
обучающем наборе, и, например, мы можем
00:03:38
делать такие вещи, как классификация, когда я
00:03:40
даю вам изображение яблока, а
00:03:42
алгоритм задается Чтобы определить, что
00:03:44
это действительно неконтролируемое
00:03:48
обучение Apple, мы обсуждали вчера,
00:03:50
и это касается проблемы, когда
00:03:52
есть только данные и нет меток, и
00:03:54
сравнивая нашу проблему с
00:03:57
примером Apple, я даю ему другое Apple, и
00:04:00
оно способно узнать, что эта вещь это
00:04:01
похоже на другую вещь, даже если он
00:04:03
не знает точно, что это
00:04:05
яблоки, но он способен понять некоторую
00:04:06
основную структуру этих двух
00:04:09
объектов, теперь, наконец, как
00:04:13
обучение с подкреплением вписывается в эту
00:04:14
парадигму, обучение с подкреплением имеет дело
00:04:16
с тем, что мы называем действием состояния
00:04:19
пары, поэтому он говорит о парах обоих состояний в
00:04:24
среде, которые получает агент,
00:04:26
а также о действиях, которые он предпринимает в этой
00:04:29
среде для выполнения и наблюдения новых
00:04:31
состояний, и цель обучения с подкреплением,
00:04:35
в отличие от обучения с учителем или
00:04:36
без учителя, состоит в том, чтобы фактически
00:04:39
максимизировать будущее. вознаграждения, которые он
00:04:42
может увидеть в любое время в будущем, чтобы действовать
00:04:45
оптимально в этой среде, например, я
00:04:47
могу максимизировать все будущие вознаграждения, которые он
00:04:49
увидит, и возвращаясь к примеру с Apple,
00:04:53
если я покажу ему это изображение яблока,
00:04:55
агент теперь может ответить в
00:04:57
настройку обучения с подкреплением, говоря, что
00:04:59
я должен съесть эту штуку, потому что
00:05:01
в прошлом я видел, что она помогает мне получить
00:05:03
питание и помогает мне выжить, поэтому
00:05:06
мы снова не знаем, что это за штука,
00:05:09
это не проблема обучения под присмотром,
00:05:10
когда мы Мы прямо говорим вам, что
00:05:12
это яблоко имеет пищевую ценность,
00:05:14
но со временем оно усвоило, что оно получает
00:05:16
вознаграждение за его употребление, и оно должно
00:05:18
продолжать есть его в будущем, поэтому
00:05:22
сегодня в этом классе мы сосредоточимся на
00:05:24
обучении с подкреплением и поиске того, как мы
00:05:27
можем создавать алгоритмы для работы в этой
00:05:33
парадигме действия состояния или обучения и восприятия, поэтому на предыдущем слайде я определил пару
00:05:36
концепций, таких как
00:05:38
вознаграждение за действия агента и среды,
00:05:40
которые я на самом деле не определял, и теперь я хотел бы
00:05:44
начать с прохождения
00:05:46
простой пример или простая схема,
00:05:47
где я четко определяю все эти
00:05:50
вещи, чтобы мы могли использовать их позже в
00:05:51
лекции и перейти на более высокие
00:05:54
уровни абстракции, поэтому идея
00:05:59
обучения с подкреплением связана с
00:06:01
центральным компонентом
00:06:03
обучения с подкреплением, связанным с агентом, поэтому агент,
00:06:05
например, похож на дрон, который
00:06:07
доставляет доставку, это может быть также Супер
00:06:10
Марио, который пытается ориентироваться в
00:06:12
видеоигре, алгоритм — это агент, а
00:06:16
в реальной жизни вы — агент, окей,
00:06:19
вы пытаетесь создать алгоритм или
00:06:21
машину модель обучения, которая моделирует
00:06:24
этого агента, и агент выполняет действия
00:06:27
в некоторой среде, теперь среда такая,
00:06:29
как я уже сказал, место, где агент
00:06:32
существует и работает в ней, может
00:06:36
отправлять действия в эту среду,
00:06:38
действие - это просто возможное движение,
00:06:41
которое агент может совершить в этой
00:06:43
среде, и ваше действие почти
00:06:46
не требует пояснений, но я должен отметить, что
00:06:50
действие, которое агент выполняет в
00:06:53
момент времени T, здесь я маленькое a из T, от Дино Нии,
00:06:55
обычно может быть выбрано из дискретного
00:06:58
подмножества возможных действий, которые мы Я
00:07:01
назову заглавную букву a, поэтому в первой части
00:07:04
лекции я сосредоточусь на дискретных
00:07:06
пространствах действий, где существует ограниченное
00:07:08
количество возможных действий. Вы можете
00:07:10
себе представить, как я говорю это, например, в видеоигре,
00:07:12
что агент может идти либо
00:07:15
влево, либо вправо. вперед или назад
00:07:17
взять блок опустить блок это
00:07:19
все возможные действия, которые вы могли бы
00:07:21
предпринять в этой среде сейчас, выполнив
00:07:26
действие в среде, агент
00:07:28
затем получит некоторое наблюдение обратно
00:07:31
из среды, эти наблюдения
00:07:33
фактически определяют, как агент взаимодействует
00:07:36
с окружающей средой, и оно может включать в себя такие
00:07:38
вещи, как изменение
00:07:41
состояния, например, если
00:07:44
вы агент, состояние — это то, что вы
00:07:46
видите, поэтому вы получаете входные данные датчиков,
00:07:49
это ваше видение, это ваш звук,
00:07:51
ваше прикосновение все это части вашего
00:07:53
состояния, и, по сути, это конкретная
00:07:58
ситуация, в которой агент
00:08:00
оказывается в любой момент времени, поэтому, когда
00:08:02
он предпринимает это действие, среда
00:08:03
отвечает новым состоянием, в котором агент
00:08:06
находится и ему дано это действие, и,
00:08:09
наконец, последняя часть На этой
00:08:12
схеме показано вознаграждение, которое
00:08:15
окружающая среда реагирует на это
00:08:17
действие, поэтому вознаграждение по сути похоже на
00:08:19
обратную связь, которая измеряет успех или
00:08:22
неудачу данного действия, предпринятого в
00:08:25
этой среде, например, в
00:08:28
видеоигре, когда Марио касается монеты, он получает
00:08:30
восемь: он получает вознаграждение из любого заданного
00:08:33
состояния; агент отправляет выходные данные в
00:08:35
виде действий в среду, и
00:08:37
среда возвращает агентам новое
00:08:40
состояние и связанную с этим награду за это
00:08:42
действие. Вознаграждения могут быть либо немедленными,
00:08:46
когда вы выполняете действие, и вы
00:08:48
немедленно получить вознаграждение или они могут быть
00:08:49
отложены в контексте отложенного
00:08:51
удовлетворения, когда вы можете предпринять
00:08:53
действие сегодня, которое вы не получите,
00:08:55
пока не получите выгоду до
00:08:58
завтра или послезавтра или
00:09:00
даже в некоторых случаях в очень долгосрочной перспективе в
00:09:03
будущем Итак, основываясь на этой концепции
00:09:09
вознаграждений, мы можем определить понятие
00:09:12
общего вознаграждения, которое агент получает в
00:09:14
любой момент времени, как общее будущее вознаграждение,
00:09:16
а не просто сумму всех вознаграждений
00:09:19
за этот временной шаг в будущее,
00:09:21
например, если мы начиная с момента
00:09:24
T, мы смотрим на награду, которую он
00:09:26
получает в момент T, плюс время на
00:09:28
вознаграждение, которое он получает в момент t + 1 +
00:09:31
взревел в момент t + 2 и так далее,
00:09:36
здесь есть небольшая проблема, и это то, что если
00:09:38
вы собираетесь до бесконечности, если это
00:09:40
суммирование стремится к бесконечности, поэтому, если
00:09:42
вы смотрите на бесконечные временные горизонты
00:09:44
с потенциально бесконечными вознаграждениями, этот
00:09:47
термин капитал R of T также может стремиться к
00:09:49
бесконечности, и это не является отличным свойством
00:09:52
математических уравнений, поэтому мы
00:09:55
вводим это понятие
00:09:57
дисконтированного вознаграждения, которое, по сути, заключается в том,
00:09:59
что мы дисконтируем будущие действия на основе
00:10:02
этой гаммы коэффициента дисконтирования. Это
00:10:05
просто число от нуля до единицы, где
00:10:07
мы придаем больший вес вознаграждениям,
00:10:09
полученным в ближайшем будущем, и
00:10:11
придаем меньший вес тем, которые уже
00:10:13
размещены. в долгосрочной перспективе, в долгосрочной перспективе,
00:10:16
от текущего состояния,
00:10:20
поэтому, я думаю, прежде чем двигаться дальше,
00:10:23
я хочу убедиться, что все
00:10:24
понимают все эти концепции,
00:10:26
присутствующие в этой схеме, потому что
00:10:28
с этого момента мы будем только опираться на вещи
00:10:29
и используя их, используя эту
00:10:32
терминологию, чтобы создавать все более и более высокие
00:10:34
уровни этого извлечения, так что
00:10:37
всем это ясно, да, продолжайте, состояние
00:10:45
меняется немедленно, поэтому обычно вы предпринимаете
00:10:47
действие, и это, давайте предположим, как в
00:10:49
беспилотных автомобилях, если вы хотите тренироваться
00:10:50
агент для навигации в
00:10:52
мире беспилотных автомобилей
00:10:53
вы делаете это ваше действие — это
00:10:56
угол рулевого колеса, а следующее состояние —
00:10:58
следующая камера и укажите, что эта машина видит, что она
00:11:04
не должна быть связана с
00:11:07
миром, поэтому награды в основном просто
00:11:08
скалярное число, которое возвращается с каждым
00:11:11
состоянием, но вы также можете представить, где
00:11:13
нет наград, и в определенный
00:11:16
момент времени вы можете не увидеть награду, но вы
00:11:18
можете увидеть награду в будущем,
00:11:20
например, в некоторых играх, таких как
00:11:25
например, в теннис, вы можете себе представить, что
00:11:27
никогда не получите награду, пока не выиграете
00:11:29
или не проиграете игру. Если вы выиграете игру, вы
00:11:31
получите положительную награду, но если вы проиграете
00:11:33
игру, вы получите отрицательную награду и
00:11:34
все промежуточные кадры и
00:11:37
действия. то, что вы принимаете, вообще никогда не приводит к получению
00:11:39
какого-либо вознаграждения, поэтому теперь мы
00:11:43
возьмем идею агента, собирающего
00:11:46
вознаграждения в среде, и попытаемся
00:11:48
определить то, что мы называем функцией очереди.
00:11:50
Это своего рода фундаментальная функция,
00:11:53
которая станет строительным блоком.
00:11:54
одного из алгоритмов, которые мы собираемся
00:11:56
использовать в обучении с подкреплением в
00:11:58
первой части этой лекции, и просто
00:12:01
повторим еще раз, это уравнение, которое
00:12:04
вы видите вверху, — это то же уравнение,
00:12:06
что и раньше, оно говорит об общей награде,
00:12:08
которую мы можем получить со времени T это просто
00:12:11
суммирование дисконтированных вознаграждений в
00:12:13
будущем, ок, и теперь мы хотим определить
00:12:16
эту дисфункцию, которую мы
00:12:18
назовем функцией сигнала, и она будет
00:12:20
принимать в качестве входных данных две вещи: одно - это
00:12:22
состояние и действие, которое агент
00:12:25
хочет выполнить работу в этом состоянии, и мы
00:12:28
хотим, чтобы эта функция-подсказка представляла
00:12:31
ожидаемое общее вознаграждение со скидкой, которое он
00:12:34
мог бы получить в будущем, поэтому теперь, чтобы
00:12:37
привести пример этого, давайте предположим, что
00:12:39
вернемся к примеру с беспилотным автомобилем.
00:12:41
вы размещаете свой
00:12:44
беспилотный автомобиль на
00:12:46
дороге, соответствующей вашему штату, и хотите
00:12:50
знать за каждое данное действие, какова
00:12:53
общая сумма будущего вознаграждения,
00:12:55
которое этот автомобиль может получить, выполнив
00:12:58
это действие, конечно, некоторые действия будут
00:13:05
получение более высокого
00:13:08
значения Q может произойти, если вы предпринимаете
00:13:11
действия, соответствующие прямым
00:13:13
углам рулевой колонки, но если вы пытаетесь
00:13:15
повернуть резко вправо или резко
00:13:17
влево, ваш Q
00:13:18
будет резко уменьшаться с каждой стороны,
00:13:21
потому что это нежелательные действия, поэтому
00:13:23
в некотором смысле наше значение Q, наша функция Q
00:13:26
говорит нам для любого данного действия, которое
00:13:29
агент может совершить в данном состоянии, что такое что
00:13:32
такое ожидаемое вознаграждение, которое он
00:13:35
может получить, выполнив это действие, хорошо,
00:13:41
поэтому ключевой частью этой проблемы в
00:13:44
обучении с подкреплением является на самом деле
00:13:45
изучение этой функции, это сложная
00:13:47
вещь, поэтому мы хотим изучить эту функцию значения Q,
00:13:49
поэтому, учитывая состояние и данные
00:13:51
входные данные, как можно мы вычисляем ожидаемый
00:13:53
возврат вознаграждения, но в конечном итоге то, что нам
00:13:57
нужно на самом деле действовать в среде,
00:13:59
— это новая функция, которую я не определил,
00:14:01
и которая называется функцией политики,
00:14:03
поэтому здесь мы называем PI of s политикой,
00:14:06
а здесь политикой. принимает в качестве входных данных
00:14:09
только состояние, поэтому его не волнует
00:14:11
действие, которое предпринимает агент, на самом деле
00:14:14
он хочет вывести желаемое действие
00:14:17
при любом состоянии, поэтому агент получает
00:14:19
некоторое состояние, которое он воспринимает мир, и
00:14:21
в конечном итоге вы хотите, чтобы ваша политика
00:14:24
выводила оптимальное действие, которое следует предпринять в
00:14:27
этом состоянии, что в конечном итоге является целью
00:14:29
обучения с подкреплением. Вы хотите увидеть
00:14:30
состояние, а затем знать, как действовать в этом
00:14:32
состоянии. Теперь вопрос, который я хочу
00:14:35
здесь задать, заключается в том, что мы можем изучить эту
00:14:39
функцию q. Есть ли способ что теперь мы можем
00:14:41
создать или вывести нашу политическую функцию, и
00:14:47
я надеюсь, что здесь немного очевидно, что
00:14:51
стратегия, которую мы хотим принять,
00:14:53
по сути, похожа на то, что мы хотим попробовать все
00:14:55
возможные действия, которые агент может предпринять
00:14:58
в этом данном состоянии, и просто найти
00:15:00
максимум тот, который приводит к
00:15:02
максимальному вознаграждению, и те, которые приводят
00:15:05
к максимальному вознаграждению, будут
00:15:06
иметь максимальное значение Q,
00:15:08
поэтому мы собираемся определить
00:15:11
здесь функцию политики, поскольку это просто максимум Arg
00:15:14
для всех возможных действий этой
00:15:17
функции значения q, так что это означает еще
00:15:20
раз, что мы собираемся подключить
00:15:22
все возможные действия с учетом состояния
00:15:25
к значению Q, найти действие, которое
00:15:28
приводит к максимально возможной общей
00:15:30
отдаче в виде вознаграждений,
00:15:31
и это будет действие, которое
00:15:33
мы предпринимаем в этом данном состоянии при глубоком
00:15:35
обучении с подкреплением, есть два
00:15:37
основных способа, с помощью которых мы можем попытаться изучить
00:15:39
функции политики.
00:15:46
левую сторону,
00:15:49
поэтому мы пытаемся изучить эту функцию-подсказку,
00:15:51
которая исходит из состояний и действий, а
00:15:53
затем используем ее, чтобы вывести детерминированный
00:15:57
сигнал о том, какое действие предпринять, учитывая
00:15:59
состояние, в котором мы сейчас находимся, используя эту
00:16:01
функцию аргумента, нашу максимальную функцию, и
00:16:03
это похоже на мы только что увидели еще один
00:16:06
альтернативный подход, который мы обсудим
00:16:08
позже в классе, — это использование так
00:16:10
называемого обучения политике, и здесь мы
00:16:13
не заботимся о явном моделировании
00:16:16
функции сигнала, а вместо этого мы хотим, чтобы
00:16:18
выходные данные нашей модели были
00:16:21
политика, которую должен принять агент, поэтому
00:16:23
здесь модель, которую мы создаем,
00:16:26
не принимает в качестве входных данных ни состояние, ни
00:16:29
действие, которое она принимает в качестве входных данных только
00:16:31
состояние, и она прогнозирует
00:16:34
распределение вероятностей, которое является PI для всех
00:16:37
возможных действий,
00:16:39
распределения вероятностей суммируются. во-первых, у них есть
00:16:41
несколько хороших свойств, и тогда
00:16:42
мы можем просто выбрать
00:16:44
действие из этого
00:16:46
распределения вероятностей, чтобы действовать в этом
00:16:47
состоянии, как я уже сказал, это два
00:16:51
разных подхода к обучению с подкреплением,
00:16:53
два основных подхода и
00:16:55
первый Часть занятий будет сосредоточена на
00:16:57
изучении ценностей, а затем мы вернемся
00:16:58
к изучению политики как к более общей
00:17:00
и более мощной структуре.
00:17:02
Мы увидим, что на самом деле это то, что
00:17:04
использует Alphago. Изучение политики – это то, что
00:17:06
использует Alphago, и это своего рода то, что
00:17:09
мы закончим и коснемся того, как это работает,
00:17:12
поэтому, прежде чем мы доберемся до этого, давайте продолжим
00:17:16
копать, давайте продолжим углубляться в
00:17:19
функцию Q, поэтому вот пример игры,
00:17:22
которую мы будем считать, что это
00:17:24
прорывная игра Atari, и она работает следующим образом:
00:17:26
вы этот агент, вы эта маленькая
00:17:28
педаль внизу, и вы можете
00:17:31
выбрать перемещение влево или вправо по
00:17:33
миру в любом данном кадре, и
00:17:39
в мире также есть этот шарик, который
00:17:40
движется либо к вам, либо от
00:17:42
вас, ваш Задача агента состоит в том, чтобы перемещать
00:17:45
ваш холостой ход влево и вправо, чтобы отбить этот мяч и
00:17:47
отразить его, чтобы вы могли попытаться сбить
00:17:50
множество этих блоков в верхней
00:17:52
части экрана каждый раз, когда вы ударяете по
00:17:55
блоку в верхней части экрана. на экране вы
00:17:56
получаете награду, если вы не нажмете на блок,
00:17:58
вы не получите награду, и если этот мяч
00:18:01
пройдет мимо вашей педали, а вы не нажмете на нее,
00:18:03
вы проиграете игру, поэтому ваша цель -
00:18:07
продолжать отбивать этот мяч обратно на вершину экрана.
00:18:09
доску и разбивать как
00:18:12
можно больше цветных блоков
00:18:14
каждый раз, получая новую награду, и
00:18:18
я хочу здесь подчеркнуть, что
00:18:21
понимание функций очереди или
00:18:24
понимание оптимальных значений очереди
00:18:26
на самом деле является действительно сложной проблемой, и если я
00:18:29
покажу два возможных примера состояний и
00:18:31
действий, которые может предпринять агент,
00:18:35
например, вот он заставляет педаль
00:18:40
двигаться прямо к ракетке вниз,
00:18:42
агент может решить остаться там, где он есть,
00:18:44
и, по сути, просто отклонить этот мяч
00:18:46
обратно вверх, это один из возможных вариантов.
00:18:49
пара действий состояния еще одна возможная
00:18:52
пара действий состояния - это когда мяч летит
00:18:54
слегка под углом к ​​педали,
00:18:56
ракетка может слегка сдвинуться вправо,
00:18:58
ударить по этому мячу под углом и едва-
00:19:01
едва отбить его и отправить его
00:19:03
рикошетом в экран и в
00:19:05
сторону экрана,
00:19:06
а теперь вопрос, который у меня здесь,
00:19:09
как у человека, какая пара действий, состояний, действий, по
00:19:13
вашему мнению, более желательна для участия
00:19:15
в этой игре, кто из вас считает, что
00:19:19
это нормально, как насчет того, чтобы быть интересными, так что
00:19:26
вообще-то, ребята намного умнее, чем
00:19:28
я ожидал, или, может быть, вы просто
00:19:30
смотрите в заметки, потому что правильный
00:19:32
ответ - B, даже в слегка
00:19:34
стохастических условиях. Предположим, вы
00:19:37
продолжаете выполнять a и продолжаете отбивать
00:19:38
эти блоки в середине
00:19:40
экрана, которые вы своего рода ограниченный
00:19:42
подход, потому что каждый блок, который вы
00:19:44
сбиваете, должен быть тем, к которому вы
00:19:46
явно стремитесь и нажимаете, поэтому вот
00:19:49
пример политики, выполняющей
00:19:51
что-то вроде a и поражающей множество
00:19:53
блоков в центре
00:19:54
экрана на самом деле я не очень часто ударяюсь по
00:19:56
краям экрана, даже
00:19:58
если он не движется прямо
00:19:59
вверх и вниз, он нацелен
00:20:01
больше в центр, чем в сторону, хорошо, теперь я хочу
00:20:05
показать вам альтернативную политику, теперь это
00:20:07
B, который явно пытается поразить
00:20:10
сторону ракетки каждый раз, независимо от того,
00:20:12
где находится мяч, он пытается отойти
00:20:14
от мяча, а затем вернуться к
00:20:16
нему, так что он ударяется в сторону и едва
00:20:18
касается мяча, чтобы я мог отправить его
00:20:20
рикошетом в угол
00:20:22
экрана и что вы увидите, так это то, что он
00:20:24
по сути будет пытаться создать
00:20:26
эти пробелы в углу экрана
00:20:29
как с левой, так и с правой стороны, чтобы
00:20:31
мяч мог застрять в этом пробеле, а
00:20:33
затем начать убивать целую кучу
00:20:35
разных блоков. одним действием,
00:20:37
вот пример: он будет
00:20:40
пытаться уничтожить эти боковые блоки, теперь
00:20:42
он движется к левой стороне, и как только он
00:20:45
раскроется, вы увидите, что он просто
00:20:46
начинает доминировать в игре, потому что его
00:20:49
мяч просто застревает на этой вершине
00:20:51
платформа, и она способна добиться успеха намного
00:20:53
быстрее, чем первый агент, чем первый
00:20:55
агент в агенте a, так что, по крайней мере, для меня это
00:21:00
не было интуитивным действием или
00:21:02
интуитивным значением Q для изучения, и я
00:21:05
бы предположил, что самым безопасным
00:21:07
действием было бы на самом деле да, но
00:21:09
посредством обучения с подкреплением мы можем
00:21:11
научиться более оптимальным действиям, чем те, которые
00:21:13
могут быть сразу очевидны для людей
00:21:16
-операторов, поэтому теперь давайте вернемся
00:21:20
к контексту глубокого обучения и
00:21:22
выясним, как мы можем использовать глубокое обучение для
00:21:25
реального моделирования Q-функций и оценки
00:21:28
Q. функции, использующие обучающие данные, и мы
00:21:32
можем сделать это одним из двух способов, поэтому
00:21:33
основной способ или основная используемая модель
00:21:35
называется глубокой Q-сетью, и это,
00:21:39
по сути, то же самое, что я сказал, модель,
00:21:40
которая пытается оценить Q-функцию,
00:21:43
поэтому в этом первом в этой первой модели,
00:21:45
которую я здесь показываю, она принимает на вход
00:21:47
состояние и возможное действие, которое вы
00:21:49
могли бы выполнить в этом состоянии, а
00:21:52
выходными данными является просто значение Q, это просто
00:21:54
шкала или выходные данные, и нейронная
00:21:56
сеть в основном предсказывает, что - это
00:21:59
предполагаемая ожидаемая общая награда, которую
00:22:02
она может получить с учетом состояния и этого
00:22:04
действия. Затем вы хотите обучить эту
00:22:06
сеть, используя среднеквадратичную ошибку, чтобы
00:22:08
получить правильный ответ, учитывая большое количество
00:22:10
обучающих данных на высоком уровне, вот в
00:22:12
чем
00:22:13
проблема с этим Подход заключается в том, что
00:22:15
если мы хотим использовать нашу политику сейчас и
00:22:18
хотим, чтобы наш агент действовал в этом мире, мы
00:22:20
должны пропустить через сеть целый
00:22:23
ряд различных действий на каждом временном
00:22:24
шаге, чтобы найти правильное оптимальное значение очереди,
00:22:26
поэтому мы должны каждое возможное
00:22:29
действие представьте, что в предыдущем примере у нас есть масса действий,
00:22:31
это просто,
00:22:33
потому что в качестве возможных действий у нас есть только левое и правое,
00:22:34
но давайте предположим, что у нас
00:22:36
есть масса разных действий для каждого
00:22:38
действия, которое мы должны передать в состояние и
00:22:40
это действие вычислить значение Q делает это
00:22:44
для всех действий, теперь у нас есть целая
00:22:45
куча значений Q, мы берем максимум
00:22:48
и используем это действие, чтобы действовать нормально, это
00:22:53
не очень хорошо, потому что оно требует выполнения
00:22:55
этой сети в прямом проходе общее
00:22:58
количество раз, равное
00:22:59
общее количество действий, которые агент
00:23:01
может предпринять на этом шаге. Другая
00:23:04
альтернатива - это немного жнец, который
00:23:06
поднимает эту проблему, все еще изучая
00:23:09
значение Q, но теперь мы вводим только состояние,
00:23:11
и сеть автоматически
00:23:13
вычислит значение Q для каждого из
00:23:15
возможных действий, и поскольку ваше
00:23:18
пространство действий фиксировано, и
00:23:20
во многих случаях обучение с подкреплением
00:23:23
также фиксировано. Это означает,
00:23:25
что каждый раз, когда вы вводите состояние, и
00:23:27
сеть в основном выводит и
00:23:29
числа, где n — размерность
00:23:32
вашего пространства действий, где каждый вывод
00:23:35
соответствует значению Q выполнения
00:23:37
этого действия, теперь это здорово, потому что это
00:23:40
означает, что если мы хотим выполнить действие с учетом
00:23:43
состояния, которое мы просто передаем наше состояние в
00:23:45
сеть, оно возвращает нам все эти
00:23:47
значения Q, и мы выбираем максимальное значение Q. и
00:23:50
мы используем запись, мы используем действие,
00:23:52
связанное с этим максимальным значением Q, в
00:23:56
обоих этих случаях, однако на
00:23:59
самом деле мы можем тренироваться, используя среднеквадратическую ошибку,
00:24:02
это причудливый термин, причудливую версию
00:24:04
среднеквадратической ошибки, которую я просто
00:24:05
быстро пройдусь, поэтому правая часть
00:24:08
— это прогнозируемое значение Q, которое на самом деле является
00:24:11
результатом работы нейронной сети, просто чтобы
00:24:13
повторить, что в качестве входных данных принимается состояние
00:24:15
и действие, и это то, что
00:24:17
предсказывает сеть, а затем вы хотите
00:24:19
минимизировать ошибку этого прогнозируемого
00:24:22
значения Q по сравнению с истинным или целевое
00:24:25
значение Q,
00:24:26
которое в данном случае находится справа,
00:24:28
поэтому целевое значение Q — это то, что вы
00:24:32
фактически наблюдали, когда выполняли это
00:24:33
действие, поэтому, когда агент выполняет действие,
00:24:36
он получает вознаграждение, которое вы можете просто
00:24:38
записать и сохранить в нем. память, и вы
00:24:40
также можете записывать вознаграждение со скидкой,
00:24:43
которое он получает за каждое действие после
00:24:45
этого, так что это целевой доход, это то,
00:24:48
что вы знаете, это то, что вы знаете,
00:24:50
получил агент, это вознаграждение, которое
00:24:52
он получил за это действие, и вы
00:24:54
можете использовать это сейчас есть
00:24:57
проблема регрессии по прогнозируемым значениям Q, и,
00:24:59
по сути, с течением времени, используя обратное
00:25:01
распространение, это просто обычная
00:25:03
сеть с прямой связью, мы можем обучить эту
00:25:05
функцию потерь, обучить эту сеть
00:25:07
в соответствии с этой функцией потерь, чтобы сделать
00:25:10
наше прогнозируемое значение Q как
00:25:11
можно ближе к нашему желаемые или целевые
00:25:13
значения Q и просто для того, чтобы показать вам некоторые
00:25:18
интересные результаты, поэтому, когда эта первая
00:25:20
статья Deep Mind вышла, она показала, что она
00:25:23
может работать в контексте игр Atari,
00:25:26
и они хотели представить эту общую
00:25:27
сеть Deep Q, это просто обучение
00:25:31
с помощью Deep Q. сети, где они вводят
00:25:32
состояние игры с левой
00:25:35
стороны, передают его через серию
00:25:37
сверточных слоев, за которыми следуют
00:25:38
нелинейные функции активации, такие как
00:25:40
rellis, и каждый раз распространяют эту информацию
00:25:44
вперед, используя
00:25:45
функцию активации сверточного слоя,
00:25:50
функцию активации полностью связанного слоя и затем, наконец, на выходе
00:25:51
мы имеем список из n значений Q, где каждое
00:25:56
значение Q соответствует возможному
00:25:58
действию, которое оно может предпринять, и это та
00:25:59
же самая картина, которую я давал вам
00:26:01
раньше, за исключением того, что теперь это только для
00:26:03
конкретной игры в Atari и одного Из
00:26:07
замечательных вещей, которые они показали, было то, что
00:26:09
это невероятно гибкий
00:26:12
алгоритм, потому что, ничего не меняя
00:26:14
в этом алгоритме, а просто
00:26:16
применяя его во многих различных типах
00:26:18
игр, вы можете заставить эту сеть
00:26:20
работать выше человеческого уровня при выполнении множества
00:26:24
различных задач в Atari. Итак, Atari
00:26:27
состоит из целой группы игр, которые
00:26:28
вы можете видеть на оси X, поэтому каждая полоса
00:26:31
здесь представляет собой отдельную игру в Atari, а
00:26:34
вещи слева от этой вертикальной полосы
00:26:37
соответствуют ситуациям, когда
00:26:40
глубокая сеть Q смогла превзойти производительность.
00:26:42
уровень человека-оператора в этой
00:26:44
игре,
00:26:45
в Atari определенно бывают ситуации, когда
00:26:47
сеть DQ не
00:26:50
может превзойти человеческий уровень, и
00:26:52
обычно многие
00:26:55
исследователи впоследствии заметили, что в
00:26:58
ситуациях или в играх, где мы не У меня
00:27:01
есть идеально наблюдаемый мир, в котором,
00:27:05
если я дам вам состояние, вы можете наблюдать
00:27:08
то же самое, что вы можете оптимально наблюдать за
00:27:12
правильным действием, которое нужно предпринять в этом состоянии, не
00:27:16
все эти игры обладают этим
00:27:17
свойством, и это очень хорошее свойство,
00:27:19
чтобы иметь так много Во многих играх
00:27:22
награды очень скудны, например, эта
00:27:25
игра в конце «Месть Монтесумы»
00:27:27
печально известна тем, что в ней очень скудные
00:27:29
награды, потому что она требует, чтобы
00:27:31
агент прошел по лестнице, пошел в
00:27:34
другую комнату и взял ключ, а
00:27:35
затем использовал этот ключ, чтобы повернуть Ручка или
00:27:38
что-то в этом роде, и без случайного
00:27:40
исследования или, возможно, наблюдения этой
00:27:43
последовательности состояний агент никогда не
00:27:47
подвергнется воздействию этих значений сигналов, он
00:27:49
никогда не сможет узнать, что это оптимальное
00:27:50
действие, если он просто случайно
00:27:52
исследует среду, которую он на
00:27:54
самом деле никогда не собирается делать. видите, что возможное
00:27:56
действие в этом случае никогда не
00:27:58
даст никакого контекста того, какое
00:28:00
оптимальное действие следует предпринять в контексте
00:28:03
прорыва, который я показывал вам
00:28:04
ранее, когда у вас есть ракетка,
00:28:06
мяч ударяется о ракетку, и вы
00:28:08
пытаетесь чтобы отломить все эти точки
00:28:09
сверху, это пример игры,
00:28:11
в которой у нас есть точная информация, поэтому, если
00:28:13
мы знаем направление мяча, мы
00:28:15
знаем направление положения
00:28:17
нашей ракетки и видим все
00:28:19
точки в в пространстве мы можем
00:28:21
правильно предсказать, как будто у нас есть
00:28:24
оптимальное решение в заданном состоянии,
00:28:26
учитывая то, что мы видим, куда перемещать
00:28:28
весло, это как бы подводит итог нашей теме
00:28:31
Q-обучения, и я хочу закончить на некоторых
00:28:34
недостатках Q-обучение
00:28:37
превосходит производительность человеческого уровня при выполнении
00:28:39
многих более простых задач, но у него также есть
00:28:42
проблемы со сложностью, он также
00:28:44
не может обрабатывать непрерывные пространства действий,
00:28:46
поэтому, если вы вспомните, как
00:28:49
мы определили Q-сеть, глубокую Q-
00:28:51
сеть,
00:28:52
мы вы выводите
00:28:54
значение q для каждого возможного действия, которое оно
00:28:55
может предпринять, но представьте, что вы —
00:28:57
беспилотный автомобиль, и действия, которые
00:29:00
вы совершаете, являются непрерывной переменной
00:29:02
угла вашего рулевого колеса. Это угол, на
00:29:04
который колесо должно повернуться, теперь вы можете Я не
00:29:06
использую обучение сигналам, потому что для этого требуется
00:29:08
бесконечное количество выходных данных. Есть
00:29:10
трюки, с помощью которых вы можете обойти это,
00:29:12
потому что вы можете просто дискретизировать
00:29:14
пространство действий на очень маленькие ячейки и
00:29:16
попытаться узнать значение Q для каждой ячейки,
00:29:19
но, конечно, вопрос ну, насколько
00:29:21
маленьким вы хотите это сделать, чем
00:29:22
меньше вы делаете эти ячейки, тем сложнее
00:29:24
становится обучение, и по своей сути
00:29:27
ванильный алгоритм обучения Q, который я
00:29:30
здесь представил, не очень подходит для
00:29:32
пространств с непрерывным действием, и на другом
00:29:36
уровне они негибко обрабатывать
00:29:39
стохастические политики, потому что мы
00:29:42
в основном делаем выборку из этой
00:29:44
функции аргумента, у нас есть функция Q, и мы
00:29:47
просто берем максимальную дугу, чтобы вычислить
00:29:48
лучшее действие, которое мы можем выполнить в любой момент
00:29:50
времени, это означает, что мы
00:29:52
не можем на самом деле узнаем, когда наши
00:29:56
политики вычисляются стохастически, поэтому,
00:29:59
когда следующее состояние, возможно, не является
00:30:00
детерминированным, но вместо этого также имеет некоторый
00:30:03
случайный компонент, верно, так что
00:30:08
это тот момент, который я упомянул о том, что
00:30:10
пространство непрерывных действий на самом деле является
00:30:11
очень важной проблемой, которая может кажется
00:30:14
тривиальной задачей, с которой можно справиться, просто
00:30:16
изменяя решение, изменяя выходные данные,
00:30:18
но на самом деле это действительно большая
00:30:19
проблема на практике, и чтобы преодолеть ее,
00:30:22
мы собираемся рассмотреть новый класс
00:30:24
моделей обучения с подкреплением, называемый
00:30:27
моделями градиента политики, для обучения
00:30:29
этих алгоритмов, поэтому Градиенты политики — это
00:30:34
немного другой вариант обучения Q,
00:30:36
но в основе он на самом деле сильно
00:30:38
отличается, поэтому давайте вспомним обучение Q, чтобы
00:30:42
сеть глубокого Q принимала входные данные о
00:30:44
состояниях и прогнозировала значение Q для каждого
00:30:47
возможного действия в правой части
00:30:48
теперь в градиентах политики. мы сделаем
00:30:52
что-то немного другое, мы
00:30:54
возьмем и поместим состояние, но теперь мы снова
00:30:56
выведем распределение вероятностей
00:30:58
для всех возможных действий, мы
00:31:02
все еще рассматриваем случай дискретных
00:31:03
пространств действий, но посмотрим, как мы можем
00:31:06
легко расширить
00:31:07
способы, которые мы не могли сделать с
00:31:09
q-обучением, на пространства непрерывных действий,
00:31:11
а давайте пока остановимся на дискретных
00:31:13
пространствах действий, просто для простоты, так что
00:31:16
здесь пирог альфа, извините, PI AI для всех,
00:31:21
я - это просто вероятность что вы
00:31:24
должны выполнить действие. Я дал состояние,
00:31:27
которое вы видите в качестве входных данных, и поскольку это
00:31:31
распределение вероятностей, это означает,
00:31:32
что все эти выходные данные должны суммироваться
00:31:34
до одного, мы можем сделать это, используя
00:31:36
функцию активации softmax и глубокие нейронные
00:31:38
сети, это просто обеспечивает соблюдение что
00:31:40
выходные данные суммируются до одного и снова,
00:31:45
просто чтобы повторить этот PI для данного s — это
00:31:49
распределение вероятностей выполнения
00:31:51
данного действия с учетом состояния, которое мы
00:31:53
сейчас видим, и это
00:31:56
фундаментально отличается от того, что мы
00:31:57
делали раньше, когда оценивали
00:31:59
Q значение, которое говорит о том, какое
00:32:01
возможное вознаграждение я могу получить,
00:32:04
выполнив это действие, а затем используя
00:32:07
максимальное значение Q максимального вознаграждения для
00:32:11
выполнения этого действия, поэтому теперь мы
00:32:14
непосредственно изучаем политику, которую мы
00:32:15
прямо говорим, что является правильным
00:32:17
действие, которое я должен предпринять, какова
00:32:18
вероятность того, что это действие равно 1,
00:32:21
тогда как вероятность того, что это действие равно
00:32:22
2, и просто выполнить правильное
00:32:24
действие, так что в некотором смысле это пропуск
00:32:28
шага из обучения Q и обучения Q, вы
00:32:29
изучаете использование функции Q функция Q
00:32:31
для вывода вашей политики и изучения политики.
00:32:56
В соответствии с этой политикой развертывание происходит, по сути,
00:32:58
от начала до конца сеанса тренировки,
00:33:03
поэтому мы можем определить развертывание как в основном
00:33:05
от времени 0 до момента T, где T — это конец
00:33:09
некоторого определения эпизода в этой
00:33:14
игре, поэтому в случае прорывная заглавная буква
00:33:17
T — это время, когда мяч
00:33:19
проходит мимо площадки, которую
00:33:20
вы промахиваете, то есть это время, когда
00:33:22
эпизод заканчивается и вы пропускаете мяч, или
00:33:24
это время, когда вы убиваете все
00:33:26
точки наверху, и у вас нет
00:33:28
другие точки, которые нужно убить, так что теперь игра
00:33:30
окончена, поэтому вы используете свою политику в течение длительного
00:33:33
времени, а затем получаете награду после
00:33:36
запуска этой политики, теперь в
00:33:39
градиентах политики, все, что вы хотите сделать, это увеличить
00:33:42
вероятность действий, которые приводят к
00:33:44
высоким вознаграждениям и уменьшить
00:33:46
вероятность действий, которые приводят к низкому
00:33:48
вознаграждению, это звучит просто, это просто,
00:33:51
давайте просто посмотрим, как это делается, взглянув
00:33:53
на градиент, отсюда этот
00:33:55
алгоритм и получил свое название, которое находится прямо
00:33:58
здесь, так что давайте пройдемся по этому, давайте
00:34:01
пройдемся по этому алгоритму немного
00:34:03
подробнее, поэтому мы выполняем развертывание
00:34:07
эпизода с учетом нашей политики, поэтому политика
00:34:10
определяется нейронной сетью,
00:34:13
параметризованной параметрами theta, мы
00:34:17
отбираем несколько эпизодов из этой
00:34:19
политики, и каждый эпизод, по сути, представляет собой
00:34:21
просто набор действий состояния и
00:34:23
пары вознаграждений, поэтому мы записываем все это
00:34:25
в память, а затем, когда мы готовы
00:34:28
начать обучение, все, что мы делаем, это вычисляем этот
00:34:30
градиент прямо здесь, и этот градиент представляет собой
00:34:34
логарифм вероятности увидеть
00:34:37
определенное действие с учетом состояния,
00:34:39
умноженного на ожидаемое вознаграждение за
00:34:43
это действие, извините, извините, это
00:34:46
ожидаемое вознаграждение со скидкой за это
00:34:49
действие на тот момент, поэтому давайте попробуем
00:34:52
разобрать, что это значит, потому что на
00:34:53
самом деле это весь алгоритм градиента политики
00:34:56
в этой одной строке, это
00:34:58
ключевая строка, поэтому давайте действительно попробуем
00:34:59
понять эту строку зеленая часть — это
00:35:03
просто вероятность получения
00:35:07
или вывода этого действия в журнале, поэтому давайте
00:35:10
предположим, что наше действие было очень желательным, оно
00:35:12
привело к хорошей награде, хорошо, и это
00:35:15
просто определяется тем, что мы делаем развертывание
00:35:18
сверху и выиграли игру в начале В конце
00:35:20
концов, все эти политики, все эти
00:35:22
действия должны быть усилены или усилены,
00:35:25
и в данном случае мы это сделали, а во
00:35:28
второй линии мы сделали еще один эпизод, который
00:35:31
привел к потере всех этих действий, Пола
00:35:34
следует обескуражить в будущем, поэтому,
00:35:37
когда что-то приведет к положительные награды, которые
00:35:39
мы умножаем, это будет
00:35:42
положительное число, и мы попытаемся
00:35:44
увеличить вероятность того, что журнал
00:35:46
снова увидит эти действия в будущем,
00:35:48
поэтому мы хотим сообщить сети, что она должна
00:35:50
обновить ваши параметры,
00:35:53
чтобы что бы вы ни делали, это что привело
00:35:55
к хорошему вознаграждению, произойдет снова
00:35:58
в будущем и с еще большей вероятностью, поэтому давайте
00:36:01
удостоверимся, что мы определенно выберем
00:36:02
эти вещи снова, потому что мы получили
00:36:04
от них хорошие награды в прошлый раз, с другой
00:36:07
стороны, если R отрицательно или равно
00:36:10
нулю если мы не получили
00:36:12
от этого никакого вознаграждения, мы хотим убедиться, что мы
00:36:13
обновили нашу сеть сейчас, чтобы изменить
00:36:16
параметры, и убедиться, что мы
00:36:18
препятствуем любой из вероятностей, которые
00:36:21
мы выводили в предыдущий раз, поэтому мы
00:36:23
хотим снизить вероятность журнала
00:36:25
выполнения тех действий, которые привели к
00:36:27
отрицательному вознаграждению, поэтому теперь я расскажу
00:36:32
немного об игре Го и о том, как
00:36:35
мы можем использовать политическое градиентное обучение в
00:36:36
сочетании с некоторыми причудливыми трюками, которые
00:36:40
Deepmind реализовал в игре
00:36:43
Альфаго в алгоритме Альфаго и я.
00:36:47
Подумайте, суть для тех из вас, кто
00:36:51
не знаком с игрой Го, это
00:36:53
невероятно сложная игра с
00:36:54
огромным пространством состояний.
00:36:56
Состояний больше, чем атомов во
00:36:58
вселенной, и это в полной версии
00:37:00
игры, где она находится. Игра 19 на 19,
00:37:02
и идея го заключается в том, что у вас есть
00:37:05
игра для двух игроков, черно-белая,
00:37:07
и мотивация или цель состоит в том, что
00:37:11
вы хотите получить больше территории на доске,
00:37:13
чем ваш противник, состояние здесь -
00:37:17
просто доска черных. и белые клетки,
00:37:19
и действие, которое вы хотите выполнить,
00:37:23
это просто распределение вероятностей
00:37:24
по каждой возможной ячейке, которую вам нужно
00:37:27
разместить в этой ячейке следующим фрагментом, чтобы вы
00:37:32
могли обучать сеть, как
00:37:34
мы определяли до сети, основанной на политиках.
00:37:36
сеть, которая позволяет нам вводить
00:37:38
изображение этой доски, это изображение размером 19 на 19,
00:37:41
где каждый пиксель в этом изображении
00:37:44
соответствует ячейке на доске, и
00:37:47
часть этой сети
00:37:50
снова будет распределением вероятностей, это
00:37:52
распределение вероятностей 19 на 19. где
00:37:54
каждая ячейка теперь представляет собой вероятность того, что
00:37:56
вашим следующим действием должно быть размещение
00:37:58
жетона в этой ячейке на доске, так что
00:38:05
давайте посмотрим, как на высоком уровне
00:38:07
работает алгоритм альфаго,
00:38:09
здесь вначале используется небольшой трюк,
00:38:11
который заключается в том, что они начинают с
00:38:13
инициализации свою сеть, обучая
00:38:16
ее на группе экспертов,
00:38:19
извините, они обучают ее у группы
00:38:21
экспертов-людей игре в го,
00:38:23
поэтому они заставляют людей играть друг с другом,
00:38:26
это обычно профессиональные или очень
00:38:27
качественные люди высокого уровня, они
00:38:30
записывают все этих обучающих данных, а
00:38:33
затем они используют их в качестве входных данных для обучения
00:38:37
контролируемой задаче обучения в этой
00:38:39
сети политики, так что это снова требует от нас
00:38:41
ввода в действие, извините, это
00:38:44
требует от нас ввода состояния доски
00:38:45
и пытается максимизировать вероятность
00:38:48
выполнение действия, которое
00:38:51
вывел человек, или извините, выполнение действия,
00:38:54
которое выполнил человек, хорошо, так что теперь этот
00:38:58
первый шаг здесь сосредоточен на построении
00:39:02
модели с использованием контролируемого обучения для
00:39:04
имитации того, что люди, как люди
00:39:08
играли в игру го, конечно, это
00:39:10
не так. вы превзойдете производительность любого человеческого уровня,
00:39:12
потому что вы занимаетесь исключительно
00:39:14
имитацией обучения, поэтому следующим шагом
00:39:17
этого алгоритма будет использование
00:39:19
сети, которую вы обучили с помощью
00:39:20
обучения с учителем, и противопоставление ее
00:39:23
самой себе в играх для самостоятельной игры, чтобы
00:39:26
вы по сути, сделайте две копии
00:39:27
этой сети и настройте одну сеть
00:39:30
против самой себя, а теперь используйте
00:39:33
обучение с подкреплением для достижения сверхчеловеческой
00:39:35
производительности, так что теперь, поскольку она играет
00:39:37
против самой себя, а не
00:39:38
получает человеческий вклад, она способна
00:39:41
обнаруживать новые возможные действия, о которых
00:39:43
человек, возможно, даже не думал это может
00:39:46
привести к еще более высокому вознаграждению, чем раньше,
00:39:48
и, наконец, третий шаг здесь заключается в том, что
00:39:53
вы хотите
00:39:55
каждый раз в каждой позиции на доске строить еще одну сеть,
00:39:59
чтобы она теперь брала
00:40:01
состояние доски и пыталась
00:40:03
изучить функцию значения и
00:40:05
по сути, это очень похоже на
00:40:07
функцию cue, за исключением того, что теперь она выводит один
00:40:09
выходной сигнал, который представляет собой просто функцию максимального Q,
00:40:11
поэтому для всех действий эта
00:40:14
сеть значений в основном сообщает вам,
00:40:16
насколько хорошо это состояние доски, поэтому
00:40:18
это дает нам интуитивное представление о том, что мы используя
00:40:20
нейронные сети сейчас, чтобы дать нам
00:40:22
представление о том, какие состояния доски
00:40:25
желательны, какие состояния поддержки могут привести
00:40:28
к более высоким значениям или большей вероятности
00:40:30
выигрыша, и вы можете заметить, что это
00:40:33
очень тесно связано с
00:40:36
функцией Q, это говорит нам, как я сказал
00:40:40
по сути, насколько желательным
00:40:42
является данное состояние доски, и, по сути, просто глядя
00:40:45
на состояние доски, мы хотим определить,
00:40:47
хорошее это состояние доски или плохое
00:40:49
спортивное состояние, и то, как
00:40:51
это использует Alphago, затем использует эту
00:40:54
сеть ценностей, чтобы понять на каких частях
00:40:57
игры ему следует сосредоточиться больше, поэтому, если он находится
00:41:00
в определенном состоянии, где он знает,
00:41:03
что это не самое лучшее состояние,
00:41:06
он знает, что ему не следует продолжать
00:41:08
выполнять испытания в этом состоянии, чтобы он
00:41:10
мог фактически сократить себя и иметь
00:41:12
немного более интеллектуальный алгоритм
00:41:14
обучения, не выполняя все возможные
00:41:16
действия на каждом временном шаге, а
00:41:19
создавая интеллектуальное дерево действий на
00:41:21
основе этой эвристики, полученной
00:41:24
другой сетью, и в результате получается
00:41:27
Alphago, который в 2016 году победил Ли Седоля.
00:41:31
кто является лучшим игроком среди людей в
00:41:35
го, и это был первый раз, когда
00:41:38
алгоритм искусственного интеллекта победил лучших людей
00:41:42
в игре го, это был
00:41:44
действительно новаторский момент, он
00:41:47
возвращает нас к тому трейлеру, который мы видели в
00:41:49
начале урока и, наконец, просто
00:41:53
чтобы подвести итог некоторых действительно интересных новых
00:41:55
работ той же команды, которая создала
00:41:59
Alphago, теперь они выпустили новую модель
00:42:03
под названием Alpha Zero, которая была опубликована в
00:42:04
научных журналах около месяца назад и представляет собой
00:42:08
общую основу для изучения
00:42:11
моделей настольных игр для самостоятельной игры. поэтому они показывают, что он
00:42:14
превосходит лучшие подходы, основанные на моделях,
00:42:18
и лучших игроков-людей в играх в шахматы
00:42:21
сёги и альфаго, поэтому он действительно способен
00:42:26
превзойти производительность альфаго
00:42:28
всего за 40 часов, и теперь эта сеть альфа-
00:42:31
ноль называется альфа-ноль, потому что она
00:42:33
требует нет предварительных знаний об
00:42:36
игроках-людях, он полностью изучен с помощью
00:42:38
обучения с подкреплением и самостоятельной игры, и
00:42:40
это своего рода замечательные мыслители,
00:42:42
которые вообще не используя никакой предварительной информации,
00:42:44
теперь мы показали, что можно
00:42:48
выучить возможное или выучить
00:42:51
вероятные наборы ходов, которые игроки-люди
00:42:54
будут делать, и тогда действительно
00:42:56
интересно то, что затем он как
00:42:58
бы начинает отбрасывать эти ходы в
00:43:01
пользу еще лучших ходов, о которых люди
00:43:03
никогда не думали делать, и
00:43:05
действительно интересно то, что если вы
00:43:07
проследите за этой эволюцией
00:43:10
вознаграждений, происходит вовремя, если вы остановите его
00:43:13
в любой промежуточный момент, особенно на
00:43:16
ранних этапах, поэтому, если вы остановитесь на
00:43:18
ранних этапах обучения, как, например,
00:43:19
здесь, и вы посмотрите на поведение
00:43:22
этих агентов, они ведут себя так же, как
00:43:25
лучшие игроки-люди, поэтому они особенно
00:43:27
выполнять действия, которые они выполняют в
00:43:29
начальных состояниях доски, например, в момент
00:43:32
начала игры, они ведут себя очень похоже
00:43:35
на лучших игроков-людей, но затем, по мере
00:43:38
продолжения обучения, агент начинает
00:43:41
открывать все новые и новые, все новые и новые
00:43:44
различные продвинутые способы
00:43:47
запуска исполнителей. игра на самом деле способна
00:43:50
создавать новые политики, о которых люди
00:43:54
даже не задумывались, и теперь альфа-ноль
00:43:56
используется почти как
00:43:58
механизм обучения для лучших людей по
00:44:00
этим новым политикам, которые могут
00:44:02
еще больше улучшить людей. Я думаю, что это
00:44:06
действительно мощный метод, потому что он
00:44:07
показывает Обучение с подкреплением используется
00:44:09
не только для того, чтобы натравливать людей на машины,
00:44:12
но и в качестве механизма обучения
00:44:15
людей, позволяющего открывать новые способы реализации
00:44:17
оптимальных политик в некоторых из этих игр
00:44:20
и даже выходить за рамки игр. Конечная
00:44:22
цель, конечно, состоит в том, чтобы создать
00:44:23
агентов обучения с подкреплением, которые могут
00:44:25
действовать в реальном мире,
00:44:28
роботизированные агенты обучения с подкреплением,
00:44:30
не только в симулированных настольных играх, но и в
00:44:33
реальном мире с людьми, а также помогать нам
00:44:35
учиться в этом мире, так что это
00:44:39
все, что касается обучения с подкреплением, с удовольствием ответит на
00:44:41
любые вопросы или передаст их
00:44:44
Даве для новые рубежи глубокого
00:44:47
обучения в следующей части, окей, спасибо
00:44:51
[Аплодисменты]

Описание:

MIT Introduction to Deep Learning 6.S191: Lecture 5 Deep Reinforcement Learning Lecturer: Alexander Amini January 2019 For all lectures, slides and lab materials: http://introtodeeplearning.com/

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "MIT 6.S191 (2019): Deep Reinforcement Learning"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "MIT 6.S191 (2019): Deep Reinforcement Learning" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "MIT 6.S191 (2019): Deep Reinforcement Learning"?mobile menu icon

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

mobile menu iconКак скачать видео "MIT 6.S191 (2019): Deep Reinforcement Learning" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "MIT 6.S191 (2019): Deep Reinforcement Learning"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "MIT 6.S191 (2019): Deep Reinforcement Learning"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

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