EO_506

ELETTRONICA OGGI 506 - NOVEMBRE/DICEMBRE 2022 45 TECH FOCUS NEURAL NETS a oltre il 99%nei casi in cui occorre lamassima affidabilità del sistema di riconoscimento. In effetti, le migliori reti neurali commerciali attualmente sono così avanzate che vengono utilizzate dalle banche per elaborare gli assegni e dagli uffici postali per riconoscere gli indirizzi. Il riconoscimento della grafia è un eccellente prototipo di problema per l’apprendimento delle reti neurali in generale. Questo prototipo ha però un punto debole: è impegnativo, ovvero non è un’impresa da poco riconoscere le cifre scritte a mano, ma non è così difficile da richiedere una soluzione estremamente complicata o un’enorme potenza di calcolo. Inoltre, è un ottimo modo per sviluppare tecniche più avanzate, come il deep learning. Il vantaggio di usare e risolvere questo prototipo è che la rete neurale soluzione del prototipo, può essere utilizzata per sviluppare altre più avanzate idee che possono essere applicate ad altri problemi nel campo della visione artificiale, e anche nel riconoscimento vocale multilingue, nell’elaborazione del linguaggio naturale e in altri domini ancora. Naturalmente, un programma che prevede una rete neurale come soluzione per il riconoscimento della grafia è un punto di partenza per sviluppare anche molte idee chiave sulle reti neurali, inclusi due importanti tipi di neuroni artificiali (il perceptron e il neurone sigmoideo) e l’algoritmo di apprendimento standard per le reti neurali, noto come discesa stocastica del gradiente. In tutto ciò si fonda la spiegazione del motivo per cui le cose sono fatte come sono e sulla costruzione dell’intuizione delle reti neurali. Ciò richiede una discussione più lunga che richiederebbe l’introduzione teorica dei meccanismi di base di ciò che sta accadendo nei processi di elaborazione neurale, per una più profonda comprensione. L’importanza dell’apprendimento profondo Sebbene la rete neurale offra prestazioni notevoli, tali prestazioni sono alquanto difficilmente spiegabili. Possiamo trovare un modo per comprendere i principi in base ai quali la rete classifica le cifre scritte a mano? E, dati tali principi, possiamo fare di meglio? Per porre queste domande inmodo più netto, supponiamo che traqualcheanno le reti neurali portinoall’intelligenza artificiale (IA). Capiremo come funzionano queste reti intelligenti? All’inizio della ricerca sull’intelligenza artificiale, le persone speravano che lo sforzo per costruire un’intelligenza artificiale ci avrebbe anche aiutato a comprendere i principi dietro l’intelligenza e, forse, il funzionamento del cervello umano. Ma il risultato sarà che finiremo per non capire né il cervello né come funziona l’intelligenza artificiale. Potremmo ad esempio affrontare il riconoscimento facciale nello stesso modo in cui si affronta il riconoscimento della grafia, ovvero utilizzando i pixel dell’immagine come input di una rete neurale, con un singolo neurone come output dalla rete che indica “Sì, è una faccia” o “No, non è una faccia”. Supponiamo di farlo, ma di non utilizzare un algoritmo di apprendimento. Invece, cercheremo di progettare una rete scegliendo pesi e bias appropriati. Come potremmo procedere? Dimenticando completamente le reti neurali per il momento, un’euristica che potremmo usare è quella di scomporre il problema in sottoproblemi: l’immagine ha un occhio in alto a sinistra? Ha un occhio in alto a destra? Ha un naso in mezzo? Ha una bocca in basso al centro? Ci sono i capelli sopra? E così via. Se le risposte a molte di queste domande sono “sì”, o anche solo “probabilmente sì”, allora concluderemmo che è probabile che l’immagine sia un volto. Al contrario, se le risposte alla maggior parte delle domande sono “no”, l’immagine probabilmente non è un volto. Naturalmente, questa è solo un’euristica approssimativa e soffre di molte carenze. Forse la persona è calva, quindi non ha capelli. Forse possiamo vedere solo una parte del viso, o il viso è inclinato, quindi alcuni dei lineamenti del viso sono oscurati. Tuttavia, l’euristica suggerisce che se siamo in grado di risolvere i sottoproblemi usando le reti neurali, allora forse possiamo costruire una rete neurale per il rilevamento dei volti combinando le reti progettate per i sottoproblemi. Questo approccio non è inteso come un approccio realistico per risolvere il problema del rilevamento facciale; piuttosto, è per aiutarci a costruire l’intuizione su come funzionano le reti neurali. È anche plausibile che le sottoreti possano a loro volta essere scomposte. Supponiamo di considerare la domanda “C’è un occhio in alto a sinistra?” Questa domanda può essere scomposta in domande come: “C’è un sopracciglio?”; “Ci sono ciglia?”; “C’è un’iride?”; e così via. Naturalmente, queste domande dovrebbero includere anche informazioni sulla posizione: “Il sopracciglio è in alto a sinistra e sopra l’iride?”, o similari, mamanteniamo le cose semplici. La rete per rispondere alla domanda “C’è un occhio in alto a sinistra?”, ora può essere scomposta. Anche queste domande possono essere suddivise, sempre più in profondità attraverso più livelli. In definitiva, lavoreremmo con sottoreti che rispondono a domande così semplici che possono essere facilmente risolte a livello di singoli pixel. Tali domande potrebbero, ad esempio, riguardare la presenza o l’assenza di forme molto semplici in punti particolari dell’immagine. Tali domande possono essere risolte da singoli neuroni collegati ai pixel grezzi dell’immagine.

RkJQdWJsaXNoZXIy Mzg4NjYz