Home
Programmazione delle AI per chi vuole iniziare

14 Settembre 2023

Programmazione delle AI per chi vuole iniziare

di

Avvicinarsi al tema della programmazione delle AI è quanto di più attuale e suscita, giustamente, tante domande. Per fortuna ci sono anche le risposte.

Cose semplici da sapere per chi vuol cominciare con la programmazione delle AI

  1. Che cos’è l’intelligenza artificiale
  2. Quali sono i concetti base dell’intelligenza artificiale
  3. Che cosa vuol dire ricerca non informata
  4. Che cosa sono le reti neurali artificiali
  5. Quando si usa l’apprendimento per rinforzo

1. Che cos’è l’intelligenza artificiale

Alcune persone sostengono che non capiamo che cosa sia l’intelligenza artificiale perché facciamo fatica a definire l’intelligenza stessa. Salvador Dalí credeva che un attributo dell’intelligenza fosse l’ambizione; disse:

L’intelligenza senza ambizione è come un uccello senza ali.

Albert Einstein credeva che nell’intelligenza un fattore importante fosse l’immaginazione; disse:

Il vero segno dell’intelligenza non è la conoscenza, ma l’immaginazione.

E Stephen Hawking, che si concentra sulla capacità di adattarsi ai cambiamenti nel mondo, ha detto:

L’intelligenza è la capacità di adattamento.

Queste tre grandi menti avevano visioni diverse sull’intelligenza. Quindi, ancora privi di una vera risposta definitiva su che cosa sia l’intelligenza, sappiamo almeno che basiamo la nostra comprensione dell’intelligenza sugli esseri umani come specie dominante (la più intelligente).

Per il bene della nostra salute mentale e per attenerci ad applicazioni pratiche, definisco vagamente l’intelligenza artificiale come un sistema sintetico che esibisce un comportamento intelligente. Invece di cercare di definire qualcosa come dotato o meno di intelligenza artificiale, facciamo riferimento alla sua somiglianza con l’intelligenza. Qualcosa potrebbe mostrare alcuni aspetti dell’intelligenza perché ci aiuta a risolvere problemi difficili e ci fornisce valore e utilità. Di solito, le implementazioni dell’intelligenza artificiale che simulano la vista, l’udito e altri sensi sono viste come esempi di intelligenza artificiale. Anche le soluzioni in grado di apprendere autonomamente adattandosi a nuovi dati e ambienti sono considerate esempi di intelligenza artificiale.

Ecco alcuni esempi di cose che esibiscono un’intelligenza artificiale:

  • un sistema che riesce a giocare a più giochi complessi;
  • un sistema in grado di individuare un tumore;
  • un sistema che genera opere d’arte sulla base di pochi input;
  • un’auto a guida autonoma.

Douglas Hofstadter ha detto:

L’intelligenza artificiale è tutto ciò che non è stato ancora fatto.

Negli esempi appena citati, un’auto a guida autonoma può sembrare intelligente, perché non è stata ancora realizzata. Allo stesso modo, un computer che somma numeri era considerato intelligente qualche tempo fa, mentre ora la cosa è data per scontata.

Leggi anche: Programmare AI significa trovare soluzioni a problemi interessanti

Il fatto è che intelligenza artificiale è un termine ambiguo, che significa cose differenti per persone, settori e discipline differenti. Gli algoritmi da conoscere per programmarla sono stati classificati come algoritmi di intelligenza artificiale nel passato o nel presente; se poi rientrino o meno in una definizione specifica di intelligenza artificiale, ciò non ha molta importanza. Quello che conta è che siano utili per risolvere problemi difficili.

Torna all’inizio.

2. Quali sono i concetti base dell’intelligenza artificiale

L’intelligenza artificiale è un argomento caldo, di questi tempi, così come il machine learning e il deep learning. Cercare di dare un senso a questi concetti diversi ma simili può essere un’esperienza scoraggiante. Inoltre, nel dominio dell’intelligenza artificiale, esistono distinzioni fra i diversi livelli di intelligenza.

In queste righe cercherò di demistificare alcuni di questi concetti.

Entriamo nei diversi livelli di intelligenza artificiale, introdotti nella figura qui sotto.

Livelli di intelligenza artificiale

