Intelligenza artificiale

L’intelligenza artificiale (AI), a volte chiamata intelligenza artificiale, è l’intelligenza dimostrata dalle macchine, in contrasto con l’intelligenza naturale mostrata dall’uomo e da altri animali. Nell’informatica, la ricerca AI è definita come lo studio di “agenti intelligenti”: qualsiasi dispositivo che percepisce il suo ambiente e intraprende azioni che massimizzano le sue possibilità di raggiungere con successo i suoi obiettivi. Colloquialmente, il termine “intelligenza artificiale” viene applicato quando una macchina imita le funzioni “cognitive” che gli umani associano ad altre menti umane, come “apprendimento” e “risoluzione dei problemi”.

La portata dell’IA è contestata: quando le macchine diventano sempre più capaci, i compiti considerati come richiedenti “intelligenza” sono spesso rimossi dalla definizione, un fenomeno noto come effetto dell’IA, che porta alla battuta, “l’intelligenza artificiale è tutto ciò che non è stato ancora fatto . “[citazione non trovata] Per esempio, il riconoscimento ottico dei caratteri è spesso escluso da” intelligenza artificiale “, essendo diventata una tecnologia di routine. Le moderne capacità delle macchine generalmente classificate come AI comprendono con successo la comprensione del linguaggio umano, la competizione ai massimi livelli nei sistemi di gioco strategici (come scacchi e Go), automobili che funzionano in modo autonomo e il routing intelligente nelle reti di consegna dei contenuti e simulazioni militari.

L’intelligenza artificiale fu fondata come disciplina accademica nel 1956, e negli anni successivi ha subito diverse ondate di ottimismo, seguite dalla delusione e dalla perdita di finanziamenti (nota come “inverno AI”), seguita da nuovi approcci, successo e nuovi finanziamenti . Per gran parte della sua storia, la ricerca AI è stata divisa in sottocampi che spesso non riescono a comunicare tra loro. Questi sottocampi sono basati su considerazioni tecniche, come obiettivi particolari (ad es. “Robotica” o “apprendimento automatico”), l’uso di particolari strumenti (“logica” o reti neurali artificiali) o profonde differenze filosofiche. I sottocampi sono stati anche basati su fattori sociali (particolari istituzioni o il lavoro di particolari ricercatori).

I problemi tradizionali (o obiettivi) della ricerca di intelligenza artificiale comprendono il ragionamento, la rappresentazione della conoscenza, la pianificazione, l’apprendimento, l’elaborazione del linguaggio naturale, la percezione e la capacità di spostare e manipolare gli oggetti. L’intelligenza generale è tra gli obiettivi a lungo termine del campo. Gli approcci includono metodi statistici, intelligenza computazionale e AI simbolica tradizionale. Molti strumenti sono utilizzati nell’IA, comprese le versioni di ricerca e ottimizzazione matematica, reti neurali artificiali e metodi basati su statistiche, probabilità ed economia. Il campo dell’IA si basa su informatica, ingegneria dell’informazione, matematica, psicologia, linguistica, filosofia e molti altri.

Il campo è stato fondato sulla pretesa che l’intelligenza umana “può essere descritta in modo così preciso che una macchina può essere fatta per simularla”. Ciò solleva argomentazioni filosofiche sulla natura della mente e l’etica della creazione di esseri artificiali dotati di intelligenza umana che sono temi che sono stati esplorati dal mito, dalla finzione e dalla filosofia fin dall’antichità. Alcune persone considerano l’IA anche un pericolo per l’umanità se progredisce senza sosta. Altri credono che l’AI, a differenza delle precedenti rivoluzioni tecnologiche, creerà un rischio di disoccupazione di massa. Tuttavia, Google sta ospitando un concorso globale per sviluppare l’intelligenza artificiale che è benefica per l’umanità

Nel ventunesimo secolo, le tecniche di IA hanno sperimentato una rinascita in seguito a concomitanti progressi nella potenza del computer, grandi quantità di dati e comprensione teorica; e le tecniche di IA sono diventate una parte essenziale del settore tecnologico, contribuendo a risolvere molti problemi complessi in informatica, ingegneria del software e ricerca operativa.

approcci
Non esiste una teoria o un paradigma unificante stabilito che guidi la ricerca AI. I ricercatori non sono d’accordo su molti problemi. Alcune delle domande più antiche rimaste senza risposta sono queste: l’intelligenza artificiale dovrebbe simulare l’intelligenza naturale studiando la psicologia o la neurobiologia? O la biologia umana è irrilevante per la ricerca di intelligenza artificiale come la biologia degli uccelli è per l’ingegneria aeronautica? Il comportamento intelligente può essere descritto utilizzando principi semplici ed eleganti (come logica o ottimizzazione)? O richiede necessariamente la risoluzione di un gran numero di problemi completamente indipendenti?

