Kako je inženjer energetike proučavao neuronske mreže i pregled besplatnog tečaja “Udacity: Intro to TensorFlow for Deep Learning”

Cijeli svoj odrasli život bio sam energetsko piće (ne, sada ne govorimo o piću sumnjivih svojstava).

Nikada me nije posebno zanimao svijet informatike, a teško da mogu i množiti matrice na komadu papira. A ovo mi nikad nije trebalo, pa da malo shvatite specifičnosti mog posla, mogu podijeliti jednu divnu priču. Jednom sam zamolio kolege da rade u Excel tablici, prošlo je pola radnog dana, prišao sam im, a oni sjede i zbrajaju podatke na kalkulatoru, da, na običnom crnom kalkulatoru s gumbima. Pa, o kakvim neuronskim mrežama nakon ovoga možemo govoriti?.. Dakle, nikad nisam imao neke posebne preduvjete za poniranje u svijet IT-a. Ali, kako kažu, "dobro je tamo gdje nismo", prijatelji su mi zujali u ušima o proširenoj stvarnosti, o neuronskim mrežama, o programskim jezicima (uglavnom o Pythonu).

Riječima je to izgledalo vrlo jednostavno i odlučio sam zašto ne bih svladao ovu čarobnu umjetnost kako bih je primijenio u svom području djelovanja.

U ovom ću članku preskočiti svoje pokušaje svladavanja osnova Pythona i podijeliti s vama svoje dojmove o besplatnom tečaju TensorFlow tvrtke Udacity.

Kako je inženjer energetike proučavao neuronske mreže i pregled besplatnog tečaja “Udacity: Intro to TensorFlow for Deep Learning”

Uvod

Za početak, vrijedi napomenuti da nakon 11 godina rada u energetici, kada znaš i možeš sve, pa i malo više (prema obavezama), učenje radikalno novih stvari - s jedne strane izaziva veliki entuzijazam, ali s druge - pretvara u fizičku bol "zupčanici u mojoj glavi."

Još uvijek ne razumijem u potpunosti sve osnovne koncepte programiranja i strojnog učenja, stoga me ne biste trebali prestrogo osuđivati. Nadam se da će moj članak biti zanimljiv i koristan ljudima poput mene koji su daleko od razvoja softvera.

Prije nego prijeđem na pregled tečaja, reći ću da će vam za proučavanje biti potrebno barem minimalno znanje o Pythonu. Možete pročitati par knjiga za glupane (također sam počeo pohađati tečaj o Stepicu, ali ga još nisam u potpunosti savladao).

Sam tečaj TensorFlow neće sadržavati složene konstrukcije, ali bit će potrebno razumjeti zašto se biblioteke uvoze, kako se funkcija definira i zašto se nešto u nju zamjenjuje.

Zašto TensorFlow i Udacity?

Glavni cilj moje obuke bila je želja za prepoznavanjem fotografija elemenata elektroinstalacija pomoću neuronskih mreža.

Odabrao sam TensorFlow jer sam za njega čuo od svojih prijatelja. I koliko sam shvatio, ovaj tečaj je prilično popularan.

Pokušao sam početi učiti od službene osobe tutorial .

A onda sam naišao na dva problema.

  • Postoji mnogo obrazovnih materijala, a dolaze u različitim varijantama. Bilo mi je jako teško stvoriti barem koliko-toliko cjelovitu sliku rješavanja problema prepoznavanja slika.
  • Većina članaka koje trebam nije prevedena na ruski. Slučajno se dogodilo da sam kao dijete naučio njemački, a sada, kao i mnoga sovjetska djeca, ne znam ni njemački ni engleski. Naravno, tijekom svog odraslog života pokušavao sam savladati engleski, ali ispalo je nešto kao na slici.

Kako je inženjer energetike proučavao neuronske mreže i pregled besplatnog tečaja “Udacity: Intro to TensorFlow for Deep Learning”

Nakon kopanja po službenoj web stranici pronašao sam preporuke za proći jedan od dva on-line tečaja.

Koliko sam shvatio, tečaj na Courseri je plaćen, a tečaj Udacity: Uvod u TensorFlow za duboko učenje moglo se proći “besplatno, odnosno besplatno”.

Sadržaj predmeta

Tečaj se sastoji od 9 lekcija.

Prvi dio je uvodni, gdje će vam reći zašto je to u načelu potrebno.

Lekcija #2 pokazala se mojom najdražom. Bilo je dovoljno jednostavno za razumjeti, a također je pokazalo čuda znanosti. Ukratko, u ovoj lekciji, uz osnovne informacije o neuronskim mrežama, kreatori demonstriraju kako koristiti jednoslojnu neuronsku mrežu za rješavanje problema pretvorbe temperature iz Fahrenheita u Celzijeve stupnjeve.

