francescomecca.eu/output/blog/2016/11/15/machine-learning-parte3/index.html
2018-11-10 18:19:00 +01:00

107 lines
7.4 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Capire il Machine Learning (parte 3) | Caught in the Net</title>
<link rel="stylesheet" href="../../../../../assets/fonts/opensans.css">
<link href="../../../../../assets/css/normalize.css" rel="stylesheet" type="text/css">
<link href="../../../../../assets/css/cayman.css" rel="stylesheet" type="text/css">
<meta name="theme-color" content="#5670d4">
<meta name="generator" content="Nikola (getnikola.com)">
<link rel="alternate" type="application/rss+xml" title="RSS" hreflang="en" href="../../../../../rss.xml">
<link rel="canonical" href="francescomecca.eu/blog/2016/11/15/machine-learning-parte3/">
<meta name="author" content="Francesco Mecca">
<link rel="prev" href="../../11/machine-learning-parte2/" title="Capire il Machine Learning (parte 2)" type="text/html">
<link rel="next" href="../../../../2017/3/7/spazio-digitale-rant-facebook/" title="Breve riflessione dal mio piccolo mondo virtuale" type="text/html">
<meta property="og:site_name" content="Caught in the Net">
<meta property="og:title" content="Capire il Machine Learning (parte 3)">
<meta property="og:url" content="francescomecca.eu/blog/2016/11/15/machine-learning-parte3/">
<meta property="og:description" content="Riconoscimento delle immagini
Il machine learning viene utilizzato anche per il riconoscimento delle immagini.
La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete neural a ">
<meta property="og:type" content="article">
<meta property="article:published_time" content="2016-11-15T00:00:00Z">
<meta property="article:tag" content="AI">
<meta property="article:tag" content="algoritmi genetici">
<meta property="article:tag" content="Genetic algorithm">
<meta property="article:tag" content="Neural networks">
<meta property="article:tag" content="PesceWanda">
<meta property="article:tag" content="programming">
<meta property="article:tag" content="reti neurali">
</head>
<body>
<div id="container">
<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="../../../../../pages/about/">About me</a>
<a class="btn" href="../../../../../pages/contattami/">Contact me</a>
<a class="btn" href="../../../../../archiveall.html">Archive</a>
<a class="btn" href="../../../../../rss.xml">RSS</a>
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
<a class="btn" href="https://github.com/FraMecca">Github</a>
<a class="btn" href="../../../../../wp-content/curriculum/CV_Mecca_Francesco.pdf">Curriculum</a>
</section><section class="main-content"><div class="post">
<header><h1 class="post-title">
<h1 class="p-name post-title" itemprop="headline name">Capire il Machine Learning (parte 3)</h1>
</h1>
</header><p class="dateline post-date">15 November 2016</p>
</div>
<div class="e-content entry-content" itemprop="articleBody text">
<div>
<h3>Riconoscimento delle immagini</h3>
<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 alt="pixel" src="../../../../../wp-content/uploads/2016/8.jpg"></p>
<p>Vediamo ora quali sono le operazioni compiute da una <strong>CNN</strong> per riconoscere delle immagini.</p>
<h5>Convoluzione</h5>
<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 alt="waldoblue" src="../../../../../wp-content/uploads/2016/bluefilter.png"></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>
<h5>Subsampling</h5>
<p>Ogni segnale contiene del "rumore", ovvero degli elementi che la allontanano dal comportamento ideale. </p>
<p><img alt="ideal" src="../../../../../wp-content/uploads/2016/ideal.jpg"></p>
<p><img alt="real" src="../../../../../wp-content/uploads/2016/real.jpg"></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 alt="waldosub" src="../../../../../wp-content/uploads/2016/sub.png"></p>
<h5>Connessione completa</h5>
<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>
<h5>Fase di rinforzo</h5>
<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>
</div>
</div>
<aside class="postpromonav"><nav><h4>Categories</h4>
<ul itemprop="keywords" class="tags">
<li><a class="tag p-category" href="../../../../../categories/ai/" rel="tag">AI</a></li>
<li><a class="tag p-category" href="../../../../../categories/algoritmi-genetici/" rel="tag">algoritmi genetici</a></li>
<li><a class="tag p-category" href="../../../../../categories/genetic-algorithm/" rel="tag">Genetic algorithm</a></li>
<li><a class="tag p-category" href="../../../../../categories/neural-networks/" rel="tag">Neural networks</a></li>
<li><a class="tag p-category" href="../../../../../categories/pescewanda/" rel="tag">PesceWanda</a></li>
<li><a class="tag p-category" href="../../../../../categories/programming/" rel="tag">programming</a></li>
<li><a class="tag p-category" href="../../../../../categories/reti-neurali/" rel="tag">reti neurali</a></li>
</ul></nav></aside><p class="sourceline"><a href="index.md" class="sourcelink">Source</a></p>
<footer class="site-footer" id="footer"><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>
</div>
</body>
</html>