AI ja koneoppiminen

Tekoäly ja koneoppiminen muokkaavat maailmaa nopeasti. Tässä osiossa selitämme AI:n ja ML:n keskeiset käsitteet tavallisilla sanoilla. Tutustutaan teknologiaan joka mahdollistaa ChatGPT:n, automaattisen kääntämisen ja paljon muuta.

AI — Artificial Intelligence

Lyhyesti: Teknologia jolla koneet voivat suorittaa tehtäviä jotka vaatisivat ihmisältä älykkyyttä.

Tarkemmin: AI on kuin koneen oppiminen ajattelemaan. Se voi tunnistaa kuvia, ymmärtää puhetta, kääntää kieliä tai pelata shakkia. AI ei ole vielä yleistä älykkyyttä kuten ihmisillä, vaan erikoistunut tiettyihin tehtäviin. ChatGPT osaa keskustella, mutta ei osaa ajaa autoa. Itseajavat autot osaavat ajaa, mutta eivät keskustella.

API — Application Programming Interface

Lyhyesti: Rajapinta jolla sovellukset voivat käyttää AI-palveluja internetin kautta.

Tarkemmin: AI-API toimii kuin drive-in-ravintolan vastaanotto. Lähetät pyynnön (esim. "käännä tämä teksti englanniksi"), AI-palvelu käsittelee sen ja palauttaa vastauksen. OpenAI:n ChatGPT API, Google Cloud Vision API ja Amazon Rekognition ovat esimerkkejä. Kehittäjät voivat lisätä AI-ominaisuuksia sovelluksiinsa ilman omaa AI-osaamista.

BERT — Bidirectional Encoder Representations from Transformers

Lyhyesti: Googlen kehittämä AI-malli joka ymmärtää kieltä lukemalla tekstiä molempiin suuntiin.

Tarkemmin: BERT on kuin super-lukija joka ymmärtää kontekstin paljon paremmin kuin vanhat AI:t. Se lukee lauseen kokonaan (sekä eteen- että taaksepäin) ennen kuin päättää mitä jokin sana tarkoittaa. Esimerkiksi "pankki" voi tarkoittaa joen rantaa tai rahalaitosta - BERT ymmärtää oikein kontekstin perusteella. Se paransi Google-hakua merkittävästi.

CNN — Convolutional Neural Network

Lyhyesti: Neuroverkkotyyppi joka on erikoistunut kuvien tunnistamiseen ja käsittelyyn.

Tarkemmin: CNN toimii kuin ihmisaivot kuvien katsomisessa. Se tunnistaa ensin yksinkertaisia kuvioita (viivoja, reunoja), sitten monimutkaisempia muotoja (pyöreitä, kulmikkaita), ja lopulta kokonaisia objekteja (kissoja, autoja). Instagram-filtterit, lääketieteen kuvantaminen ja itseajavat autot käyttävät CNN:iä kuvien ymmärtämiseen.

DL — Deep Learning

Lyhyesti: Koneoppimisen haaraiksi, joka käyttää monimutkaisia, monikerroksisia neuroverkkoja.

Tarkemmin: Deep Learning on kuin aivojen simulointi tietokoneessa. Se käyttää "syviä" neuroverkkoja jotka on monta kerrosta päällekkäin, kuten aivojen eri alueet. Mitä syvempi verkko, sitä monimutkaisempia asioita se voi oppia. DL mahdollistaa kuvan- ja puheen tunnistuksen, käännökset ja ChatGPT:n kaltaiset keskustelurobotit.

Fine-tuning — Hienosäätö

Lyhyesti: Prosessi jossa valmista AI-mallia muokataan toimimaan paremmin tietyssä tehtävässä.

Tarkemmin: Fine-tuning on kuin erikoistuneemman koulutuksen antaminen jo koulutetulle henkilölle. Otetaan valmis malli joka osaa kieltä yleisesti (kuten ChatGPT) ja opetetaan sille spesifimpi taito (vaikkapa lääketieteen terminologia tai tietyn yrityksen asiakaspalvelu). Se on nopeampaa ja halvempaa kuin mallin opettaminen tyhjästä.

GAN — Generative Adversarial Network

