Introduzione all’intelligenza artificiale (AI)

L’intelligenza artificiale è un tema molto attuale, ma non se ne parla mai abbastanza.

Siamo in un mondo in continua evoluzione tecnologica. Adesso, ad esempio, incomincia a diffondersi la realtà virtuale.

Possiamo, dunque, ora incominciare a entrare in un video game e interagire con tutti gli oggetti come fossero reali.

Intelligenza artificiale (AI) una grande rivoluzione
Intelligenza artificiale (AI) una grande rivoluzione

La rivoluzione dell’intelligenza artificiale sarà qualcosa di molto più grande:

cambieranno davvero tutte le cose.

Per esempio, oltre ai robot veri e propri, l’intelligenza artificiale è anche Amazon quando ci suggerisce quali libri comprare in base a quelli che abbiamo già acquistato, ma è anche nei vari algoritmi di Facebook o Youtube, alcune aziende la usano pure per fare selezione del personale.

La tecnologia dell’intelligenza artificiale si estenderà anche a cose come le auto.

Questo tema è talmente grosso che secondo me se ne dovrebbe parlare tutti i giorni, eppure sembra come se questa trasformazione debba coglierci alle spalle, quando meno ce lo aspettiamo.

Per incominciare a comprendere il fenomeno dobbiamo iniziare ad analizzare tutti i concetti che sono inclusi nella nozione di intelligenza artificiale.

L’intelligenza artificiale viene definita come disciplina scientifica che mira alla creazione e lo studio delle macchine intelligenti, ossia macchine capaci di pensare.

Ora il problema è il seguente: che cosa possiamo definire come intelligenza?

È un tema molto vecchio, molte discipline dalle neuroscienze alla filosofia si sono interrogate sulla natura dell’intelligenza.

Ma in intelligenza artificiale hanno una nozione molto precisa:

saper acquisire dati e organizzarli per risolvere problemi di diverso genere.

Questo, in realtà, è solo un modo di vedere l’intelligenza. Secondo me, questo modello di intelligenza assomiglia alla ragione empirica di Hume, quel che cambia è che i dati sono spesso non sensibili, ma di altra natura.

In ogni caso è problematica come nozione perché esistono molti altri tipi di intelligenza come quella pura.

La costruzione di un sillogismo, ad esempio, non parte da dati, è puramente a priori, tuttavia è intelligenza. Oltretutto viene da chiedersi se le emozioni o altro ancora non possano avere relazioni con l’intelligenza.

Damasio, neuroscienziato, sostiene che esiste un intimo legame tra le emozioni e le facoltà superiori del cervello come il pensiero razionale.

Chiedersi che cosa sia l’intelligenza è esattamente quello che farebbe qualsiasi filosofo, ma chi è più vicino ancora alla scienza non usa questo metodo: fa esperimenti.

Alan Turing, ad esempio, ha inventato il famoso test di Turing.

Nel Test di Turing un uomo si trova ad interagire con una macchina, ma non sa di avere a che fare con una macchina. Il problema alla base sta nel fatto che se l’uomo non riconosce di avere di fronte una macchina, perché l’uomo pensa di avere di fronte un altro essere come lui, allora abbiamo a che fare con vera e propria intelligenza.

Questo test è stato più volte criticato. La critica più interessante viene dal filosofo John Searle, noto per il famoso esperimento della camera cinese.

Searle ci propone di immaginarci un computer che prende degli input in lingua cinese e restituisce altrettanti output in cinese. Questo computer, si potrebbe dire, comprende il cinese. È quello che penserebbero tutti.

Test di Turing
Test di Turing

Questo computer, del resto, potrebbe superare il test di Turing facendo credere a qualcuno di stare parlando effettivamente con un cinese.

Se il computer fosse una camera cinese, se ci fosse Searle dentro con un libro del programma usato dal computer in inglese, allora anche Searle potrebbe prendere gli input in cinese e grazie al libro capire qual’è l’output.

Il punto, però, è che Searle non capisce nulla di cinese, si limita solo a manipolare dei segni e così fa anche il computer. In realtà il computer non ha una forma di conoscenza, sostiene Searle.

In generale la filosofia obietta all'esperimento di Turing che non dimostra che una data macchina è intelligente, ma solo che simula l’intelligenza.

È come se l’intero esperimento di Turing fosse basato sulla logica dell’inganno.

Se una macchina inganna un uomo simulando l’intelligenza, allora è intelligente.

Ma sembrare intelligenti ed esserlo sono due cose diverse.

In ogni caso il grande filosofo dell’informatica Luciano Floridi ci informa in La quarta rivoluzione che non esiste al momento nessuna macchina intelligente che sia in grado di superare per davvero il test di Turing. Secondo Floridi, inoltre, noi non dobbiamo simulare l’intelligenza umana con i robot e i computer, ma dobbiamo emularla.

La nostra intelligenza è semantica, quella del computer è invece sintattica, come spiega Floridi.

Tutti sanno che l’intelligenza artificiale viene dall'automazione, ma un semplice braccio meccanico non è intelligente, dunque non è intelligenza artificiale.

L’uomo ha sempre cercato di creare macchine simili a lui, per esempio capaci di giocare una partita a scacchi. Il primo esempio di questo tipo sono gli automi, ma gli automi non sono intelligenti e sfruttano una tecnologia di tipo meccanico ad ingranaggi.

Intelligenza artificiale (AI) e gli scacchi
Intelligenza artificiale (AI) e gli scacchi

Oggi abbiamo a che fare con qualcosa di molto diverso e che si basa sull'elettronica.

Searle distingue due forme di intelligenza artificiale:

quella forte e quella debole.

L’intelligenza artificiale debole agisce non pretendendo di simulare veramente l’intelligenza umana per intero, ma si limita a compiere alcune delle operazioni dell’uomo in modo più efficiente e rapido.

In primo luogo quella debole si interessa di problem solving. Dunque non è intelligenza vera, ma solo intelligenza simulata, per simulare determinate capacità mentali.

L’intelligenza artificiale forte, invece, intende proprio simulare l’intelligenza umana, dunque creare delle cose pensanti. In particolare troviamo questa forma di intelligenza nei sistemi esperti.

Un sistema esperto è un sistema che intende simulare le più alte competenze di un uomo esperto in un determinato campo:

un medico, un ingegnere, ecc.

Principalmente troviamo nell'intelligenza artificiale forte la logica matematica, l’analisi del linguaggio e la pianificazione.

Da questo ramo dell’intelligenza artificiale potranno poi evolversi robot con emozioni e forse un giorno si incomincerà a parlare anche della possibilità di creare dei robot coscienti (su questo tema consiglio molto la serie Humans sui robot coscienti).

Tutta l’intelligenza artificiale che trovate su Google, Facebook o Amazon, possiamo per ora considerarla intelligenza artificiale debole.

Legato all’intelligenza artificiale troviamo il machine learning.

Spesso questi due termini vengono identificati, ma non sono proprio la stessa cosa. Diciamo che il macchine learning lavora proprio su quei meccanismi che vanno a costituire l’intelligenza come la conosciamo.

Il machine learning parte dall'idea di usare degli algoritmi che in modo automatico possano classificare dei dati e manipolarli.

Non dobbiamo scrivere tutto l’algoritmo, come nella programmazione classica, vogliamo solo un qualcosa che selezioni tra i dati le informazioni giuste.

L’intelligenza dell’intelligenza artificiale si basa su dati, sfrutta questi dati per elaborarli e quindi risolvere un problema.

Come sostiene il filosofo Manuel De Landa, l’intelligenza artificiale cerca un processo contrario a quello del sillogismo di Aristotele, il quale parte dal generale per applicare ciò che vale in generale al caso particolare.

Nell'intelligenza artificiale si parte dal particolare nella misura in cui si intende costruire una macchina che apprende dall'esperienza per arrivare al generale.

Già da diverso tempo gli scienziati hanno lavorato alla costruzione di macchine esperte che fossero in grado di apprendere automaticamente.

Quel che è cambiato oggi è l’introduzione della statistica e del calcolo delle probabilità nell'intelligenza della macchina. In particolare questa forma di intelligenza sfrutta il data mining.

Il data mining consiste nel trarre informazioni da una grande quantità di dati.

Il data mining, dunque, si lega direttamente ai Big Data.

Tra le tecniche usate a questo scopo troviamo le reti neurali, gli alberi decisionali e il clustering. Attraverso queste tecniche è possibile un agire informato partendo da dati.

