Algoritmit – nykyajan ”mustat laatikot”

Näkökulmia

Algoritmit – nykyajan ”mustat laatikot”

Blogi: Jouni Viljanen

22.1.2019
Mitä algoritmit ovat

Algoritmeista kuuluu puhuttavan nykyisin paljon eri yhteyksissä. Ne nousevat esiin esimerkiksi sosiaalisen median, itseajavien autojen ja monimutkaisten analytiikkasovelluksien ympärillä käytävissä keskusteluissa. Mitä ne algoritmit sitten itseasiassa ovat? Yksinkertaistettuna, ne ovat ohjeita tietokoneelle tai ohjelmistolle siitä, miten toimia eri tilanteissa. Algoritmit esimerkiksi mahdollistavat autonavigaattoreiden toiminnan laskemalla lyhimmän reitin kohteesta A kohteeseen B tietyn logiikan ja käytettävissä olevan tiedon eli datan perusteella.

Algoritmeja löytyy yritysten toiminnanohjausjärjestelmistä. Esimerkiksi automaattiset varastotäydennyksen algoritmit laskevat milloin tuotetta pitää tilata lisää kysyntäennusteiden ja nykyisen varastosaldon perusteella. Itsestään ajavat autot ovat täynnä monimutkaisia algoritmeja, jotka mahdollistavat auton tiellä pysymisen ja pysähtymisen, mikäli auton sensorit havaitsevat lähestyvän esteen. Nykyisessä tietoyhteiskunnassa olemme algoritmien ympäröivänä ja vaikutusten alaisena jatkuvasti, vaikkemme sitä aina tiedosta ja ymmärrä. Algoritimit pelastavat ihmishenkiä, suosittelevat meille tuotteita verkkokaupassa, hinnoittelevat lomamatkoja ja lippuja, myöntävät asuntolainoja sekä hinnoittelevat vakuutuksia.

Nykyisessä tietoyhteiskunnassa olemme algoritmien ympäröivänä ja vaikutusten alaisena jatkuvasti, vaikkemme sitä aina tiedosta ja ymmärrä. 

Keinoäly ja mm. koneoppiminen perustuvat hyvin vahvasti algoritmeihin sekä dataan, jota algoritmit käyttävät. Verkkokaupan esimerkkiä käyttäen, algoritmit suosittelevat meille kuluttajille ostoksia hyödyntäen dataa: tietoa siitä mitä ostimme, sekä tietoa siitä mitä muut asiakkaat jotka ovat ostaneet samaa tuotetta, ovat myös hankkineet samalla tilauksella. Tuloksena on lista suosituksia ”koska ostit tätä, voit olla kiinnostunut myös tästä”.

Mitä riskejä algoritmeihin liittyy?

Algoritmien lisääntyessä mm. keinoälyn ja koneoppimisen kautta, on myös hyvä tiedostaa niihin liittyvät riskejä.

  1. Käytettävä data: mikäli algoritmi käyttää väärää tai huonolaatuista dataa, saattaa se vaikuttaa hyvinkin vahingollisesti lopputulokseen. Esimerkiksi jos varastoa täydentävä varastojärjestelmä käyttää väärää ennustedataa tai varastosaldojen data ei pidä paikkaansa, saattaa järjestelmä tilata suuren määrän pilaantuvaa tavaraa kaupan varastoon, joka ei mene kaupaksi.
  2. Virheet tai ongelmat itse algoritmissa: algoritmin suunnittelija tai koodaaja on saattanut tehdä virheen ohjelmoinnissa, jolloin algoritmin logiikka ei toimi oikein tai siinä on vääristymä, joka voidaan aiheuttaa tahallisesti tai tahattomasti. Tällöin algoritmi voi laskea tai suorittaa asioita väärin, mikä voi johtaa jopa suuriin taloudellisiin menetyksiin. Tästä esimerkkeinä pörssikaupankäynnissä käytetyt ohjelmistot, joiden on epäilty aiheuttaneet pörssiromahduksia tai sosiaalisen median manipuloinnit jotka vaikuttavat yleiseen mielipiteeseen.
  3. Kyberturvallisuus ja muutokset: koska algoritmit toimivat osana tietokonejärjestelmiä, ovat ne myös alttiita kyberhyökkäyksille, joiden kautta murtautujat pystyvät muuttamaan algoritmeja ja niiden toimintaperiaatetta. Myös algoritmien muutokset, joita ei välttämättä testata ennen muutoksen vientiä tuotantoympäristöön, saattavat aiheuttaa virheitä tai ongelmia.
  4. Algoritmien kompleksisuus: monet erityisesti pitkään käytössä olleet ns. koneoppimiseen liittyvät algoritmit saattavat olla erittäin kompleksisia ja monimutkaisia. Niiden kehittäjät eivät välttämättä enää tiedä miten algoritmi on muokkaantunut, tai kehittäjät eivät välttämättä ole enää edes organisaation palveluksessa. Algoritmit saattavatkin niin sanotusti alkaa elämään ”omaa elämäänsä”, missä kukaan organisaatiossa ei ole niistä vastuussa tai ymmärrä niiden toimintaa.

