Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Apprendimento per rinforzo - Teknopedia
Apprendimento per rinforzo - Teknopedia

L'apprendimento per rinforzo (o reinforcement learning) è una tecnica di apprendimento automatico che punta a realizzare agenti autonomi in grado di scegliere azioni da compiere per il conseguimento di determinati obiettivi tramite interazione con l'ambiente in cui sono immersi.

L'apprendimento per rinforzo è uno dei tre paradigmi principali dell'apprendimento automatico, insieme all'apprendimento supervisionato e a quello non supervisionato. A differenza degli altri due, questo paradigma si occupa di problemi di decisioni sequenziali, in cui l'azione da compiere dipende dallo stato attuale del sistema e ne determina quello futuro.

La qualità di un'azione è data da un valore numerico di "ricompensa", ispirata al concetto di rinforzo, che ha lo scopo di incoraggiare comportamenti corretti dell'agente. Questo tipo di apprendimento è solitamente modellizzato tramite i processi decisionali di Markov[1] e può essere effettuato con diverse tipologie di algoritmi, classificabili in base all'utilizzo di un modello che descriva l'ambiente, alle modalità di raccolta dell'esperienza (in prima persona o da parte di terzi), al tipo di rappresentazione degli stati del sistema e delle azioni da compiere (discreti o continui).

Descrizione

[modifica | modifica wikitesto]

Questa tecnica si basa sul presupposto che all'interno di un sistema si possano predisporre[2]:

  1. un meccanismo logico A in grado di scegliere degli output sulla base degli input ricevuti.
  2. un meccanismo logico B in grado di valutare l'efficacia degli output rispetto ad un preciso parametro di riferimento.
  3. un meccanismo logico C capace di cambiare il meccanismo A per massimizzare la valutazione di efficacia effettuata da B.

Il modo in cui questi meccanismi dovrebbero collaborare è descritto dai seguenti punti:

  • Se il meccanismo A effettua una scelta efficace allora il meccanismo B manda in output un premio proporzionale all'efficacia della scelta di A.
  • Se il meccanismo A effettua una scelta inefficace allora il meccanismo B manda in output una penalità proporzionale all'inefficacia della scelta di A.
  • Il meccanismo C, osservando l'agire di A e B, cerca di modificare la funzione matematica che regola il comportamento di A in modo da massimizzare la quantità e la qualità dei "premi".

I meccanismi B e C sono quelli che vanno a costituire il metodo di rinforzo proprio di questa metodica di apprendimento.

Per attuare i meccanismi ed i comportamenti descritti nelle righe precedenti, dal punto di vista logico, si necessita delle seguenti componenti:

  • Insieme di Input: rappresenta i possibili input che il sistema può ricevere (servono per determinare lo stato del sistema).
  • Funzione valore di stato: questa funzione associa un parametro di valutazione ad ogni stato del sistema.
  • Funzione valore di azione: questa funzione associa un parametro di valutazione ad ogni possibile coppia stato-azione.
  • Tecnica di rinforzo: consiste in una funzione di rinforzo che, a seconda delle prestazioni attuali e dell'esperienza passata, fornisce delle direttive con cui cambiare la funzione di valore di stato e la funzione di valore d'azione.
  • Insieme di Output: rappresenta le possibili decisioni che il sistema può intraprendere.

Input

[modifica | modifica wikitesto]

Gli input al sistema possono provenire dai più svariati sensori. Ad esempio, nel caso di un robot che deve imparare a muoversi all'interno di un percorso, gli input potrebbero essere forniti da dei sensori di prossimità che dovrebbero essere poi rimappati in opportuni stati che nel caso dell'esempio potrebbero essere "ostacolo di fronte", "strada libera", "muro sul lato" ecc. Per mappare i valori dei sensori a particolari stati si sono rivelate particolarmente efficaci le tecniche basate su controllori fuzzy.

Funzione di valore di stato

[modifica | modifica wikitesto]

La funzione valore di stato è quella che ad ogni stato identificato dal sistema e determinato sulla base degli input, associa un valore relativo al grado di bontà della situazione. Viene generalmente espressa nella seguente forma:

V : S ⟶ R {\displaystyle V:S\longrightarrow {\mathfrak {R}}} {\displaystyle V:S\longrightarrow {\mathfrak {R}}}

Funzione di valore di azione

[modifica | modifica wikitesto]

La funzione di valore di azione è quella che ad ogni coppia composta da stato e azione associa un valore relativo al grado di bontà della combinazione. Viene generalmente espressa nella forma:

Q : S × A ⟶ R {\displaystyle Q:S\times A\longrightarrow {\mathfrak {R}}} {\displaystyle Q:S\times A\longrightarrow {\mathfrak {R}}}

Tecnica di rinforzo

[modifica | modifica wikitesto]

A seconda di come si progetta e si decide di implementare il sistema di apprendimento, possono essere utilizzate diverse funzioni di rinforzo per cambiare la funzione di valore di stato e diverse politiche per determinare premi e penalità.

Dal punto di vista modellistico tutte le funzioni di rinforzo possono essere ricondotte alla seguente formula base:

v t + 1 = ( 1 − α ) v t ( s ) + α Δ t + 1 {\displaystyle v_{t+1}=(1-\alpha )v_{t}(s)+\alpha \Delta _{t+1}} {\displaystyle v_{t+1}=(1-\alpha )v_{t}(s)+\alpha \Delta _{t+1}}

dove 0 < α ≤ 1 {\displaystyle 0\;<\alpha \leq 1} {\displaystyle 0\;<\alpha \leq 1}

e Δ t + 1 {\displaystyle \Delta _{t+1}} {\displaystyle \Delta _{t+1}} è il "premio" o la "penalità" che è stata associata alla corrente azione da parte della funzione di azione.

Questa funzione, come si può intuire dalla formula, altera la funzione di valore di stato a partire dal prossimo istante in cui verrà richiamata e in base alla valutazione dell'azione corrente effettuata dalla politica di premio (o di penalità).

Le più diffuse politiche di premio (o di penalità) sono:

  • Rinforzo con premio ad orizzonte infinito: il rinforzo ha sempre la stessa intensità ed è valutato per tutti gli istanti temporali. E [ ∑ k = 0 ∞ r t + k + 1 ] {\displaystyle E\left[\sum _{k=0}^{\infty }r_{t+k+1}\right]} {\displaystyle E\left[\sum _{k=0}^{\infty }r_{t+k+1}\right]}
  • Rinforzo con premio ad orizzonte finito: il rinforzo ha sempre la stessa intensità ed è valutato per un periodo di tempo limitato. E [ ∑ k = 0 T r t + k + 1 ] {\displaystyle E\left[\sum _{k=0}^{T}r_{t+k+1}\right]} {\displaystyle E\left[\sum _{k=0}^{T}r_{t+k+1}\right]}
  • Rinforzo con premio medio: il rinforzo ha intensità via via decrescente ma viene valutato per tutti gli istanti temporali. In pratica man mano che il tempo passa, i valori di rinforzo vengono attenuati dando più importanza alle valutazioni effettuate negli istanti iniziali. E [ lim n → ∞ ∑ k = 0 n r t + k + 1 ] {\displaystyle E\left[\lim _{n\to \infty }\sum _{k=0}^{n}r_{t+k+1}\right]} {\displaystyle E\left[\lim _{n\to \infty }\sum _{k=0}^{n}r_{t+k+1}\right]}
  • Rinforzo con premio scontato: il rinforzo è distribuito per tutti gli istanti temporali ma aumenta a seconda di un parametro legato agli istanti temporali in cui viene applicato. E [ ∑ k = 0 ∞ γ k ⋅ r t + k + 1 ] {\displaystyle E\left[\sum _{k=0}^{\infty }{\gamma ^{k}\cdot r_{t+k+1}}\right]} {\displaystyle E\left[\sum _{k=0}^{\infty }{\gamma ^{k}\cdot r_{t+k+1}}\right]}

Output

[modifica | modifica wikitesto]

L'output consiste in una delle azioni che il sistema può intraprendere. La scelta è effettuata in modo da massimizzare il valore della funzione di valore di azione ed è strettamente dipendente dal rinforzo distribuito durante gli istanti passati.

Algoritmi di apprendimento per rinforzo

