104 lines
7.4 KiB
HTML
104 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/blog/fonts/opensans.css">
|
|
<link href="../../../../../assets/blog/css/normalize.css" rel="stylesheet" type="text/css">
|
|
<link href="../../../../../assets/blog/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="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.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">
|
|
<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>
|
|
<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://getnikola.com">Nikola</a>, <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a>.</span>
|
|
</footer></section>
|
|
</div>
|
|
</body>
|
|
</html>
|