Cibernetica e simulazione del cervello
Negli anni ’40 e ’50, un certo numero di ricercatori ha esplorato la connessione tra neurobiologia, teoria dell’informazione e cibernetica. Alcuni di loro costruivano macchine che utilizzavano reti elettroniche per esibire intelligenza rudimentale, come le tartarughe di W. Gray Walter e la Johns Hopkins Beast. Molti di questi ricercatori si sono riuniti per le riunioni della Società Teleologica dell’Università di Princeton e del Ratio Club in Inghilterra. Nel 1960, questo approccio fu in gran parte abbandonato, anche se alcuni elementi di esso sarebbero stati rianimati negli anni ’80.

Simbolico
Quando l’accesso ai computer digitali divenne possibile a metà degli anni ’50, la ricerca di IA iniziò a esplorare la possibilità che l’intelligenza umana potesse essere ridotta alla manipolazione dei simboli. La ricerca è stata incentrata su tre istituzioni: Carnegie Mellon University, Stanford e MIT e, come descritto di seguito, ognuno ha sviluppato il proprio stile di ricerca. John Haugeland ha definito questi approcci simbolici all’IA “buon vecchio stile AI” o “GOFAI”. Durante gli anni ’60, gli approcci simbolici avevano raggiunto un grande successo nel simulare il pensiero ad alto livello in piccoli programmi di dimostrazione. Gli approcci basati sulla cibernetica o reti neurali artificiali sono stati abbandonati o spinti in secondo piano. I ricercatori negli anni ’60 e ’70 erano convinti che gli approcci simbolici alla fine avrebbero avuto successo nel creare una macchina con intelligenza artificiale generale e considerato questo l’obiettivo del loro campo.

Simulazione cognitiva
L’economista Herbert Simon e Allen Newell hanno studiato le capacità di risoluzione dei problemi umani e hanno tentato di formalizzarli, e il loro lavoro ha gettato le basi del campo dell’intelligenza artificiale, nonché delle scienze cognitive, della ricerca operativa e della scienza gestionale. Il team di ricerca ha utilizzato i risultati di esperimenti psicologici per sviluppare programmi che simulassero le tecniche utilizzate dalle persone per risolvere i problemi. Questa tradizione, incentrata sulla Carnegie Mellon University, sarebbe culminata nello sviluppo dell’architettura Soar a metà degli anni ’80.

basata Logic-
A differenza di Simon e Newell, John McCarthy riteneva che le macchine non avessero bisogno di simulare il pensiero umano, ma dovevano invece cercare di trovare l’essenza del ragionamento astratto e della risoluzione dei problemi, indipendentemente dal fatto che le persone usassero gli stessi algoritmi. Il suo laboratorio a Stanford (SAIL) si è concentrato sull’uso della logica formale per risolvere un’ampia varietà di problemi, tra cui la rappresentazione della conoscenza, la pianificazione e l’apprendimento. La logica era anche il fulcro del lavoro presso l’Università di Edimburgo e altrove in Europa, che ha portato allo sviluppo del linguaggio di programmazione Prolog e della scienza della programmazione logica.

Anti-logica o trasandato
I ricercatori del MIT (come Marvin Minsky e Seymour Papert) hanno scoperto che la risoluzione di problemi difficili nella visione e l’elaborazione del linguaggio naturale richiedevano soluzioni ad hoc – sostenevano che non esisteva un principio semplice e generale (come la logica) che avrebbe catturato tutti gli aspetti di comportamento intelligente. Roger Schank ha descritto i loro approcci “anti-logici” come “trasandati” (in contrasto con i paradigmi “ordinari” di CMU e Stanford). Le basi di conoscenza di Commons (come Doug Lenat’s Cyc) sono un esempio di IA “trasandata”, poiché devono essere costruite a mano, un concetto complicato alla volta.

Basata sulla conoscenza
Quando i computer con grandi memorie divennero disponibili intorno al 1970, i ricercatori di tutte e tre le tradizioni iniziarono a sviluppare conoscenze nelle applicazioni AI. Questa “rivoluzione della conoscenza” ha portato allo sviluppo e alla diffusione di sistemi esperti (introdotti da Edward Feigenbaum), la prima vera forma di successo del software AI. La componente chiave sul sistema arhitecute per tutti i sistemi esperti è la Knowledge base, che memorizza fatti e regole che illustrano l’intelligenza artificiale. La rivoluzione della conoscenza è stata guidata anche dalla consapevolezza che enormi quantità di conoscenza sarebbero state richieste da molte semplici applicazioni dell’IA.

