Универзитет у Нишу Природно-математички факултет Департман за рачунарске науке Напади непријатељским примерима на алгоритме појачаног машинског учења
|
|
- Filip Orel
- пре 5 година
- Прикази:
Транскрипт
1 Универзитет у Нишу Природно-математички факултет Департман за рачунарске науке Напади непријатељским примерима на алгоритме појачаног машинског учења Мастер рад Аутор: Предраг Живадиновић Ментор: Проф. др Бранимир Тодоровић Ниш, Октобар 2018.
2 i
3 Желим да се захвалим професорима Природно-математичког факултета који су ме на систематичан начин упознали са рачунарским наукама. Такође, захваљујем се колегама за сарадњу која је ми је помогла да стигнем овде. Посебнo сe захваљујем ментору, као и менторима на ранијим пројектима, који су ме мотивисали да ширим своје видике и будили у мени жељу за упознавањем нових ствари. Највећу захвалност дугујем породици која је пуно уложила у мене и моје образовање и током целог овог путовања ми пружала подршку. ii
4 iii
5 Садржај Увод 1 1 Појачано учење Моделирање Марковљевим процесом Појачано учење и динамичко програмирање Итерирање по стратегијама Итерирање по вредностима Монте Карло методи Методи временских разлика САРСА Q-учење Апроксимирање функције вредности Дубоко Q-учење Policy gradient REINFORCE Actor critic Непријатељски напади на дубоко машинско учење Напади беле кутије L-BFGS напад Напад брзог знака градијента Итеративни напади Напад коришћењем мапе доприноса Карлини-Вагнер напад EAD напад DeepFool напад Непријатељске карактеристике Напади црне кутије Обучавање заменског модела Напади оптимизацијом са коначним разликама Одбрана од непријатељских напада Обучавање у непријатељском окружењу Дефанзивна дестилација Откривање непријатељских примера iv
6 3 Непријатељски напади и дубоко појачано учење Креирање непријатељских стања Избор тренутка за напад Одбрана од непријатељских напада Експерименти Циљни агент Напади Одбрана Дискусија Закључак 53 v
7 Сажетак Употреба дубоких неуронских мрежа у комбинацији са појачаним машинским учењем се показала као врло ефикасна техника за решавање бројних проблема. Истовремено, откривено је да пажљиво припремљене промене улазних података могу значајно да погоршају резултате класификатора базираних на дубоким неуронским мрежама. Улазни подаци припремљени са циљем збуњивања модела се називају непријатељским примерима. У овом раду су представљене основе појачаног машинског учења, а затим је испитана осетљивост алгоритама дубоког појачаног учења на непријатељске примере. Представљени су резултати напада генерисањем непријатељских примера на неколико начина и неке технике за побољшање робустности модела. vi
8 Увод Машинско учење се бави развојем алгоритама који на основу доступних података покушавају да дођу до решења постављеног проблема. Због тога је машинско учење погодно за примену на проблемима за чије је решавање тешко утврдити и имплементирати експлицитна правила. Неки од примера су детектовање и препознавање објеката, аутоматско превођење текста, управљање аутомобилима итд. Приступ решавању оваквих задатака употребом машинског учења се заснива на употреби података за развој модела који су способни да реше постављени проблем. У последњих неколико деценија је дошло до интензивног развоја машинског учења и оно је нашло примену у многим аспектима наших живота. Само машинско учење се може поделити на: надгледано учење (supervised learning), полунадгледано учење (semisupervised learning), ненадгледано учење (unsupervised learning) и појачано учење (reinforcement learning). Код надгледаног учења рачунару је дата скуп података који се користи као улаз и жељени излаз за сваки податак, при чему је сваки податак представљен вектором. Циљ је научити правила која ће мапирати улазне податке на излазне и која ће имати добру способност генерализације, тј. тачно ће мапирати и податке који никада раније нису виђени. У последњих неколико година се у ову сврху врло успешно користе дубоке неуронске мреже. У полунадгледаном учењу ради се са делимично обележеним скупом података. Другим речима, само неким подацима је придружен жељени излаз, док је остатак необележен. Као и код надгледаног учења циљ је доћи до правила која ће добро мапирати улазне податке, притом користећи и податке без обележја. Циљ ненадгледаног учења је препустити алгоритму да сам пронађе структуру у датим подацима, без икаквих унапред познатих информација. Другим речима, рачунару је дат само скуп улазних података без икаквих ознака. Појачано учење се може сматрати подскупом надгледаног учења код кога се добија само повратна информација у виду награде. Циљ је максимизовати добијену награду и тако открити правило које успешно решава дати проблем. Модели машинског учења базирани на дубоким неуронским мрежама су се показали супериорним у разним областима примене попут машинског вида, обраде звука и интелигентне обраде текста. Дубоке неуронске мреже се састоје од "неурона" организованих у слојеве. Сваки неурон садржи прикључене тежине чијим се скаларним производом са улазним вектором, уз могућу примену активационе функције, добија излазна вредност. Излази свих неурона једног слоја се третирају као улаз наредног слоја. Обучавање неуронске мреже подразумева проналазак вредности тежина тако да се улазни подаци на што бољи начин мапирају на жељене излазе. Последњих година се, на бројним примерима [[27], [41], [42]], врло успешном показала синтеза појачаног учења и дубоких неуронских мрежа и то представља једну 1
9 од главних мотивација за писање овог текста. Међутим, откривено је да је за моделе засноване на дубоким неуронским мрежама могуће креирати такозване непријатељске примере. Непријатељским примерима се називају улазни подаци креирани на основу легитимних података са циљем да буду погрешно протумачени од стране неуронске мреже. Овакви примери представљају опасност за неуронске мреже у практичној примени па су од великог значаја истраживања са циљем развоја метода за њихово прављење и за одбрану од њих. Како су дубоке неуронске мреже рањиве на непријатељске примере можемо се запитати: Да ли су и алгоритми појачаног учења који користе дубоке неуронске мреже такође осетљиви на непријатељске примере? Уколико јесу, да ли постоје или је могуће развити методе за повећање њихове отпорности на непријатељске нападе? Овај рад испитује управо непријатељске нападе и методе за одбрану од њих у контексту дубоког појачаног учења. Како би се у потпуности разумео проблем потребно је прво се упознати са основнама. Стога је тема главе 1 појачано учење. Формулисано је појачано учење и представљени основни приступи решавању проблема. У овој глави је такође обрађена и интеграција дубоког и појачаног учења. У глави 2 биће представљени основни методи за креирање непријатељских примера и за одбрану од њих. Непријатељски напади на дубоко појачано учење и повећање робусности дубоког појачаног учења су тема главе 3. Представљени су начини за примену непријатељских напада и одбрамбених техника на дубоко појачано учење, а затим представљени резултати тестирања различитих нападачких и одбрамбених метода. 1 Појачано учење У свакодневном животу често изводимо акције док истовремено вришимо интеракцију са окружењем. Један (комплексан) пример је већ наведена вожња аутомобила. У току вожње посматрамо окружење и понашамо се у складу са њим (не газимо пешаке, стајемо на црвено, итд.). Писање програма који би адекватно реаговао на сваку могућу ситуацију је врло тешко и колико је аутору познато, није до сада изведено. Уместо тога бољи приступ је обучити модел који ће учити по систему пробе и грешке и временом научити како да контролише аутомобил и да се понаша у реалном окружењу. Основни елементи код појачаног учења су окружење и агент који интерагује са окружењем са циљем да максимизује награду коју добија за низ акција које изводи. Окружење се у сваком тренутку t налази стању s t из скупа свих могућих стања S. У тренутку t агенту је познато у ком се стању налази окружење и на основу тога бира 2
10 акцију a t из скупа сквих могућих акција. Након што агент изврши акцију a t, окружење прелази у стање s t+1 и агент добија награду r t. Ово се понавља све док окружење не пређе у терминално стање, чиме се завршава тренутна епизода. Циљ агента је да максимизује укупну награду коју добија од окружења. Овај процес је илустрован на слици 1. Окружење може бити детерминистичко или стохастичко. Детерминистичко је уколико акција a у стању s увек доводи до преласка у стање s, а стохастичко уколико примена акције a у стању s може, у складу са неком расподелом, одвести окружење у било које стање. У датом примеру агент би био возач аутомобила, а окружење пут којим се вози аутомобил. Награда у виду реалног броја би се додељивала агенту након сваке акције коју изврши. Следећи важан елемент појачаног учења је стратегија (policy) π, на основу које агент одлучује коју акцију ће да изабере у ком временском тренутку. Стратегијом π је дефинисано понашање агента па је она од кључне важности у проблему појачаног учења. Циљ алгоритама појачаног учења је да открију оптималну стратегију π којом ће се постићи најбоље понашање агента у датом окужењу. Сама стратегија π је у општем случају стохастичка али се може говорити и о детерминистичкoj. Стохастичка стратегија π(a s) заправо представља условну расподелу акција у односу на стања, детерминистичка π(s) је њен специјални случај код кога се једно стање бира са вероватноћом 1, а сва остала са вероватноћом 0. Детерминистичка стратегија је у суштини мапирање из стања у жељену акцију за то стање. Додељивањем награда се у појачаном учењу дефинише циљ. Агент у сваком временском тренутку t добија награду r t и његов циљ је да максимизује укупну награду коју добија. Самим тим се наградама дефинишу добре и лоше одлуке агента. У примеру вожње аутомобила стимулисале би се акције које су у складу са правилима вожње и које не шкоде никоме из окружења, а дестимулисале (негативном наградом) акције које су штетне по остатак окружења. Максимална награда би била додељена за успешан долазак на циљ. У општем случају награда може бити стохастичка функција у зависности од стања окружења и одабране акције. Наградама се стимулишу одлуке које су добре у тренутку t, међутим циљ агента је да добије што већу награду на дуже стазе, па се зато дефинише функција вредности (value function). Функција вредности v у стању s се дефинише као очекивана награда коју агент добија интерагујући са окружењем почевши од тог стања и пратећи неку фиксну стратегију π. Покушавајући да нађе стратегију π која максимизује ову функцију агент прави компромис како би максимизовао укупну награду, тј. не мора увек да изабере акцију која тренутно доноси највећу награду већ ону за коју очекује да ће од ње највише добити у будућности. 3
11 Слика 1: Интеракција између агента и окружења. 4
12 Осим претходно наведених елемената неки системи појачаног учења садрже и модел окружења. За дато стање s и акцију a модел имитира понашање окружења и предвиђа у које ће стање прећи применом акције a, као и колику ће награду агент добити. Модели су корисни приликом планирања, тј. онда када се доноси одлука о акцији на основу могућих ситуација у будућности, а пре него што су се оне десиле. Методи појачаног учења се могу поделити на основу присутности модела окружења. Код метода заснованих на моделима (model based) модел окружења је унапред познат и агент га користи у процесу обучавања како би дошао до оптималне стратегије. Када су у питању методи незасновани на моделима (model free) модел окружења иницијално није познат, а агент кроз интеракције са окружењем долази до оптималне стратегије π. 1.1 Моделирање Марковљевим процесом Моделирање Марковљевим процесом (MDP - Markov Decision Process) представља класичан математички модел секвенцијалног доношења одлука. На овај начин се фино описује избор различитх аксија у различитм ситуацијама, а да при томе тај избор има утицаја (посредног) не само на тренутни добитак већ и на добитак у будућности. Марковљев процес је уређена петорка (S, A, P, R, ). S је скуп свих могућих стања, A - скуп свих могућих акција (A(s) - скуп свих акција доступних у стању s). P је матрица прелаза (P [s, s, a] = p(s s, a)), R : S A > R је функција која агенту даје награду r када у стању s примени акцију a. Величина γ [0, 1] je фактор поверења у награде из будућности. Наравно, суштина је у томе да важи Марковљевa претпоставка да реакција у тренутку t + 1 зависи само од тренутка t, односно да p(s t+1 s t, s t 1... s 0 ) = p(s t+1 s t ). Агент и окружења интерагују притом генеришући секвенцу: (s 0, a 0, r 0 ), (s 1, a 1, r 1 )... (s T, a T, r T ), s i S, a i A, i = 0... T Конкретне вредности из овог низа описују случајне променљиве S t и R t чија расподела зависи од тренутног стања и акције, па је могуће дефинисати функцију p : S R S A > [0, 1] која представља условну расподелу награда и стања за све парове стања и акција [45]. За ову функцију важи: p(s, r s, a) = 1, s S, a A(s) s r и уколико је позната (у пракси често није), њоме је потпуно описан Марковљев процес, јер се из ње могу израчунати вероватноће прелаза маргинализацијом по r: p(s s, a) = r p(s, r s, a). 5
13 Такође, можемо дефинисати функцију: R(s, a) = r p(s, r s, a) p(s s, a) (1.1) Kада говоримо о наградама, желимо да их формирамо тако да мотивишемо агента да максимизује добитак у дужем временском периоду, па се зато дефинише награда са попустом (discounted reward) у временском тренутку t: G t = γ k r t+k = r t + γ G t+1, γ [0, 1] (1.2) k=0 где се параметром γ дефинише поверење у награде које би агент добио у будућности када би се водио одговарајућом стратегијом. Постављајући γ = 0 у агент би се трудио да максимизује само тренутну награду, што у општем случају није добро. Рецимо акција a у стању s увек може давати малу награду r али може довести до низа стања у којима би агент покупио велике награде. Повећавајући вредност параметра γ агент више даје на значају акцијама из будућности и труди се да максимизује добитак у дужем временском периоду. У светлу Марковљевих процеса стратегија π се дефинише као расподела акција условљених стањима: π(a s) = p(a s) (1.3) Стратегија π задовољава Марковљеву претпоставку и њоме је потпуно дефинисано понашање агента. Осим тога она је стационарна, тј. не зависи од временског тренутка t, већ само од стања s. Уз све ово могуће је дефинисати функцију вредности стања v : S R на следећи начин: v(s) = E[G t s t = s] = E[r t+1 + γ V (s t+1 ) s t = s] (1.4) Функција вредности стања показује колико је за агента добро да се нађе у стању s, а осим ње корисно је дефинисати и функцију вредности акција (action value function). q : S A > R q(s, a) = E[G t s t = s, a t = a] = E[r t+1 + γ q(s t+1, a t+1 ) S t = s, A t = a] (1.5), која агенту показује колико је добро применити акцију у стању s. Уколико фиксирамо стратегију π, са v π и q π означавамо очекивану добит у стању s пратећи стратегију π, 6
14 а са q π (s, a) означавамо очекивану добит када у стању s применимо акцију a пратећи стратегију π. v π (s) = E π [G t S t = s] = a π(a s) s,r p(s, r s, a)[r + γ v π (s )] (1.6) q π (s, a) = E π [G t S t = s, A t = a] = a π(a s) s,r p(s, r s, a)[r + γ q π (s, a )] (1.7) Како је циљ свих метода појачаног учења остварење што већег добитка, до оптималне стратегије π је могуће доћи максимизацијом једне од функција q или v, уколико су познате. Некоме се може учинити да Марковљевa претпоставка представља ограничење приликом моделирања неког проблема због тога што будућност зависи само од садашњости, а без директне везе са прошлошћу. Међутим, стањима се може енкапсулирати и нека врста меморије која ће памтити и претходна стања. Уколико стања дефинишемо на следећи начин: s t = s t s t 1, где је са означена величина меморије, на основу Марковљеве претпоставке следи: s t+1 s t s t p( s t+1 s t, s t 1... s 0 ) = p( s t+1 s t ) = p(. s t 1. ). s t s t+1 s t Другим речима, пратећи стратегију π(a s) засновану на стањима s 0... акције се бирају узимајући у обзир претходних стања s Осим тода, и акције се могу дефинисати са различитим нивоима апстракције, од врло конкретних (нпр. окретање волана у колима) до акција вишег нивоа (концентрисање на пешака који ће можда кренути да прелази улицу) како би се агент усмерио на оно што мисли да ће да му донесе највећу награду. 1.2 Појачано учење и динамичко програмирање Динамичко програмирање је представио Ричард Белман [6] средином прошлог века. Развијено је као техника за оптимално планирање вишеетапних процеса. Стратегијом динамичког програмирања сложени проблеми се решавају поделом на скуп 7
15 једноставнијих подпроблема. Након тога се прво решавају мањи проблеми, а њихова решења се користе за решавање сложенијих и тако све до полазног проблема. Као што смо већ поменули, у појачаном учењу се оптимална стратегија π може пронаћи максимизацијом функције вредности, v или q. У овој секцији ће бити приказан начин да се динамичким програмирањем израчунају вредности вункција v и q и њихове максимуми. За употребу динамичког програмирања неопходно је да модел, односно Марковљев процес, буде у потпуности познат (све вероватноће p(s, r s, a)) и коначан (коначан број стања и акција), па методи засновани на динамичком програмирању спадају у методе засноване на моделима (model based) [45]. Приметимо да се вредности вункција вредности (и v и q) у тренутку t могу изразити у зависности од вредности у тренутку t + 1 и то као сума награде у тренутку t + 1 и вредности у тренутку t + 1 [45]: v(s) = E[r t+1 + γ v(s t+1 ) S t = s] q(s, a) = E[r t+1 + γ q(s t+1, at+1 ) S t = s, a t = a] (1.8) Претходнa једначинa(e) je познатa као Белмановa једначинa. Како нам је модел у потпуности познат можемо израчунати очекивање: v(s) = p(s, r s, a)[r + γ v(s )] q(s, a) = p(s, r s, a)[r + γ q(s, a )] Максимуми функција вредности су да ти са: v (s) = max a E[r t+1 + γv(s t+1 ) S t = s, A t = a] = max p(s, r s, a)[r + γ v (s )] a q (s, a) = E[r t+1 + γ max a q (s t+1, a ) S t = s, A t = a] = p(s, r s, a)[r + γ max a q (s, a )] Функције v и q се још називају и оптималним. Уколико су познате, оптималну стратегију π можемо израчунати на похлепан начин, тако што за свако стање s бирамо акцију која максимизује неку од функција вредности у том стању, односно: π(s) = argmax a v (s) π(s) = argmax a q (s, :) Раније смо дефинисали функцију v π као функцију вредности за фиксирану стратегију π. Како, осим стратегије, имамо и познат модел можемо израчунати вредност ове функције у сваком стању s у итеративном поступку познатом као евалуирање 8
16 Algorithm 1: evalpolicy Input: ϵ, π 1 = ϵ while >= ϵ do 3 for each state s do 4 oldv = v(s) 5 v(s) = π(a s) p(s, r s, a)[r + v(s)] 6 = max(, odlv v(s)) 7 end 8 end 9 return π стратегије (policy evaluation). Алгоритам ради тако што почевши од неке насумичне функције v π итеративно апроксимира вредност функције у сваком стању користећи (1.6): Методи засновани на динамичком програмирању налазе максимум функције вредности тако што у итеративном процесу Белманову једначину користе како би побољшали апроксимацију функције вредности, док се стратегија рачуна на похлепан начин на основу функције вредности. Овде ће бити приказана два метода, итерирање по стратегијама (policy iteration) и итерирање по вредности (value iteration) Итерирање по стратегијама Итерирање по стратегијама [19] је итеративни поступак којим се долази до најбоље стратегије за решавање датог Марковљевог процесa. Почетна стратегија π и почетна функција вредности v се иницијализују на произвољан начин, с' тим да вредност функције v у терминалним стањима треба да буде 0. Свака итерација алгоритма се састоји из два корака. Први корак представља евалуирање тренутне стратегије π, на већ описан начин. Након евалуације доступна је нова апроксимација функције вредности v на основу које се рачуна нова стратегија π. Ово се понавља све до конвергенције, тј. све док се избор акције за стања мења. Треба приметити да се ажурирање стратегије изводи тражећи акцију која максимизује v π, тј. вредност v π (s) се рачуна пратећи актуелну стратегију π. Због тога начин на који је ажурирање имплементирано може у мањој мери да утиче на понашање алгоритма. За чување стратегије у меморији рачунара се може користити низ који за свако стање чува оптималну акцију. Нова стратегија се може чувати у новом низу, чијим би се вредностима на крају сваке итерације попунио "стари" низ. Овим се постиже да се вредности v π (s) рачунају пратећи исту тренутну стратегију. Други приступ је да се врши ажурирање у месту, тј. да се нова акција за неко стање уписује у исти низ на одговарајуће место. На овај начин се, у општем случају, приликом рачунања вредно- 9
17 Algorithm 2: policyiteration 1 π = random(...) 2 converged = F alse 3 while not converged do 4 v = evalp olicy(policy, ϵ) 5 for each state s do 6 olda = π(s) 7 π(s) = argmax π(a s) p(s, r s, a)[r + v(s)] 8 converged = converged && olda == π(s) 9 end 10 end 11 returnπ сти v π (s) не прати иста стратегија за сва стања, што углавном доводи до нешто брже конвергенције. На крају треба само додати да се метод може генерализовати тако да користи било који начин евалуацијe и побољшањa стратегије [45]. Основна идеја алгоритма дакле остаје иста, док се евалуација и ажурирање стратегије могу обављати и на неки други начин. Ова генерализација је веома важна јер се бројни други методи своде на овај приступ, примењујући другачији начин евалуације и/или побољшања стратегије Итерирање по вредностима Није тешко приметити да претходни алгоритам има велику рачунску сложеност због тога што се у свакој итерацији врши евалуација стратегије. Наиме, евалуација стратегије је такође итеративни поступак, при чему свака итерација пролази кроз цео скуп стања како би се правилно евалуирала стратегија. Ово чини поступак итерирања кроз стратегије врло спорим за већи број стања, па се природно поставља питање како се он може убрзати. Из тога следи метод итерирања по вредностима [5] код кога се одради само једна итерација евалуације стратегије и одмах након тога се вржи њено побољшање. Овај метод конвергира брже од итерирања по стратегијама, a такође га је могуће генерализовати због тога што он заправо користи скраћену евалуацију стратегије, која се може одрадити на више начина, праћену ажурирањем стратегије. 1.3 Монте Карло методи У претходним поглављима (1.2.1, 1.2.2) описани су методи који долазе до оптималне стратегије за решавање проблема, али захтевају да модел окружења буде познат, што често није случај у пракси. Монте Карло је класа метода заснова на другом 10
18 Algorithm 3: valueiteration 1 = ϵ π = random(...) 3 while >= ϵ do 4 for each state s do 5 oldv = v(s) 6 v(s) = π(a s) p(s, r s, a)[r + v(s)] 7 = max(, oldv v(s)) 8 π(s) = argmax π(a s) p(s, r s, a)[r + v(s)] 9 end 10 end 11 returnπ принципу, на учењу на основу примера. За разлику од претходног приступа знање о моделу нам није потребно, већ само искуство - низ стања, акција и награда добијен интераговањем са окружењем. Како сама интеракција са окружењем може да буде тешко изводљива у ту сврху се могу користити симулације. За симулацију је неопходан модел, али не мора да буде потпуно познат. Другим речима потребно је само генерисати одговарајуће транзиције, али није неопходно знање о расподели вероватноћа свих могућих транзиција. Ово је врло важно због тога што је у већини случајева лако генерисати случајне узорке са жељеном расподелом. Монте Карло методи уче на основу искуства подељеног по епизодама. Једну епизоду чини низ тројки (s, a, r), s - стање, a - акција у стању s, r - награда за предузету акцију. Свака епизода се генерише пратећи тренутну стратегију π, а побољшање апроксимације функције вредности v или q и стратегије се врши на крају сваке епизоде. Претпоставља се да је свака епизода коначна, тј. да ће се завршити за сваки избор акција (тј. за сваку стратегију π). Као и код употребе динамичког програмирања, тако и у учењу на основу искуства потребно је евалуирати тренутну стратегију (тј. одредити апроксимацију функције v π (q π ) и затим је ажурирати на основу претходне апроксимације фукнције вредности. Израчунавање функције вредности на основу искуства је још познато и као Монте Карло планирање, а коришћење тренутне апроксимације функције вредности за побољшавање стратегије на основу искуства као Монте Карло контрола. Пошто је функција вредности за стратегију π у стању s дефинисана као очекивање укупне награде пратећи стратегију π почевши од стања s ((1.6)) могуће је израчунати је на основу искуства као средњу вредност свих награда добијених доласком у стање s у току једне епизоде. Аналогно томе вредност функције q π за стање s и акцију a се рачуна као средња вредност свих укупних награда добијених примењујући акцију a у стању s у току једне епизоде. Пошто стање s може бити посећено више пута у току једне епизоде (важи и за пар (s, a) када се посматра функција q ) средње вредности 11
19 се могу рачунати само на основу прве посете (first visit MC) или на основу свих посета (every visit MC). Оба приступа имају квадратну конвергенцију када број посета стању s (број јављања пара (s, a)) тежи бесконачности [45]. Када је у питању ажурирање тренутне стратегије π приступ је исти као и раније, тј. у стању s se бира акција која максимизује вредност v π (s) (q π (s, :)). Тако да се општи Монте Карло метод састоји од генерисања епизоде тренутном стратегијом, апроксимацијe функције вредности на основу искуства из генерисане епизоде и похлепног ажурирања тренутне стратегије. Algorithm 4: montecarlorl Input: number of episodes epn um Output: policy π 1 q = random(...) 2 π = random(...) 3 rewards = zeros(...) 4 for each episode e = 1... epnum do 5 (s 0, a 0, r 0 ),... (s T, a T, r T ) = generateepisodef ollowingp olicy(π) 6 end 7 for each timestamp t = 1... T do 8 f = findf irstoccurranceofp air(s t, a t ) 9 g = G t = γ k r k, k = f... T 10 rewards(s t, a t )+ = g 11 q(s t, a t ) = mean(rewards(s t, a t )) 12 π(s t ) = argmax(q(s t, :)) 13 end 14 returnπ Овај метод спада још и у on-policy методе зато што побољшава стратегију која је коришћена за доношење одлука. Може се приметити да се заправо ради о генерализованој верзији метода итерирања по стратегијама код које се евалуација стратегије обавља емпиријски, без икаквог знања о моделу. Пошто се креће од случајно изабране стратегије намеће се питање да ли овакав приступ обезбеђује посећивање свих могућих стања? Одговор је не. Уместо тога у практичној имплементацији се избор акција врши на ϵ-похлепан начин, тј. са вероватноћом 1-ϵ акција се бира тако да максимизује фунцију вредности, a са вероватноћом ϵ се бира на случајан начин. Користећи ϵ-похлепан начин за побољшање стратегије постиже се то да агент сигурно посети сва могућа стања у бесконачном броју епизода. Ово заправо представља компромис између тога да агент експлоатише тренутну стратегију и тога да истражује друге могућности које могу да дају већу награду. Други приступ који обезбеђује истраживање од стране агента је off-policy учење. Идеја је да се користе две стратегије, циљна (target policy, она која се учи), и истра- 12
20 живачка (exploratory, behaviour policy) којом се генеришу епизоде. Да би овај приступ био употребљив потребно је да се свака акција која се може изабрати на основу циљне стратегије π може изабрати и на основу истраживачке стратегије i. Овај захтев се назива покривеност (coverage) и формално изражава на следећи начин: π(a s) > 0 i(a s) > 0 Већина метода користи технику узорковања по важности (textitimportance sampling) којом се апроксимирају вредности једне расподеле на основу узорака генерисаних другом расподелом, при чему је врло важна верзија Монте Карло метода са тежинским узорковањем по важности (weighted importance sampling). 1.4 Методи временских разлика Методи темпоралних разлика (temporal difference, TD) представљају једну од најважнијих класа метода у појачаном учењу. Њихова важност се огледа у томе што су врло ефикасни и што комбинују идеје из Монте Карло метода и динамичког програмирања. Попут Монте Карло метода не захтевају познавање модела већ се учење обавља на основу искуства. Истраживање односа између TD метода и Монте Карло метода је активна тема у појачаном учењу и још увек не постоје теоријски резултати који кажу који приступ је боље применити у којим ситуацијама. Као код Монте Карло метода и динамичког програмирања, питање контроле, тј. тражења оптималне стратегије π се своди на неку варијацију генерализованог итерирања по стратегијама. Основна разлика је у начину на који се евалуира стратегија. Основна идеја за евалуацију стратегије код метода темпоралних разлика је да се у тренутку t формира циљна вредност и врши ажурирање функције вредности користећу разлику између циљне и тренутне вредности. Док је опште правило за њу дато са: v(s t ) = v(s t ) + α(target v(s t )) q(s t, a t ) = q(s t, a t ) + α(target q(s t, a t )) (1.9) У претходном правилу α је параметар којим се одређује стопа којом ће алгоритам учити (learning rate). Вредност target је оно што конкретни методи из ове групе одређују на различити начин. У наставку ће бити представљена два метода темпоралних разлика која користе ово опште правило за евалуацију стратегије. Пошто се учење обавља на основу искуства оба метода користе ϵ-похлепан начин за избор стратегије како би се осигурало да агент прође кроз сва стања. 13
21 1.4.1 САРСА Први од алгоритама је САРСА (SARSA - State-Action-Reward-State-Action) [38]. Приликом интеракције агента и окружења, у стању s бира акцију a користећи ϵ-похлепни приступ и тренутну стратегију π. Резултат тога је награда r и прелазак у стање s. Aгент затим изабере акцију a коју би применио у стању s на исти начин као и у стању s (ϵ-похлепно). Циљна вредност се формира на следећи начин: На основу чега се може исписати цео САРСА метод: Algorithm 5: SARSA Input: epnum, ϵ, α 1 q = random(...) 2 s = s0 3 for each episode e = 1... epnum do 4 while s not terminal do 5 a = epsgreedy(q(s, :), ϵ) 6 s, r = env.step(a) 7 a = epsgreedy(q(s, :), ϵ) 8 target = r + γ q(s, a ) 9 q(s, a)+ = α (target q(s, a)) 10 s = s 11 end 12 end target = r + γ q(s, a ) (1.10) САРСА спада у on-policy методе јер побољшава стратегију коју користи за доношоње одлука Q-учење Следећи метод је Q-учење (Q-learning) и представља врло значајно откриће у појачаном учењу [[50], [51]]. У Q-учењу оптимална q функција се апроксимира директно независно од тренутне стратегије (off-policy). Метод углавном конвергира брже од САРСА метода. Метод је врло сличан САРСА методу, разлика је у томе што се након примењивања акције a у стању s за рачунање циљне вредности не бира нова акција за стање s већ се узима она која максимизује функцију q. target = r + γ argmax a q(s, :) (1.11) 14
22 Algorithm 6: Q-Learning Input: epnum, ϵ, α 1 q = random(...) 2 s = s0 3 for each episode e = 1... epnum do 4 while s not terminal do 5 a = epsgreedy(q(s, :), ϵ) 6 s, r = env.step(a) 7 target = r + γ max(q(s, a )) 8 q(s, a)+ = α (target q(s, a)) 9 s = s 10 end 11 end Теорема 1. Q-учење тежи оптималној функцији вредности стања q Q(s, a) q (s, a) Приметимо да се, код оба метода, апркоцимација вредности стања не врши на крају сваке епизоде, већ у сваком кораку на основу апроксимација вредности наредних стања, што је такозвано бутстраповање (bootstrapping). Бутстраповањем се постиже да функција вредности у стању s зависи од вредности у стањима која следе. Ово уноси одређени померај али истовремено смањује варијансу и убрзава учење, у односу на Монте Карло методе. Међутим, због максимизације приликом одређивања циљне вредности померај код Q-учења може бити превелики. Један од начина да се он елиминише је дупло Q-учење [17] које користи две различите функције q1 и q2. Циљна вредност функције q1 се рачуна користећи максимум из q2 и обратно. У сваком тренутку t се на случајан начин са подједнаком вероватноћом (0.5) бира функција која ће се ажурирати. Аналогно томе, постоји и дупли САРСА метод. 1.5 Апроксимирање функције вредности На претходним страницама су представљени основни методи појачаног учења којима је заједничко то да траже оптималну функцију вредности (v и q) на основу које долазе до оптималне стратегије π. Међутим није пуно писано о томе на који начин се имплементирају ове функције у рачунарима. Наиме, како функције вредности показују колико је за агента добро да буде у стању s (v(s)), односно колико је добро да у стању s примени акцију a (q(s, a)) природно је представљати их табелама или низовима (као у наведеним примерима). Из тог разлога се претходни методи често називају и табуларним. Овакав начин представљања је врло једноставан за имплементацију 15
23 и разумевање, а такође је и врло ефикасан. Међутим, ове тврдње су тачне само када број стања и акција није превелики. Проблеми код којих је могући број стања толико велики да није могуће сместити их све у меморију рачунара, су чести. Рецимо, уколико су стања фрејмови из видео снимка или фотографије, укупан број могућих стања је већи од броја свих атома у универзуму. Други пример проблема са веома великим бројем стања су игре, у игри го број могућих стања je већи од , док код шаха различитих стања може бити више од Из ових разлога се уместо табуларног представљања функције вредности прибегава њеној апроксимацији. Идеја је да се функција вредности апроксимира параметарском функцијом чији ће параметри бити научени у време обучавања. Учења параметара апроксиматора се третира као надгледано учење уз употребу циљних вредности као ознака. Да би овакав приступ био успешан, као код класичног надгледаног учења, способност генерализације је од кључног значаја. Другим речима, због веома великог броја стања нека од њих неће бити посећена током обучавања или ће бити посећена врло мали број пута, па апроксиматор мора да генерализује веома добро. Због параметарске природе функција вредности, надаље ће бити коришћена нешто другачија нотација. Са v(s; w) ће бити означена функција вредности параметризована параметром w, a аналогно томе са q(s, a; w) параметризована функција вредности акција. Циљ је у време обучавања научити параметре w. Функцију којом се апроксимира функција вредности у овом контексту ћемо звати још и апроксиматор. Апроксиматор може бити формулисан на више начина. Уколико се апроксимира функција v, улаз у апроксиматор може бити стање s, а излаз њена вредност. Ако се ради на апроксимацији функције q улаз може бити пар стања и акције (s, a) а излаз вредност функције q. Такође функција q се може апроксимирати тако што улаз у апроксиматор буде само стање s, а излаз скор за сваку од могућих акција. Треба напоменути да када се каже да је стање s улазни параметар апроксиматора, мисли се на енкодирање стања неком функцијом x : S X, која може бити и идентичка ( и S = X). Када је у питању избор апроксиматора он може да варира, па долазе у обзир линеарне трансформације, регресиона стабла, вештачке неуронске мреже итд. Свакако најпогоднији за обучавање су диференцијабилни апроксиматори (линеарни, неуронска мрежа...). Разлог је то што се могу обучавати методима заснованим на градијентном спусту (gradient descent). Поменули смо да се обучавање третира као класичан проблем надгледаног учења па се поставља питање, ако су улази стања / акције, излази вредности функције вредности шта су онда ознаке. Уколико се апроксиматор користи код Монте Карло пиступа, циљна ознака је заправо укупна награда G t 1.2 оставарена у претходно одиграној епизоди, почевши од стања s које је тренутни улазни параметар аппроксиматора. Код метода темпоралних разлика, као ознака се користи стандарднa циљна вредност. Па би код Q-учења би ознака била циљна вредност задата са (1.11), а 16
24 код САРСА метода са (1.10). Функција губитка је сума квадрата грешака. Алгоритам испод представља Q-учење са апроксимацијом функције вредности. Algorithm 7: Approx-Q-Learning Input: epnum, ϵ, α 1 w = initializeapproximatorp arams() 2 s = s0 3 for each episode e = 1... epnum do 4 while s not terminal do 5 a = epsgreedy(q(s; w), ϵ) 6 s, r = env.step(a) 7 target = r + γ max(q(s ; w)) 8 updatep arams(w, target) 9 s = s 10 end 11 end Дубоко Q-учење Последњих година је додатно актуелизовано Q-учење са апроксимацијом када је искоришћена дубока конволуциона неуронска мрежа као апроксиматор функције q[27]. Дубоко Q-учење је овде употребљено за играње видео игара из Атари окружења. На улаз у апроксиматор функције (дубоку неуронску мрежу) доводе се фрејмови из игре, а на излазу се добијају скорови за сваку од могућих акција. Познато је да се дубоке неуронске мреже релативно тешко обучавају [54] па је наведеном раду [27] представљено неколико додатних техника које повећавају стабилнист приликом обучавања у контексту појачаног учења. Најзначајнија је свакако играње из искуства (experience replay). Играње из искуства подразумева да се уместо ажурирања вредности параметара након сваке интеракције са окружењем транзиција чува у меморији ограничене величине из које се насумично бирају примери на којима се ради ажурирање. Осим тога важно је поменути и одржавање циљног апроксиматора којим се генеришу циљне вредности, као и прескакање фрејмова. Коришћена неуронска мрежа је постала позната под именом DQN (Deep Q-Network), а њена архитектура се може видети на слици 2. 17
25 Слика 2: DQN архитектура DQN је поједине игра играо боље од људи и представљао је прави пробој у области машинског учења показавши не само да је могуће уклопити појачано учење и дубоке неуронске мреже већ и да њихово комбиновање може представљати врло моћну ствар. Касније је направљено још помака [[40], [1], [31]] по питању стабилности и брзине конвергенције код дубоког појачаног учења. 18
26 Algorithm 8: DQN Input: epnum, ϵ, α 1 w = initializeapproximatorp arams() 2 D = initializeexperience() 3 s = s0 4 for each episode e = 1... epnum do 5 while s not terminal do 6 a = epsgreedy(q(s; w), ϵ) 7 s, r = env.step(a) 8 pusht ransitiont oexperience((s, a, r, s ), D) 9 m = samplem inibatch(d) 10 mt args = r + γ max(q(m; w)) 11 updatep arams(w, m, mt args) 12 s = s 13 end 14 end 1.6 Policy gradient У претходним секцијама су представљени методи који прво уче функцију вредности, а затим на основу ње бирају акције, тј. долазе до стратегије. Суштина свих претходних метода је дакле функција вредности (v или q), без које не би било могуће доћи до оптималне стратегије π. У овој секцији ће бити представљени методи који имају други приступ. Идеја је да се директно научи параметризована стратегија π. Током процеса учења може се користити функција вредности како би се научили параметри стретегије, али се одлуке о акцијама доносе без ње. Слично као и у претходној секцији параметризована стратегија ће бити означена са: π(a s; w π ). И функција вредности такође може бити параметризована па се користи индекс за означавање припадности параметара (w π за стратегију, w q за q ). Приликом параметризовања стратегије, треба се водити рачуна само о томе да функција којом се параметризује треба да буде коначна и диференцијабилна по параметрима w π. Истраживање агента током обучавања се може постићи тиме да стратегија никад не буде детерминистичка и да се вероватноћа сваке акције буде позитивна, тј. да π(a s, w π ) (0, 1). Када је у питању функција апроксимације стратегије, за дискретан простор акција чест избор је софтмакс функција, са датим скоровима за сваку акцију (h(a s; w π )): π(a s; w π ) = eh(a s;wπ) a eh(a s;w π) Такође, методи ове групе су погодни и за примену код проблема са непрекидним 19
27 простором акција, о којима до сада није било речи. У таквим случајевима параметризована стратегија се може користи тако што се користи функција густине нормалне расподеле са параметризованим очекивањем и стандардном девијацијом: π(a s; w π ) = 1 σ(s; w π ) (a µ(s;wπ)) 2 (2π) e 2 σ(s;wπ) 2 Методи описани у овој секцији користе функцију J(w π ) која мери квалитет стратегије π (policy score function). Циљ је максимизирати функцију J, па се у ту сврху користе градијентни методи (gradient ascent). Сви методи који раде на овај начин спадају у групу policy gradient метода. Квалитет стратегије се може мерити функцијом вредности у почетном стању (када се ради са епизодама) или просечном у свим стањима. Да би се научиле праве вредности параметра w π од неопходно је израчунати градијенте функције J. О томе како ефикасно израчунати градијенте функције J говори policy gradient теорема [46]: Теорема 2. За диференцијабилну стратегију π(s, a) и све функције J важи: J(w π ) = E π [ logπ(a s; w π ) q π (s, a)] REINFORCE Сада када знамо како да израчунамо градијенте функције J можемо да се упознамо са конкретним методима из ове групе. Први који ће бити представљен је REIN- FOCE метод[[53], [52]]. Рад алгоритма је базиран на Монте Карло приступу, дакле учи на основу искуства. Први део алгоритма представља генерисање епизоде тренутним апроксиматором стратегије π. Након тога се врши побољање апроксиматора на основу претходне теореме, при чему се циљна вредност рачуна на исти начин као код Монте Карло метода. Algorithm 9: REINFORCE Input: epnum, ϵ, α 1 w π = initializeapproximatorp arams() 2 π = parametrizedp olicyapproximator(w π ) 3 for each episode e = 1... epnum do 4 (s 0, a 0, r 0 ),... (s T, a T, r T ) = generateepisodef ollowingp olicy(π) 5 for each timestamp t = 1... T do 6 g = γ k r k, k = t... T 7 w π + = α γ t g grad(ln(π)) 8 end 9 end 20
28 Лоша особина REINFORCE метода је то што, попут Монте Карло метода, има велику варијансу, што резултује споријим учењем. То се донекле може побољшати параметризовањем функције вредности (REINFORCE with baseline), при чему се њени параметри уче истовремено. Параметри оба апроксиматора се и даље мењају тек на крају сваке епизоде Actor critic У циљу смањења варијансе погодно је вршити ажурирање параметара у сваком кораку, на основу апроксимација вредности у другим стањима (bootstraping), као код метода темпоралних разлика. Методи који користе бутстраповање се називају Actor critic методима [[45], [36] [7]]. Овај метод дакле користи два апроксиматора, један за стратегију други за функцију вредности. Разлика у односу на baseline REINFORCE је у томе што се апроксиматор користи у процесу бутстраповања. Algorithm 10: ActorCritic Input: epnum, ϵ, α 1 w π = initializeapproximatorp arams() 2 π = parametrizedp olicyapproximator(w π ) 3 w v = initializev alueapproximatorp arams() 4 v = parametrizedv alueapproximator(w v ) 5 s = s 0 6 for each episode e = 1... epnum do 7 while s not terminal do 8 a = π(s) 9 s, r = env.step(a) 10 vr = r + γ v(s ) v(s) 11 w v + = alpha vr grad(v) 12 w π + = alpha vr grad(ln(π)) 13 s = s 14 end 15 end У последњих неколико година су се веома успешним показали алгоритми који апроксимирају детерминистичку стратегију π(s) [[43],[23]]. Овај приступ је погодан због лакшег обучавања, а у практичним примерима је показао боље перформансе од алгоритама који апроксимирају стохастичку стратегију. 21
29 2 Непријатељски напади на дубоко машинско учење Алгоритми засновани на дубоким неуронским мрежама су се показали супериорним у решавању бројних проблема и успешно су интегрисани са алгоритмима појачаног учења [[27], [28], [41], [42]]. Међутим, откривено је да је могуће унети мале промене у улазним подацима и на тај начин преварити модел (нпр. да погрешно класификује слику иако је промена неприметна људском оку). У последњих неколико година доста пажње је поклоњено изучавању начина за креирање оваквих улазних примера, као и начина за побољшање отпорности модела њих. Улазне податке креиране са циљем "збуњивања" обучених модела називамо непријатељским примерима ( непријатељским подацима ), а поступак за њихово креирање непријатељским нападом. Главна карактеристика непријатељских примера је да се веома мало разликују од "правих", а да могу довести до потпуно одзива обученог модела. На пример (3), уколико посматрамо класификатор слика, непријатељским примером би се сматрала слика добијена модификацијом слике из класе c, на начин да је промена невидљива (или тешко видљива) голим оком, а да је класификатор погрешно класификује као припадника класе c. Слика 3: Лево: оригинална слика класификована као вук. пример класификован као пас Десно: непријатељски Погледајмо сада општи поступак за добијање непријатељским података. Ако је x нормалан улазни податак, D(x, y) мера сличности између два улазна податка, а 22
30 f(x; w) обучени модел, непријатељски пример x се добија на следећи начин: x = x + δ δ = min δ D(x, x ) f(x; w) f(x ; w) Другим речима, тражи се минимална промена δ таква да модел f(x; w) да погрешан излаз за улазни податак x. Непријатељски напади се могу конструисати и на такав начин да модел улазни пример означи тачно жељеном класом c t, у овом случају говоримо о циљаним непријатељским нападима. У овој секцији биће укратко представљено неколико различитих непријатељских напада. Сами методи се могу поделити у две групе, методи беле кутије и методи црне кутије. Непријатељски напади из прве групе подразумевају познавање структуре модела који се напада (архитектура, тежине, функција губитка ). С друге стране, за непријатељске нападе црне кутије није неопходно познавања модела који се напада, већ само мали скуп улазних података означених од стране нападаног модела. 2.1 Напади беле кутије L-BFGS напад Овај напад је представљен у [47] и први je описан метод за генерисање непријатељских примера. Напад решава следећи оптимизациони проблем са ограничењима: δ = δ 2 Тако да: f(x + δ) = c f(x) c x + δ [0, 1] m За решавање овог оптимизационог проблема, који може бити веома велике димензионалности, се користи L-BFGS метод, са модификацијом која узима у обзир ограничења (L-BFGS-B). Конкретно, проблем се своди на минимизацију: α δ + J(x + δ, c) (2.1) Где је J функција губитка којом је обучен модел f(x; w). Метод се показао ефикасним за генерисање непријатељских примера. Експерименти су још показали да су непријатељски примери генерисани за један циљни модел били погрешно класификовани и од стране других модела (са другачијим архитектурама, обучаваним на другачијим скуповима података). Овим је показано да могућност збуњивања модела непријатељским примерима није последица превеликог прилагођавања модела подацима. 23
31 2.1.2 Напад брзог знака градијента Напад брзог знака градијента (FGSM - Fast Gradient Sign Method је врло једноставан напад описан у [15]. Непријатељски пример x се добија од примера x на следећи начин: x = x + ϵsgn( x J(x, c; w)) (2.2) Где је са J означена функција губитка. Једноставност потиче од чињенице да су неуронске мреже диференцијабилне и по параметрима w, али и по улазним подацима x. Па је извод x J(x, c; w) могуће израчунати пропагацијом грешке уназад (backpropagation) [37]. Овај напад је параметризован вредношћу ϵ од чијег избора зависи ефикасност напада, али и то у којој мери ће се непријатељски пример разликовати од правог. Слика 4: Непријатељски пример добијен нападом брзог знака градијента. Лево: оригинална слика класификована као панда, десно: непријатељски пример класификован као гибон, ϵ = [15] Итеративни напади Итеративни напади су међусобно врло слични, а непријатељске примере генеришу у итеративном поступку. Свака итерација се састоји од примењивања напада брзог знака градијента и ограничавања компоненти непријатељског примера како би он остао у околини полазног примера. Најједноставнији је основни итеративни напад [22] код којег је правило за добијање непријатељског примера следеће: x 0 = x x i+1 = clipϵ (x i + λsgn( x J(x, c; w)) 24 (2.3)
32 Овај напад је ефикаснији од напада брзог знака градијента, а осим параметра λ, потребно је одредити и параметар ограничавања ϵ, као и број итерација. Број итерација се може одредити и неком хеуристиком (min(ϵ + 4, 1.25ϵ) [22]). Код модела који раде са великим бројем различитих класа, од којих су неке међусобно сличне (две различите врсте мачки нпр.) претходна два напада најчешће доводе до погрешне класификације у неку од блиских класа [22]. Аутори зато предлажу да се изабере најмање вероватна класа c LL = argmin c p(c x), а да се непријатељски пример добије максимизирањем log(c LL x). Ова максимизација се постиже у итеративном поступку померајући тренутно решење у смеру sgn( x log(p(c LL x))). Овим долазимо до итеративног метода најмање вероватне класе: x 0 = x x i+1 = clip ϵ (x i + λsgn( x log(p(c LL x))) (2.4) У [25] аутори тврде да је основни итеративни метод заправо варијација пројективног градијентног спуста на негативну функцију губитка. Због тога предлажу да се приликом креирања непријатељских примера ПГС више пута рестартује у околини полазног примера x. Итеративни метод са моментумом [13] мотивисан познатом модификацијом градијентнонг спуста, додаје моментум у основни итеративни метод. Тако долазимо до итеративних правила за генерисање непријатељских примера: g i+1 = µg i + x 0 = x g 0 = 0 sgn( xj(x, c; w)) sgn( x J(x, c; w)) 1 x i+1 = x + λsgn(g i+1 ) (2.5) Овај напад је врло ефикасан, што је показано победом на NIPS 2017 такмичењу у генерисању непријатељских напада Напад коришћењем мапе доприноса Код напада коришћењем мапе доприноса (Jacobian-based Saliency Map Approach - JSMA) [35] непријатељски пример (за циљну класу c t ) се добија итеративним мењањем компоненти улазног примера користећи салијентну мапу креирану на посебан начин. На почетку је x 0 = x, а једна итерација алгоритма подразумева:
33 Израчунавање изводa модела по улазном примеру. Специфичност је у томе што се игнорише функција губитка и што се изводи не рачунају пропагирањем уназад, већ пропагирањем унапред, почевши од улазног примера. На овај начин се за сваку компоненту (пиксел у случају слике) улазног примера може одредити у којој мери утиче на излаз мреже. Формирање матрица f(x i ) = [ f c(x i ) x i од вредности извода за сваки излаз ]i,c по свакој улазној компоненти. Суштински ово је Јакобијан обученог модела. Вредност на позицији (j, c) показује у којој мери компонента j доприноси скору за класу c. Формирање мапе доприноса S(x i, c t), где се вредност која одговара улазној компоненти j одређује на следећи начин: 0, fc t (x i ) x j < 0 f ct (x i ) x j > 0 S(x c c t i, c t )[j] = f ct (x i ) x j f ct (x (2.6) i ) x j Овим поступком добија се мапа код које су позитивне вредности само за оне компоненте које значајно доприносе скору за циљну класу c t. На основу ове мапе се бира компонента j max = argmax j S која највише доприноси циљној класи и она се мења за неку вредност θ. Поступак се понавља све док модел не класификује пример погрешно или док се не достигне ограничење у броју промењених компоненти. Ограничавањем броја измењених компоненти и пажљивим избором параметра θ се избегава могућност генерисања непријатељског примера који ће превише одступати од правог. c c t Карлини-Вагнер напад Карлини-Вагнер напад [9] је добио назив по својим ауторима, који су генересање непријатељског примера формулицали као оптимизациони проблем, слично L-BFGS нападу [47]. За меру сличности улазних података D(x, y) напад се формулише као налажење δ = min δ D(x, x + δ), тако да: f(x + δ) = c t x + δ [0, 1] m Како је претходно описани проблем тежак за оптимизацију, аутори уводе додатну функцију g(x), такву да је f(x + δ) = c t ако и само ако је g(x + δ) 0. Па се сада минимизује: 26
34 D(x, x + δ) тако да: g(x + δ) 0 x + δ [0, 1] m Увођењем константе c, проблем се може додатно поједноставити: δ = min δ D(x, x + δ) + c g(x + δ) тако да: δ = min δ δ p + c g(x + δ) (2.7) x + δ [0, 1] m Када је у питању мера сличности D(x, y) може се користити било која p норма разлике x y. Аутори су детаљно анализирали напад за L 0, L 2 и L норме. За избор функције g(x) је предложено неколико варијанти, попут функцијe g(x) = max(max c ct (logits(x) c ) logits(x) ct, k), за коју су добијени најбољи резултати. Са logits(x) су означени излази из мреже, тј. потенцијали (logits), а са logits(x) c излаз који одговара класи c. Параметром k се контролише минимално растојање између скора за жељену класу c t и скора за прву наредну класу c c t. Његова вредност је постављена на 0. Остали предлози и детаљи се могу наћи у раду [9]. Константа c се може задати унапред, али аутори препоручују да се изабере као најмања вредност за коју је g(x + δ ) 0. На овај начин се постиже да се током оптимизације подједнако оптимизују оба сабирка у циљној функцији, уместо да да издоминира један. Ова вредност се може аутоматски рачунати модификованом бинарном претрагом, што додатно успорава процес. За оптимизацију се користи метод градијентног спуста. Испитано је понашање основног метода, метода са моментумом и Адама [12]. Показало се да сва три дају подједнак квалитет непријатељских примера, али да Адам најбрже конвергира. Како би се задовољило ограничење x + δ [0, 1] m, могу се користити разне модификације градијентног спуста. Неки од предлога су пројектовани пројектовани градијентни спуст и ограничавање вредности на опсег [0, 1]. А треба поменути и могућност изражавања x = 1 2 (tanh(θ) + 1) δ и оптимизовање по θ чиме се добија глатка функција, погоднија за оптимизацију. Показало се да је напад веома ефикасан. Међутим, ефикасност долази по цену перформанси, јер је овај напад спорији од осталих. 27
35 2.1.6 EAD напад textbfead-elastic Net for DNNs је напад представљен у [10] и мотивисан је Карлини- Вагнер нападом [9]. Разлика је у томе што се у овом нападу уместо L p регуларизације користи линеарна комбинација L 1 и L 2 регуларизације, тј. Elastic Net ретуларизација [58]. Тако да овај напад генерише непријатељски пример x = x + δ решавајући следећи оптимизациони проблем: тако да: δ = min δ β δ 1 + δ 2 + c g(x + δ) (2.8) x + δ [0, 1] m Циљна функција је иста као у Карлини-Вагнер нападу, g(x) = max(max c ct (logits(x) c ) logits(x) ct, k). Параметар β је регуларизациони фактор за L 1 норму. Може се приметити да је Карлини-Вагнер напад специјални случај EAD напада, за β = 0. Када је β > 0 оптимизација градијентним спустом, као код Карлини-Вагнер, није ефикасна. Додатни проблем представља и то што L 0 норма није диференцијабилна. У овом нападу се због тога користи FISTA [2] оптимизациони метод. Детаљи примене овог оптимизационог алгоритма су описани у самом раду [10]. Овај напад представља робуснију верзију Карлини-Вагнер напада. Напад се показао подједнако ефикасан као други напади, с тим што се показао доста тежим за детекцију DeepFool напад Овај напад је представљен у [29]. Као инспирација за креирање овог напада, послужила је чињеница да линеарни класификатори деле хиперпростор класа. Стога, овај напад покушава да пронађе најмању промену δ која ће улазни пример пројектовати на најближу маргину (хиперраван). Из овога следи да се овај напад не може користити у случају циљаног напада. Када се ради са линеарним вишекласним (један против свих) класификаторима потребно је пронаћи растојање између x и скупа тачака које класификатор означава класама различитим од класе улазног податка x. Тај скуп тачака је комплемент скупа P дефинисаног на следећи начин: P = c {x : f c (x) f c (x)} где је са f c (x) = f(x; w c ) = w T c x + b c означен класификатор који одговара класи c,a са c класа којој припада улазни податак x. 28
36 Да би се дошло до тражене минималне промене δ најпре је потребно пронаћи граничну хиперраван c скупа P најближу улазном податку x, решавајући следећи оптимизациони проблем: c = argmin c c f c (x) f c (x) w c w c 2 2 Затим се δ одређује као пројекција улазног податка x на c-ту хиперраван: δ = f c (x) f c(x) w c w c 2 (w c w c ) 2 Скуп P је у случају линеарних класификатора полиедар, док то не важи за нелинеарне класификаторе. Стога се за примену на нелинеарним класификаторима врши апроксимација скупом P = c {x : f c (x) f c (x) + f c (x) T x f c (x) T x 0} Затим се у итеративном поступку естимира δ користећи растојања између улазног податка x и скупа P. У завршном кораку се δ помножи неком малом константом µ > 1 како би се добио пример који се налази са друге стране класификационе маргине (у простору класе ). У експериментима је коришћено µ = 1.02 и показало се да је мeтод способан да креира добре непријатељске примере. Притом, метод је уносио мање промене од напада брзог знака градијента, али по цену знатно дужег времена извршавања Непријатељске карактеристике Овај напад [39] је карактеристичан по томе што покушава да збуни циљани модел не само на излазу из мреже, већ и у интерним слојевима. Непријатељски напади се генеришу тако да се интерне репрезентације у слоју k разликују минимално између непријатељског примера и циљне слике, уз ограничење да непријатељски пример не одступа превише од правог примера. Ако је f k (x) излаз из k-тог слоја мреже, а x g је водећи пример, оптимизациони проблем се може представити на следећи начин: тако да: δ = min δ f k (x) f k (x g ) 2 2 (2.9) δ < ϵ Оптимизациони проблем се решава употребом L-BFGS-B метода, како би се задовољила наведена ограничења. 29
37 Занимљива ствар је да није потрабно тражити одоговарајућу вредност ϵ за свако генерисање непријатељског примера. Вредност приближна 4% опсега (10 / 255) омогућава занемарљиво малу промену у улазном примеру. Метод се показао робусним на избор слоја k, а притом за различите вредности параметра ϵ нису се видели артифакти који проистичу из улазног примера x g. 2.2 Напади црне кутије Сви претходни напади су захтевали детаљно познавање модела како би генерисали непријатељске примере. Сада ћемо обрадити другу класу напада код које генерисање непријатељских примера не зависи од архитектуре или тежина модела. Код ових напада неопходно је само познавање излаза f(x) за пример на основу кога се генерише непријатељски пример Обучавање заменског модела Овај напад [33] подразумева се обучавање заменског модела s(x) на основу кога се затим генеришу непријатељски примери за циљани модел. Ово је мотивисано већ утврђеном преносивошћу непријатељских примера. Заменски модел се обучава на скупу података који је означен оригиналним моделом f(x). Ознаке се добијају евалуацијом циљног модела на примерима из скупа за обучавање заменског модела. Како евалуација на великом броју података може бити тешко изводљива, циљ је обучити заменски модел на што мањем скупу. Овакав начин обучавања се може постићи са скромним скупом података који ће се повећавати током обучавања. Повећање скупа података се обавља у свакој итерацији тако што се за сваки пример израчуна Јакобијан матрица J s (x) заменског модела по ознакама добијеним од стране оригиналног модела f(x). Нови непријатељски пример x за скуп ce добија на следећи начин: x = x + λsgn(j s (x)[f(x)]) (2.10) Цео напад подразумева следеће кораке: 1. Прикупљање иницијалног скупа D 0 означеног од стране циљног модела. 2. Обучавање заменског модела s(x) на скупу D i. 3. Проширивање скупа на следећи начин: D i+1 = D i { } x + λsgn(j s (x)[f(x)]) : x D i 4. Понављање корака 2 и 3 до максималног дозвољеног броја итерација. 30
38 Важно je истаћи то да се заменски модел не обучава са циљем да постигне што већу тачност, већ са циљем да опоноша класификационе маргине оригиналног модела. Да би се генерисали непријатељски примери потребно је применити неки од напада беле кутије на заменски модел s(x). У оригиналном истраживању су успешно употрeбљени напад брзог знака градијента и JSMA напад, али се може користити било који други метод. Када је у питању параметар λ, аутори су користили вредност 0.1, и закључили су да повећање негативно утиче на преносивост и квалитет непријатељских примера. Предложено је још и да се знак параметра λ мења из итерације у итерацију. Аутори су експериментално утврдили да архитектура и тачност заменског модела нису од пресудног значаја за генерисање квалитетних непријатељских примера. Напад је могуће применити и на недиференцијабилне моделе, докле год је заменски модел диференцијабилан. У том случају се заменским моделом апроксимирају маргине "глатке" верзије оригиналног модела. Напад се показао успешним против релативно малих модела, али је његова скалабилност упитна [11] Напади оптимизацијом са коначним разликама Сада ћемо описати другу подругупу напада који не захтевају познавање оригиналног модела, али такође не захтевају ни додатно обучавање заменског модела. Уместо тога, напади из ове групе се ослањају на оптимизационе методе са коначним разликама како би генерисали непријатељске примере. Пошто је показано да за генерисање непријатељксих примера нису неопходне тачне вредности градијената циљног модела 2.1.2, методи из ове групе користе њихову нумеричку апроксимацију: f(x) = [ f(x) x i ]i f(x) f(x + h e i) f(x h e i ) x i 2h Проблем са оваквим начином апроксимације je превелика сложеност израчунавања. Наиме, за израчунавање једног парцијалног извода неопходна су два израчунавања вредности фунцкије f(x), што значи да је за проблем димензионалности m потребно 2m израчунавања. У [11] аутори предлажу генерисање непријатељских примера минимизацијом функције сличне функцији из Карлини-Вагнер напада. g(x) = max(max c ct (log(f(x) c ) log(f(x) ct ), k) (2.11) Како је у питању напад црне кутије, излази из претпоследњег слоја мреже (logits(x)) нису познати, па су замењени логаритмима потенцијала класа. 31
39 Оптимизација се ради по једној насумично изабраној компоненти у једној итерацији. На тај начин су у свакој итерацији потребне само две евалуације модела f(x). Процес се може додатно убрзати обрадом над више примера одједном (batches), и оптимизацијом по насумично изабраном подскупу компоненти уместо само по једној. Предложено је и још да се уведе функција r(x) која би смањивала димензију улазних података, па да се затим тражење δ обавља у нижој димензији. Затим би се добијено δ вратило у оригиналну димензију уз помоћ функције r 1 (x). У случају класификације слика функција r(x) може бити неки од интерполационих метода. Сама промена димензије се може радити у више мањих корака, од почетне димензије m до крајње n. Метод је успешно генерисао непријатељске примере за мање моделе (обучене на MNIST и CIFAR10) скупу, али се и успешно скалирао на моделе обучене за класификацију на ImageNet скупу. У [49] је описан напад који долази до непријатељских примера користећи SPSA оптимизациони метод. У свакој итерацији SPSA метод апроксимира градијент циљне функције користећи коначне разлике у насумично изабраном правцу: f(x) f(x + h i Λ i ) f(x h i Λ i ) 2hΛ i (2.12) Где је са Λ i означен вектор случајних бројева који се користи за бирање насумичног правца. Показало се да овај напад успешно генерише непријатељске примере у мањем броју итерација (са мањим бројем евалуација модела) од претходно описаног напада. 2.3 Одбрана од непријатељских напада Познато је да се у области сигурности рачунара нападачке и одбрамбене технике развијају упоредо. Нови одбрамбени механизми се развијају како би били ефикасни против најновијих нападачких техника. Са друге стране, са напредовањем одбрамбених техника, развијају се нови напади који се могу изборити са њима. Ово важи и када је су у питању алгоритми машинског учења и развој непријатељских примера. Пожељно је да одбрамбени методи у машинском учењу имају следеће карактеристике [32]: Мали утицај на архитектуру - потребно је да дефанзивни метод не доводи до великих архитектурних промена полазног модела, због тога што испитивање понашања различитих архитектура у различитим задацима може бити дуготрајно и скупо; Одржавање тачности - потребно је да дефанзивна техника не нарушава тачност полазног модела; 32
40 Одржавање перформанси - потрeбно је да дефанзивна техника не нарушава перформансе полазног модела у значајној мери; Одбрамбени метод мора бити успешан у примерима сличним нормалним примерима - примери који се у великој мери разликују могу се лако детектовати Одбрамбене технике се грубо могу сврстати у оне којима се повећава отпорност модела и у технике за детекцију непријатељских примера. На наредним странама биће представљене најуспешније технике из обе наведене групе Обучавање у непријатељском окружењу Основна идеја је да се током обучавања скуп података прошири непријатељским примерима. На овај начин се постиже својеврсна регуларизација модела и очекује се већа отпорност на непријатељске примере. Осим простог додавања непријатељских примера у скуп примера за обучавање, током обучавања се користи и такозвана непријатељска функција губитка. У [15] је коришћена следећа функција: J (x, y) = αj(x, y) + (1 α)j(x, y), α [0, 1], (2.13) где је J(x, y) функција губитка која се користи током стандардног тренинга, x прави пример, а x непријатељски пример. Испитивања су показала да модели обучени користећи овакву функцију губитка робуснији на непријатељске примере. Дакле, непријатељски примери ређе бивају погрешно класификовани, међутим када дође до тога, модели погрешној класи додељују високу вероватноћу [15]. Осим ове функције губитка предложена [57] је и следећа функција губитка: J (x, y) = J(x, y) + αd stab (f(x), f(x )), (2.14) где је J(x, y) стандардна функција губитка, а D stab (f(x), f(x )) мера растојања између одзива на праве и непријатељске примере. Оваквом функцијом губитка се постиже стабилност излаза из модела, јер се награђује сличност између излаза f(x) и f(x ). Битна разлика у односу на (2.13) је у томе што се вредност функције губитка не израчунава за непријатељски пример x, већ само за x. Последица тога је да се задржава квалитет који модел постиже обучавајући се на уобичајен начин. Избор функције D stab (f(x), f(x )) зависи од проблема на коме се примењује обучени модел. За класификацију се рецимо користи Кулбак-Лејблерово растојање. Генерисање непријатељских примера у току обучвања се може радити на више начина. Могу се користити познати методи за генерисање на основу модела који се обучава [15]. Са друге стране, непријатељски примери се могу генерисати и на основу 33
41 већ обучених модела (за исти задатак) [48]. Овакав приступ је успешан због преносивости непријатељских примера, а истовремено повећа робустонст на нападе црне кутије. Још један од начина је и насумично генерисање непријатељских примера чије се одступање најчешће моделира нормалном расподелом. У [56] се непријатељски пример x се генерише са нормалном расподелом центрираном у x (x N(x, σ 2 )), док се у [57] свакој компоненти примера x додаје шум са нормалном расподелом (N(0, σ 2 )) Дефанзивна дестилација Дефанзивна дестилација [32] представља примену оригиналног метода дестилације [18] у сврху повећања отпорности модела на непријатељске примере. Метод дестилације је развијен како би се на основу већ обучених модела обучили мање сложени модели који са постижу резултате сличне оригиналном моделу. Развијен је за класификаторе чији последњи слој користи софтмакс (s(z i ) = ez i ) активациону N j=1 ez j функцију. Полази се од тога да расподела вероватноћа енкодира додатне информације о међусобном односу између различитих класа. Идеја је да се вероватноће које оригинални модел додељује класама користе као лабеле за обучавање мањег моделe. Софтмакс функција је порширена концептом температуре T, на следећи начин: s(z i ) = e z i T N j=1 e z j T (2.15) Лако је видети да i = 1... N, s(z i ) 1 N, T, односно да за веће вредности температуре T модел додељује униформније расподељене вероватноће. У случају основне софтмакс функције (T = 1) једна вероватноћа је углавном значајно већа од других. Код дестилације се модели обучавају са параметром T > 1, док се у време тестирања користи T = 1. Дефанзивна дестилација је врло слична основном методу, са том разликом да се архитектура новог модела не разликује од архитектуре полазног. Ово је мотивисано тиме да желимо да повећамо отпорност модела, а не да обучимо модел који има боље перформансе. Цео поступак дефанзивне дестилације се може представити следећим алгоритмом: 1. Обучити полазни модел f(x; w) користећи T > 1 и строге лабеле (1-од енкодирање класа) 2. Обучити дестиловани модел f dst (x; w dst ) користећи исту вредност параметра T као за обучавање полазног модела f(x; w). Модел се обучава на истом скупу података као и полазни, али се као лабеле користе излази из полазног модела f(x) 34
42 3. У време тестирања користити софтмакс функцију са T = 1 Сетимо се да је осетљивост модела у директној вези са вредностима Јакобијана, односно да велике вредности у матрици означавају велику осетљивост на одговарајућу улазну компоненту. Може се закључити да дефанзивна дестилација доприноси отпорности модела због тога што се са повећањем температуре T смањују вредности Јакобијанa J(x)[f dst (x)] дестилованог модела. Дакле, коришћењем високе температуре при моделирању и расподеле вероватноћа у време обучавања долази се до тежина w dst које доприносе отпорности модела. Због тога употреба температуре T = 1 у време тестирања не доводи до лошијих резултата, јер једна класа добија већу вероватноћу али се поредак међу класама не мења Откривање непријатељских примера Претходно описани методи одбране су се заснивали на повећању отпорности модела на непријатељске примере. Други приступ одбрани од непријатељских напада јесте њихово правовремено откривање. Један од присупа откривању непријатељских примера се заснива на претпоставци да они имају другачију расподелу у односу на праве примере [16]. Сходно томе поставља се питање да ли је могуће користити статистичке тестове за откривање непријатељских примера. Иако би статистичким тестовима могло да се утврди када неки од примера долази из расподеле коју имају непријатељски примери њихова примена је тешка за практичну изведбу. Разлог за то је што је потребан довољно велики број непријатељских примера на основу којих би било могуће закључити каква им је расподела. Осим тога, показало се да непријатељскe примерe генерисанe Карлини- Вагнер нападом није могуће успешно открити, што доводи до потребе преиспитивања претпоставке о различитим расподелама [8]. Други приступ подразумева обучавање неуронских мрежа тако да раде откривање непријатељских примера. У [16] аутори предлажу увођење мале измене на моделу увођењем додатне класе којој би припадали непријатељски примери. Слично томе, полазне моделе је могуће проширити додавањем подмреже за бинарну класификацију примера [26]. Подмрежa би се надовезивала на постојећи модел и гранала из неког од његових постојећих слојева. У оба случаја за обучавање је потребан скуп података проширен непријатељским примерима. Још један од начина за откривање непријатељских примера се ослања на мреже које користе регуларизацију са случајним искључивањем неурона (dropout [44]). Аутори су користили случајно гашење неурона за селектовање различитих подмрежа и упоређивали њихове излазе на правим и непријатељским примерима [14]. Показало се да су се додељене класе више разликовалe на непријатељским примерима него 35
43 на правим. Уколико је разлика у предвиђањима за пример x већа од неког задатог прага пример се означава као непријатељски. Различито понашање модела у више различитих евалуација је такође предложено као метод за откривање непријатељских примера у [55]. Разлика у односу на претходни приступ је што се сада пореде резултати добијени евалуацијом целог модела, али на више различитих примера добијених од примера x. Уколико је разлика у предвиђањима за пример x и његове деривате већа од неког задатог прага пример се означава као непријатељски. Додатни примери се могу креирати на пуно начина, од којих је коришћен један посебно занимљив. Он подразумева добијање примера x 1 смањивањем броја битова за представљање вредности пиксела. Мотивација потиче од тога што се слике у рачунару представљају користећи велики број битова што повећава простор за креирање непријатељских примера. Истовремено, значајно смањивање броја битова за представљње слике чува њен визуелни идентитет. Осим тога у истраживању је коришћено и филтрирање медијан филтром за добијање још једног додатног примера који је коришћен у евалуацији. 3 Непријатељски напади и дубоко појачано учење У претходним главама смо представили основне концепте појачаног учења. Претстављен је и основни алгоритам који успешно спаја технике дубоког у појачаног учења [27]. Осим тога, дубоко појачано учење је додатно усавршено [28] и успешно употребљено за решавање бројних других проблема [41], [42]. Сви ови алгоритми врше директно пресликавање из простора стања у простор акција. Како димензионалност стања може бити веома велика као апроксиматори се користе неуронске мреже. У претходној глави смо се бавили техникама за креирање непријатељских примера којима је могуће збунити класификаторе засноване на неуронским мрежама и натерати их да погрешно класификују примере који се незнатно разликују од правих. Сходно томе, поставља се питање да ли је могуће креирати непријатељске примере у сврху погоршања перформанси дубоког појачаног учења. И уколико јесте, да ли је могуће конструисати ефикасан одбрамбени механизам. Ова глава се бави управо непријатељским нападима и одбраном од њих у контенсту дубоког појачаног учења. Како је суштина појaчаног учења интеракција са неким окружењем, напад на агента у тренутку t подразумева креирање непријатељског стања s t које је веома слично оригиналном стању s t. Важно је напоменути да се претпоставља да нападач не може да утиче на додељену награду r t, већ само на стање које агент види. За разлику од класификатора, напад на појачано учење има више аспеката: Креирање непријатељских стања Избор тренутка за креирање непријатељског стања 36
44 3.1 Креирање непријатељских стања Агент вриши интеракцију са окружењем и у сваком тренутку t зна у ком се стању s t налази окружење. Напад на агента се састоји у креирању непријатељских стања на основу оригиналних стања у којима је окружење и њиховог подметања агенту. Непријатељско стање креирано у тренутку t означаваћемо са s t. Потребно је направити непријатељско стање s t = s t + δ са минималним разликама у односу на право стање s t. Код дугобког појачаног учења агенти су моделирани дубоким неуронским мрежама. Стања s t се користе као улазни подаци, а излаз из мреже су скорови (или вероватноће) за сваку од могућих акција. Сходно томе могу се користити већ развијени методи за прављење непријатељских примера. Уколико је нападачу познат модел којим је представљен агент могу се користити напади беле кутије (2.1.2 итд). У супротном примењиви су напади црне кутије (заменски модел, SPSA). Заменски модел Када је у питању напад црне кутије може се користити заменски модел на основу кога би се генерисала непријатељска стања. Овај приступ је мотивисан приступом описаном у [33]. Могуће је обучити заменски модел са задатком да сваком стању додели одређену акцију. На овај начин се заменски модел трeтира као класификатор стања. Претпоставка је да је могуће приступити циљном моделу, макар у ограниченом временском периоду, како би се прикупили подаци за обучавање заменског модела. Скуп података на којима се обучава заменски модел је скуп парова D = {(s t, a t )} сачињених од стања и акције за коју се циљни агент одлучио у датом тренутку. У току обучавања је овај почетни скуп могуће проширивати на начин описан у [33]. Важно је нагласити да се оваквим приступом обучавање заменског модела третира као проблем надгледаног учења. Тј. заменски модел се обучава без икаквог знања о Марковљевом моделу у контексту појачаног учења. Другим речима, заменски модел се обучава без коришћења информација о награди коју остварује циљни агент и без вођења рачуна о редоследу смењивања стања, већ се свако стање посматра изоловано. 3.2 Избор тренутка за напад Агент интерагује са окружењем и мења његово стање у времену. Због тога је избор тренутка за спровођење напада од велике важности. Најједноставније је свакако изводити напад све време [20], тј. у сваком временском тренутку t. Мана овог приступа је та што се због учесталости напада олакшава његово откривање. Овај приступ се још назива и униформним нападом [24]. 37
45 Напади у тренутку t се још могу и изводити са неком вероватноћом p [4]. Лако је видети да је униформан напада специјалан случај за p = 1. На овај начин се смањује могућност за откривање, али се истовремено смањује и учинковитост напада. Претходна два приступа не искоришћавају чињеницу да нису сви временски тренуци од подједнаке важности. Другим речима, акција донешена у тренутку t i може имати мање утицаја на крајње остварену награду од акције остварене у тренутку t j. Самим тим, погрешно изабрана акција у тренутку t j је може нанети више штете од погрешно изабранe акцијe у тренутку t i. Знајући то, очекује се да напад у тренутку t j (креирање непријатељског стања s t j ) буде ефектнији од напада у тренутку t i. Овакав избор тренутка се може форулисати на следећи начин:[24] min b1,...b T,δ 1...δ T R(s 1,... s T ) s t = s t + b t δ t b t 0, 1 b t Γ t Где је R(s 1,... s T ) укупна награда остварен у току целе епизоде од T корака, а b t је променљива која означава да ли се у тренутку t креира непријатељски пример или не. Решавајући претходни минимизациони проблем долази се до оптималних непријатељских стања у оптималним тренуцима. Међутим сам проблем је врло захтеван за оптимизациију јер се састоји од нелинеарне и целобројне оптимизације. Уместо тога предложено је да се посматра функција c(t) која би мерила важност сваког временског тренутка t [24]. У општем случају функција c(t) је задата са: c(t) = max at π(s t, a t ) min at π(s t, a t ), (3.1) где стратегија π(s t, a t ) представља вероватноћу избора акције a t у стању s t. За методе који естимирају функцију вредности стања (или стања и акција) дефиниција је аналогна: c(t) = max at e q(st,at) a t e q(st,at) min a t a eq(st,at) t e q(st,at). (3.2) Оваквим избором функције c(t), као разлике у вероватноћи најпожељније и најмање пожељне акције, се вредновање сваког стања препушта моделу који се напада. У тренуцима који нису од велике важности, вероватноће ће по акцијама бити униформније расподељене, па ће вредност функције c(t) бити мала. С друге стране, када је 38
46 агент сигурнији у избор одређене акције њена вероватноћа ће бити значајно већа од вероватноће најмање пожељне акције, па ће вредност функције c(t) бити велика. Ово се може фино објаснити на примеру илустрованом на слици 5. Слика 5: У тренутку t = 25 је лоптица далеко од агента и c(t) < β, у тренутку t = 84 лоптица је веома близу агента и вредност c(t) je врло велика. Агент у тренутку t = 84 бира акцију "горе" уколико је стање оригинално, односно "доле" уколико је стање непријатељско [24]. Напад би се спроводио у тренуцима у којима је вредност функције велика, тј. већа од неког задатог прага β. На тај начин се смањује број генерисања непријатељских стања и отежава откривање напада. Истовремено напад се изводи у најосетљивијим тренуцима, тј. у тренуцима који значајно доприносе укупној награди. 3.3 Одбрана од непријатељских напада За одбрану од непријатељских напада у контексту појачаног учења се могу користити методи развијени за генералне моделе базиране на неуронским мрежама. Изузетак донекле представља дефанзивна дестилација због тога што је примењива само на агенте који директно естимирају стратегију π. Обучавање у непријатељском окружењу Могуће је вршити обучавање у непријатељском окружењу како би се добио робуснији агент. Један од начина да се то одради је да се током обучавања са неком вероватноћом p генеришу непријатељска стања како би агент учио и на њима. Овакав приступ је мотивисан жељом да се апроксимира употреба функције губитка 2.13 и приступа описаног у [15] за α = 1 p. Резултати постигнути оваквим начином обучавања си представљени у
47 Откривање непријатељских стања У контексту појачаног учења је такође могуће користити методе за детектовање напада. Један од примењивих метода је детектовањe непријатељских стања поређењем резултата за више сличних стања[55]. Код овог метода се пореде вероватноће акција добијених од стране агента за право стање s t и за s t и s t. При чему се s t и s t добијају модификацијом стања s t. Уколико са p(a s) означимо расподелу вероватноћа за стање s, стање s t ћемо означити као непријатељско уколико је: max( p(a s t ) p(a s t) 1, p(a s t ) p(a s t ) 1 ) > β (3.3) Где је β предефинисани праг. Резултатe експерименталне провере овог детектора је могуће погледати у глави Експерименти Да би смо испитали ефикасност непријатељских напада против дубоког појачаног учења извршен је низ експеримената. Испитана је ефикасност напада беле и црне кутије користећи неколико различитих вероватноћа p као и циљано време за напад. Када је одбрана у питању, обучен је један агент у непријатељском окружењу и на њему су поновљени сви тестови напада. Осим тога тестиран је и један метод за детекцију напада како би се испитао учинак овог дефанзивног приступа у појачаном учењу. Мета напада је био агент обучен да игра игру Понг 3 у Атари окружењу. Понг је једноставна игра заснована на стоном тенису у којој играч контролише свој рекет којим удара лоптицу. Поени се добијају када противник не успе да врати лоптицу, а максималан број поена је 21. За имплементацију је коришћен програмски језик Гуја 4. Употребљенo je Атари окружење доступно кроз библиотеку Gym 5. За имплементацију неуронске мреже искоришћена је библиотека tensorflow 6, a за генерисање непријатељских стања cleverhans 7 [34]. Изворни код се може наћи на адреси Циљни агент Агент посматра окружење у виду видео стрима игре и бира једну од могуће три акције (горе, доле, нигде). Ради се о Q-учењу са конволуционом неуронском мре
48 жом као апроксиматором функције q(s, a), која у сваком стању даје вредност за сваку могућу акцију. Фрејмови осим корисног дела у ком се одвија игра садрже и простор у коме се приказује тренутни резултат и који је био одсечен приликом претпроцесирања. У претпроцесирању су још и вредности пиксела доведене у опсег [0, 1], а затим центриране у 0. Архитектура неуронске мреже је приказана на слици 2. Улаз у мрежу је историја од четири последња фрејма, што значи да је улаз вектор димензија Треба поменути и да се врши прескакање фрејмова, тј. да се посматра тек сваки четврти. За обучавање је коришћен метод адам [12] са кораком α = 1e 4. Вредност γ је постављена на 0.99, док је број примера у скупу искуставa за поновно играње (experience replay, 1.5.1) ограничен на Обучавање је отпочело тек након пете епизоде како би било довољно транзиција у скупу за поновно играње. Акције су биране ϵ-похлепном стратегијом, при чему је вредност ϵ на почетку била 1, а затим је постепено смањивана до минималне вредности од Смањивање је вршено на сваких 10 епизода множећи тренутну вредност са Овим је постигнуто да агент у раним фазама обучавања испробава све акције како би се што боље упознао са тим како свака утиче на игру, а да се затим све више ослања на "знање" које је стекао. Обучавање је трајало 730 епизода након чега је агент достигао просечну награду у 100 игара већу од 18 (за ϵ = 0.02). Агент остварује просечну награду од 21 за ϵ = 0, тј. када акције бира на похлепан начин. Па је у току свих експеримената коришћен овај приступ Напади Испитан је учинак неколико различитих напада на DQN агента. Сваки напад је извођен са вероватноћама 0.25, 0.5, 0.75 и 1.0 као и са стратешким одабиром погодног временског тренутка t. Избор је пао на брзи напад знака градијента, итеративни напад са моментумом и SPSA напад. Брзи напад знака градијента је изабран због своје једноставности и брзине генерисања непријатељских стања. У експериментима је максимална величина пертурбације постављена на ϵ = 0.01, у односу на. Итеративни напад са моментумом је изабран због своје доказане ефикасности праћене малим временом извршавања. Максимална величина пертурбације је постављена на ϵ = 0.015, број итерација на 10. Параметар моментум је постављен на µ = 1, a величина пертурбације у свакој итерацији на λ =
49 SPSA напад представља напад коме није потребно знање о циљном моделу и као такав је врло занимљив за испитивање. Метод је подешен тако да максимална величина пертурбације износи ϵ = 0.05 и да број итерација буде ограничен на пет. За сам SPSA метод је постављено h = 0.005, док је број итерација такође пет. Ово је једини напад тестиран у циљаном случају употребе. Подешен је тако да прави модификације на стањима са циљем да агента натера да се не креће, тј. да увек бира акцију без померања. FGSM Momen. it. SPSA ϵ = 0.01 ϵ = 0.015, µ = 1, λ = 0.7, maxit = 10 ϵ = 0.05, h = 0.005, maxit = 5 Табела 1: Параметри метода за генерисање непријатељских стања Заменски модел je коришћен за генерисање непријатељских стања у случају напада потпуне црне кутије 3.1. Као заменски модел је искоришћена дубока неуронска мрежа са два конволуциона и два потпуно повезана слоја. Први конволуциони слој се састоји од 30 филтара димензије 7 7, док се у другом користи 30 филтара димензије 3 3. Други конволуциони слој је праћен слојем за избор максимума (max pooling) са величином 2 2 и померајем 2. Након њега следе два потпуно повезана слоја, први са 150 скривених неурона, други са 3 (укупан број акција {"горе", "доле", "нигде"}). У свим слојевима је коришћена ReLU активациона функција. Подаци за обучавање су добијени од стране циљног агента насумичним избором парова (s t, a t ) стања и акција играњем пет игара. Како је свака акција еквивалент једној класи у класификацији, подаци су одабрани тако да из сваке акције буде по 600 примера, што укупно чини 1800 примера у почетном скупу за овучавање. Обучавање је вршено користећи адам [12] оптимизациони метод са кораком α = 1e 4. Заменски модел је прво обучаван у 50 епоха на почетном скупу података, а затим је искоришћен за његово проширивање [33]. Проширивање је вршено са тежинама модификације 0.1 и 0.2 што је утростручило број података у скупу. Модел је затим обучаван у још 50 епоха на прошињеном скупу. Заменски модел је затим коришћен за генерисање непријатељских стања која су подметана циљном агенту. Непријатељска стања су генерисана користећи брзи метод знака градијента и итеративни метод са моментумом. Подешавања ових метода су иста као у првом случају (табела 1), осим величина пертурбације које су повећане на ϵ = за оба напада. У овом случају тестирање није обављено за стратешки начин избора тренутка за напад. Разлог је то што је потребно познавати одлуке циљног агента за сваку од акција, што није могуће у случају потпуног напада црне кутије. Kако би се испитао учинак сваког од напада агент је одиграо по 100 игара у свим 42
50 непријатељским окружењима добијеним комбиновањем сваког од наведених напада и сваког од начина за избор тренутка напада. Приказана је просечна награда коју је агент остварио у 100 игара играјући у непријатељском окружењу (за сваки напада и сваки од начина за избор тренутка напада). Јасно, напад је успешнији што је просечна остварена награда мања. Добијени резултати упоредног тестирања генерисањем стања на користећи циљног агента приказани су на слици 6, док су на слици 7 приказани резултати напада коришћењем заменског модела. Приказ обухвата резултате за сваки од напада са различитим начином избора тренутка напада. За непријатељско окружење са стратешким одабиром тренутка напада укључена је и информација о уделу непријатељских стања у укупном броју стања Одбрана Обучавање у непријатељском окружењу У сврху испитивања могућности за одбрану DQN-a од непријатељских напада oбучен је један додатни агент у непријатељском окружењу. Коришћен је приступ описан у глави 3.3. Непријатељска стања су генерисана са вероватноћом 0.5, тако што је оригиналном стању додат шум генерисан нормалном расподелом N (0, 0.015). Архитектура и хиперпараметри за обучавање су исти као и код основног циљног агента. Напади су тестирани на исти начин и са истим вредностима параметара као и против стандардног агента 3.4.2, резултати су приказани на сликамa 8 и 9. Откривање непријатељских стања У сврху одбране од непријатељских напада испитиван је и учинак детектора непријатељских напада. Имплементиран је и тестиран метод детектовања напада поређењем резултата за више сличних стања[55], који је имплементиран на начин описан у 3.3. Додатна стања су добијена је представљањем помоћу само једног и бита и филтрирањем медијан филтером пречника 3. Вредност прага β је постављена на 0.9. Тестирање је обављено на исти начин као и у претходна два случаја, а резултати се могу видети на сликамa 10, 11, 12. За сваки напад је приказан график промене прецизности, тачности, одзива и F-мере детектора за све четири вероватноће напада и за напад са стратешким избором тренутка. 43
51 Слика 6: Учинак различитих напада на DQN алгоритам. Приказана је просечна награда остварена у 100 игара, максимална награда је 21. Напади су извођени са вероватноћама p {0.25, 0.5, 0.75, 1} и са стратешким одабиром тренутка напада. За нападање са стратешким одабиром тренутка је приказан и број непријатељских стања. 44
52 Слика 7: Учинак различитих напада заснованих на заменском моделу на DQN алгоритам. Приказана је просечна награда остварена у 100 игара, максимална награда је 21. Напади су извођени са вероватноћама p {0.25, 0.5, 0.75, 1}. 45
53 Слика 8: Учинак различитих напада на DQN агента обучаваног у непријатељском окружењу. Приказана је просечна награда остварена у 100 игара, максимална награда је 21. Напади су извођени са вероватноћама p {0.25, 0.5, 0.75, 1} и са стратешким одабиром тренутка напада. За нападање са стратешким одабиром тренутка је приказан и број непријатељских стања. 46
54 Слика 9: Учинак различитих напада заснованих на заменском моделу на DQN агента обучаваног у непријатељском окружењу. Приказана је просечна награда остварена у 100 игара, максимална награда је 21. Напади су извођени са вероватноћама p {0.25, 0.5, 0.75, 1}. 47
55 Слика 10: Откривање напада брзог знака градијента. Приказана је промена прецизности, тачности, одзива и F-мере за различите начине избора тренутка за напад. У првом реду су подаци добијени тестирањем на DQN агенту и на агенту обучаваном у непријатељском окружењу. У другом реду су приказани резултати напада на исте агенте али са нападима генерисаним на основу заменског модела. 48
56 Слика 11: Откривање итеративног напада са моментумом. Приказана је промена прецизности, тачности, одзива и F-мере за различите начине избора тренутка за напад. У првом реду су подаци добијени тестирањем на DQN агенту и на агенту обучаваном у непријатељском окружењу. У другом реду су приказани резултати напада на исте агенте али са нападима генерисаним на основу заменског модела. 49
57 Слика 12: Откривање SPSA напада. Приказана је промена прецизности, тачности, одзива и F-мере за различите начине избора тренутка за напад. У првом реду су подаци добијени тестирањем на DQN агенту и на агенту обучаваном у непријатељском окружењу. 50
58 3.5 Дискусија Од када је примећено да су неуронске мреже врло осетљиве на непријатељске примере [47] па до данас развијено је доста метода за њихово креирање. Природно, наметнуло се питање у да ли и у којој мери непријатељски примери могу да збуне моделе засноване на дубоком појачаном учењу. У ранијим поглављима (3.1, 3.2, 3.3) описани су начини за примену постојећих метода за напад и одбрану на дубоко појачано учење. По угледу на раније радове [3], [4], [20], [24] изведено је неколико експеримената којима је показана погубна ефикасност непријатељских напада примењених на дубоко појачано учење. Уз то, изведено је и неколико додатних експеримената чији су резултати показали да је могуће припремити релативно успешну одбрану, нарочито уколико се комбинују технике обучавања у непријатељском окружењу и технике детекције напада. Може се видети да је циљни агент остваривао најмању просечну награду када су примењивани напади беле кутије (напад брзог знака градијента и итеративни напад са моментумом), тј. да су се показали најефикаснијим против DQN агента. Ово не чуди, с обзиром на то да имају потпуни приступ моделу, а са тим и могућност да одреде најосетљивије компоненте улазног податка. Напад оптимизацијом са коначним разликама (SPSA), који нема приступ моделу и његовим изводима, је такође показао велики успех, али уз нешто већу максималну промену на улазним подацима. Упркос томе метод је значајан због своје примењивости у реалном свету у коме се не може очекивати детаљно познавање циљног модела. Генерисање примера на основу заменског модела се показало најмање ефикасним, али се ипак показало да постоји преносивост непријатељских примера, чак и између модела који су обучени на знатно другачији начин. У свим нападима циљни агент је остваривао најмању награду када је свако стање било непријатељско, односно приликом униформног напада. Уз то, неки од напада су били врло ефикасни и када су непријатељска стања генерисана са мањом вероватноћом (0.75 и 0.5), док се нападање са вероватноћом 0.25 показало најлошијим избором (циљни агент је увек остваривао позитивну награду). Ово се може објаснити тиме да су непријатељска стања генерисана не само ретко већ и у тренуцима који су од мале важности за крајњи исход игре, а да се са повећањем вероватноће напада повећава и вероватноћа да ће стања у којима је одлука агента од веће важности бити непријатељска. Стратешки избор тренутка за напад је увек давао резултате на нивоу униформног напада, притом генеришући тек 25% непријатељских стања. Предност овог приступа у односу на униформни напад су рачунски једноставније генерисање мањег броја непријатељских стања и њихово отежано откривање. Циљни агент обучен у непријатељском окружењу се показао нешто робуснијим од основног агента, остварујући нешто већу просечну награду у свим непријатељским 51
59 окружењима. Међутим, и овај агент је врло често остваривао негативну награду па се не може користити са потпуном сигурношћу у његов квалитет. Показало се да квалитет детекције непријатељских стања у великој мери зависи од величине промене на улазним подацима. Па су тако непријатељска стања генерисана SPSA нападом и на основу заменског модела била најлакша за откривање, јер су били дозвољене веће промене улазних података. Ово је уочљиво и визуелном инспекцијом генерисаних непријатељских стања приказаних на слици 13. Заједничко за све нападе је да су били знатно боље откривани када су примењивани против циљног агента обучаваног у непријатељском окружењу. Притом праг за детекцију је у свим експериментима био фиксиран на 0.9. Слика 13: Непријатељска стања генерисана различитим нападима. С лева на десно су приказана стања генерисана: брзим нападом знака градијента, итеративним нападом са моментумом, SPSA нападом, брзим нападом знака градијента на основу заменског модела и итеративним нападом са моментумом на основу заменског модела. Комбиновање модела обучаваних у непријатељском окружењу са методама за откривање напада је показало да има потенцијала за ефикасну одбрану од напада на агенте дубоког појачаног учења. Али овај приступ не повећава робустност агента у значајној мери, а још остаје нејасно који су наредни кораци које треба предузети. Притом, прекидање интеракцијe у практичној употреби често није изводљиво. Јер, у случају откривања напада, није могуће само зауставити аутомобил [21] или прекинути давање лекова пацијенту [30]. Због тога, да би се технике за откривање непријатељских стања могле ефикасно применити потребно је развити начине за адекватну реакцију на препознато непријатељско окружење. 52
ПА-4 Машинско учење-алгоритми машинског учења
ПА-4 Машинско учење-алгоритми машинског учења Машинско учење увод и основни појмови Деф: the desgn and development of algorthms that allow computers to mprove ther performance over tme based on data sensor
ВишеPowerPoint Presentation
Колоквијум # задатак подељен на 4 питања: теоријска практична пишу се програми, коначно решење се записује на папиру, кодови се архивирају преко сајта Инжењерски оптимизациони алгоритми /3 Проблем: NLP:
ВишеТехничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји
Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аутори: Велибор
Више1
Podsetnik: Statističke relacije Matematičko očekivanje (srednja vrednost): E X x p x p x p - Diskretna sl promenljiva 1 1 k k xf ( x) dx E X - Kontinualna sl promenljiva Varijansa: Var X X E X E X 1 N
ВишеОрт колоквијум
II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу
ВишеCelobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica
Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da
ВишеРачунарска интелигенција
Рачунарска интелигенција Генетско програмирање Александар Картељ kartelj@matf.bg.ac.rs Ови слајдови представљају прилагођење слајдова: A.E. Eiben, J.E. Smith, Introduction to Evolutionary computing: Genetic
ВишеУНИВЕРЗИТЕТ У БЕОГРАДУ МАШИНСКИ ФАКУЛТЕТ Предмет: КОМПЈУТЕРСКА СИМУЛАЦИЈА И ВЕШТАЧКА ИНТЕЛИГЕНЦИЈА Задатак број: Лист/листова: 1/1 Задатак 5.1 Pостоје
Лист/листова: 1/1 Задатак 5.1 Pостоје софтвери за препознавање бар кодова који знатно олакшавају велики број операција које захтевају препознавање објеката. Слика 1: Приказ свих слова за које је ART-1
ВишеMicrosoft PowerPoint - Topic02 - Serbian.ppt
Tema 2 Kriterijumi kvaliteta za softverske proizvode DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University
ВишеMicrosoft PowerPoint - Topic02 - Serbian.ppt
Tema 2 Kriterijumi kvaliteta za softverske proizvode DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University
ВишеТЕОРИЈА УЗОРАКА 2
ТЕОРИЈА УЗОРАКА 2 12. 04. 13. ВЕЖБАЊА Написати функције за бирање елемената популације обима N у узорак обима n, код простог случајног узорка, користећи алгоритме: Draw by draw procedure for SRS/SRSWOR
ВишеТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.
ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља aleksandar@masstheory.org www.masstheory.org Август 2007 О ауторским правима: Дело
Више9. : , ( )
9. Динамика тачке: Енергиjа, рад и снага (први део) др Ратко Маретић др Дамир Мађаревић Департман за Техничку механику, Факултет техничких наука Нови Сад Садржаj - Шта ћемо научити (1) 1. Преглед литературе
ВишеP11.3 Analiza zivotnog veka, Graf smetnji
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
Више6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe
6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe, očekuje se da su koordinate celobrojne. U slučaju
ВишеPaper Title (use style: paper title)
Статистичка анализа коришћења електричне енергије која за последицу има примену повољнијег тарифног става Аутор: Марко Пантовић Факултет техничких наука, Чачак ИАС Техника и информатика, 08/09 e-mal адреса:
ВишеVerovatnoća - kolokvijum 17. decembar Profesor daje dva tipa ispita,,,težak ispit i,,lak ispit. Verovatnoća da student dobije težak ispit je
Verovatnoća - kolokvijum 17. decembar 2016. 1. Profesor daje dva tipa ispita,,,težak ispit i,,lak ispit. Verovatnoća da student dobije težak ispit je 0.8. Ako je ispit težak, verovatnoća da se prvo pitanje
ВишеTEORIJA SIGNALA I INFORMACIJA
Multiple Input/Multiple Output sistemi MIMO sistemi Ulazi (pobude) Izlazi (odzivi) u 1 u 2 y 1 y 2 u k y r Obrada=Matematički model Načini realizacije: fizički sistemi (hardware) i algoritmi (software)
ВишеSlide 1
Катедра за управљање системима ТЕОРИЈА СИСТЕМА Предавањe 2: Основни појмови - систем, модел система, улаз и излаз UNIVERSITY OF BELGRADE FACULTY OF ORGANIZATIONAL SCIENCES План предавања 2018/2019. 1.
ВишеLAB PRAKTIKUM OR1 _ETR_
UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA
Више06 Poverljivost simetricnih algoritama1
ЗАШТИТА ПОДАТАКА Симетрични алгоритми заштите поверљивост симетричних алгоритама Преглед биће објашњено: коришћење симетричних алгоритама заштите како би се заштитила поверљивост потреба за добрим системом
Више08 RSA1
Преглед ЗАШТИТА ПОДАТАКА Шифровање јавним кључем и хеш функције RSA алгоритам Биће објашњено: RSA алгоритам алгоритам прорачунски аспекти ефикасност коришћењем јавног кључа генерисање кључа сигурност проблем
ВишеТехничко решење: Метода мерења ефективне вредности сложенопериодичног сигнала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић
Техничко решење: Метода мерења ефективне вредности сложенопериодичног сигнала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аутори: Драган Пејић, Бојан Вујичић, Небојша Пјевалица,
ВишеClassroom Expectations
АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних
ВишеKlasifikacija slika kucnih brojeva dubokim konvolucijskim modelima
Klasifikacija slika kućnih brojeva dubokim konvolucijskim modelima Ivan Šego 4. srpnja 2018. Sadržaj 1 Uvod 2 Konvolucijske neuronske mreže Konvolucijski sloj Sloj sažimanja Potpuno povezani sloj 3 Ispitni
ВишеУвод у организацију и архитектуру рачунара 1
Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне
ВишеMatematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3
Matematka Zadaci za vežbe Oktobar 5 Uvod.. Izračunati vrednost izraza bez upotrebe pomoćnih sredstava): ) [ a) 98.8.6 : b) : 7 5.5 : 8 : ) : :.. Uprostiti izraze: a) b) ) a b a+b + 6b a 9b + y+z c) a +b
ВишеMicrosoft Word - 13pavliskova
ПОДЗЕМНИ РАДОВИ 4 (5) 75-8 UDK 6 РУДАРСКО-ГЕОЛОШКИ ФАКУЛТЕТ БЕОГРАД YU ISSN 5494 ИЗВОД Стручни рад УПОТРЕБА ОДВОЈЕНОГ МОДЕЛА РЕГЕНЕРАЦИЈЕ ЗА ОДРЕЂИВАЊЕ ПОУЗДАНОСТИ ТРАНСПОРТНЕ ТРАКЕ Павлисковá Анна, Марасовá
ВишеMicrosoft PowerPoint - 03-Slozenost [Compatibility Mode]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
ВишеPostojanost boja
Korištenje distribucije osvjetljenja za ostvaranje brzih i točnih metode za postojanost boja Nikola Banić 26. rujna 2014. Sadržaj Postojanost boja Ubrzavanje lokalnog podešavanja boja Distribucija najčešćih
ВишеOsnovni pojmovi teorije verovatnoce
Osnovni pojmovi teorije verovatnoće Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2019 Milan Merkle Osnovni pojmovi ETF Beograd 1 / 13 Verovatnoća i statistika:
ВишеФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА
Питања за усмени део испита из Математике 3 I. ДИФЕРЕНЦИЈАЛНЕ ЈЕДНАЧИНЕ 1. Појам диференцијалне једначине. Пикарова теорема. - Написати општи и нормални облик диференцијалне једначине првог реда. - Дефинисати:
ВишеОрт колоквијум
I колоквијум из Основа рачунарске технике I - надокнада СИ - 008/009 (10.05.009.) Р е ш е њ е Задатак 1 a) Пошто постоје вектори на којима се функција f не јавља и вектори на којима има вредност један,
ВишеMicrosoft Word - Tehnicka uputstva lica doc
Registracija novog korisnika internet sajta NSZ tražilac zaposlenja Novi korisnik prilikom prve registracije na sajt NSZ bira opciju Prijavi se za posao. Unosom korisničkog imena i kreiranjem lozinke,
ВишеMicrosoft Word - III godina - EA - Metodi vjestacke inteligencije
Школска година 2018/2019. Предмет Методи вјештачке интелигенције Шифра предмета 2284 Студијски програм Електроенергетика и аутоматика Циклус студија Година студија Семестар Број студената Број група за
ВишеPowerPoint Presentation
Факултет организационих наука Центар за пословно одлучивање Системи за препоруку П8: Системи за препоруку Закључивање на основу случајева Системи за препоруку 2 Закључивање на основу случајева ПРОНАЂЕНО
ВишеЕлектротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију
Електротехнички факултет Универзитета у Београду 19.11.017. Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквијум траје h. Напуштање сале дозвољено је након 1h. Употреба
ВишеОрт колоквијум
Задатак 1 I колоквијум из Основа рачунарске технике I - надокнада - 008/009 (16.05.009.) Р е ш е њ е a) Пошто постоје вектори на којима се функција f не јавља и вектори на којима има вредност један, лако
ВишеPowerPoint Presentation
Data mining kocepti i tehnike Udžbenik: Data Mining: Concepts and Techniques, Jiawei Han, Micheline Kamber Introduction to Data Mining, Pang-Ning Tan, Michael Steinbach, Vipin Kumar Ocjenjivanje: kolokvijumi
ВишеУНИВЕРЗИТЕТ У НОВОМ САДУ ОБРАЗАЦ 6
УНИВЕРЗИТЕТ У НОВОМ САДУ ОБРАЗАЦ 6. ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА ИЗВЕШТАЈ О ОЦЕНИ ДОКТОРСКЕ ДИСЕРТАЦИЈЕ Мр БОШКА БОЖИЛОВИЋА I ПОДАЦИ О КОМИСИЈИ 1. Датум и орган који је именовао комисију Решење Декана Факултета
ВишеSlide 1
Катедра за управљање системима ТЕОРИЈА СИСТЕМА Предавањe 1: Увод и историјски развој теорије система UNIVERSITY OF BELGRADE FACULTY OF ORGANIZATIONAL SCIENCES Катедра за управљање системима Наставници:
ВишеMIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU
MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU http://www.mi.sanu.ac.rs/ tanjad (tanjad@mi.sanu.ac.rs) 21. januar 2013. Tatjana
ВишеMicrosoft Word - ASIMPTOTE FUNKCIJA.doc
ASIMPTOTE FUNKCIJA Naš savet je da najpre dobro proučite granične vrednosti funkcija Neki profesori vole da asimptote funkcija ispituju kao ponašanje funkcije na krajevima oblasti definisanosti, pa kako
ВишеPowerPoint Presentation
Metode i tehnike utvrđivanja korišćenja proizvodnih kapaciteta Metode i tehnike utvrđivanja korišćenja proizvodnih kapaciteta Sa stanovišta pristupa problemu korišćenja kapaciteta, razlikuju se metode
ВишеPRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste
PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)
ВишеGrafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr
Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odrediti njene krajeve. b) Odrediti sledeće skupove: -
ВишеMicrosoft Word - CAD sistemi
U opštem slučaju, se mogu podeliti na 2D i 3D. 2D Prvo pojavljivanje 2D CAD sistema se dogodilo pre više od 30 godina. Do tada su inženjeri koristili table za crtanje (kulman), a zajednički jezik komuniciranja
ВишеP1.1 Analiza efikasnosti algoritama 1
Analiza efikasnosti algoritama I Asimptotske notacije Master metoda (teorema) 1 Asimptotske notacije (1/2) Služe za opis vremena izvršenja algoritma T(n) gde je n N veličina ulaznih podataka npr. br. elemenata
ВишеОрт колоквијум
Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат
ВишеMicrosoft Word - AIDA2kolokvijumRsmerResenja.doc
Konstrukcija i analiza algoritama 2 (prvi kolokvijum, smer R) 1. a) Konstruisati AVL stablo od brojeva 100, 132, 134, 170, 180, 112, 188, 184, 181, 165 (2 poena) b) Konkatenacija je operacija nad dva skupa
ВишеMicrosoft PowerPoint - Predavanje3.ppt
Фрактална геометрија и фрактали у архитектури функционални системи Улаз Низ правила (функција F) Излаз Фрактална геометрија и фрактали у архитектури функционални системи Функционални систем: Улаз Низ правила
ВишеSlide 1
Merni sistemi u računarstvu, http://automatika.etf.rs/sr/13e053msr Merna nesigurnost tipa A doc. dr Nadica Miljković, kabinet 68, nadica.miljkovic@etf.rs Prezentacija za ovo predavanje je skoro u potpunosti
ВишеРАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена ) Прва година: ПРВА ГОДИНА - сви сем информатике Име пр
РАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена 23.01.2017.) Прва година: ПРВА ГОДИНА - сви сем информатике Име предмета Датум и термин одржавања писменог дела испита
ВишеOptimizacija
Optimizacija 1 / 43 2 / 43 Uvod u optimizaciju Zadana funkcija Uvod u optimizaciju f : R n R Cilj: Naći x, točku minimuma funkcije f : - Problem je jednostavno opisati x = arg min x R n f (x). - Rješavanje
ВишеPROJEKTOVANJE I PRIMENA WEB PORTALA Snežana Laketa Osnovna škola Vuk Karadžić, Vlasenica kontakt telefon:
PROJEKTOVANJE I PRIMENA WEB PORTALA Snežana Laketa Osnovna škola Vuk Karadžić, Vlasenica e-mail: snezalaketa@yahoo.com kontakt telefon: 99387 56 733 307 Sažetak Ovaj rad razmatra korišćenje Web portala
ВишеMicrosoft Word - Ispitivanje toka i grafik funkcije V deo
. Ispitati tok i skicirati grafik funkcije y= arcsin + Oblast definisanosti (domen) Podsetimo se grafika elementarnih funkcija i kako izgleda arcsin funkcija: y - y=arcsin Funkcija je definisana za [,]
ВишеNumeričke metode u fizici 1, Projektni zadataci 2018./ Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrs
Numeričke metode u fizici, Projektni zadataci 8./9.. Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrsta životinja koje se nadmeću za istu hranu, dx ( dt = x x ) xy
ВишеPowerPoint Presentation
ТЕХНОЛОШКО ПРЕДВИЂАЊЕ Развој научног предвиђања Најзначајнија промена метода и техника се везује за појаву НАУЧНОГ предвиђања. Историјско-библиографски метод (са вештине на науку) Три фазе: 1. Религијска
Више1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan
1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan jednačinom oblika: a 11 x 2 + 2a 12 xy + a 22 y 2
ВишеProjektovanje tehnoloških procesa
ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА Департман за производно машинство Пројектовање технолошких процеса Тема: Др Мијодраг Милошевић Технолошки процеси израде производа Део производног процеса у коме се врши измена
ВишеMere slicnosti
Nenad Mitić Matematički fakultet nenad@matf.bg.ac.rs Kako odrediti sličnost/različitost, obrazaca, atributa, dogadjaja... Podaci različitog tipa i strukture Zavisnost od tipa, raspodele, dimenzionalnosti
ВишеMicrosoft Word - 11 Pokazivaci
Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u
ВишеMicrosoft PowerPoint - jkoren10.ppt
Dickey-Fuller-ov test jediničnog korena Osnovna ideja Različite determinističke komponente Izračunavanje test-statistike Pravilo odlučivanja Određivanje broja jediničnih korena Algoritam testiranja Prošireni
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]
Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija
ВишеРепублички педагошки завод Бања Лука Стручни савјетник за машинску групу предмета и практичну наставу Датум: године Тема: Елементи и начин
Републички педагошки завод Бања Лука Стручни савјетник за машинску групу предмета и практичну наставу Датум:.06.2009. године Тема: Елементи и начин вредновања графичког рада из раванских носачи 1 Увод:
ВишеJMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (
MJERA I INTEGRAL. kolokvij 9. lipnja 018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni! 1. (ukupno 6 bodova Neka je (, F, µ prostor s mjerom, neka je (f n n1 niz F-izmjerivih funkcija
ВишеMicrosoft Word - predavanje8
DERIVACIJA KOMPOZICIJE FUNKCIJA Ponekad je potrebno derivirati funkcije koje nisu jednostavne (složene su). Na primjer, funkcija sin2 je kompozicija funkcija sin (vanjska funkcija) i 2 (unutarnja funkcija).
ВишеMicrosoft PowerPoint - OOPpredavanja05 [Compatibility Mode]
OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni
ВишеELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera
ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera CILJ VEŽBE Cilj ove vežbe je da se studenti kreiranjem
ВишеGrupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013./ Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani
Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013/2014 1 5 Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani s više obilježja (atributa), ta se obilježja mogu međusobno
ВишеУниверзитет у Београду Факултет организационих наука Коначан распоред испита за предмете Мастер академских студија Испитни рок: ОКТОБАР Предмет
Универзитет у Београду Факултет организационих наука Коначан распоред испита за предмете Мастер академских студија Испитни рок: ОКТОБАР 2016. Предмет Датум Време Сала Напомена Big data у електронском пословању
ВишеУНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое
УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке 30.06.2018. Писмени део испита из предмета Увод у рачунарство 1. [7 поена] Методом МакКласкија минимизарити систем прекидачких
ВишеAnaliticka geometrija
Analitička geometrija Predavanje 3 Konusni preseci (krive drugog reda, kvadratne krive) Novi Sad, 2018. Milica Žigić (PMF, UNS 2018) Analitička geometrija predavanje 3 1 / 22 Ime s obzirom na karakteristike
ВишеДРУШТВО ФИЗИЧАРА СРБИЈЕ МИНИСТАРСТВО ПРОСВЕТЕ И СПОРТА РЕПУБЛИКЕ СРБИЈЕ Задаци за републичко такмичење ученика средњих школа 2006/2007 године I разред
ДРУШТВО ФИЗИЧАРА СРБИЈЕ МИНИСТАРСТВО ПРОСВЕТЕ И СПОРТА РЕПУБЛИКЕ СРБИЈЕ Задаци за републичко такмичење ученика средњих школа 006/007 године разред. Електрични систем се састоји из отпорника повезаних тако
ВишеЗадатак 4: Центрифугална пумпа познате карактеристике при n = 2900 min -1 ради на инсталацији приказаној на слици и потискује воду из резервоара А у р
Задатак 4: Центрифугална пумпа познате карактеристике при n = 900 min -1 ради на инсталацији приказаној на слици и потискује воду из резервоара А у резервоар B. Непосредно на излазу из пумпе постављен
ВишеUniverzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br
Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo
ВишеMicrosoft Word - ASIMPTOTE FUNKCIJE.doc
ASIMPTOTE FUNKCIJE (PONAŠANJE FUNKCIJE NA KRAJEVIMA OBLASTI DEFINISANOSTI) Ovo je jedna od najznačajnijih tačaka u ispitivanju toka funkcije. Neki profesori zahtevaju da se asimptote rade kao. tačka u
ВишеP9.1 Dodela resursa, Bojenje grafa
Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.
ВишеТехничко решење: Метода мерења реактивне снаге у сложенопериодичном режиму Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аут
Техничко решење: Метода мерења реактивне снаге у сложенопериодичном режиму Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аутори: Иван Жупунски, Небојша Пјевалица, Марјан Урекар,
ВишеAKVIZICIJA PODATAKA SA UREĐAJEM NI USB-6008 NI USB-6008 je jednostavni višenamjenski uređaj koji se koristi za akviziciju podataka (preko USBa), kao i
AKVIZICIJA PODATAKA SA UREĐAJEM NI USB-6008 NI USB-6008 je jednostavni višenamjenski uređaj koji se koristi za akviziciju podataka (preko USBa), kao i za generisanje željenih izlaznih signala (slika 1).
ВишеMy_ST_FTNIspiti_Free
ИСПИТНИ ЗАДАЦИ СУ ГРУПИСАНИ ПО ТЕМАМА: ЛИМЕСИ ИЗВОДИ ФУНКЦИЈЕ ЈЕДНЕ ПРОМЕНЉИВЕ ИСПИТИВАЊЕ ТОКА ФУНКЦИЈЕ ЕКСТРЕМИ ФУНКЦИЈЕ СА ВИШЕ ПРОМЕНЉИВИХ 5 ИНТЕГРАЛИ ДОДАТАК ФТН Испити С т р а н а Лимеси Одредити
ВишеThe Contemporary Systems Development Project Landscape
Budući projektni ciklusi u Evropi Horizon Europe, nakon Horizon 2020 Program za period 2021-2027 Oko 100 milijardi ulaganja u istraživanja i inovativne programe Glavne osobine: Jačanje nauke i tehnologije
ВишеMicrosoft PowerPoint - DS-1-16 [Compatibility Mode]
Ekonometrija 1-D Analiza vremenskih serija Predavač: Zorica Mladenović, zorima@eunet.rs, http://avs.ekof.bg.ac.rs kabinet: 414 1 Struktura predmeta Izučavaju se dve oblasti: Analiza vremenskih serija Analiza
ВишеTeorija skupova - blog.sake.ba
Uvod Matematika je jedan od najomraženijih predmeta kod većine učenika S pravom, dakako! Zapitajmo se šta je uzrok tome? Da li je matematika zaista toliko teška, komplikovana? Odgovor je jednostavan, naravno
ВишеР273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос
Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити основне концепте мрежног модела 3. Објаснити основне
ВишеСтруктура модула студијског програма МЕНАЏМЕТ И ОРГАНИЗАЦИЈА
Студијски програм ИНФОРМАЦИОНИ СИСТЕМИ И ТЕХНОЛОГИЈЕ Структура студијског програма Студијски програм Информациони системи и технологије на дипломским академским студијама осмишљен је као природни наставак
ВишеRavno kretanje krutog tela
Ravno kretanje krutog tela Brzine tačaka tela u reprezentativnom preseku Ubrzanja tačaka u reprezentativnom preseku Primer određivanja brzina i ubrzanja kod ravnog mehanizma Ravno kretanje krutog tela
ВишеMicrosoft Word - Master 2013
ИСПИТНИ РОК: ЈУН 2018/2019 МАСТЕР АКАДЕМСКЕ СТУДИЈЕ (АКРЕДИТАЦИЈА 2013) Студијски програм: ЕЛЕКТРОЕНЕРГЕТИКА Семестар 17.06.2019 Статички електрицитет у технолошким процесима Електронска кола за управљање
ВишеMy_P_Trigo_Zbir_Free
Штa треба знати пре почетка решавања задатака? ТРИГОНОМЕТРИЈА Ниво - Основне формуле које произилазе из дефиниција тригонометријских функција Тригонометријске функције се дефинишу у правоуглом троуглу
ВишеПовезивање са интернетом
Драгана Стопић Интернет Интернет је најпознатија и највећа светска мрежа која повезује рачунаре и рачунарске мреже у једну мрежу, у циљу сарадње и преноса информација употребом заједничких стандарда. INTERnational
ВишеProblemi zadovoljavanja ogranicenja.
I122 Osnove umjetne inteligencije Tema:. 7.1.2016. predavač: Darija Marković asistent: Darija Marković 1 I122 Osnove umjetne inteligencije. 2/26 (PZO) Problem zadovoljavanja ograničenja sastoji se od 3
ВишеУНИВЕРЗИТЕТ У НОВОМ САДУ ОБРАЗАЦ 6
УНИВЕРЗИТЕТ У НОВОМ САДУ ОБРАЗАЦ 6. ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА ИЗВЕШТАЈ О ОЦЕНИ ДОКТОРСКЕ ДИСЕРТАЦИЈЕ -oбавезна садржина- свака рубрика мора бити попуњена (сви подаци уписују се у одговарајућу рубрику, а
ВишеЕНЕРГЕТСКИ ТРАНСФОРМАТОРИ
Универзитет у Београду, Електротехнички факултет, Катедра за енергетске претвараче и погоне ЕНЕРГЕТСКИ ТРАНСФОРМАТОРИ (3Е3ЕНТ) Јул 9. Трофазни уљни енергетски трансформатор са номиналним подацима: 4 V,
ВишеML intro
MAŠINSKO UČENJE JELENA JOVANOVIĆ Email: jeljov@gmail.com Web: http://jelenajovanovic.net PREGLED PREDAVANJA Šta je mašinsko učenje? Zašto (je potrebno/bitno) m. učenje? Oblasti primene m. učenja Oblici
ВишеСТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за векто
СТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за вектор a (коjи може бити и дужине нула) и неке изометриjе
ВишеMicrosoft PowerPoint - SEP-2013-CAS02
STRATEGIJE E ZA ELEKTRONSKO POSLOVANJE STRATEGIJE ZA ELEKTRONSKO POSLOVANJE Elektronsko poslovanje ne predstavlja samo dodatak tradicionalnom, već ono predstavlja revoluciju u poslovanju. Ono omogućava
ВишеRano učenje programiranj
PREGLED ALATA ZA RANO UČENJE PROGRAMIRANJA Ivana Ružić, I. osnovna škola Čakovec Programiranje - nova pismenost Živimo u svijetu u kojem tehnologija brzo napreduje. Način na koji radimo, komuniciramo,
ВишеKombinatorno testiranje
Kombinatorno testiranje Uvod Na ponašanje aplikacije utiče puno faktora, npr. ulazne vrednosti, konfiguracije okruženja. Tehnike kao što je podela na klase ekvivalencije ili analiza graničnih vrednosti
ВишеVEŽBE IZ OPERACIONIH ISTRAŽIVANJA
VEŽBE IZ OPERACIONIH ISTRAŽIVANJA Glava 4 1. Metoda grananja i odsecanja 2. Metoda grananja i ograničavanja 3. Metoda implicitnog prebrojavanja MARIJA IVANOVIĆ marijai@math.rs Metoda grananja i odsecanja
Више