Kako je energetski inženir študiral nevronske mreže in pregled brezplačnega tečaja “Udacity: Intro to TensorFlow for Deep Learning”

Vse svoje odraslo življenje sem bil energijska pijača (ne, zdaj ne govorimo o pijači z dvomljivimi lastnostmi).

Nikoli me svet informacijske tehnologije ni posebej zanimal, matrike na kos papirja pa komajda še množim. In tega nikoli nisem potreboval, da boste malo razumeli posebnosti mojega dela, lahko delim čudovito zgodbo. Enkrat sem prosil sodelavce, da delajo v Excelovi tabeli, minilo je že pol delovnika, stopim do njih, oni pa sedijo in seštevajo podatke na kalkulatorju, ja, na navadnem črnem kalkulatorju z gumbi. No, o kakšnih nevronskih mrežah lahko govorimo po tem?.. Zato nikoli nisem imel posebnih predpogojev, da bi se potopil v svet IT-ja. Toda, kot pravijo, "dobro je tam, kjer nas ni", moji prijatelji so mi brneli na ušesa o razširjeni resničnosti, o nevronskih mrežah, o programskih jezikih (predvsem o Pythonu).

Z besedami je bilo videti zelo preprosto in odločil sem se, zakaj ne bi obvladal te čarobne umetnosti, da bi jo uporabil na svojem področju dejavnosti.

V tem članku bom preskočil svoje poskuse obvladovanja osnov Pythona in z vami delil svoje vtise o brezplačnem tečaju TensorFlow podjetja Udacity.

Kako je energetski inženir študiral nevronske mreže in pregled brezplačnega tečaja “Udacity: Intro to TensorFlow for Deep Learning”

Predstavitev

Za začetek velja poudariti, da po 11 letih v energetiki, ko znaš in zmoreš vse in še malo več (v skladu z zadolžitvami), učenje radikalno novih stvari - po eni strani povzroča veliko navdušenje, ampak na drugi strani - spremeni v fizično bolečino "prestave v moji glavi."

Še vedno ne razumem povsem vseh osnovnih konceptov programiranja in strojnega učenja, zato me ne smete prestrogo obsojati. Upam, da bo moj članek zanimiv in uporaben za ljudi, kot sem jaz, ki so daleč od razvoja programske opreme.

Preden preidem na pregled tečaja, bom povedal, da boste za študij potrebovali vsaj minimalno znanje Pythona. Za telebane lahko prebereš par knjig (tudi jaz sem začela s tečajem o Stepicu, pa ga še nisem popolnoma obvladala).

Tečaj TensorFlow sam po sebi ne bo vseboval zapletenih konstruktov, vendar bo treba razumeti, zakaj so knjižnice uvožene, kako je definirana funkcija in zakaj je nekaj vanjo zamenjano.

Zakaj TensorFlow in Udacity?

Glavni cilj mojega usposabljanja je bila želja po prepoznavanju fotografij elementov elektroinštalacij s pomočjo nevronskih mrež.

TensorFlow sem izbral, ker sem zanj slišal od svojih prijateljev. In kolikor razumem, je ta tečaj precej priljubljen.

Poskušal sem se začeti učiti od uradnika vadnica .

In potem sem naletel na dve težavi.

  • Izobraževalnih gradiv je veliko in so na voljo v različnih različicah. Zelo težko mi je bilo ustvariti vsaj bolj ali manj popolno sliko reševanja problema razpoznavanja slik.
  • Večina člankov, ki jih potrebujem, ni prevedena v ruščino. Tako se je zgodilo, da sem se kot otrok naučil nemško in zdaj, kot mnogi sovjetski otroci, ne znam ne nemško ne angleško. Seveda sem skozi vse svoje odraslo življenje poskušal obvladati angleščino, vendar se je izkazalo nekaj takega kot na sliki.

Kako je energetski inženir študiral nevronske mreže in pregled brezplačnega tečaja “Udacity: Intro to TensorFlow for Deep Learning”

Ko sem brskal po uradni spletni strani, sem našel priporočila, ki jih je treba pregledati enega od dveh spletnih tečajev.

Kolikor razumem, je bil tečaj na Courseri plačan in tečaj Udacity: uvod v TensorFlow za poglobljeno učenje je bilo mogoče preiti »brezplačno, torej za nič«.

Vsebina tečaja

Tečaj je sestavljen iz 9 lekcij.

Že prvi del je uvodni, kjer vam bodo povedali, zakaj je to načeloma potrebno.

Lekcija št. 2 se je izkazala za mojo najljubšo. Bilo je dovolj preprosto za razumevanje in je tudi pokazalo čudeže znanosti. Skratka, v tej lekciji ustvarjalci poleg osnovnih informacij o nevronskih mrežah pokažejo, kako uporabiti enoslojno nevronsko mrežo za rešitev problema pretvorbe temperature iz Fahrenheita v Celzij.

