Syväoppiminen
Osa artikkelisarjaa |
Tekoäly |
---|
![]() |
Tätä artikkelia tai sen osaa on pyydetty parannettavaksi, koska se ei täytä Wikipedian laatuvaatimuksia. Voit auttaa Wikipediaa parantamalla artikkelia tai merkitsemällä ongelmat tarkemmin. Lisää tietoa saattaa olla keskustelusivulla. Tarkennus: Artikkelissa mahdollisesti vielä paikoittain virheellistä tietoa(pitäisi käydä läpi). Tivi pitäisi poistaa lähdeviitteistä kokonaan ja korvata. Kts. keskustelusivu |
Syväoppiminen (engl. deep learning) on joukko tekoälymenetelmiä, joissa hyödynnetään usean kerroksen neuroverkkoja.[1][2]
Periaate
[muokkaa | muokkaa wikitekstiä]![](http://178.128.105.246/content-http-upload.wikimedia.org/wikipedia/commons/thumb/3/30/Multilayer_Neural_Network.png/300px-Multilayer_Neural_Network.png)
Syväoppiminen perustuu keinotekoisiin hermoihin, jotka muodostavat monikerroksisen neuroverkon. Hermot eli neuronit laskevat numeerisen tuloksen yhdestä tai useammasta numeerisesta, muilta neuroneilta tai syötteestä saadusta hermoärsykkeestä, perustuen sisäiseen painoarvoon.[3][4]
Syväoppimisen tavoitteena on luoda algoritmien avulla neuroverkko, joka pystyy ratkaisemaan sille annetut ongelmat.[5] Syväoppimista käytetään erityisesti sellaisten ongelmien ratkaisemiseen, joissa perinteisillä menetelmillä tehdyt ratkaisut vaatisivat erittäin monimutkaisia sääntöjä. Syväoppimista käytetään esimerkiksi puheen, kuvien ja tekstien tunnistamiseen tai käsittelyyn.[6]
Historia
[muokkaa | muokkaa wikitekstiä]Hermoverkot on havaittu 1950-luvulla. Varhaisissa tutkimuksissa tutkittiin sellaisia hermoverkkoja, joissa on vain muutama kerros. Syväoppimisella tarkoitetaan oppimista hermoverkoilla, joissa on useita kerroksia, jopa useita kymmeniä. Viimeaikaisten hermoverkkojen sovellusten pohjalla on kanadalaisen neuroverkkojen kehittäjän Geoffrey Hintonin 1980-luvulla kehittämä useampikerroksisten hermoverkkojen opetukseen käytettävä backpropagation-algoritmi. Hermoverkkojen tutkimus nousi suosioon lokakuussa 2012, kun Hintonin oppilaat voittivat ImageNet-kuvantunnistuskilpailun ennätystuloksella, ja heidän neuroverkkonsa tunnisti kuvia tuplasti tarkemmin kuin toiseksi sijoittunut kilpaileva tekoäly.[7]
Neuroverkkojen oppiminen
[muokkaa | muokkaa wikitekstiä]Työn alussa neuroverkon rakenne suunnitellaan ja sen painoarvot alustetaan. Alustettava painoarvo voi olla neuroneissa ennalta määritetty muuttumaton arvo tai satunnaislukugeneraattorilla asetettu luku.[3][4]
Ohjatussa oppimisessa (engl. supervised learning) neuroverkolle syötetään ennalta luokiteltuja näytteitä. Neuroverkon tuottamien arvojen ja näytteen luokittelun perusteella neuronien painoarvoja muutetaan siten, että neuroverkko tuottaisi syötteen luokittelun mukaisen tuloksen. [3][4][8][9]
Ohjaamattomassa oppimisessa (engl. unsupervised learning) syväoppimisen -malli (engl. deeplearning model) yrittää automaattisesti luokitella syötettä, ilman että sitä ohjataan millään tavalla.[9] Ohjaamatonta oppimista ovat muun muassa sellaiset autoenkooderit, jotka muuttavat vastaanottamansa syötteen matalampiuloitteiseen muotoon, ja yrittävät muokata sen takaisin alkuperäiseksi syötteeksi.
Osittain ohjatussa oppimisessa (engl. semi-supervised learning) osa näytteistä on luokiteltuja ja osa ei.[9] Tämä voi tarkoittaa esimerkiksi sitä, että osaa verkosta esiharjoitetaan ohjaamattomasti, ja sitten tätä neuroverkkoa käytetään osana ohjattua arkkitehtuuria.
Vahvistusoppimisessa (engl. reinforcement learning) syväoppimisen -malli oppii palautteen perusteella, jota ympäristö antaa suorituksen aikana.[9]
Käytännön sovelluksia
[muokkaa | muokkaa wikitekstiä]Syväoppiminen on vielä uutta, mutta sen odotetaan tulevan käytännön sovelluksiin. Syväoppimisen avulla joidenkin työtehtävien rutiiniluonteisin osa voidaan hoitaa vähintään puoliautomaattisesti, minkä avulla saavutetaan säästöjä. Syväoppimista hyödynnetään jo erityisesti tehtävissä, joissa täytyy ymmärtää puhetta tai kirjoitettua tekstiä, tai tulkita kuvamateriaalia.[7]
Yksi syväoppimisen eduista on kuvantunnistus. Syväoppimisessa ei tarvita tunnistamiseen vaadittavaa suurta määrää ohjelmallisia sääntöjä. Neuroverkolle vain syötetään suuri määrä luokiteltuja valokuvia halutusta aihepiiristä, ja järjestelmä säätää neuroverkon toimintaa niin, että tunnistustarkkuus paranee kohti maksimia. Niinpä kissat voidaan nykyisin tunnistaa kuvista jo 90 prosentin tarkkuudella. Syväoppiminen myös paranee mitä enemmän ja parempaa dataa järjestelmälle annetaan.[7]
Toinen syväoppimisen sovellus on esineiden poimiminen, joka on aina ollut vaikea opettaa robotille. Syväoppimisen avulla MIT-yliopisto pystyi parantamaan robotin kykyä poimia esineitä pudottelematta.[7]
Terveydenhuollossa syväoppimista testataan auttamaan lääkäreitä diagnosoimaan sairauksia potilaan terveystietojen ja testitulosten perusteella.[7]
Internetin keskustelupalstoja on mahdollista moderoida koneoppimisen järjestelmillä, ja chat-järjestelmissä niitä voidaan hyödyntää asiakkaiden tiedusteluihin vastaamisessa.[7]
Google on yksi syväoppimisen soveltamisen edelläkävijöistä. Google aloitti syväoppimisen tutkimisen Google Brain -projektillaan vuonna 2011. Seuraavana vuonna yhtiö ilmoitti rakentaneensa neuroverkon, joka toimi 16 000 tietokoneella ja pystyi tunnistamaan kissoja kuvista sen jälkeen kun sille oli näytetty 10 miljoonaa kuvaa. Vuonna 2014 Google osti brittiläisen syväoppimisstartup-yrityksen nimeltä DeepMind. Google on käyttänyt syväoppimista indeksoimiensa kuvien tehokkaampaan luokitteluun ja parantaakseen siten hakutuloksia. Google on käyttänyt menetelmää myös epätäydellisten kuvien täydentämisessä muiden samankaltaisten kuvien pohjalta. Videopalvelussaan Google pystyy luomaan syväoppimisen avulla automaattisia yhteenvetoja ja turvallisuusvaroituksia. Googlen puheentunnistustekoäly käyttää syviä neuroverkkoja oppiakseen ymmärtämään puhuttuja käskyjä ja kysymyksiä. Google Brainiin on sisällytetty myös Googlen käännöspalvelu, ja koko järjestelmä kirjoitettiin uudelleen ja siirrettiin uuteen syväoppimisympäristöön nimeltä Google Neural Machine Translation. Google käyttää syväoppimista myös YouTube-suositustensa parantamiseen: neuroverkot tutkivat kaiken mahdollisen käyttäjien tavoista ja mieltymyksistä ja opettelevat päättelemään, mikä saisi heidät jatkamaan videoiden katselua.[10] Vuonna 2015 Google muutti syväoppimiseen keskittyvän TensorFlow-ohjelmointialustansa avoimeen lähdekoodiin. Googlen robottiauto Waymo on käyttänyt syväoppimisalgoritmeja. Deep Mind tutkii terveydenhuoltoprojekteja, joissa etsitään keinoja havaita silmävammoja ja syöpäkasvaimia aikaisissa vaiheissa.[11]
DeepMind käytti vuonna 2014 "syvää vahvistusoppimista" opettamaan tekoälylle tietokonepelien pelaamista. Menetelmä yhdisti vahvistusoppimisen syvän neuroverkon harjoittamiseen. Vuonna 2016 DeepMindin AlphaGo-ohjelma löi ensimmäisenä maailman parhaat ihmispelaajat lautapeli gossa. AlphaGo yhdisti tavanomaisen tekoälyn logiikan syväoppimisen tuottamaan intuitiiviseen tehoon, joka on gossa erityisen tärkeää. Tuloksena oli ylivoimainen itseoppinut ohjelma, jonka siirtoja on kuvattu yhtä aikaa vahvoiksi ja erittäin intuitiivisiksi.[12] DeepMindin seuraava ohjelma AlphaZero opetteli vuonna 2017 yhdessä vuorokaudessa syviä neuroverkkoja käyttäen pelaamaan shakkia paremmin kuin maailman vahvimmat shakkiohjelmat. Ohjelman menestys perustui sen ihmismäiseen tapaan valikoida siirrot pelkän raa'an laskemisen sijaan.[13]
Rajoituksia
[muokkaa | muokkaa wikitekstiä]Syväoppiminen ei kykene oppimaan käsitteitä, vaan ainoastaan käsitteiden ilmentymiä. Niinpä videopeliä pelaamaan oppinut neuroverkko saattaa oppia toimimaan tietyllä tavalla, joka voidaan ilmaista yksinkertaisena sääntönä, mutta tämä sääntö ei neuroverkosta ole käytännössä luettavissa. Tässä mielessä syväoppiminen on varsin pinnallista, ja syväoppimisella saatuja tuloksia on helppo hämätä esimerkiksi muuttamalla syötettä siten, että se vain vähän poikkeaa opetuksessa käytetystä datasta. Oppimisen tuloksiin ei myöskään voi tästä syystä luottaa [14].
Kuvantunnistuksessa syväoppimisen on uskottu oppivan kuvissa esiintyviä käsitteitä, kuten 'koira' tai 'kissa', mutta neuroverkon herkkyys pienille kuvan muutoksille, joilla koira saadaankin luokiteltua kissaksi, osoittaa, että tämä ei pidä paikkaansa. Lisäksi neuroverkon syvyyden lisääminen ei juurikaan auta luokittelun saamiseksi luotettavammaksi [15].
Syväoppimisen yksi ongelma on se, että tekoäly ei osaa yhdistää asioita kokonaisuuksiin, sillä syväoppimisessa ei ole kokonaisrakennetta, johon tietoja voisi yhdistää. Tästä seuraa vaikeuksia objektien erottamisessa, mikä voi vaikeuttaa vaikkapa robottiauton kykyä tunnistaa edessään olevia kohteita. Myös puheen ja tekstin tunnistamisessa neuroverkkomallit ovat rajoittuneita, sillä niissä ei ole samanlaista rikasta mallia maailmasta kuin ihmisen päässä. Syväoppiminen vaatii lisäksi ihmisen ohjaamaan oppimista, mikä edellyttää suuren pohjamateriaalin luokittelua.[7]
Kehitys
[muokkaa | muokkaa wikitekstiä]Syväoppimista pyritään kehittämään yhdistämällä siihen ihmisaivojen toiminnasta opittuja tekniikoita, jotta tekoäly pystyisi oppimaan itsenäisemmin ja hahmottamaan ympärillään olevaa maailmaa. Tavoitteena pitkällä tähtäimellä on luoda yleiskäyttöinen tekoäly, joka pystyy hoitamaan itsenäisesti erilaisia tehtäviä. Tämän on arveltu johtavan siihen, että tekoäly vie jopa 30–50 prosenttia nykyisistä työpaikoista parissakymmenessä vuodessa, mikä saattaa aiheuttaa merkittäviä yhteiskunnallisia ongelmia mutta voi toisaalta lisätä tuottavuutta ja kasvattaa elintasoa.[7]
Lähteet
[muokkaa | muokkaa wikitekstiä]- Tegmark, Max: Life 3.0: Being human in the age of Artificial Intelligence. Allen Lane, 2017. ISBN 978-0-241-23719-9.
Viitteet
[muokkaa | muokkaa wikitekstiä]- ↑ Jason Brownlee: What is Deep Learning? machinelearningmastery.com. Viitattu 23.5.2018. (englanniksi)
- ↑ Josh Patterson, Adam Gibson: Deep Learning: A Practitioner's Approach, s. 23. , 2017. ISBN 1491914211. Deep Learning: A Practitioner's Approach (viitattu 23.5.2018). (englanniksi)
- ↑ a b c Josh Patterson, Adam Gibson: Deep Learning: A Practitioner's Approach, s. 86-104. , 2017. ISBN 1491914211. Deep Learning: A Practitioner's Approach (viitattu 23.5.2018). (englanniksi)
- ↑ a b c Josh Patterson, Adam Gibson: Deep Learning: A Practitioner's Approach, s. 104. , 2017. ISBN 1491914211. Deep Learning: A Practitioner's Approach (viitattu 23.5.2018). (englanniksi)
- ↑ Deep Learning in a Nutshell – what it is, how it works, why care? kdnuggets.com. Viitattu 10.3.2017. (englanniksi)
- ↑ technologyreview.com technologyreview.com. Arkistoitu 31.3.2019. Viitattu 10.3.2017. (englanniksi)
- ↑ a b c d e f g h Samuli Kotilainen: Tekoälyn vallankumous on alkanut – tätä kaikkea se tarkoittaa Tivi. 17.2.2018. Viitattu 19.5.2018.
- ↑ Juergen Schmidhuber: arXiv:1404.7828 Deep Learning in Neural Networks: An Overview arxiv.org. Viitattu 22.9.2019. (englanniksi)
- ↑ a b c d Isha Salian: SuperVize Me: What’s the Difference Between Supervised, Unsupervised, Semi-Supervised and Reinforcement Learning? blogs.nvidia.com. Viitattu 22.9.2019. (englanniksi)
- ↑ Bernard Marr: The Amazing Ways Google Uses Deep Learning AI (1) Forbes. 8.8.2017. Viitattu 20.5.2018.
- ↑ Bernard Marr: The Amazing Ways Google Uses Deep Learning AI (2) Forbes. 8.8.2017. Viitattu 20.5.2018.
- ↑ Tegmark 2017, s. 83–88.
- ↑ Albert Silver: The future is here – AlphaZero learns chess ChessBase. 12.6.2017. Viitattu 20.5.2018.
- ↑ Gary Marcus: Deep Learning: A Critical Appraisal arxiv 1801.00631. 2.1.2018.
- ↑ Jason Jo ja Yoshua Bengio: Measuring the tendency of CNNs to Learn Surface Statistical Regularities arxiv 1711.11561.
Kirjallisuutta
[muokkaa | muokkaa wikitekstiä]- Kelleher, John D.: Syväoppiminen. Suomentanut Pietiläinen, Kimmo. Terra Cognita, 2020. ISBN 9789527367032.
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Deep learning – Mitä se on? louhia.fi. Arkistoitu 12.3.2017. Viitattu 10.3.2017. (suomeksi)
- 30 amazing applications of deep learning Yaron Hadad, 16.3.2017 (englanniksi)