Hvordan en energiingeniør studerte nevrale nettverk og en gjennomgang av gratiskurset "Udacity: Intro to TensorFlow for Deep Learning"

Hele mitt voksne liv har jeg vært en energidrikk (nei, nå snakker vi ikke om en drink med tvilsomme egenskaper).

Jeg har aldri vært spesielt interessert i informasjonsteknologiens verden, og jeg kan knapt engang multiplisere matriser på et stykke papir. Og jeg trengte aldri dette, slik at du forstår litt om detaljene i arbeidet mitt, kan jeg dele en fantastisk historie. Jeg ba en gang kollegene mine gjøre jobben i et Excel-regneark, halve arbeidsdagen var gått, jeg gikk bort til dem, og de satt og summerte dataene på en kalkulator, ja, på en vanlig svart kalkulator med knapper. Vel, hva slags nevrale nettverk kan vi snakke om etter dette?.. Derfor har jeg aldri hatt noen spesielle forutsetninger for å fordype meg i IT-verdenen. Men, som de sier, "det er bra der vi ikke er," vennene mine surret mine ører om utvidet virkelighet, om nevrale nettverk, om programmeringsspråk (hovedsakelig om Python).

I ord så det veldig enkelt ut, og jeg bestemte meg for hvorfor ikke mestre denne magiske kunsten for å bruke den i mitt virkefelt.

I denne artikkelen vil jeg hoppe over mine forsøk på å mestre det grunnleggende i Python og dele mine inntrykk av det gratis TensorFlow-kurset fra Udacity med deg.

Hvordan en energiingeniør studerte nevrale nettverk og en gjennomgang av gratiskurset "Udacity: Intro to TensorFlow for Deep Learning"

Innledning

Til å begynne med er det verdt å merke seg at etter 11 år i energibransjen, når du vet og kan gjøre alt og enda litt mer (i henhold til ditt ansvar), å lære radikalt nye ting - på den ene siden forårsaker stor entusiasme, men på den andre - blir til fysisk smerte "gir i hodet mitt."

Jeg forstår fortsatt ikke helt alle de grunnleggende konseptene innen programmering og maskinlæring, så du bør ikke dømme meg for hardt. Jeg håper artikkelen min vil være interessant og nyttig for folk som meg som er langt unna programvareutvikling.

Før jeg går videre til kursoversikten, vil jeg si at for å studere den trenger du minst minimal kunnskap om Python. Du kan lese et par bøker for dummies (jeg har også begynt å ta et kurs om Stepic, men har ennå ikke mestret det helt).

Selve TensorFlow-kurset vil ikke inneholde komplekse konstruksjoner, men det vil være nødvendig å forstå hvorfor biblioteker importeres, hvordan en funksjon er definert, og hvorfor noe erstattes i den.

Hvorfor TensorFlow og Udacity?

Hovedmålet med opplæringen min var ønsket om å gjenkjenne fotografier av elektriske installasjonselementer ved bruk av nevrale nettverk.

Jeg valgte TensorFlow fordi jeg hørte om det fra vennene mine. Og slik jeg forstår det, er dette kurset ganske populært.

Jeg prøvde å begynne å lære av tjenestemannen opplæringen .

Og så fikk jeg to problemer.

  • Det finnes mye undervisningsmateriell, og det kommer i forskjellige varianter. Det var veldig vanskelig for meg å skape i det minste et mer eller mindre fullstendig bilde av løsningen av bildegjenkjenningsproblemet.
  • De fleste artiklene jeg trenger er ikke oversatt til russisk. Det skjedde at jeg lærte tysk som barn, og nå, som mange sovjetiske barn, kan jeg verken tysk eller engelsk. Selvfølgelig, gjennom hele mitt voksne liv, prøvde jeg å mestre engelsk, men det viste seg omtrent som på bildet.

Hvordan en energiingeniør studerte nevrale nettverk og en gjennomgang av gratiskurset "Udacity: Intro to TensorFlow for Deep Learning"

Etter å ha gravd rundt på den offisielle nettsiden, fant jeg anbefalinger å gå gjennom ett av to nettkurs.

Slik jeg forstår det ble kurset på Coursera betalt, og kurset Udacity: Introduksjon til TensorFlow for dyp læring det var mulig å passere "gratis, det vil si for ingenting."

Kursinnhold

Kurset består av 9 leksjoner.

Den aller første delen er innledende, hvor de vil fortelle deg hvorfor det er nødvendig i prinsippet.

Leksjon #2 viste seg å være min favoritt. Det var enkelt nok å forstå og demonstrerte også vitenskapens underverk. Kort sagt, i denne leksjonen, i tillegg til grunnleggende informasjon om nevrale nettverk, demonstrerer skaperne hvordan man bruker et enkeltlags nevralt nettverk for å løse problemet med å konvertere temperatur fra Fahrenheit til Celsius.

