Tudatos életem minden percében energetikus voltam (nem, most nem egy kétes tulajdonságú italról beszélek).
Soha nem érdekelt igazán az informatikai világ, és valószínűleg még a mátrixokat sem tudnám papíron meg szorozni. De ezt soha nem is kellett tudnom, hogy értsenek a munkám sajátosságairól, mesélhetek egy csodás történetet. Egyszer kértem a kollégáimat, hogy készítsenek el egy munkát Excelben – eltelt a munkaidő fele, odamentem hozzájuk, és ők a kalkulátorral összegezték az adatokat, igen, egy sima fekete kalkulátorral gombokkal. Hát miről beszélhetünk itt a neurális hálózatokkal kapcsolatban?... Szóval soha nem voltak különleges előzményeim az IT világába való merüléshez. De, ahogy mondani szokás: „jó ott, ahol mi nem vagyunk”, a barátaim folyton arról beszéltek, hogy kiterjesztett valóságról, neurális hálózatokról és programozási nyelvekről (főleg a Pythonról).
Szóban nagyon egyszerűnek tűnt, ezért úgy döntöttem, miért ne tanulnám meg ezt a varázslatos mesterséget, hogy alkalmazhassam a munkámban.
Ebben a cikkben kihagyom a Python alapjainak elsajátítására tett kísérleteimet, és megosztom veletek az ingyenes TensorFlow kurzusról szerzett tapasztalataimat az Udacitytól.

Bevezetés
Először is meg kell jegyezni, hogy 11 év energetikában eltöltött idő után, amikor mindent tudsz és tudsz csinálni, sőt, még egy kicsit többet is (a feladatkörödön belül), a radikálisan új dolgok tanulása – egyrészt heves lelkesedést vált ki, de másrészt fizikai fájdalmat is „fogaskerekek” a fejben.
Még mindig nem értem teljesen a programozás és a gépi tanulás alapvető fogalmait, ezért szigorúan ne bíráljatok. Remélem, hogy a cikkem érdekes és hasznos lesz hasonló emberek számára, akik távol állnak a szoftverfejlesztéstől.
Mielőtt áttérnék a kurzus áttekintésére, elmondom, hogy a tanulásához legalább minimális Python tudás szükséges. Olvasni lehet néhány kezdőknek szóló könyvet (én még elkezdtem egy kurzust a Stepic-en, de azt még nem fejeztem be).
A TensorFlow kurzusban nem lesznek bonyolult konstrukciók, de fontos lesz érteni, hogy miért importálunk könyvtárakat, hogyan határozzuk meg a funkciót, és miért helyettesítünk be valamit.
Miért éppen TensorFlow és Udacity?
A tanulmányom fő célja az volt, hogy neuronhálózatok segítségével fel tudjam ismerni az elektromos berendezések fényképeit.
A TensorFlow-t azért választottam, mert a barátaimtól hallottam róla. És ahogy megértettem, ez a tanfolyam eléggé népszerű.
Megpróbáltam az hivatalos .
és rögtön két problémába ütköztem.
- Sok tananyag van, de szétszórt módon. Nagyon nehéz volt számomra összerakni legalább egy viszonylag egységes képet a képfelismerési feladat megoldásáról.
- A legfontosabb cikkek többsége nincs lefordítva oroszra. Úgy alakult, hogy gyerekkoromban németet tanultam, és most, akárcsak sok szovjet gyerek, sem németül, sem angolul nem tudok. Persze, az életem tudatos részében próbáltam elsajátítani az angolt, de ez körülbelül olyan lett, mint a képen.