Livelli di intelligenza artificiale.

Intelligenza ristretta: soluzioni per scopi specifici

I sistemi di intelligenza ristrettarisolvono problemi in un contesto o dominio ben determinato. Questi sistemi di solito non sanno risolvere un problema in un contesto e applicare la stessa conoscenza a un altro. Un sistema sviluppato per comprendere le interazioni con i clienti e il loro comportamento di spesa, per esempio, non sarebbe in grado di identificare i gatti in un’immagine. Di solito, affinché qualcosa sia efficace nel risolvere un problema, deve essere abbastanza specializzato nel dominio del problema, il che rende difficile adattarlo ad altri problemi.

Diversi sistemi di intelligenza ristretta possono essere combinati in modi opportuni per creare qualcosa di più grande, che sembra esibire un’intelligenza più generale. Un esempio è un assistente vocale. Questo sistema è in grado di comprendere il linguaggio naturale, un problema ristretto, ma attraverso l’integrazione con altri sistemi di intelligenza ristretta, come le ricerche sul Web e i consigli musicali, può esibire qualità di intelligenza generale.

Intelligenza generale: soluzioni simili a quelle umane

L’intelligenza generale è l’intelligenza umana. Come esseri umani, siamo in grado di apprendere dalle esperienze e dalle interazioni con il mondo e applicare tale comprensione da un problema a un altro. Se abbiamo provato dolore quando abbiamo toccato qualcosa di bollente, per esempio, possiamo estrapolare l’esperienza e sapere che altre cose bollenti potrebbero farci del male. L’intelligenza generale degli esseri umani, tuttavia, è molto più di un semplice ragionamento del tipo Le cose calde possono farmi male. L’intelligenza generale comprende la memoria, il ragionamento spaziale attraverso input visivi, l’uso della conoscenza e altro ancora. Ottenere un’intelligenza generale in una macchina sembra essere un’impresa improbabile, a breve termine, ma i progressi nel calcolo quantistico, nell’elaborazione dei dati e negli algoritmi di intelligenza artificiale potrebbero renderlo una realtà in futuro.

Superintelligenza: il grande sconosciuto

Alcune idee di superintelligenza compaiono nei film di fantascienza ambientati in mondi post-apocalittici, nei quali tutte le macchine sono connesse e in grado di ragionare su cose al di là della nostra comprensione e dominare gli esseri umani. Ci sono molte questioni filosofiche sul fatto che gli esseri umani siano in grado di creare qualcosa di più intelligente di loro: se potessimo farlo, sapremmo farlo. La superintelligenza è la grande sconosciuta e per molto tempo ogni definizione sarà una pura speculazione.

Intelligenza artificiale vecchia e nuova

A volte vengono utilizzati i concetti di vecchia e nuova intelligenza artificiale. La vecchia intelligenza artificiale spesso individua quei sistemi nei quali qualcuno ha programmato regole che fanno sì che un algoritmo esibisca un comportamento intelligente, grazie a una conoscenza approfondita del problema o per tentativi ed errori. Un esempio di vecchia intelligenza artificiale può essere la creazione manuale di un albero decisionale e delle sue regole e opzioni. La nuova intelligenza artificiale ha lo scopo di creare algoritmi e modelli che apprendono dai dati e creano le proprie regole, in grado di funzionare con la stessa precisione o meglio delle regole create dall’uomo. La differenza è che la nuova intelligenza artificiale può riuscire a trovare schemi importanti nei dati, che una persona potrebbe non riuscire a trovare mai o che impiegherebbe troppo tempo a trovare. Gli algoritmi di ricerca sono spesso considerati come esempi di vecchia intelligenza artificiale, ma una loro solida comprensione è propedeutica per comprendere gli approcci più complessi. La prossima figura illustra la relazione fra alcuni dei diversi concetti dell’intelligenza artificiale.

Categorizzazione dei concetti dell'intelligenza artificiale

Categorizzazione dei concetti dell’intelligenza artificiale.

Algoritmi di ricerca