Lyhyesti: AI-arkkitehtuuri jossa kaksi neuroverkkor kilpailevat keskenään - toinen luo väärentäjyy, toinen yrittää paljastaa ne.

Tarkemmin: GAN toimii kuin rahanväärentäjän ja poliisin välinen kissa-hiiri-leikki. Generaattori yrittää luoda mahdollisimman uskottavia kuvia (vaikkapa kasvoja jotka näyttävät aidoilta), ja diskriminaattori yrittää tunnistaa mitkä ovat vääriä. Ne parantavat toisiaan kunnes generaattori osaa luoda todella uskottavia kuvia. ThisPersonDoesNotExist.com käyttää GAN:ia.

GPU, TPU — Laitteet massiiviseen rinnakkaislaskentaan

Lyhyesti: Erikoissuorittimet jotka pystyvät tekemään tuhansia laskutoimituksia samanaikaisesti AI:n vaatimiin laskuihin.

Tarkemmin: GPU (Graphics Processing Unit) suunniteltiin alun perin pelien grafiikkaa varten, mutta osoittautui loistavaksi AI-laskentaan. TPU (Tensor Processing Unit) on Googlen AI:ta varten suunnittelema chip. Ne ovat kuin tuhat laskinta yhdessä - tavalliset prosessorit tekevät asiat peräkkäin, GPU/TPU tekevät tuhansia asioita yhtä aikaa.

GPT — Generative Pre-trained Transformer

Lyhyesti: OpenAI:n kehittämä kielimalli-arkkitehtuuri, jonka tunnetuin versio on ChatGPT.

Tarkemmin: GPT on kuin erittäin taitava tekstin jatkaja. Se on oppinut internetin teksteistä miten ihmiset kirjoittavat, ja osaa jatkaa lähes mitä tahansa tekstiä uskottavasti. GPT-1:stä alkaen OpenAI on kehittänyt yhä tehokkaampia versioita. ChatGPT on GPT:n käyttöliittymä joka mahdollistaa keskustelun AI:n kanssa.

LLM — Large Language Model

Lyhyesti: Valtava AI-malli joka on oppinut ymmärtämään ja tuottamaan ihmiskieltä.

Tarkemmin: LLM on kuin digitaalinen polymatikko joka on lukenut lähes kaikene internetin tekstit. Se osaa vastata kysymyksiin, kirjoittaa eri tyylilajeitä, kääntää kieliä ja jopa ohjelmoida. LLM:ien koko mitataan parametreissa - GPT-4:ssä on noin 1.7 biljoonaa parametria. Mitä suurempi malli, sitä taitavampi se yleensä on.

ML — Machine Learning

Lyhyesti: Tieteenhaara jossa koneet oppivat tunnistamaan kuvioita datasta ilman eksplisiittistä ohjelmoitua.

Tarkemmin: ML on kuin koneen oppiminen kokemuksesta. Sen sijaan että ohjelmoitsisit jokaiselle tilanteelle säännön, näytät koneelle esimerkkejä ja se oppii itse tunnistamaan kuvioita. Näytä tuhansia kissien kuvia ja kone oppii tunnistamaan kissat uusista kuvista. Sähköposti-spam-suodattimet, tuotesuositukset ja hakukoneet käyttävät ML:ää.

MLM — Masked Language Model

Lyhyesti: AI-mallin harjoittelutapa jossa piilotetaan sanoja tekstistä ja yritetään arvata ne kontekstista.

Tarkemmin: MLM toimii kuin täytä tyhjä kohta -harjoitus. "Aurinko [PEITETTY] kirkkaasti" - malli yrittää arvata että [PEITETTY] = "paistaa". Näin malli oppii ymmärtämään kieltä ja kontekstin merkitystä. BERT ja moni muu kielimalli on koulutettu tällä tavalla. Se on tehokkaampaa kuin perinteinen tapa jossa luetaan tekstiä vain vasemmalta oikealle.

MLOps — Machine Learning Operations

Lyhyesti: Käytäntöjä ja työkaluja koneoppimismallien hallintaan tuotantoympäristössä.

