• Nenhum resultado encontrado

Aprendizado por reforço e programação dinâmica aproximada com máquinas kernel para controle de sistemas não lineares

N/A
N/A
Protected

Academic year: 2021

Share "Aprendizado por reforço e programação dinâmica aproximada com máquinas kernel para controle de sistemas não lineares"

Copied!
154
0
0

Texto

(1)

Faculdade de Engenharia Elétrica e de Computação

Laboratório de Controle e Sistemas Inteligentes

Hugo Tanzarella Teixeira

APRENDIZADO POR REFORÇO E

PROGRAMAÇÃO DINÂMICA APROXIMADA

COM MÁQUINAS KERNEL PARA

CONTROLE DE SISTEMAS NÃO LINEARES

Campinas - SP

2016

(2)

APRENDIZADO POR REFORÇO E PROGRAMAÇÃO

DINÂMICA APROXIMADA COM MÁQUINAS KERNEL

PARA CONTROLE DE SISTEMAS NÃO LINEARES

Tese apresentada à Faculdade de Engenharia Elétrica e de Computação da Universidade Estadual de Campinas como parte dos requi-sitos exigidos para a obtenção do título de Doutor em Engenharia Elétrica, na Área de Automação.

Orientador: Prof. Dr. Celso Pascoli Bottura

Este exemplar corresponde à versão final da tese defendida pelo aluno Hugo Tanzarella Teixeira, e orien-tada pelo Prof. Dr. Celso Pascoli Bottura

Campinas - SP

2016

(3)

Ficha catalográfica

Universidade Estadual de Campinas Biblioteca da Área de Engenharia e Arquitetura

Luciana Pietrosanto Milla - CRB 8/8129

Teixeira, Hugo Tanzarella,

T312a TeiAprendizado por reforço e programação dinâmica aproximada com máquinas kernel para controle de sistemas não lineares / Hugo Tanzarella Teixeira. – Campinas, SP : [s.n.], 2016.

TeiOrientador: Celso Pascoli Bottura.

TeiTese (doutorado) – Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação.

Tei1. Reinforcement learning. 2. Programação dinâmica. 3. Kernel, Funções de. 4. Controle automático. 5. Aprendizado de máquina. I. Bottura, Celso Pascoli,1938-. II. Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: Reinforcement learning and approximate dynamic programming with kernel machines for nonlinear systems control

Palavras-chave em inglês: Reinforcement learning Dynamic programming Kernel functions Automatic control Machine learning

Área de concentração: Automação Titulação: Doutor em Engenharia Elétrica Banca examinadora:

Celso Pascoli Bottura [Orientador] João Viana da Fonseca Neto Roberto Célio Limão de Oliveira Fernando Antonio Campos Gomide Fernando José Von Zuben

Data de defesa: 28-07-2016

Programa de Pós-Graduação: Engenharia Elétrica

(4)

Candidato: Hugo Tanzarella Teixeira RA: 123242

Data da Defesa: 28 de julho de 2016

Título da Tese: “Aprendizado por reforço e programação dinâmica aproximada com

máquinas kernel para controle de sistemas não lineares”

Prof. Dr. Celso Pascoli Bottura (Presidente, FEEC/UNICAMP) Prof. Dr. João Viana da Fonseca Neto (DEEE/UFMA)

Prof. Dr. Roberto Célio Limão de Oliveira (FCT/ITEC/UFPA) Prof. Dr. Fernando Antonio Campos Gomide (FEEC/UNICAMP) Prof. Dr. Fernando José Von Zuben (FEEC/UNICAMP)

A ata da defesa, com as respectivas assinaturas dos membros da Comissão Julgadora, encontra-se no processo de vida acadêmica do aluno.

(5)
(6)

a certeza de que ele estava sempre começando, a certeza de que era preciso continuar e a certeza de que seria interrompido antes de terminar.

Fazer da interrupção um caminho novo. Fazer da queda um passo de dança, do medo uma escada, do sono uma ponte, da procura um encontro.” (Fernando Sabino)

(7)

Aprendizado por reforço e programação dinâmica aproximada são paradigmas para o aprendizado de controle ótimo. Um algoritmo on-line de iteração de política, em que é possível obter políticas de controle quase-ótimas sem que haja conhecimento a priori do modelo da dinâmica do sistema controlado é proposto. Nele, as melhorias de política devem ser realizadas a cada poucas transições de estado, usando somente uma avaliação incompleta da política atual. Para a etapa de avaliação de política é proposto o uso de máquinas

kernel como aproximador da função valor com o objetivo de melhorar a capacidade de

generalização dos algoritmos de predição de valor. Para esta etapa, são propostos dois algoritmos: o primeiro usa uma versão on-line da máquina de vetores suporte para regressão para aproximar a função valor no algoritmo de diferença temporal. O segundo algoritmo usa funções kernel Mercer para aproximar a função valor no algoritmo de diferença temporal por mínimos quadrados recursivo. Um procedimento de esparsificação com base na dependência linear aproximada das amostras é realizado para manter a esparsidade da solução. Para demonstrar a eficácia dos algoritmos propostos, os comparamos com outros algoritmos de aprendizado por reforço em problemas simples de controle não linear.

Palavras-chaves: aprendizado por reforço. programação dinâmica aproximada. máquinas

kernel. processos de decisão markovianos. controle automático não linear. aprendizado de máquinas.

(8)

Reinforcement learning and approximate dynamic programming are paradigms for optimal control learning. An online policy iteration algorithm, where near-optimal control policies can be obtained whithout a priori knowledge of the controlled system dynamic model is proposed. For this algorithm, policy improvements must be performed once every few state transitions, using only an incomplete evaluation of the current policy. For the policy evaluation step, the use of kernel machines as a value function approximator to improve the generalization ability of value prediction algorithms is proposed. For this step, two algorithms are proposed: the first one uses an online version of support vector regression to approximate the value function in the temporal difference algorithm. The second algorithm uses kernel Mercer functions to approximate the value function in the recursive least-squares temporal difference algorithm. A sparsification procedure based on approximate linear dependency of the samples is performed to keep the sparsity of the solution. To demonstrate the effectiveness of the proposed algorithms, they are compared with other reinforcement learning algorithms in simple nonlinear control benchmark tasks.

Key-words: reinforcement learning. approximate dynamic programming. kernel machines.

(9)

Figura 2.1 – Representação simbólica de um problema de tomada de decisão

sequen-cial. [88]. . . 34

Figura 2.2 – Representação simbólica de um MDP de 2 estados. . . 36

Figura 2.3 – Diagrama de armazenamento para a função valor [111]. . . 39

Figura 2.4 – Relação entre 𝑣𝜋(𝑠) e 𝑞𝜋(𝑠, 𝑎).. . . 39

Figura 2.5 – Relação entre 𝑞𝜋(𝑠, 𝑎) e 𝑣𝜋(𝑠′).. . . 39

Figura 2.6 – Processo de recompensa markoviano de 5 estados [25].. . . 41

Figura 2.7 – Relação entre 𝑣*(𝑠) e 𝑞𝜋*(𝑠, 𝑎). . . . 42

Figura 2.8 – Relação entre 𝑞𝜋*(𝑠, 𝑎) e 𝑣*(𝑠′).. . . 43

Figura 2.9 – Iteração de política [111].. . . 46

Figura 2.10–Convergência na iteração de política [111].. . . 48

Figura 2.11–Robô de reciclagem simplificado: espaço unidimensional. . . 49

Figura 3.1 – Interação entre agente e ambiente.. . . 55

Figura 3.2 – Diagrama de armazenamento para o método de Monte Carlo.. . . 56

Figura 3.3 – Curva de aprendizado para o método de Monte Carlo.. . . 59

Figura 3.4 – Diagrama de armazenamento para o método de Monte Carlo.. . . 60

Figura 3.5 – Curvas de aprendizado para o algoritmo TD(0).. . . 62

Figura 3.6 – Influência do tamanho de passo no aprendizado do algoritmo TD(0).. . . . 63

Figura 3.7 – Variação do espectro de armazenamento de dados [111].. . . 64

Figura 3.8 – Traço de elegibilidade acumulativo [111].. . . 66

Figura 3.9 – Traços de elegibilidade [112]. . . 68

Figura 3.10–Processo de recompensa markoviano de 14 estados [25]. . . 72

Figura 3.11–Comparação dos algoritmos TD(𝜆), LSTD(𝜆), RLTD(𝜆), com 𝜆 = 0, 4. TD1: 𝛼 = 0, 1 e 𝑛0 = 106, TD2: 𝛼 = 0, 1 e 𝑛0 = 102, TD3: 𝛼 = 0, 9 e 𝑛0 = 106, TD4: 𝛼 = 0, 1 e 𝑛0 = 102, RLSTD1: 𝜔 = 0, 01, RLSTD2: 𝜔 = 0, 5. . . 74