Gli algoritmi di ricerca sono utili per risolvere problemi nei quali sono necessarie diverse azioni per raggiungere un obiettivo, come trovare un percorso attraverso un labirinto o determinare la mossa migliore in un gioco. Gli algoritmi di ricerca valutano gli stati futuri e tentano di trovare il percorso ottimale per raggiungere l’obiettivo più ricco. In genere, abbiamo troppe soluzioni possibili per provare ciascuna di esse tramite la forza bruta. Anche piccoli spazi di ricerca potrebbero comportare migliaia di ore di elaborazione per trovare la soluzione migliore. Gli algoritmi di ricerca forniscono modi intelligenti per esplorare lo spazio di ricerca. Gli algoritmi di ricerca vengono utilizzati nei motori di ricerca online, nelle applicazioni di mappatura e anche negli agenti di gioco.

Algoritmi ispirati alla biologia

Osservando il mondo che ci circonda, notiamo cose incredibili in varie creature, piante e altri organismi viventi. Fra gli esempi, cito la cooperazione delle formiche nella raccolta del cibo, lo stormo di uccelli in migrazione, le ipotesi sul funzionamento del cervello e l’evoluzione di diversi organismi per produrre una prole più resistente. Osservando e imparando da molti fenomeni, abbiamo acquisito conoscenze riguardanti il modo in cui funzionano questi sistemi organici e di come semplici regole possano portare a comportamenti intelligenti. Alcuni di questi fenomeni hanno ispirato algoritmi utili nell’intelligenza artificiale, come algoritmi gli evolutivi e algoritmi di intelligenza di sciame.

Gli algoritmi evolutivi si ispirano alla teoria dell’evoluzione definita da Charles Darwin. Il concetto è che una popolazione si riproduce per creare nuovi individui e che attraverso questo processo, il mix dei geni e le mutazioni producono individui che hanno prestazioni migliori rispetto ai loro antenati. L’intelligenza di sciame consiste nel fatto che un insieme di individui apparentemente stupidi esibisce un comportamento intelligente. L’ottimizzazione a colonia di formiche e a sciami di particelle sono due algoritmi popolari in intelligenza artificiale.

Algoritmi di machine learning

Il machine learning adotta un approccio statistico per addestrare i modelli ad apprendere dai dati. Il termine ombrello di machine learning prevede vari algoritmi che possono essere sfruttati per migliorare la comprensione delle relazioni insite nei dati, per prendere decisioni e fare previsioni basate su tali dati.

Esistono tre approcci principali al machine learning.

  • L’apprendimento con supervisione prevede di addestrare i modelli con algoritmi quando i dati di addestramento contengono risultati noti per una certa domanda, come determinare il tipo di frutta se disponiamo di un dataset che include il peso, il colore, la consistenza e l’etichetta della frutta per ogni esempio.
  • L’apprendimento senza supervisione scopre relazioni e strutture nascoste all’interno dei dati che ci guidano nel porre domande rilevanti per il dataset. Può trovare schemi nelle proprietà di frutti simili e raggrupparli di conseguenza, il che può fornirci anche le domande che vogliamo porre sui dati. Questi concetti e algoritmi fondamentali ci aiutano a creare una base per esplorare nuovi algoritmi avanzati futuri.
  • L’apprendimento per rinforzo si ispira alla psicologia comportamentale. In breve, si premia un individuo se compie un’azione utile e lo si penalizza se compie un’azione sfavorevole. Per esplorare un esempio umano, quando un bambino ottiene buoni voti, di solito viene premiato, mentre le prestazioni scarse a volte si traducono in punizioni, rafforzando un comportamento volto a ottenere buoni risultati. L’apprendimento per rinforzo è utile per esplorare come i programmi o i robot interagiscono con ambienti dinamici. Un esempio è un robot che ha il compito di aprire le porte; viene penalizzato se non apre una porta e premiato quando lo fa. Nel tempo, dopo alcuni tentativi, il robot impara la sequenza delle azioni necessarie per aprire una porta.

Algoritmi di deep learning