Tarkemmin: MLOps on kuin DevOps mutta AI-malleille. Se huolehtii että mallit toimivat luotettavasti, päivittyvät automaattisesti paremmalla datalla ja niiden suorituskykyä seurataan. MLOps sisältää mallin versionhallinnan, automaattisen testauksen, monitorointia ja uudelleen kouluttamista. Ilman MLOps:ia AI-projektit jäävät helposti "laboratorioon" eivätkä pääse oikeaan käyttöön.

MoE — Mixture of Experts

Lyhyesti: AI-arkkitehtuuri jossa eri osa-mallit ("asiantuntijat") erikoistuvat eri tehtäviin.

Tarkemmin: MoE toimii kuin konsulttitoimisto täynnä eri alojen asiantuntijoita. Sen sijaan että yksi iso malli tekisi kaiken, MoE:ssä on monta pienempää mallia jotka erikoistuvat eri tehtäviin. Router-verkko päättää mikä asiantuntija osaa parhaiten vastata kuhunkin kysymykseen. Tämä tekee mallista tehokkaamman - vain tarvittavat osat aktivoidaan kerrallaan.

NLP — Natural Language Processing

Lyhyesti: AI:n osa-alue joka käsittelee ihmiskielen ymmärtämistä ja tuottamista tietokoneilla.

Tarkemmin: NLP opettaa koneet ymmärtämään meitä samalla tavalla kuin me ymmärrämme toisiamme. Se sisältää tekstin tunnistamisen, kääntämisen, tunne-analyysin, chatbotit ja paljon muuta. Google-käännös, Siri, automaattinen sähköpostien luokittelu ja sosiaalimedian moderointi käyttävät NLP:tä. Se on silta ihmisen ja koneen väliseen kommunikaatioon.

RAG — Retrieval-Augmented Generation

Lyhyesti: Tekniikka joka yhdistää tiedon haun ja tekstin tuotannon antaen AI:lle ajantasaista faktatietoa.

Tarkemmin: RAG on kuin AI:lle ulkoisen muistin antaminen. Perus-LLM tietää vain sen mitä se oppi koulutuksessa, mutta RAG hakee relevanttia tietoa tietokannoista tai dokumenteista ennen vastaamista. Näin AI voi vastata ajantasaisilla tiedoilla ja viitata lähteisiinsä. Esimerkiksi yrityksen chatbot voi hakea tuoretietoa hinnoista tai varastotilanteesta.

RL — Reinforcement Learning

Lyhyesti: Oppimismetodi jossa AI oppii kokeilemalla ja saamalla palautetta - palkintoja hyvistä ja rangaistuksia huonoista päätöksistä.

Tarkemmin: RL toimii kuin lemmikkieläimen kouluttaminen. AI kokeilee erilaisia toimia, saa palkintoja onnistuneista (esim. voittamalla pelin) ja "rangaistuksia" epäonnistuneista (häviämällä). Ajan myötä se oppii mikä strategia toimii parhaiten. AlphaGo voitti Go-mestarin RL:n avulla, ja se on käytössä itseajavissa autoissa ja peliaikojen optimoinnissa.

RNN — Recurrent Neural Network

Lyhyesti: Neuroverkko joka muistaa aikaisempaa tietoa ja soveltaa sitä uusiin tilanteisiin.

Tarkemmin: RNN toimii kuin henkilö jolla on muisti. Toisin kuin tavalliset neuroverkot jotka käsittelevät jokaisen syötteen erikseen, RNN muistaa mitä tapahtui aiemmin. Se on hyödyllinen aikaketjeille kuten tekstille (sanat riippuvat edellisistä sanoista) tai osakekursseille. LSTM ja GRU ovat kehittyneitä RNN-versioita jotka muistavat paremmin.

SLM — Small/Streamlined Language Model

Lyhyesti: Pienet, tehokkaat kielimallit jotka toimivat paikallisesti ilman pilviyhteyttä.

Tarkemmin: SLM on kuin taskukokoinen sanakirja vs. koko kirjaston kokoelma. Ne ovat paljon pienempiä kuin LLM:t mutta riittävän taitavia moniin tehtäviin. SLM:t voivat pyöriä puhelimessa tai pienessä palvelimessa, eivätkä tarvitse internetyhteyttä. Ne ovat nopeampia, edullisempia ja yksityisyyttä suojaavampia kuin suuret pilvipalvelut.

