Jak energetický inženýr studoval neuronové sítě a recenze bezplatného kurzu „Udacity: Intro to TensorFlow for Deep Learning“

Celý svůj dospělý život jsem byl energetický nápoj (ne, teď se nebavíme o nápoji s pochybnými vlastnostmi).

Svět informačních technologií mě nikdy nijak zvlášť nezajímal a matice neumím násobit ani na kus papíru. A to jsem nikdy nepotřeboval, abyste trochu pochopili specifika mé práce, mohu se podělit o úžasný příběh. Jednou jsem požádal kolegy, aby udělali práci v excelové tabulce, uběhla půlka pracovního dne, šel jsem k nim a oni seděli a sčítali data na kalkulačce, ano, na obyčejné černé kalkulačce s tlačítky. No a o jakých neuronových sítích se po tomhle můžeme bavit?... Proto jsem nikdy neměl žádné speciální předpoklady se ponořit do světa IT. Ale jak se říká „je dobře tam, kde nejsme“, moji přátelé mi bzučeli v uších o rozšířené realitě, o neuronových sítích, o programovacích jazycích (hlavně o Pythonu).

Slovy to vypadalo velmi jednoduše a já se rozhodl, proč toto magické umění nezvládnout, abych ho mohl uplatnit ve svém oboru činnosti.

V tomto článku přeskočím své pokusy o zvládnutí základů Pythonu a podělím se s vámi o své dojmy z bezplatného kurzu TensorFlow od Udacity.

Jak energetický inženýr studoval neuronové sítě a recenze bezplatného kurzu „Udacity: Intro to TensorFlow for Deep Learning“

úvod

Pro začátek stojí za zmínku, že po 11 letech v energetice, kdy víte a umíte všechno a ještě trochu víc (podle vašich povinností), učení se radikálně novým věcem – na jedné straně způsobuje velké nadšení, ale na druhé straně - mění se ve fyzickou bolest " ozubená kola v mé hlavě."

Stále ještě úplně nerozumím všem základním konceptům programování a strojového učení, takže byste mě neměli odsuzovat příliš přísně. Doufám, že můj článek bude zajímavý a užitečný pro lidi jako já, kteří jsou daleko od vývoje softwaru.

Než přejdu k přehledu kurzu, řeknu, že k jeho studiu budete potřebovat alespoň minimální znalosti Pythonu. Můžete si přečíst pár knih pro figuríny (také jsem začal chodit na kurz Stepic, ale ještě jsem ho úplně nezvládl).

Samotný kurz TensorFlow nebude obsahovat složité konstrukce, ale bude nutné pochopit, proč se importují knihovny, jak je definována funkce a proč se do ní něco dosazuje.

Proč TensorFlow a Udacity?

Hlavním cílem mého školení byla touha rozpoznat fotografie elektroinstalačních prvků pomocí neuronových sítí.

Vybral jsem si TensorFlow, protože jsem o něm slyšel od svých přátel. A jak jsem pochopil, tento kurz je docela populární.

Snažil jsem se začít učit od úředníka tutorial .

A pak jsem narazil na dva problémy.

  • Vzdělávacích materiálů je spousta a přicházejí v různých variantách. Bylo pro mě velmi obtížné vytvořit si alespoň víceméně úplný obrázek o řešení problému s rozpoznáváním obrazu.
  • Většina článků, které potřebuji, nebyla přeložena do ruštiny. Náhodou jsem se jako dítě naučil německy a nyní, jako mnoho sovětských dětí, neumím německy ani anglicky. Samozřejmě jsem se celý svůj dospělý život snažil ovládat angličtinu, ale dopadlo to asi jako na obrázku.

Jak energetický inženýr studoval neuronové sítě a recenze bezplatného kurzu „Udacity: Intro to TensorFlow for Deep Learning“

Po prozkoumání oficiálních stránek jsem našel doporučení, která je třeba projít jeden ze dvou on-line kurzů.

Pokud tomu dobře rozumím, kurz na Coursera byl placený a kurz Udacity: Úvod do TensorFlow pro hluboké učení bylo možné projít „zdarma, tedy za nic“.

Obsah kurzu

Kurz se skládá z 9 lekcí.

Hned první sekce je úvodní, kde vám řeknou, proč je to v zásadě potřeba.

Lekce č. 2 se ukázala jako moje nejoblíbenější. Bylo to dost jednoduché na pochopení a také demonstrovalo zázraky vědy. Stručně řečeno, v této lekci tvůrci kromě základních informací o neuronových sítích demonstrují, jak pomocí jednovrstvé neuronové sítě vyřešit problém převodu teploty z Fahrenheita na Celsia.