Prima i dati vanno raccolti, si fa uno schema entità-relazione che è alla base della struttura tabellare del nostro database e le tabelle saranno riempite di quei dati, poi ci vuole un software che lavori su quei dati usando metodi come il clustering o gli alberi decisionali, infine qualcuno deve sapere interpretare quei dati.

Il clustering funziona in questo modo:

si creano K partizioni, in questo modo abbiamo differenti gruppi con un centro, ogni dato o punto deve essere legato al centro più vicino.

L’albero decisionale funziona in quest’altro modo:

sfrutta un grafo ad albero, fatto di nodi, parte da una radice, si procede con una diramazione che è fatta di scelte che dipendono da determinati parametri che intendono portare a degli elementi foglia non ulteriormente divisibili.

Il data mining si usa in molti ambiti come la tecnologia, la scienza, il marketing e l’economia.

Dal punto di vista statistico il data mining si rivela effettivamente micidiale: esso intende costruire dei profili delle persone arrivando a comprendere gusti, comportamento, idee, ecc.

Il data mining non è più la statistica sulla massa, sui grandi numeri, ma sull'individuo. Ovviamente è uno strumento molto potente per il controllo degli individui, visto che con esso si potrebbero quasi fare previsioni sul comportamento di un essere umano.

Questo pone dei grossi problemi di etica, come si può dedurre. La questione è che fino a che stiamo su internet esistono moltissimi metodi di tracciamento che permettono a certe persone di raccogliere dei dati su di noi e dunque proporci determinati prodotti. Per non parlare del fatto che i dati oggi sono delle vere e proprie merci che possono essere vendute a terzi.


Data mining e machine learning sono alla base della conoscenza nell'intelligenza artificiale.

Oggi esistono almeno tre forme di apprendimento:

1) Supervisionato:

In questo caso la macchina attinge ad una serie di esperienze che già sono salvate in un database. In quel momento la macchina trova le risposte nel database, lei deve solo analizzare quelle risposte e scegliere qual è la più adatta, dato l’input ricevuto.

In particolare noi diamo dei dati e i relativi risultati alla macchina. La macchina si allena nell'assimilare i dati e il raggiungere i risultati. Finito questo processo è possibile dare altri dati alla macchina e la macchina risponderà da sé.

2) Non supervisionato:

In questo caso la macchina non si trova di fronte ad esperienza già catalogata. A questo punto la macchina stessa deve catalogare e organizzare le informazioni per arrivare alle risposte.

Noi diamo, dunque, una montagna di dati alla macchina e la macchina li classifica lei, cercando di trovare delle relazioni tra dati.

3) Per rinforzo:

In questo caso si parla di macchine dotate di sistemi per apprendimento autonomo, come sensori e telecamere. Questa macchina apprende dall'esperienza e il contatto con il mondo esterno e soprattutto impara ad adattarsi ad esso.

In questo caso ci troviamo di fronte ad una macchina che apprende dai propri errori.

Utilizzi del machine learning:

offrire pubblicità inerenti gli interessi di chi le guarda, il riconoscimento facciale, macchine che si guidano da sole, varie applicazione in ambito medico e molto altro ancora.

Dal machine learning si passa al deep learning, che è una sottocategoria del machine learning.

Il deep learning è semplicemente uno strumento per trarre informazione da quella che già si possiede.

Per arrivare a questo risultato si usano algoritmi di calcolo statistico e si definisce una conoscenza a livelli, nella quale i concetti più alti sono derivati da quelli più bassi. In questo modo la macchina con il deep learning riesce ad elaborare dati e conoscenza a livelli.

Uno degli impieghi più noti del deep learning è il riconoscimento facciale o semplicemente la capacità di distinzione e riconoscimento da parte della macchina di fronte a differenti immagini.

Intelligenza artificiale (AI) e riconoscimento facciale

Intelligenza artificiale (AI) e riconoscimento facciale
Intelligenza artificiale (AI) e riconoscimento facciale

Potrebbe interessarti anche: La matematica del virtuale: Gilles Deleuze secondo Manuel DeLanda.

Questo è un sistema che permette di riconoscere se un contenuto, per esempio, ha elementi di carattere sessuale, corpi nudi o cose simili. Potete immaginare, chiaramente che i social sfruttano questo tipo di tecnologie.