Dette er virkelig et veldig tydelig eksempel. Jeg sitter fortsatt her og tenker på hvordan jeg skal komme opp med og løse et lignende problem, men bare for elektrikere.

Dessverre stoppet jeg videre, fordi å lære uforståelige ting på et ukjent språk er ganske vanskelig. Det som reddet meg var det jeg fant på Habré oversettelse av dette kurset til russisk.

Oversettelsen ble gjort med høy kvalitet, Colab-notatbøkene ble også oversatt, så jeg så på både originalen og oversettelsen.

Leksjon nr. 3 er faktisk en tilpasning av materialer fra den offisielle TensorFlow-opplæringen. I denne opplæringen bruker vi et flerlags nevralt nettverk for å lære å klassifisere bilder av klær (Fashion MNIST datasett).

Leksjon nr. 4 til nr. 7 er også en tilpasning av veiledningen. Men på grunn av det faktum at de er riktig ordnet, er det ikke nødvendig å forstå studiesekvensen selv. I disse leksjonene vil vi kort bli fortalt om ultrapresise nevrale nettverk, hvordan man kan øke nøyaktigheten av trening og lagre modellen. Samtidig vil vi løse problemet med å klassifisere katter og hunder i bildet.

Leksjon nr. 8 er et helt eget kurs, det er en annen lærer, og selve kurset er ganske omfattende. Leksjonen handler om tidsserier. Siden jeg ikke er interessert i det ennå, skannet jeg det diagonalt.

Dette avsluttes med leksjon #9, som er en invitasjon til å ta et gratis kurs i TensorFlow lite.

Hva du likte og ikke likte

Jeg starter med det positive:

  • Kurset er gratis
  • Kurset er på TensorFlow 2. Noen lærebøker jeg så og noen kurs på Internett var på TensorFlow 1. Jeg vet ikke om det er stor forskjell, men det er fint å lære den gjeldende versjonen.
  • Lærerne i videoen er ikke irriterende (selv om de i den russiske versjonen ikke leser like muntert som i originalen)
  • Kurset tar ikke mye tid
  • Kurset får deg ikke til å føle deg trist eller håpløs. Oppgavene i kurset er enkle og det er alltid et hint i form av Colab med riktig løsning hvis noe ikke er klart (og en god del av oppgavene var ikke klare for meg)
  • Det er ikke nødvendig å installere noe, alt laboratoriearbeid på kurset kan gjøres i nettleseren

Nå ulempene:

  • Det er praktisk talt ingen kontrollmaterialer. Ingen tester, ingen oppgaver, ingenting for på en eller annen måte å kontrollere mestringen av kurset
  • Ikke alle notatblokkene mine fungerte som de skulle. Jeg tror i den tredje leksjonen av det originale kurset i engelsk Colab kastet en feil og jeg visste ikke hva jeg skulle gjøre med den
  • Praktisk å se kun på en datamaskin. Kanskje jeg ikke helt forsto det, men jeg kunne ikke finne Udacity-appen på smarttelefonen min. Og mobilversjonen av nettstedet er ikke responsiv, det vil si at nesten hele skjermområdet er okkupert av navigasjonsmenyen, men for å se hovedinnholdet må du bla til høyre utenfor visningsområdet. Videoen kan heller ikke ses på telefonen. Du kan egentlig ikke se noe på en skjerm som måler litt over 6 tommer.
  • Noen ting i kurset tygges over flere ganger, men samtidig tygges ikke de virkelig nødvendige tingene på selve konvolusjonsnettverket opp i kurset. Jeg forsto fortsatt ikke det overordnede formålet med noen av øvelsene (for eksempel hva Max Pooling er for).

Oppsummering

Du har sikkert allerede gjettet at miraklet ikke skjedde. Og etter å ha fullført dette korte kurset, er det umulig å virkelig forstå hvordan nevrale nettverk fungerer.

Etter dette klarte jeg selvfølgelig ikke å løse problemet mitt på egen hånd med klassifiseringen av fotografier av brytere og knapper i bryterutstyr.

Men generelt sett er kurset nyttig. Den viser hvilke ting som kan gjøres med TensorFlow og hvilken retning du skal ta videre.

Jeg tror jeg først må lære det grunnleggende om Python og lese bøker på russisk om hvordan nevrale nettverk fungerer, og deretter ta fatt på TensorFlow.

Avslutningsvis vil jeg takke vennene mine for at de presset meg til å skrive den første artikkelen om Habr og hjalp meg med å formatere den.

PS Jeg vil bli glad for å se kommentarene dine og eventuell konstruktiv kritikk.

Kilde: www.habr.com

Legg til en kommentar