To je res zelo jasen primer. Še vedno sedim tukaj in razmišljam, kako bi se domislil in rešil podoben problem, vendar samo za električarje.

Na žalost sem zastal še naprej, saj je učenje nerazumljivih stvari v neznanem jeziku kar težko. Rešilo me je to, kar sem našel na Habréju prevod tega predmeta v ruščino.

Prevod je bil narejen kvalitetno, prevedeni so bili tudi zvezki Colab, tako da sem si potem ogledal tako izvirnik kot prevod.

Lekcija št. 3 je pravzaprav priredba materialov iz uradne vadnice TensorFlow. V tej vadnici uporabljamo večplastno nevronsko mrežo, da se naučimo razvrščati slike oblačil (nabor podatkov Fashion MNIST).

Lekcije št. 4 do št. 7 so prav tako prilagoditev vadnice. Toda zaradi dejstva, da so pravilno urejeni, ni treba sami razumeti zaporedja študija. V teh lekcijah nam bodo na kratko povedali o ultra natančnih nevronskih mrežah, kako povečati natančnost usposabljanja in shraniti model. Hkrati bomo hkrati rešili problem razvrščanja mačk in psov na sliki.

Lekcija št. 8 je popolnoma ločen tečaj, ima drugega učitelja, sam tečaj pa je precej obsežen. Lekcija govori o časovni vrsti. Ker me še ne zanima, sem ga poskeniral po diagonali.

To se konča z lekcijo št. 9, ki je povabilo k brezplačnemu tečaju TensorFlow lite.

Kaj vam je bilo všeč in kaj vam ni bilo všeč

Začel bom s pozitivnimi točkami:

  • Tečaj je brezplačen
  • Tečaj poteka na TensorFlow 2. Nekateri učbeniki, ki sem jih videl, in nekateri tečaji na internetu so bili na TensorFlow 1. Ne vem, ali je velika razlika, vendar se je lepo učiti trenutne različice.
  • Učitelji v videu niso nadležni (čeprav v ruski različici ne berejo tako veselo kot v izvirniku)
  • Tečaj ne vzame veliko časa
  • Tečaj ne povzroča žalosti ali brezupnosti. Naloge pri tečaju so enostavne in vedno je namig v obliki Colaba s pravilno rešitvijo, če kaj ni jasno (in dobra polovica nalog mi ni bila jasna)
  • Ničesar ni treba namestiti, vse laboratorijske vaje tečaja lahko opravite v brskalniku

Zdaj pa slabosti:

  • Kontrolnih materialov praktično ni. Brez testov, brez nalog, ničesar, kar bi nekako preverjalo obvladovanje predmeta
  • Niso vse moje beležke delovale, kot bi morale. Mislim, da je Colab v tretji lekciji prvotnega tečaja v angleščini vrgel napako in nisem vedel, kaj naj naredim z njo
  • Priročno za gledanje samo na računalniku. Mogoče nisem popolnoma razumel, vendar nisem našel aplikacije Udacity na svojem pametnem telefonu. In mobilna različica spletnega mesta ni odzivna, to pomeni, da skoraj celotno območje zaslona zaseda navigacijski meni, a če si želite ogledati glavno vsebino, se morate pomakniti v desno čez območje za ogled. Prav tako videa ni mogoče gledati na telefonu. Na zaslonu, ki meri nekaj več kot 6 palcev, ne vidite ničesar.
  • Nekatere stvari na tečaju so večkrat prežvečene, hkrati pa se na tečaju ne prežvečijo res nujne stvari na samih konvolucijskih mrežah. Še vedno nisem razumel splošnega namena nekaterih vaj (na primer, čemu služi Max Pooling).

Povzetek

Zagotovo ste že uganili, da se čudež ni zgodil. In po zaključku tega kratkega tečaja je nemogoče zares razumeti, kako delujejo nevronske mreže.

Seveda nisem mogel samostojno rešiti svojega problema s klasifikacijo fotografij stikal in gumbov v stikalnih napravah.

Toda na splošno je tečaj koristen. Prikazuje, kaj je mogoče storiti s TensorFlow in v katero smer ubrati naprej.

Mislim, da se moram najprej naučiti osnov Pythona in prebrati knjige v ruščini o tem, kako delujejo nevronske mreže, nato pa se lotiti TensorFlow.

Na koncu bi se rad zahvalil svojim prijateljem, da so me spodbudili k pisanju prvega članka na Habru in mi ga pomagali oblikovati.

PS Vesel bom vaših komentarjev in morebitnih konstruktivnih kritik.

Vir: www.habr.com

Dodaj komentar