GDAL — Geospatial Data Abstraction Library

Lyhyesti: Kirjasto maantieteellisen datan lukemiseen, muokkaamiseen ja kirjoittamiseen eri formaateissa.

Tarkemmin: GDAL on kuin universaali kääntäjä maantieteellisille kartta- ja satelliittitiedostoille. Se ymmärtää satoja eri formaatteja ja osaa muuntaa niitä keskenään. Käytetään GIS-sovelluksissa, karttapalveluissa ja maantieteellisessä data-analytiikassa. Tärkeä työkalu kun käsitellään karttadataa ohjelmallisesti.

GeoPandas — Python-kirjasto maantieteelliselle datalle

Lyhyesti: Python-kirjasto joka yhdistää Pandas data-analyysin maantieteellisiin ominaisuuksiin.

Tarkemmin: GeoPandas on kuin Pandas mutta kartoille. Se osaa käsitellä maantieteellistä dataa kuten pisteitä, viivoja ja alueita samalla kun tekee tavallista data-analyysiä. Voit laskea etäisyyksiä, yhdistää karttoja, tehdä spatiaalia analyysiä ja piirtää karttoja. Suosittu työkalu data-analyytikoilla jotka tekevät sijaintiperusteista analyysiä.

HITL — Human-in-the-loop

Lyhyesti: AI-järjestelmä jossa ihminen on mukana päätöksenteossa tai oppimisprosessissa.

Tarkemmin: HITL on kuin AI:n ja ihmisen tiimityötä. AI tekee ensimmäisen ehdotuksen, mutta ihminen validoi, korjaa tai hyväksyy tuloksen. Erityisen tärkeää kriittisissä sovelluksissa kuten lääketieteessä, lakiasioissa tai taloudessa, missä virheet voivat olla kalliita. AI oppii ihmisen palautteesta ja paranee ajan myötä.

NumPy — Numerical Python

Lyhyesti: Python-kirjasto tehokkaaseen numeeriseen laskentaan ja taulukkolaskentaan.

Tarkemmin: NumPy on kuin Python-kielinen laskin steroideilla. Se tarjoaa tehokkaan N-ulotteisten taulukoiden (array) käsittelyn, matemaattiset funktiot ja työkalut lineaarialgebraan. Melkein kaikki Python data science -kirjastot rakentuvat NumPy:n päälle. Paljon nopeampi kuin perus Python-listat, koska on kirjoitettu C:llä.

OpenCV — Open Source Computer Vision Library

Lyhyesti: Avoimen lähdekoodin kirjasto konenäköön ja kuvankäsittelyyn.

Tarkemmin: OpenCV on kuin Photoshop ohjelmoijille, mutta automaattinen. Se osaa tunnistaa kasvoja, liikehdintää, objekteja kuvissa ja videoissa. Käytetään robotiikassa, turvallisuuskameroissa, lääketieteellisessä kuvantamisessa ja AR/VR-sovelluksissa. Tukee Python, C++, Java ja monia muita kieliä.

Pandas — Python Data Analysis Library

Lyhyesti: Python-kirjasto taulukkomuotoisen datan käsittelyyn ja analysointiin.

Tarkemmin: Pandas on kuin Excel mutta ohjelmoijille. Se osaa lukea CSV, Excel, JSON ja SQL-tietokantoja, siivota dataa, tehdä laskelmia ja ryhmittelyjä. DataFrame on sen päätietorakenne - ajattele sitä taulukkona jossa voi tehdä monimutkaisia operaatioita yhdellä koodirivillä. Välttämätön työkalu data-analyytikoille.

VLM — Vision‑Language Model

Lyhyesti: AI-malli joka ymmärtää sekä kuvia että tekstiä ja osaa yhdistää niitä.

Tarkemmin: VLM on kuin henkilö joka osaa sekä katsoa että lukea samaan aikaan. Se voi kuvailla kuvia tekstinä, vastata kysymyksiin kuvien sisällöstä, tai generoida kuvia tekstin perusteella. DALL-E, GPT-4V ja CLIP ovat VLM:iä. Ne mahdollistavat kuva-chatbotit, automaattisen kuvatekstin generoinnin ja visuaalisen haun.