Il deep learning, che deriva dal machine learning, è una famiglia più ampia di approcci e algoritmi utilizzati per ottenere un’intelligenza ristretta e tendere verso un’intelligenza generale. Il deep learning di solito implica che l’approccio stia tentando di risolvere un problema in un modo più generale, come il ragionamento spaziale, oppure viene applicato a problemi che richiedono una maggiore generalizzazione, come la visione artificiale e il riconoscimento vocale. I problemi generali sono cose che gli esseri umani sono bravi a risolvere. Per esempio, possiamo abbinare modelli visivi in quasi tutti i contesti. Anche il deep learning impiega l’apprendimento con supervisione, senza supervisione e per rinforzo. Gli approcci di deep learning di solito impiegano molti livelli di reti neurali artificiali. Vi sono diversi livelli di componenti intelligenti, ognuno dei quali risolve problemi specializzati; insieme, questi livelli risolvono problemi complessi, convergendo verso un obiettivo più grande. Identificare un oggetto in un’immagine, per esempio, è un problema generale, ma può essere suddiviso nell’individuazione del colore, nel riconoscimento della forma e nell’identificazione delle relazioni fra gli oggetti, con lo scopo di raggiungere un obiettivo.

Torna all’inizio.

3. Che cosa vuol dire ricerca non informata

Laricerca non informata è detta anche ricerca non guidata, ricerca cieca o ricerca a forza bruta. Gli algoritmi di ricerca non informati non dispongono di informazioni sul dominio del problema, a parte la rappresentazione del problema, che di solito è un albero.

Pensiamo a come si esplorano le cose da imparare. Alcuni potrebbero esaminare in ampiezza tutti gli argomenti e apprendere le basi di ciascuno di essi; altri potrebbero scegliere un determinato argomento ed esplorare tutti i suoi sottoargomenti, in profondità. Si parla quindi di ricerca in ampiezza e ricerca in profondità. Unaricerca in profondità (Depth-First Search, DFS) esplora un determinato percorso dall’inizio finché non trova un obiettivo alla massima profondità dell’albero. Unaricerca in ampiezza (Breadth-First Search, BFS) esplora prima tutte le opzioni a un livello di profondità, prima di passare a un livello più in profondità nell’albero.

Consideriamo lo scenario di un labirinto come quello nella prossima figura. Nel tentativo di trovare un percorso ottimale verso l’obiettivo, applichiamo il seguente semplice vincolo per evitare di rimanere bloccati in un ciclo infinito, ovvero per impedire la formazione di cicli nel nostro albero: il giocatore non può portarsi in una casella che ha precedentemente occupato. Poiché gli algoritmi non informati tentano ogni possibile opzione di ogni nodo, la creazione di un ciclo provocherebbe il fallimento catastrofico dell’algoritmo.

Il vincolo per il problema del labirinto

Il vincolo per il problema del labirinto.

Questo vincolo impedisce la formazione di cicli nel percorso verso l’obiettivo. Ma questo vincolo introdurrà problemi se, in un labirinto diverso con vincoli o regole differenti, sarà necessario portarsi più di una volta su un blocco per trovare la soluzione ottimale.

Nella figura seguente sono rappresentati tutti i possibili percorsi nell’albero, per evidenziare le diverse opzioni disponibili. Questo albero contiene sette percorsi che portano all’obiettivo e un percorso che produce una soluzione non valida, dato il vincolo di non portarsi su blocchi precedentemente occupati. È importante capire che in questo piccolo labirinto, non è difficile rappresentare tutte le possibilità. Ma lo scopo degli algoritmi di ricerca è cercare o generare questi alberi in modo iterativo, nei casi in cui generare l’intero albero delle possibilità si riveli inefficiente a causa del puro costo computazionale.

È anche importante notare che il termine visitare viene usato per indicare cose diverse. Il giocatore visita i blocchi del labirinto. L’algoritmo visita i nodi dell’albero. L’ordine delle scelte influenzerà l’ordine dei nodi visitati nell’albero. Nell’esempio del labirinto, l’ordine di priorità del movimento è nord, sud, est e poi ovest.

Tutte le possibili opzioni di movimento rappresentate come un albero

Tutte le possibili opzioni di movimento rappresentate come un albero.

Torna all’inizio.

4. Che cosa sono le reti neurali artificiali

Lereti neurali artificiali (ANN – Artificial Neural Network) sono strumenti potenti nel toolkit del machine learning e sono utilizzate in vari modi per attività come il riconoscimento delle immagini, l’elaborazione del linguaggio naturale e il gioco. Le reti neurali artificiali apprendono in modo simile ad altri algoritmi di machine learning: utilizzando dati di addestramento. Sono particolarmente adatte ai dati non strutturati, nei quali sia difficile capire le relazioni fra le caratteristiche.

