Mikä on AI:n ja NN:n ja Machine Learningin välinen ero? Selitä lyhyesti
AI on Artificial Intelligence
NN on neural networks
Machine learning
Mikä on näiden ero?
Kommentit (3)
AI on yleistermi mikä tarkoittaa kaikkea edes jotenkin inhimillisen kaltaista toimintaa mikä on toteuttu jonkin ei-inhimillisen instanssin toimesta. Tälläinen ei-inhimillinen toimija voi olla pelkkä tietokoneohjelma, tai sitten esim. jokin mekaaninen laite, jota ohjaa tietokoneohjelma.
Esimerkiksi älypuhelimessa oleva shakkisovellus, jota vastaan voi ihminen pelata shakkia. Tai pihan nurmikon leikkaava aurinkopaneeleilla toimiva robottiruohonleikkuri, joka osaa väistää nurmikolle jätetyn lasten pallon ja joka pysyttelee nurmikolla eikä karkaa muualle.
Vaikka alkuperäinen termi Artificial Intelligence käännetään yleisesti tekoälyksi, sen alle on alusta lähtien laskettu kaikki edes jotenkin ihmillinen toiminta. Vaikka toiminta, esimerkisi ruohonleikkuu, ei sinänsä ihmisen suorittamana mitään erityistä älykkyyttä vaatisikaan.
Vuosien varrella tälläistä inhimillistä toimintaa on pyritty toteuttamaan mekaanisesti eri tavoin. Yksi lähestymistavoista on koneoppiminen, englanniksi machine learning. Kyseessä on siis ratkaisutapa älykkään tietokoneohjelman toteuttamiseksi. Perusidea on se, että ohjelmalle osoitetaan tietyt tavoitteet ja sen jälkeen sen annetaan itsensä pyrkiä niihin yrityksen ja erehdyksen kautta. Ohjelmaa ohjataan kohti haluttuja tavoitteita antamalla sille palautetta jokaisesta yrityksestä. Jos yritys on ollut hyvä, niin ohjelma saa positiivista palautetta ja jos huono, niin negatiivista. Ohjelma oppii siis kuinka toimia eri tilanteissa.
Esimerkiksi robottiruohonleikkuri saa palautetta sen mukaan kuinka pienellä sähkönkulutuksella ja käytetyllä ajalla se saa leikattua koko nurmikon. Lisäksi leikkuri saa mm. vahvoja miinuspisteitä erilaisiin esineisiin törmäilystä. Tällä tavoin leikkurin sisällä oleva tietokoneohjelma pikku hiljaa oppii toimimaan mahdollisimman tehokkaasti tehtävässään.
Se miksi tälläiseen ylipäätään ryhdytään, on idea siitä, että jos suoritettavassa tehtävässä on valtavasti esim. erilaisia sääntöjä, on pidemmän päälle tehokkaampaan jos tietokoneohjelma koneoppimisen avulla itse oppii ja muodostaa tarvittavat säännöt. Tällöin ihmisen ei tarvitse ohjelmoida niitä yksi kerrallaan. Lisäksi ohjelma voi (ainakin teorissa) löytää myös toimintapoja / sääntöjä jotka eivät edes ole tulleet ihmisohjelmoijan mieleen.
...jatkuu
Neuroverkot, englanniksi neural networks, taas ovat yksi, kapea ja spefisinen tapa toteuttaa tälläistä koneoppimista. Ne ovat käytännössä iso kasa kaksiulotteisia taulukoita, joiden yksittäisten alkioiden välillä suoritetaan yksinkertaisia laskutoimituksia. Nämä laskutoimitukset ketjutetaan pitkiksi ketjuiksi taulukosta toiseen, niin että edellisen laskun tulos lasketaan yhteen seuraavan taulukon alkion kanssa. Neuroverkkoja on rakenteeltaan erilaisia, riippuen mm. siitä miten alkioita keskenään lasketaan.
Neuroverkot ovat saaneet nimensä siitä että ne muistuttavat karkeasti ihmisen aivojen neuronien, hermosolujen toimintaa.
Verkolle voidaan antaa syötteeksi esimerkiksi digitaalisessa muodossa olevia kuvia kissoista. Verkon laskutoimitukset voidaan järjestää niin, että lopputulos on aina prosenttiluku. Sovitaan, että tämä prosenttiluku kertoo sen onko kuvassa kissa vai ei. Jos kissa varmasti, niin 100% ja jos ei kissa, niin esim. 5%.
Tämän jälkeen verkolle syötetään valtava määrä erilaisia kuvia kissoista JOTKA TIEDETÄÄN IHMISEN PUOLESTA KISSOJEN KUVIKSI. Jokaisen kuvan kohdalla tehdään laskutoimitukset ja sen mukaan millainen prosenttiluku saadaan, muutetaan verkon laskutoimituksia hiukan. Jos kuvassa oli kissa, mutta verkko laskee, että todennäköisyys tähän on esim. vain 10%, niin verkon laskutoimituksia hiukan muutetaan.
Eli voidaan sanoa, että verkkoa opetetaan ja korjataan hiukan jokaisella kierroksella.
Lopulta verkolle voidaan antaa kuvia vaikka kissoista, koirista ja ihmisistä ja verkko antaa varsin tarkan prosentuaalisen todennäköisyyden oikein jos kuvassa tosiaan on kissa.
Tällä tavoin voidaan opettaa neuroverkko myös esim. tunnistamaan ihmisen käsin kirjoittamat kirjaimet. Verkko osaa siis sanoa, että "tuossa on a ja tuo on e kirjain" jne. kun sille näytetään tietokoneeseen skannattua kuvaa paperiarkista.
Kuvien lisäksi verkkoja on pyritty myös käyttämään esimerkiksi niin, että niille annetaan tekstimuodossa dataa. Vaikkapa nettikaupan tuotearvostelujen tekstejä ja verkko opetaan sanomaan, onko annettu teksti positiivinen vai negatiivinen arvostelu.
Tämäkin tosiaan saadaan toimimaan kohtuullisen suurella todennäköisyydellä oikein.
Tietysti tietokoneessa toimivan neuroverkon suorittamassa kuvantunnistuksessa ei aina vältytä tragikoomisilta ongelmiltakaan. Tälläinen lienee episoidi, jossa Googlen neuroverkkoon perustava kuvantunnistus sanoi monien tummaihoisten amerikkalaisten miesten kuvien kohdalla, että kuvassa on selvästi gorilla / apina...
Artificial Intelligence asuu Neural Networkissa ja tekee Machine Learningia.