Ovo je doista vrlo jasan primjer. Još uvijek sjedim ovdje i razmišljam kako smisliti i riješiti sličan problem, ali samo za električare.

Nažalost, zastao sam dalje, jer je učenje nerazumljivih stvari na nepoznatom jeziku prilično teško. Spasilo me ono što sam našao na Habréu prijevod ovog tečaja na ruski jezik.

Prijevod je urađen kvalitetno, prevedene su i Colabove bilježnice, pa sam onda pogledao i original i prijevod.

Lekcija br. 3 zapravo je adaptacija materijala iz službenog tutoriala TensorFlow. U ovom vodiču koristimo višeslojnu neuronsku mrežu da naučimo kako klasificirati slike odjeće (skup podataka Fashion MNIST).

Lekcije br. 4 do br. 7 također su adaptacija vodiča. Ali zbog činjenice da su pravilno raspoređeni, nema potrebe da sami razumijete slijed proučavanja. U ovim lekcijama bit će nam ukratko rečeno o ultra-preciznim neuronskim mrežama, kako povećati točnost treninga i sačuvati model. Ujedno ćemo istovremeno riješiti problem klasifikacije mačaka i pasa na slici.

Lekcija broj 8 je potpuno zaseban tečaj, ima drugog profesora, a sam tečaj je prilično opsežan. Lekcija govori o vremenskoj seriji. Kako me to još ne zanima, skenirao sam ga dijagonalno.

Ovo završava lekcijom #9, koja je poziv za pohađanje besplatnog tečaja TensorFlow lite.

Što vam se svidjelo, a što nije

Počet ću s prednostima:

  • Tečaj je besplatan
  • Tečaj je na TensorFlowu 2. Neki udžbenici koje sam vidio i neki tečajevi na internetu bili su na TensorFlowu 1. Ne znam postoji li velika razlika, ali lijepo je učiti trenutnu verziju.
  • Učitelji u videu nisu dosadni (iako u ruskoj verziji ne čitaju tako veselo kao u originalu)
  • Tečaj ne oduzima puno vremena
  • Tečaj vas ne čini tužnim ili beznadnim. Zadaci u tečaju su jednostavni i uvijek postoji hint u obliku Colaba s točnim rješenjem ako nešto nije jasno (a dobra polovica zadataka mi nije bila jasna)
  • Nije potrebno ništa instalirati, sve laboratorijske vježbe kolegija moguće je obaviti u pregledniku

Sada nedostaci:

  • Kontrolnih materijala praktički nema. Nema testova, zadataka, ničega što bi nekako provjerilo savladanost kolegija
  • Nisu sve moje bilježnice radile kako bi trebale. Mislim da je u trećoj lekciji izvornog tečaja engleskog Colab izbacio pogrešku i nisam znao što učiniti s njom
  • Zgodno za gledanje samo na računalu. Možda nisam u potpunosti razumio, ali nisam mogao pronaći aplikaciju Udacity na svom pametnom telefonu. A mobilna verzija web mjesta nije responzivna, odnosno gotovo cijelo područje zaslona zauzima navigacijski izbornik, ali da biste vidjeli glavni sadržaj, morate se pomaknuti udesno izvan područja za gledanje. Također, video se ne može pogledati na telefonu. Ne možete baš ništa vidjeti na ekranu veličine nešto više od 6 inča.
  • Neke stvari u tečaju se prežvaču nekoliko puta, ali u isto vrijeme, stvarno potrebne stvari na samim konvolucijskim mrežama se ne prežvaču u tečaju. I dalje nisam razumio opću svrhu nekih vježbi (na primjer, čemu služi Max Pooling).

Rezime

Sigurno ste već pogodili da se čudo nije dogodilo. A nakon završetka ovog kratkog tečaja nemoguće je doista razumjeti kako funkcioniraju neuronske mreže.

Naravno, nisam mogao samostalno riješiti svoj problem s klasifikacijom fotografija prekidača i gumba u rasklopnim uređajima.

Ali općenito je tečaj koristan. Pokazuje što se sve može učiniti s TensorFlowom i kojim smjerom krenuti dalje.

Mislim da prvo trebam naučiti osnove Pythona i pročitati knjige na ruskom o tome kako funkcioniraju neuronske mreže, a onda krenuti s TensorFlowom.

Na kraju bih se htio zahvaliti svojim prijateljima što su me potaknuli da napišem prvi članak na Habru i pomogli mi da ga oblikujem.

PS Bit će mi drago vidjeti vaše komentare i svaku konstruktivnu kritiku.

Izvor: www.habr.com

Dodajte komentar