Come un energetico ha studiato le reti neurali e panoramica del corso gratuito "Udacity: Introduzione a TensorFlow per l'apprendimento profondo"

Per tutta la mia vita consapevole, sono stato un energetico (no, non sto parlando di una bevanda con proprietà dubbie).

Non mi sono mai interessato particolarmente al mondo delle tecnologie informatiche e, per dire la verità, nemmeno sono in grado di moltiplicare delle matrici su un foglio. E non ne ho mai avuto bisogno, per farvi capire un po' la specificità del mio lavoro, posso condividere una storia interessante. Un giorno chiesi ai miei colleghi di fare un lavoro su Excel – un foglio di calcolo; passò metà della giornata lavorativa e mi avvicinai a loro, mentre loro sedevano a sommare i dati su una calcolatrice, sì, sì, su una comune calcolatrice nera con i tasti. E dopo questo, di che reti neurali possiamo parlare?.. Quindi non ho mai avuto particolari premesse per immergermi nel mondo dell'IT. Ma, come si suol dire, "è bello là dove non siamo", i miei amici mi hanno riempito le orecchie parlando di realtà aumentata, di reti neurali, di linguaggi di programmazione (soprattutto di Python).

A parole sembrava piuttosto semplice, e ho deciso di provare a padroneggiare quest'arte magica da applicare nel mio campo.

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

Come un energetico ha studiato le reti neurali e panoramica del corso gratuito "Udacity: Introduzione a TensorFlow per l'apprendimento profondo"

Introduzione

Per cominciare, è importante notare che dopo 11 anni nell'energia, quando sai e puoi fare tutto e anche un po' di più (secondo il tuo ambito di responsabilità), l'apprendimento di cose completamente nuove – da un lato suscita un entusiasmo travolgente, ma dall'altro – si traduce in un dolore fisico delle 'ingranaggi nella testa'.

Non riesco ancora a comprendere appieno tutti i concetti di base della programmazione e dell'apprendimento automatico, quindi non dovresti giudicarmi severamente. Spero che il mio articolo risulti interessante e utile a persone simili a me – lontane dallo sviluppo software.