Miten riskejä voi hallita?

Organisaatioiden jotka ottavat algoritmeja käyttöön, on huolehdittava siitä, että riskit ovat hallinnassa. Algoritmeihin pätevät hyvin yleisesti samat IT-riskienhallintakeinot kuin muuhunkin tietotekniikkaan. Organisaatioilla pitää olla strategiat ja hallintamallit paikoillaan sekä mietittynä miten algoritmeja kehitetään hallitusti, luotettavasti ja turvallisesti. Jatkuva ylläpito, kuten kaikessa IT:ssä on tarpeen.

Miten valvotaan, että algoritmit käyttävät oikeaa dataa ja että käytettävä data on ajantasaista, ettei kukaan pääse luvattomasti tekemään muutoksia, ja että algoritmien toiminta ei keskeydy? Yleisesti on olemassa viitekehyksiä, jotka tarjoavat mallin, miten algoritmeihin liittyviä riskejä olisi hyvä hallita – osa organisaatioista on jo ottanut näitä viitekehyksiä käyttöön osana riskienhallintaa, mutta monella on vielä paljon tekemistä toimintansa kehittämisessä.

Algoritmien laajempi käyttäminen vaatii myös organisaatioilta uudenlaista osaamista ja kyvykkyyttä – ihmisiä on koulutettava ymmärtämään mitä algoritmeja on käytössä, mitä ne tekevät ja ennen kaikkea joskus myös kyseenalaistamaan, mikäli tulokset näyttävät oudoilta. Kyberturvallisuudesta on myös pidettävä huolta, ettei ulkopuoliset pääse tekemään haitallisia muutoksia algoritmeihin.

Yksi tapa varmistua algoritmien toiminnasta on auditointi. Auditoinnit ovat paljon saman kaltaisia mitä on tehty jo IT-järjestelmiin. Auditoinnit voivat kohdistua mm. seuraaviin asioihin, joilla varmistetaan algoritmin asianmukainen toiminta:

  • Algoritmien kehittäminen ja muutoshallinta: onko kehitys- ja muutostyöt tehty asianmukaisesti ja testattu huolella
  • Käyttövaltuushallinta: onko käyttöoikeudet, joilla pääsee muuttamaan algoritmien toimintaa, rajattu asianmukaisesti
  • Monitorointi ja valvonta: miten varmistetaan, että algoritmit ja järjestelmät toimivat, eikä niiden toimita keskeydy huomaamatta?
  • Data: Onko algoritmien käyttämä data laadukasta ja oikeaa, sekä hallitaanko dataa ja sen elinkaarta asianmukaisesti
  • Algoritmin kuormitus: toimiiko algoritmi oikein kuormituksen alla?

Myös algoritmien eettiset ja mm. regulaatioon liittyvät kysymykset ovat sellaisia jotka saattavat auditoinneissa nousta esille. Onko algoritmi eettisesti hyväksyttävä, tai voimmeko käyttää saatavilla olevaa dataa joka saattaa paljastaa esimerkiksi yksilöistä tietoja ja yhteyksiä joita ei pitäisi ilmentyä?

Nykypäivänä sovelluskehittäjiltä, algoritmien kehittäjiltä ja auditoijilta vaaditaan kovan luokan osaamista automatisoitavasta prosessista, tekoälystä ja koneoppimisesta – sekä myös esimerkiksi ymmärrystä mikä on hyväksyttävää lainsäädännön tai eettisen käytännön mukaisesti. Nopeasti, ketterästi kehittämällä saadaan nopeita tuloksia aikaan, mutta voidaan myös aiheuttaa merkittäviä vahinkoja.

Suosittelen lämpimästi tutustumaan algoritmeihin sekä erityisesti tekoälyyn ja koneoppimisen konsepteihin. Ne ovat vaikuttaneet ja vaikuttavat tulevaisuudessa yhä enenevissä määrin organisaatioiden kilpailukykyyn. Kehityksen mukana on oltava, mutta hallitusti.

Jouni Viljanen

Jouni Viljanen
Operational Risk Leader
jouni.viljanen@deloitte.fi
+358 (0)40 733 8888

 

 

Oliko tieto hyödyllistä?