Figura 3.12–Arquitetura de controle ator-critico. . . 77

Figura 4.1 – Problema de classificação binária mapeada em um espaço característico [96].. . . 82

Figura 4.2 – Hiperplanos de separação de dados, adaptado de [48]. . . 86

Figura 4.3 – Interpretação geométrica da distância entre um vetor e o hiperplano ótimo para o caso bidimensional [50].. . . 87

Figura 4.4 – Representação geométrica da projeção de um vetor no espaço bidimen-sional. . . 88

Figura 4.5 – Exemplo geométrico da escolha do hiperplano ótimo em um espaço bidimensional. . . 89

(10)

Erro de treinamento: 0,000; erro de teste: 0,000.. . . 92

Figura 4.7 – Gráfico de dispersão do conjunto de dados Fisher’s Iris.. . . 93

Figura 4.8 – Casos possíveis para as variáveis de folga, adaptado de [49] . . . 94

Figura 4.9 – Classificador de margem suave para dados linearmente não separáveis.. . 97

Figura 4.10–Máquina de vetor suporte com função kernel gaussiana para dados linearmente não separáveis.. . . 99

Figura 4.11–SVR linear ajustada por uma função de perda 𝜀-insensível, exemplo unidimensional, adaptado de [106].. . . 100

Figura 4.12–Distribuição das amostras de treinamento nos conjuntos 𝒮, E e R de acordo com as condições de KKT, exemplo unidimensional.. . . 106

Figura 5.1 – Processo de recompensa markoviano de N estados. . . 120

Figura 5.2 – Função valor do processo de recompensa markoviano.. . . 122

Figura 5.3 – Curvas de aprendizado para os algoritmos TD(𝜆), RLSTD(𝜆), KLSTD(𝜆), osvrTD e KRLSTD(𝜆). . . . 124

Figura 5.4 – Comparação dos tempos de execução dos algoritmos KLSTD(𝜆), osvrTD e KRLSTD(𝜆).. . . 125

Figura 5.5 – Efeito de variações do ambiente nos algoritmos KLSTD(𝜆) e KRLSTD(𝜆).126 Figura 5.6 – Algoritmo de iteração de política exato, função valor 𝑞 para 𝑢 = 0.. . . 131

Figura 5.7 – Algoritmo de iteração de política exato, política.. . . 132

Figura 5.8 – Algoritmo de iteração de política exato, trajetória.. . . 133

Figura 5.9 – Algoritmo oKLSPI, função valor 𝑞 para 𝑢 = 0.. . . 134

Figura 5.10–Algoritmo oKLSPI, política.. . . 135

(11)

Tabela 2.1 – Probabilidades de transição e recompensas esperadas para o MDP de

dois estados. . . 37

Tabela 2.2 – Probabilidades de transição do Robô de reciclagem simplificado [30].. . . . 49

Tabela 2.3 – Resultado da iteração de política para o problema do robô de reciclagem simplificado [30]. . . 50

Tabela 2.4 – Resultado da iteração de valor para o problema do robô de reciclagem simplificado [30]. . . 52

Tabela 3.1 – Execução de 10 episódios do método de Monte Carlo. . . 58

Tabela 3.2 – Execução de 10 episódios do método de Monte Carlo. . . 62

(12)

Algoritmo 2.1 – Avaliação de política iterativa.. . . 47

Algoritmo 2.2 – Iteração de política. . . 48

Algoritmo 2.3 – Iteração de valor.. . . 52

Algoritmo 3.1 – Método de Monte Carlo primeira visita.. . . 57

Algoritmo 3.2 – TD(0) tabular.. . . 61

Algoritmo 3.3 – TD(𝜆) tabular.. . . 68

Algoritmo 3.4 – TD(𝜆) com aproximação da função valor. . . . 70

Algoritmo 3.5 – LSTD(𝜆). . . . 71 Algoritmo 3.6 – RLSTD(𝜆).. . . 73 Algoritmo 3.7 – 𝑄-learning.. . . 76 Algoritmo 3.8 – SARSA. . . 78 Algoritmo 5.1 – osvrTD. . . 116 Algoritmo 5.2 – KRLSTD(𝜆).. . . 121 Algoritmo 5.3 – oKLSPI.. . . 128

(13)

Exemplo 2.1 – Processo de decisão markoviano de 2 estados . . . 36

Exemplo 2.2 – Processo de recompensa markoviano de 5 estados [25] . . . 40

Exemplo 2.3 – Equações da otimalidade para o processo de decisão markoviano de dois estados . . . 43

Exemplo 2.4 – Iteração de política: Robô de reciclagem simplificado[30] . . . 49

Exemplo 2.5 – Iteração de valor: Robô de reciclagem simplificado [30] . . . 51

Exemplo 3.1 – Aplicação do método de Monte Carlo . . . 57

Exemplo 3.2 – Aplicação do algoritmo TD(0) . . . 60

Exemplo 3.3 – Aplicação dos algoritmos TD(𝜆), LSTD(𝜆) e RLSTD(𝜆) . . . 72

Exemplo 4.1 – Lei da Gravitação Universal [36] . . . 81

Exemplo 4.2 – Problema de classificação binária mapeada em um espaço caracte-rístico [96].. . . 81

Exemplo 4.3 – Relação da distância entre as margens com o vetor de pesos . . . 88

Exemplo 4.4 – Dados linearmente separáveis . . . 91

Exemplo 4.5 – Dados linearmente não separáveis. . . 96

(14)

AC ator-crítico - actor-critic.

ACD projeto crítico adaptativo - adaptive critic design.

ADDHP programação heurística dual dependente de ação - action-dependente

dual heuristic programming.

ADGDHP programação heurística dual global dependente de ação -

action-dependente global dual heuristic programming.

ADHDP programação dinâmica heurística dependente de ação - action-dependente

heuristic dynamic programming.

ADP programação dinâmica aproximada/adaptativa - approximate/adaptive

dynamic programming.

ALD dependência linear aproximada - approximate linear dependence. CMAC cerebellar model articulator controller .

DHP programação heurística dual - dual heuristic programming. DP programação dinâmica - dynamic programming.

GDHP programação heurística dual global - global dual heuristic programming. GPI iteração de política generalizada - generalized policy iteration.

HDP programação dinâmica heurística - heuristic dynamic programming. HJB Hamilton-Jacobi-Bellman.

KBRL aprendizado por reforço baseado em kernel - kernel-based reinforcement

learning.

KKT Karush-Kuhn-Tucker.

KLSTD diferenças temporais por mínimos quadrados baseado em kernel - kernel

based least squares temporal difference.

KRLSTD diferenças temporais por mínimos quadrados recursivo baseado em kernel - kernel based recursive least squares temporal difference.

LDA análise de discriminantes lineares - linear discriminant analysis. LMS mínimo erro médio quadrático - least mean square.

LSPI iteração de política por mínimos quadrados - least squares policy iteration. LSTD diferenças temporais por mínimos quadrados - least squares temporal

difference.

MDP processo de decisão markoviano - Markov decision process. MLP perceptron multicamadas - multilayer perceptron.

MRP processo de recompensa markoviano - Markov reward process.

oKLSPI iteração de política online por mínimos quadrados baseado em kernel

(15)

regression.

osvrTD diferenças temporais com máquinas de vetores suporte on-line - temporal

difference with online support vector regression.

RBF função de base radial - radial basis function. RL aprendizado por reforço - reinforcement learning.

RLADP aprendizado por reforço e programação dinâmica aproximada/adaptativa - reinforcement learning and approximate/adaptive dynamic

program-ming.

RLS mínimos quadrados recursivo- recursive least squares.

RLSTD diferenças temporais por mínimos quadrados recursivo - recursive least

squares temporal difference.

RMS quadrático médio - root mean square. SV vetor suporte - support vector .

SVM máquina de vetores suporte - support vector machine.

SVR máquina de vetores suporte para regressão - support vector regression. TD diferença temporal - temporal difference.

(16)

Letras maiúsculas serão usadas para variáveis aleatórias, enquanto que letras minúsculas serão usadas para o valor das variáveis aleatórias e para funções escalares. Vetores de valor real serão escritos em letras minúsculas em negrito e matrizes em letras maiúsculas em negrito.

Geral

.

= relação de igualdade que é verdadeira por definição. E[𝑋] esperança da variável aleatória 𝑋.