Questo tipo di tecnologia lo troviamo in ambito medico, nelle macchine a guida autonoma, nei social, ma anche negli assistenti vocali.

L’obbiettivo del deep learning sta nella possibilità di poter comprendere un uomo che interagisce con lui.

Al momento si sta studiando molto come funziona il cervello e da questo si cerca di comprendere come sviluppare il deep learning.

Abbiamo visto che la ricerca dell’intelligenza artificiale incontra lo studio delle neuroscienze, perché si intende capire in che modo l’uomo comprende, per poi usare modelli simili nel caso della macchina.

In particolare esiste una branca dell’informatica che si interessa di neuroscienze che è la neuroinformatica. Oltre a questo in informatica vediamo lo sviluppo di vere e proprie reti neurali.

Le reti neurali vogliono simulare la nostra intelligenza e sono state create anche con lo scopo di risolvere problemi complessi.

Il modello a cui si ispira la rete neurale è quello umano. Un neurone nell'uomo è una cellula composta da soma, sinapsi, dendriti e assone. In una rete neurale troviamo uno strato di ingresso, uno strato nascosto e uno strato di uscita.

La rete neurale cerca di emulare il funzionamento del cervello umano.

Usato nel supervisionato vediamo l’algoritmo di fronte sia ai dati, sia alle risposte. In questo caso la macchina cerca di allenarsi per arrivare a quella risposta.

La rete neurale è un insieme di funzioni matematiche e funziona con input e output, noi possiamo solo passare numeri. Potendo passare solo numeri dobbiamo assegnare numeri alle stringhe, classificare tutto con numeri. La rete neurale prende degli input, fa un calcolo e restituisce un output.

Assegna dei pesi agli input per capire quanto questi influiscono sui calcoli. Per esempio da dei valori per calcolare un prezzo, ma l’output sarà la prima volta completamente diverso da quello che noi ci aspettiamo.

La macchina stessa calibra i pesi per fare in modo che l’output si avvicini il più possibile alla risposta reale. Tutti i calcoli dei pesi sono salvati in un file che è definito come modello.

Il modello è la rete neurale già addestrata e con questo la rete neurale può affrontare nuove sfide. Ci sono reti neurali che vanno a lavorare su classificazioni. Ogni input di una rete neurale deve essere un numero. Questo vale per immagini, video, audio e testi. Questo significa che ad ogni immagine o altro contenuto va assegnato un numero.

Intelligenza artificiale (AI) e rete neurale

Intelligenza artificiale (AI) e rete neurale
Intelligenza artificiale (AI) e rete neurale

Potrebbe interessarti anche: Tecnofilosofia: il rapporto difficile tra la filosofia e la tecnologia.

La rete neurale serve a tantissime cose, per esempio saper distinguere, analizzando delle immagini, quali tra queste hanno contenuti porno, immagini di minori, ecc.

Pensate che l’intelligenza artificiale è presente anche nella vostra mail, quando divide lo spam dal resto delle mail, quando divide le notifiche dei social dalle altre notifiche, ecc.

Per creare reti neurali si possono usare framework come tensorflow.

Per fare machine learning si può usare potenzialmente qualsiasi linguaggio di programmazione, ma la maggior parte hanno davvero poche funzioni in tal senso.

I migliori sono Python e Node.js (un framework di javascript).

Intelligenza artificiale (AI) e la logica
Intelligenza artificiale (AI) e la logica

potrebbe interessarti anche: Java spiegato ai filosofi.

Al momento nell'intelligenza artificiale si usa anche la logica filosofica/matematica, per esempio la logica di Frege, come la troviamo in Prolog, ma al momento non conosco ancora bene questo argomento.

Fare intelligenza artificiale è un qualcosa di molto complesso perché richiede alti livelli di matematica, che spesso solo ingegneri possiedono.

Tuttavia, come in ogni cosa in informatica, va semplificandosi. Sicuramente
ci sono strumenti più semplici per fare intelligenza artificiale come Keras per Python o Brain.js per javascript, ma immagino nel futuro quasi tutti i linguaggi si lanceranno sull'impresa e magari inventeranno nuovi framework per semplificare decisamente il lavoro per programmatore.