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

Post on 03-Jan-2016

45 views 0 download

description

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

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

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

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

TRI Soft

www.tri-soft.net

Управител

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

проекта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

на цикъла:

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

действие

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

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

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

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

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

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

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

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

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

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

Стадо газели

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

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

агенти

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

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

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

системи:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Околна среда

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

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

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

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

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

Възприятие

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

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

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

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

Контрол?

Може да е

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

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

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

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

контрол:

Ефикастност

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

Гъвкавост

Знание

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

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

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

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

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

Роботика

Търгове

Google AdSense

На кого да се

показват

рекламите?

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

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

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

продан

Кога да се

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

не?

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

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

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

противници

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

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

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

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

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

Схема

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(t)= at

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

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

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

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

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

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

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

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

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

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

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

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

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

st = Θt

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

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

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

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

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

π(Ѳt)= at

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

st = Θt

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

π(st)= at

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

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

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

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

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

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

Агент Среда

АгентСреда

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

Ракета

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

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

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

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

тягата

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

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

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

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

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

Награди

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

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

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

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

действие

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

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

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

Краен 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

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

Обзор

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

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

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

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

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

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

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

Vπ (s)

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

V*(s)

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

Qπ (s,a)

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

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

Q*(s,a)

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

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

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

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

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

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

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

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

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

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

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

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

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

(1 - ).

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

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

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

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

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

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

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

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

разлика от ДП

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

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

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

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

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

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

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

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

Обзор

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

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

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

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

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

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

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

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

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

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

s s’

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ceo@tri-soft.net