Kiel energia inĝeniero studis neŭralaj retoj kaj revizion de la senpaga kurso "Udacity: Enkonduko al TensorFlow por Profunda Lernado"

Dum mia tuta plenkreska vivo, mi estis energia trinkaĵo (ne, nun ni ne parolas pri trinkaĵo kun dubindaj propraĵoj).

Mi neniam aparte interesiĝis pri la mondo de informadiko, kaj mi apenaŭ povas eĉ multobligi matricojn sur papero. Kaj mi neniam bezonis ĉi tion, por ke vi komprenu iomete pri la specifaĵoj de mia laboro, mi povas kunhavi mirindan rakonton. Mi iam petis miajn kolegojn fari la laboron en Excel-kalkultabelo, duono de la labortago pasis, mi aliris al ili, kaj ili sidis kaj resumis la datumojn sur kalkulilo, jes, sur ordinara nigra kalkulilo kun butonoj. Nu, pri kiaj neŭralaj retoj ni povas paroli post ĉi tio?.. Tial mi neniam havis specialajn antaŭkondiĉojn por mergi min en la mondon de IT. Sed, kiel oni diras, "estas bone kie ni ne estas", miaj amikoj zumis miajn orelojn pri pliigita realeco, pri neŭralaj retoj, pri programlingvoj (ĉefe pri Python).

Vorte ĝi aspektis tre simpla, kaj mi decidis kial ne regi ĉi tiun magian arton por apliki ĝin en mia agadkampo.

En ĉi tiu artikolo, mi preterlasos miajn provojn regi la bazaĵojn de Python kaj dividos kun vi miajn impresojn pri la senpaga kurso TensorFlow de Udacity.

Kiel energia inĝeniero studis neŭralaj retoj kaj revizion de la senpaga kurso "Udacity: Enkonduko al TensorFlow por Profunda Lernado"

Enkonduko

Komence, indas rimarki, ke post 11 jaroj en la energia industrio, kiam vi scias kaj povas fari ĉion kaj eĉ iom pli (laŭ viaj respondecoj), lerni radikale novajn aferojn - unuflanke, kaŭzas grandan entuziasmon, sed aliflanke - iĝas fizika doloro " dentaĵoj en mia kapo."

Mi ankoraŭ ne plene komprenas ĉiujn bazajn konceptojn pri programado kaj maŝinlernado, do vi ne juĝu min tro severe. Mi esperas, ke mia artikolo estos interesa kaj utila al homoj kiel mi, kiuj estas malproksime de programaro.

Antaŭ ol transiri al la kursa superrigardo, mi diros, ke por studi ĝin vi bezonos almenaŭ minimuman scion pri Python. Vi povas legi kelkajn librojn por maniloj (mi ankaŭ komencis sekvi kurson pri Stepic, sed ankoraŭ ne tute regis ĝin).

La TensorFlow-kurso mem ne enhavos kompleksajn konstrukciojn, sed estos necese kompreni kial bibliotekoj estas importitaj, kiel funkcio estas difinita, kaj kial io estas anstataŭigita en ĝi.

Kial TensorFlow kaj Udacity?

La ĉefa celo de mia trejnado estis la deziro rekoni fotojn de elektraj instalaĵoj uzante neŭralaj retoj.

Mi elektis TensorFlow ĉar mi aŭdis pri ĝi de miaj amikoj. Kaj kiel mi komprenas ĝin, ĉi tiu kurso estas sufiĉe populara.

Mi provis eklerni de la oficialulo lernilo .

Kaj tiam mi renkontis du problemojn.

  • Estas multaj edukaj materialoj, kaj ili venas en diversaj varioj. Estis al mi tre malfacile krei almenaŭ pli-malpli kompletan bildon pri solvado de la bildo-rekono-problemo.
  • La plej multaj el la artikoloj kiujn mi bezonas ne estis tradukitaj en la rusan. Okazis, ke mi lernis la germanan kiel infano kaj nun, kiel multaj sovetiaj infanoj, mi ne scias nek la germanan nek la anglan. Kompreneble, dum mia plenkreska vivo, mi provis regi la anglan, sed rezultis io kiel en la bildo.

Kiel energia inĝeniero studis neŭralaj retoj kaj revizion de la senpaga kurso "Udacity: Enkonduko al TensorFlow por Profunda Lernado"

Fosi en la oficiala retejo, mi trovis rekomendojn por trairi unu el du interretaj kursoj.

Kiel mi komprenas, la kurso pri Coursera estis pagita, kaj la kurso Udacity: Enkonduko al TensorFlow por Profunda Lernado eblis pasi "senpage, tio estas senpage."

Kursa enhavo

La kurso konsistas el 9 lecionoj.

La unua sekcio estas enkonduka, kie ili diros al vi kial ĝi principe bezonas.

Leciono #2 montriĝis esti mia plej ŝatata. Ĝi estis sufiĉe simpla por kompreni kaj ankaŭ pruvis la mirindaĵojn de la scienco. Resume, en ĉi tiu leciono, krom bazaj informoj pri neŭralaj retoj, la kreintoj pruvas kiel uzi unutavolan neŭralan reton por solvi la problemon de konverti temperaturo de Fahrenheit al Celsius.