További kutatás után a hivatalos webhelyen találtam javaslatokat arra, hogy végezzem el .
Amint megértettem, a Coursera tanfolyam fizetős volt, míg a tanfolyam ingyenesen, vagyis díjmentesen, elérhető volt.
A tanfolyam tartalma
A tanfolyam 9 leckéből áll.
Az első szekció bevezető jellegű, ott arról lesz szó, hogy mire is van szükség egyáltalán.
A 2. lecke lett a kedvencem. Elég egyszerű volt ahhoz, hogy megértsük, és csodálatos tudományos érdekességeket is bemutatott. Röviden összefoglalva, ebben a leckében, a neuronhálózatok alapjain kívül, a készítők bemutatják, hogyan lehet egy egyrétegű neuronháló segítségével a hőmérsékletet Fahrenheit fokból Celsius fokba átvinni.
Ez valóban egy nagyon szemléletes példa. Még mindig azon gondolkodom, hogyan tudnék kitalálni és megoldani egy hasonló feladatot, de csak az elektromosság terén.
Sajnos, ott megakadtam, mert nehéz érthetetlen dolgokat tanulni ismeretlen nyelven. Az mentett meg, hogy rátaláltam a Habr-on .
A fordítás jól készült, a Colab jegyzetek is le lettek fordítva, így később az eredetiben és a fordításban is nézelődtem.
A 3. lecke lényegében a TensorFlow hivatalos tutoráljának anyagának átültetése. Ebben a leckében egy többrétegű neuronháló segítségével megtanuljuk, hogyan kell a ruhákról készült képeket klasszifikálni (Fashion MNIST adathalmozás).
A 4-7. leckék szintén a tutorial átírásai. Azonban mivel ügyesen vannak összeállítva, nincs szükség arra, hogy saját magunknak átnézzük a tanulási sorrendet. Ezekben a leckékben röviden beszélnek a szuperpontos neurális hálózatokról, arról, hogyan növelhetjük a tanulás pontosságát és megtarthatjuk a modellt. Eközben pedig a kutyák és macskák képekben történő osztályozásának feladatát is megoldjuk.
A 8. leckét teljesen külön tanfolyának tekinthetjük, ott más oktató van, és magának a tanfolyamnak a terjedelme is jelentős. A lecke az időbeli sorozatokkal foglalkozik. Mivel ez még nem érdekel, csak átfutottam rajta.
Az utolsó 9. lecke egy meghívás a TensorFlow lite ingyenes tanfolyamra.
Ami tetszett és ami nem
Kezdem a pozitívumokkal:
- A tanfolyam ingyenes
- A tanfolyam TensorFlow 2-ről szól. Néhány könyv, amit láttam, és néhány online tanfolyam TensorFlow 1-ről volt. Nem tudom, mekkora a különbség, de kellemes aktuális verziót tanulni.
- A videós oktatók nem idegesítenek (bár az orosz verzióban nem olvassák olyan lendületesen, mint az eredetiben)
- A tanfolyam nem vesz el sok időt
- A tanfolyam nem borít el katasztrófaérzéssel és kilátástalansággal. A feladatok egyszerűek, és mindig van egy Colab-os útmutató a helyes megoldással, ha valami nem világos (a feladatok jó felével nem voltam tisztában)
- Nem kell semmit telepíteni, a tanfolyam összes laboratóriumi munkája elvégezhető a böngészőben
Most jöjjenek a negatívumok:
- Gyakorlatilag nincsenek ellenőrző anyagok. Nincs teszt, feladat, semmi, amivel bármilyen módon ellenőrizhetnénk a tanfolyam elsajátítását
- Nem minden notebook működött megfelelően. Úgy gondolom, hogy a harmadik leckében az angol nyelvű eredeti tanfolyamon a Colab hibát jelezett, és nem tudtam, mit kell tennem vele
- Csak számítógépen kényelmes nézni. Lehet, hogy nem értettem meg teljesen, de a mobiltelefonon nem találtam Udacity alkalmazást. Az oldal mobil verziója nem adaptív, azaz a navigációs menü majdnem az egész képernyőt elfoglalja, de ahhoz, hogy láthassuk a fő tartalmat, jobbra kell görgetni a nézeti területen kívülre. Ezen kívül a videókat nem lehet megnézni telefonon. A 6 hüvelyk méretű képernyőn nem sokat lehet látni.
- Néhány dolgot többször is elmagyaráznak a kurzus során, de a tényleg szükséges információk a konvolúciós hálózatokról nem kerülnek kifejtésre. Én magam sem értettem meg, mi a globális célja egyes feladatoknak (például miért van szükség a Max Poolingra).
Összefoglaló
Bizonyára már kitaláltad, hogy csoda nem történt. És a rövid kurzus elvégzése után nem lehet igazán megérteni, hogyan működnek a neurális hálózatok.
Természetesen nem tudtam egyedül megoldani a feladatomat, amely a kapcsolók és gombok fotóinak osztályozására vonatkozott elosztóberendezésekben.
De összességében a kurzus hasznos. Megmutatja, milyen dolgokat lehet tenni a TensorFlow-val, és milyen irányba érdemes tovább lépni.
Azt hiszem, először meg kell tanulnom a Python alapjait, és el kell olvasnom oroszul könyveket arról, hogyan működnek a neurális hálózatok, mielőtt belekezdenék a TensorFlow-ba.
A végén szeretném megköszönni a barátaimnak, hogy ösztönöztek, hogy megírjam az első cikkemet a 'Habr'-on, és segítettek annak megformálásában.
P.S. Örömmel várom a kommentjeiteket és bármilyen konstruktív kritikát.
Forrás: habr.com