Sub-simbolico
Negli anni ’80, i progressi nell’IA simbolica sembravano bloccarsi e molti credevano che i sistemi simbolici non sarebbero mai stati in grado di imitare tutti i processi della cognizione umana, in particolare la percezione, la robotica, l’apprendimento e il riconoscimento di schemi. Un certo numero di ricercatori ha iniziato a esaminare approcci “sub-simbolici” a specifici problemi di intelligenza artificiale. I metodi sub-simbolici riescono ad avvicinarsi all’intelligenza senza rappresentazioni specifiche della conoscenza.

Intelligenza incarnata
Ciò include l’intelligenza incarnata, situata, basata sul comportamento e nouvelle. I ricercatori del campo della robotica correlato, come Rodney Brooks, hanno rifiutato l’intelligenza artificiale simbolica e si sono concentrati sui problemi di ingegneria di base che avrebbero consentito ai robot di muoversi e sopravvivere. Il loro lavoro rianimò il punto di vista non simbolico dei primi ricercatori della cibernetica degli anni ’50 e reintrodusse l’uso della teoria del controllo nell’IA. Questo ha coinciso con lo sviluppo della tesi della mente incarnata nel campo correlato della scienza cognitiva: l’idea che aspetti del corpo (come movimento, percezione e visualizzazione) sono necessari per una maggiore intelligenza.

All’interno della robotica evolutiva, vengono elaborati approcci di apprendimento evolutivo per consentire ai robot di accumulare repertori di nuove abilità attraverso l’auto-esplorazione autonoma, l’interazione sociale con insegnanti umani e l’uso di meccanismi di guida (apprendimento attivo, maturazione, sinergie motorie, ecc.).

Intelligenza computazionale e soft computing
L’interesse per le reti neurali e il “connessionismo” è stato ripreso da David Rumelhart e altri nella metà degli anni ’80. Le reti neurali artificiali sono un esempio di soft computing: sono soluzioni a problemi che non possono essere risolti con completa certezza logica e dove una soluzione approssimativa è spesso sufficiente. Altri approcci di soft computing all’IA includono sistemi fuzzy, calcolo evolutivo e molti strumenti statistici. L’applicazione del soft computing all’IA è studiata collettivamente dalla disciplina emergente dell’intelligenza computazionale.

Apprendimento statistico
Gran parte del tradizionale GOFAI si è impantanato su patch ad hoc per il calcolo simbolico che ha funzionato sui propri modelli giocattolo, ma non è riuscito a generalizzare i risultati del mondo reale. Tuttavia, intorno al 1990, i ricercatori di IA hanno adottato sofisticati strumenti matematici, come modelli di Markov nascosti (HMM), teoria dell’informazione e teoria delle decisioni bayesiana normativa per confrontare o unificare architetture concorrenti. Il linguaggio matematico condiviso ha permesso un alto livello di collaborazione con campi più consolidati (come la matematica, l’economia o la ricerca operativa). Rispetto al GOFAI, le nuove tecniche di “apprendimento statistico” come HMM e reti neurali stavano ottenendo livelli più alti di accuratezza in molti domini pratici come il data mining, senza necessariamente acquisire la comprensione semantica dei set di dati. L’aumento dei successi con i dati del mondo reale ha portato ad accrescere l’enfasi sulla comparazione di approcci diversi rispetto ai dati di test condivisi per vedere quale approccio ha dato i risultati migliori in un contesto più ampio rispetto a quello fornito da modelli giocattolo idiosincratici; La ricerca sull’IA stava diventando più scientifica. Al giorno d’oggi i risultati degli esperimenti sono spesso rigorosamente misurabili e talvolta (con difficoltà) riproducibili. Diverse tecniche di apprendimento statistico presentano limiti diversi; per esempio, l’HMM di base non può modellare le infinite combinazioni possibili del linguaggio naturale. I critici sottolineano che il passaggio dal GOFAI all’apprendimento statistico è spesso anche un allontanamento dall’IA spiegabile. Nella ricerca AGI, alcuni studiosi mettono in guardia dall’eccessivo affidamento sull’apprendimento statistico e sostengono che continuare a ricercare nel GOFAI sarà ancora necessario per ottenere informazioni generali.

Integrando gli approcci

