Koneoppiminen on joukko menetelmiä, joiden avulla luodaan tietokoneohjelmia, jotka voivat oppia havainnoista ja tehdä ennusteita. Koneoppimisessa käytetään algoritmeja, regressioita ja niihin liittyviä tieteita tiedon ymmärtämiseen. Näitä algoritmeja voidaan yleensä pitää tilastollisina malleina ja verkkoina.
Syväoppiminen on osa koneoppimismenetelmiä. Tiedot jäsennetään syvän oppimisen verkon useiden kerrosten läpi, jotta verkko voi tehdä päätelmiä ja tehdä päätöksiä tiedoista. Syvät oppimismenetelmät antavat suurta tarkkuutta isoissa aineistoissa, mutta nämä ominaisuudet tekevät syvästä oppimisesta paljon resurssivaiheisempia kuin klassinen koneoppiminen.
Koneoppimista on käytetty useiden vuosikymmenien ajan keinotekoisen älykkyyden aikaansaamiseksi koneissa. Koneoppimisen ala on keskittynyt oppimista ja päätöksiä tekevien tietokoneiden luomiseen, mikä tekee koneoppimisesta sopivan tekoälyn tutkimukseen. Kaikkien koneoppimallien ei kuitenkaan ole tarkoitus kehittää ”todellista” tekoälyä, joka vastaa tai ylittää ihmisen älykkyyden. Sen sijaan mallit suunnitellaan usein tutkimaan tiettyjä, rajoitettuja ongelmia.
Syväoppimista ehdotettiin koneoppumiskeskustelujen alkuvaiheissa, mutta harvat tutkijat harjoittivat syväoppimismenetelmiä, koska syvän oppimisen laskennalliset vaatimukset ovat paljon suuremmat kuin klassisessa koneoppimisessa. Tietokoneiden laskentateho on kuitenkin kasvanut räjähdysmäisesti vuodesta 2000, jolloin tutkijat voivat tehdä valtavia parannuksia koneoppimisessa ja tekoälyn rakentamisessa. Koska syvän oppimisen mallit skaalautuvat hyvin lisääntyneen tiedon kanssa, syvällä oppimisella on mahdollisuus ylittää merkittävät esteet todellisen tekoälyn luomisessa.
Koneoppiminen ja syväoppiminen ovat algoritmisia. Klassisessa koneoppimisessa tutkijat käyttävät suhteellisen vähän tietomäärää ja päättävät, mitkä tärkeimmät ominaisuudet ovat tiedossa, jota algoritmi tarvitsee ennusteiden tekemiseksi. Tätä menetelmää kutsutaan ominaisuussuunnitteluksi. Esimerkiksi, jos koneoppimisohjelmaa opetettaisiin tunnistamaan lentokoneen kuva, sen ohjelmoijat tekisivät algoritmeja, joiden avulla ohjelma tunnistaa kaupallisten lentokoneiden tyypilliset muodot, värit ja koot. Näiden tietojen avulla koneoppimisohjelma ennustaisi, esitetäänkö kuvat mukana olevilla lentokoneilla.
Syväoppiminen eroaa yleensä klassisesta koneoppimisesta sen monien päätöksentekokerrosten avulla. Syväoppimisverkkoja pidetään usein ”mustina laatikoina”, koska tietoja jäsennetään useiden verkkokerrosten kautta, joista kukin tekee havaintoja. Tämä voi tehdä tuloksista vaikeampaa ymmärtää kuin tulokset klassisessa koneoppimisessa. Tarkka kerrosten tai vaiheiden lukumäärä päätöksenteossa riippuu valitun mallin tyypistä ja monimutkaisuudesta.
Koneoppimisessa käytetään perinteisesti pieniä tietojoukkoja, joista oppia ja tehdä ennusteita. Pienillä tietomäärillä tutkijat voivat määrittää tarkat ominaisuudet, jotka auttavat koneoppimisohjelmaa ymmärtämään ja oppimaan tiedoista. Jos ohjelmasta kuitenkin löytyy tietoja, joita se ei voi luokitella olemassa olevien algoritmiensa perusteella, tutkijoiden on yleensä analysoitava ongelmallista tietoa manuaalisesti ja luotava uusi ominaisuus. Tämän takia klassinen koneoppiminen ei yleensä ole mittakaavassa massiivisilla tietomäärillä, mutta se voi minimoida virheitä pienemmissä tietojoukoissa.
Syväoppiminen soveltuu erityisesti suuriin tietoaineistoihin, ja mallit vaativat usein suuria aineistoja ollakseen hyödyllisiä. Syvän oppimisverkon monimutkaisuuden vuoksi verkko tarvitsee huomattavan määrän harjoitustietoja ja ylimääräistä tietoa verkon testaamiseksi koulutuksen jälkeen. Tällä hetkellä tutkijat jalostavat syvällisiä oppimisverkkoja, jotka voivat olla tehokkaampia ja käyttävät pienempiä aineistoja.
Koneoppimisella on muuttuvia tietokoneen suorituskykyvaatimuksia. On paljon malleja, joita voidaan käyttää keskimääräisessä henkilökohtaisessa tietokoneessa. Mitä edistyneempiä tilastollisia ja matemaattisia menetelmiä saa, sitä vaikeampaa tietokoneella on prosessoida tietoja nopeasti.
Syväoppimisella on yleensä paljon resursseja. Suurten tietomäärien hajauttaminen useiden päätöksentekokerrosten kautta vaatii paljon laskentatehoa. Kun tietokoneet nopeutuvat, syväoppiminen on entistä helpompaa.
Koneoppimisella on perinteisesti muutamia yleisiä ja merkittäviä rajoituksia. Yliasennus on tilastollinen ongelma, joka voi vaikuttaa koneoppimisalgoritmiin. Koneoppimisalgoritmi sisältää tietyn määrän "virhettä", kun analysoidaan ja ennustetaan datalla. Algoritmin on tarkoitus näyttää suhde asiaankuuluvien muuttujien välillä, mutta liiallisessa asennuksessa se alkaa myös virheen kaappaamisesta, mikä johtaa ”meluisampaan” tai epätarkempaan malliin. Koneoppimismallit voivat myös olla puolueellisia kohti niiden tietojen ominaispiirteitä, joihin he on koulutettu. Tämä ongelma ilmenee erityisen silloin, kun tutkijat kouluttavat algoritmeja koko käytettävissä olevaan tietojoukkoon sen sijaan, että tallentaisi osan tietoista algoritmin testaamiseksi.
Syvällä oppimisella on samat tilastolliset sudenkuopat kuin klassisella koneoppimisella, samoin kuin muutamilla ainutlaatuisilla aiheilla. Monien ongelmien ratkaisemiseksi ei ole tarpeeksi tietoa riittävän tarkan syvän oppimisen verkon kouluttamiseksi. Usein on kohtuuttoman kallista hankkia tai mahdotonta kerätä lisää tietoja reaalimaailman ongelmista tai simuloida niitä, mikä rajoittaa nykyistä aihepiiriä, johon syväoppimista voidaan käyttää.
Koneoppiminen ja syväoppiminen kuvaavat sekä menetelmiä, joilla opetetaan tietokoneita oppimaan ja tekemään päätöksiä. Syväoppiminen on osa klassista koneoppimista, ja eräät tärkeät erot tekevät syväoppimisesta ja koneoppimisesta sopivan erilaisiin sovelluksiin..