Per comprendere meglio come si collochino le reti neurali artificiali nel più ampio panorama del machine learning, dobbiamo rivedere la composizione e la categorizzazione degli algoritmi di machine learning. Deep learning è il nome comunemente dato agli algoritmi che utilizzano reti neurali artificiali, pur con architetture differenti per raggiungere un obiettivo. Il deep learning, comprese le reti neurali artificiali, può essere utilizzato per risolvere problemi di apprendimento con supervisione e senza supervisione e apprendimento per rinforzo. La figura sottostante mostra la correlazione fra deep learning, reti neurali artificiali e altri concetti del machine learning.

Le relazioni tra deep learning e reti neurali artificiali

Le relazioni fra deep learning e reti neurali artificiali.

Le reti neurali artificiali possono essere considerate come un modello nel ciclo di vita del machine learning. La figura seguente riassume tale ciclo di vita. È necessario identificare un problema, raccogliere, comprendere e preparare i dati e il modello di rete neurale artificiale verrà sottoposto a test e migliorato se necessario.

Un flusso di lavoro per esperimenti e progetti dfi machine learning

Un flusso di lavoro per esperimenti e progetti di machine learning.

Ora che abbiamo un’idea di come le reti neurali artificiali si collocano nel panorama generale del machine learning e che sappiamo che una rete neurale artificiale è un modello addestrato attraverso un ciclo di vita, esploriamone i concetti e il funzionamento. Come gli algoritmi genetici e gli algoritmi di intelligenza di sciame, le reti neurali artificiali sono ispirate da fenomeni naturali, in questo caso il cervello e il sistema nervoso. Il sistema nervoso è una struttura biologica che ci permette di provare sensazioni ed è la base del funzionamento del nostro cervello. Abbiamo nervi in tutto il nostro corpo e neuroni che si comportano tutti in modo simile nel nostro cervello.

Le reti neurali sono costituite da neuroni interconnessi che trasmettono informazioni utilizzando segnali elettrici e chimici. I neuroni trasmettono le informazioni ad altri neuroni e le adattano per svolgere una determinata funzione. Quando prendiamo una tazza e beviamo un sorso d’acqua, milioni di neuroni elaborano l’intenzione di ciò che vogliamo fare, l’azione fisica per realizzarlo e il feedback per determinare se aabbiamo avuto successo. Pensiamo ai bambini piccoli che imparano a bere da una tazza. Di solito iniziano male, facendo cadere molta acqua. E così imparano ad afferrare la tazza con due mani. A poco a poco imparano ad afferrare la tazza con una sola mano e a berne un sorso senza problemi. Questo processo richiede mesi. Quello che sta succedendo è che il loro cervello e il loro sistema nervoso stanno imparando attraverso la pratica, l’allenamento. La prossima figura illustra un modello semplificato di ricezione di input (gli stimoli), elaborazione di tali stimoli in una rete neurale e fornitura dell’output (la risposta).

Un modello semplificato di un sistema neurale biologico

Un modello semplificato di un sistema neurale biologico.

Semplificando, un neurone è costituito da: dendriti che ricevono segnali da altri neuroni; un corpo cellulare e un nucleo che attiva e regola il segnale; un assone che trasmette il segnale ad altri neuroni; sinapsi che trasportano, e modificano, il segnale prima che venga passato ai dendriti del neurone successivo. Attraverso circa 90 miliardi di neuroni che collaborano tutti fra loro, il nostro cervello può esibire l’elevato livello di intelligenza che conosciamo.

Sebbene le reti neurali artificiali siano ispirate alle reti neurali biologiche e utilizzino molti dei concetti presenti in questi sistemi, le reti neurali artificiali non sono rappresentazioni identiche dei sistemi neurali biologici. Abbiamo ancora molto da imparare sul cervello e sul sistema nervoso.

La composizione generale dei neuroni

La composizione generale dei neuroni.

Torna all’inizio.

5. Quando si usa l’apprendimento per rinforzo

