60
Агентни Системи С подсилено oбучение Стефан Ставрев TRI Sof t www.tri- soft.net Управител

Агентни Системи

Embed Size (px)

DESCRIPTION

Агентни Системи. С подсилено o б у чение. Стефан Ставрев. TRI Soft. www.tri-soft.net. Управител. Въведение в агентните системи Рационални агенти Обучение История на агентните системи Задаване параметрите на проекта. Обзор на семинара. За какво е предназначен семинарът. - PowerPoint PPT Presentation

Citation preview

Page 1: Агентни Системи

Агентни СистемиС подсилено oбучение

Стефан Ставрев

TRI Soft

www.tri-soft.net

Управител

Page 2: Агентни Системи

Обзор на семинараВъведение в агентните системиРационални агентиОбучениеИстория на агентните системиЗадаване параметрите на

проекта

Page 3: Агентни Системи

За какво е предназначен

семинарът Агентни системи:

Система в която (един или повече) агенти си взаимодействат.

Изучаването на такива системи

Могат да са естествени или изкувствени

Page 4: Агентни Системи

Какво е агент?

Някои думи са трудни за дефиниране: изкуство, красота, съзнание, интелект, агент

Дефинициите са или твърде общи или твърде специфични

Започваме, като даваме примери

“I know it when I see it.” (Знам какво е, когато го видя)

-Potter StewartUnited States Supreme Court JusticeJacobellis v. Ohio, 1964Re: What is hard-core pornography?

Page 5: Агентни Системи

Дефиниции за агент

Всяко нещо, което може да възприеме средата около себе си посредством сензори и да въздейства върху тази среда посредством задвижващи устройства.

-Ръсел & Новиг, 2003• Доброто: описва концепцията за затваряне

на цикъла:

Агент Околна среда

действие

наблюдение• Лошото: Какво не е агент?

Page 6: Агентни Системи

Човешки агенти

Най-неуспоримият пример Вдъхновени за създаване на

повечето изкувствени агенти Примери за мулти-агентни системи:

Вашето семейство Спортен отбор Компания с приятели Армия Играчите в World Of Warcraft Интернет потребителите

Page 7: Агентни Системи

Не-човешки естествени агенти

Примери за мулти-

агентни системи:

Колония от мравки

Глутница хиени

Стадо газели

Page 8: Агентни Системи

Роботи агенти

Често заместват човешките

агенти

Как да проектираме

системите им за контрол?

Примери за агентни

системи:

Поточна линия

Роботи – войници

Автономни автомобили

Роботизиран футболен отбор

Page 9: Агентни Системи

RoboCup Международно състезание за роботи от 1997

Цел: До 2050 отбор от напълно автоматизирани хуманоидни футболисти да победят във футболен мач отбора – шампион от последното световно първенство, като се спазват официалните правила на ФИФА.

Page 10: Агентни Системи

Софтуерни агенти

Агентите нямат нужда от физическо тяло

Интернет създаде голяма нужда от софтуерни агенти

Примери за агентни системи: Ценови агенти

Рекламиращи агенти

Наддаващи агенти

Управители на продуктова линия

Агенти във видео-игрите

Автономни системи

Page 11: Агентни Системи

Това агент ли е?

Термостат Вход: Желана температура и текуща температура

Изход: включи или изключи нагревателя

Page 12: Агентни Системи

Агентен дизайн

Хетерогенни или хомогенни

Различията може да са в хардуера или софтуера

Дали всички хомогенни агенти взимат едно и също действие при еднакви други условия?

Page 13: Агентни Системи

Околна среда

Включва всичко друго без агентите

Може да е статична или динамична

Могат ли статичните околни среди да се променят

Ще завърши (ще склони) ли обучението на агентите?

Къде е границата между другите агенти и околната среда?

Page 14: Агентни Системи

Възприятие

При мулти-агентните системи, информацията е разпределена.

Обикновенно светът (околната среда) е частично видима

Много често планирането и самоубочението не са приложими

При мулти-агентните системи: как да комбинираме възприятието?

Page 15: Агентни Системи

Контрол?

Може да е

централизиран или

децентрализиран

Предимства на