Ĉi tio ja estas tre klara ekzemplo. Mi ankoraŭ sidas ĉi tie pensante pri kiel elpensi kaj solvi similan problemon, sed nur por elektristoj.

Bedaŭrinde mi ekhaltis plu, ĉar lerni nekompreneblajn aferojn en nekonata lingvo estas sufiĉe malfacila. Kio savis min estis tio, kion mi trovis sur Habré traduko de ĉi tiu kurso en la rusan.

Перевод выполнен качественно, блокноты Colab тоже переведены, поэтому дальше я подглядывал и в оригинал, и в перевод.

Leciono n-ro 3 estas, fakte, adapto de materialoj de la oficiala TensorFlow lernilo. En ĉi tiu lernilo, ni uzas plurtavolan neŭralan reton por lerni kiel klasifiki bildojn de vestaĵoj (moda MNIST-datumaro).

Lecionoj n-ro 4 ĝis n-ro 7 ankaŭ estas adapto de la lernilo. Sed pro tio, ke ili estas ĝuste aranĝitaj, ne necesas mem kompreni la sinsekvon de studo. En ĉi tiuj lecionoj ni estos mallonge rakontitaj pri ultraprecizaj neŭralaj retoj, kiel pliigi la precizecon de trejnado kaj konservi la modelon. Samtempe, ni samtempe solvos la problemon klasifiki katojn kaj hundojn en la bildo.

Leciono n-ro 8 estas tute aparta kurso, ekzistas alia instruisto, kaj la kurso mem estas sufiĉe ampleksa. La leciono temas pri temposerio. Ĉar mi ankoraŭ ne interesiĝas pri ĝi, mi skanis ĝin diagonale.

Ĉi tio finiĝas per leciono #9, kiu estas invito por preni senpagan kurson pri TensorFlow lite.

Kion vi ŝatis kaj ne ŝatis

Mi komencos per la pozitivoj:

  • La kurso estas senpaga
  • La kurso estas sur TensorFlow 2. Kelkaj lernolibroj kiujn mi vidis kaj kelkaj kursoj en la Interreto estis sur TensorFlow 1. Mi ne scias ĉu estas granda diferenco, sed estas agrable lerni la nunan version.
  • La instruistoj en la video ne ĝenas (kvankam en la rusa versio ili ne legas tiel gaje kiel en la originalo)
  • La kurso ne prenas multan tempon
  • La kurso ne igas vin malĝoja aŭ senespera. La taskoj en la kurso estas simplaj kaj ĉiam estas sugesto en la formo de Colab kun la ĝusta solvo se io ne estas klara (kaj bona duono de la taskoj ne estis klara al mi)
  • Ne necesas instali ion ajn, ĉiuj laboratoriaj laboroj de la kurso povas esti farita en la retumilo

Nun la malavantaĝoj:

  • Нет практически никаких контрольных материалов. Ни тестов, ни задач, ничего, чтобы хоть как-то проверить усвоение курса
  • Ne ĉiuj miaj notblokoj funkciis kiel ili devus. Mi pensas, ke en la tria leciono de la originala kurso en la angla Colab ĵetis eraron kaj mi ne sciis kion fari kun ĝi.
  • Konvena spekti nur per komputilo. Eble mi ne plene komprenis ĝin, sed mi ne trovis la apon Udacity en mia saĝtelefono. Kaj la movebla versio de la retejo ne respondas, tio estas, preskaŭ la tuta ekrana areo estas okupata de la navigada menuo, sed por vidi la ĉefan enhavon, vi devas rulumi dekstren preter la rigarda areo. Ankaŭ, la video ne povas esti spektita per la telefono. Vi vere ne povas vidi ion ajn sur ekrano mezuranta iom pli ol 6 colojn.
  • Kelkaj aferoj en la kurso estas maĉataj plurfoje, sed samtempe, la vere necesaj aferoj en la konvoluciaj retoj mem ne estas maĉitaj en la kurso. Mi ankoraŭ ne komprenis la ĝeneralan celon de kelkaj el la ekzercoj (ekzemple, por kio Max Pooling estas).

Resumo

Certe vi jam divenis, ke la miraklo ne okazis. Kaj post kompletigado de ĉi tiu mallonga kurso, estas neeble vere kompreni kiel funkcias neŭralaj retoj.

Kompreneble, post tio mi mem ne povis solvi mian problemon per la klasifiko de fotoj de ŝaltiloj kaj butonoj en ŝaltiloj.

Sed entute la kurso estas utila. Ĝi montras, kiajn aferojn oni povas fari kun TensorFlow kaj kian direkton fari poste.

Mi pensas, ke mi unue devas lerni la bazaĵojn de Python kaj legi librojn en la rusa pri kiel funkcias neŭralaj retoj, kaj poste preni TensorFlow.

Konklude, mi ŝatus diri dankon al miaj amikoj pro puŝi min verki la unuan artikolon pri Habr kaj helpi min formi ĝin.

PS Mi ĝojos vidi viajn komentojn kaj ajnan konstruivan kritikon.

fonto: www.habr.com

Aldoni komenton