Pr{𝑋 = 𝑥} probabilidade que a variável aleatória 𝑋 assuma o valor 𝑥. arg max𝑎𝑓 (𝑎) um valor de 𝑎 em que 𝑓 (𝑎) assume seu valor máximo.

Aprendizado por reforço e programação dinâmica aproximada

𝑠, 𝑠′ estados.

𝑎 ação.

𝑟 recompensa.

𝒯 conjunto de épocas de decisão.

𝒮 espaço de estado.

𝒜(𝑠) subespaço de ação no estado 𝑠.

𝒜 espaço de ação.

R espaço de recompensas.

𝑡 época de decisão ou instante de tempo discreto.

𝑇 passo de tempo final de um episódio.

𝑆𝑡 estado no instante de tempo 𝑡.

𝐴𝑡 ação no instante de tempo 𝑡.

𝑅𝑡 recompensa no instante de tempo 𝑡.

𝜋 política.

ℎ(𝑠) ação tomada no estado 𝑠 sob uma política 𝜋 determinística.

ℎ(𝑎|𝑠) probabilidade de se tomar uma ação 𝑎 no estado 𝑠 sob uma política 𝜋 estocástica.

𝑝 ( 𝑠, 𝑟| 𝑠, 𝑎) probabilidade de transição para o estado 𝑠com recompensa 𝑟, do estado

(17)

ação 𝑎.

𝐺𝑡 retorno (descontado) acumulado a partir do instante de tempo 𝑡.

𝛾 fator de desconto.

𝑣𝜋(𝑠) valor do estado 𝑠 sob uma política 𝜋.

𝑣*(𝑠) valor do estado 𝑠 sob uma política ótima.

𝑞𝜋(𝑠, 𝑎) valor de se tomar uma ação 𝑎 no estado 𝑠 sob uma política 𝜋.

𝑞*(𝑠, 𝑎) valor de se tomar uma ação 𝑎 no estado 𝑠 sob uma política ótima.

𝑉, 𝑉𝑡 vetor de estimativas da função valor estado 𝑣𝜋 ou 𝑣*.

𝑄, 𝑄𝑡 vetor de estimativas da função valor estado-ação 𝑞𝜋 ou 𝑞*.

𝑇 operador de Bellman.

𝑍𝑡(𝑠) traço de elegibilidade no instante 𝑡 para o estado 𝑠.

z𝑡 vetor traço de elegibilidade no instante 𝑡.

𝜆 parâmetro de decaimento para o traço de elegibilidade.

𝜉 critério de parada.

𝛼𝑡 sequência de tamanhos de passo.

𝜇𝑡 somatório das atualizações das diferenças temporais.

𝜃, 𝜃𝑡 vetor de parâmetros.

𝜑(·) vetor de funções de base.

𝜖𝑡 sequência de probabilidades de exploração.

Máquinas kernel

x𝑖 dado de entrada para a 𝑖-ésima amostra.

𝑦𝑖 saída esperada para a 𝑖-ésima amostra.

w vetor de pesos.

𝑏 viés ou bias.

𝑟 distância entre um vetor e o hiperplano ótimo.

𝑁 número de amostra no conjunto de dados de treinamento.

𝑁𝑠𝑣 número de vetores suporte no conjunto de dados de treinamento.

𝐶 relação entre a complexidade do algoritmo e a tolerância de erro permi-tida.

𝜀 largura da função perda 𝜀-insensível.

𝜌 distância ótima entre as margens de separação.

𝛼𝑖, 𝛼𝑖 multiplicadores de Lagrange para a 𝑖-ésima amostra.

𝛽𝑖, 𝛽𝑖multiplicadores de Lagrange para a 𝑖-ésima amostra.

(18)

𝜉𝑖, 𝜉𝑖 variáveis de folga para a 𝑖-ésima amostra.

𝑔(·) função que descreve o hiperplano separador ótimo.

𝑓 (·) função linear.

𝐺(·) regra de classificação induzida por 𝑔(·). ^

𝑔(·) função que descreve o hiperplano separador de margem suave.

ℎ(·) função de erro ou função margem. ^

𝐺(·) regra de classificação induzida por ^𝑔(·).

𝐿(·) Lagrangiano do problema de otimização primal.

𝜑(·) função característica que mapeia o espaço de entrada no espaço caracte-rístico.

𝑘(·, ·) função kernel.

𝑐𝜀(·) função perda 𝜀-insensivel.

𝒳 espaço de entrada. ℱ espaço característico.

S conjunto de vetores suporte marginais. E conjunto de vetores suporte de erro. R conjunto de amostras restantes. T espaço característico.

(19)

1 Introdução . . . 21

1.1 Aprendizado por reforço moderno. . . 23

1.1.1 Aprendizado por reforço e controle ótimo . . . 24

1.2 Aproximação da função valor. . . 27

1.3 Objetivos . . . 29

1.4 Motivação . . . 29

1.5 Contribuições . . . 30

1.6 Organização da tese . . . 30

1.7 Trabalhos publicados e submetidos. . . 31

2 Processos de decisão markovianos e programação dinâmica. . . 32

2.1 Introdução. . . 32

2.2 Formulação do problema. . . 34

2.3 Retorno e funções valor . . . 37

2.4 Políticas ótimas e otimalidade de Bellman. . . 41

2.5 Algoritmos de programação dinâmica. . . 45

2.5.1 Iteração de política. . . 45

2.5.2 Iteração de valor. . . 51

3 Aprendizado por reforço e programação dinâmica aproximada. . . 54

3.1 Introdução. . . 54

3.2 Problemas de predição de valor. . . 55

3.2.1 Métodos de Monte Carlo. . . 56

3.2.2 Diferenças temporais . . . 60

3.2.3 Aproximação de função . . . 68

3.2.4 Métodos de mínimos quadrados. . . 69

3.3 Problemas de controle. . . 74

3.3.1 Iteração de valor: Q-learning . . . 75

3.3.2 Iteração de política generalizada . . . 76

4 Máquinas kernel. . . 80

4.1 Introdução. . . 80

4.2 Aprendendo no espaço característico. . . 80

4.3 Regressão linear. . . 82

4.3.1 Formulação primal. . . 82

4.3.2 Formulação dual. . . 84

4.4 Máquina de vetor suporte. . . 85

4.4.1 Classificador de margem máxima. . . 86

(20)

4.5 Máquina de vetor suporte para regressão. . . 98

4.5.1 Função perda 𝜀-insensível. . . 99

4.5.2 Solução ótima do problema de regressão linear. . . 100

4.5.3 Problema dual e programação quadrática . . . 101

4.5.4 Kernels não lineares para regressão . . . 103

4.6 Máquina de vetor suporte on-line para regressão . . . 104

4.6.1 Outro problema de otimização. . . 105

4.6.2 Algoritmo on-line SVR. . . 106

5 Iteração de política aproximada para aprendizado on-line. . . 113

5.1 Introdução. . . 113

5.2 Avaliação aproximada de política. . . 114

5.2.1 Algoritmo osvrTD. . . 114

5.2.2 Algoritmo KRLSTD(𝜆) com esparsificação on-line . . . 115

5.2.3 Experimentos computacionais: MRP de 14 estados. . . 120

5.3 Algoritmo de iteração de política on-line: oKLSPI. . . 127

5.3.1 Experimento computacional: controle não linear de motor CC . . . 129

Conclusão . . . 137

Bibliografia . . . 140

Apêndices

151

APÊNDICE A Condições de KKT. . . 152

(21)

1 Introdução

“Man has two principal objectives in the scientific study of his environment: he wants to understand and to control. The two goals reinforce each other, since deeper understanding permits firmer control, and, on the other hand, systematic application of scientific theories inevitably generates new problems which require further investigation, and so on”

Richard E. Bellman e Robert E. Kalaba [18]

Os sistemas de controle têm causado um grande impacto na nossa sociedade. Embora invisíveis para a maioria dos usuários, eles são essenciais para o funcionamento de quase todos os dispositivos, desde eletrodomésticos básicos até aviões e usinas nucleares [30]. Como é sabido, há muitos métodos para projetar um controlador estável para sistemas não lineares, porém a estabilidade é apenas um requisito mínimo no projeto de um sistema de controle. A estabilidade de um sistema pode ser garantida assegurando a otimalidade do controlador[130].

