U svetu savremene veštačke inteligencije (VI), učenje putem potkrepljivanja (UP) predstavlja jednu od najuzbudljivijih oblasti istraživanja. Programeri veštačke inteligencije i mašinskog učenja (MU) posvećuju veliku pažnju UP metodama kako bi usavršili inteligentne aplikacije i alate koje kreiraju.
Mašinsko učenje je temelj svih proizvoda zasnovanih na veštačkoj inteligenciji. Stručnjaci za razvoj koriste različite metode MU za obuku svojih inteligentnih aplikacija, igara i slično. MU je izuzetno raznolika oblast, a timovi za razvoj neprestano uvode nove metode za obuku mašina.
Jedna od veoma primenljivih metoda MU jeste duboko učenje sa potkrepljivanjem. U okviru ove metode, neželjeno ponašanje mašine se kažnjava, dok se poželjne akcije inteligentne mašine nagrađuju. Stručnjaci veruju da će ovaj pristup MU omogućiti veštačkoj inteligenciji da uči iz sopstvenih iskustava.
Nastavite sa čitanjem ovog detaljnog vodiča o metodama učenja sa potkrepljivanjem za pametne aplikacije i mašine, ukoliko razmišljate o karijeri u oblasti veštačke inteligencije i mašinskog učenja.
Šta je učenje sa potkrepljivanjem u mašinskom učenju?
UP podrazumeva obučavanje modela mašinskog učenja pomoću kompjuterskih programa. Nakon toga, aplikacija može donositi niz odluka na osnovu usvojenog modela. Softver uči kako da postigne cilj u potencijalno kompleksnom i neizvesnom okruženju. U ovakvom modelu mašinskog učenja, VI se susreće sa scenarijem koji podseća na igru.
VI aplikacija koristi metodu pokušaja i grešaka kako bi pronašla kreativno rešenje za dati problem. Kada VI aplikacija nauči odgovarajuće MU modele, ona daje instrukcije mašini koju kontroliše da izvrši određene zadatke koje programer zahteva.
Na osnovu ispravne odluke i uspešnog izvršenja zadatka, VI dobija nagradu. Međutim, ukoliko VI napravi pogrešne izbore, suočava se sa kaznama, kao što je gubitak poena za nagradu. Krajnji cilj VI aplikacije je da sakupi maksimalan broj poena za nagradu i time „pobedi“ u igri.
Programer VI aplikacije postavlja pravila igre ili politiku nagrađivanja. Takođe, on definiše problem koji VI treba da reši. Za razliku od drugih MU modela, VI program ne dobija nikakve smernice od strane programera softvera.
VI mora sama da smisli način da reši izazove u igri kako bi ostvarila maksimalne nagrade. Aplikacija može koristiti strategije pokušaja i grešaka, nasumičnih pokušaja, kao i napredne taktike misaonog procesa kako bi došla do rešenja.
Neophodno je da VI program ima jaku računarsku infrastrukturu i da povežete njegov sistem mišljenja sa različitim paralelnim i istorijskim igrama. Na taj način, VI može ispoljiti visok nivo kritičke kreativnosti koji ljudi ne mogu ni da zamisle.
Popularni primeri učenja sa potkrepljivanjem
#1. Pobeđivanje najboljeg ljudskog igrača Goa
AlphaGo VI, razvijen od strane DeepMind Technologies, ogranka kompanije Google, predstavlja jedan od vodećih primera mašinskog učenja zasnovanog na UP. Ova VI igra drevnu kinesku igru na tabli koja se zove Go. Go je igra stara 3000 godina, a zasniva se na taktici i strategiji.
Programeri su koristili UP metodu učenja za AlphaGo. Ona je odigrala hiljade Go partija, kako protiv ljudi, tako i protiv same sebe. Konačno, 2016. godine je pobedila najboljeg svetskog Go igrača, Lee Se-Dola, u meču jedan na jedan.
#2. Robotika u stvarnom svetu
Roboti se već dugo koriste u proizvodnim linijama gde su zadaci unapred određeni i ponavljajući. Međutim, razvoj robota opšte namene za svakodnevnu upotrebu, gde akcije nisu unapred isplanirane, predstavlja veliki izazov.
Ipak, veštačka inteligencija, potpomognuta učenjem sa potkrepljivanjem, mogla bi da pronađe glatku, tečnu i najkraću rutu između dve lokacije.
#3. Samovozeća vozila
Istraživači u oblasti autonomnih vozila u velikoj meri koriste UP metodu da obuče svoje VI sisteme za:
- Dinamičku navigaciju
- Optimizaciju putanja
- Planiranje kretanja, kao što su parkiranje i promena trake
- Optimizaciju kontrolera, (elektronska kontrolna jedinica) ECU, (mikrokontroleri) MCU, itd.
- Učenje na osnovu različitih scenarija na autoputevima
#4. Automatizovani sistemi za hlađenje
VI sistemi zasnovani na UP mogu pomoći da se smanji potrošnja energije sistema za hlađenje u velikim poslovnim zgradama, tržnim centrima, i najvažnije, u data centrima. VI prikuplja podatke sa hiljada senzora temperature.
Takođe, prikuplja podatke o ljudskim i mašinskim aktivnostima. Na osnovu ovih podataka, VI može predvideti buduću proizvodnju toplote i shodno tome uključuje i isključuje sisteme za hlađenje kako bi se uštedela energija.
Kako postaviti model učenja sa potkrepljivanjem
Možete podesiti UP model koristeći sledeće metode:
#1. Metod zasnovan na politici
Ovaj pristup omogućava programeru VI da pronađe idealnu politiku za maksimalne nagrade. Ovde programer ne koristi funkciju vrednosti. Kada se postavi metod zasnovan na politici, agent za učenje sa potkrepljivanjem primenjuje politiku tako da akcije koje preduzima u svakom koraku omogućavaju VI da maksimizuje poene za nagradu.
Postoje dve vrste politika:
#1. Deterministička: Politika proizvodi iste akcije u bilo kom stanju.
#2. Stohastička: Proizvedene akcije su određene verovatnoćom pojave.
#2. Metod zasnovan na vrednosti
Pristup zasnovan na vrednosti, sa druge strane, pomaže programeru da pronađe optimalnu funkciju vrednosti, koja je maksimalna vrednost u okviru politike u bilo kom datom stanju. Kada se jednom primeni, UP agent očekuje dugoročni povrat u bilo kom ili više stanja u skladu sa navedenom politikom.
#3. Metod zasnovan na modelu
U UP pristupu zasnovanom na modelu, programer VI kreira virtuelni model za okruženje. Nakon toga, UP agent se kreće kroz okruženje i uči iz njega.
Vrste učenja sa potkrepljivanjem
#1. Učenje sa pozitivnim potkrepljivanjem (UPP)
Pozitivno učenje znači dodavanje određenih elemenata kako bi se povećala verovatnoća ponavljanja željenog ponašanja. Ova metoda učenja pozitivno utiče na ponašanje UP agenta. UPP takođe povećava snagu određenih ponašanja vaše VI.
UPP tip potkrepljivanja učenja treba da pripremi VI da se prilagodi promenama na duži period. Međutim, prevelika primena pozitivnog učenja može dovesti do preopterećenja, što može smanjiti efikasnost VI.
#2. Učenje sa negativnim potkrepljivanjem (UNP)
Kada UP algoritam pomaže VI da izbegne ili zaustavi negativno ponašanje, ona uči iz njega i poboljšava svoje buduće akcije. To se naziva negativno učenje. UNP pruža VI ograničenu inteligenciju koja je dovoljna za ispunjenje određenih zahteva u ponašanju.
Primeri primene učenja sa potkrepljivanjem u stvarnom životu
#1. Programeri rešenja za e-trgovinu kreirali su personalizovane alate za predlaganje proizvoda ili usluga. Možete povezati API alate sa vašom web lokacijom za onlajn kupovinu. Tada će VI učiti od pojedinačnih korisnika i predlagati prilagođena dobra i usluge.
#2. Video igre otvorenog sveta nude neograničene mogućnosti. Međutim, iza programa igre nalazi se VI program koji uči na osnovu unosa igrača i menja kod video igre kako bi se prilagodio nepoznatim situacijama.
#3. Platforme za trgovanje akcijama i investicione platforme zasnovane na VI koriste UP model za učenje iz kretanja akcija i globalnih indeksa. Shodno tome, oni formulišu model verovatnoće kako bi predložili akcije za ulaganje ili trgovanje.
#4. Onlajn video platforme kao što su YouTube, Metacafe, Dailymotion itd., koriste VI botove obučene UP modelom kako bi predlagali personalizovane video snimke svojim korisnicima.
Učenje sa potkrepljivanjem vs. Nadzirano učenje
Cilj učenja sa potkrepljivanjem je obučavanje VI agenta da donosi odluke sekvencijalno. Drugim rečima, izlaz VI zavisi od trenutnog ulaza. Slično tome, sledeći ulaz u UP algoritam će zavisiti od izlaza prethodnih ulaza.
Robotska mašina zasnovana na VI koja igra šah protiv čoveka je primer UP modela mašinskog učenja.
Nasuprot tome, u nadziranom učenju, programer obučava VI agenta da donosi odluke na osnovu ulaznih podataka koji su dati na početku. VI za autonomnu vožnju automobila koja prepoznaje objekte u okruženju je odličan primer nadziranog učenja.
Učenje sa potkrepljivanjem vs. Nenadzirano učenje
Do sada ste shvatili da UP metoda motiviše VI agenta da uči iz politika modela mašinskog učenja. Uglavnom, VI će napraviti samo one korake za koje dobija maksimalan broj nagradnih poena. UP pomaže VI da uči putem pokušaja i grešaka.
Sa druge strane, u nenadziranom učenju, programer VI uvodi softveru VI neoznačene podatke. Takođe, instruktor MU ne govori VI ništa o strukturi podataka niti o tome šta treba da traži u podacima. Algoritam uči različite odluke katalogizacijom sopstvenih zapažanja o datim nepoznatim skupovima podataka.
Kursevi o učenju sa potkrepljivanjem
Sada kada ste naučili osnove, evo nekoliko onlajn kurseva za učenje naprednog učenja sa potkrepljivanjem. Takođe, možete dobiti sertifikat koji možete prikazati na LinkedIn-u ili drugim društvenim mrežama:
Specijalizacija iz učenja sa potkrepljivanjem: Coursera
Da li želite da savladate osnovne koncepte učenja uz pomoć MU? Možete probati ovaj Coursera UP kurs koji je dostupan onlajn i dolazi sa opcijom samostalnog učenja i sertifikacije. Ovaj kurs će vam odgovarati ako imate sledeće osnovne veštine:
- Poznavanje programiranja u Python-u
- Osnovni statistički pojmovi
- Sposobnost konverzije pseudokodova i algoritama u Python kod
- Dve do tri godine iskustva u razvoju softvera
- Studenti druge godine osnovnih studija u oblasti informatike takođe imaju pravo učešća
Kurs ima ocenu 4.8 zvezdica, a preko 36.000 studenata se već upisalo na kurs. Takođe, kurs nudi finansijsku pomoć, pod uslovom da kandidat ispunjava određene uslove koje postavlja Coursera.
Institut za mašinsku inteligenciju Univerziteta u Alberti nudi ovaj kurs (bez bodova). Uvaženi profesori iz oblasti informatike će vam biti instruktori. Po završetku kursa ćete dobiti Coursera sertifikat.
Učenje sa veštačkom inteligencijom i potkrepljivanjem u Python-u: Udemy
Ako se bavite finansijskim tržištem ili digitalnim marketingom i želite da razvijete inteligentne softverske pakete za navedene oblasti, trebalo bi da razmotrite ovaj Udemy kurs o UP. Pored osnovnih principa UP, sadržaj obuke će vas naučiti kako da razvijate UP rešenja za onlajn oglašavanje i trgovanje akcijama.
Neke od značajnih tema koje kurs obuhvata su:
- Pregled UP na visokom nivou
- Dinamičko programiranje
- Monte Karlo
- Metode aproksimacije
- Projekat trgovanja akcijama sa UP
Kurs je do sada pohađalo preko 42.000 učenika. Onlajn resurs za učenje trenutno ima ocenu 4.6 zvezdica, što je prilično impresivno. Pored toga, kurs je namenjen globalnoj studentskoj zajednici, budući da je sadržaj dostupan na francuskom, engleskom, španskom, nemačkom, italijanskom i portugalskom jeziku.
Duboko učenje sa potkrepljivanjem u Python-u: Udemy
Ukoliko imate radoznalost i osnovno znanje o dubokom učenju i veštačkoj inteligenciji, možete isprobati ovaj napredni UP kurs u Python-u sa platforme Udemy. Sa ocenom od 4.6 zvezdica od strane studenata, ovo je još jedan popularan kurs za učenje UP u kontekstu VI/MU.
Kurs ima 12 sekcija i pokriva sledeće vitalne teme:
- OpenAI Gym i osnovne UP tehnike
- TD Lambda
- A3C
- Theano osnove
- Tensorflow osnove
- Početno Python kodiranje
Za kompletan kurs je potrebno oko 10 sati i 40 minuta posvećenog učenja. Pored tekstova, kurs nudi i 79 stručnih predavanja.
Ekspert za duboko učenje sa potkrepljivanjem: Udacity
Želite da učite napredno mašinsko učenje od svetskih lidera u oblasti VI/MU, kao što su Nvidia Deep Learning Institute i Unity? Udacity vam omogućava da ostvarite svoj san. Pogledajte ovaj kurs o dubokom učenju sa potkrepljivanjem kako biste postali stručnjak za MU.
Međutim, neophodno je da imate napredno znanje Python-a, srednji nivo statistike, teorije verovatnoće, Tensorflow-a, PyTorch-a i Keras-a.
Za završetak kursa biće potrebno do 4 meseca marljivog učenja. Tokom kursa naučićete vitalne UP algoritme kao što su duboki deterministički gradijenti politike (DDPG), duboke Q-mreže (DQN), itd.
Završne reči
Učenje sa potkrepljivanjem je sledeći korak u razvoju veštačke inteligencije. Agencije za razvoj VI i IT kompanije ulažu u ovaj sektor kako bi stvorili pouzdane i proverene metodologije za obuku VI.
Iako je UP značajno napredovalo, postoji još mnogo prostora za razvoj. Na primer, odvojeni UP agenti ne dele znanje međusobno. Stoga, ukoliko obučavate aplikaciju za vožnju automobila, proces učenja će biti spor, jer UP agenti neće deliti podatke, poput podataka o detekciji objekata, putevima itd.
Postoje mogućnosti da iskoristite svoju kreativnost i stručnost u MU kako biste rešili ove izazove. Prijavljivanje za onlajn kurseve će vam pomoći da unapredite svoje znanje o naprednim UP metodama i njihovoj primeni u realnim projektima.
Za dodatno učenje, preporučujemo da istražite razlike između VI, mašinskog učenja i dubokog učenja.