децентрализирания

контрол:

Ефикастност

Разширяемост

Гъвкавост

Page 16: Агентни Системи

Знание

Какво знаят агентите за околната среда?

...и какво един за друг?

...и какво знаят другите?

...и какво знаят другите за това което знаят?

Всеобщоизвестно знание

Page 17: Агентни Системи

Роботика

Page 18: Агентни Системи

Търгове

Google AdSense

На кого да се

показват

рекламите?

Колко да струва

дадена реклама? E-bay търгове

Няколко стоки за

продан

Кога да се

наддава и кога

не?

Page 19: Агентни Системи

Видео игри!!!

Играчите искат

предизвикателни

противници

Важно е реалистичното,

подобно на човешкото

поведение Трябва да се

адаптира към играча

Много от съвременните системи са доста наивни.

Page 20: Агентни Системи

Схема

Page 21: Агентни Системи

Обзор

Въведение в агентните системиРационални агентиОбучениеИстория на агентните системиЗадаване параметрите на проекта

Page 22: Агентни Системи

Какво е рационален агент?

Характеризира се с няколко показатела: Цел Награда Стойност

Действия, които целят да максимизират тези показатели

Page 23: Агентни Системи

Оптимално вземане на решения

Как трябва да действа един агент във всяка ситуация която срещне, така че да подобри (да максимизира) представянето си в дългосрочен план?

В психологията и економиката: теория на решенията

В инжинерството: оптимален контрол или теория на контрола

В информатиката: планиране и подсилено обучение.

Page 24: Агентни Системи

Ричард Белман

Формализира Процеса за вземане на решения на Марков (MDP), извлича уравнението на Белман, създател на динамичното програмиране

„Височаеща фигура в разработчиците на модерната теория на контрола и системния анализ“ - IEEE

„Уравнението на Белман е една от петте най-важни идеи в Изкувствения Интелект“ – Брам Бекър

Page 25: Агентни Системи

Формализъм Предположете, че имате дискретни интервали от време: t = 0,1,2…

По времето на всяка една стъпка агентът: Извършва наблюдение Ѳt

Избира действие at от крайно множество А

В общия случай, решението зависи от пълната история (полица):

π(Ѳ0, a0, Ѳ1, a1, Ѳ2, a2 ,..., Ѳt)= at

Полица е съответствието между история и действие

Page 26: Агентни Системи

Това практично ли е? Историите могат да са дълги и

безкрайни В резултат: невъзможни за

проследяване и запис изисквания към паметта

Обема на историята може да е огромен, дори неизброим В резултат: невъзможни за изпълнение

изчислителни изисквания

Рефлексните (реактивни) агенти имат проста полица:

(t)= at

Колко добри са рефлексните (безпаметни) полици?

Page 27: Агентни Системи

Състояние на света (околната среда)

Текущо състояние на света st от множеството S

Всичко за околната среда на агента, което може да е значимо и за бъдещите наблюдения (включително наградите).

Пространството на състоянията може да е крайно или продължително.

Page 28: Агентни Системи

Функции на прехода (транзиционни

функции) Хващат динамиката на околната среда

Как състоянията се променят в зависимост от действията

Световете могат да са детерминистични:

st+1 = T (st , at ) Или стохастични:

P(st+1 | st, аt) = T(st, аt , st+1)

Page 29: Агентни Системи

Видимост В напълно видими светове,

наблюденията еднозначно определят текущото състояние на света:

st = Θt

В частично-видими светове, наблюденията и състоянията са тясно свързани с модела на наблюдение:

O(Θt, st) = P(Θ t |st )

Page 30: Агентни Системи

Рефлексни агенти в напълно видими среди

Рефлексните агенти използват само

текущото наблюдение:

π(Ѳt)= at

В напълно видими среди:

st = Θt

Реактивните полици имат вида:

π(st)= at

Page 31: Агентни Системи

Свойството на Марков P( st+1 | Ѳt , at , Ѳt-1, at-1, Ѳt-2, at-2, ,..., Ѳ0, a0)= P( st+1 | Ѳt , at )

Реактивните полици могат да са оптимални, тъй като напълно видимите среди притежават свойството на Марков!