Prima di passare alla recensione del corso, voglio dire che per studiarlo è necessaria almeno una minima conoscenza di Python. Puoi leggere un paio di libri per principianti (ho anche iniziato un corso su Stepic, ma non l'ho ancora completato).

Nel corso di TensorFlow non ci saranno costrutti complessi, ma sarà necessario comprendere perché vengono importate le librerie, come viene definita una funzione e perché in essa viene inserito qualcosa.

Perché TensorFlow e Udacity?

Il mio obiettivo principale nell'apprendimento è stato il desiderio di riconoscere fotografie di elementi di impianti elettrici tramite reti neurali.

Ho scelto TensorFlow perché ne ho sentito parlare dai miei amici. E da quello che ho capito, questo corso è abbastanza popolare.

Ho cercato di iniziare a studiare con il tutorial ufficiale .

E mi sono subito scontrato con due problemi.

  • Ci sono molti materiali didattici, e sono disorganizzati. Era molto difficile per me costruire almeno un quadro più o meno coerente per risolvere il problema del riconoscimento delle immagini.
  • La maggior parte degli articoli di cui avevo bisogno non è tradotta in russo. È andata così che da bambino ho studiato il tedesco e ora, come molti bambini sovietici, non parlo né tedesco né inglese. Certo, nel corso della mia vita consapevole, ho cercato di imparare l'inglese, ma è andata più o meno così come si vede nell'immagine.

Come un energetico ha studiato le reti neurali e panoramica del corso gratuito "Udacity: Introduzione a TensorFlow per l'apprendimento profondo"

Cercando ulteriormente sul sito ufficiale, ho trovato raccomandazioni per seguire uno dei due corsi online.

Come ho capito, il corso su Coursera era a pagamento, mentre il corso Udacity: Introduzione a TensorFlow per il Deep Learning poteva essere seguito "senza costi, cioè gratuitamente".

Contenuto del corso

Il corso è composto da 9 lezioni.

La prima sezione è introduttiva, dove verrà spiegato a cosa serve.

La lezione n. 2 è stata la mia preferita. Era abbastanza semplice da comprendere e presentava le meraviglie della scienza. In breve, in questa lezione, oltre a informazioni fondamentali sulle reti neurali, i creatori mostrano come utilizzare una rete neurale a singolo strato per risolvere il problema della conversione della temperatura da gradi Fahrenheit a gradi Celsius.

È davvero un esempio molto visivo. Ancora adesso sto riflettendo su come inventare e risolvere un compito simile, ma solo per l'elettricità.

Sfortunatamente, ho incontrato delle difficoltà perché imparare cose incomprensibili in una lingua sconosciuta è piuttosto complicato. Mi ha salvato il fatto di aver trovato su Habr la traduzione di questo corso in russo.

La traduzione è stata eseguita in modo qualitativo, anche i notebook Colab sono stati tradotti, quindi ho continuato a consultare sia l'originale che la traduzione.

La lezione n. 3 è essenzialmente una rielaborazione dei materiali del tutorial ufficiale di TensorFlow. In questa lezione, utilizzeremo una rete neurale multilivello per classificare immagini di abbigliamento (dataset Fashion MNIST).

Le lezioni da n. 4 a n. 7 sono anche esse una rielaborazione del tutorial. Tuttavia, poiché sono ben organizzate, non è necessario districarsi nella sequenza di apprendimento. Queste lezioni ci forniranno una breve panoramica sulle reti neurali altamente performanti, su come migliorare l'accuratezza dell’apprendimento e su come salvare un modello. Durante il corso, affronteremo anche il compito di classificare immagini di gatti e cani.

La lezione n. 8 rappresenta un corso a parte, con un altro docente, e il corso è abbastanza ampio. È dedicato alle serie temporali. Poiché attualmente non mi interessa, l'ho esaminato rapidamente.

A chiudere, c'è la lezione n. 9, che è un invito a seguire un corso gratuito su TensorFlow Lite.

Cosa mi è piaciuto e cosa non mi è piaciuto

Inizierò dai lati positivi:

  • Il corso è gratuito
  • Corso su TensorFlow 2. Alcuni libri di testo e alcuni corsi online che ho visto erano basati su TensorFlow 1. Non so se ci siano differenze significative, ma è bello imparare l'ultima versione.
  • I docenti nei video non risultano fastidiosi (anche se nella versione russa leggono in modo meno energico rispetto all'originale)
  • Il corso non richiede molto tempo
  • Il corso non trasmette un senso di tristezza e disperazione. Gli esercizi sono semplici e c'è sempre un suggerimento sotto forma di Colab con la soluzione corretta, nel caso qualcosa non sia chiaro (e a me è sembrato che almeno metà degli esercizi non fosse chiara)
  • Non è necessario installare nulla, tutti i laboratori del corso possono essere svolti nel browser

Ora i lati negativi:

  • Non ci sono praticamente materiali di controllo. Nessun test, nessun esercizio, nulla per verificare l'apprendimento del corso
  • Non tutti i notebook funzionavano come dovrebbero. Credo che nel terzo lezione del corso originale in inglese Colab mostrasse un errore e non sapevo cosa fare.
  • È comodo guardare solo sul computer. Forse non ho capito del tutto, ma non ho trovato l'app Udacity sul mio smartphone. E la versione mobile del sito non è adattativa, il che significa che quasi tutto lo schermo è occupato dal menu di navigazione; per vedere il contenuto principale, bisogna scorrere a destra oltre l'area visibile. Inoltre, non è possibile vedere i video sul telefono. Su uno schermo di poco più di 6 pollici non si riesce a distinguere nulla.
  • Alcune cose nel corso vengono spiegate più volte, ma le cose veramente necessarie riguardo le reti convoluzionali non vengono chiarite. Non ho capito la reale finalità di alcune esercitazioni (per esempio, a cosa serve il Max Pooling).

Riepilogo

Sicuramente avrete già intuito che non è successo alcun miracolo. E dopo aver completato questo breve corso, è impossibile comprendere a fondo come funzionano le reti neurali.

Certo, non sono riuscito a risolvere autonomamente il mio problema di classificazione delle foto degli interruttori e dei pulsanti negli apparecchi di distribuzione.

Tuttavia, nel complesso il corso è utile. Dimostra quali cose si possono fare con TensorFlow e in quale direzione continuare a muoversi.

Penso che prima di tutto dovrei approfondire le basi di Python e leggere libri in lingua russa su come funzionano le reti neurali, e poi passare a TensorFlow.

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

P.S. Sarò felice di ricevere i vostri commenti e qualsiasi critica costruttiva.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster