Oppimispäiväkirja syväoppimisesta, eli kuinka opin ohjelmoimaan neuroverkkoja Pythonilla, fast.ai:lla ja PyTorchilla.
Blogin lähdekoodi on GitHubissa plassi/tekoalyn-ohjelmointi-pythonilla
kirjoittanut Lassi Puurunen
Datatiedettä koskevissa keskusteluissa ja artikkeleissa on vastaani tullut säännöllisesti mainintoja Kagglesta ja sen kilpailuista. Koska olen päättänyt oppia alan konstit, oli korkea aika mennä sivustolle ja selvittää mistä siinä oikein on kyse.
Kaggle on datatieteen alalla merkittäväksi käsitteeksi muodostunut, Googlen omistama, verkkopalvelu. Se sisältää yhteisön, monipuoliset resurssit datatieteen harjoittamiseen ja alan kilpailuja. Käyttäjätilejä Kagglessa on yli viisi miljoonaa, joista sivuston tilastojen perusteella aktiivisia käyttäjiä on, tällä hetkellä kilpailuissa mukana, 100 - 150 tuhatta. Kaggle onkin alan suurin yhteisö, johon osallistumista voinee pitää, jollei olennaisena, vähintäänkin erittäin hyödyllisenä osana datatieteilijän uraa.
Kirjautuessani sivustolle, huomaan että olen tehnyt sivustolle aiemmin tilin yli vuosi sitten. Ilmeisesti tuolloin, ensimmäisenä etusivulla vastaan tuleva keskustelufiidi säikäytti pois, jatkamaan koneoppimisen perusteiden opiskelua. Tämä ei kuitenkaan ole tarpeen, sillä sivustolta löytyy Courses-sivu, jolla on lukuisia ilmaisia kursseja. Kurssit alkavat Pythonin perusteista ja etenevät koneoppimisesta, tietokantojen kautta, aina erilaisiin syväoppimistekniikoihin asti. Kursseilla tosin oletetaan jo jonkin verran pohjatietoja, sillä ne ovat ns. mikrokursseja, eli hyvin lyhyitä kestoltaan ja ytimekkäitä sisällöltään. Perusteet osaavalle, yksi kurssi on käyty parissa-kolmessa tunnissa. Aloitin kurssit alusta ja ne vaikuttavat erittäin tehokkaasti tiivistetyksi opiksi datatieteen käytännön työstä. Lisäksi kursseilla opetetaan kilpailujen toiminta käytännössä. Suosittelen jokaiselle Kagglesta kiinnostuneelle aloittamaan kurssien läpikäynnillä.
Oleellinen osa Kagglea ovat sen ylläpitämät kilpailut, joissa osassa on päämääränä toteuttaa ratkaisuja todellisen maailman ongelmiin. Kilpailuihin voi osallistua yksittäinen käyttäjä tai pieni joukkue. Rahapalkinnon sisältävien kilpailujen voittajaratkaisut voivat päätyä järjestäjälle tuotantokäyttöön. Esimerkiksi tätä kirjoittaessa, on kilpailulistalla ensimmäisenä kilpailu, jossa on tarkoituksena toteuttaa konenäkö, joka kykenee selvittämään kuvista ihmisen munuaisen rakennetta. Palkintoina tästä kilpailusta jaetaan kolmelle ensimmäiseksi tulleelle ryhmälle 60 tuhannen dollarin palkinto. Kilpailuissa on tarjolla myös muita rahasummia ja erilaisia voitonjakoja. Rahallisten palkintojen lisäksi lukuisista kilpailuista on tarjolla oppia ja mainetta. Katsoin Youtubesta erään datatieteilijän haastattelun hänen kokemuksistaan Kagglesta ja hän totesi kilpailujen aloittaneen hänen uransa. Mahdollinen menestys näissä kilpailuissa lienee erinomainen keino osoittaa osaamistaan työnantajille.
Kilpailusivulla on ensimmäisenä oikeana harjoituskilpailuna tarjolla Titanic-kilpailu, jonka tarkoituksena on perehdyttää käyttäjä Kagglen kilpailujen toimintaan. Tarkoituksena tässä harjoituskilpailussa on tehdä malli, joka ennustaa eri matkustajien selviytymisen Titanicin uppoamisesta. Kilpailun opasvideon mukaan kilpailuun kannattaa osallistua mahdollisimman aikaisessa vaiheessa. Aloittelijan, todennäköisesti heikko, menestys ei jää tuloslistoille talteen, vaan ne nollataan aina kuukauden välein. Mielestäni kilpailun aihe on mielenkiintoinen ja tekemällä oppii parhaiten, joten tulen lähipäivinä aloittamaan sen selvittämisen.
Kagglessa on suuri määrä käyttäjien ylläpitämiä, vapaasti käytettävissä olevia tietoaineistoja. Tietoaineistojen aiheet ovat kaikkea mitä käyttäjät ovat keksineet kokoon laittaa. Kuinka oivallinen resurssi tämä onkaan kaikenlaisiin koneoppimisprojekteihin!
Code-sivulta löytyy Kaggle Notebooks, jossa käyttäjät voivat jakaa projektejaan. Kaggle Notebooks mahdollistaa Python koodin ajamisen ja siten projektien toteuttamisen täysin Kagglen palvelimilla.
Sivustolta löytyy Communities, eli Kagglen keskustelufoorumit. Foorumin etusivulta katsoen aiheet vaikuttavat kiinnostavilta ja keskusteluja on eri aihealueilla runsaasti.
Kagglessa on järjestelmä etenemisen seurantaan. Saavutusten myötä tulevaa, uutta arvonimeä voi tavoitella eri kategorioissa; kilpailuissa, notebookeissa, tietoaineistoissa ja keskusteluissa. Eri osa-alueista saa, osallistumisen tai kilpailuissa menestymisen mukaan, pronssi, hopea tai kultamitaleja. Mitalien määrän karttuessa käyttäjän arvonimi kasvaa noviisista expertin ja masterin kautta aina grandmasteriksi. Saadakseen kultamitalin esimerkiksi kilpailusta, ei sitä tarvitse kuitenkaan voittaa. Tyypillisesti kultamitaliin riittää hieman yli 10 prosentin parhaan tuloksen joukkoon sijoittuminen.
Haluaisitko tietää enemmän jostain Kagglen osa-alueesta? Onko Kaggle sinulle jo ennestään tuttu? Jos haluat jakaa kokemuksiasi tai ajatuksiasi, kerro kommenteissa tai ota yhteyttä LinkedInissä. Tai Kagglessa.