Hur en energiingenjör studerade neurala nätverk och en recension av gratiskursen "Udacity: Intro to TensorFlow for Deep Learning"

Hela mitt vuxna liv har jag varit en energidryck (nej, nu pratar vi inte om en drink med tveksamma egenskaper).

Jag har aldrig varit särskilt intresserad av informationsteknologins värld och jag kan knappt ens multiplicera matriser på ett papper. Och jag behövde aldrig det här, så att du förstår lite om detaljerna i mitt arbete kan jag dela med mig av en underbar historia. Jag bad en gång mina kollegor att göra jobbet i ett Excel-kalkylblad, halva arbetsdagen hade gått, jag gick fram till dem, och de satt och summerade uppgifterna på en miniräknare, ja, på en vanlig svart miniräknare med knappar. Nåväl, vad för slags neurala nätverk kan vi prata om efter detta?.. Därför hade jag aldrig några speciella förutsättningar för att fördjupa mig i IT-världen. Men, som de säger, "det är bra där vi inte är", mina vänner surrade i mina öron om förstärkt verklighet, om neurala nätverk, om programmeringsspråk (främst om Python).

I ord såg det väldigt enkelt ut, och jag bestämde mig för varför inte behärska denna magiska konst för att tillämpa den inom mitt verksamhetsområde.

I den här artikeln hoppar jag över mina försök att bemästra grunderna i Python och delar med mig av mina intryck av den kostnadsfria TensorFlow-kursen från Udacity.

Hur en energiingenjör studerade neurala nätverk och en recension av gratiskursen "Udacity: Intro to TensorFlow for Deep Learning"

Inledning

Till att börja med är det värt att notera att efter 11 år i energibranschen, när du vet och kan göra allt och till och med lite mer (enligt ditt ansvar), att lära sig radikalt nya saker - å ena sidan orsakar stor entusiasm, men å andra sidan - förvandlas till fysisk smärta "växlar i mitt huvud."

Jag förstår fortfarande inte helt alla grundläggande begrepp inom programmering och maskininlärning, så du ska inte döma mig för hårt. Jag hoppas att min artikel kommer att vara intressant och användbar för människor som mig som är långt ifrån mjukvaruutveckling.

Innan jag går vidare till kursöversikten kommer jag att säga att för att studera den behöver du åtminstone minimal kunskap om Python. Du kan läsa ett par böcker för dummies (jag har också börjat gå en kurs om Stepic, men har ännu inte bemästrat den helt).

Själva TensorFlow-kursen kommer inte att innehålla komplexa konstruktioner, men det kommer att vara nödvändigt att förstå varför bibliotek importeras, hur en funktion definieras och varför något ersätts i den.

Varför TensorFlow och Udacity?

Huvudmålet med min utbildning var önskan att känna igen fotografier av elektriska installationselement med hjälp av neurala nätverk.

Jag valde TensorFlow för att jag hörde talas om det från mina vänner. Och som jag förstår det är den här kursen ganska populär.

Jag försökte börja lära mig av tjänstemannen handledning .

Och sedan stötte jag på två problem.

  • Det finns en hel del utbildningsmaterial, och de finns i olika varianter. Det var väldigt svårt för mig att skapa åtminstone en mer eller mindre komplett bild av att lösa problemet med bildigenkänning.
  • De flesta av de artiklar jag behöver har inte översatts till ryska. Det råkade bara vara så att jag lärde mig tyska som barn och nu, som många sovjetiska barn, kan jag varken tyska eller engelska. Självklart försökte jag under hela mitt vuxna liv behärska engelska, men det blev ungefär som på bilden.

Hur en energiingenjör studerade neurala nätverk och en recension av gratiskursen "Udacity: Intro to TensorFlow for Deep Learning"

Efter att ha grävt runt på den officiella webbplatsen hittade jag rekommendationer att gå igenom en av två onlinekurser.

Som jag förstår det var kursen på Coursera betald, och kursen Udacity: Introduktion till TensorFlow för djupinlärning det var möjligt att passera "gratis, det vill säga för ingenting."

Kursinnehåll

Kursen består av 9 lektioner.

Det allra första avsnittet är inledande, där de kommer att berätta varför det behövs i princip.

Lektion #2 visade sig vara min favorit. Det var tillräckligt enkelt att förstå och visade också vetenskapens underverk. Kort sagt, i den här lektionen, förutom grundläggande information om neurala nätverk, visar skaparna hur man använder ett enskiktigt neuralt nätverk för att lösa problemet med att konvertera temperatur från Fahrenheit till Celsius.

