Tag

cognitrone

Browsing

Il machine learning è un tipo di apprendimento che riguarda l’intelligenza artificiale e ricopre un ruolo centrale nello sviluppo di quest’ultima: apprendere significa conoscere maggiormente, e questo significa svilupparsi meglio e più velocemente. Il procedimento di apprendimento risulta simile a quello dell’uomo sotto certi punti di vista: alla macchina viene programmata con un algoritmo tale da cercare e analizzare determinate informazioni. Come se stessimo insegnando a leggere a qualcuno: prima impara a leggere, poi imparare a rielaborare i dati e le informazioni ricevute. Può sembrare un discorso astratto, che riguarda tecnologie lontane dall’uso quotidiano ma non è assolutamente così, dato che praticamente ogni applicazione presente nei nostri smartphone (o per lo meno le più rinomate) utilizza algoritmi di apprendimento. Il machine learning viene utilizzato da Google e Amazon (solo per citarne alcuni tra i più importanti) per la gestione e l’analisi dei dati, o pattern, per essere più corretti. La traduzione di pattern sarebbe “forma” o “modello” ma secondo Satoshi Watanabe[1] va definito come un’entità specifica a cui è possibile fornire un nome, contrapposto a un’entità generica. Questi dati vengono trattati secondo differenti approcci, proposti da Arthur Samuels[2] negli anni ‘50 che sono: l’apprendimento supervisionato, l’apprendimento non supervisionato ed infine l’apprendimento per rinforzo.

2.3.1 Apprendimento supervisionato

Questa tecnica consiste in due fasi: training e prediction. Durante la fase di training la macchina viene istruita con dei dati in input ideali (come se fossero degli esempi da seguire). Successivamente entriamo nella seconda fase, quella del prediction: a questo punto la macchina utilizza il modello ideale precedentemente usato per rielaborare nuovi dati e produrre un output. Questo tipo di apprendimento è spesso usato nell’ambito del marketing: la sua applicazione permette di classificare i potenziali clienti e di proporgli determinati articoli in base alla loro cronologia di acquisti. Inoltre, viene utilizzato anche all’interno delle caselle di posta elettronica per categorizzare le e-mail a seconda che siano “spam” oppure no.

2.3.2 Apprendimento non supervisionato

L’apprendimento non supervisionato serve principalmente ad ottenere nuove informazioni. L’applicazione principale è il “clustering” ovvero il raggruppamento di determinati dati in gruppi omogenei che prendono appunto il nome di “cluster”. Utile in ambito di analisi di mercato per l’individuazione di nuovi clienti e nuovi mercati, è spesso utilizzato in ambito di Big-Data come un motore di ricerca: tramite una o poche parole questo algoritmo è in grado di creare molteplici collegamenti (link) attinenti alla ricerca iniziale. Interessante come nel 1975 Kunihiko Fukushima pubblicò una rete neurale non supervisionata finalizzata al riconoscimento di “pattern” che prendeva il nome di Cognitrone. Si caratterizza per organizzare autonomamente i collegamenti sinaptici tra i propri neuroni e quindi apprendere senza la supervisione di un insegnante. Nel modello proposto sono presenti quattro differenti strati denominati U0, U1, U2, e U3: il primo strato (U0) corrisponde ai neuroni presenti nella retina, mentre l’ultimo strato (U3) corrisponde ai neuroni presenti nella corteccia celebrale. Tale modello prende in considerazione del numero finito di dendriti presenti nei neuroni biologici e della lunghezza dell’assone: questi limiti permettono di associare i neuroni di ogni livello ad altri di un livello superiore, creando così una rete neurale intimamente connessa.

2.3.3 Apprendimento di rinforzo

Questo tipo di apprendimento è largamente usato in ambito robotico e si occupa di risolvere problemi di decisioni sequenziali. La macchina risponde a cambiamenti dell’ambiente circostante e per questo motivo è privilegiato in ambito robotico, ad esempio, nella gestione degli automi, ma anche nella guida senza conducente (driverless car). L’apprendimento per rinforzo funziona mediante tre diverse fasi: la prima consiste nell’applicazione di un algoritmo per cui in base ad un input viene generato un output. La seconda fase consiste nella valutazione dell’output precedentemente ottenuto: se è soddisfacente verrà rilasciata un giudizio positivo, al contrario verrà penalizzata. Infine, è presente un sistema di controllo che monitora l’operato delle prime due fasi, e modifica l’algoritmo utilizzato da A per fare in modo che il premio aumenti e le penalità diminuiscano, migliorando così l’intero processo.

Estratto dalla tesi di Laurea in Filosofia, Teorie e sistemi dell’intelligenza artificiale, a cura di Federico Malpighi. Alma Mater Studiorum Università di Bologna.


[1] Satosi Watanabe. 1985. Pattern recognition: human and mechanical. John Wiley & Sons, Inc., USA.

[2] A. L. Samuel, “Some studies in machine learning using the game of checkers“, in IBM Journal of Research and Development, vol. 44, no. 1.2, pp. 206-226, Jan. 2000, doi: 10.1147/rd.441.0206.