44 lines
3 KiB
HTML
44 lines
3 KiB
HTML
<h2 id="riconoscimento-delle-immagini">Riconoscimento delle immagini</h2>
|
||
|
||
<p>Il machine learning viene utilizzato anche per il riconoscimento delle immagini.
|
||
La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete neural a convoluzione ( <strong>convolutional neural networks</strong>), abbreviata CNN.</p>
|
||
|
||
<p>Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori</p>
|
||
|
||
<p><img src="/wp-content/uploads/2016/8.jpg" alt="pixel" /></p>
|
||
|
||
<p>Vediamo ora quali sono le operazioni compiute da una <strong>CNN</strong> per riconoscere delle immagini.</p>
|
||
|
||
<h4 id="convoluzione">Convoluzione</h4>
|
||
|
||
<p>Durante la fase di apprendimento, la rete neurale analizza moltissime immagini (categorizzate) utilizzando dei “filtri”, ovvero delle funzioni che mescolate all’input originale permettono di evidenziare dei pattern nell’immagine.
|
||
Questi pattern corrispondono alle caratteristiche proprie di un oggetto (quali possono essere ad esempio per un uccello il becco, le piume, le ali) e nel caso queste sono presenti, possiamo riconoscere l’immagine.</p>
|
||
|
||
<p>In questo esempio l’immagine di Wally é mescolata (l’operazione si chiama <strong>convoluzione</strong>) con un filtro “a cerchio” che risponde molto bene a caratteristiche come quella di possedere degli occhi.</p>
|
||
|
||
<p><img src="/wp-content/uploads/2016/bluefilter.png" alt="waldoblue" /></p>
|
||
|
||
<p>La <strong>convoluzione</strong> é un’operazione che ha la proprietà di essere indipendente dalla posizione. Non importa la posizione degli occhi, quando applichiamo la <strong>convoluzione</strong> su un’immagine con un filtro “a cerchio” notiamo che gli occhi sono presenti.</p>
|
||
|
||
<h4 id="subsampling">Subsampling</h4>
|
||
|
||
<p>Ogni segnale contiene del “rumore”, ovvero degli elementi che la allontanano dal comportamento ideale.</p>
|
||
|
||
<p><img src="/wp-content/uploads/2016/ideal.jpg" alt="ideal" /></p>
|
||
|
||
<p><img src="/wp-content/uploads/2016/real.jpg" alt="real" /></p>
|
||
|
||
<p>Attraverso il subsampling possiamo ridurre il rumore e rendere il nostro algoritmo meno suscettibile a queste piccole variazioni; benché l’immagine abbia una risoluzione minore, i pattern rimangono.</p>
|
||
|
||
<p><img src="/wp-content/uploads/2016/sub.png" alt="waldosub" /></p>
|
||
|
||
<h4 id="connessione-completa">Connessione completa</h4>
|
||
|
||
<p>Alla fine dell’analisi tutte le caratteristiche estrapolate vengono considerate nell’insieme e in questo modo possiamo capire a quale categoria appartiene l’immagine.</p>
|
||
|
||
<p>Questo procedimento a livello algoritmo si esplicita con una connessione completa fra tutti i nodi della rete neurale che possono poi restituire l’output (probabilità che l’immagine appartenga ad una determinata categoria).</p>
|
||
|
||
<h4 id="fase-di-rinforzo">Fase di rinforzo</h4>
|
||
|
||
<p>Durante il training é presente un’ultima fase (o strato), chiamato più propriamente <strong>loss layer</strong>. Questo strato provvede a dare un <strong>feedback</strong> alla rete neurale analizzando l’output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p>
|
||
|