Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Generative Pre-trained Transformer 2 (GPT-2) on OpenAI:n helmikuussa 2019 luoma avoimen lähdekoodin tekoäly.
- GPT-2 osaa kääntää tekstiä, vastata kysymyksiin, tehdä yhteenvetoja teksikohdista ja tuottaa tekstiä tasolla, joka on toisinaan erottamatonta ihmisen luomasta tekstistä. Malli voi toisaalta alkaa toistelevaksi tai järjettömäksi luodessaan pitkiä tekstikappaleita.
- GPT-2 on tyypiltään yleiskäyttöinen oppija; sitä ei ole erityisesti koulutettu suorittamaan mitään edellämainituista tehtävistä, sen kyky suorittaa mainitut tehtävät on laajennus mallin yleiskyvylle syntetisoida tarkasti seuraava kohde satunnaisesti valitussa järjestyksessä.
- GPT-2 luotiin "suoraksi laajennukseksi" OpenAI:n vuonna 2018 esittelemään GPT-malliin, jonka parametrien määrä ja koulutustietojoukon koko oli GPT-2:ta varten kymmenkertaistettu.
- GPT-arkkitehtuuri toimii syvän neuroverkon, tarkemmin sanoen muuntajamallin avulla, joka käyttää huomioperustetta aikaisempien toistuvuus- ja konvoluutiopohjaisten arkkitehtuurien sijaan.
- Huomiomekanismit antavat mallille mahdollisuuden keskittyä valikoivasti sille syötetyn tekstin niihin osioihin, joiden se ennustaa olevan olennaisimpia.
- Malli mahdollistaa huomattavasti lisääntyneen rinnakkaisuuden ja ylittää aiemmat suorituskykyä mitanneet vertailuarvot RNN/CNN/LSTM-pohjaisiin malleihin nähden.
- OpenAI julkaisi täydellisen (1,5 miljardia parametria sisältäneen) version GPT-2-kielimallista marraskuussa 2019.
- GPT-2:ta seurasi 175 miljardin parametrin GPT-3, joka paljastettiin yleisölle vuonna 2020. Mallin lähdekoodia ei ole annettu julkisesti saataville.
- Pääsy GPT-3:een tarjotaan tällä hetkellä yksinomaan Microsoftin tarjoaman API:n kautta.
- Taustaa
- Tietojenkäsittelyn alkuajoista lähtien tekoäly on ollut tutkimuksen kohteena; "jäljitelmäpeli", jonka Alan Turing esitteli vuonna 1950 (ja jota kutsutaan usein "Turingin testiksi"), sisälsi ehdotelman elektronisen tai mekaanisen järjestelmän älykkään toiminnan kyvyn määrittämistä arvioijan kyvyllä erottaa sen käyttäytyminen ihmisen käyttäytymisestä.
- Termiä "koneoppiminen" (engl. "machine learning") käytettiin ensimmäisen kerran kuvaamaan mahdollista lähestymistapaa tekoälyyn jo vuonna 1959 IBM:n tutkijan Arthur Samuelin toimesta; termin nykyinen käyttö kattaa kuitenkin laajan valikoiman erilaisia käyttökohteita, kuten tilastollisen oppimisen, datatieteen ja erilaisista neuroverkkojen lähestymistavoista aina tietokoneiden laskentaongelmiin (usein tekoälyn alaisuuteen liittyen).
- Laskennallinen lingvistiikka
- Luonnollisen kielen prosessointia tietokoneilla, joka oli alun perin laskennallisen lingvistiikan osa-alaksi suunniteltu osa-alue, yritettiin heti, kun laskentalaitteistolla oli siihen kapasiteettia; ensimmäinen sanakirjan taulukon hakusovellus kehitettiin Birkbeck Collegessa Lontoossa vuonna 1948.
- Vuoden 1954 Georgetown Experiment oli osoitus täysin automatisoidusta konekäännöksestä, jossa kuusikymmentä venäläistä lausetta käännettiin englanniksi (enimmäkseen korvaamalla kokonaiset sanat niiden englanninkielisillä synonyymeillä).
- Käännökset olivat usein karkeita; järjestelmässä oli vain kuusi kielioppisääntöä ja 250-sanainen sanasto, eikä syntaktista rakennetta yritetty analysoida tai kääntää.
- Kokeilu kuitenkin osoitti yleisölle, että tietokoneet pystyivät tulkitsemaan ja prosessoimaan luonnollista kieltä, ja näinollen projektille turvattiin CIA:n rahoitus jatkotutkimuksiin.
- Sanojen suora korvaaminen on edelleen se käytössä oleva standardi, jota vasten konekäännösohjelmia arvioidaan.
- Myös järjestelmiä luonnollisen kielen käyttämiseksi ihmisen ja tietokoneen vuorovaikutuksessa (HCI) alkoi syntyä 1900-luvun puolivälissä.
- SHRDLU, MIT:ssä vuosina 1968–1970 kehitetty ohjelma, koostui useiden objektien virtuaalisesta ympäristöstä, joiden kanssa käyttäjä oli vuorovaikutuksessa luonnollisen kielen komennoilla (esim. "Etsi palikka, joka on pitempi kuin hallussasi oleva palikka ja laita se laatikkoon").
- ELIZA, vuonna 1966 kirjoitettu chatbot eli keskustelurobotti, analysoi ihmiskeskustelukumppanin tekstiä avainsanoja varten ja antoi keskusteluun sopivia vastauksia.
- Vaikka monet koehenkilöt väittivät olleensa kykenemättömiä erottamaan ELIZAn kanssa keskustelua ihmisen kanssa keskustelusta, kysymys siitä oliko tämä osoitus älykkyydestä osoittautui kiistanalaiseksi (ohjelman skriptaus mm. parodioi oikeaa psykoterapeuttia toistamalla käyttäjälle suurelta osin takaisin sen, mitä tämä itse oli sanonut).
- Ensimmäiset konekäännösyritykset olivat olleet puhtaasti laskennallisia, 1950-luvulle tultaessa hallitseva lähestymistapa laskennalliseen lingvistiikkaan oli alkanut korostamaan Noam Chomskyn yleismaailmallisen kieliopin käsitettä; senaikainen NLP-tutkimus koostui suurelta osin yrityksistä vähentää sattumanvaraisilla kielillä esiintyviä ilmauksia löytääkseen oletetut taustalla olevat kieliagnostiset loogiset rakenteet.
- 1970-luvulla semanttiset NLP-järjestelmät alkoivat välttää syntaktisia koodauksia yleisempien semanttisten koodausten hyväksi.
- Kuitenkin hermoverkkojen tuloon saakka useimmat järjestelmät turvautuivat suuriin (ja yhä raskaampiin) manuaalisesti ohjelmoituihin sääntöihin, mikä puolestaan epäonnistui laajenemaan alun perin ennustetulla tavalla.
- Tekoälyn ala kehittyi edelleen 1900-luvun lopulla, mutta ajoittain seurasi pysähtyneisyyden aikoja, jotka tunnettiin nimellä "AI-talvet".
- Eri lähteet väittävät, että tekoälytalvet ovat tapahtuneet eri aikoina; Vuonna 1994 Howe kuvaili yhden alkaneen vuonna 1973 ja kestäneen vuosikymmenen, kun taas Russell & Norvig vuonna 2003 kuvaili toisen alkaneen pian vuoden 1988 jälkeen.
- Neuroverkot
- Neuroverkkoja edeltänyt varhainen tekoälyn käsite, konnektionismi (engl. "connectionism"), pyrki tuottamaan älykästä käyttäytymistä keinotekoisten hermoverkkojen avulla, jotka on suunniteltu simuloimaan biologisten aivojen neuronien käyttäytymistä.
- Ensimmäinen esimerkki keinotekoisesta hermoverkosta oli SNARC, joka rakennettiin vuonna 1951.
- Psykologi Frank Rosenblattpuolestaan esitteli Perceptronin, eräänlaisen binääriluokittimen, vuonna 1957; hänen koneensa oli suunniteltu kuvien tunnistamiseen käyttämällä 400:aa valokennoa, jotka oli yhdistetty laitteen "neuroneihin" potentiometreillä, niihin määritetyillä painotuksilla (joita säädettiin puolestaan sähkömoottoreilla laitteen oppimisprosessin aikana).
- Perceptron-järjestelmät herättivät suurta kiinnostusta; New York Timesin artikkelissa kuvattiin perceptronia "elektronisen tietokoneen alkioksi, jonka [armeijan laivasto] odottaa pystyvän kävelemään, puhumaan, näkemään, kirjoittamaan, lisääntymään ja olemaan tietoinen olemassaolostaan".
- Perceptron-järjestelmät väistyivät kuitenkin jo pian vuosikymmeniksi syrjään, Marvin Minskyn ja Seymour Papertin kirjan ("Perceptronit: johdatus laskennalliseen geometriaan") julkaisun jälkeen vuonna 1969, kun teos osoitti useita senaikaisen huipputekniikan puutteita (näitä olivat esimerkiksi yksikerroksiset perceptronit).
- Vakavia puutteita perceptroneissa oli muun muassa niiden kyvyttömyys enkoodata eksklusiivinen-tai (XOR-)funktio. Kirjan katsottiin ilmestymisaikanaan horjuttavan perceptron-lähestymistavan (sekä yleisesti ottaen neuroverkkojen) järkevyyttä lupaavana tutkimusalueena.
- Neuroverkot kykenevät luokittelemaan erilaisia syötteitä (eli lajittelemaan ne erillisiin luokkiin) "oppimisena" tunnetun prosessin kautta.
- Prosessi alkaa siitä, että neuroverkon painotukset (eli määrä, jolla kunkin hermosolun "aktivaatio" vaikuttaa kunkin spesifisen neuronin aktivaatioon seuraavassa kerroksessa) alustetaan satunnaisiin määriin; tässä tilassa verkon lähtökohta on samaten satunnainen.
- Mallille määritellään tavoitefunktio kuten häviöfunktio, ja tällöin se pystyy kvantitatiivisesti mittaamaan, kuinka lähellä neuroverkon lähtökohta on suhteessa toivottuun suorituskykyyn (esimerkiksi kuinka usein käsin kirjoitetusta numerosta koostuva syöte saa aikaan tätä numeroa vastaava lähtöneuronin aktivoitumisen).
- Tämän myötä ja neuroverkon suorituskyvyn perusteella, painotuksia voidaan säätää sen suorituskyvyn parantamiseksi.
- Taustapropagaatio (engl. backpropagation) on ohjattu algoritmi, jota ensi kerran sovellettiin koneoppimisjärjestelmiin Paul Werbosin vuoden 1974 väitöskirjassa. Se laskee tehokkaasti "gradientit"; näillä tarkoitetaan vektorikenttiä jotka kuvaavat kaikkien painotusten optimaalista säätöä koko neuroverkossa sille annetulle syöttö-/lähtöesimerkille.
- Näiden gradienttien käytttäminen neuroverkkojen kouluttamiseen on käytäntö, joka tunnetaan nimellä gradienttilaskeutuminen, ja tämä mahdollisti aiempaa paljon monimutkaisempien järjestelmien luomisen.
- Neuroverkkojen laajamittaista soveltamista luonnollisen kielen käsittelyyn alettiin hyödyntää 1980-luvulla.
- Vuonna 1985 DB Parker löysi uudelleen Werbosin menetelmän; vuonna 1986 Rumelhart, Hinton ja Williams käyttivät sitä luodakseen sisäisiä esityksiä saapuvasta datasta neuroverkoissa joissa oli piilokerroksia. Näitä piilokerroksia kutsutaan "syväoppimisverkoiksi". Tämä tutkimus muodosti myöhemmän perustan rekursiivisille (= toistuville) neuroverkoille.
- Perinteiset feed-forward (= eteensyöttävät) neuroverkot (FFNN:t) on nimetty näin, koska jokainen kerros ottaa edellisen kerroksen tulosteen ja syöttää sen seuraavaan; FFNN:n rakenne ei sisällä "jaksoja", joissa informaatio virtaa taaksepäin.
- Sitä vastoin toistuvassa neuroverkossa (RNN; Recursive Neural Network) on vähintään yksi aktivointijakso.
- RNN:itä käytetään usein datasekvenssien käsittelyyn (ja tulevien sekvenssikohteiden ennustamiseen), koska verkko voi käsitellä jokaista alkiota käyttämällä sekä itse kohdetta että omaa tulostaan edellisen kohteen käsittelystä.
- Kunihiko Fukushiman vuonna 1979 ehdottama neokognitroni perustui nisäkkäiden visuaalisen aivokuoren hermoarkkitehtuurimalleihin, ja se tarjosi perustan konvolutiivisille neuroverkoille (CNN), joita käytetään usein kuvankäsittelyssä.
- "Liu'uttamalla" pienen kerroksen suuremman syötteen päälle, CNN voi suorittaa syvemmän käsittelyprosessin vähemmällä laskentamäärällä.
- Esimerkiksi 100 × 100 kuvassa on 10 000 pikseliä, mikä vaatisi 10 000 painotusta täysin yhdistetyllä kerroksella käsittelyyn.
- Sen sijaan konvoluutiokerros, joka koostuu 5×5 "ikkunasta" jotka "liukuvat" kuvan yli, voidaan suorittaa reunantunnistuksen avulla sama prosessi käyttämällä vain 25:ttä opittavaa parametria.
- Konvoluutiokerrokset yhdistetään "poolaamalla kerrokset", jonka jälkeen ne käsitellään "täysin yhdistetyillä" kerroksilla (jotka puolestaan ovat tyypillisesti monikerroksisia perceptroneja).
- Koneoppiminen luonnollisen kielen käsittelyssä
Add Comment
Please, Sign In to add comment