A teoria de controle ótimo fornece meios para desenvolver soluções para sistemas dinâmicos que demandam controladores mais complexos. Os primeiros trabalhos na área de controle ótimo remontam à década de 1940 com as pesquisas pioneirsa de Pontryagin e Bellman [30]. O termo controle ótimo entrou em uso no final dos anos 1950 para descrever o problema de projetar um controlador que minimiza uma medida do comportamento de um sistema dinâmico no tempo [111]. As aplicações variam desde a concepção de controladores para sistemas lineares baseados em funções de critério quadráticas até sistemas não lineares mais complexos. Para o caso linear-quadrático, o problema é computacionalmente tratável e é possível obter uma solução completa via equação de Riccati; para o caso não linear geral, a classe de métodos conhecida como programação dinâmica - dynamic programming (DP) [15], [16], [52] fornece o formalismo matemático necessário para obter um controlador ótimo, resolvendo a equação de Hamilton-Jacobi-Bellman (HJB), que geralmente é difícil ou até impossível de resolver analiticamente [58].

ADP é amplamente considerada como uma excelente forma de resolver problemas de controle ótimo quando um modelo do sistema está disponível [19], [30], [111]. Embora sofra do que Bellman chamou de “maldição da dimensionalidade”, o que significa que suas necessidades computacionais crescem exponencialmente com o número de variáveis de estado, ainda está entre as ferramentas estado da arte para resolver problemas de controle ótimo quando um modelo do sistema está disponível [30].

(22)

no início da década de 1960 [70], [74], [129] e experimentou um renascimento na década de 1980 com o desenvolvimento do campo deaprendizado por reforço - reinforcement learning (RL) moderno [14], [108], [109], [111], [131], [133]. O tema central na pesquisa de RL é o projeto de algoritmos que aprendem políticas de controle através do conhecimento apenas de amostras de transição do estado ou trajetórias, que são coletadas antecipadamente ou pela interação em tempo real com o sistema. A maioria dos métodos desenvolvidos para resolver o problema de RL está intimamente relacionada com os algoritmos de DP.

O principal obstáculo na DP e noRL é que suas soluções não podem ser represen-tadas de maneira exata para problemas com espaços de estado e de ação contínuos, ou discretos com alta dimensão [30], [84], como é o caso da maior parte dos problemas da área de controle. Com isso, vem a necessidade de utilizar representações compactas através de aproximadores de função. Esse problema já era tratado desde que as primeiras técnicas de DP estavam sendo desenvolvidas, mas só recentemente, e muito por sua relação com o

RL, que os métodos baseados em aproximação têm crescido em diversidade, maturidade e eficiência, permitindo que os métodos de DP e RL cheguem à dimensão de problemas mais reais.

Nos algoritmos deRL, dentre os aproximadores de função mais comumente usados para mapear os estados em ações, estão os mapeamentos lineares e as redes neurais [138]. A vantagem em se usar redes neurais está no fato de existirem métodos consolidados para atualizar de maneira incremental os seus parâmetros à medida que novos dados de treinamento estejam disponíveis, e que geralmente funcionam bem quando os estados e ações são codificados de tal forma a garantir que estados e ações semelhantes proporcionem transições semelhantes no ambiente. O uso das redes neurais no RL remonta pelo menos ao início da década de 1980 [13], e tornou-se tão popular que levou alguns pesquisadores a cunhar o termo “programação neurodinâmica1” para descrever a fusão entre as ideias das

redes neurais e da DP [21].

Alguns trabalhos iniciais apresentaram resultados desencorajadores, com exemplos em que algoritmos convencionais de RLcombinados com aproximadores simples falhavam em convergir [7], [26], [120], [122]. A adoção de aproximadores lineares permitiu sanar os problemas de convergência em algoritmos baseados em diferenças temporais - temporal

differences (TD) [110], [123], criando uma forte tendência à sua utilização [25], [28], [79], [85], [95], [140]. No entanto, a habilidade de aproximação dos aproximadores lineares é limitada e seu desempenho é fortemente influenciado pela escolha das suas funções de base [139].

Nas últimas duas décadas, houve um crescente interesse no métodos kernel pela comunidade de aprendizado de máquinas, impulsionado pela introdução do algoritmo de

máquina de vetores suporte - support vector machine (SVM) para classificação de padrões

(23)

[24]. Um dos principais atrativos dos métodos kernel é a capacidade de lidar com operações não lineares no espaço de entrada mapeando esse espaço para um espaço característico de alta dimensão, onde técnicas lineares podem ser aplicadas. A solução linear corresponde a uma aproximação universal do espaço de entrada, de modo que muitos dos problemas de otimização podem ser formulados como problemas convexos (sem mínimos locais) com algoritmos razoavelmente fáceis de calcular, usando o truque kernel2 [96].

Métodos de RL com base em kernel buscam trazer os benefícios inerentes das máquinas kernel para os métodos de aproximação de função valor em RL, embora o problema de aproximação de função seja mais difícil no RL do que no aprendizado supervisionado [141]. Diferentes métodos de RL com base em kernel foram propostos recentemente [6], [8], [34], [77], [116], [142], [145]. Aplicações de modelos de processos gaussianos ou de SVMs em RL também foram exploradas [22], [37], [38], [89], [98].

1.1

Aprendizado por reforço moderno

ORL pode ser visto simultaneamente como uma claase de problemas, como uma classe de métodos de solução que funcionam bem nessa classe de problemas e como o campo que estuda esses problemas e os seus métodos de solução [112]. Embora o termo “aprendizado por reforço” seja tradicionalmente usado em diversos contextos, oRLmoderno é resultado de uma síntese, ocorrida na década de 1980, de ideias da teoria de controle ótimo, aprendizado animal e métodos de diferenças temporais de inteligência artificial [138]. Encontrar um mapeamento que estabelece ações com base na medida do estado do ambiente, de maneira a otimizar alguma medida de sucesso a longo prazo, é o assunto que matemáticos e engenheiros chamam de problemas de controle ótimo e psicólogos chamam de problemas de planejamento.

A DP é o conceito matemático que fundamenta o RL moderno. Desenvolvida na década de 1950 por Bellman [15], a DP lida com o problema de como encontrar controladores ótimos em sistemas dinâmicos sujeitos a algum grau de aleatoriedade. Em uma configuração padrão do problema, ações devem levar a transições de um estado do sistema, ou ambiente, para outro, com cada transição acompanhada por um custo. Tanto a transição quanto o custo podem ser variáveis aleatórias. Bellman mostrou que a estratégia ótima de controle em um problema pode ser determinada pela solução da equação que ele chamou de “equação funcional básica3”, que hoje é chamada de equação de otimalidade

de Bellman, ou equação HJB. Com isso, Howard [52] propôs o importante teorema da melhoria de política e desenvolveu o algoritmo de iteração de política para processos de

decisão markovianos - Markov decision processes (MDP).

2 do inglês, kernel trick

(24)

Paralelamente, as teorias de reforço em aprendizado animal são um dos alicerces da psicologia. Há muito se sabe que o comportamento de um animal pode ser modificado recompensando ou punindo certas ações. Thorndike [121] foi quem primeiro formulou uma teoria de aprendizado “tentativa-e-erro”, como a Lei do Efeito4, baseado no princípio de que, se uma resposta comportamental tem um resultado favorável, as vias neurais que desencadearam o comportamento são reforçadas. A Lei do Efeito é considerada como a base para os métodos experimentais de Skinner [105]. O termo “reinforcement”, no contexto de aprendizado animal, foi usado pela primeira vez na tradução para o inglês da monografia do russo Pavlov [78], em que ele utilizava estímulos simples de punição e recompensa para modificar padrões dos comportamento de cães por indução de reflexos condicionados.

A ideia de implementar o aprendizado por tentativa-e-erro em computador surgiu entre as primeiras especulações sobre a possibilidade de inteligência artificial. Em um relatório de 1948, Turing [124] descreveu um projeto para um “sistema de prazer-e-dor5

que funcionava de acordo com a Lei do Efeito. Foi na década de 1960 que os termos “reinforcement” e “reinforcement learning” foram usados em trabalhos de engenharia pela primeira vez [45], [70], [71], [129], particularmente influenciados pelo artigo “Steps toward

artificial intelligence” de Minsky [74], que discutiu várias questões relevantes para o RL, incluindo o que ele chamou de problema de atribuição de crédito.

A ideia do aprendizado por TDs, descrita por Sutton [109], pode, também, ter sua origem na psicologia, através do conceito de um reforço secundário. Em estudos de comportamento animal, um reforço secundário pode ser emparelhado com um reforço primário (recompensa ou punição) por meio de treinamento. Depois de estabelecer a associação com o reforço primário, o animal pode ser treinado usando o reforço secundário no lugar do reforço primário. Por exemplo, um pombo pode ser treinado para efetuar uma tarefa em que recebe uma recompensa alimentar, e o alimento é acompanhado por uma nota musical. Posteriormente, o pombo pode ser ensinado a aprender tarefas para as quais a recompensa é a própria nota musical, mesmo sem o acompanhamento da recompensa alimentar [138]. Os métodos de TDspropagam a informação do retorno “para trás” em uma sequência de experiências, de modo que as ações que levam ao sucesso são reforçadas mesmo quando suas recompensas imediatas levam a um atraso significativo.

