Connect with us

IA 101

Che cos’è il Deep Reinforcement Learning?

mm

Che cos’è il Deep Reinforcement Learning?

Insieme all’apprendimento automatico non supervisionato e all’apprendimento supervisionato, un’altra forma comune di creazione di intelligenza artificiale è l’apprendimento per rinforzo. Oltre all’apprendimento per rinforzo regolare, il deep reinforcement learning può portare a risultati impressionanti, grazie al fatto che combina i migliori aspetti dell’apprendimento profondo e dell’apprendimento per rinforzo. Vediamo esattamente come funziona il deep reinforcement learning.

Prima di addentrarci nel deep reinforcement learning, potrebbe essere una buona idea rinfrescare la nostra conoscenza di come funziona l’apprendimento per rinforzo regolare. Nell’apprendimento per rinforzo, gli algoritmi orientati agli obiettivi sono progettati attraverso un processo di prova ed errore, ottimizzando per l’azione che porta al miglior risultato/l’azione che guadagna il maggior numero di “ricompense”. Quando gli algoritmi di apprendimento per rinforzo vengono addestrati, vengono dati loro “ricompense” o “punizioni” che influenzano le azioni che prenderanno in futuro. Gli algoritmi cercano di trovare un set di azioni che forniranno al sistema la massima ricompensa, bilanciando sia le ricompense immediate che future.

Gli algoritmi di apprendimento per rinforzo sono molto potenti perché possono essere applicati a quasi ogni compito, in grado di apprendere in modo flessibile e dinamico dall’ambiente e scoprire azioni possibili.

Panoramica del Deep Reinforcement Learning

Foto: Megajuice via Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)

Quando si tratta di deep reinforcement learning, l’ambiente è tipicamente rappresentato con immagini. Un’immagine è una cattura dell’ambiente in un particolare momento. L’agente deve analizzare le immagini ed estrarre informazioni rilevanti da esse, utilizzando le informazioni per decidere quale azione prendere. Il deep reinforcement learning viene solitamente eseguito con una delle due tecniche diverse: apprendimento basato sui valori e apprendimento basato sulle politiche.

Le tecniche di apprendimento basato sui valori utilizzano algoritmi e architetture come reti neurali convoluzionali e Deep-Q-Network. Questi algoritmi operano convertendo l’immagine in scala di grigi e ritagliando le parti non necessarie dell’immagine. Successivamente, l’immagine subisce varie convoluzioni e operazioni di pooling, estraendo le parti più rilevanti dell’immagine. Le parti importanti dell’immagine vengono quindi utilizzate per calcolare il valore Q per le diverse azioni che l’agente può prendere. I valori Q vengono utilizzati per determinare il miglior corso d’azione per l’agente. Dopo che i valori Q iniziali vengono calcolati, viene eseguita la backpropagation in modo che i valori Q più precisi possano essere determinati.

I metodi basati sulle politiche vengono utilizzati quando il numero di azioni possibili che l’agente può prendere è estremamente alto, il che è solitamente il caso in scenari del mondo reale. Situazioni come queste richiedono un approccio diverso perché il calcolo dei valori Q per tutte le azioni individuali non è pragmatico. Gli approcci basati sulle politiche operano senza calcolare i valori delle funzioni per azioni individuali. Invece, adottano politiche imparando direttamente la politica, spesso attraverso tecniche chiamate Policy Gradients.

Le policy gradients operano ricevendo uno stato e calcolando le probabilità per le azioni in base alle esperienze precedenti dell’agente. L’azione più probabile viene quindi selezionata. Questo processo viene ripetuto fino alla fine del periodo di valutazione e le ricompense vengono date all’agente. Dopo che le ricompense sono state gestite dall’agente, i parametri della rete vengono aggiornati con la backpropagation.

Che cos’è il Q-Learning?

Poiché il Q-Learning è una parte così grande del processo di deep reinforcement learning, prendiamoci un po’ di tempo per capire veramente come funziona il sistema Q-learning.

Il Processo Decisionale di Markov