Toto je skutečně velmi jasný příklad. Pořád tu sedím a přemýšlím, jak vymyslet a vyřešit podobný problém, ale jen pro elektrikáře.

Bohužel jsem se zasekl dál, protože naučit se nesrozumitelné věci v neznámém jazyce je dost těžké. Zachránilo mě to, co jsem našel na Habré překlad tohoto kurzu do ruštiny.

Překlad byl proveden kvalitně, byly přeloženy i sešity Colab, takže jsem se pak podíval na originál i překlad.

Lekce č. 3 je ve skutečnosti adaptací materiálů z oficiálního tutoriálu TensorFlow. V tomto tutoriálu používáme vícevrstvou neuronovou síť, abychom se naučili klasifikovat obrázky oblečení (dataset Fashion MNIST).

Lekce č. 4 až č. 7 jsou také adaptací tutoriálu. Ale vzhledem k tomu, že jsou správně uspořádány, není třeba sami rozumět sledu studia. V těchto lekcích si stručně řekneme o ultra-přesných neuronových sítích, jak zvýšit přesnost tréninku a uložit model. Zároveň budeme souběžně řešit problém zařazování koček a psů do obrázku.

Lekce č. 8 je zcela samostatný kurz, je zde jiný lektor a kurz samotný je poměrně rozsáhlý. Lekce je o časových řadách. Jelikož mě to zatím nezajímá, naskenoval jsem to diagonálně.

To končí lekcí č. 9, která je pozvánkou k bezplatnému kurzu TensorFlow lite.

Co se vám líbilo a nelíbilo

Začnu klady:

  • Kurz je zdarma
  • Kurz je na TensorFlow 2. Některé učebnice, které jsem viděl, a některé kurzy na internetu byly na TensorFlow 1. Nevím, jestli je v tom velký rozdíl, ale je fajn se naučit aktuální verzi.
  • Učitelé ve videu nejsou otravní (i když v ruské verzi nečtou tak vesele jako v originále)
  • Kurz nezabere mnoho času
  • Kurz ve vás nevyvolá smutek ani beznaděj. Úkoly v kurzu jsou jednoduché a vždy je tam nápověda v podobě Colabu se správným řešením, pokud něco není jasné (a dobrá polovina úkolů mi nebyla jasná)
  • Není potřeba nic instalovat, veškeré laboratorní práce kurzu lze provádět v prohlížeči

Nyní zápory:

  • Neexistují prakticky žádné kontrolní materiály. Žádné testy, žádné úkoly, nic, co by nějak prověřilo zvládnutí kurzu
  • Ne všechny moje poznámkové bloky fungovaly tak, jak měly. Myslím, že ve třetí lekci původního kurzu angličtiny Colab házel chybu a nevěděl jsem, co s tím dělat
  • Pohodlné sledování pouze na počítači. Možná jsem tomu úplně nerozuměl, ale aplikaci Udacity jsem na svém smartphonu nenašel. A mobilní verze webu není responzivní, to znamená, že téměř celou plochu obrazovky zabírá navigační nabídka, ale abyste viděli hlavní obsah, musíte se posunout doprava za oblast zobrazení. Video také nelze zobrazit na telefonu. Na obrazovce o úhlopříčce něco málo přes 6 palců opravdu nic neuvidíte.
  • Některé věci v kurzu se přežvýkají vícekrát, ale zároveň se v kurzu nerozkousají skutečně potřebné věci na samotných konvolučních sítích. Stále jsem nepochopil celkový účel některých cvičení (například k čemu slouží Max Pooling).

Shrnutí

Jistě už tušíte, že se zázrak nestal. A po absolvování tohoto krátkého kurzu je nemožné skutečně pochopit, jak fungují neuronové sítě.

Samozřejmě jsem poté nebyl schopen sám vyřešit svůj problém s klasifikací fotografií spínačů a tlačítek v rozvaděčích.

Celkově je ale kurz užitečný. Ukazuje, co lze s TensorFlow dělat a jakým směrem se dále vydat.

Myslím, že se nejprve musím naučit základy Pythonu a přečíst si knihy v ruštině o tom, jak fungují neuronové sítě, a pak se pustit do TensorFlow.

Na závěr bych chtěl poděkovat svým přátelům za to, že mě dotlačili k napsání prvního článku o Habrovi a pomohli mi ho zformátovat.

PS Budu rád za vaše komentáře a jakoukoliv konstruktivní kritiku.

Zdroj: www.habr.com

Přidat komentář