Hogyan tanult egy energetikai mérnök a neurális hálózatokat és az „Udacity: Intro to TensorFlow for Deep Learning” ingyenes kurzus áttekintését

Egész felnőtt életemben energiaital voltam (nem, most nem egy kétes tulajdonságú italról beszélünk).

Soha nem érdekelt különösebben az informatika világa, és még mátrixokat is alig tudok szorozni egy papíron. És erre soha nem volt szükségem, hogy egy kicsit megértsétek munkám sajátosságait, megoszthatok egy csodálatos történetet. Egyszer megkértem a kollégáimat, hogy Excel-táblázatban végezzék el a munkát, eltelt a fél munkanap, odamentem hozzájuk, ők pedig ültek és egy számológépen összesítik az adatokat, igen, egy közönséges fekete gombos számológépen. Nos, ezek után milyen neurális hálózatokról beszélhetünk?.. Ezért soha nem volt különösebb előfeltételem, hogy elmerüljek az IT világában. De ahogy mondják, „jó ott, ahol nem vagyunk”, zúgták a fülemet a barátaim a kiterjesztett valóságról, a neurális hálózatokról, a programozási nyelvekről (főleg a Pythonról).

Szavakban nagyon egyszerűnek tűnt, és úgy döntöttem, miért nem sajátítom el ezt a varázslatos művészetet, hogy alkalmazhassam a tevékenységi körömben.

Ebben a cikkben kihagyom a Python alapjainak elsajátítására tett kísérleteimet, és megosztom veletek az Udacity ingyenes TensorFlow tanfolyamáról szerzett benyomásaimat.

Hogyan tanult egy energetikai mérnök a neurális hálózatokat és az „Udacity: Intro to TensorFlow for Deep Learning” ingyenes kurzus áttekintését

Bevezetés

Először is érdemes megjegyezni, hogy az energiaiparban eltöltött 11 év után, amikor az ember mindent tud és tud, sőt még egy kicsit többet is (feladatainak megfelelően), radikálisan új dolgok elsajátítása - egyrészt nagy lelkesedést vált ki, de másrészt - fizikai fájdalommá változik " fogaskerekek a fejemben."

Még mindig nem értem teljesen a programozás és a gépi tanulás összes alapfogalmát, ezért ne ítélj meg túl szigorúan. Remélem, hogy cikkem érdekes és hasznos lesz a hozzám hasonló emberek számára, akik távol állnak a szoftverfejlesztéstől.

Mielőtt rátérnénk a kurzus áttekintésére, elmondom, hogy annak tanulmányozásához legalább minimális Python-ismeretre lesz szüksége. El lehet olvasni pár könyvet a babáknak (én is elkezdtem járni Stepic tanfolyamra, de még nem sajátítottam el teljesen).

Maga a TensorFlow kurzus nem fog bonyolult konstrukciókat tartalmazni, de meg kell érteni, hogy miért importálnak könyvtárakat, hogyan definiálnak egy függvényt, és miért van behelyettesítve valami.

Miért TensorFlow és Udacity?

Képzésem fő célja az volt, hogy neurális hálózatok segítségével felismerjem a villanyszerelési elemek fényképeit.

A TensorFlow-t választottam, mert a barátaimtól hallottam róla. És ha jól értem, ez a tanfolyam nagyon népszerű.

Megpróbáltam elkezdeni tanulni a hivatalostól oktatóanyag .

És akkor két problémába ütköztem.

  • Rengeteg oktatóanyag létezik, és többféle változatban kaphatók. Nagyon nehéz volt legalább többé-kevésbé teljes képet alkotnom a képfelismerési probléma megoldásáról.
  • A legtöbb cikket, amire szükségem van, nem fordították le oroszra. Történt ugyanis, hogy gyerekként megtanultam németül, és most, mint sok szovjet gyerek, nem tudok sem németül, sem angolul. Természetesen egész felnőtt életemben próbáltam elsajátítani az angol nyelvet, de valami olyan lett, mint a képen.

Hogyan tanult egy energetikai mérnök a neurális hálózatokat és az „Udacity: Intro to TensorFlow for Deep Learning” ingyenes kurzus áttekintését

A hivatalos weboldalon való böngészés után ajánlásokat találtam, amelyeket végig kell nézni két online tanfolyam egyike.

Ha jól értem, a Coursera tanfolyam fizetős volt, és a tanfolyam Udacity: Bevezetés a TensorFlow-ba a mély tanuláshoz „ingyenesen, azaz semmiért” lehetett átadni.

Tanfolyam tartalom

A tanfolyam 9 tanórából áll.

A legelső rész bevezető, ahol elmondják, hogy elvileg miért van rá szükség.

A 2. lecke a kedvencemnek bizonyult. Elég egyszerű volt megérteni, és bemutatta a tudomány csodáit is. Röviden, ebben a leckében a neurális hálózatokkal kapcsolatos alapvető információkon túl az alkotók bemutatják, hogyan lehet egyrétegű neurális hálózatot használni a hőmérséklet Fahrenheit-ről Celsius-fokozatra való átalakításának problémájának megoldására.