Paradigma agente intelligente
Un agente intelligente è un sistema che percepisce il suo ambiente e intraprende azioni che massimizzano le sue possibilità di successo. Gli agenti intelligenti più semplici sono programmi che risolvono problemi specifici. Agenti più complicati includono esseri umani e organizzazioni di esseri umani (come le imprese). Il paradigma consente ai ricercatori di confrontare direttamente o addirittura di combinare approcci diversi a problemi isolati, chiedendo quale agente sia più adatto a massimizzare una determinata “funzione obiettivo”. Un agente che risolve un problema specifico può utilizzare qualsiasi approccio che funzioni: alcuni agenti sono simbolici e logici, alcuni sono reti neurali artificiali sub-simboliche e altri possono usare nuovi approcci. Il paradigma offre anche ai ricercatori un linguaggio comune per comunicare con altri campi – come la teoria delle decisioni e l’economia – che usano anche concetti di agenti astratti. Costruire un agente completo richiede che i ricercatori affrontino problemi realistici di integrazione; ad esempio, poiché i sistemi sensoriali forniscono informazioni incerte sull’ambiente, i sistemi di pianificazione devono essere in grado di funzionare in presenza di incertezza. Il paradigma dell’agente intelligente è stato ampiamente accettato negli anni ’90.
Architetture degli agenti e architetture cognitive
I ricercatori hanno progettato sistemi per costruire sistemi intelligenti senza l’interazione di agenti intelligenti in un sistema multi-agente. Un sistema di controllo gerarchico fornisce un ponte tra l’IA sub-simbolica ai suoi livelli più bassi e reattivi e l’AI simbolica tradizionale ai suoi livelli più alti, dove i rilassati vincoli temporali consentono la pianificazione e la modellazione del mondo. Alcune architetture cognitive sono costruite su misura per risolvere un problema ristretto; altri, come Soar, sono progettati per imitare la cognizione umana e per fornire informazioni sull’intelligenza generale. Le estensioni moderne di Soar sono sistemi ibridi intelligenti che includono componenti sia simbolici che sub-simbolici.

Utensili

AI ha sviluppato un gran numero di strumenti per risolvere i problemi più difficili in informatica. Alcuni dei più generali di questi metodi sono discussi di seguito.

Ricerca e ottimizzazione
Molti problemi nell’IA possono essere risolti in teoria cercando in modo intelligente attraverso molte possibili soluzioni: il ragionamento può essere ridotto all’esecuzione di una ricerca. Ad esempio, la prova logica può essere vista come una ricerca di un percorso che porta da premesse a conclusioni, in cui ogni passaggio è l’applicazione di una regola di inferenza. Gli algoritmi di pianificazione ricercano attraverso gli alberi di obiettivi e subgoals, tentando di trovare un percorso verso un obiettivo di destinazione, un processo chiamato analisi di mezzi-fini. Gli algoritmi di robotica per spostare gli arti e afferrare oggetti usano le ricerche locali nello spazio di configurazione. Molti algoritmi di apprendimento utilizzano algoritmi di ricerca basati sull’ottimizzazione.

Ricerche esaustive semplici sono raramente sufficienti per la maggior parte dei problemi del mondo reale: lo spazio di ricerca (il numero di posti da cercare) cresce rapidamente fino ai numeri astronomici. Il risultato è una ricerca troppo lenta o mai completa. La soluzione, per molti problemi, è usare “euristiche” o “regole empiriche” che danno la priorità alle scelte a favore di quelle che hanno maggiori probabilità di raggiungere un obiettivo e di farlo in un numero più breve di passaggi. In alcune metodologie di ricerca, l’euristica può anche servire a eliminare completamente alcune scelte che difficilmente portano a un obiettivo (chiamato “sfoltire l’albero di ricerca”). L’euristica fornisce al programma una “ipotesi migliore” per il percorso su cui si basa la soluzione. L’euristica limita la ricerca di soluzioni in un campione più piccolo.

Un tipo molto diverso di ricerca è venuto alla ribalta negli anni ’90, basandosi sulla teoria matematica dell’ottimizzazione. Per molti problemi, è possibile iniziare la ricerca con una qualche forma di ipotesi e quindi perfezionare l’ipotesi in modo incrementale fino a quando non si possono apportare ulteriori perfezionamenti. Questi algoritmi possono essere visualizzati come arrampicata cieca: iniziamo la ricerca in un punto casuale sul paesaggio, e poi, con salti o passi, continuiamo a spostare la nostra ipotesi in salita, fino a raggiungere la cima. Altri algoritmi di ottimizzazione sono la ricottura simulata, la ricerca del raggio e l’ottimizzazione casuale.