1.1.1

Aprendizado por reforço e controle ótimo

Essas ideias, DP, aprendizado por tentativa e erro e TD, foram reunidas por

Watkins [131], em sua tese de doutorado, “Learning from Delayed Rewards”, na qual o

algoritmo Q-learning foi apresentado, veja também [132]. A simplicidade e versatilidade

4 do inglês, Law of Effect 5 do inglês, pleasure-pain system

(25)

do Q-learning logo o levou a ser um dos mais populares algoritmos de RL. Sutton e Barto

[111] classificam os métodos deTDs para problemas de controle como:

∙ Q-learning [131], [132], similar à programação dinâmica heurística dependente de

ação - action-dependente heuristic dynamic programming (ADHDP) [135]. O

Q-learning é um método livre de política6, que significa que a função valor estado-ação ótima é estimada independentemente da política atual.

∙ SARSA [93] é similar ao algoritmo Q-learning. No entanto é um método dependente de política7, uma vez que a função valor é estimada usando a política atual e o par estado-ação.

∙ Métodosator-crítico - actor-critic (AC) [111] possuem uma estrutura de memória separada para representar explicitamente a política independentemente da função valor. A estrutura reservada para a política é chamada de ator, por ser usada para selecionar as ações, e a função valor estimada é chamada crítico, por criticar as ações escolhidas pelo ator. Seu aprendizado é dependente de política: o crítico deve aprender e criticar qualquer política que esteja sendo seguida pelo ator.

O algoritmo Q-learning tem atraído a atenção da comunidade de aprendizado de máquina na última década e tem evoluído bastante. Por exemplo, o algoritmo de

iteração de política por mínimos quadrados - least squares policy iteration (LSPI) [55]

é um método off-line livre de modelo em que melhorias de política ocorrem depois da obtenção da função valor estado-ação a partir de um grande lote de amostras de dados.

Buşoniu, Ernst, DeSchutter et al. [31] propuseram uma versão on-line do algoritmo LSPI

e versões semelhantes foram propostas em [61], [142]. Os esquemas propostos empregam o algoritmo diferenças temporais por mínimos quadrados - least squares temporal difference

(LSTD) [25] para realizar a etapa de avaliação de política. Um esquema de iteração-𝑄

ajustada8 [40], em batelada, foi proposto para aproximar iterativamente a função valor

estado-ação para corresponder ao problema de controle de horizonte infinito.

Os métodos de RL podem ser utilizados para realizar controle ótimo adaptativo.

Sutton, Barto e Williams [113] mostram em seu trabalho que o algoritmo Q-learning pode

ser visto como um método direto de controle ótimo adaptativo. Barto, Bradtke e Singh

[11] discutiram sistemas de aprendizado baseados em DPque visam aproximar as técnicas de inteligência artificial, como o aprendizado/planejamento em tempo real e a teoria de controle.

Embora a estrutura AC adaptativa básica tenha sido proposta no trabalho de

Barto, Sutton e Anderson [13], grande parte dos trabalhos sobre controle ótimo adaptativo

6 do inglês, off-policy 7 do inglês, on-policy

(26)

foram desenvolvidos por pesquisadores no campo de programação dinâmica adaptativa

-adaptive dynamic programming (ADP) usando métodos AC adaptativos [54]. Para uma visão detalhada da teoria de controle ótimo adaptativo via ADP, consulte [20], [59].

A programação dinâmica aproximada - approximate dynamic programming (ADP)

pode ser vista como uma versão on-line daDPcapaz de resolver o problema da otimalidade para frente no tempo. A tarefa principal de produzir um controlador ótimo adaptável para um sistema não linear é resolver a equação da otimalidade de Bellman. Werbos [135] propôs a ADP para aproximar a solução da equação de HJB, e segundo ele, a ADP é a maneira mais eficiente de fazê-la.

AADP usa estruturas crítico-adaptativas para aproximar a função valor [4] e pode ser implementada por dois dos métodos mais populares; iteração de valor e iteração de política [59].Werbos [135] classificou aADPem quatro categorias:

programação dinâmica heurística - heuristic dynamic programming (HDP): Nesse

método, a função valor é estimada pelo crítico diretamente.

programação heurística dual - dual heuristic programming (DHP): Aqui, a derivada

da função valor em relação ao estado é estimada.

programação dinâmica heurística dependente de ação - action-dependente heuristic

dynamic programming (ADHDP): Versão modificada daHDP, em que a rede do ator é conectada diretamente à rede do crítico.

programação heurística dual dependente de ação - action-dependente dual heuristic

programming (ADDHP): Versão modificada da DHP, em que a rede do ator é conectada diretamente à rede do crítico.

Esses métodos de projeto crítico adaptativo - adaptive critic design (ACD) entram na categoria dos métodos de AC para TDs em RL, embora os ACDs tenham sua origem na comunidade de controle ótimo baseado em RL. Prokhorov e Wunsch[87] discutiram detalhadamente as estruturas propostas por Werbos [135] e sugeriram dois novos métodos

programação heurística dual global - global dual heuristic programming (GDHP) e

progra-mação heurística dual global dependente de ação - action-dependente global dual heuristic

programming (ADGDHP); para ainda mais detalhes, consulte [86].

A aproximação entre o RLe a ADP levou Werbos a sugerir em seu trabalho [136] o termo mais inclusivo: RLADP, na tentativa de agrupar essas e diversas outras áreas como forward dynamic programming, incremental dynamic programming, iterative dynamic

(27)

1.2

Aproximação da função valor

O aspecto computacional principal noaprendizado por reforço e programação dinâ-mica aproximada/adaptativa - reinforcement learning and approximate/adaptive dynamic

programming (RLADP) envolve a aproximação iterativa da função valor. Como dito anteri-ormente, para problemas que tenham o número de estados e ações possíveis muito grandes ou até mesmo infinitos, a aproximação da função valor deve envolver a generalização a partir de exemplos para reduzir os requisitos de memória e tempo de treinamento. Além disso, a generalização pode ajudar a vencer a maldição da dimensionalidade para problemas em que a complexidade da função valor aumenta sub-exponencialmente com o número de variáveis de estado [27]. Por isso métodos de aproximação de função têm atraído cada vez mais o interesse dos pesquisadores [12], [27], [30], [40], [109], [120], [123], [146].

A convergência para uma solução ótima nos algoritmos clássicos de RLe DP só é garantida se forem usadas representações exatas da função valor. Escolher um aproximador de função apropriado para um dado problema não é uma tarefa trivial. A complexidade do aproximador deve ser levada em conta, uma vez que ela influencia diretamente os custos computacionais e de memória para os algoritmos de RLe DP.

O uso de representações compactas na aproximação da função valor pode ser visto desde a origem da DP, com o uso de representações polinomiais, como um método de evitar a maldição da dimensionalidade no espaço de estado [17]. Por muitos anos, os pesquisadores lidaram com a maldição da dimensionalidade usando técnicas de agregação para reduzir o espaço de estado; o primeiro trabalho nesse sentido em RL pode ter sido o sistema BOXES de Michie e Chambers [73]. Reetz [90] e Whitt [137] representaram os espaços de estado e de ação através de subconjuntos destes. Mais tarde, a teoria da agregação de estado no RLfoi melhor desenvolvida em [103], [122]. A ideia básica aqui é agregar o problema original, resolvê-lo e desagregá-lo para obter uma solução aproximada para o problema original. Discussões mais recentes sobre métodos de agregação em DP

podem ser encontradas em [56].

Em princípio, qualquer método existente para aproximar funções em aprendizado supervisionado pode ser usado em RL. Os métodos de gradiente descendente estão entre os métodos mais largamente utilizado para aproximação de função e são particularmente adequados para RL on-line [111]. Uma análise da aplicação do gradiente descendente no aprendizado por TDs pode ser encontrada em [109]. Há também a aplicação de métodos como os métodos quasi-Newton [134] e métodos dos mínimos quadrados [25], [28], [47], [140]. A escolha doperceptron multicamadas - multilayer perceptron (MLP)como estrutura aproximadora talvez seja a mais utilizada por parte da comunidade de ADP, uma vez que o nível de complexidade exigido de um MLP cresce somente como uma baixa potência do número de variáveis de estado na aproximação de uma função suave [10]. Para mais sobre esses métodos, consulte os livros [21], [111].

(28)

