Moduuli 1: Johdanto kuvien generointiin ja tekoälyyn
Johdanto kuvien generointiin ja tekoälyyn

Kuva 1. A nature reserve showing an elephant, zebra, and lion made of origami paper that have come to life
On aika aloittaa matka kuvien luomisen ja tekoälyn maailmaan!
Tervetuloa oppimaan ja tutustumaan kuvien generointiin ja tekoälyyn! Tässä kurssissa tarkastelemme erityisesti kahta mielenkiintoista työkalua, DALL-E:ää ja Bing Image Creatoria, jotka avaavat oven luovuuden ja tekoälyn yhdistämiseen kuvantunnistuksessa ja -luonnostelussa.
DALL-E on OpenAI:n kehittämä tekoälymalli, joka kykenee luomaan monipuolisia kuvia tekstisyötteiden perusteella. Se perustuu erittäin suuriin tekstimuotoisiin ja kuvallisiin datasetteihin sekä syväoppimisen tekniikoihin, kuten GPT-malleihin ja muuntajaverkkoihin. DALL-E pystyy luomaan kuvia monista erilaisista käsitteistä ja ideoista, joita sille annetaan tekstimuodossa, avaten mielikuvituksellisia mahdollisuuksia kuvien luomisessa.
Image Creator on tuote, jonka avulla käyttäjät voivat luoda tekoälyyn perustuvia kuvia DALL·E 3:n avulla. Tekoäly luo sille annetun tekstikehotteen avulla joukon kehotetta vastaavia kuvia.
Kurssin aikana opimme, miten muun muassa näitä kahta työkalua voidaan hyödyntää luovasti ja tehokkaasti kuvien generoinnissa ja tekoälyn soveltamisessa kuvantunnistukseen. Tutkimme erilaisia tekniikoita ja menetelmiä, joilla voimme käyttää DALL-E:tä ja Bing Image Creatoria luomaan, muokkaamaan ja ymmärtämään kuvia monipuolisesti.
On aika aloittaa matka kuvien luomisen ja tekoälyn maailmaan!
Tekoäly yleisesti
Huom. Tämä tekoälyn teoria on yhteneväinen ChatGPT:n arjen peruskäyttö -kurssin kanssa. Jos olit jo mukana ChatGPT-kurssilla, voit lukea tämän kertauksena tai siirtyä alemmas Kuvien generoinnin kustomoituihin sisältöihin :)
Perehdytään ensin hieman tekoälyyn, jotta ymmärrät teknologian kuvien generoinnin taustalla.
Viimeksi kuluneiden vuosien aikana tekoäly (artificial intelligence, AI) on saanut paljon julkisuutta ja tullut osaksi jokapäiväistä arkeamme. Meistä useimmilla on käytössään älypuhelin, joka osaa esimerkiksi lajitella valokuvia niiden sisältämän tiedon perusteella. Puhelimissa on myös digitaalisia avustajia (Siri, Google Assistant), jotka ymmärtävät äänikomentoja ja osaavat antaa vastauksia ihmisen kaltaisella äänellä. Viihdekäytössä tekoäly osaa suositella musiikkia tai elokuvia sen perusteella mitä henkilö on viimeksi kuunnellut tai katsonut.
Edelliset esimerkit antavat jo osviittaa siitä, mitä tekoälyllä nykyään tarkoitetaan. Eräs määritelmä tekoälylle onkin "tietojenkäsittelyn osa-alue, joka pyrkii luomaan älykkäitä koneita, jotka toimivat ja reagoivat kuten ihmiset". Tämän myötä tekoäly pyrkii matkimaan ihmisen toimintaa eli
- tekemään päätöksiä käytettävissä olevan tiedon (datan) perusteella
- kommunikoi
- tunnistaa toistuvia rakenteita ja kaavamaisuuksia
- muistaa aiempia tapahtumia
- sopeutuu uusiin tilanteisiin
Ihmiseen verrattuna tekoäly on kuitenkin monessa mielessä etevämpi:
- se ei väsy
- se on ihmistä tarkempi
- se on ihmistä nopeampi
- ei anna tunteiden vaikuttaa päätöksen tekoon (tämä on sekä hyvä että huono piirre)
- tuottaa johdonmukaisia tuloksia
Vaikka tekoäly on noussut yleiseen keskusteluun vahvasti viime aikoina, niin se ei kuitenkaan ole laisinkaan uusi keksintö. Yleisesti tekoälyn varhaiset vaiheet voidaan jäljittää ensimmäisten digitaalisten tietokoneiden syntyhetkiin (ENIAC, 1940-luku). Tietokoneet olivat, ja ovat edelleen, pohjimmiltaan laskukoneita, jotka kykenevät laskemaan yhteen- ja kertolaskua numeroilla nopeasti ja virheettömästi. Tämän varsin yksinkertaisen tehtävän lisäksi niille alettiin miettiä korkeatasoisempia sovelluksia jo hyvin varhain. (Metropolia 2024).
Tekoälyn merkkipaaluja:
| 1950 |
Alan Turing kirjoittaa artikkelin: "Can machines think?" (Osaavatko koneet ajatella?). Hän muotoilee myös nk. Turingin testin, jonka läpäisevää tekoälyä voitaisiin perustellusti pitää aitona tekoälynä. Elokuva "Imitation Game" kuvaa Turingin elämää suurelle yleisölle. |
| 1956 | John McCarthy ottaa käyttöön termin "Artificial Intelligence". |
| 1959 | Arthur Samuel ottaa käyttöön termin "Machine learning" (koneoppiminen) |
| 1960 | Ensimmäinen teollisuusrobotti "Unimate" (General Motors) |
| 1961 | ELIZA, ensimmäinen chatbot |
| 1961-1995 |
Useita "AI-talvi" -kausia (vrt. ydintalvi, nuclear winter).Näinä ajanjaksoina tekoälyyn kohdistui vähemmän mielenkiintoa ja panostuksia, joka johtui alkuinnostuksen jälkeisistä lukuisista pettymyksistä tekoälyä kohtaan. |
| 1997 |
IBM:n DeepBlue-shakkitietokone voittaa maailmanmestari Garri Kasparovin |
| 2005 |
Itseajavien autojen Darpa-kilpailu perustetaan |
| 2011 |
IBM:n Watson-järjestelmä voitaa televisioidun Jeopardy-tietokilpailun. Neuroverkko päihittää ihmisen liikennemerkkien tunnistamisessa. |
| 2014 |
Chatbot "Eugene Goostman" läpäisee Turingin testin. |
| 2018 |
Google Duplex-avustaja käy puhelinkeskusteluja ihmisen kanssa ja varaa mm. parturiajan, kts. https://www.youtube.com/watch?v=D5VN56jQMWM |
| 2020 |
DeepFake-teknologia tekee läpimurron ollen keinotekoinen tapa tuottaa kuvaa ja ääntä muistuttaen julkisuuden henkilöitä. https://www.youtube.com/watch?v=iyiOVUbsPcM |
| 2022 |
ChatGPT tulee julkisesti saataville luomaan tekstisisältöjä ja käymään tekstipohjaisia keskusteluja. |
Tekoäly jaotellaan yleisesti alla olevan kuvan mukaisesti. Keskeinen osa tekoälyä on koneoppiminen (machine learning, ML). Siinä kone oppii data-aineistosta tekemään esim. luokitteluja erityisen opetusaineiston perusteella. Hienostunein osa koneoppimista on syväoppiminen (deep learning, DL), joka käyttää oppimiseen neuroverkkoja (neural networks, neural nets). (Metropolia 2024).
.png)
Koneoppiminen
Koneoppiminen (machine learning) on tekoälyn osa-alue, jossa tietokoneet oppivat aiemmasta datasta enemmän tai vähemmän automaattisesti. Koneoppiminen pohjautuu matemaattisiin ja tilastollisiin malleihin, joiden avulla kone pystyy tekemään ennusteita (prediction, forecast) historiatiedon nojalla.
Koneoppimisen sovelluksia
- puheentunnistus
- kuvantunnistus
- tekstin tunnistus
- roskapostin suodattaminen
- suosittelujärjestelmät (mm. Netflix, Spotify)
Koneoppimisjärjestelmää voi verrata pieneen vauvaan, joka kokeilemalla pian huomaa, että muovailuvaha maistuu pahalta kun taas maito maistuu hyvältä. Vastaavasti, kone yhdistelee aiempia tietoja (dataa) toimiakseen paremmin jatkossa. (Metropolia 2024).
Koneoppiminen on erittäin datavetoista ja se haastaakin perinteistä ohjelmointia osaavat henkilöt ajattelemaan uudella tavalla.
.png)
Perinteisessä ohjelmointityössä ohjelmoija kirjoittaa sääntöjä (komentolauseet, ehtolauseet, valintarakenne,...) ja antaa datan ohjelmalle. Ohjelma tuottaa näiden perusteella vastauksia. Tämä on ns. determinististä toimintaa; samat vastaukset samalla datalla joka kerta.
.png)
Koneoppiminen kääntää tilanteen osittain päinvastaiseksi. Ohjelman sijaan puhutaan mallista (model), jonka tehtävänä on tuottaa sääntöjä. Näitä sääntöjä voidaan soveltaa uuteen dataan tekemään ennusteita juuri sille datalle.
Niinpä koneoppivaa järjestelmää ei varsinaisesti ohjelmoida perinteisessä mielessä vaan puhutaan opettamisesta tai sovittamisesta (training, fitting). Opettaminen tarkoittaa sitä, että koneelle annetaan käyttöön tehtävään sopivia esimerkkiaineistoja. Koneen tehtävänä on löytää tilastolliset säännöt näistä esimerkeistä. Sanotaan, että malli sovitetaan vastaamaan dataa.
Esimerkiksi kuvantunnistustehtävässä opetusaineisto koostuu isosta joukosta kuvia, joihin on liitettu tunnisteet (label, tag)
.png)
meri, ranta, Malediivit
.png)
talvi, lumi, huippu, vuori
.png)
vesi, ranta, meri, aallot
(Kuvien lähde: PixaBay)
Tekstintunnistamisen yhteydessä opetusaineisto koostuisi tekstinpätkistä ja niihin liitetyistä tunnisteista, esim.
| "Palvelu oli ystävällistä" | POS |
| "Keitossa ui kärpänen" | NEG |
(Metropolia 2024).
Klassinen esimerkki kuvantunnistamiseen liittyen on kuuluisa MNIST-aineisto https://en.wikipedia.org/wiki/MNIST_database
Se on joukko kuvia käsinkirjoitetuista numeroista 0-9. Kuhunkin kuvaan on liitetty numeraalinen tieto niiden esittämästä numerosta.
.png)
(Kuvalähde: Wikipedia Commons)
Tällaisen opetusaineiston hyödyntämisen jälkeen koneoppimisjärjestelmää oppi tunnistamaan käsinkirjoitettuja numeroita.
Koneoppivien järjestelmien yleistyminen on nojannut kahteen teknologiseen edistyaskeleeseen:
- laskentatehon voimakas kasvu (CPU, GPU, muisti)
- digitaalisen aineiston määrän lisääntyminen (kuvat, tekstit, äänet,...)
Nämä molemmat tekijät ovat yhdessä mahdollistaneet monet nykyiset tekoälysovellukset.
Koneoppiminen jaotellaan kolmeen eri tyyppiin toimintaperiaatteen mukaan.
- Ohjattu oppiminen (supervised learning)
- "opettajan johdolla oppimista"
- järjestelmälle annetaan data ja tunnisteet (kts. yllä)
- järjestelmä oppii tuottamaan tunnisteita uudelle datalle, jota se ei ole koskaan nähnyt
- Ohjaamaton oppiminen (unsupervised learning)
- "itsenäistä oppimista"
- järjestelmälle annetaan data ilman tunnisteita
- järjestelmän täytyy itse kyetä löytämään toistuvia rakenteita ja samankaltaisuuksia datasta
- esim. asiakassegmentointi markkinoinnissa eli ostajien ryhmittely samankaltaisten joukkoihin
- tekniikkana klusterointi (clustering)
- soveltuu monimutkaisiin ongelmiin, joihin on vaikeaa tai mahdotonta hankkia tunnisteilla varustettua dataa. Voi toimia, vaikka emme tiedä mitä olemme etsimässä; kone löytää itse rakenteita.
- Vahvistettu oppiminen (reinforcement learning)
- ei lainkaan opetusaineistoa
- järjestelmä koostuu ympäristöstä (environment), jossa toimija (agent) toimii
- järjestelmää antaa toimijalle palautetta sen toimintojen perusteella ("keppiä" tai "porkkanaa")
- toimija pyrkii maksimoimaan porkkanan (tai minimoimaan kepin) ja oppimaan siihen suuntaan
- esim. peli-AI (Pacman, pong)
.png)
.png)
Syväoppiminen
Syväoppiminen neuroverkoilla (deep learning, neural network) nousi pinnalle vuoden 2005 tienoilla vastaamaan koneoppimisen silloisiin haasteisiin. Datan mittaluokka (dimensio) kasvoi suureksi ja piirteiden erottaminen (feature extraction) kävi mahdottomaksi tehtävän monimutkaisuuden myötä. Esim. käsinpiirretyistä numeroista/kirjaimista on mahdoton luetella kaikkia viivanpätkien tyyppejä (piirteitä), joita tunnistaminen edellyttää. Syväoppimisessä tämä ongelma on ulkoistettu neuroverkolle, jonka syövereihin tunnistaminen on upotettu.
Syväoppimisen johtoajatus pohjautuu ihmisaivojen rakenteeseen ja toimintaan. Keskiössä on malli aivosolusta (neuronista), jotka ovat järjestäytyneet ja jotka aktivoituvat pienen sähköimpulssin tavoin. Näin ne "välittävät tietoa" toinen toisilleen. (Metropolia 2024).
.png)
(Kuvalähde: Wikpedia)
Keinotekoinen neuroni (artificial neuron) saa koneessa syötteenä (input) lukuja. Yhdessä painokertoimien (weights) kanssa se koostaa syötteistä painotetun keskiarvon ja lisää tulokseen bias-luvun. Tämä kooste välitetään aktivointifunktiolle (activation function), jonka tulos (output) määrää aktivoituuko neuroni vai ei. (Metropolia 2024).
.png)
(Kuvalähde: Wikipedia)
Aktivointifunktion tulos on numero lukujen 0 ja 1 väliltä. Niinpä se voidaan tulkita todennäköisyydeksi siitä aktivoituuko neuroni. Bias-luku kontrolloi sitä, kuinka suuren painotetun keskiarvon tulee olla, jotta neuroni aktivoituu. (Metropolia 2024).
Aktivointifunktioita on muutamaa eri perustyyppiä, jotka poikkeavat toisistaan siinä, miten jyrkästi ne nousevat arvosta 0 arvoon 1.
.png)
.png)
.png)
Sigmoid-funktio Relu-funktio (rectified linear unit) Askelfunktio
Keinotekoinen neuroverkko (artificial neural network, ANN) koostuu sadoista tai tuhansista neuroneista, jotka on järjestetty kerrosmaiseen rakenteeseen. Tämä tunnetaan myös nimellä Multilayer Perceptron (MLP).
.png)
Verkossa tieto etenee vasemmalla olevalta syötekerrokselta kohti oikealla olevaa tuloskerrosta. Syötekerroksen (input layer) ja tuloskerroksen (output layer) välissä on yksi tai useampi piilotettu kerros (hidden layer, kuvassa sinisellä). Mikäli piilotettuja kerroksia on enemmän kuin yksi, niin puhutaan syvästä verkosta (deep network). Yllä oleva verkko on nk. eteenpäin syöttävä (feedforward).
Neuronit ovat kytketty toisiinsa eri tavoin. Yllä olevan kuvan mustat viivat kuvaavat sitä, että tässä tilanteessa verkko on täysin kytketty (fully connected), sillä kunkin kerroksen neuronit on kytketty jokaiseen seuraavan kerroksen neuroniin. Kytkentätapoja on kuitenkin muitakin. Jokaiseen mustaan viivaan eli kytkökseen liittyy omat painokertoimet ja jokaisella neuronilla on oma bias-lukunsa. Kuvan tilanteessa on siis 15 bias-lukua ja 76 painokerrointa. Nämä 91 parametria täytyy säätää optimaalisesti opetuksen yhteydessä, jotta verkko toimii hyvin. Käytännössä verkot ovat paljon suurempia, jolloin myös säädettävien parametrien määrä kasvaa helposti jopa satoihin tuhansiin. Tämä vaatii paljon prosessointitehoa ja siten aikaa verkon opetusvaiheessa.
Verkon opettaminen on tässä ohjattua oppimista. Syötekerrokseen syötetään yksi kerrallaan numerosarjoja (esim. digikuvat tai tekstinpätkät voidaan esittää koneessa numerosarjoina, viime kädessä nollina ja ykkösinä). Kuvan tunniste tiedetään eli verkon tulisi tuottaa tietty tunniste tuloskerroksessa. Bias-luvut ja painokertoimet säädetään lopusta alkuun päin nk. backpropagation-algoritmilla, joka siis kulkee kerros kerrallaan oikealta vasemmalle päin.
Karkeasti voidaan ajatella, että kunkin kerroksen vastuulla on oppia tunnistamaan yksi piirre (feature) syötteestä. Lisäämällä verkkoon lisää piilotettuja kerroksia on kohtuullista odottaa, että verkko kykenee suoriutumaan monimutkaisemmasta tehtävästä.
Syvän neuroverkon huono puoli on kuitenkin sen huono tulkittavuus. Verkko on viime kädessä vain pitkä lista painokertoimia ja bias-lukuja, joita tuijottamalla ihmisen on mahdotonta selittää miksi verkko toimii. Se vain toimii. Tällä voi olla kuitenkin haitallisia vaikutuksia oikeudellisessa mielessä. Esim. itseajavissa autoissa vastuukysymykset ovat hankalia; väistääkö auto jalankulkijaa, jos se saattaa matkustajan vaaraan, ja kuka vastaa tästä päätöksestä? Vastaavasti automatisoiduissa lainapäätöksissä ei aina kyetä perustelemaan miksi neuroverkko teki kielteisen päätöksen.
(Metropolia 2024).
Generatiivinen tekoäly
Generatiivinen tekoäly eroaa edellä kuvatuista tekoälyn alatyypeistä siinä mielessä, että sen tehtävänä on tuottaa uutta digitaalista sisältöä. Tekoälyä on perinteisesti käytetty luokittelemaan tai ryhmittelemään dataa (esim. roskapostin luokittelu, kuvan luokittelu, asiakkaiden ryhmittely). Generatiivinen tekoäly sen sijaan pyrkii tuottamaan kokonaan uutta dataa, esim. kuvaa, tekstiä, ääntä tai videota.
Generatiivinen AI on silti koneoppimista, jossa kone oppi tuottamaan jotain uutta ja alkuperäistä saaden mallia ja innoitusta opetusaineistosta. Esimerkiksi maalauksellisen kuvan tai vaikkapa runonpätkän tuottaminen voidaan tehdä generatiivisella tekoälyllä. Tekoälylle annetaan näissä tapauksissa opetusaineistona joukko maalauksia tai runoja ja kone omaksuu niistä relevantteja tyylejä kyeten luomaan sen pohjalta täysin uusia teoksia.
Historiallisesti ensimmäisenä generatiivisen tekoälyn sovelluksena voidaan pitää chatbotteja, joiden alkuperä juontuu 1960-luvulle. Jo silloin chatbotit tuottivat luonnollisen kielen tekstisisältöjä ja ne ovat edelleenkin laajalti käytössä.
Suureen suosioon generatiivinen tekoäly nousi kuitenkin 2014 nk. GAN-verkkojen myötä (Generative Adversarial Network), jotka kykenivät luomaan todentuntuista kuvaa, ääntä ja videota ihmisistä. Parhaita esimerkkejä tästä on tätä nykyä verkkosivu https://thispersondoesnotexist.com/ joka luo kasvokuvia ihmisistä, joita ei ole olemassa.
(Metropolia 2024).
.png)
(Kuvalähde: thispersondoesnotexist.com AI-generoitu)
Vielä vaikuttavampi saavutus generatiivisen tekoälyn saralla on nk. deep fake-videot, joissa julkisuuden henkilöt joutuvat erilaisiin keinotekoisiin tilanteisiin tai äänisyntetisaattori, jossa maailman johtajat puhuvat heidän suuhun kirjaimellisesti laitettuja sanoja. kts.
.png)
(Kuvalähde: Youtube)
.png)
(Kuvalähde: Youtube)
Myöhemmin tässä materiaalissa kohdattavat suuret kielimallit yhdistettynä generatiiviseen tekoälyyn ovat mahdollistaneet nykypäivän huippusovellukset kuten ChatGPT ja DALL-E.
Generatiivinen tekoäly kattaa tänä päivänä koko joukon muitakin mahdollisia sovelluksia.
- asiakaspalvelun chatbotit
- aidonnäköiset kuvat julkisuuden henkilöistä
- elokuvien jälkiäänitykset (dubbaus) näyttelijän ääntä matkimalla
- sähköpostien kirjoituttaminen tekoälyllä
- laadukkaiden digikuvien tuottaminen
- piirisuunnittelun tehostaminen jne.
Yllä olevasta listasta voidaan havaita, että generatiivista tekoälyä (kuten kaikkea teknologiaa!) voidaan käyttää sekä hyvään että pahaan. Sillä voidaan tehostaa tai jopa kokonaan automatisoida kirjoittamiseen liittyviä työvaiheita mutta sillä on myös mahdollista levittää misinformaatiota (fake news) kuulijan sitä lainkaan tietämättä.
(Metropolia 2024).
Kielimallit, historia
Kielimalli (language model) on koneoppimismalli, joka yksinkertaistaen ennustaa seuraavaa sanaa jonossa sanoja. Tarkastellaan esimerkiksi lauseen alkua
"The core idea in machine learning is its ability to"
Malli voisi ehdottaa seuraavaksi sanaksi joitain seuraavista vastaavine todennäköisyyksineen
| detect | 2,2% |
| identify | 2,5% |
| find | 2,8% |
| learn | 5.3% |
| predict | 13,2% |
(Nämä sanat ja todennäköisyydet on saatu oikeasta toimivasta GPT2-mallista Wolfram Language -ohjelmointiympäristössä https://resources.wolframcloud.com/NeuralNetRepository/resources/GPT2-Transformer-Trained-on-WebText-Data/ )
Taulukon sanat ovat mallin mielestä järkevimmät tavat jatkaa lausetta. Malli ottaa huomioon asiayhteyden eli aiemmat sanat, niiden merkityksen ja kuinka ne liittyvät toisiinsa. Tämän ymmärryksen malli on saanut käytyään läpi opetusvaiheessa valtavan määrän (digitaalisia) tekstiaineistoja; verkkosivuja, kirjoja jne.
Kun ChatGPT kirjoittaa esimerkiksi esseetä, niin se itse asiassa jatkaa sana kerrallaan jostain (satunnaisesta) aloituskohdasta liikkeelle lähdettyään. Kuitenkaan aina ei kannata valita kaikkein todennäköisintä sanaa, koska se voisi johtaa toisteiseen tekstiin ja ei vaikuttaisi ihmisen luomukselta. Toisaalta, valitsemalla vähemmän todennäköisen sanan teksti saa omanlaistaan mielenkiintoa.
Seuraavan sanan valintaan liittyy siis aina tiettyä satunnaisuutta (epävarmuutta) ja sen vuoksi samalla lauseenaloituksella saa eri kerroilla eri jatkeen. Tämä nähdään myöhemmin konkreettisesti ChatGPT:n käytön yhteydessä.
Tämän lisäksi kielimallilla on tietoa kieliopista eli se osaa yhdistää verbejä, substantiiveja ja pronomineja luonnollisella tavalla ja se tietää mitkä sanat esiintyvät usein yhdessä.
Edellistä esimerkkiä voidaan jatkaa valitsemalla toistuvasti seuraava "sana" eli jatkamalla lausetta sana kerrallaan:
.png)
Huomaa, että tässä "sana" voi tarkoittaa myös välimerkkiä (piste, pilkku,...). Näin saadaan useista virkkeistä koostuvia kokonaisuuksia tuotettua.
(Metropolia 2024).
GPT-mallien toiminta
GPT on lyhenne sanoista Generative Pre-trained Transformers. Kyseessä on koneoppimismalli, joka perustuu takaisinkytkeytyviin neuroverkkoihin (RNN, Recurrent Neural Network).
RNN-verkossa jokaisella neuronilla on oma takaisinkytkentänsä, joka tarjoaa neuronilla sisäisen muistin. Muistin avulla neuroni voi ottaa huomioon aiemmat opit ja kykenee huomioimaan ajallisen järjestyksen. Esim. syötteen "neuroni" saadessaan RNN-verkko voi kirjainta "r" käsitellessään huomioda kirjaimet "n", "e" ja "u".
Sama perusperiaate on läsnä myös nk. Fibonaccin lukujonossa 1,2,3,5,8,13,... jossa jokainen luku on kahden edellisen luvun summa. Tällainen käsittely vaatii edellisten tietojen muistamista ja havainnoimista.
Eteenpäin syöttävä verkko unohtaa aiemmat syötteet heti ne käsiteltyään. Tämä verkkotyyppien välinen ero tekee RNN-verkoista erinomaisesti soveltuvan jonomaisen datan käsittelyyn.
.png)
Generative ("generoiva")
Syötejonon jatkamista uudella tiedolla. Esim. jatka numerosarjaa 1,3,5,7,9,...
Kielimallien yhteydessä tämä tarkoittaa sanajonon jatkamista, ja vieläpä tarkemmin, luonnollisen kielen pätkän jatkamista. (Metropolia 2024).
Pre-trained ("esiopetettu")
Esiopettaminen on kaksivaiheista. Ensin malli opetetaan valtavalla datamäärällä ja sitten se hienosäädetään tiettyyn erikoistarkoitukseen. GPT:n tapauksessa tämä tarkoittaa ensin tekstiaineistolla opettamista ja sitten räätälöimistä esim. tekstin kääntämiseen, kysymyksiin vastaamiseen tai yhteenvetojen tekemiseen. Hienosäätövaiheessa malli siis sopeutuu johonkin tiettyyn tehtävään toimiakseen siinä mahdollisimman hyvin. (Metropolia 2024).
Transformer ("muunnin")
Muunnin osaa käsitellä jonomaista dataa, esim. sanoja, kuvia tai ääntä. Neuroverkossa muunnin mahdollistaa verkon kerrosten ottamaan huomioon myös verkon muut kerrokset. Tämän myötä malli voi antaa syötejonon eri osille eri tavalla huomiota ("attention"). Esim. syötejonossa (Metropolia 2024).
"Maalari maalaa taloa"
malli voi keskittyä seuraavaa sanaa valitessaan joko sanaan "maalaa" tai "taloa" tilanteen mukaan. Tulos voisi olla joko
"Maalari maalaa taloa punaiseksi." tai
"Maalari maalaa taloa innokkaasti".
Huomaa mihin viimeinen sana on jonossa liitetty. (Metropolia 2024).
ChatGPT:n versiot
ChatGPT on OpenAI:n kehittämä tekoälyjärjestämä, joka on mittavan kehitystyön tulos. Se sai alkusysäyksensä Googlen uraauurtavasta transformer-teknologiasta vuodelta 2017.
ChatGPT:n taustalla vaikuttaa GPT-mallit, joiden edistystä on taulukoitu alla (Metropolia 2024)
| versio | julkaisu | opetusdata | parametrien lkm | muuta |
| GPT-1 | 06/2018 | Common Crawl https://commoncrawl.org/ (verkkosivujen keruu), BookCorpus (11000 kirjaa eri tyylisuunnista) | 117 miljoonaa | tuotti toistuvaa tekstiä, eritoten opetusdatan ulkopuolelta |
| GPT-2 | 02/2019 | Common Crawl, BookCorpus, WebText | 1,5 miljardia | tuotti ihmismäistä tekstiä, sopii jo käännösten tekoon |
| GPT-3 | 06/2020 | CommonCrawl, BookCorpus, Wikipedia, kirjat, artikkelit yms. | 175 miljardia | osaa tuottaa ohjelmakoodia, taidettakin, ymmärtää asiayhteyden |
| GPT-4 | 2024 | ei ilmoitettu | tuhansia miljardeja? | tukee kuvasyötteitä |
Kehittynein GPT-4 malli on maksullinen tätä kirjoitettaessa.
- Ymmärrät, että erilaiset näkökulmat maailmaan tai ongelmaan voivat luoda erilaisia esityksiä ja malleja.
- Arvostaa, ettei jokainen ongelma voi käyttää samaa mallia sen ratkaisemiseen.
- Aloitat matkasi sen ymmärtämisessä, miltä maailma näyttää tietokoneen perspektiivistä.
Lähde: The University of British Columbia -oppimateriaalia opettajille, koulutusteknologioiden laitos
Drawing_a_Map_AI_Lesson_Plan__1_.pdf
Kartan piirtäminen -palautuskansio
Keskustelutehtävä: Käytä seuraavia kysymyksiä oppaana keskustelussasi:
- Miten karttasi eroaa muista?
- Yritä miettiä, mitä tietoja ihmiset ovat sisällyttäneet omiin karttoihinsa.
- Toimisiko karttasi hyvin esimerkiksi tietyn tehtävän toteuttamiseen? Jos esim. piirsit kuvan koulusta ja sen pihapiiristä, löytääkö uusi opiskelija ruokalan, tai liikuntasalin? Tai jos piirsit kuvan toimistokompleksista, voisiko se sopia sähköasentajalle tai putkimiehelle?
Sinulla ei ole tarvittavia oikeuksia lähettää mitään.
Google AutoDraw
Ensimmäisenä Google Auto Draw.
Siirrytään osoitteeseen: AutoDrawAutoDraw
Aukeaa tämä näkymä:

Kuva 1. AutoDraw
Voit valita yltä "Start Drawing" tai "Fast How-To". Suosittelen katsomaan "How-To":n, mikäli et tee harjoitusta tunnilla.

Kuva 2. "Fast How-To"

Kuva 3.
Kuvassa kolme valitsin oikealta (nuoli) AutoDraw-ikonin ja piirsin kukan.
Kuvassa neljä valitsin ylhäältä nuolen osoittamasta suunnasta tekoälyn poimiman mallin, joka muistutti lähinnä piirrostani.

Kuva 4.
Voit myös värittää luomustasi.
Maisemapiirustus NVIDIA Canvas -työkalulla

NVIDIA Canvasta voit käyttää muuttaaksesi tavalliset "kynähuitaisut" realistisiksi maisemakuviksi. Luot uskomattomia taustoja nopeasti tai nopeuta konseptien tutkimista, ja voit käyttää enemmän aikaa ideoiden visualisointiin.
Esimerkki: (Kuva 1)

Katsotaan ensin esittelyvideo:
Navigoidaan sitten osoitteeseen NVIDIA Canvas App: Turn Simple Brushstrokes into Realistic Images with AI ja lataa "Download Beta".
Yritä asentaa ohjelma. Ohjelma ei välttämättä toimi vanhemmissa tietokoneissa.
Extratehtävä: The Turing Test

Extratehtävä:
Muodostetaan kahden ryhmiä. Ryhmässänne yksi on haastattelija ja toinen haastateltava.
Annetaan haastateltaville 1 ammattikortti ja 3 piirrekorttia (nämä ovat salaisia!). Jos haastateltavalla enemmistö (2/3) inhimillisiä piirrekortteja, he ovat ihminen ja jos päinvastoin, niin tekoäly.
Kolme kysymyskorttia annetaan haastattelijalle.
Asetetaan 3–5 minuutin ajastin ja annetaan haastattelijan kysyä kysymykset haastateltavalta. Haastattelijan tehtävänä on päätellä, puhuuko hän tekoälyn vai ihmisen kanssa, ja haastateltavan tehtävänä on vakuuttaa haastattelija siitä, että hän on ihminen, pitäen samalla kiinni piirrekorttinsa piilossa.
Ajastimen lopussa haastattelijan tulee tehdä päätös siitä, puhuiko hän tekoälyn vai ihmisen kanssa (kyllä vai ei). Korttien keräämisen jälkeen roolit vaihdetaan (jos pelataan toinen kierros).
Tämän aktiviteetin jälkeen
- Alat ymmärtää joitain eroja ihmisen ja tietokoneen välillä
- Pystyt selittämään, mikä tekee jonkin älykkääksi
Keskustelu:
-
- Onko Turinging testi hyvä tapa mitata älykkyyttä?
- Tuleeko tietokoneesta koskaan yhtä älykästä kuin ihminen?
- Onko kyky ulkoisesti matkia tunnetta sama asia kuin itse tuntea se? (eli: Onko robotin hymyily sama asia kuin ihmisen tuntema ilo?)
Lähde: The University of British Columbia -oppimateriaalia opettajille, koulutusteknologioiden laitos
Jos teet kotitehtävänä, niin voit palauttaa tänne mielipiteen (palauta merkintä) siitä, miltä testi vaikutti
Sinulla ei ole tarvittavia oikeuksia lähettää mitään.
Kotitehtävä tai tuntiaktiviteetti: Google Teachable Machine
Tässä harjoituksessa käytämme Google Teachable Machine -työkalua opettaaksemme tekoälyä tunnistamaan erilaisia esineitä antamalla sille kuvia jokaisesta esineestä.
Tekoäly "tietää" vain sen tiedon, minkä annamme sille. Jos se ei tiedä tai näe jotain, se yrittää luokitella asian suhteessa siihen, mitä se tietää, mikä johtaa joskus vääriin tulkintoihin. Tämä tarjoaa hyvän mahdollisuuden nähdä kytkös ensimmäiseen aktiviteettiimme kartan piirtämisestä. Vähän sama jos piirrämme kartan emmekä sisällytä maamerkkiä, ja sitten kysymme tietokoneelta, missä se maamerkki on. Jos tietokoneella on vain kartta käytettävissään, se ei tiedä, mikä maamerkki on, ja se hämmentyy, antaen mahdollisesti järjettömän vastauksen. Kaikki tämä korostaa ihmisten tärkeää roolia tekoälyn luomisessa ja kouluttamisessa.
Linkki Teachable Machineen:
Teachable Machine
Tutustu tehtäväohjeisiin: Teachable_Machine_Lesson_Plan.pdf
Tämän aktiviteetin jälkeen ymmärrät:
- Kuinka dataa (esimerkiksi kuvia) voidaan käyttää tekoälyn kouluttamiseen
- Osaat käyttää Google Teachable Machinea ongelmien ratkaisussa
Lähde: The University of British Columbia -oppimateriaalia opettajille, koulutusteknologioiden laitos
Jaa halutessasi kokemuksiasi keskustelualueella!
Luo 3D-malleja
Luo 3D-malli
Generoi malli tekstikomennolla. Voit testailla myös muita toimintoja.
3D-malleja luodaan Meshyssa tekstikomennoin tai malliobjekti liittämällä:
https://www.meshy.ai/
Sinulla ei ole tarvittavia oikeuksia lähettää mitään.