Ez valóban egy nagyon világos példa. Még mindig itt ülök, és azon gondolkodom, hogyan találjak ki és oldjak meg egy hasonló problémát, de csak villanyszerelőknek.

Sajnos tovább akadtam, mert egy ismeretlen nyelven érthetetlen dolgokat tanulni elég nehéz. Az mentett meg, amit Habrén találtam ennek a kurzusnak a fordítása oroszra.

A fordítás minőségileg megtörtént, a Colab-füzeteket is lefordították, így aztán megnéztem az eredetit és a fordítást is.

A 3. lecke valójában a TensorFlow hivatalos oktatóanyagának adaptációja. Ebben az oktatóanyagban többrétegű neurális hálózatot használunk a ruhák képeinek osztályozására (Fashion MNIST adatkészlet).

A 4–7. leckék szintén az oktatóanyag adaptációi. De mivel helyesen vannak elrendezve, nem kell magának megértenie a tanulmányi sorrendet. Ezeken a leckéken röviden bemutatjuk az ultraprecíz neurális hálózatokat, hogyan lehet növelni a képzés pontosságát és elmenteni a modellt. Ezzel egyidejűleg megoldjuk a macskák és kutyák képen való osztályozásának problémáját is.

A 8. lecke egy teljesen külön tanfolyam, más tanár van, és maga a tanfolyam is elég terjedelmes. A lecke az idősorokról szól. Mivel még nem érdekel, átlósan beszkenneltem.

Ez a 9. leckével zárul, amely egy ingyenes TensorFlow lite tanfolyam elvégzésére való felhívás.

Mi tetszett és mi nem

Kezdem a profikkal:

  • A tanfolyam ingyenes
  • A kurzus TensorFlow 2-n van. Néhány tankönyv, amit láttam, és néhány kurzus az interneten, a TensorFlow 1-en szerepelt. Nem tudom, van-e nagy különbség, de jó megtanulni a jelenlegi verziót.
  • A videóban szereplő tanárok nem idegesítőek (bár az orosz verzióban nem olvasnak olyan vidáman, mint az eredetiben)
  • A tanfolyam nem sok időt vesz igénybe
  • A tanfolyam nem okoz szomorúságot vagy reménytelenséget. A kurzus feladatai egyszerűek, és mindig van egy tipp Colab formájában a helyes megoldással, ha valami nem világos (és a feladatok jó fele nem volt világos számomra)
  • Nem kell semmit telepíteni, a tanfolyam minden labormunkája elvégezhető a böngészőben

Most a hátrányok:

  • Gyakorlatilag nincsenek ellenőrző anyagok. Nincsenek tesztek, nincsenek feladatok, semmi, ami valahogy ellenőrizné a kurzus elsajátítását
  • Nem minden jegyzettömb működött úgy, ahogy kellene. Azt hiszem, az eredeti angol nyelvű kurzus harmadik órájában a Colab hibát dobott, és nem tudtam, mit kezdjek vele
  • Csak számítógépen kényelmesen nézhető. Lehet, hogy nem teljesen értettem, de nem találtam az Udacity alkalmazást az okostelefonomon. Az oldal mobil verziója pedig nem reszponzív, vagyis szinte a teljes képernyőterületet a navigációs menü foglalja el, de a fő tartalom megtekintéséhez jobbra kell görgetni a látómezőn túl. Ezenkívül a videót nem lehet megnézni telefonon. A valamivel több mint 6 hüvelykes képernyőn nem igazán látsz semmit.
  • Egyes dolgokat a kurzusban többször is átrágnak, ugyanakkor magukon a konvolúciós hálózatokon az igazán szükséges dolgokat nem rágják meg a tanfolyam során. Még mindig nem értettem néhány gyakorlat általános célját (például mire való a Max Pooling).

Összegzés

Bizonyára már sejtette, hogy a csoda nem történt meg. Ennek a rövid kurzusnak az elvégzése után pedig lehetetlen megérteni a neurális hálózatok működését.

Természetesen ezután már nem tudtam egyedül megoldani a problémámat a kapcsolóberendezések kapcsolóiról és gombjairól készült fényképek osztályozásával.

De összességében a tanfolyam hasznos. Megmutatja, hogy mit lehet tenni a TensorFlow-val, és milyen irányba kell továbblépni.

Azt hiszem, először meg kell tanulnom a Python alapjait, és orosz nyelvű könyveket kell olvasnom a neurális hálózatok működéséről, majd el kell fogadnom a TensorFlow-t.

Végezetül szeretném megköszönni a barátaimnak, hogy ösztönöztek, hogy megírjam az első cikket a Habrról, és segítettek megformázni.

Ui. Örömmel fogadom észrevételeit és bármilyen építő jellegű kritikáját.

Forrás: will.com

Hozzászólás