Изучаване на основите на армировъчно обучение и дълбоки Q мрежи от нулата

Разтърси Зичлински

9 януари 2019 г. · 10 минути четене

Този пост в блога вече е достъпен и на корейски, прочетете го на jeinalog.tistory.com

дълбоки

Поредицата от курсове Qrash:

  1. Част 1: Въведение в подкрепящото обучение и Q-обучението
  2. Част 2: Градиенти на политиката и актьор-критик

Тази статия не предполага никакви предварителни познания в Reinforcement Learning, но предполага някои основни познания за невронните мрежи.

От всички различни видове полета за машинно обучение, най-очарователното за мен е най-голямото обучение за усилване. За тези, които са по-малко запознати с него - докато контролираното обучение се занимава с прогнозиране на ценности или класове въз основа на етикетирани данни, а ненаблюдаваното обучение се занимава с групиране и намиране на връзки в немаркирани данни, подкрепящото обучение се занимава с това как някои произволни същества (официално наричани „ Агент ”) трябва да действа и да се държи в дадена среда. Начинът, по който се прави, е чрез даване на награди или наказания на агента въз основа на действията, които е извършил при различни сценарии.

Един от първите практически методи за армировъчно обучение, който научих, беше Deep Q Networks и вярвам, че това е отличен старт за това пътуване. Така че позволете ми да ви преведа през пътя, по който съм вървял, когато се опитах да науча RL - включително упражнение „Hello World“, което ми помогна повече, отколкото мога да обясня.

Задачата за засилване на обучението е свързана с обучение на агент, който взаимодейства със своята среда. Агентът преминава между различни сценарии на околната среда, наричани състояния, чрез извършване на действия. Действията в замяна дават награди, които могат да бъдат положителни, отрицателни или нулеви. Единствената цел на Агента е да максимизира общото възнаграждение, което събира за епизод, което е всичко, което се случва между първоначално състояние и крайно състояние. Следователно ние подсилваме Агента да извършва определени действия, като му предоставяме положителни награди, и да се отклонява от другите, като предоставя отрицателни награди. По този начин Агентът се научава да разработва стратегия или политика.

Да вземем за пример Супер Марио: Марио е Агентът, който взаимодейства със света (Околната среда). Състоянията са точно това, което виждаме на екрана, а Епизодът е ниво: началното състояние е начина, по който започва нивото, а състоянието на терминала е начина, по който нивото завършва, независимо дали сме го завършили или загинали, докато се опитваме. Действията се движат напред, движат се назад, скачат и т.н. Наградите се дават в зависимост от резултата от действията: когато Марио събира монети или бонуси, той получава положителна награда, а когато падне или е ударен от враг, получава отрицателна награда . Когато Марио просто се чуди, наградата, която получава, е нула, сякаш за да каже „не си направил нищо специално“.

Но тук има проблем: за да можете да събирате награди, трябва да се предприемат някои „неспециални“ действия - трябва да вървите към монетите, преди да можете да ги съберете. Така че Агентът трябва да се научи как да се справи с отложените награди, като се научи да ги свързва с действията, които наистина са ги причинили. Според мен това е най-завладяващото нещо в обучението за подсилване.

Всяко състояние, в което се намира Агентът, е пряка последица от предишното състояние и избраното действие. Предишното състояние също е пряка последица от това, което е дошло преди него, и така нататък, докато достигнем първоначалното състояние. Всяка една от тези стъпки и тяхната поръчка съдържат информация за текущото състояние - и следователно имат пряк ефект върху това, което действие следва да избере Агентът. Но тук има очевиден проблем: колкото по-нататък отиваме, толкова повече информация е необходима на Агента за запазване и обработка при всяка дадена стъпка, която предприема. Това лесно може да достигне точката, в която е просто невъзможно да се извършват изчисления.

За да се справим с това, приемаме, че всички държави са държави на Марков; тоест - приемаме, че всяко състояние зависи единствено от състоянието, което е дошло преди него, и прехода от това състояние към настоящото (извършеното действие и дадената награда). Нека да видим пример - вижте тези две игри Tic Tac Toe: