(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{"2w3n":function(n){n.exports={red:"red__2y1B_",orange:"orange__dD2kx",yellow:"yellow__OEpwl",lime:"lime__CVe41",cyan:"cyan__26ZAg",blue:"blue__LO7Xm",magenta:"magenta__1Akee",example:"example__2PzAa"}},"5rUc":function(n,i,e){"use strict";(function(n){var l=e("mDT8"),t=e.n(l);i.a=function(i){return n("abbr",{className:t.a.tick,title:"Un quanto di tempo del sistema."},i.children?i.children:"tick")}}).call(this,e("hosL").h)},"9cHI":function(n,i,e){"use strict";e.r(i),function(n){function l(){var n=W(["\n \begin{cases}\n 1 qquad se v > 0\\\n 0 qquad se v = 0\\\n -1 qquad se v < 0\n end{cases}\n "],["\n \\begin{cases}\n 1 \\qquad se\\ v > 0\\\\\n 0 \\qquad se\\ v = 0\\\\\n -1 \\qquad se\\ v < 0\n \\end{cases}\n "]);return l=function(){return n},n}function t(){var n=W(["b"]);return t=function(){return n},n}function o(){var n=W(["\n x_n = H left( sum_1^N ( w_n cdot x_n + b) \right)\n "],["\n x_n = H \\left( \\sum_1^N ( w_n \\cdot x_n + b) \\right)\n "]);return o=function(){return n},n}function a(){var n=W(["H"]);return a=function(){return n},n}function u(){var n=W(["b"]);return u=function(){return n},n}function r(){var n=W(["sum_1^N ( w_n cdot x_n )"],["\\sum_1^N ( w_n \\cdot x_n )"]);return r=function(){return n},n}function s(){var n=W(["H(v)"]);return s=function(){return n},n}function c(){var n=W(["n"]);return c=function(){return n},n}function d(){var n=W(["x_n"]);return d=function(){return n},n}function p(){var n=W(["m"]);return p=function(){return n},n}function m(){var n=W(["n"]);return m=function(){return n},n}function f(){var n=W(["w_{nm}"]);return f=function(){return n},n}function g(){var n=W(["n"]);return g=function(){return n},n}function b(){var n=W(["N"]);return b=function(){return n},n}function v(){var n=W(["0.14 cdot N"],["0.14 \\cdot N"]);return v=function(){return n},n}function h(){var n=W(["\n Q(A, B) = sum_{i = 1}^n A_i B_i\n "],["\n Q(A, B) = \\sum_{i = 1}^n A_i B_i\n "]);return h=function(){return n},n}function z(){var n=W(["\n Delta w_{ik} = (2 cdot A_i - 1)(2 cdot A_k - 1)\n "],["\n \\Delta w_{ik} = (2 \\cdot A_i - 1)(2 \\cdot A_k - 1)\n "]);return z=function(){return n},n}function _(){var n=W(["1"]);return _=function(){return n},n}function j(){var n=W(["0"]);return j=function(){return n},n}function k(){var n=W(["\n E = - \frac{1}{2} sum_{n, m} ( w_{nm} cdot x_n cdot x_m ) + sum_n ( \theta_n cdot x_n )\n "],["\n E = - \\frac{1}{2} \\sum_{n, m} ( w_{nm} \\cdot x_n \\cdot x_m ) + \\sum_n ( \\theta_n \\cdot x_n )\n "]);return k=function(){return n},n}function w(){var n=W(["O(n^2)"]);return w=function(){return n},n}function S(){var n=W(["1"]);return S=function(){return n},n}function q(){var n=W(["0"]);return q=function(){return n},n}function C(){var n=W(["Q(mathbf{A}, mathbf{B})"],["Q(\\mathbf{A}, \\mathbf{B})"]);return C=function(){return n},n}function A(){var n=W(["a_i"]);return A=function(){return n},n}function I(){var n=W(["mathbf{A}"],["\\mathbf{A}"]);return I=function(){return n},n}function N(){var n=W(["E"]);return N=function(){return n},n}function x(){var n=W(["i_n(t)"]);return x=function(){return n},n}function E(){var n=W(["mathbf{I}(t)"],["\\mathbf{I}(t)"]);return E=function(){return n},n}function P(){var n=W(["x_n(t)"]);return P=function(){return n},n}function U(){var n=W(["mathbf{X}(t)"],["\\mathbf{X}(t)"]);return U=function(){return n},n}function D(){var n=W(["\theta_n"],["\\theta_n"]);return D=function(){return n},n}function M(){var n=W(["mathbf{Theta}"],["\\mathbf{\\Theta}"]);return M=function(){return n},n}function L(){var n=W(["m"]);return L=function(){return n},n}function y(){var n=W(["n"]);return y=function(){return n},n}function T(){var n=W(["w_{nm}"]);return T=function(){return n},n}function B(){var n=W(["mathbf{W}"],["\\mathbf{W}"]);return B=function(){return n},n}function H(){var n=W(["m"]);return H=function(){return n},n}function R(){var n=W(["n"]);return R=function(){return n},n}function G(){var n=W(["t"]);return G=function(){return n},n}function O(){var n=W(["\frac{1}{numero sinapsi}"],["\\frac{1}{numero\\ sinapsi}"]);return O=function(){return n},n}function F(){var n=W(["1"]);return F=function(){return n},n}function V(){var n=W(["-1"]);return V=function(){return n},n}function Q(){var n=W(["mathbb{C}"],["\\mathbb{C}"]);return Q=function(){return n},n}function W(n,i){return i||(i=n.slice(0)),n.raw=i,n}var J=e("mbOI"),Z=e("ke5e"),X=e("5rUc"),K=String.raw;i.default=function(){return n("div",null,n("h1",null,"Apprendimento ed evoluzione in sistemi artificiali"),n(J.k,{title:"Informazioni"},n(J.j,{title:"Contatti"},n("ul",null,n("li",null,n("a",{href:"mailto:marco.villani@unimore.it"},"Prof. Marco Villani")))),n(J.j,{title:"Archivio"},n("p",null,"Se sei uno ",n("b",null,"studente dell'Unimore"),", puoi accedere all'",n("b",null,n("a",{href:"https://drive.google.com/drive/folders/1GcjP1Z5UtRjyAag7qjFQ-kx3s06G8ZoP"},"archivio del corso su Google Drive")),"."))),n(J.k,{title:"Esame"},n(J.j,{title:"Scritto"},n("ul",null,n("li",null,"Scegli 2 tra 6 domande possibili"),n("li",null,"90 minuti"))),n(J.j,{title:"Appelli"},n("ol",null,n("li",null,n(J.m,{to:"2020-06-23"})),n("li",null,n(J.m,{to:"2020-07-08"})),n("li",null,n(J.m,{to:"2020-07-22"}))))),n(J.k,{title:"NetLogo"},n(J.j,{title:"Cos'è?"},n("p",null,"NetLogo è un software di modellazione sistemi multiagente, da noi usato per le lezioni di laboratorio."),n("p",null,"Si può ",n("a",{href:"https://ccl.northwestern.edu/netlogo/download.shtml"},"scaricare")," o ",n("a",{href:"https://www.netlogoweb.org/launch"},"usare da browser"),"."),n("p",null,"Il suo codice sorgente è disponibile su ",n("a",{href:"https://github.com/NetLogo/NetLogo"},"GitHub"),", e ha una pagina di ",n("a",{href:"https://ccl.northwestern.edu/netlogo/docs/dictionary.html"},"documentazione"),"."),n("p",null,n("b",{style:"font-size: x-large;"},n("a",{href:"/apprendimento/netlogo"},"Consulta i miei appunti su NetLogo qui!"))))),n(J.k,{title:"Sistemi dinamici"},n(J.j,{title:"Cosa sono?"},n("p",null,"Sistemi naturali o artificiali che si basano su ",n("b",null,"leggi reversibili e deterministiche"),"."),n("p",null,"In natura, alcuni leggi possono sembrare irreversibili a livello macroscopico, ma sono in realtà reversibili a livello microscopico."),n(Z.a,null,n("p",null,n("a",{href:"https://it.wikipedia.org/wiki/Modello_di_Ehrenfest"},n("u",null,"Urne di Ehrenfest")),": due urne con N palline; estraggo una pallina da una urna casuale ad ogni passo e la sposto nell'altra; con tante palline il sistema appare irreversibile."))),n(J.j,{title:"Fasi"},n("p",null,n("b",null,"Stati")," in cui si può trovare un sistema dinamico."),n("p",null,"Tutte insieme formano lo ",n("i",null,"(iper)",n("b",null,"spazio delle fasi")),".")),n(J.j,{title:"Attrattore"},n("p",null,"Lo ",n("b",null,"stato finale")," di un sistema dinamico."),n("p",null,"Tutte le fasi tendono a uno specifico attrattore.")),n(J.j,{title:"Elaborazione di informazione"},n("p",null,"I sistemi dinamici ",n("b",null,"elaborano informazione")," attraversando fasi e raggiungendo un attrattore."),n(Z.a,null,"L'evoluzione biologica crea nuove specie partendo da quelle precedenti di maggiore successo fino a quando non si raggiunge la specie perfetta."),n(Z.a,null,"Si può vedere l'universo come un gigantesco sistema dinamico. ",n("a",{href:"https://it.wikipedia.org/wiki/Ipotesi_della_simulazione"},"Che sia artificiale?")," ",n("a",{href:"https://it.wikipedia.org/wiki/Morte_termica_dell%27universo"},"Qual è il suo attrattore?")))),n(J.k,{title:"Sistemi lineari"},n(J.j,{title:"Cosa sono?"},n("p",null,"Sistemi dinamici i cui cambiamenti sono descritti da ",n("b",null,"funzioni lineari"),".")),n(J.j,{title:"Nodi"},n("p",null,n("b",null,"Situazioni iniziali")," di un sistema lineare."),n("p",null,"Possono essere:"),n("ul",null,n("li",null,n("u",null,"Stabili"),": ",n("b",null,"convergono")," ad un punto fisso"),n("li",null,n("u",null,"Instabili"),": ",n("b",null,"divergono")," da un punto fisso"),n("li",null,n("a",{href:"https://it.wikipedia.org/wiki/Punto_di_sella"},n("u",null,"Di sella")))),n("p",null,"Nell'insieme dei ",n(J.c,null,K(Q()))," possono anche dare origine a:"),n("ul",null,n("li",null,n("u",null,"Spirali stabili"),": spirali che ",n("b",null,"convergono")),n("li",null,n("u",null,"Spirali instabili"),": spirali che ",n("b",null,"divergono")),n("li",null,n("u",null,"Cicli"),": il sistema forma un ciclo diverso in base alla posizione del nodo"),n("li",null,n("u",null,"Cicli limite"),": il sistema evolve fino a formare un ciclo specifico")),n("p",null,"Infine, in sistemi dissipativi può anche comparire:"),n("ul",null,n("li",null,n("u",null,"Caos"),": il sistema evolve in maniera pseudo-casuale")),n(Z.a,null,"Mai sentito parlare di ",n("a",{href:"https://en.wikipedia.org/wiki/Mersenne_Twister"},"Mersenne Twister"),"?")),n(J.j,{title:"Potenziale"},n("p",null,"Funzione che rappresenta lo stato attuale del sistema."),n("p",null,"Gli attrattori coincidono con i suoi ",n("b",null,"punti di minimo"),", detti ",n("i",null,"punti fissi"),"."),n("p",null,"Il suo complementare è la ",n("b",null,"funzione energia"),"."))),n(J.k,{title:"Agenti"},n(J.j,{title:"Secondo il paradigma debole"},n("p",null,"Sono ",n("b",null,"sistemi")," con le seguenti caratteristiche:"),n("ul",null,n("li",null,n("b",null,"Autonomia"),": agiscono gli uni indipendentemente dagli altri"),n("li",null,n("b",null,"Reattività"),": percepiscono ciò che sta nel loro ambiente e ",n("i",null,"reagiscono")," ai cambiamenti di quest'ultimo"),n("li",null,n("b",null,"Proattività"),": agiscono in maniera tale da portare a termine i loro obiettivi"),n("li",null,n("b",null,"Socialità"),": comunicano con gli altri agenti, scambiando informazioni"))),n(J.j,{title:"Secondo il paradigma forte"},n("p",null,"Hanno anche caratteristiche di ",n("b",null,"livello più alto")," derivate dalle quattro precedenti:"),n("ul",null,n("li",null,"Conoscenza"),n("li",null,"Intenzioni"),n("li",null,"Emozioni"),n("li",null,"Obblighi"),n("li",null,"Obiettivi"),n("li",null,"etc...")),n(Z.a,null,"Gli umani possono benissimo essere considerati agenti del sistema universo.")),n(J.j,{title:"Caratteristiche aggiuntive"},n("p",null,"Gli agenti si distinguono anche in:"),n("ul",null,n("li",null,n("b",null,"Mobilità"),": quanto e come possono muoversi nell'ambiente"),n("li",null,n("b",null,"Veridicità"),": quanto producono informazioni corrette",n(Z.a,null,"È possibile effettuare un attacco a un sistema introducendovi agenti maliziosi che producono intenzionalmente informazioni sbagliate!")),n("li",null,n("b",null,"Benevolenza"),": quanto beneficiano gli altri delle loro azioni",n(Z.a,null,n("u",null,"Agenti malevoli"),": ad esempio, troll in siti web",n("br",null),n("u",null,"Agenti benevoli"),": ad esempio, filtri che bannano i troll")),n("li",null,n("b",null,"Razionalità"),": quanto le loro azioni sono coerenti con i loro obiettivi e lo stato dell'ambiente",n(Z.a,null,n("u",null,"Razionalità limitata"),": gli agenti non conoscono completamente l'ambiente, e compiono le azioni che suppongono essere giuste"))))),n(J.k,{title:"Benefici degli agenti"},n(J.j,{title:"Emergenza"},n("p",null,"Lo sviluppo negli agenti di nuove capacità per cui non erano stati programmati."),n(Z.a,null,"Ad esempio, la Swarm Intelligence, descritta dopo!"))),n(J.k,{title:"Architetture di agente"},n(J.j,{title:"Classe"},n("p",null,"Classificazione in base a ",n("b",null,"come prende le decisioni")," un agente:"),n("ul",null,n("li",null,n("b",null,"Logic-based"),": prende le decisioni attraverso deduzioni ",n("i",null,"logiche")),n("li",null,n("b",null,"Reactive"),": mappa una ",n("i",null,"reazione")," a ogni situazione dell'ambiente"),n("li",null,n("b",null,"Belief-desire-intention"),": per decidere, considera le proprie ",n("i",null,"assunzioni sul mondo")," (",n("i",null,"belief"),"), i propri ",n("i",null,"desideri")," (",n("i",null,"desire"),") e le sue ",n("i",null,"intenzioni")," correnti (",n("i",null,"intention"),")"),n("li",null,n("b",null,"Layered"),": utilizza diversi ",n("i",null,"strati")," di capacità cognitive per giungere a una decisione"))),n(J.j,{title:"Comportamento"},n("p",null,"Classificazione in base a ",n("b",null,"come sono definiti gli obiettivi")," di un agente:"),n("ul",null,n("li",null,n("b",null,"Teleonomico"),": gli obiettivi sono predefiniti ed espliciti"),n("li",null,n("b",null,"Riflessivo"),": l'agente è libero di scegliere il suo obiettivo in base alle proprie percezioni interne"))),n(J.j,{title:"Conoscenze"},n("p",null,"Classificazione in base a ",n("b",null,"quanto conosce dell'ambiente")," un agente:"),n("ul",null,n("li",null,n("b",null,"Cognitivo"),": l'agente è immediatamente a conoscenza di ",n("b",null,"tutto l'ambiente")),n("li",null,n("b",null,"Reattivo"),": l'agente deve scoprire l'ambiente con le sue capacità sensoriali")))),n(J.k,{title:"Sistemi multi-agente"},n(J.j,{title:"Vantaggi"},n("ul",null,n("li",null,n("b",null,"Distribuzione"),": più agenti possono coprire aree di ambiente più vaste, o elaborare più in fretta zone più dense di informazione"),n("li",null,n("b",null,"Rappresentazione"),": i sistemi multi-agente modellano più accuratamente il mondo reale"))),n(J.j,{title:"Feedback"},n("p",null,"Influenza esercitata dal sistema sugli agenti per guidarli verso il loro obiettivo."),n("p",null,"Può essere:"),n("ul",null,n("li",null,n("b",{class:"lime"},"Positivo"),": incentiva gli agenti ad avere un dato comportamento"),n("li",null,n("b",{class:"red"},"Negativo"),": disincentiva gli agenti ad avere un dato comportamento"))),n(J.j,{title:"Swarm intelligence"},n("p",null,"Comportamento ",n("b",null,"emergente")," che si manifesta nei sistemi multiagente con tantissimi agenti."),n("p",null,"Indica la capacità di risoluzione di problemi complessi attraverso la collaborazione di più agenti semplici."))),n(J.k,{title:"Evoluzione"},n(J.j,{title:"Algoritmi genetici"},n("p",null,"Meccanismi simili a quelli evolutivi umani che permettono ai tratti degli agenti di ",n("b",null,"convergere")," verso un valore.")),n(J.j,{title:"Fitness"},n("p",null,"Inizialmente definita come ",n("b",null,"numero di discendenti fertili"),", solitamente indica quanto è probabile che i tratti di un individuo siano passati alla generazione successiva.")),n(J.j,{title:"Cromosoma"},n("p",null,n("b",null,"Sequenza di valori")," che definisce uno o più tratti di un individuo.")),n(J.j,{title:"Popolazione"},n("p",null,"Un ",n("b",null,"insieme di individui")," aventi tutti gli stessi cromosomi.")),n(J.j,{title:"Mutazione"},n("p",null,"Fenomeno che causa una ",n("b",null,"piccola variazione casuale nei cromosomi")," dei figli."),n("p",null,"Previene la ",n("b",null,"convergenza prematura")," in un sistema.")),n(J.j,{title:"Crossover"},n("p",null,"Meccanismo di ",n("b",null,"costruzione dei cromosomi")," in un figlio: i cromosomi dei genitori vengono tagliati nello stesso punto scelto a caso, e per costruire quelli del figlio viene presa una parte dal padre e l'altra parte dalla madre."),n("p",null,"Può portare al miglioramento di un individuo e allo sviluppo di nuovi tratti, ma solo nelle parti di cromosoma che sono diverse tra i due genitori.")),n(J.j,{title:"Schema"},n("p",null,n("b",null,"Sequenza di valori")," all'interno di un cromosoma, che può includere anche sezioni in cui il valore è ",n("b",null,"irrilevante"),"."),n("p",null,"Gli algoritmi genetici permettono di trovare gli schemi con la ",n("b",null,"fitness più alta in assoluto")," in un tempo relativamente breve: il sistema ",n("i",null,"generalmente")," favorisce gli schemi corti con fitness alta.")),n(J.j,{title:"Convergenza prematura"},n("p",null,"Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell'assenza di novità nel sistema."),n("p",null,"Si può impedire con vari metodi: con la ",n("b",null,"mutazione"),", introducendo ",n("b",null,"requisiti di località")," per l'accoppiamento, scegliendo diversamente i genitori, etc..."))),n(J.k,{title:"Sistema a classificatori"},n(J.j,{title:"Cosa sono?"},n("p",null,"Programmi che dati tanti esempi sono in grado di classificare un elemento in una o più categorie."),n("p",null,"Sono formati da ",n("i",null,"classificatori"),", liste di ",n("i",null,"messaggi"),", ",n("i",null,"detettori")," e ",n("i",null,"effettori"),"."))),n(J.k,null,n(J.j,{title:"Classificatori"},n("p",null,"Strutture logiche che ",n("b",null,"elaborano")," i messaggi."),n("p",null,"Valutano una espressione logica (",n("i",null,"condizione"),") sui messaggi in arrivo, e se questa risulta essere vera, emettono un nuovo messaggio in risposta (",n("i",null,"azione"),")."),n(Z.a,null,"Condizione e azione possono essere considerati come due cromosomi di un algoritmo genetico!")),n(J.j,{title:"Messaggi"},n("p",null,n("b",null,"Unità di informazione")," di un sistema a classificatori: sono ",n("b",null,"generati")," da ",n("i",null,"detettori")," e ",n("i",null,"classificatori"),", e ",n("b",null,"consumati")," da ",n("i",null,"classificatori")," ed ",n("i",null,"effettori"),".")),n(J.j,{title:"Detettori"},n("p",null,n("b",null,"Sensori")," che percepiscono lo stato dell'ambiente esterno e lo riportano sotto forma di ",n("i",null,"messaggi"),".")),n(J.j,{title:"Effettori"},n("p",null,n("b",null,"Motori")," che rispondono ai ",n("i",null,"messaggi")," effettuando una qualche azione nell'ambiente."))),n(J.k,null,n(J.j,{title:"Forza"},n("p",null,"Un ",n("b",null,"punteggio")," associato ad ogni classificatore."),n("p",null,"Più un classificatore viene attivato, più la sua forza crescerà."),n(Z.a,null,"I classificatori più deboli vengono lentamente eliminati!")),n(J.j,{title:"Specificità"},n("p",null,"Il ",n("b",null,"numero di condizioni che devono essere soddisfatte")," perchè il classificatore si attivi."),n("p",null)),n(J.j,{title:"Bid"},n("p",null,n("b",null,"Prodotto")," di specificità e forza di un classificatore."),n("p",null,"Rappresenta ",n("b",null,"quanto è probabile che venga utilizzato")," un dato classificatore nel caso che le condizioni di più di uno vengano soddisfatte."),n(Z.a,null,"È la fitness degli algoritmi genetici applicata ai classificatori."))),n(J.k,null,n(J.j,{title:"Cover Detector"},n("p",null,"Se l'input non soddisfa nessun classificatore esistente, se ne crea uno nuovo soddisfatto dall'input attuale con una azione casuale.")),n(J.j,{title:"Cover Effector"},n("p",null,"Se i classificatori emettono in output un messaggio non valido, si crea un nuovo classificatore che trasforma quel messaggio in un output valido."))),n(J.k,{title:"Reti neurali"},n(J.j,{title:"Neuroni"},n("p",null,"Agenti che possono ",n("b",null,"collegarsi tra loro")," tramite ",n("i",null,"sinapsi")," (dirette) e ",n("b",null,"ricevere")," ed ",n("b",null,"emettere")," ",n("i",null,"impulsi")," lungo di esse."),n("p",null,"Gli impulsi ricevuti vengono temporaneamente ",n("b",null,"memorizzati")," dal neurone attraverso valori che decadono nel tempo."),n("p",null,"Se la somma dei valori di tutti gli impulsi ricevuti è ",n("b",null,"maggiore di una certa soglia"),", allora il neurone ",n("b",null,"emetterà")," un impulso."))),n(J.k,{title:"Modello booleano"},n(J.j,{title:"Cos'è?"},n("p",null,"Un modello semplificato di rete neurale in cui vengono considerati ",n("b",null,"solo tempi discreti")," (",n(X.a,null,"ticks"),"), e non è presente la memorizzazione degli impulsi nel tempo."),n("p",null,"È stato sviluppato da ",n("a",{href:"https://it.wikipedia.org/wiki/Warren_McCulloch"},"Warren McCulloch")," (un neurofisiologo) e ",n("a",{href:"https://it.wikipedia.org/wiki/Walter_Pitts"},"Walter Pitts")," (un matematico)."),n(Z.a,null,"È importante perchè dimostra che le reti neurali ",n("b",null,"possono elaborare qualsiasi cosa"),", ma incompleto perchè non descrive nessun metodo per la loro creazione automatica.")),n(J.j,{title:"Neuroni"},n("p",null,"I neuroni ",n("b",null,"si attivano")," in un dato ",n(X.a,null)," se la ",n("b",null,"somma dei loro impulsi")," nel ",n(X.a,null)," precedente è ",n("b",null,"maggiore o uguale a 1"),".")),n(J.j,{title:"Intensità sinaptica"},n("p",null,"Le sinapsi hanno una ",n("i",null,"intensità"),": è un ",n("b",null,"moltiplicatore")," che viene applicato a tutti gli impulsi transitanti la sinapsi."))),n(J.k,{title:"Funzioni logiche nel modello booleano"},n(J.j,{title:"NOT"},n("p",null,"Un neurone con una sinapsi entrante con intensità ",n(J.c,null,K(V())),".")),n(J.j,{title:"OR"},n("p",null,"Un neurone con due o più sinapsi entranti con intensità ",n(J.c,null,K(F())),".")),n(J.j,{title:"AND"},n("p",null,"Un neurone con due o più sinapsi entranti con intensità ",n(J.c,null,K(O())),"."))),n(J.k,{title:"Modello di Hopfield"},n(J.j,{title:"Cos'è?"},n("p",null,"Un'estensione del modello booleano per permettere l'apprendimento automatico delle configurazioni giuste di neuroni."),n("p",null,"È stato sviluppato da ",n("a",{href:"https://en.wikipedia.org/wiki/John_Hopfield"},"John Hopfield")," (uno scienziato)."),n(Z.a,null,"Non è molto avanzato, ma ha portato a ulteriori studi nel campo delle reti neurali.")),n(J.l,null,n("thead",null,n("tr",null,n("th",null,n("abbr",{title:"Vettore / matrice"},"v")),n("th",null,n("abbr",{title:"Elemento singolo / scalare"},"s")),n("th",null,"Glossario"))),n("tbody",null,n("tr",null,n("td",null),n("td",null,n(J.a,null,K(G()))),n("td",null,n(X.a,null,"Tick")," attuale")),n("tr",null,n("td",null),n("td",null,n(J.c,null,K(R())),", ",n(J.c,null,K(H()))),n("td",null,"Identificatore di un neurone specifico")),n("tr",null,n("td",null,n(J.a,null,K(B()))),n("td",null,n(J.a,null,K(T()))),n("td",null,"Intensità della sinapsi diretta da ",n(J.c,null,K(y()))," verso ",n(J.c,null,K(L())))),n("tr",null,n("td",null,n(J.a,null,K(M()))),n("td",null,n(J.a,null,K(D()))),n("td",null,"Soglia di attivazione di un neurone")),n("tr",null,n("td",null,n(J.a,null,K(U()))),n("td",null,n(J.a,null,K(P()))),n("td",null,"Emissione di un neurone")),n("tr",null,n("td",null,n(J.a,null,K(E()))),n("td",null,n(J.a,null,K(x()))),n("td",null,"Somma degli ingressi di un neurone")),n("tr",null,n("td",null),n("td",null,n(J.a,null,K(N()))),n("td",null,"Energia del sistema")),n("tr",null,n("td",null,n(J.a,null,K(I()))),n("td",null,n(J.a,null,K(A()))),n("td",null,"Stato di un neurone in un pattern")),n("tr",null,n("td",null),n("td",null,n(J.a,null,K(C()))),n("td",null,"Sovrapposizione tra due pattern"))))),n(J.k,null,n(J.j,{title:"Emissione"},n("p",null,"In ogni ",n(X.a,null),", i neuroni:"),n("ul",null,n("li",null,"Emettono ",n(J.c,null,K(q()))," se gli input nel ",n(X.a,null)," precedente ",n("b",null,"erano inferiori")," alla soglia di attivazione"),n("li",null,"Emettono ",n(J.c,null,K(S()))," se gli input nel ",n(X.a,null)," precedente ",n("b",null,"superavano")," la soglia di attivazione"),n("li",null,"Non cambiano stato se gli input nel ",n(X.a,null)," precedente ",n("b",null,"erano uguali")," alla soglia di attivazione"))),n(J.j,{title:"Sinapsi"},n("p",null,n("b",null,"Tutti")," i neuroni del modello sono intercollegati tra loro da sinapsi."),n("p",null,"I neuroni non possono essere collegati a loro stessi."),n("p",null,"Questo porta il ",n("b",null,"costo computazionale")," del modello ad essere ",n(J.c,null,K(w())),".")),n(J.j,{title:"Energia"},n("p",null,"Una funzione dell'intero sistema che rappresenta il totale degli stati di tutti i neuroni e tutte le connessioni."),n(J.i,null,K(k())))),n(J.k,null,n(J.j,{title:"Apprendimento hebbiano"},n("p",null,"Un metodo per realizzare l'apprendimento nel modello di Hopfield."),n("p",null,"Si incrementa l'intensità delle sinapsi che connettono neuroni nello stesso stato, e invece si decrementa l'intensità di quelle che connettono neuroni in stati opposti."),n("p",null,"Considerando i neuroni spenti e quelli accesi come ",n(J.c,null,K(j()))," e ",n(J.c,null,K(_()))," rispettivamente, si ha che per ogni pattern:"),n(J.i,null,K(z())),n(Z.a,null,"Così facendo, si insegna sia il pattern normale sia il suo complementare!")),n(J.j,{title:"Simmetria"},n("p",null,"Applicando l'apprendimento hebbiano al modello di Hopfield si ottengono sinapsi simmetriche."),n("p",null,"Se è valida questa proprietà, si può dimostrare che l'",n("b",null,"energia del sistema è sempre decrescente"),", e che quindi che tenderà a un punto fisso!"),n("p",null,n(J.n,null,"TODO: Dopo il prof dimostra la relazione tra input netto e overlap, e che il sistema converge al pattern più simile."))),n(J.j,{title:"Overlap di due pattern"},n("p",null,"Il numero di neuroni attivati in entrambi i pattern."),n(J.i,null,K(h()))),n(J.j,{title:"Interferenza"},n("p",null,"Più pattern vengono imparati da un modello, più è facile che essi interferiscano tra loro."),n("p",null,"In caso di pattern completamente scorrelati tra loro, il limite di pattern imparabili è circa:"),n(J.i,null,K(v()))),n(J.j,{title:"Archetipi"},n("p",null,"Per minimizzare l'interferenza tra pattern, è possibile insegnare al modello un ",n("i",null,"archetipo"),": si insegna più volte il pattern originale applicandoci una minima quantità di interferenza casuale."))),n(J.k,{title:"Modello a percettroni"},n(J.j,{title:"Cos'è?"},n("p",null,"Un modello di rete neurale che supporta l'apprendimento e che presenta ",n("b",null,"più strati di neuroni"),"."),n("p",null,"Ha costi computazionali molto più bassi del modello di Hopfield.")),n(J.l,null,n("thead",null,n("tr",null,n("th",null,"Simbolo"),n("th",null,"Descrizione"))),n("tbody",null,n("tr",null,n("td",null,n(J.a,null,K(b()))),n("td",null,"Numero totale di neuroni nel sistema")),n("tr",null,n("td",null,n(J.a,null,K(g()))),n("td",null,"Numero di un neurone specifico")),n("tr",null,n("td",null,n(J.a,null,K(f()))),n("td",null,"Intensità della sinapsi diretta da ",n(J.c,null,K(m()))," verso ",n(J.c,null,K(p())))),n("tr",null,n("td",null,n(J.a,null,K(d()))),n("td",null,"Emissione del neurone ",n(J.c,null,K(c())))),n("tr",null,n("td",null,n(J.a,null,K(s()))),n("td",null,"Funzione che restituisce lo stato di un neurone dato un valore di input")),n("tr",null,n("td",null,n(J.a,null,K(r()))),n("td",null,"Somma degli input di un neurone")),n("tr",null,n("td",null,n(J.a,null,K(u()))),n("td",null,"Bias di un neurone"))))),n(J.k,null,n(J.j,{title:"Percettrone"},n("p",null,"Una ",n("b",null,"rete neurale")," che viene incapsulata all'interno di un singolo neurone."),n("p",null,"La sua emissione è determinata dalla sua funzione di emissione ",n(J.c,null,K(a())),":"),n(J.i,null,K(o())),n("p",null,n(J.c,null,K(t()))," è una costante configurabile, detta ",n("i",null,"bias"),", che rappresenta il valore di partenza della somma degli input.")),n(J.j,{title:"Percettrone booleano"},n("p",null,"Un percettrone la cui funzione di emissione è:"),n(J.i,null,K(l()))),n(J.j,{title:"Apprendimento"},n("p",null,"Si parte da intensità casuali delle sinapsi."),n("p",null,"Si prova a classificare degli esempi pre-classificati: se un esempio viene classificato nel modo sbagliato, si alterano le intensità delle sinapsi in direzione della sua classificazione corretta."),n("p",null,"Nel caso che vi siano più strati di neuroni, allora sarà necessario ricorrere alla ",n("a",{href:"https://en.wikipedia.org/wiki/Backpropagation"},"backpropagation"),", che stima l'errore di classificazione di ogni singolo neurone e li corregge di conseguenza."))),n(J.k,{title:"Rete feed-forward"},n(J.j,{title:"Cos'è?"},n("p",null,"Un modello a percettroni in cui ",n("b",null,"non si presentano cicli"),"."),n("p",null,"Alcuni dei neuroni che vi sono all'interno saranno dunque dei ",n("b",null,"neuroni sorgente")," e dei ",n("b",null,"neuroni pozzo"),"."))))}}.call(this,e("hosL").h)},ke5e:function(n,i,e){"use strict";(function(n){var l=e("2w3n"),t=e.n(l);i.a=function(i){return n("div",{class:t.a.example},i.children)}}).call(this,e("hosL").h)},mDT8:function(n){n.exports={red:"red__1DkTW",orange:"orange__3-zNZ",yellow:"yellow__2ln-k",lime:"lime__3VExD",cyan:"cyan__YxBjD",blue:"blue__2bc0p",magenta:"magenta__KGEa7",tick:"tick__2T7VF"}}}]); //# sourceMappingURL=route-ApprendimentoSistemiArtificiali.chunk.095f1.js.map