Come un ingegnere ha studiato le reti neurali e una panoramica del corso gratuito «Udacity: Intro to TensorFlow for Deep Learning»

Per tutta la mia vita consapevole, sono stato un energetico (no, non parlo di una bevanda dalle proprietà discutibili).

Non mi sono mai particolarmente interessato al mondo delle tecnologie informatiche e anche a malapena sarei capace di moltiplicare le matrici su un foglio. E non ne avevo mai bisogno, per darvi un’idea della mia professione, posso raccontarvi una storia meravigliosa. Un giorno chiesi ai miei colleghi di fare un lavoro in Excel – siamo a metà della giornata lavorativa, mi avvicino e loro sono seduti a sommare i dati con una calcolatrice, sì, sì, proprio una calcolatrice nera normale con i tasti. E di che reti neurali possiamo parlare dopo questo?.. Quindi non ho mai avuto particolari motivazioni per immergermi nel mondo IT. Ma, come si dice, "è più bello dove non siamo", i miei amici mi hanno riempito le orecchie con storie sulla realtà aumentata, sulle reti neurali, sui linguaggi di programmazione (principalmente su Python).

A parole sembrava abbastanza semplice, e ho pensato perché non imparare questa arte magica per applicarla nel mio settore.

In questo articolo eviterò di parlare dei miei tentativi di apprendere le basi di Python e condividerò con voi le mie impressioni su un corso gratuito di TensorFlow offerto da Udacity.

Come un ingegnere ha studiato le reti neurali e una panoramica del corso gratuito «Udacity: Intro to TensorFlow for Deep Learning»

Introduzione

Iniziamo col dire che dopo 11 anni nell'energia, quando sai e puoi fare tutto e anche qualcosa in più (secondo il tuo ambito di responsabilità), imparare cose completamente nuove – da un lato provoca un entusiasmo travolgente, ma dall'altro – diventa una vera e propria sofferenza per le "ingranaggi" nella testa.

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

Prima di passare alla recensione del corso, dirò che per studiarlo è necessaria almeno una minima conoscenza di Python. Si possono leggere un paio di libri per principianti (ho iniziato a seguire un corso su Stepic, ma non l'ho ancora completato).

Nel corso di TensorFlow non ci saranno costruzioni complesse, ma sarà necessario comprendere perché si importano le librerie, come si definisce una funzione e perché vi si inseriscono determinati elementi.

Perché TensorFlow e Udacity?

L'obiettivo principale del mio apprendimento è stato il desiderio di riconoscere fotografie di componenti di impianti elettrici utilizzando reti neurali.

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

Ho cercato di iniziare lo studio con il tutorial ufficiale .

E subito mi sono imbattuto in due problemi.

  • Ci sono molti materiali di studio, e sono disordinati. È stato molto difficile per me comporre almeno un quadro più o meno completo 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 conosco né il tedesco né l'inglese. Certo, nel corso della mia vita cosciente, ho cercato di imparare l'inglese, ma è andata più o meno come nell'immagine.

Come un ingegnere ha studiato le reti neurali e una panoramica del corso gratuito «Udacity: Intro to TensorFlow for Deep Learning»

Frugando ulteriormente nel 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 Deep Learning poteva essere seguito "senza alcun costo, cioè gratuitamente".

Contenuto del corso

Il corso è composto da 9 lezioni.

La prima sezione è introduttiva, in cui si spiega a cosa serve fondamentalmente.

La lezione n. 2 è risultata essere la mia preferita. Era abbastanza semplice da comprendere e ha anche dimostrato le meraviglie della scienza. In breve, in questa lezione, oltre alle informazioni di base sulle reti neurali, i creatori mostrano come risolvere il problema di conversione della temperatura da gradi Fahrenheit a gradi Celsius utilizzando una rete neurale monolayer.

È davvero un esempio molto chiaro. Fino ad ora sto pensando a come inventare e risolvere un compito simile, ma solo per l'elettricità.

Purtroppo, sono rimasto bloccato, perché studiare cose sconosciute in una lingua poco familiare è piuttosto difficile. Mi ha salvato il fatto che ho trovato su Habr la traduzione di questo corso in russo.

La traduzione è stata fatta bene, anche i notebook Colab sono stati tradotti, quindi in seguito ho dato un'occhiata sia all'originale che alla traduzione.

La lezione n. 3 è sostanzialmente la rielaborazione dei materiali del tutorial ufficiale di TensorFlow. In questa lezione, apprendiamo a classificare immagini di abbigliamento utilizzando una rete neurale multilayer (set di dati Fashion MNIST).

Le lezioni da n. 4 a n. 7 sono anch'esse un'interpretazione del tutorial. Ma poiché sono ben strutturate, non è necessario capire da soli la sequenza di apprendimento. In queste lezioni ci verrà brevemente spiegato delle reti neurali super precise, su come aumentare la precisione dell'apprendimento e mantenere il modello. Nel contempo risolveremo il compito di classificare gatti e cani nell'immagine.

La lezione n. 8 è in realtà un corso separato, con un altro docente, e il corso è piuttosto ampio. La lezione è dedicata alle serie temporali. Poiché al momento non mi interessa, l'ho scorsa rapidamente.

Conclude tutto la lezione n. 9, che è un invito a seguire un corso gratuito su TensorFlow Lite.

Cosa mi è piaciuto e cosa no

Inizierò con i lati positivi:

  • Il corso è gratuito
  • Il corso è su TensorFlow 2. Alcuni libri di testo che ho visto e alcuni corsi online erano su TensorFlow 1. Non so se ci sia una grande differenza, ma è piacevole studiare la versione attuale.
  • I docenti nei video non sono irritanti (anche se nella versione russa leggono non così vivacemente come nell'originale)
  • Il corso non richiede molto tempo
  • Il corso non crea sensazioni di tristezza e disperazione. Gli esercizi nel corso sono semplici e c'è sempre un suggerimento sotto forma di Colab con la soluzione corretta, in caso qualcosa non sia chiaro (e a me è risultato poco chiaro circa metà degli esercizi)
  • Non è necessario installare nulla, tutti i lavori di laboratorio del corso possono essere svolti nel browser

Ora i lati negativi:

  • Non ci sono praticamente materiali di controllo. Nè test, nè esercizi, nulla per verificare in qualche modo l'assimilazione del corso
  • Non tutti i quaderni hanno funzionato correttamente. Credo che nella terza lezione del corso originale in inglese Colab dava un errore, e non sapevo cosa farne
  • È comodo guardare solo al computer. Forse non mi sono intuito fino in fondo, ma non ho trovato l'app Udacity per il mio smartphone. E la versione mobile del sito non è adattativa, cioè quasi tutta l'area dello schermo è occupata dal menu di navigazione, e per vedere il contenuto principale è necessario scorrere a destra oltre l'area di visualizzazione. Inoltre, non è possibile vedere i video sul telefono. Su uno schermo di poco più di 6 pollici non si riesce a vedere nulla di utilizzabile.
  • Alcune cose nel corso vengono ripetute più volte, ma ciò che è realmente necessario sulle reti convoluzionali non viene discusso. Non ho capito il vero obiettivo di alcuni esercizi (ad esempio, a cosa serve il Max Pooling).

Riepilogo

Sicuramente avrete già capito che non c'è stata alcuna magia. E dopo aver completato questo breve corso, è impossibile comprendere veramente come funzionano le reti neurali.

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

Tuttavia, nel complesso il corso è utile. Mostra quali cose possono essere fatte con TensorFlow e in quale direzione proseguire.

Penso che all'inizio dovrei rinfrescare le basi di Python e leggere libri in russo 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