Come un ingegnere energetico ha studiato le reti neurali e una recensione del corso gratuito “Udacity: Intro to TensorFlow for Deep Learning”

Per tutta la mia vita adulta sono stato una bevanda energetica (no, ora non stiamo parlando di una bevanda dalle proprietà dubbie).

Non sono mai stato particolarmente interessato al mondo dell'informatica, e difficilmente riesco nemmeno a moltiplicare le matrici su un pezzo di carta. E non ne ho mai avuto bisogno, così che tu capisca un po 'le specificità del mio lavoro, posso condividere una storia meravigliosa. Una volta ho chiesto ai miei colleghi di svolgere il lavoro in un foglio di calcolo Excel, era trascorsa metà della giornata lavorativa, sono andato da loro e loro erano seduti e riassumevano i dati su una calcolatrice, sì, su una normale calcolatrice nera con pulsanti. Bene, di che tipo di reti neurali possiamo parlare dopo?... Pertanto, non ho mai avuto prerequisiti speciali per immergermi nel mondo dell'IT. Ma, come si suol dire, "va bene dove non siamo", i miei amici mi hanno ronzato le orecchie sulla realtà aumentata, sulle reti neurali, sui linguaggi di programmazione (principalmente su Python).

A parole sembrava molto semplice e ho deciso perché non padroneggiare quest'arte magica per applicarla nel mio campo di attività.

In questo articolo tralascerò i miei tentativi di padroneggiare le basi di Python e condividerò con te le mie impressioni sul corso gratuito TensorFlow di Udacity.

Come un ingegnere energetico ha studiato le reti neurali e una recensione del corso gratuito “Udacity: Intro to TensorFlow for Deep Learning”

Introduzione

Per cominciare, vale la pena notare che dopo 11 anni nel settore energetico, quando sai e puoi fare tutto e anche un po' di più (a seconda delle tue responsabilità), imparare cose radicalmente nuove - da un lato, provoca grande entusiasmo, ma dall'altro - si trasforma in dolore fisico "ingranaggi nella mia testa".

Ancora non comprendo appieno tutti i concetti di base della programmazione e dell'apprendimento automatico, quindi non dovresti giudicarmi troppo severamente. Spero che il mio articolo sia interessante e utile a persone come me che sono lontane dallo sviluppo di software.