L’apprendimento per rinforzo è un campo del machine learning che si ispira alla psicologia comportamentale. Il concetto di apprendimento per rinforzo si basa su premi o penalità cumulativi per le azioni intraprese da un agente in un ambiente dinamico. Pensiamo a un cucciolo di cane. Il cane è l’agente e l’ambiente è la nostra casa. Quando vogliamo che il cane si sieda, gli diciamo Siediti!. Il cane non capirà, quindi potremmo spingerlo leggermente sui quarti posteriori. Dopo che si è seduto, lo accarezziamo e gli diamo un premio. Se ripetiamo questo processo più volte, dopo qualche tempo avremo rinforzato positivamente l’idea di stare seduti. Il cane assocerà sempre più la parola Siediti al doversi sedere.

L’apprendimento per rinforzo è un altro approccio al machine learning insieme all’apprendimento con supervisione e senza supervisione. Mentre l’apprendimento con supervisione utilizza dei dati etichettati per fare previsioni e classificazioni e l’apprendimento senza supervisione utilizza dati non etichettati per trovare raggruppamenti e tendenze, l’apprendimento per rinforzo utilizza il feedback delle azioni scelte per apprendere quali azioni (o quale sequenza di azioni) sono più vantaggiose nei diversi scenari che conducono a un obiettivo finale. L’apprendimento per rinforzo è utile quando conosciamo l’obiettivo ma non quali azioni sono più utili per raggiungerlo. La figura qui sotto mostra i concetti di machine learning e la collocazione in questo ambito dell’apprendimento per rinforzo.

Collocazione dell'apprendimento per rinforzo nel machine learning

Collocazione dell'apprendimento per rinforzo nel machine learning.

Casi d’uso per l’apprendimento per rinforzo

L’apprendimento per rinforzo ha molte applicazioni in cui ci sono pochi dati storici da cui imparare, o addirittura nessuno. L’apprendimento avviene attraverso l’interazione con un ambiente con la sola euristica di una buona prestazione. I casi d’uso per questo approccio sono potenzialmente infiniti. Questo paragrafo descrive solo alcuni dei più classici.

Robotica

La robotica implica la creazione di macchine che interagiscono con ambienti reali per raggiungere obiettivi. Alcuni robot vengono utilizzati per navigare su terreni difficili con vari tipi di superfici, ostacoli e pendenze. Altri vengono utilizzati come assistenti di laboratorio, prendendo istruzioni da uno scienziato, passando gli strumenti giusti o azionando attrezzature. Quando non è possibile modellare ogni risultato di ogni azione in un ambiente ampio e dinamico, l’apprendimento per rinforzo può essere utile. Definendo un obiettivo più generale in un ambiente e introducendo ricompense e penalità come euristica, possiamo utilizzare l’apprendimento per rinforzo per addestrare i robot in ambienti dinamici. Un robot che naviga nel terreno, per esempio, può imparare a quali ruote dare potenza e come regolare le sospensioni per attraversare con successo determinati passaggi. Questo obiettivo viene raggiunto dopo molti tentativi.

Questi scenari possono essere simulati virtualmente se gli aspetti chiave dell’ambiente possono essere modellati in un programma. I giochi per computer sono stati utilizzati in alcuni progetti come base per addestrare le auto a guida autonoma prima di addestrarle su strada nel mondo reale. Lo scopo nell’addestrare i robot con l’apprendimento per rinforzo è quello di creare modelli generali in grado di adattarsi ad ambienti nuovi e differenti mentre apprendono interazioni più generali, proprio come fanno gli esseri umani.

Motori di raccomandazione

I motori di raccomandazione sono utilizzati in molti dei prodotti digitali di uso comune. Le piattaforme di streaming video utilizzano motori di raccomandazione per apprendere i gusti di un individuo in termini di contenuti video e per provare a consigliare qualcosa di gradito allo spettatore. Questo approccio è stato utilizzato anche nelle piattaforme di streaming musicale e nei negozi di e-commerce. I modelli di apprendimento per rinforzo vengono addestrati utilizzando il comportamento dello spettatore di fronte alla decisione di guardare i video consigliati. La premessa è che se un video consigliato è stato selezionato e guardato nella sua interezza, c’è una forte ricompensa per il modello di apprendimento per rinforzo, perché può presupporre che il video fosse un buon consiglio. Al contrario, se un video non viene mai selezionato o viene abbandonato poco dopo l’inizio, è ragionevole presumere che il video non abbia attratto lo spettatore. Questo risultato comporterebbe una ricompensa debole o una punizione.