Il calcolo evolutivo utilizza una forma di ricerca di ottimizzazione. Ad esempio, possono iniziare con una popolazione di organismi (le ipotesi) e quindi consentire loro di mutare e ricombinarsi, selezionando solo il più adatto per sopravvivere a ogni generazione (affinando le ipotesi). Gli algoritmi classici evolutivi includono algoritmi genetici, programmazione dell’espressione genica e programmazione genetica. In alternativa, i processi di ricerca distribuiti possono coordinarsi tramite algoritmi di swarm intelligence. Due popolari algoritmi di swarm utilizzati nella ricerca sono l’ottimizzazione degli sciami di particelle (ispirata al floccaggio degli uccelli) e l’ottimizzazione delle colonie di formiche (ispirata ai percorsi delle formiche).

Logica
La logica è utilizzata per la rappresentazione della conoscenza e la risoluzione dei problemi, ma può essere applicata anche ad altri problemi. Ad esempio, l’algoritmo satplan utilizza la logica per la pianificazione e la programmazione logica induttiva è un metodo per l’apprendimento.

Diverse forme diverse di logica sono utilizzate nella ricerca di intelligenza artificiale. La logica proposizionale include funzioni di verità come “o” e “non”. La logica del primo ordine aggiunge quantificatori e predicati e può esprimere fatti sugli oggetti, le loro proprietà e le loro relazioni reciproche. La teoria degli insiemi fuzzy assegna un “grado di verità” (tra 0 e 1) a affermazioni vaghe come “Alice è vecchia” (o ricca, o alta o affamata) che sono troppo linguisticamente imprecise per essere completamente vere o false. La logica fuzzy è utilizzata con successo nei sistemi di controllo per consentire agli esperti di fornire regole vaghe come “se sei vicino alla stazione di destinazione e stai muovendo velocemente, aumenta la pressione dei freni del treno”; queste regole vaghe possono quindi essere raffinate numericamente all’interno del sistema. La logica fuzzy non riesce ad adattarsi bene alle basi della conoscenza; molti ricercatori di IA mettono in discussione la validità del concatenamento delle inferenze di logica fuzzy.

Le logiche predefinite, le logiche non monotone e la circoscrizione sono forme di logica progettate per aiutare con il ragionamento predefinito e il problema della qualifica. Diverse estensioni della logica sono state progettate per gestire domini di conoscenza specifici, come ad esempio: logiche descrittive; calcolo della situazione, calcolo degli eventi e calcolo fluente (per rappresentare eventi e tempo); calcolo causale; calcolo delle convinzioni; e logiche modali.

Nel complesso, la logica simbolica qualitativa è fragile e si adatta in modo scadente in presenza di rumore o altre incertezze. Le eccezioni alle regole sono numerose ed è difficile per i sistemi logici funzionare in presenza di regole contraddittorie.

Metodi probabilistici per ragionamento incerto
Molti problemi nell’IA (nel ragionamento, nella pianificazione, nell’apprendimento, nella percezione e nella robotica) richiedono all’agente di operare con informazioni incomplete o incerte. I ricercatori di IA hanno escogitato una serie di potenti strumenti per risolvere questi problemi usando metodi dalla teoria della probabilità e dall’economia.

Le reti bayesiane sono uno strumento molto generale che può essere utilizzato per un gran numero di problemi: ragionamento (usando l’algoritmo di inferenza bayesiana), apprendimento (usando l’algoritmo di massimizzazione delle aspettative), pianificazione (usando reti decisionali) e percezione (usando reti dinamiche bayesiane ). Gli algoritmi probabilistici possono anche essere utilizzati per filtrare, prevedere, livellare e trovare spiegazioni per flussi di dati, aiutando i sistemi di percezione ad analizzare i processi che si verificano nel tempo (ad es. Modelli Markov nascosti o filtri Kalman). Rispetto alla logica simbolica, l’inferenza formale bayesiana è computazionalmente costosa. Affinché l’inferenza sia trattabile, la maggior parte delle osservazioni deve essere condizionatamente indipendente l’una dall’altra. Grafici complicati con diamanti o altri “loop” (cicli non orientati) possono richiedere un metodo sofisticato come Markov Chain Monte Carlo, che diffonde un insieme di camminatori casuali in tutta la rete bayesiana e tenta di convergere verso una valutazione delle probabilità condizionali. Le reti bayesiane vengono utilizzate su Xbox Live per valutare e abbinare i giocatori; le vittorie e le sconfitte sono “prove” di quanto è buono un giocatore. AdSense utilizza una rete bayesiana con oltre 300 milioni di spigoli per sapere quali annunci pubblicare.

