Mašinsko učenje je oblast računarskih nauka koja se razvila iz kompjuterskog pronalaženja obrazaca u posmatranim podacima.Ono se bavi proučavanjem podataka i, na osnovu njihove interpretacije, izgradnje modela pravila koja diktiraju kako se program treba ponašati u predviđenim situacijama, da bi što efikasnije radio.Drugim rečima, to je tehnika pravljenja programa koji će da uče iz svojih iskustava da bi postali što bolji u nekom predviđenom aspektu rada.
Nastanak
Mašinsko učenje je proizašlo iz razvoja veštačke inteligencije, kada su programeri poželeli da primene metode proučavanja podataka i samoučenja na programe koji bi rešavali praktične probleme umesto što bi vijali ideju sticanja prave inteligencije.
Razvoj kroz istoriju
Prvi samouki Program
Artur Semjuel (Arthur Samuel), IBM-ov naučnik, je prvi stvorio samouki program, koji je izučavao kako da igra „Checkers“ društvenu igru. Tu igru je izabrao jer ima jednostavna pravila, ali zahteva strateško razmišljanje.
Program je bez obučavanja, zbog ograničene memorije i procesorske snage, znao da razmisli samo mali broj poteza unapred pri zaključivanju šta bi bilo najisplativije odigrati u trenutnom potezu. Da bi prevazišao ta ograničenja, Artur je isprogramirao svog kompjuterskog igrača da pamti svoje odluke za date rasporede tabela i koliko su te odluke bile pametne na kraju igre, što je omogućilo programu da “po navici“ zna kako da odigra neke poteze, i samim time ima vise resursa da posveti dubljem razmisljanju o budućim potezima za koje još nije uvežban.
Nakon mnogo partija odigranih protiv amaterskih protivnika i protiv samog sebe, i nakon posmatranja profesionalnih partija drugih igrača, program je dosegao nivo na kom je mogao da igra protiv amatera čija imena su značila nešto u “Checkers” krugovima.
Perceptron
Neuralne mreže su duže vreme teoretisane i zamišljane kao korisna imitacija ljudskog mozga u programiranju. Frank Rozenblat (Frank Rosenblatt) njih prvi implementira u svom “Perceptron” program. Kao i naš mozak, struktura njegovog programa se sastojala od mnogo malih aktuatora (imitacija neurona) koji su donosili veoma jednostavne odluke koje bi takođe uticale i na odluke aktuatora u blizini. Svaki actuator bi donosio odluku smisleno na osnovu pređašnjih iskustava. Perceptron bi razložio kompleksne probleme i odluke na te jednostavne, raspodelio ih mreži i na kraju spojio sve odluke unutar nje u rešenje.
Pokazao se kao uspešan program za prepoznavanje geometrijskih oblika. Stekao je veliku slavu, i izazvao još uvek nerešene debate u polju mašinskog učenja oko tačnosti svog rada i efikasnosti. Trenutno stoji na izložbi u “Smitsonian institutu” u Vašingtonu.
Prepoznavanje obrazaca
Nastaju programi koji pre upotrebe bivaju opskrbljivani ogromnim količinama primera problema i njihovih rešenja sa ciljem da iz toga razviju svoj način zaključivanja i rešavanja takvih problema. Ovaj način pripreme programa za rad se naziva: nadgledano obučavanje.
Prvi primer korišćenja ovakvog postupka je bio u pravljenju programa koji bi znao da primeti obrasce u podacima. Na primer, da prepozna:
- geometrijske oblike
- čovekov rukopis
- način izražavanja u rečenici
- otisak prsta
Učenje na osnovu objašnjenja
Gerald Dežong (Gerald Dejong) je razvio novu metodu mašinskog obučavanja programa. Ideja je da program ima dato svoje okruženje, zna kako ono funkcioniše i da dobije tačan kriterijum šta treba da uradi u tom okruženju.
Recimo u šahu bismo rekli kompjuterskom igraču da se fokusira na protivničkog kralja, ali da ne izgubi u međuvremenu, ili možda da se fokusira na neprijateljsku kraljicu, u kom slučaju bi on u toku odlučivanja zanemario sve figure koje nemaju nikakav uticaj na kraljicu. Isto tako bismo mu mogli dati gomilu profesionalnih mečeva šaha uz kriterijum da se fokusira samo na otvaranja.
Ovo polje je zanimljivo i kompleksno zbog toga što program treba da prvo nauči sebe da razume dati kriterijum na osnovu kog će onda iz gomile podataka da izvuče samo one ključne za njegovo dalje samoučenje. Nastalo je da programeri ne bi morali ručno da spremaju primere podataka za program da uči iz njih, već da mu mogu dati realne podatke i objasniti šta da zapaža u njima.
Primene mašinskog učenja u sadašnjem vremenu
- Prepoznavanje lica čoveka na slici ili snimku (Fejsbuk, sistem za gradske kamere)
- Prilagođavanje težine igrice tako da isprati napredak igračeve sposobnosti igranja (Left4Dead2, Mortal Kombat)
- Programi za kupovanje i prodaju deonica na berzi
- Samoprilagođavajući semafori
- Određivanje pozitivnosti ili negativnosti izjava u tekstovima.
- Prepoznavanje govora
Autor: Andrej Križan