Schweitzer e Seidmann [97] propuseram o uso de combinações lineares de um conjunto fixo de funções de base para aproximar a função valor. Tal método pode ser visto como um dos casos especiais de aproximação de funções com base em gradiente mais importantes. Os métodos de gradiente descendente lineares têm forte apelo teórico, e funcionam bem na prática quando o espaço característico é bem escolhido. Tanto o aprendizado por TDs[109] quanto o algoritmo Q-learning [131] foram associados a diversas representações compactas, como aproximação de função linear e redes neurais artificiais para DP.

Entre os métodos lineares, merecem destaque as funções de base radial - radial

basis functions (RBF) e tile coding. A aproximação de função usando RBFs tem recebido a atenção dos pesquisadores, desde que foram relacionadas com as redes neurais [29]. O desenvolvimento deste método e sua aplicação, assim como uma revisão das suas primeiras aplicações, pode ser encontrado em [80], [81], [83]. O tile coding foi introduzido por Albus

[1], [2] comocerebellar model articulator controller (CMAC). O termo “tile coding” surgiu da descrição doCMACpor Watkins[131]. Desde então oCMACou tile coding foi bastante aplicado em sistemas de RL [62], [101], [110]

Ormoneit [77] apresentou um método baseado em kernel para aproximar a função

valor, evitando o problema da escolhas das funções de base. O algoritmo realiza aproxima-ções das probabilidades de transição para cada ação usando amostras de Monte Carlo, o que limita seu uso para problemas com espaços de ação relativamente pequenos. O método é comprovadamente convergente para uma solução única de uma equação de Bellman aproximada, em relação aos seus valores iniciais, para um conjunto finito de dados de treinamento. No limite, em que o tamanho do conjunto de dados de treinamento cresce para o infinito, a função valor aproximada e a política aproximada convergem em probabilidade à função valor ótima e a uma política ótima. Com isso, o custo computacional para obter uma política de controle pode tornar-se proibitivo. Para lidar com isso Barreto, Precup e

Pineau [9] representam a matriz de probabilidade de transição como um produto de duas

matrizes estocásticas e realizam um tipo de fatoração que permite obter uma outra matriz de transição potencialmente menor que a original.

Xu, Xie, Hu et al. [145] propuseram um algoritmo de diferenças temporais com

mínimos quadrados baseado em kernel. Este algoritmo se mostrou eficiente e convergente. Posteriormente, esse algoritmo foi usado para realizar a etapa de avaliação de política no algoritmo de iteração de política baseado em kernel proposto em [142]. Para encontrar o equilíbrio entre a qualidade da política obtida e a eficiência no aprendizado, Xu, Hu e Lu [142] usam dependência linear aproximada - approximate linear dependence (ALD)

[39] como método de esparsificação, para eliminar amostras que podem ser representadas como uma combinação linear das outras amostras. Taylor e Parr [116] propuseram uma visão unificada do aprendizado por reforço baseado em kernel - kernel-based reinforcement

(29)

learning (KBRL) através de novos modelos de transição e recompensa baseados em kernel.

Schneegaß, Udluft e Martinetz [94] propuseram um método livre de política considerando

o problema de RLcomo uma tarefa de regressão.

Dietterich e Wang[37] apresentaram três maneiras distintas de combinar

progra-mação linear com o truque kernel para encontrar aproximações da função valor para RL, sendo uma delas utilizando máquina de vetores suporte para regressão - support vector

regression (SVR). Bethke, How e Ozdaglar[22] modificam o problema de otimização do método de SVR buscando minimizar o erro de TDs e aproximar a função valor. Shah e

Gopal [98] usam a variação least-square SVM para realizar um mapeamento dos pares

estado-ação para a função valor estado-ação.

1.3

Objetivos

O objetivo geral desta tese é propor métodos alternativos de RLADP baseados em máquinas kernel para estabelecer políticas de controle ótimo para sistemas não lineares.

O objetivo principal é desenvolver algoritmos que sejam capazes de aproximar funções valor de maneira eficiente em problemas em que os espaços de estado e de ação sejam contínuos ou discretos com dimensão elevada.

1.4

Motivação

Como uma área interdisciplinar, métodos de RLADP com aproximação de funções têm atraído o interesse de pesquisadores de diversos nichos, como aprendizado de máquina, teoria de controle, pesquisa operacional e robótica. Embora se tenha alcançado um avanço expressivo na última década, ainda existem alguns desafios de pesquisa e problemas abertos [146]. É desejável desenvolver novos algoritmos de RLADP com capacidade de representação de aprendizado, convergência rápida em processos de aprendizado on-line [66] e generalização em espaços contínuos ou discretos de alta dimensão [144].

Ainda, o campo de pesquisa de RLADP pode ser visto como promissor no desen-volvimento de controladores inteligentes inspirados em estruturas neurais biológicas de mamíferos, fornecendo capacidade de lidar, de maneira eficaz, com o grau de complexidade de sistemas não lineares, com incertezas, com alta complexidade computacional e com observabilidade parcial [136].

A popularização dos métodos kernel para realizar versões não lineares e não paramétricas de algoritmos de aprendizado supervisionado e não supervisionado [96], [127] tem motivado o crescimento do interesse na combinação dos métodos kernel com

RLADP [141]. Os métodos kernel mostraram-se eficazes na melhoria da capacidade de

(30)

aplicação em sistemas de controle reais em tempo real tem se mostrado como um tópico bastante promissor [141], [143].

1.5

Contribuições

De maneira geral, a contribuição deste trabalho está na aplicação de máquinas

kernel em metodologias deRLADP. Neste sentido, três novos algoritmos são propostos, sendo os algoritmos osvrTD e KRLSTD(𝜆) para predição de valor e o algoritmo oKLSPI para iteração de política on-line.

O algoritmo osvrTD é um algoritmo de diferenças temporais em que a aproximação da função valor estado é feita por uma versão on-line da máquina de vetores suporte para regressão. Ele possibilita aproximar a função valor à medida que novas observações do ambiente estejam disponíveis.

O algoritmo KRLSTD(𝜆) é um algoritmo de diferenças temporais por mínimos quadrados recursivo com base em kernel. Ele é executado em conjunto com um mé-todo de esparsificação on-line com base na dependência linear aproximada dos dados de treinamento.

O algoritmo oKLSPI é um algoritmo de iteração de política on-line em que a avaliação de política é realizada pelo algoritmo KRLSTD-Q(𝜆), uma variação do algoritmo anterior, que aproxima a função valor estado-ação. Ele é executado em conjunto com o método de exploração 𝜖-greedy.

1.6

Organização da tese

Esta tese está estruturada da seguinte maneira.

O Capítulo 2 introduz as características de um problema de tomada de decisão sequencial, como: épocas de decisão, espaços de estado, espaços de ação, conjunto de recompensas e probabilidades de transição. Devido a sua importância para programação dinâmica e aprendizado por reforço, nesta tese são considerados apenas problemas de tomada de decisão sequencial modelados como processos de decisão markovianos. As características de um processo de decisão markoviano são definidas e o problema de encontrar uma política ótima é formulado. Alguns conceitos básico de programação dinâmica como, retorno, funções valor e otimalidade de Bellman são revistos. Por fim são apresentados as classes de algoritmos de iteração de valor e iteração de política. No decorrer do capítulo são apresentados alguns exemplos.

No Capítulo 3 é feita uma revisão sobre aprendizado por reforço e programação dinâmica aproximada. O capítulo é dividido entre problemas de predição de valor e

(31)

problemas de controle. Em problemas de predição de valor, a função valor estado é aproximada para uma dada política. Para essa tarefa são apresentados o método de Monte Carlo, com os algoritmos Monte Carlo primeira visita e Monte Carlo cada visita, e os métodos de diferenças temporais com os algoritmos TD(0), TD(𝜆), LSTD(𝜆) e RLSTD(𝜆), os algoritmos são aplicados a problemas simples para ilustrar o seu funcionamento. Em problemas de controle é discutido o compromisso que os algoritmos devem ter entre explorar e explotar. São apresentados os algoritmos 𝑄-learning, SARSA e LSPI.

No Capítulo4 os métodos kernel são introduzidos, possibilitando o uso do truque

kernel que permite aplicar algoritmos lineares tradicionais em problemas não lineares.

Uma revisão de máquinas de vetores suporte é feita, apresentando suas variações para classificação, regressão e regressão on-line.

No Capítulo5 são propostos os algoritmos osvrTD e KRLSTD(𝜆) para avaliação de política com máquinas kernel, e o algoritmo oKLSPI para iteração de política on-line. Os algoritmos são aplicados a problemas típicos de aprendizado por reforço e comparados com outros algoritmos. As considerações finais e perspectivas futuras são desenvolvidas no capítulo Conclusão.