Detta är verkligen ett mycket tydligt exempel. Jag sitter fortfarande här och funderar på hur jag ska komma på och lösa ett liknande problem, men bara för elektriker.

Tyvärr stannade jag ytterligare, för att lära mig obegripliga saker på ett okänt språk är ganska svårt. Det som räddade mig var det jag hittade på Habré översättning av denna kurs till ryska.

Översättningen gjordes med hög kvalitet, även Colab-anteckningsböckerna översattes, så jag tittade sedan på både originalet och översättningen.

Lektion nr 3 är i själva verket en anpassning av material från den officiella TensorFlow-handledningen. I den här handledningen använder vi ett neuralt nätverk i flera lager för att lära oss hur man klassificerar bilder av kläder (Fashion MNIST dataset).

Lektionerna nr 4 till nr 7 är också en anpassning av handledningen. Men på grund av det faktum att de är korrekt arrangerade finns det inget behov av att förstå studiesekvensen själv. I dessa lektioner kommer vi kort att berätta om ultraprecisa neurala nätverk, hur man kan öka noggrannheten i träningen och spara modellen. Samtidigt kommer vi att lösa problemet med att klassificera katter och hundar i bilden.

Lektion nr 8 är en helt separat kurs, det finns en annan lärare och själva kursen är ganska omfattande. Lektionen handlar om tidsserier. Eftersom jag inte är intresserad av den än så skannade jag den diagonalt.

Detta avslutas med lektion #9, som är en inbjudan att gå en gratis kurs i TensorFlow lite.

Vad du gillade och inte gillade

Jag börjar med proffsen:

  • Kursen är gratis
  • Kursen är på TensorFlow 2. Vissa läroböcker som jag såg och några kurser på Internet var på TensorFlow 1. Jag vet inte om det är någon stor skillnad, men det är trevligt att lära sig den aktuella versionen.
  • Lärarna i videon är inte irriterande (även om de i den ryska versionen inte läser lika glatt som i originalet)
  • Kursen tar inte mycket tid
  • Kursen får dig inte att känna dig ledsen eller hopplös. Uppgifterna i kursen är enkla och det finns alltid en hint i form av Colab med rätt lösning om något inte är klart (och drygt hälften av uppgifterna var otydliga för mig)
  • Det finns inget behov av att installera något, alla laborationer av kursen kan göras i webbläsaren

Nu nackdelarna:

  • Det finns praktiskt taget inga kontrollmaterial. Inga tester, inga uppgifter, inget för att på något sätt kontrollera kursens behärskning
  • Alla mina anteckningsblock fungerade inte som de skulle. Jag tror att i den tredje lektionen av den ursprungliga kursen i engelska Colab kastade ett fel och jag visste inte vad jag skulle göra med det
  • Bekvämt att bara titta på en dator. Jag kanske inte förstod det helt, men jag kunde inte hitta Udacity-appen på min smartphone. Och den mobila versionen av sajten är inte responsiv, det vill säga nästan hela skärmområdet upptas av navigeringsmenyn, men för att se huvudinnehållet måste du scrolla till höger bortom visningsområdet. Videon kan inte heller ses på telefonen. Du kan egentligen inte se någonting på en skärm som mäter drygt 6 tum.
  • Vissa saker i kursen tuggas över flera gånger, men samtidigt tuggas inte de verkligt nödvändiga sakerna på själva faltningsnäten upp i kursen. Jag förstod fortfarande inte det övergripande syftet med några av övningarna (till exempel vad Max Pooling är till för).

Sammanfattning

Du har säkert redan gissat att miraklet inte hände. Och efter att ha genomfört denna korta kurs är det omöjligt att verkligen förstå hur neurala nätverk fungerar.

Naturligtvis efter detta kunde jag inte lösa mitt problem på egen hand med klassificeringen av fotografier av strömbrytare och knappar i ställverk.

Men överlag är kursen användbar. Den visar vilka saker som kan göras med TensorFlow och vilken riktning man ska ta härnäst.

Jag tror att jag först måste lära mig grunderna i Python och läsa böcker på ryska om hur neurala nätverk fungerar, och sedan ta mig an TensorFlow.

Avslutningsvis skulle jag vilja säga tack till mina vänner för att du pressade mig att skriva den första artikeln om Habr och hjälpte mig att formatera den.

PS Jag blir glad över att se dina kommentarer och all konstruktiv kritik.

Källa: will.com

Lägg en kommentar