Trading finanziario

Gli strumenti finanziari per il trading includono azioni, criptovalute e altri prodotti di investimento. Il trading è un problema difficile. Gli analisti monitorano i modelli delle variazioni di prezzo e le notizie dal mondo e usano le loro conoscenze per prendere una decisione se mantenere un investimento, venderne una parte o acquistarne di più. L’apprendimento per rinforzo può addestrare modelli che prendono queste decisioni attraverso ricompense e sanzioni basate sul guadagno o la perdita.

Intelligenza artificiale spiegata in modo facile

Una lettura stimolante, perfetta per programmatori alle prime armi, studenti, appassionati di informatica che vogliono apprendere i meccanismi e i segreti dell’intelligenza artificiale.

Lo sviluppo di un modello di apprendimento per rinforzo per fare trading richiede molti tentativi ed errori, il che significa che si potrebbero perdere ingenti somme di denaro nell’addestramento dell’agente. Fortunatamente, la maggior parte dei dati finanziari pubblici storici è disponibile gratuitamente, e alcune piattaforme di investimento forniscono sandbox entro le quali sperimentare.

Sebbene un modello di apprendimento per rinforzo possa aiutare a generare un buon ritorno sull’investimento, sorge una domanda: se tutti gli investitori fossero automatizzati e completamente razionali e l’elemento umano fosse rimosso dal trading, come sarebbe il mercato?

Giochi

I giochi di strategia hanno spinto per anni le capacità intellettuali dei giocatori. Questi giochi, in genere, comportano la gestione di molti tipi di risorse con la pianificazione di tattiche a breve e lungo termine per battere un avversario. Questi giochi hanno riempito le arene e i più piccoli errori sono costati ai giocatori di alto livello molte partite. L’apprendimento per rinforzo è stato utilizzato per giocare a questi giochi a livello professionale.

Queste implementazioni dell’apprendimento per rinforzo di solito coinvolgono un agente che guarda lo schermo come farebbe un giocatore umano, apprende gli schemi e intraprende azioni. I premi e le penalità sono direttamente associati al gioco. Dopo molte iterazioni di gioco in diversi scenari con diversi avversari, un agente di apprendimento per rinforzo impara le tattiche che funzionano meglio per l’obiettivo a lungo termine di vincere la partita.

L’obiettivo della ricerca in questo spazio è legato alla ricerca di modelli più generali che possano trarre un contesto da stati e ambienti astratti, e comprendere cose che non possono essere derivate in modo logico. Da bambini, per esempio, ci è bastato scottarci una vola per apprendere che gli oggetti che scottano sono potenzialmente pericolosi. Abbiamo sviluppato una certa conoscenza e poi l’abbiamo sottoposta a test, crescendo. Questi test hanno rafforzato la nostra comprensione degli oggetti che scottano e del loro potenziale danno o beneficio.

Alla fine, la ricerca e lo sviluppo dell’intelligenza artificiale cercano di far imparare ai computer a risolvere i problemi in modi in cui gli esseri umani sono già bravi: in generale, si tratta di mettere insieme idee e concetti astratti avendo un obiettivo in mente e trovando buone soluzioni ai problemi.

Torna all’inizio.

Questo articolo richiama contenuti da Intelligenza artificiale spiegata in modo facile.

Immagine di apertura di Google DeepMind su Unsplash.

L'autore

  • Rishal Hurbans
    Rishal Hurbans è esperto di ingegneria del software e Intelligenza Artificiale. Nella sua carriera è stato alla guida di numerosi team e progetti per diverse aziende. Appassionato di meccanica e strategia aziendale, è autore di successo e speaker apprezzato a livello internazionale.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Libri che potrebbero interessarti

Tutti i libri

Intelligenza Artificiale spiegata in modo facile

Guida illustrata per programmatori curiosi

41,25

59,99€ -31%

33,25

35,00€ -5%

24,99

di Rishal Hurbans