francescomecca.eu/_site/pescewanda/2016/11/15/machine-learning-PARTE3/index.html

999 lines
16 KiB
HTML
Raw Normal View History

2016-11-19 18:40:32 +01:00
<!DOCTYPE html>
<html lang="en-us">
<head>
<link href="http://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- Enable responsiveness on mobile devices-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title>
Capire il Machine Learning (parte 3) &middot; Caught in the Net
</title>
<!-- CSS -->
<link rel="stylesheet" href="/public/css/poole.css">
<link rel="stylesheet" href="/public/css/syntax.css">
<link rel="stylesheet" href="/public/css/hyde.css">
<!-- Icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/public/apple-touch-icon-144-precomposed.png">
<link rel="shortcut icon" href="/public/favicon.ico">
<!-- RSS -->
<link rel="alternate" type="application/rss+xml" title="RSS" href="/atom.xml">
</head>
<body class="theme-base-09">
<div class="sidebar">
<div class="container sidebar-sticky">
<div class="sidebar-about">
<h1>
<a href="/">
Caught in the Net
</a>
</h1>
<p class="lead"></p>
</div>
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/">Home</a>
<a class="sidebar-nav-item" href="/about/">About</a>
<a class="sidebar-nav-item" href="/archive/">Archive</a>
<a class="sidebar-nav-item" href="/contattami/">Contact me</a>
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
<p>&copy; 2016. CC BY-SA 4.0 International </p>
</div>
</div>
<h3 class="masthead-title">
<a href="/" title="Home">Caught in the Net</a>
</h3>
<div class="content container">
<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/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>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/07/pres-berk/">-->
<!--A short talk about cryptography at the Berkman Klein Center-->
<!--<small>07 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/06/IM-services/">-->
<!--Phone messaging apps comparison-->
<!--<small>06 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 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>
<li class="relatedPost">
<a href="/pescewanda/2016/04/17/kpd-player/">Kyuss Music Player
</a>
</li>
</ul>
</div>
<!--<link rel="alternate" type="application/rss+xml" title="Francesco Mecca RSS" href="/feed.xml">-->
</body>
</html>