За момента ще пренебрегнем наградите

Свойството на Марков указва, че дори да запомним историята, това не може да ни помогне

Page 32: Агентни Системи

Границата между агент и среда

Робот Памет Физчески свят

Агент Среда

АгентСреда

Page 33: Агентни Системи

Това притежава ли Марков свойството?

Ракета

Може да наблюдава:

Настоящата си скорост

Настоящата си позиция

Действия контолират

тягата

А ако не наблюдава

настоящата си скорост?

Page 34: Агентни Системи

Цели Цел е желано състояние

В детерминистични светове планирането се изразява в търсене на оптимален път до целта

Проблемът може да се реши и с алгоритъм за търсене в граф, напр. A* или методът на Дийкстра.

Page 35: Агентни Системи

Награди

В стохастични светове целите не са достатъчни

Нужно е предпочитание пред другите състояния

Нужна е пълна полица, а не просто план

Средата предоставя и наградаАгент Околна среда

действие

Наблюдение, Награда

Page 36: Агентни Системи

Процес на Марков за вземане на решения

Представете си напълно-видима, статична и вероятно стохастична среда

Краен MDP се състои от:

Крайен брой стъпки t=0,1,2,…

Крайно множество на състоянията s e S

Крайно множество на действията a e A

Транзиционен модел (модел на прехода) p(s’|s,a): вероятността да се премине към състояние s’ когато агентът вземе действие a в състояние s

Наградна функция R: S x A ℝ, такава че агентът получава награда R(s,a) когато извърши действие a в състояние s

Хоризонт на планиране, който може да е безкраен

Page 37: Агентни Системи

Обзор

Въведение в агентните системиРационални агентиОбучениеИстория на агентните системиЗадаване параметрите на проекта

Page 38: Агентни Системи

Подсилено обучение Дефиниция:

Раздел от машинното обучение в информатиката, занимаващо се с това как един агент да избере действията си в една околна среда, така че да максимизира някакво представяне на натрупваща се награда.

Page 39: Агентни Системи

Value функции Агентът предпочита състоянията с най-

висока стойност: очакваната дългосрочна бъдеща награда

Това зависи от полицата на агента Value функция отразява стойността на всяко

едно състояние, при дадена полица

Vπ (s)

Оптималната value функция може да бъде намерена чрез динамично програмиране или подсилено обучение

V*(s)

Page 40: Агентни Системи

Action-value функции Аналогично на Value-функцията е Action-value функцията:

Qπ (s,a)

Отразява колко добра е текущата комбинацията (състояние, действие) за агента

Ще намерим оптималните Action-value функции с помощта на Q-обучение:

Q*(s,a)

Page 41: Агентни Системи

Свят на играчките Напълно видима среда: агентът вижда

позицията си на дъската Възможните действия са: нагоре,

надолу, наляво, надясно Детерминистичен преход: 100% в

желаната посока Две крайни състояния:

Page 42: Агентни Системи

Q-обучение Q-обучението е метод за определяне на

оптималните Q*, без да е известен модела на прехода

Агентът непрекъснато си взаимодейства със средата, като се опитва да постигне Q* чрез проба-и-грешка

Инициализира се Q(s,a) функция за всяка двойка състояние-действие. Тогава агентът започва да изследва средата, като генерира наредени четворки (s,a,r,s’).

Всяка такава четворка се използва за актуализация на Q-приближенията:

Page 43: Агентни Системи

Изследване на средата

Ако всички двойки състояние-действие се посещават безкрайно често и намаля 𝛼бавно, Q – обучението намира оптималните Q*

За да се изпълни това условие, е нужно изследване

В -алчното изследване агентът избира 𝜀произволно действие с вероятност и алчно действие с вероятност

(1 - ).

В изследване СофтМакс агентът избира действията си според дистрибуцията на Болтцман:

Page 44: Агентни Системи

Оптимални полици

Оптималната полица (s) максимизира V* или Q*

За едно MDP винаги има поне една детерминистична и стационарна оптимална полица

Оптималната полица е алчна спрямо спрямо V* или Q*

Може да съществуват множество оптимални полици, но всички те споделят уникални V* и Q*