Un concetto chiave della scienza economica è “utilità”: una misura di quanto sia prezioso un oggetto per un agente intelligente. Sono stati sviluppati strumenti matematici precisi che analizzano il modo in cui un agente può fare scelte e pianificare, utilizzando la teoria della decisione, l’analisi delle decisioni e la teoria del valore dell’informazione. Questi strumenti includono modelli come processi decisionali Markov, reti decisionali dinamiche, teoria dei giochi e progettazione di meccanismi.

Classificatori e metodi di apprendimento statistici
Le applicazioni AI più semplici possono essere suddivise in due tipi: classificatori (“se lucido, poi diamante”) e controller (“se lucido, poi raccogli”). I controllori, tuttavia, classificano anche le condizioni prima di inferire le azioni, e quindi la classificazione costituisce una parte centrale di molti sistemi di intelligenza artificiale. I classificatori sono funzioni che utilizzano la corrispondenza del modello per determinare una corrispondenza più simile. Possono essere sintonizzati secondo gli esempi, rendendoli molto attraenti per l’utilizzo in AI. Questi esempi sono noti come osservazioni o modelli. Nell’apprendimento supervisionato, ogni modello appartiene a una determinata classe predefinita. Una classe può essere vista come una decisione che deve essere presa. Tutte le osservazioni combinate con le loro etichette di classe sono conosciute come un set di dati. Quando viene ricevuta una nuova osservazione, tale osservazione viene classificata in base all’esperienza precedente.

Un classificatore può essere addestrato in vari modi; ci sono molti approcci statistici e di apprendimento automatico. L’albero delle decisioni è forse l’algoritmo di apprendimento automatico più utilizzato. Altri classificatori ampiamente usati sono la rete neurale, l’algoritmo di k-nearest neighbor, i metodi del kernel come il vettore di supporto della macchina (SVM), il modello di miscela gaussiana e il classificatore di Bayes naive estremamente popolare. Le prestazioni del classificatore dipendono in gran parte dalle caratteristiche dei dati da classificare, come la dimensione del set di dati, la dimensionalità e il livello di rumore. I classificatori basati su modello funzionano bene se il modello assunto è estremamente adatto per i dati effettivi. Altrimenti, se non è disponibile un modello corrispondente e se l’accuratezza (piuttosto che la velocità o la scalabilità) è l’unica preoccupazione, la saggezza convenzionale è che i classificatori discriminanti (specialmente SVM) tendono ad essere più accurati dei classificatori basati su modelli come “naive Bayes” sulla maggior parte dei set di dati pratici.

Reti neurali artificiali
Le reti neurali, o reti neurali, sono state ispirate dall’architettura dei neuroni nel cervello umano. Un semplice “neurone” N accetta input da molti altri neuroni, ciascuno dei quali, quando attivato (o “sparato”), lancia un “voto” ponderato a favore o contro il fatto che il neurone N debba attivarsi. L’apprendimento richiede un algoritmo per regolare questi pesi in base ai dati di allenamento; un semplice algoritmo (soprannominato “fuoco insieme, filo insieme”) è quello di aumentare il peso tra due neuroni connessi quando l’attivazione di uno attiva l’attivazione di successo di un altro. La rete forma “concetti” che sono distribuiti tra una sottorete di neuroni condivisi che tendono a sparare insieme; un concetto che significa “gamba” potrebbe essere accoppiato con una sottorete che significa “piede” che include il suono per “piede”. I neuroni hanno uno spettro continuo di attivazione; inoltre, i neuroni possono elaborare input in modo non lineare piuttosto che valutare voti chiari. Le reti neurali moderne possono apprendere sia funzioni continue che, sorprendentemente, operazioni logiche digitali. I primi successi delle reti neurali includevano la previsione del mercato azionario e (nel 1995) un’auto per lo più a guida autonoma. Negli anni 2010, i progressi nelle reti neurali che utilizzano l’apprendimento profondo spingono l’intelligenza artificiale in una diffusa consapevolezza pubblica e contribuiscono a un enorme incremento della spesa per le IA aziendali; ad esempio, la M & A del 2017 relativa all’IA è stata oltre 25 volte più grande del 2015.

Lo studio delle reti neurali artificiali non-learning è iniziato nel decennio prima che il campo della ricerca sull’intelligenza artificiale fosse fondato, nel lavoro di Walter Pitts e Warren McCullouch. Frank Rosenblatt ha inventato il perceptron, una rete di apprendimento con un singolo livello, simile al vecchio concetto di regressione lineare. I primi pionieri comprendono anche Alexey Grigorevich Ivakhnenko, Teuvo Kohonen, Stephen Grossberg, Kunihiko Fukushima, Christoph von der Malsburg, David Willshaw, Shun-Ichi Amari, Bernard Widrow, John Hopfield, Eduardo R. Caianiello e altri.

