Kuinka energiainsinööri opiskeli neuroverkkoja ja arvostelu ilmaisesta kurssista "Udacity: Intro to TensorFlow for Deep Learning"

Olen koko aikuisikäni ollut energiajuoma (ei, nyt emme puhu juomasta, jolla on epäilyttävät ominaisuudet).

En ole koskaan ollut erityisen kiinnostunut tietotekniikan maailmasta, enkä pysty edes kertomaan matriiseja paperille. Ja en ole koskaan tarvinnut tätä, jotta ymmärrät hieman työni erityispiirteitä, voin jakaa upean tarinan. Pyysin kerran työtovereitani tekemään työt Excel-taulukossa, puolet työpäivästä oli kulunut, menin heidän luokseen ja he istuivat ja summasivat tietoja laskimella, kyllä, tavallisella mustalla, painikkeilla varustetulla laskimella. No, minkälaisista hermoverkoista tämän jälkeen voidaan puhua?... Siksi minulla ei ole koskaan ollut erityisiä edellytyksiä uppoutua IT-maailmaan. Mutta kuten sanotaan, "on hyvä siellä, missä emme ole", ystäväni huusivat korviani lisätystä todellisuudesta, hermoverkoista, ohjelmointikielistä (pääasiassa Pythonista).

Sanoin se näytti hyvin yksinkertaiselta, ja päätin, miksi en hallitse tätä maagista taidetta soveltaakseni sitä toiminta-alallani.

Tässä artikkelissa jätän väliin yritykseni hallita Pythonin perusteet ja jaan kanssasi vaikutelmani Udacityn ilmaisesta TensorFlow-kurssista.

Kuinka energiainsinööri opiskeli neuroverkkoja ja arvostelu ilmaisesta kurssista "Udacity: Intro to TensorFlow for Deep Learning"

Esittely

Ensinnäkin on syytä huomata, että 11 vuoden energia-alalla, kun osaat ja osaat tehdä kaiken ja jopa hieman enemmän (vastuutesi mukaan), radikaalisti uusien asioiden oppiminen - toisaalta herättää suurta innostusta, mutta toisaalta - muuttuu fyysiseksi tuskaksi "vaihteet päässäni".

En vieläkään täysin ymmärrä kaikkia ohjelmoinnin ja koneoppimisen peruskäsitteitä, joten sinun ei pitäisi tuomita minua liian ankarasti. Toivon, että artikkelini on mielenkiintoinen ja hyödyllinen kaltaisilleni ihmisille, jotka ovat kaukana ohjelmistokehityksestä.

Ennen kuin siirryn kurssikatsaukseen, sanon, että sen opiskeluun tarvitset vähintään minimaalisen Python-tietoa. Voit lukea pari kirjaa nukkeille (olen myös aloittanut Stepicin kurssin, mutta en ole vielä perehtynyt siihen kokonaan).

TensorFlow-kurssi itsessään ei sisällä monimutkaisia ​​rakenteita, mutta on välttämätöntä ymmärtää miksi kirjastoja tuodaan, miten funktio määritellään ja miksi siihen korvataan jotain.

Miksi TensorFlow ja Udacity?

Koulutukseni päätavoitteena oli halu tunnistaa valokuvia sähköasennuselementeistä hermoverkkojen avulla.

Valitsin TensorFlow'n, koska kuulin siitä ystäviltäni. Ja ymmärtääkseni tämä kurssi on melko suosittu.

Yritin alkaa oppia virkamieheltä opetusohjelma .

Ja sitten törmäsin kahteen ongelmaan.

  • Koulutusmateriaaleja on paljon, ja niitä on erilaisia. Minun oli erittäin vaikeaa luoda ainakin enemmän tai vähemmän täydellistä kuvaa kuvantunnistusongelman ratkaisemisesta.
  • Suurin osa tarvitsemistani artikkeleista ei ole käännetty venäjäksi. Sattui vain niin, että opin saksaa lapsena, enkä nyt, kuten monet neuvostolapset, osaa saksaa enkä englantia. Tietenkin koko aikuisiäni yritin hallita englantia, mutta siitä tuli jotain kuvan kaltaista.

Kuinka energiainsinööri opiskeli neuroverkkoja ja arvostelu ilmaisesta kurssista "Udacity: Intro to TensorFlow for Deep Learning"

Kaivattuani ympäriinsä virallisilla verkkosivuilla löysin suosituksia läpikäytäväksi yksi kahdesta verkkokurssista.

Ymmärtääkseni Courseran kurssi oli maksullinen ja kurssi Udacity: TensorFlow'n johdanto syvälliseen oppimiseen oli mahdollista läpäistä "ilmaiseksi, eli ilman mitään".

Kurssin sisältö

Kurssi koostuu 9 oppitunnista.

Aivan ensimmäinen osa on johdanto, jossa kerrotaan miksi sitä periaatteessa tarvitaan.

Oppitunti 2 osoittautui suosikkini. Se oli tarpeeksi yksinkertainen ymmärtää ja osoitti myös tieteen ihmeitä. Lyhyesti sanottuna, tällä oppitunnilla, hermoverkkoja koskevien perustietojen lisäksi, luojat osoittavat, kuinka yksikerroksisen hermoverkon avulla ratkaistaan ​​lämpötilan muuntaminen Fahrenheitista Celsius-asteiksi.