Да се реши едно MDP се свежда до намиране на оптимална value-функция

Page 45: Агентни Системи

Обзор

Въведение в агентните системиРационални агентиОбучениеИстория на агентните системиЗадаване параметрите на проекта

Page 46: Агентни Системи

Динамично програмиране

Терминът „Динамично програмиране“ се отнася до група алгоритми, които могат изчислят оптимални полици ако имат пълен модел на света, представен като MDP.

От малко практическо значение, но важни теоретично

Всички останали алгоритми се стремят да постингат същото, но с по-малко ресурси по-малко информация за света

Page 47: Агентни Системи

Монте Карло Въвежда се обучение (научаване)

Не се предполага пълно знание за средата

Неоходими са единствено опит – проби от средата (s, a, r).

Решават проблеми с Подсиленото самообучение като осредняване на срещнати Rt

Епизодично обучение

Едва след края на епизода, се актуализират стойностите V и Q

Подобрението се получава епизод-след-епизод, а не стъпка-по-стъпка

Page 48: Агентни Системи

Прилики с ДП Изчисляват се едни и същи V и Q. Монте Карло може да се разгледат като ДП с добавен опит от средата (тъй като не използваме пълен модел T и R)

Може да се използва опростен модел, за определяне на приблизителни стойности

Page 49: Агентни Системи

Обучение с темпорални

(временни) разлики

Централна идея в подсиленото самообучение

Съчетава основните идеи от Динамичното Програмиране и Монте Карло. Както при Монте Карло, TD

може да се учат от директен опит – без пълен модел на средата.

Както при ДП, подобрението на V и Q става като се използват части от други научени приближения, без да се чака края на епизода.

Page 50: Агентни Системи

Предимства пред Монте Карло и ДП

TD методите научават своите предположения

частично като използват други

предположения. Това се нарича bootstrap

Не е необходим модел на средата (T, R), за

разлика от ДП

TD чакат само 1 стъпка, доката Монте Карло

трябва да изчакат да свърши целия епизод

Някои приложения имат дълги епизоди, или

нямат въобще епизоди

Някои Монте Карло методи трябва да

намалят или да изтрият цели епизоди това

забавя обучението

Page 51: Агентни Системи

Въпроси по теорията?

Page 52: Агентни Системи

Обзор

Въведение в агентните системиРационални агентиОбучениеИстория на агентните системиЗадаване параметрите на проекта

Page 53: Агентни Системи

Морски шах с подсилено обучение

Имплементация

Page 54: Агентни Системи

Псевдо-код на алгоритъма Q-learning

Инициализация на таблицата с Q-стойности

Повтори(за всеки епизод)-условие за край

Инициализирай s

Повтори (за всяка стъпка от епизода)

Избери a от s, като се ползва полица, извлечена от Q ( 𝜀- алчна полица)

Вземи действие а , наблюдавай s’ и r

s s’

докато s е крайно.

Page 55: Агентни Системи

Пояснения Терминалните състояния да се инициализират с: Q(s,a) = 0

Всички останали с: Q(s,a) = 1.1 γ = 0.99 α = 0.1 𝜀 = 0.1

Page 56: Агентни Системи

Избор на критерии за край на обучението

След като са изминали n на брой епизода

След като 2 последователни Q-стойности не са се променили значително

Page 57: Агентни Системи

Представяне на S Пример:

1 – полето е заето от х

2 – полето е заето от 0

0 – полето е свободно Пример 2

x- полето в заето с х

о – полето е заето с о

„-“ полето е свободно

Page 58: Агентни Системи

Примерно състояние s = 200010120 действия : 1 до 9 Q[s][a] = Q[200010120][2]

Еднозначно преминаване от кодирано състояние в позиции на дъската

Page 59: Агентни Системи

Решения към имплементацията

Език за програмиране – препоръчва се ОО език от високо ниво

Структура за съхранение на таблицата с Q-стойностите Речник от типа key-value

Масив Класове

1 клас за имплементация поведението на агента

1 клас за представяне на дъската / играта

Page 60: Агентни Системи

Благодаря за вниманието!

[email protected]