Un processo decisionale di Markov. Foto: waldoalvarez via Pixabay, Pixbay License (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)

Perché un agente di intelligenza artificiale possa eseguire una serie di compiti e raggiungere un obiettivo, l’agente deve essere in grado di gestire una sequenza di stati e eventi. L’agente inizierà in uno stato e deve prendere una serie di azioni per raggiungere uno stato finale, e ci possono essere un numero enorme di stati esistenti tra gli stati iniziali e finali. Memorizzare informazioni su ogni stato è impratico o impossibile, quindi il sistema deve trovare un modo per preservare solo le informazioni più rilevanti sullo stato. Ciò viene realizzato attraverso l’utilizzo di un Processo Decisionale di Markov, che preserva solo le informazioni relative allo stato corrente e allo stato precedente. Ogni stato segue una proprietà di Markov, che tiene traccia di come l’agente cambi dallo stato precedente a quello corrente.

Deep Q-Learning

Una volta che il modello ha accesso alle informazioni sugli stati dell’ambiente di apprendimento, i valori Q possono essere calcolati. I valori Q sono la ricompensa totale data all’agente alla fine di una sequenza di azioni.

I valori Q vengono calcolati con una serie di ricompense. C’è una ricompensa immediata, calcolata allo stato corrente e in base all’azione corrente. Il valore Q per lo stato successivo viene anche calcolato, insieme al valore Q per lo stato dopo di quello, e così via fino a quando tutti i valori Q per gli stati diversi vengono calcolati. C’è anche un parametro Gamma che viene utilizzato per controllare quanto peso abbiano le ricompense future sulle azioni dell’agente. Le politiche vengono solitamente calcolate inizializzando casualmente i valori Q e lasciando che il modello converga verso i valori Q ottimali nel corso dell’addestramento.

Deep Q-Network

Uno dei problemi fondamentali relativi all’utilizzo del Q-learning per l’apprendimento per rinforzo è che la quantità di memoria necessaria per memorizzare i dati aumenta rapidamente con il numero di stati. Le Deep Q-Network risolvono questo problema combinando modelli di reti neurali con valori Q, consentendo all’agente di apprendere dall’esperienza e fare ipotesi ragionevoli sulle migliori azioni da intraprendere. Con il deep Q-learning, le funzioni del valore Q vengono stimate con reti neurali. La rete neurale prende lo stato come dati di input e la rete produce il valore Q per tutte le azioni possibili che l’agente potrebbe prendere.

Il deep Q-learning viene realizzato memorizzando tutte le esperienze passate in memoria, calcolando i massimi output per la rete Q e utilizzando una funzione di perdita per calcolare la differenza tra i valori correnti e i valori teorici più alti possibili.

Deep Reinforcement Learning vs Deep Learning

Una differenza importante tra il deep reinforcement learning e il deep learning regolare è che nel caso del primo gli input sono costantemente in cambiamento, il che non è il caso nel deep learning tradizionale. Come può il modello di apprendimento tenere conto degli input e degli output che sono costantemente in movimento?

In sostanza, per tenere conto della divergenza tra i valori previsti e i valori target, possono essere utilizzate due reti neurali invece di una. Una rete stima i valori target, mentre l’altra rete è responsabile delle previsioni. I parametri della rete target vengono aggiornati mentre il modello apprende, dopo un certo numero di iterazioni di addestramento. Gli output delle rispettive reti vengono quindi uniti per determinare la differenza.

Apprendimento basato sulle politiche

Le approcci di apprendimento basato sulle politiche operano in modo diverso rispetto agli approcci basati sui valori Q. Mentre gli approcci basati sui valori Q creano una funzione del valore che prevede le ricompense per stati e azioni, i metodi basati sulle politiche determinano una politica che mappa gli stati alle azioni. In altre parole, la funzione della politica che seleziona le azioni viene ottimizzata direttamente senza riguardo alla funzione del valore.

Policy Gradients

Blogger e programmatore con specializzazioni in Machine Learning e Deep Learning argomenti. Daniel spera di aiutare gli altri a utilizzare il potere dell'AI per il bene sociale.