Tämä on todellakin erittäin selkeä esimerkki. Istun edelleen täällä ja mietin, kuinka keksiä ja ratkaista samanlainen ongelma, mutta vain sähköasentajille.

Valitettavasti pysähdyin pidemmälle, koska käsittämättömien asioiden oppiminen vieraalla kielellä on melko vaikeaa. Se, minkä löysin Habrelta, pelasti minut tämän kurssin käännös venäjäksi.

Käännös tehtiin laadukkaasti, myös Colab-muistikirjat käännettiin, joten katsoin sitten sekä alkuperäisen että käännöksen.

Oppitunti nro 3 on itse asiassa muunnelma virallisen TensorFlow-opetusohjelman materiaaleista. Tässä opetusohjelmassa käytämme monikerroksista hermoverkkoa oppiaksemme luokittelemaan vaatteiden kuvia (Fashion MNIST -tietosarja).

Oppitunnit nro 4-7 ovat myös opetusohjelman mukautuksia. Mutta koska ne on järjestetty oikein, opiskelujärjestystä ei tarvitse ymmärtää itse. Näillä tunneilla kerrotaan lyhyesti ultratarkoista neuroverkoista, kuinka koulutuksen tarkkuutta voidaan lisätä ja mallia tallentaa. Samalla ratkaisemme samalla ongelman kissojen ja koirien luokittelusta kuvassa.

Oppitunti nro 8 on täysin erillinen kurssi, siellä on eri opettaja ja itse kurssi on melko laaja. Oppitunti käsittelee aikasarjoja. Koska en ole vielä kiinnostunut siitä, skannasin sen vinosti.

Tämä päättyy oppituntiin #9, joka on kutsu ilmaiselle TensorFlow lite -kurssille.

Mistä pidit ja mistä et

Aloitan positiivisista asioista:

  • Kurssi on ilmainen
  • Kurssi on TensorFlow 2:lla. Jotkut näkemistäni oppikirjoista ja jotkut Internetin kurssit olivat TensorFlow 1:ssä. En tiedä onko siinä suurta eroa, mutta on mukavaa oppia nykyinen versio.
  • Videon opettajat eivät ole ärsyttäviä (vaikka venäläisessä versiossa he eivät lue niin iloisesti kuin alkuperäisessä)
  • Kurssi ei vie paljon aikaa
  • Kurssi ei aiheuta sinusta surullista tai toivotonta oloa. Kurssin tehtävät ovat yksinkertaisia ​​ja aina löytyy Colab-muotoinen vihje oikeaan ratkaisuun, jos jokin on epäselvää (ja reilu puolet tehtävistä jäi minulle epäselväksi)
  • Mitään ei tarvitse asentaa, kaikki kurssin laboratoriotyöt voidaan tehdä selaimessa

Nyt miinukset:

  • Valvontamateriaaleja ei käytännössä ole. Ei kokeita, ei tehtäviä, ei mitään, mikä jollain tavalla voisi tarkistaa kurssin hallinnan
  • Kaikki muistilehtiini eivät toimineet niin kuin pitäisi. Luulen, että alkuperäisen englanninkielisen kurssin kolmannella oppitunnilla Colab heitti virheen, enkä tiennyt mitä tehdä sen kanssa
  • Kätevä katsella vain tietokoneella. Ehkä en ymmärtänyt sitä täysin, mutta en löytänyt Udacity-sovellusta älypuhelimestani. Ja sivuston mobiiliversio ei ole responsiivinen, eli melkein koko näytön alue on navigointivalikon käytössä, mutta nähdäksesi pääsisällön sinun on vieritettävä oikealle katselualueen ulkopuolelle. Videota ei myöskään voi katsoa puhelimella. Et näe mitään näytöllä, joka on hieman yli 6 tuumaa.
  • Kurssilla joitain asioita pureskellaan useita kertoja, mutta samaan aikaan itse konvoluutioverkostojen todella tarpeelliset asiat jäävät pureskelematta kurssilla. En vieläkään ymmärtänyt joidenkin harjoitusten yleistä tarkoitusta (esimerkiksi mitä varten Max Pooling on tarkoitettu).

Yhteenveto

Varmasti jo arvasit, ettei ihmettä tapahtunut. Ja tämän lyhyen kurssin suorittamisen jälkeen on mahdotonta ymmärtää, kuinka hermoverkot toimivat.

En tietenkään pystynyt ratkaisemaan itsenäisesti ongelmaani kojeiston kytkimien ja painikkeiden valokuvien luokittelussa.

Mutta kaiken kaikkiaan kurssi on hyödyllinen. Se näyttää, mitä TensorFlow'lla voidaan tehdä ja mihin suuntaan seuraavaksi edetä.

Luulen, että minun on ensin opittava Pythonin perusteet ja luettava venäjänkielisiä kirjoja hermoverkkojen toiminnasta ja sitten otettava TensorFlow.

Lopuksi haluan kiittää ystäviäni siitä, että he kannustivat minua kirjoittamaan ensimmäisen artikkelin Habrista ja auttoivat minua muotoilemaan sen.

PS Otan mielelläni vastaan ​​kommenttejasi ja rakentavaa kritiikkiäsi.

Lähde: will.com

Lisää kommentti