1.7

Trabalhos publicados e submetidos

∙ H. T. Teixeira e C. P. Bottura, “Temporal-difference learning - an online support vector regression approach”, em Proceedings of the 12th International Conference on

Informatics in Control, Automation and Robotics, INSTICC, Colmar,France, jul. de

2015, p. 318–323.

∙ E. O. J. Alegria, H. T. Teixeira e C. P. Bottura, “State-parameter dependency estimation of stochastic time series using data transformation and parameterization by support vector regression.”, em Proceedings of the 12th International Conference

on Informatics in Control, Automation and Robotics, INSTICC, Colmar,France,

jul. de 2015, p. 342–347.

∙ H. T. Teixeira e C. P. Bottura, “Aplicação de máquinas de vetor suporte para regressão on-line em algoritmos de iteração para aprendizado por reforço”, XXI

Congresso brasileiro de automática, 2016.

∙ H. T. Teixeira e C. P. Bottura, “Kernel recursive least-squares temporal difference learning with online kernel sparsification”, Submetido para revista, 2016.

(32)

2 Processos de decisão markovianos e

progra-mação dinâmica

“We’re all faced throughout our lives with agonizing decisions, moral choices. Some are on a grand scale, most of these choices are on lesser points. But we define ourselves by the choices we have made. We are, in fact, the sum total of our choices.”

Professor Louis Levy1

Este capítulo introduz os componentes básicos de um processo de decisão markovi-ano, utilizado como modelo em problemas de tomada de decisão sequencial e os conceitos matemáticos da programação dinâmica, incluindo os critérios de otimalidade: retorno, função valor, políticas ótimas e otimalidade de Bellman, e apresenta as técnicas de iteração de política e iteração de valor para obtenção de políticas ótimas.

2.1

Introdução

Todos os dias as pessoas precisam tomar diversas decisões, decisões que terão consequências imediatas e de longo prazo. As decisões não devem ser consideradas de forma isolada, uma decisão tomada hoje afetará o dia de amanhã e os dias seguintes. Assim como na vida, na maior parte dos problemas práticos, as decisões devem ser tomadas sequencialmente em diferentes instantes no tempo, em diferentes pontos no espaço e em diferentes níveis. Os problemas nos quais as decisões são tomadas sequencialmente são chamados de problemas de tomada de decisão sequencial. Para lidar com esse tipo de problema consideraremos um modelo para o problema de tomada de decisão sequencial, que opera em um ambiente estocástico e que leva em conta tanto os resultados das decisões atuais quanto das futuras oportunidades de tomada de decisão. Tal modelo tem como características:

1. um conjunto de épocas de decisão: as decisões são tomadas em instantes de tempo definidos como épocas de decisão. O conjunto de épocas de decisão 𝒯 é caracterizado como um subconjunto real não negativo e pode ser classificado como

discreto, 𝒯 = {1, 2, . . . , 𝑁 } ou contínuo, 𝒯 = [0, 𝑁 ], e ainda, como finito, 𝑁 < ∞