Le principali categorie di reti sono reti neurali acicliche o feedforward (dove il segnale passa in una sola direzione) e reti neurali ricorrenti (che consentono il feedback e le memorie a breve termine di eventi di input precedenti). Tra le reti di feedforward più popolari ci sono perceptron, percettori multistrato e reti di base radiali. Le reti neurali possono essere applicate al problema del controllo intelligente (per la robotica) o dell’apprendimento, utilizzando tecniche come l’apprendimento hebbiano (“fuoco insieme, filo insieme”), GMDH o apprendimento competitivo.

Oggi, le reti neurali sono spesso addestrate dall’algoritmo di backpropagation, che era in circolazione dal 1970 come la modalità di differenziazione automatica inversa pubblicata da Seppo Linnainmaa, ed è stata introdotta nelle reti neurali da Paul Werbos.

La memoria temporale gerarchica è un approccio che modella alcune delle proprietà strutturali e algoritmiche della neocorteccia.

In breve, la maggior parte delle reti neurali utilizza una qualche forma di discesa del gradiente su una topologia neurale creata a mano. Tuttavia, alcuni gruppi di ricerca, come Uber, sostengono che la semplice neuroevoluzione per mutare nuove topologie e pesi di reti neuronali possa essere competitiva con sofisticati approcci di discesa del gradiente. Un vantaggio della neuroevoluzione è che potrebbe essere meno incline a rimanere intrappolato in “vicoli ciechi”.

Profonde reti neurali feedforward
L’apprendimento profondo è una qualsiasi rete neurale artificiale in grado di apprendere una lunga catena di collegamenti causali. Ad esempio, una rete di feedforward con sei livelli nascosti può apprendere una catena causale a sette collegamenti (sei livelli nascosti + livello di output) e ha una profondità di 7 “percorso di assegnazione del credito” (CAP). Molti sistemi di deep learning devono essere in grado di apprendere catene di dieci o più collegamenti causali in lunghezza. L’apprendimento approfondito ha trasformato molti importanti sottocampi dell’intelligenza artificiale, tra cui la visione artificiale, il riconoscimento vocale, l’elaborazione del linguaggio naturale e altri.

Secondo una visione d’insieme, l’espressione “Apprendimento profondo” è stata introdotta nella comunità di Machine Learning da Rina Dechter nel 1986 e ha guadagnato vigore dopo che Igor Aizenberg e colleghi l’hanno introdotto su Artificial Neural Networks nel 2000. Le prime reti funzionali di Deep Learning sono state pubblicate da Alexey Grigorevich Ivakhnenko e VG Lapa nel 1965. [pagina necessaria] Queste reti vengono addestrate uno strato alla volta. Il documento di Ivakhnenko del 1971 descrive l’apprendimento di un perceptron multistrato feedforward profondo con otto strati, già molto più profondo di molte reti successive. Nel 2006, una pubblicazione di Geoffrey Hinton e Ruslan Salakhutdinov ha introdotto un altro modo di pre-formazione di reti neurali feedforward a più strati (FNN) uno strato alla volta, trattando ogni strato a turno come una macchina Boltzmann senza supervisione e controllata, quindi utilizzando l’inseguimento di backpropagation per ritocchi. Simile a reti neurali artificiali poco profonde, le reti neurali profonde possono modellare relazioni non lineari complesse. Negli ultimi anni, i progressi negli algoritmi di apprendimento automatico e hardware del computer hanno portato a metodi più efficienti per la formazione di reti neurali profonde che contengono molti strati di unità nascoste non lineari e un livello di output molto grande.

L’apprendimento profondo utilizza spesso reti neurali convoluzionali (CNN), le cui origini possono essere ricondotte al Neocognitron introdotto da Kunihiko Fukushima nel 1980. Nel 1989, Yann LeCun e colleghi hanno applicato il backpropagation a tale architettura. Nei primi anni 2000, in una applicazione industriale le CNN hanno già elaborato una percentuale stimata tra il 10% e il 20% di tutti i controlli scritti negli Stati Uniti. Dal 2011, le veloci implementazioni delle CNN sulle GPU hanno vinto molte competizioni di riconoscimento visivo.

