francescomecca.eu/_site/pescewanda/2016/11/15/machine-learning-PARTE3/index.html
2017-05-09 11:29:54 +02:00

904 lines
15 KiB
HTML

<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="UTF-8">
<title>Caught in the Net</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#157878">
<link rel="stylesheet" href="/css/normalize.css">
<!--<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>-->
<link rel="stylesheet" href="/fonts/opensans.css">
<link rel="stylesheet" href="/css/cayman.css">
</head>
<body>
<section class="page-header">
<h1 class="project-name">Caught in the Net</h1>
<h2 class="project-tagline">La rete ti cattura ma libera il pensiero</h2>
<a class="btn" href="/">Home</a>
<a class="btn" href="/archive/">Archive</a>
<a class="btn" href="/contattami/">Contact me</a>
<a class="btn" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<a class="btn" href="https://github.com/FraMecca">Github</a>
<a class="btn" href="/feed.xml">RSS</a>
</section>
<section class="main-content">
<div class="post">
<h1 class="post-title">Capire il Machine Learning (parte 3)</h1>
<span class="post-date">15 Nov 2016</span>
<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 &quot;filtri&quot;, ovvero delle funzioni che mescolate all&#39;input originale permettono di evidenziare dei pattern nell&#39;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&#39;immagine.</p>
<p>In questo esempio l&#39;immagine di Wally é mescolata (l&#39;operazione si chiama <strong>convoluzione</strong>) con un filtro &quot;a cerchio&quot; 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&#39;operazione che ha la proprietà di essere indipendente dalla posizione. Non importa la posizione degli occhi, quando applichiamo la <strong>convoluzione</strong> su un&#39;immagine con un filtro &quot;a cerchio&quot; notiamo che gli occhi sono presenti.</p>
<h4 id="subsampling">Subsampling</h4>
<p>Ogni segnale contiene del &quot;rumore&quot;, 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&#39;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&#39;analisi tutte le caratteristiche estrapolate vengono considerate nell&#39;insieme e in questo modo possiamo capire a quale categoria appartiene l&#39;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&#39;output (probabilità che l&#39;immagine appartenga ad una determinata categoria).</p>
<h4 id="fase-di-rinforzo">Fase di rinforzo</h4>
<p>Durante il training é presente un&#39;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&#39;output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p>
</div>
<!--<div class="related">-->
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2017/05/07/latestage_handbrake/">-->
<!--Late Stage Capitalism meets FOSS-->
<!--<small>07 May 2017</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2017/03/20/spazio-digitale-rant-facebook__eng/">-->
<!--Some shallow thoughts from my tiny virtual space-->
<!--<small>20 Mar 2017</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2017/03/07/spazio-digitale-rant-facebook/">-->
<!--Breve riflessione dal mio piccolo mondo virtuale-->
<!--<small>07 Mar 2017</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
<h4>Similar Posts</h4>
<ul>
<li class="relatedPost">
<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">Capire il Machine Learning (parte 2)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-intro/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/07/05/arduino_keyboard/">Arduino Uno as HID keyboard
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/05/15/genetic-alg/">Interpolation using a genetic algorithm
</a>
</li>
</ul>
<footer class="site-footer">
<span class="site-footer-owner"><a href="http://localhost:4000">Caught in the Net</a> is maintained by <a href="">Francesco Mecca</a>.</span>
<span> CC BY-SA 4.0 International.</br> </span>
<span class="site-footer-credits"><a href="https://jekyllrb.com">Jekyll</a>, <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a>.</span>
</footer>
</section>
</body>
</html>