Prima di passare alla panoramica del corso ti premetto che per studiarlo avrai bisogno di una conoscenza almeno minima di Python. Puoi leggere un paio di libri per principianti (ho anche iniziato a seguire un corso su Stepic, ma non l'ho ancora padroneggiato completamente).

Il corso TensorFlow in sé non conterrà costrutti complessi, ma sarà necessario capire perché le librerie vengono importate, come viene definita una funzione e perché in essa viene sostituito qualcosa.

Perché TensorFlow e Udacity?

L'obiettivo principale della mia formazione era il desiderio di riconoscere fotografie di elementi di installazioni elettriche utilizzando reti neurali.

Ho scelto TensorFlow perché ne ho sentito parlare dai miei amici. E a quanto ho capito, questo corso è piuttosto popolare.

Ho provato a iniziare a imparare dal funzionario tutorial .

E poi mi sono imbattuto in due problemi.

  • Ci sono molti materiali didattici e sono disponibili in diverse varietà. È stato molto difficile per me creare almeno un quadro più o meno completo della risoluzione del problema del riconoscimento delle immagini.
  • La maggior parte degli articoli di cui ho bisogno non sono stati tradotti in russo. È successo che da bambino ho imparato il tedesco e ora, come molti bambini sovietici, non conosco né il tedesco né l'inglese. Naturalmente, per tutta la mia vita adulta, ho cercato di padroneggiare l'inglese, ma il risultato è stato qualcosa come nella foto.

Come un ingegnere energetico ha studiato le reti neurali e una recensione del corso gratuito “Udacity: Intro to TensorFlow for Deep Learning”

Dopo aver esplorato il sito Web ufficiale, ho trovato dei consigli da seguire uno dei due corsi on-line.

A quanto ho capito, il corso su Coursera è stato pagato, e il corso Udacity: introduzione a TensorFlow per il deep learning era possibile passare “gratuitamente, cioè gratuitamente”.

Contenuto del corso

Il corso è composto da 9 lezioni.

La prima sezione è introduttiva, dove ti diranno perché è necessario in linea di principio.

La lezione n. 2 si è rivelata la mia preferita. Era abbastanza semplice da comprendere e anche dimostrare le meraviglie della scienza. In breve, in questa lezione, oltre alle informazioni di base sulle reti neurali, i creatori dimostrano come utilizzare una rete neurale a strato singolo per risolvere il problema della conversione della temperatura da Fahrenheit a Celsius.

Questo è davvero un esempio molto chiaro. Sono ancora seduto qui a pensare a come inventare e risolvere un problema simile, ma solo per gli elettricisti.

Sfortunatamente, ho rallentato ulteriormente, perché imparare cose incomprensibili in una lingua sconosciuta è piuttosto difficile. Ciò che mi ha salvato è stato ciò che ho trovato su Habré traduzione di questo corso in russo.

La traduzione è stata fatta con alta qualità, anche i taccuini Colab sono stati tradotti, quindi ho guardato sia l'originale che la traduzione.

La lezione n. 3 è, infatti, un adattamento dei materiali del tutorial ufficiale di TensorFlow. In questo tutorial, utilizziamo una rete neurale multistrato per imparare a classificare le immagini dei vestiti (set di dati Fashion MNIST).

Anche le lezioni dal n. 4 al n. 7 sono un adattamento del tutorial. Ma poiché sono disposti correttamente, non è necessario comprendere da soli la sequenza dello studio. In queste lezioni parleremo brevemente delle reti neurali ultraprecise, di come aumentare la precisione dell'addestramento e di come salvare il modello. Allo stesso tempo, risolveremo contemporaneamente il problema della classificazione di cani e gatti nell'immagine.

La lezione n. 8 è un corso completamente separato, c'è un insegnante diverso e il corso in sé è piuttosto ampio. La lezione riguarda le serie temporali. Dato che non mi interessa ancora, l'ho scansionato in diagonale.

Questo termina con la lezione n. 9, che è un invito a seguire un corso gratuito su TensorFlow lite.

Cosa ti è piaciuto e cosa non ti è piaciuto

Inizierò con gli aspetti positivi:

  • Il corso è gratuito
  • Il corso è su TensorFlow 2. Alcuni libri di testo che ho visto e alcuni corsi su Internet erano su TensorFlow 1. Non so se ci sia una grande differenza, ma è bello imparare la versione attuale.
  • Gli insegnanti nel video non sono fastidiosi (anche se nella versione russa non leggono così allegramente come nell'originale)
  • Il corso non richiede molto tempo
  • Il corso non ti fa sentire triste o senza speranza. I compiti del corso sono semplici e c'è sempre un suggerimento sotto forma di Colab con la soluzione corretta se qualcosa non è chiaro (e una buona metà dei compiti non mi era chiara)
  • Non è necessario installare nulla, tutto il lavoro di laboratorio del corso può essere svolto nel browser

Ora i contro:

  • Non ci sono praticamente materiali di controllo. Nessun test, nessun compito, niente per verificare in qualche modo la padronanza del corso
  • Non tutti i miei taccuini hanno funzionato come dovrebbero. Penso che nella terza lezione del corso originale in inglese Colab lanciasse un errore e non sapevo cosa farne
  • Comodo da guardare solo su un computer. Forse non l'ho capito bene, ma non sono riuscito a trovare l'app Udacity sul mio smartphone. E la versione mobile del sito non è responsiva, ovvero quasi tutta l'area dello schermo è occupata dal menu di navigazione, ma per vedere il contenuto principale è necessario scorrere verso destra oltre l'area di visualizzazione. Inoltre, il video non può essere visualizzato sul telefono. Non puoi davvero vedere nulla su uno schermo che misura poco più di 6 pollici.
  • Alcune cose nel corso vengono masticate più volte, ma allo stesso tempo le cose veramente necessarie sulle stesse reti convoluzionali non vengono masticate nel corso. Ancora non avevo capito lo scopo generale di alcuni esercizi (ad esempio, a cosa serve Max Pooling).

Riassunto

Sicuramente hai già intuito che il miracolo non è avvenuto. E dopo aver completato questo breve corso, è impossibile capire veramente come funzionano le reti neurali.

Naturalmente, non sono riuscito a risolvere autonomamente il mio problema con la classificazione delle fotografie di interruttori e pulsanti nei quadri.

Ma nel complesso il corso è utile. Mostra cosa è possibile fare con TensorFlow e quale direzione prendere successivamente.

Penso che prima dovrei imparare le basi di Python e leggere libri in russo su come funzionano le reti neurali, quindi affrontare TensorFlow.

In conclusione, vorrei ringraziare i miei amici per avermi spinto a scrivere il primo articolo su Habr e per avermi aiutato a formattarlo.

PS Sarò felice di vedere i tuoi commenti e qualsiasi critica costruttiva.

Fonte: habr.com

Aggiungi un commento