1 Personagem interpretado pelo psicanalista Martin S. Bergman no filme Crimes e Pecados (Crimes and

(33)

ou infinito, 𝑁 = ∞. Os elementos de 𝒯 (épocas de decisão) serão indicados por 𝑡 e usualmente referidos como o “instante de tempo 𝑡”;

2. um conjunto de estados do ambiente: em cada época de decisão, o ambiente ocupa um estado 𝑆𝑡 ∈ 𝒮, em que 𝒮 é o conjunto de todos os estados possíveis. O

conjunto de estados do ambiente, ou seu espaço de estado, pode ser classificado como

discreto ou contínuo, e ainda, como finito ou infinito;

3. um conjunto de ações disponíveis: ao observar um estado 𝑆𝑡 do ambiente, o

agente tomador de decisões escolhe uma ação 𝐴𝑡 ∈ 𝒜(𝑆𝑡), em que 𝒜(𝑆𝑡) é o conjunto

de ações possíveis no estado 𝑆𝑡, sendo 𝒜 = ∪𝑆𝑡∈𝒮𝒜(𝑆𝑡), o conjunto de ações possíveis do ambiente, ou seu espaço de ação, que também pode ser classificado como discreto ou contínuo, e ainda, como finito ou infinito;

4. um conjunto de recompensas ou custos imediatos: como resultado da escolha de uma ação 𝐴𝑡 ∈ 𝒜(𝑆𝑡) no estado 𝑆𝑡, a cada instante de tempo, o tomador de

decisões recebe uma recompensa, 𝑅𝑡+1∈R ⊂ R, que avalia o seu desempenho;

5. um conjunto de probabilidades de transição: como resultado da escolha de uma ação 𝐴𝑡 ∈ 𝒜(𝑆𝑡) no estado 𝑆𝑡, a cada instante de tempo, o estado do ambiente

na próxima época de decisão, 𝑆𝑡+1, é determinado pela probabilidade de transição

𝑝 ( ·| 𝑠, 𝑎).

Assim, a cada época de decisão, baseado na observação do ambiente, o agente tomador de decisões escolhe uma das ações possíveis no estado ocupado pelo ambiente naquele instante de tempo. A escolha da ação leva o ambiente para um possível novo estado na próxima época de decisão e o agente recebe uma recompensa imediata (ou um custo imediato) como consequência dessa ação. As recompensas e as probabilidades de transição podem tanto ser dependentes do estado e da ação quanto do estado, da ação e do próximo estado. Como este processo evolui ao longo do tempo, o agente recebe uma sequência de recompensas [88].

Em cada época de decisão, o agente escolhe uma ação no estado ocupado pelo ambiente. Uma política fornece ao agente uma receita para escolher uma ação em qualquer estado futuro possível. A implementação de uma política gera uma sequência de recompen-sas. O problema de tomada de decisão sequencial é escolher, antes da primeira época de decisão, uma política para maximizar uma função desta sequência de recompensas. Entre as possíveis escolhas para essa função estão a recompensa total descontada esperada e a recompensa média de longo prazo. A sequência descrita está simbolicamente representada na Figura 2.1.

Um modelo de tomada de decisão sequencial particular é muito importante, pois o conjunto de ações disponíveis, as recompensas e as probabilidades de transição dependem apenas do estado e da ação atual; e não dos estados ocupados e ações escolhidas no

(34)

passado. Isso é possível porque nesses modelos o estado retém toda a informação passada relevante. Esses processos de decisão são ditos markovianos, ou que possuem a propriedade

de Markov.

Para simplificar a definição formal da propriedade de Markov, será considerado que há um número finito de estados e recompensas. Considere como um ambiente pode responder no instante de tempo 𝑡 + 1 às decisões tomadas no instante de tempo 𝑡. No caso causal mais geral, esta resposta pode depender de tudo o que aconteceu anteriormente. Neste caso, a dinâmica deve ser definida especificando a distribuição de probabilidade conjunta completamente:

Pr{𝑆𝑡+1 = 𝑠, 𝑅𝑡+1 = 𝑟|𝑆0, 𝐴0, 𝑅1, . . . , 𝑆𝑡−1, 𝐴𝑡−1, 𝑅𝑡, 𝑆𝑡, 𝐴𝑡}, (2.1)

para todo 𝑟, 𝑠e todos os possíveis valores dos eventos passados: 𝑆0, 𝐴0, 𝑅1,. . ., 𝑆𝑡−1, 𝐴𝑡−1,

𝑅𝑡, 𝑆𝑡, 𝐴𝑡. Se a resposta do ambiente no instante 𝑡 + 1 depende somente das representações

do estado e da ação no instante 𝑡, a dinâmica do ambiente pode ser definida como:

𝑝 ( 𝑠, 𝑟| 𝑠, 𝑎) = Pr{𝑆. 𝑡+1= 𝑠, 𝑅𝑡+1= 𝑟|𝑆𝑡= 𝑠, 𝐴𝑡 = 𝑎}, (2.2)

para todo 𝑟, 𝑠e 𝑎. Esse modelo é suficientemente amplo para permitir uma modelagem de problemas de tomada de decisões sequenciais bastante realistas e é chamado de processo

de decisão markoviano - Markov decision process (MDP) [88].

2.2

Formulação do problema

Um MDP é descrito pela tupla {𝒮, 𝒜, 𝑝, 𝑟}, em que 𝒮 é espaço de estados, 𝒜 é

espaço de ações, 𝑝 é a probabilidade para cada possível par, próximo estado 𝑠′ e recompensa

𝑟, dado um estado 𝑠 e uma ação 𝑎, dada por

𝑝 ( 𝑠, 𝑟| 𝑠, 𝑎) = Pr {𝑆. 𝑡+1= 𝑠, 𝑅𝑡+1= 𝑟|𝑆𝑡= 𝑠, 𝐴𝑡 = 𝑎} . (2.3) Estado atual Estado seguinte ação ação recompensa recompensa Época de decisão atual Época de decisão seguinte

Figura 2.1 – Representação simbólica de um problema de tomada de decisão sequencial. [88].

(35)

Uma vez que (2.3) está definida, é possível calcular qualquer outra coisa que se queira saber sobre o ambiente, como as recompensas esperadas para o par estado-ação

𝑟(𝑠, 𝑎) = E[𝑅. 𝑡+1|𝑆𝑡= 𝑠, 𝐴𝑡 = 𝑎] = ∑︁ 𝑟∈R 𝑟 ∑︁ 𝑠∈𝒮 𝑝 ( 𝑠, 𝑟| 𝑠, 𝑎) , (2.4)

as probabilidades de transição de estados,

𝑝 ( 𝑠| 𝑠, 𝑎)= Pr {𝑆. 𝑡+1= 𝑠|𝑆𝑡= 𝑠, 𝐴𝑡 = 𝑎} =

∑︁

𝑟∈R

𝑝 ( 𝑠, 𝑟| 𝑠, 𝑎) , (2.5)

e a recompensa esperada para a tripla estado-ação-próximo estado,

𝑟(𝑠, 𝑎, 𝑠′)= E[𝑅. 𝑡+1|𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎, 𝑆𝑡+1= 𝑠′] =

∑︀

𝑟∈R𝑟𝑝 ( 𝑠, 𝑟| 𝑠, 𝑎)

𝑝 ( 𝑠| 𝑠, 𝑎) . (2.6)

O problema básico em umMDPestá na formulação de uma política, definida como o mapeamento dos estados em ações. Em outras palavras, a política é uma regra usada pelo agente para decidir o que fazer dado o conhecimento do estado atual do ambiente [50]. A política é dada por

𝜋 = {ℎ0, ℎ1, ℎ2, ...}, (2.7)

em que ℎ𝑡 é o mapeamento ℎ : 𝒮 × 𝒜 ↦→ [0, 1] que fornece para cada estado 𝑠 e ação 𝑎 a

probabilidade condicional,

ℎ𝑡(𝑎|𝑠) = Pr{𝐴𝑡= 𝑎|𝑆𝑡= 𝑠}, com 𝑎 ∈ 𝒜(𝑠), ∀𝑠 ∈ 𝒮. (2.8)

Se o mapeamento ℎ : 𝒮 × 𝒜 ↦→ [0, 1] admitir somente uma ação (com probabilidade 1) em cada estado 𝑠, então a política e dita determinística e corresponde à função que mapeia estados em ações ℎ : 𝒮 ↦→ 𝒜,

ℎ𝑡(𝑠) = 𝑎 ∈ 𝒜(𝑠), ∀𝑠 ∈ 𝒮, (2.9)

ela pode ser não estacionária ou estacionária. Uma política não estacionaria é variante no tempo como indicado em (2.7). No entanto quando uma política é independente do tempo,

𝜋 = {ℎ, ℎ, ℎ, ...}, (2.10) a política é dita estacionária. Ou seja, uma política estacionária especifica exatamente a mesma ação cada vez que um estado particular é visitado. Para simplificar, a partir deste momento será usado apenas o termo “política” para referir-se a uma política estacionária. Uma política estacionária aplicada a um MDPorigina o chamado processo de recompensa

markoviano - Markov reward process (MRP) [114]; um MRP é determinado pelo trio

{𝒮, 𝑝, 𝑟}.

Neste capítulo será tratado o caso em que o espaço de estados e o espaço de ações são finitos, embora potencialmente muito grandes. No entanto, a maioria das idéias se aplicam sem modificações ao caso em que esse espaço é um conjunto infinito enumerável [88]. O Exemplo 2.1, ilustra as características básicas de um MDP.

(36)

Exemplo 2.1 (Processo de decisão markoviano de 2 estados): Neste exemplo será considerado que as probabilidades de transição e as recompensas são estacionárias, ou seja, as probabilidades de transição e as recompensas são as mesmas em todas as épocas de decisão. A cada época de decisão o ambiente pode ocupar os estados 𝑠1 ou 𝑠2. No estado

𝑠1 o agente pode escolher entre as ações 𝑎1,1 e 𝑎1,2; no estado 𝑠2 somente a ação 𝑎2,2 está

disponível.

A escolha da ação 𝑎1,1 em 𝑠1 pode levar o ambiente para o estado 𝑠2, com

proba-bilidade 𝜌, por esta transição o agente recebe uma recompensa 𝑟1,21 . Ainda, a escolha da ação 𝑎1,1 em 𝑠1 pode fazer com que o ambiente permaneça no estado 𝑠1 com probabilidade

1 − 𝜌 e por esta transição o agente recebe uma recompensa 𝑟1,1. Por outo lado, a escolha

da ação 𝑎1,2 em 𝑠1 sempre leva o ambiente para o estado 𝑠2 e por esta transição o agente

recebe uma recompensa 𝑟2

1,2. No estado 𝑠2 o agente somente pode escolher a ação 𝑎2,2,

como consequência dessa ação o ambiente permanece no estado 𝑠2 com probabilidade 1 e

o agente recebe uma recompensa 𝑟2,2.

Um diagrama de estados costuma ser útil para resumir a dinâmica de um MDP

estático e finito. Na Figura 2.2 cada circulo representa um estado e os arcos representam transições correspondentes ao trio (𝑠, 𝑠, 𝑎) e é rotulada com a probabilidade de transição 𝑝 ( 𝑠| 𝑎, 𝑎) e a recompensa esperada 𝑟(𝑠, 𝑎, 𝑠). As probabilidades de transição que deixam

um estado devido a uma ação sempre somam 1.

s

1

s

2 𝑎1,2 1; 𝑟1,22 𝑎2,2 1; 𝑟2,2 1 − 𝜌; 𝑟1,1 𝑎1,1 𝜌; 𝑟1 1,2

Figura 2.2 – Representação simbólica de um MDP de 2 estados.

O problema pode ser descrito formalmente em termos da notação apresentada na Seção 2.1:

Épocas de decisão:

𝒯 = {1, 2, . . . , 𝑁 }.

Estados:

(37)

Ações:

𝒜(𝑠1) = {𝑎1,1, 𝑎1,2},

𝒜(𝑠2) = {𝑎2,2}.

Recompensas e probabilidades de transição: As recompensas e probabilidades

de transição possíveis para esse problema estão listadas na Tabela 2.1.

Tabela 2.1 – Probabilidades de transição e recompensas esperadas para o MDP de dois estados. 𝑠 𝑠𝑎 𝑝 ( 𝑠| 𝑠, 𝑎) 𝑟(𝑠, 𝑎, 𝑠′) 𝑠1 𝑠1 𝑎1,1 1 − 𝜌 𝑟1,1 𝑠1 𝑠1 𝑎1,2 0 0 𝑠1 𝑠2 𝑎1,1 𝜌 𝑟11,2 𝑠1 𝑠2 𝑎1,2 1 𝑟21,2 𝑠2 𝑠1 𝑎2,2 0 0 𝑠2 𝑠2 𝑎2,2 1 𝑟2,2

Nota: Há uma linha para cada combinação possível de estado atual, 𝑠, próximo estado, 𝑠′ e ação

possível no estado atual, 𝑎 ∈ 𝒜(𝑠).

2.3

Retorno e funções valor

Como dito anteriormente, o problema de aprendizado do agente em um MDP

consiste em escolher uma política que maximize as recompensas recebidas ao longo de uma sequência de épocas de decisão. Definindo formalmente, buscamos maximizar o retorno

esperado2, em que o retorno, 𝐺

𝑡 é definido como uma função especifica da sequência de

recompensas [111]. No caso mais simples o retorno é a soma das recompensas:

𝐺𝑡= 𝑅𝑡+1+ 𝑅𝑡+2+ 𝑅𝑡+3+ . . . + 𝑅𝑇, (2.11)

em que 𝑇 é o passo de tempo final. Esse tipo de função faz sentido em aplicações em que há uma noção natural de tempo final, isto é, quando a interação entre o agente e o ambiente se dá em episódios. Por outro lado, em muitos casos essa interação se dá continuamente e a formulação (2.11) torna-se problemática, uma vez que o passo de tempo final será

𝑇 = ∞, e o valor do retorno, que é o que queremos maximizar, poderia ser infinito.

2 A função retorno pode também ser encontrada como função custo para ir (do inglês, cost-to-go function)

Referências

Documentos relacionados