Le CNN con 12 strati convoluzionali sono state utilizzate in concomitanza con l’apprendimento del rinforzo da parte di Deepmind “AlphaGo Lee”, il programma che ha battuto un campione di Go nel 2016.

Reti neuronali ricorrenti profonde
All’inizio, l’apprendimento approfondito veniva applicato anche all’apprendimento sequenziale con reti neurali ricorrenti (RNN) che sono in teoria complete di Turing e possono eseguire programmi arbitrari per elaborare sequenze arbitrarie di input. La profondità di un RNN è illimitata e dipende dalla lunghezza della sua sequenza di input; quindi, un RNN è un esempio di apprendimento profondo. I RNN possono essere addestrati dalla discesa del gradiente, ma soffrono del problema del gradiente di fuga. Nel 1992, è stato dimostrato che il pre-addestramento senza supervisione di una pila di reti neurali ricorrenti può accelerare il successivo apprendimento supervisionato di problemi sequenziali profondi.

Numerosi ricercatori ora usano varianti di un NN ricorrente di apprendimento profondo chiamato la lunga memoria a breve termine (LSTM) pubblicata da Hochreiter & amp; Schmidhuber nel 1997. LSTM è spesso addestrato dalla Connectionist Temporal Classification (CTC). In Google, Microsoft e Baidu questo approccio ha rivoluzionato il riconoscimento vocale. Ad esempio, nel 2015, il riconoscimento vocale di Google ha registrato un notevole aumento delle prestazioni del 49% grazie a LSTM con formazione CTC, ora disponibile tramite Google Voice a miliardi di utenti di smartphone. Google ha anche utilizzato LSTM per migliorare la traduzione automatica, la modellazione linguistica e l’elaborazione multilingue del linguaggio. LSTM combinato con CNN ha anche migliorato il sottotitolaggio automatico delle immagini e una pletora di altre applicazioni.

Valutare i progressi
L’intelligenza artificiale, come l’elettricità o il motore a vapore, è una tecnologia di uso generale. Non c’è consenso su come caratterizzare quali attività AI tende a eccellere. Mentre progetti come AlphaZero sono riusciti a generare le proprie conoscenze da zero, molti altri progetti di apprendimento automatico richiedono grandi set di dati di formazione. Il ricercatore Andrew Ng ha suggerito, come una “regola empirica estremamente imperfetta”, che “quasi tutto ciò che un tipico umano può fare con meno di un secondo del pensiero mentale, probabilmente ora o in un prossimo futuro automatizzeremo usando l’intelligenza artificiale”. Il paradosso di Moravec suggerisce che l’intelligenza artificiale è in ritardo rispetto agli umani in molti compiti che il cervello umano si è specificamente evoluto per ottenere buoni risultati.

I giochi forniscono un punto di riferimento ben pubblicizzato per valutare i tassi di progresso. AlphaGo intorno al 2016 ha portato al termine l’era dei classici benchmark di gioco da tavolo. I giochi di conoscenza imperfetta offrono nuove sfide all’IA nel campo della teoria dei giochi. Gli sport elettronici come StarCraft continuano a fornire ulteriori parametri di riferimento pubblici. Ci sono molte competizioni e premi, come l’Imagenet Challenge, per promuovere la ricerca nell’intelligenza artificiale. Le principali aree di concorrenza includono l’intelligenza generale delle macchine, il comportamento conversazionale, il data mining, le auto robotiche, il calcio dei robot e i giochi convenzionali.

Il “gioco dell’imitazione” (un’interpretazione del test di Turing del 1950 che valuta se un computer può imitare un essere umano) è oggi considerato troppo sfruttabile per essere un punto di riferimento significativo. Un derivato del test di Turing è il test di Automated Turing completamente automatico per dire a Computer e Humans Apart (CAPTCHA). Come suggerisce il nome, questo aiuta a determinare che un utente è una persona reale e non un computer che posa come un essere umano. In contrast to the standard Turing test, CAPTCHA is administered by a machine and targeted to a human as opposed to being administered by a human and targeted to a machine. A computer asks a user to complete a simple test then generates a grade for that test. Computers are unable to solve the problem, so correct solutions are deemed to be the result of a person taking the test. A common type of CAPTCHA is the test that requires the typing of distorted letters, numbers or symbols that appear in an image undecipherable by a computer.

Proposed “universal intelligence” tests aim to compare how well machines, humans, and even non-human animals perform on problem sets that are generic as possible. At an extreme, the test suite can contain every possible problem, weighted by Kolmogorov complexity; unfortunately, these problem sets tend to be dominated by impoverished pattern-matching exercises where a tuned AI can easily exceed human performance levels.