[modifica | modifica wikitesto]
  • Q-learning: è uno degli algoritmi di apprendimento con rinforzo più diffusi ed utilizzati. Fa utilizzo di un rinforzo con premio scontato e costituisce una variante della funzione di rinforzo di "base" presentata nei paragrafi precedenti.

Note

[modifica | modifica wikitesto]
  1. ^ Martijn van Otterlo e Marco Wiering, Reinforcement Learning and Markov Decision Processes, Springer Berlin Heidelberg, 2012, pp. 3-42, ISBN 978-3-642-27644-6. URL consultato il 20 maggio 2022.
  2. ^ (EN) Sezione 8, Apprendimento con rinforzo di A.Bonarini, M. Matteucci, Politecnico di Milano. [collegamento interrotto]

Bibliografia

[modifica | modifica wikitesto]
  • (EN) Richard S. Sutton, Barto, Andrew G., Reinforcement Learning: An Introduction, MIT Press, 1998, ISBN 0-262-19398-1 (archiviato dall'url originale il 4 settembre 2009).

Voci correlate

[modifica | modifica wikitesto]
  • Q-learning
  • Apprendimento supervisionato
  • Apprendimento non supervisionato
  • Processo decisionale di Markov

Altri progetti

[modifica | modifica wikitesto]

Altri progetti

  • Wikibooks
  • Wikimedia Commons
  • Collabora a Wikibooks Wikibooks contiene testi o manuali sull'apprendimento per rinforzo
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file sull'apprendimento per rinforzo
V · D · M
Apprendimento automatico
ProblemiTeoria dell'apprendimento statistico · Classificazione · Regressione · Classificazione a singola classe · Ranking · Regole di associazione · Apprendimento non supervisionato · Apprendimento semi-supervisionato · Apprendimento supervisionato · Apprendimento auto-supervisionato · Apprendimento per rinforzo · Apprendimento profondo · Apprendimento online · Apprendimento incrementale · Apprendimento trasduttivo

Apprendimento non supervisionatoClustering · Clustering gerarchico · K-means · Algoritmo EM · DBSCAN · Mean shift · Rete generativa avversaria (cGAN · VAE-GAN · cycleGAN)
Apprendimento supervisionatoAlbero di decisione · Foresta casuale · Conditional random field CRF · Modello di Markov nascosto · Algoritmo k-nearest neighbors (k-NN) · Ragionamento basato su casi (CBR) · Classificatore bayesiano · Rete neurale artificiale · Regressione lineare · Regressione logistica · Modello grafico · Rete bayesiana · Macchine a vettori di supporto (SVM) · Processo gaussiano · Modello ensemble · Boosting · Bagging · Stacking · Voting · Cascading · Error correcting output code (ECOC)
Apprendimento per rinforzoQ-learning · SARSA · TD
Riduzione della dimensionalitàAnalisi fattoriale · Analisi della correlazione canonica (CCA) · Analisi delle componenti indipendenti (ICA) · Analisi discriminante lineare (LDA) · Analisi delle componenti principali (PCA) · Selezione delle caratteristiche · Estrazione di caratteristiche · t-distributed stochastic neighbor embedding (t-SNE)
Reti neurali artificialiPercettrone · Percettrone basato su kernel · Rete neurale a funzioni base radiali (RBF net) · Rete neurale feed-forward · Rete di Hopfield · Percettrone multistrato · Rete neurale ricorrente (LSTM) · Macchina di Boltzmann ristretta · Mappa auto-organizzata · Rete neurale convoluzionale · Rete neurale a ritardo · Rete neurale spiking · Rete neurale grafica · Trasformatore
SoftwareKeras · Microsoft Cognitive Toolkit · Scikit-learn · TensorFlow · Theano · PyTorch · Weka
AltroAlgoritmo genetico · Particle Swarm Optimization · Caratteristica · Compromesso bias-varianza · Minimizzazione del rischio empirico
Controllo di autoritàThesaurus BNCF 69813 · LCCN (EN) sh92000704 · GND (DE) 4825546-4 · BNF (FR) cb17127232k (data) · J9U (EN, HE) 987007546785305171
  Portale Informatica: accedi alle voci di Teknopedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Apprendimento_per_rinforzo&oldid=143977670"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022