aprendizagem por reforço profundo uma nova perspectiva
TRANSCRIPT
UNIVERSIDADE DO RIO GRANDE DO NORTEFEDERAL
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
CENTRO DE TECNOLOGIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E
DE COMPUTAÇÃO
Aprendizagem por reforço profundo uma novaperspectiva sobre o problema dos k-servos
Ramon Augusto Sousa Lins
Orientador: Prof. Adrião Duarte Dória Neto
Tese de Doutorado apresentada aoPrograma de Pós-Graduação em EngenhariaElétrica e de Computação da UFRN (área deconcentração: Engenharia de Computação)como parte dos requisitos para obtenção dotítulo de Doutor em Ciências.
Número de ordem PPgEEC: D267Natal, RN, dezembro de 2019
Lins, Ramon Augusto Sousa. Aprendizagem por reforço profundo uma nova perspectiva sobreo problema dos k-servos / Ramon Augusto Sousa Lins. - 2020. 93 f.: il.
Tese (Doutorado)-Universidade Federal do Rio Grande do Norte,Centro de Tecnologia, Programa de Pós-Graduação em EngenhariaElétrica e de Computação, Natal, 2020. Orientador: Prof. Dr. Adrião Duarte Dória Neto.
1. Problema de otimização online - Tese. 2. Otimizaçãocombinatória - Tese. 3. Localização de facilidades competitiva -Tese. I. Dória Neto, Adrião Duarte. II. Título.
RN/UF/BCZM CDU 621.3
Universidade Federal do Rio Grande do Norte - UFRNSistema de Bibliotecas - SISBI
Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede
Elaborado por Raimundo Muniz de Oliveira - CRB-15/429
Agradecimentos
Ao meu orientador e ao meu co-orientador, professores Adrião Duarte e Jorge Dantas,sou grato pela orientação.
Aos colegas do laboratório de sistemas inteligentes pelas sugestões que contribuíramimensamente na elaboração desta tese.
Aos demais professores, pelas críticas e sugestões de modelos de tese.
Aos meus pais Luciano e Sandra pelo apoio incondicional durante esta jornada, sem elesnada disso seria possível.
À CAPES, pelo apoio financeiro.
Resumo
O problema dos k-servos em um grafo ponderado (ou espaço métrico) é definido pelanecessidade de mover eficientemente k servos para atender uma sequência de requisiçõesque surgem de maneira online em cada nó do grafo. Este é talvez o problema mais influ-ente de computação online cuja solução continua em aberto servindo de abstração paradiversas aplicações, como a compra e venda de moedas, reatribuição de processos em pro-cessamento paralelo para balanceamento de carga, serviços de transporte online, geren-ciamento de sondas de produção de petróleo, dentre outros. Sua simplicidade conceitualcontrasta com sua complexidade computacional que cresce exponencialmente com o au-mento do número de nós e servos. Anteriormente a este trabalho, o algoritmo Q-learningfoi utilizado na solução de pequenas instâncias do problema dos k-servos. A solução ficourestrita à pequenas dimensões do problema pois sua estrutura de armazenamento cresceexponencialmente com o aumento do número de nós e servos. Este problema, conhecidocomo maldição de dimensionalidade, torna ineficiente ou até impossibilita a execução doalgoritmo para certas instâncias do problema. Para lidar com maiores dimensões, o Q-learning em conjunto com o algoritmo guloso foi aplicado a um número reduzido de nósseparados por um processo de agrupamento (abordagem hierárquica). A política local ob-tida em cada agrupamento, em conjunto com a política gulosa, foi utilizada na formaçãode uma política global, abordando de maneira satisfatória grandes instâncias do problema.Os resultados foram comparados a importantes algoritmos da literatura, o Work function,o Harmonic e o guloso. As soluções até então propostas dão ênfase ao aumento do nú-mero de nós, porém se analisarmos o crescimento da estrutura de armazenamento definidapor Cn,k ' O(nk), é possível perceber que o aumento do número de servos pode torná-larapidamente limitada pelo problema da maldição da dimensionalidade. Para contornaresta barreira, o problema dos k-servos foi modelado como um problema de aprendizagempor reforço profundo cuja a função de valor estado-ação foi definida por uma rede neuralperceptron de múltiplas camadas capaz de extrair as informações do ambiente a partirde imagens que codificam a dinâmica do problema. A aplicabilidade do algoritmo pro-posto foi ilustrada em um estudo de caso no qual diferentes configurações do problemaforam consideradas. O comportamento dos agentes foi analisado durante a fase de treina-mento e sua performance foi avaliada a partir de testes de desempenho que quantificarama qualidade das políticas de deslocamento dos servos geradas. Os resultados obtidos for-necem uma visão promissora de sua utilização como solução alternativa ao problema dosk-servos.
Palavras-chaves: Aprendizado por reforço profundo, Problemas online, O problemados k-Servos, Otimização combinatória, Localização competitiva.
Abstract
The k-server problem in a weighted graph (or metric space) is defined by the need toefficiently move k servers to fulfill a sequence of requests that arise online at each graphnode. This is perhaps the most influential online computation problem whose solutionremains open, serving as an abstraction for a variety of applications, as buying and sellingof currencies, reassign processes in a parallel processing for load balancing, online trans-portation service, probe management of oil production rigs, among others. Its conceptualsimplicity contrasts with its computational complexity that grows exponentially with theincreasing number of nodes and servers. Prior to this work, the Q-learning algorithmwas used to solve small instances of the k-server problem. The solution was restricted tosmall dimensions of the problem because its storage structure grows exponentially withthe increase in the number of nodes and servers. This problem, known as the curse ofdimensionality, makes the algorithm inefficient or even impossible to execute for certaininstances of the problem. To handle with larger dimensions, Q-learning together with thegreedy algorithm were applied to a small number of nodes separated into different clus-ters (hierarchical approach). The local policy obtained from each cluster, together withgreedy policy, were used to form a global policy satisfactorily addressing large instancesof the problem. The results were compared to important algorithms in the literature, as theWork function, Harmonic and greedy. The solutions proposed so far emphasize the incre-ase in the number of nodes, but if we analyze the growth of the storage structure definedby Cn,k ' O(nk) It can be seen that the increase in the number of servers can be quicklylimited by the problem of the curse of dimensionality. To circumvent this barrier, thek-server problem was modeled as a deep reinforcement learning task whose state-actionvalue function was defined by a multilayer perceptron neural network capable of extrac-ting environmental information from images that encode the dynamics of the problem.The applicability of the proposed algorithm was illustrated in a case study in which dif-ferent problem configurations were considered. The behavior of the agents was analyzedduring the training phase and their performance was evaluated from performance tests thatquantified the quality of the displacement policies of the servers generated. The resultsprovide a promising insight into its use as an alternative solution to the k-servers problem.
Keywords: Deep reinforcement learning, Online problem, The k-server problem,Combinatorial optimization, Competitive location.
Sumário
Sumário i
Lista de Figuras iii
Lista de Tabelas v
Lista de Símbolos e Abreviaturas vii
1 Introdução 11.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Estado da Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Problema dos k-servos 112.1 Problemas de otimização online e offline . . . . . . . . . . . . . . . . . . 112.2 Formulação do modelo dos k-servos . . . . . . . . . . . . . . . . . . . . 132.3 Aplicação prática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Fundamentos de Aprendizagem Profunda 173.1 Conceitos Fundamentais . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Modelo típico de aprendizagem . . . . . . . . . . . . . . . . . . . . . . . 213.4 Rede Neural de Múltiplas Camadas . . . . . . . . . . . . . . . . . . . . 23
3.4.1 Computação para frente . . . . . . . . . . . . . . . . . . . . . . 233.4.2 Computação para trás . . . . . . . . . . . . . . . . . . . . . . . . 253.4.3 Regularização . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4 Aprendizagem por Reforço 294.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2 Processo de Decisão de Markov . . . . . . . . . . . . . . . . . . . . . . 314.3 Função Valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4 Diferença Temporal (Temporal Difference - TD) . . . . . . . . . . . . . . 34
4.4.1 Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4.2 Semi-gradient Q-learning . . . . . . . . . . . . . . . . . . . . . 35
i
5 Aprendizagem por reforço profundo aplicado ao PKS 415.1 Visão geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.2 Observações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.3 Ações e observações futuras . . . . . . . . . . . . . . . . . . . . . . . . 445.4 Rede neural perceptron de múltiplas camadas . . . . . . . . . . . . . . . 445.5 Recompensa e retorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.6 Interação agente-ambiente . . . . . . . . . . . . . . . . . . . . . . . . . 465.7 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6 Resultados 496.1 Problema de emergência móvel online . . . . . . . . . . . . . . . . . . . 50
6.1.1 Conceito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.1.2 Formalização . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2 Estudo de casos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.2.1 Configurações iniciais . . . . . . . . . . . . . . . . . . . . . . . 516.2.2 Hiperparâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.3 Análise de desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.3.1 Curvas de aprendizagem Q-learning . . . . . . . . . . . . . . . . 546.3.2 Curvas de aprendizagem aproximada . . . . . . . . . . . . . . . 546.3.3 Testes de pontuação . . . . . . . . . . . . . . . . . . . . . . . . 56
6.4 Análise dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7 Conclusões, discussões e perspectivas 637.1 Discussões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647.2 Perspectivas futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657.3 Publicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Referências bibliográficas 67
Lista de Figuras
2.1 Distribuição inicial dos servos e requisição no problema dos k-servos. . . 142.2 Nova distribuição após o servo ser deslocado e uma nova solicitação acon-
tecer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Modelo de neurônio não linear . . . . . . . . . . . . . . . . . . . . . . . 193.2 Aprendizagem profunda aplicada a um problema de classificação. . . . . 203.3 Visão geral de sistemas inteligentes. . . . . . . . . . . . . . . . . . . . . 213.4 Visão simplificada de uma rede MLP. . . . . . . . . . . . . . . . . . . . 233.5 Computação para frente . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.6 Regra da cadeia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.7 Retropropagação do erro . . . . . . . . . . . . . . . . . . . . . . . . . . 273.8 Método de regularização dropout . . . . . . . . . . . . . . . . . . . . . . 28
4.1 Interação do agente com ambiente na aprendizagem por reforço . . . . . 314.2 Diagrama de backup para V p e Qp . . . . . . . . . . . . . . . . . . . . . 33
5.1 Interação agente-ambiente em uma abordagem de aprendizagem por re-forço profundo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 Exemplo de um problema com nós 4 e 2 servos. . . . . . . . . . . . . . . 435.3 Outro exemplo com 5 nós e 2 servos. . . . . . . . . . . . . . . . . . . . . 435.4 Espaço de ações para o exemplo da figura 5.2 . . . . . . . . . . . . . . . 445.5 Arquitetura da rede neural. . . . . . . . . . . . . . . . . . . . . . . . . . 455.6 Função de recompensa. . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.7 O problema dos k-servos como uma tarefa de aprendizagem por reforço
profunda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.1 Valor estado-ação (Q-learning). . . . . . . . . . . . . . . . . . . . . . . . 556.2 Valor estado-ação (rede neural). . . . . . . . . . . . . . . . . . . . . . . 556.3 Função custo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.4 Crescimento da estrutura de armazenamento dos algoritmos. . . . . . . . 61
iii
Lista de Tabelas
6.1 Tabela de hiperparâmetros I. . . . . . . . . . . . . . . . . . . . . . . . . 536.2 Tabela de hiperparâmetros II. . . . . . . . . . . . . . . . . . . . . . . . . 546.3 Comparação entre os algoritmos para cidade com 9 regiões e 2 ambulâncias. 576.4 Comparação entre os algoritmos para cidade com 9 regiões e 4 ambulâncias 576.5 Comparação entre os algoritmos para a cidade com 10 regiões e 2 ambu-
lâncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.6 Comparação entre os algoritmos para a cidade com 15 regiões e 2 ambu-
lâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.7 Comparação entre os algoritmos para a cidade com 20 regiões e 2 ambu-
lâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.8 Comparação entre os algoritmos para a cidade com 20 regiões e 3 ambu-
lâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.9 Comparação entre os algoritmos para a cidade com 20 regiões e 4 ambu-
lâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.10 Comparação entre os algoritmos para a cidade com 20 regiões e 5 ambu-
lâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
v
Lista de Símbolos e Abreviaturas
DCNN Deep Convolutional Neural Network
DL Deep Learning
DRL Deep Reinforcement Learning
DRL Deep Reinforcement Learning
KSP The K-Server Problem
MDP Markov Decision Process
ML Machine Learning
MLP Multilayer Perceptron
MSE Mean Square Error
OPT Optimal algorithm
Relu Rectified Linear Unit
SGD Stochastic Gradient Descent
SVM Support Vector Machine
TD Temporal Difference
TSP Traveling Salesman Problem
WFA Work Function Algorithm
vii
Capítulo 1
Introdução
Proposto por Manasse et al. [1988], o problema dos k-servos (KSP) pode ser definido
em termos de um grafo G (ou espaço métrico) no qual k servos são previamente iniciali-
zados em alguns de seus n nós. Ao longo do tempo requisições s aparecem de maneira
sequencial nos diferentes nós do grafo. Após uma requisição aparecer, um dos k servos
deve ser deslocado para atender a requisição. Este deslocamento é associado a um custo
que pode ser, por exemplo, a distância entre o nó do servo escolhido e o nó no qual a
requisição apareceu. O objetivo é minimizar o custo total envolvido no atendimento das
requisições, em outras palavras, tornar a soma dos custos dos deslocamentos dos servos a
menor possível ao longo do tempo.
Uma característica típica do problema dos k-servos é atender as requisições de ma-
neira online levando em consideração apenas a relação entre a requisição atual e a pas-
sada. Outra forma de abordar o problema é utilizar uma versão offline (determinística) no
qual uma sequência finita de requisições conhecidas devem ser atendidas. No contexto
online, não existe informações sobre o local no qual as requisições futuras irão acontecer;
o que torna a solução do problema complexa podendo acarretar custos maiores do que os
obtidos pelos métodos offlines [Bertsimas et al. 2019].
Os algoritmo online são tipicamente avaliados por meio da sua razão competitiva, que
leva em consideração a performance do algoritmo online em relação ao desempenho de
um algoritmo offline. Neste contexto, à medida que as requisições acontecem qualquer
2 CAPÍTULO 1. INTRODUÇÃO
algoritmo online deve produzir soluções sub-ótimas. Para medir o desempenho dos algo-
ritmos de forma apropriada Sleator & Tarjan [1985] sugeriram que a solução produzida
por um algoritmo online para uma entrada específica deveria ser comparada com a solu-
ção obtida por um algoritmo ótimo offline com a mesma sequência de entrada. Dentro
deste contexto, [Manasse et al. 1988] formalizou a ideia e introduziu a noção de competi-
tividade, que diz que um algoritmo é c-competitivo se existir constante c ≥ 1 de maneira
que a inequação CALG(s) c COPT (s) é válida para qualquer sequência de requisições s.
Nesta expressão CALG e COPT correspondem aos custos associados as algoritmos online
ALG e ao algoritmo ótimo OPT offline, respectivamente [Borodin & El-Yaniv 1998].
Em razão disso e diante da conjectura dos k-servos, que afirma existir um algoritmo
ótimo online k-competitivo [Manasse et al. 1988], diversos algoritmos vêm sendo de-
senvolvidos [Bartal & Koutsoupias 2004], [Grove 1991] ao longo dos anos com o in-
tuito de confirmar sua veracidade. Até agora nenhum algoritmo conseguiu provar ser
k-competitivo para todos os casos [Bansal et al. 2015]. Sua simplicidade conceitual
contrasta com sua complexidade computacional que cresce exponencialmente com o au-
mento do número de nós e servos, sendo talvez o mais influente dos problemas online
[Koutsoupias 2009], servindo de propulsor para o desenvolvimento de novos algoritmos
[Rudec et al. 2013], [Bansal et al. 2015], [Gupta et al. 2016], [Bertsimas et al. 2019].
1.1 Motivação
Inicialmente, os trabalhos relacionados ao problema dos k-servos se concentraram
em espaços métricos especiais, como o espaço métrico uniforme no qual algoritmos de
alto desempenho são conhecidos [Sleator & Tarjan 1985]. Isso levou a afirmação de que
um resultado semelhante deve valer para as métricas arbitrárias. Tal afirmação ficou co-
nhecida como a conjectura dos k-servos que afirma que para cada espaço métrico com
mais de k pontos distintos, a taxa competitiva do problema dos k-servos é exatamente k
1.1. MOTIVAÇÃO 3
[Bansal et al. 2015]. Para métricas gerais, Koutsoupias & Papadimitriou [1995] propôs o
algoritmo Work Function adequado a qualquer espaço métrico, cuja taxa de competitivi-
dade é 2k− 1. Apesar disso, os resultados obtidos por esse algoritmo é determinístico e
existe um grande interesse no estudo de algoritmos aleatórios pois eles tendem a ter um
desempenho melhor que os determinísticos [Bansal et al. 2015].
Um algoritmo aleatório tem a aleatoriedade como parte intrínseca de seu design,
e como dito anteriormente, existe um grande interesse em usá-los na solução do pro-
blema dos k-servos. Isso leva a outro desafio em aberto conhecido como a conjectura
dos k-servos aleatória que afirma existir um algoritmo online aleatório para o problema
dos k-servos com uma razão competitiva logk para cada espaço métrico. Qualquer pro-
gresso nesse problema pode abrir novos caminhos para atacar as conjecturas dos k-servos
[Koutsoupias 2009].
Em um problema dos k-servos online como a decisão depende apenas das informa-
ções disponíveis no momento, esse problema pode ser modelado como um Processo de
Decisão de Markov (MDP) e, consequentemente, definido como um problema de apren-
dizagem por reforço (RL).
A técnica de aprendizado por reforço é uma ferramenta de decisão sequencial baseada
na interação de um agente com um ambiente, fundamentada no conceito de programação
dinâmica introduzida por Bellman [1957]. O ambiente por sua vez é modelado como
um processo de decisão markoviano no qual a tomada de decisão é baseada apenas na
informação disponível em um instante de tempo t. Estas características tornam bastante
atrativo o uso da técnica de aprendizado por reforço na solução de problemas online como
o problema dos k-servos.
Anteriormente a este trabalho o problema do k-servos foi abordado como um pro-
blema de aprendizagem por reforço através da utilização do algoritmo Q-learning. O
seu uso em problemas práticos é naturalmente restrita a problemas de pequena dimensão.
Isso acontece porque o Q-learning precisa visitar todo o espaço de possibilidade "infi-
4 CAPÍTULO 1. INTRODUÇÃO
nitas"vezes para que sua política de decisão convirja para uma política ótima [Watkins
1989]. A medida que a dimensionalidade do problema aumenta a estrutura de armaze-
namento conhecida como função de valor estado-ação (função Q) aumenta exponenci-
almente. Bellman [1957] definiu este tipo de problema como o problema da maldição
de dimensionalidade, conceito que aborda a intratabilidade de problemas de grande di-
mensionalidade; a partir de certas instâncias o problema tem um número tão elevado de
possibilidades que é impossível de se obter computacionalmente uma resposta em tempo
hábil. Este problema foi abordado por meio de uma estratégia hierárquica, cuja solução
abordou grandes dimensões do problema. Apesar disso calcular a função de valor estado-
ação para instâncias maiores torna-se um processo computacional extremamente custoso,
mesmo em uma abordagem hierárquica, tendo talvez como principal fator limitante o nú-
mero de servos, uma vez que a complexidade computacional em espaço do algoritmo é
O(nk) [Costa et al. 2016] e o aumento de servos pode rapidamente levar o problema a
uma explosão de dimensionalidade.
1.2 Objetivos
Para lidar com esse tipo de problema, métodos de aprendizagem baseados em apro-
ximação de funções podem ser utilizados como uma alternativa à abordagem tradicional.
Neste trabalho, o problema dos k-servos foi definido como uma tarefa de aprendizagem
por reforço profundo através do uso do algoritmo Q-learning em conjunto com uma rede
neural de múltiplas camadas (MLP) . O método do gradiente descendente foi utilizado
para integrar a rede neural ao Q-learning [Lin 1993] [Tesauro 1995] [Riedmiller 2005].
Atualmente, o uso das técnicas de aprendizagem profunda (DL), em conjunto com o pa-
radigma da aprendizagem por reforço são impulsionados por avanços recentes [Mnih
et al. 2015] [Silver et al. 2017], bem como sua vasta aplicabilidade em diversas áreas
práticas [Mao et al. 2016] [Bello et al. 2016] [Araque et al. 2017] [Afify et al. 2019].
1.2. OBJETIVOS 5
Para converter o Q-learning em um método baseado no gradiente, a modificação da
função Q foi substituída pela atualização do vetor de pesos sinápticos w através da função
de valor estado-ação aproximada, denotada como Q(s,a;w) ou Q(s,a) (parâmetro implí-
cito) e o cálculo de seu gradiente. Para adaptar o problema dos k-servos à esta abordagem,
a dinâmica do problema foi representada por imagens que codificam os estados do am-
biente, e recompensas definidas pelos caminhos de custo mínimo relacionadas às ações
executadas. Com o problema modelado como uma tarefa visual, a função Q, que remete a
todas as possibilidades, foi substituída por uma matriz de pesos cuja solução generalizada
depende do número de parâmetros da arquitetura da rede neural.
Nossa proposta de trabalho é aliar a capacidade de generalização da rede neural com
a ideia de aprendizagem por interação com o ambiente através do paradigma de apren-
dizagem por reforço, utilizando em particular o algoritmo Q-learning, como solução al-
ternativa a resolução do problema dos k-servos. Os principais objetivos deste trabalho
são:
• Propor um algoritmo menos suscetível à maldição da dimensionalidade, visto que o
processo de tomada de decisão é realizado de maneira generalizada, apresentando
maior escalabilidade para problemas de instâncias maiores, com foco no aumento
do número de servos;
• Transformar o modelo dos k-servos em um problema de imagem adequado aos
métodos de aproximação;
• Analisar o algoritmo proposto comparando seu desempenho com o Q-learning, um
algoritmo com forte prova de convergência [Watkins 1989]; e o algoritmo guloso
que apresenta bom desempenho quando as requisições são definidas por uma dis-
tribuição uniforme [Rudec et al. 2013];
• Analisar a robustez do algoritmo à aleatoriedade, uma propriedade intrínseca ao
problema dos k-servos;
• Fornecer uma visão de como esta abordagem pode ser utilizada em situações práti-
6 CAPÍTULO 1. INTRODUÇÃO
cas.
1.3 Estado da Arte
Nesta seção será feita uma breve discussão de importantes algoritmos (offline e online)
da literatura. Diversos algoritmos foram propostos na tentativa de resolver o problema
dos k-servos. Eles geralmente diferem em relação as taxas competitivas, tratabilidade e
quantidade de dados históricos que usam para a tomada de decisão. Em geral, quanto
mais informações são usadas, melhor o desempenho dos métodos.
Sleator & Tarjan [1985], em seu artigo sobre análise competitiva, deram exemplos
de alguns algoritmos com taxa de competitividade k para o problema de paginação de-
monstrando que nenhum algoritmo determinístico pode ser melhor. Isso levou Manasse
et al. [1988] a afirmar que um resultado semelhante deve valer para métricas arbitrárias,
definindo a conjectura dos k-servos.
Koutsoupias & Papadimitriou [1995], propuseram o algoritmo work function (WFA)
com taxa de competitividade de 2k − 1, valor próximo ao ideal, visto que a conjectura
define que qualquer algoritmo determinístico deve ser k-competitivo. O work function é
um dos algoritmos online mais importantes para o problema dos k-servos, tanto pela pers-
pectiva teórica de competitividade quanto do desempenho prático [Rudec et al. 2013].
Ele tem como base o conceito de função de trabalho, cujos valores são armazenados em
uma estrutura de dados de tamanho C(n,k).m, em que n representa o número de nós,
k a quantidade de servos e m a quantidade total de requisições existentes. A combina-
ção de nós e servos geram as colunas da tabela, as requisições as linhas e a função de
trabalho indica os valores inseridos na estrutura. Basicamente o algoritmo funciona da
seguinte maneira, define-se uma configuração inicial constituída do posicionamento dos
servos e da requisição, em seguida calcula-se os valores da função de trabalho. Estes va-
lores são computados de maneira recursiva, via programação dinâmica de tal forma que
1.3. ESTADO DA ARTE 7
os valores posteriores da tabela são calculados com base nos valores obtidos anteriores
[Leandro 2005]. Por fim, o menor valor de uma linha é selecionada na estrutura de dados
deslocando-se o servo que tiver a menor distância para a demanda.
Uma heurística natural de ser pensada é o algoritmo guloso que atende à requisição le-
vando em consideração o menor custo, levando em consideração as distâncias e ignorando
o histórico. Assim, a estratégia gulosa sempre desloca o servo mais próximo do local no
qual a requisição foi solicitada. Outra heurística simples é o algoritmo de balanceamento
que tenta manter a distância total percorrida por todos os servos o mais próximo possível.
Ele desloca o servo cuja distância cumulativa percorrida até o momento mais a distância
até o novo local da requisição é a menor [Manasse et al. 1988].
Ao contrário dos algoritmos determinísticos, algoritmos aleatórios contêm etapas ale-
atórias como parte de seu design. Nesse caso, a noção de uma razão competitiva pode ser
generalizada da perspectiva dos custos esperados produzidos pelos algoritmos [Borodin
& El-Yaniv 1998]. Raghavan & Snir [1994] propuseram o algoritmo Harmonic usando a
propriedade de aleatoriedade como uma estratégia de solução para diminuir o problema
de competitividade [Koutsoupias 2009]. O algoritmo é baseado na estratégia gulosa, po-
rém, a escolha do servo está associada a uma probabilidade cujo valor é inversamente
proporcional à distância ao nó requisitado. É de certa forma uma estratégia gulosa pro-
babilística no qual o servo escolhido é aquele cuja probabilidade é a maior em função da
menor distância que deve ser percorrida para atender a demanda [Leandro 2005].
A primeira vez que se tem conhecimento da utilização de aprendizado por reforço
como solução ao problema dos k-servos foi no trabalho de Manoel Leandro et al. [2005].
O autor modelou o PKS como um processo de tomada de decisão de múltiplos estágios e
utilizou o algoritmo Q-Learning, um método de diferença temporal que calcula a função
Q diretamente a partir dos dados (model-free) e de forma independente da política utili-
zada (off-policy) para resolução do problema. Como resultado foi feita uma comparação
entre o método proposto e os algoritmos Harmonic e Work function. Para adaptar o algo-
8 CAPÍTULO 1. INTRODUÇÃO
ritmo à grandes instâncias, foi utilizada uma abordagem hierárquica na qual os nós e os
servos foram separados em agrupamentos. A política local obtida em cada agrupamento
foi combinada e usada na formação de uma política global. Quando as requisições acon-
tecem em agrupamentos distintos gerando situações não treinadas pelo Q-learning (esta-
dos não visitados) a estratégia gulosa é utilizada no deslocamento do servo para atender
a requisição. Os resultados mostraram que a utilização do Q-Learning tanto de forma
direta, como na abordagem hierárquica, funcionam de forma competitiva (não compro-
vada), dada a comparação com métodos competitivos, percorrendo distâncias menores do
que a dos algoritmos Harmonic e WFA.
Dando continuidade a esta abordagem, Costa et al. [2016] propôs a utilização de uma
técnica de clusterização na tentativa de gerar agrupamentos melhores e paralelizou o pro-
blema. Neste trabalho os grupos de nós foram separados pelo método k-means a partir de
um critério de equilíbrio de carga, estabelecido por um parâmetro t usado para aumentar
a eficiência do método proposto. Os resultados mostram que a utilização do Q-Learning
hierárquico paralelizado com equilíbrio de carga pode ser uma opção viável na resolução
de problemas reais de dimensões práticas, como abordadas por [Rudec et al. 2013] and
[Bertsimas et al. 2019].
Recentemente o problema dos k-servos foi abordado sob a perspectiva de um modelo
de otimização inteira mista, robusta e adaptativa. Bertsimas et al. [2019] propuseram
uma nova formulação do PKS que incorpora informações do passado e incertezas sobre o
futuro conseguindo obter resultados superiores aos principais algoritmos da literatura.
Saindo um pouco dos problemas diretamente relacionados ao problema dos k-servos,
abordamos aqui alguns dos principais trabalhos relacionados a área de aprendizado por re-
forço com aproximadores de funções não lineares, em específico as redes neurais. Há um
pouco mais de uma década Riedmiller [2005] propôs o uso do Q-Learning em conjunto
com as redes perceptron de múltiplas camadas. A atualização dos pesos da rede foram
realizados de forma offline armazenando e repetindo as experiências das transições já con-
1.3. ESTADO DA ARTE 9
sideradas. O intuito foi evitar que o ajuste online dos pesos sinápticos para um certo par
estado-ação levasse a mudanças inesperadas em outros lugares do espaço estado-ação,
permitindo uma convergência mais rápida e confiável. O autor nomeou o algoritmo de
Neural Fitted Q (NFQ) e avaliou em problemas de benchmark, como por exemplo o cart-
pole [Sutton & Barto 1998]. De forma empírica, o algoritmo NFQ mostrou ser capaz de
gerar políticas de controle comparáveis a de controladores analiticamente projetados.
Em um trabalho recente Mnih et al. [2015] propôs a utilização do Q-Learning em con-
junto com uma rede neural convolucional profunda (DCNN) realizando a atualização dos
pesos sinápticos a partir de mini lotes. Com essa proposta, o algoritmo foi capaz de apren-
der a jogar diferentes jogos de Atari 2600 diretamente a partir de dados brutos (pixels). O
agente interage com o ambiente (imagens representativas de partes do problema) e toma
decisões (ações em um jostick), sem nenhum conhecimento prévio do problema. As Conv-
Nets, como também podem ser chamadas as redes DCNN, foram utilizadas para receber
como entrada os estados do problema, reduzindo sua dimensionalidade, tornando esta
abordagem um problema de aprendizagem tratável. O algoritmo foi denotado como Deep
Q-Network (DQN) dando origem ao termo aprendizagem por reforço profunda (DRL) .
Com intuito de minimizar a difícil tarefa de obter soluções heurísticas para problemas
de gerenciamento de recursos em sistemas e redes de computadores, Mao et al. [2016]
utilizou o método Policy Gradient [Sutton & Barto 2018], com política parametrizada por
uma rede neural profunda, como uma alternativa às heurísticas geradas pelo homem. A
abordagem teve performance comparável às heurísticas de ponta.
Em outro trabalho Bello et al. [2016] abordou o problema do caixeiro viajante (TSP),
outro problema de otimização combinatória, como um problema de aprendizado por re-
forço profundo. Neste trabalho o autor utilizou o paradigma de aprendizado por reforço
através do algoritmo ator-crítico em conjunto com uma rede neural recorrente atingindo
valores próximos ao resultado ótimo para grafos euclidianos com 100 nós.
10 CAPÍTULO 1. INTRODUÇÃO
1.4 Organização do Trabalho
Este texto está organizado da seguinte forma: no capítulo 2, serão introduzidas as no-
ções gerais de computação online e análise competitiva. No capítulo 3, serão apresentados
os aspectos básicos do paradigma de aprendizagem por reforço profundo. Em seguida no
capítulo 4, para possibilitar uma melhor compreensão da modelagem do problema, se-
rão definidos os principais conceitos de aprendizagem por reforço. No capítulo 5 será
apresentada a ideia central desse trabalho: o problema dos k-servos sob a perspectiva do
paradigma de aprendizagem por reforço profundo. Esse capítulo descreve a metodolo-
gia utilizada no trabalho, detalhando os casos de estudo investigados para se alcançar os
diferentes objetivos dessa tese. No capítulo 6 serão demonstradas a metodologia e os re-
sultados do trabalho. Finalmente, no capítulo 7 serão discutidas, com base nos resultados
obtidos, algumas conclusões a respeito do trabalho, como também algumas propostas de
ideias para trabalhos futuros.
Capítulo 2
Problema dos k-servos
O problema dos k-servos online definido por Manasse et al. [1988] é talvez o problema
mais influente da computação online [Koutsoupias 2009]. Este modelo serve como abstra-
ção para um grande números de problemas, como o problema de paginação de memória,
uma instância do KSP com espaço métrico unitário [Borodin & El-Yaniv 1998], locali-
zação de facilidades, localização de cabeças de leitura de discos rígidos, atendimento de
segurança e emergências, distribuição de transportadores em um sistema flexível de ma-
nufatura, dentre muitos outros [Goldbarg & Luna 2000]. Além disso, esse problema tem
aplicações na teoria dos grafos e em sistemas de tarefas métricas [Borodin et al. 1992]. A
conjectura dos k-servos continua como uma questão em aberto servindo de grande esti-
mulo para o desenvolvimento de novos algoritmos. Nas próximas seções serão abordadas
algumas das definições e notações básicas utilizadas neste trabalho.
2.1 Problemas de otimização online e offline
Os problemas computação onlines são caracterizados pela necessidade de decidir qual
ação deve ser tomada dada uma entrada específica sem conhecimento prévio das entra-
das futuras. Em geral, os problemas de computação online tem como principal objetivo
minimizar (maximizar) uma função custo dado um problema específico. Um problema
de otimização P de minimização de custo é constituído por um conjunto I de entradas e
12 CAPÍTULO 2. PROBLEMA DOS K-SERVOS
uma função custo C. Associado a cada entrada I tem-se um conjunto de possíveis soluções
F(I), e associado a cada solução possível O 2 F (I) existe um custo C(I,O) (positivo),
que representa o custo da saída O relacionado a entrada I. O objetivo é buscar um valor de
saída O possível associado ao valor de entrada I que minimize o valor de C(I,O) [Borodin
& El-Yaniv 1998].
Dada qualquer entrada I permitida, um algoritmo ALG em um problema de otimiza-
ção P computa uma possível solução ALG[I] 2 F(I). O custo associado com a possível
solução é denotada por ALG(I) =C(I,ALG[I]). Uma solução ótima OPT deve obedecer
para qualquer entrada I válida a equação:
OPT (I) = minO2F(I)
C(I,O) (2.1)
de maneira que o custo associado ao algoritmo ótimo deve ser menor ou igual ao custo
associado a qualquer outra solução possível em P . Um mesmo algoritmo pode ter vários
custos associados dependendo da entrada I. Para o problema dos k-servos um elemento I
do conjunto de entradas I corresponde a uma sequência de requisições definida como:
I ⌘ s = {s(1),s(2), . . . ,s(t), . . . ,s(T )} (2.2)
de modo que para atender a requisição st , 1 t m, um servo deve ser deslocado para
atendê-la [Manoel Leandro et al. 2005]. Para cada requisição, uma saída (ou nova confi-
guração dos servos) é produzida e tem-se um custo associado ao deslocamento do servo.
A maneira como as requisições são apresentadas define dois tipos de problemas de otimi-
zação. Se uma nova requisição só é conhecida após o acontecimento de uma anterior, o
problema é definido como um problema de otimização online. Mais precisamente, quando
s(t) acontece, não existe nenhuma informação sobre s(t+1). Comparado aos problemas
offline, que possuem conhecimento completo das requisições futuras, os problemas online
são mais complexos, tendo em vista que após uma decisão ser tomada, esta não pode ser
2.2. FORMULAÇÃO DO MODELO DOS K-SERVOS 13
revogada influenciado a solução como um todo.
2.2 Formulação do modelo dos k-servos
Formalizando o problema, considere que G = (N,E) represente um grafo ponderado,
conectado e não direcional, onde n = |N| é o número de nós e E, o conjunto de arestas
que se interconectam os nós. Cada aresta e 2 E está associada a um peso não negativo
e simétrico; e(u,v) representa o peso dos nós (u,v) 2 N unidos pela aresta; k(t) para
representar a distribuição dos servos (homogêneos) no grafo e k define o número de servos
que devem satisfazer as requisições que aparecem de maneira online nos n nós ao longo
do passo de tempo t.
Supondo que uma nova requisição apareça somente após a requisição atual ter sido
atendida, o problema do servidor k pode ser definido da seguinte maneira:
• A distribuição dos k servos no grafo é definida como k(t) =n
k(t)1,i ,k(t)2,i , . . . ,k
(t)l,i , . . . ,k
(t)k,i
o
onde l = {1,2, . . . ,k} especifica o servo na distribuição e i 2 N determina o nó no
qual o servo está localizado. O termo k(t)l,i significa que, a cada passo de tempo t, o
servo l está localizado no nó i de G.
• A sequência de requisições s =n
s(0)1 ,s
(1)2 , . . . ,s
(t)j
o
representa a requisição s(t)j
que aparece no nó j 2 N ao longo do tempo t = {0,1, . . . ,T − 1}, onde T é o
número total de requisições em uma sequência.
• O deslocamento de k(t)l,i para atender s(t)j a partir de k(t) =
n
k(t)1,i ,k(t)2,i , . . . ,k
(t)l,i , . . . ,k
(t)k,i
o
leva a uma nova distribuição k(t+1) =n
k(t+1)1,i ,k(t+1)
2,i , . . . ,k(t+1)l, j
o
.
Para uma melhor compreensão, o problema dos k-servos é demonstrado em um exem-
plo com n = 4 e k = 2 (ver figura 2.1). A configuração inicial (t = 0) deve ser conhe-
cida; para este exemplo o servo l = 1 está localizado no nó i = 2, o servo l = 2 no nó
i = 3 e a requisição aparece em j = 4 caracterizando a distribuição dos servos como
k(0) =n
k(0)1,2,k(0)2,3
o
e requisição como s(0)4 .
14 CAPÍTULO 2. PROBLEMA DOS K-SERVOS
Figura 2.1: Distribuição inicial dos servos e requisição no problema dos k-servos.
Se k(0)2,3 for deslocado para atender a s(0)4 , uma nova distribuição denotada como k(1) =
n
k(1)1,2,k(1)2,4
o
é caracterizada e uma nova requisição aparece em algum nó, neste caso s(1)1
(ver figura 2.2).
Figura 2.2: Nova distribuição após o servo ser deslocado e uma nova solicitação acontecer.
O deslocamento do servo está sujeito à otimização de uma função de custo definida
de acordo com o problema. Um problema comum é minimizar o custo total envolvido no
deslocamento dos servos. Por uma questão de simplicidade, o problema dos k-servos é
modificado para que apenas um servo ocupe um nó e seja movido por vez. Embora sua
definição formal permita que vários servos sejam alocados no mesmo nó, essa situação
não é necessária, dessa maneira essa modificação não altera o custo da solução computada
[Borodin & El-Yaniv 1998].
2.3 Aplicação prática
O rápido aumento no número de veículos nas estradas, bem como o tamanho crescente
das cidades, levam a uma infinidade de desafios de gerenciamento de tráfego rodoviário
para as autoridades. Neste contexto, nós abordamos neste trabalho o problema particu-
lar do gerenciamento de tráfego para serviços de atendimento de urgências, para o qual
um atraso de alguns minutos pode causar riscos à vida humana, bem como perdas finan-
ceiras. O objetivo é reduzir a latência dos serviços de emergência para veículos como
ambulâncias e viaturas policiais.
2.3. APLICAÇÃO PRÁTICA 15
O problema dos k-servos pode servir de abstração para este tipo de problema, para isso
propomos uma modelagem para atender a população de uma cidade na situação de uma
urgência policial. As urgências podem ser caracterizadas por situações em que alguém é
vítima de uma ação criminosa, encontra-se em situação de risco ou faz uma denúncia. As
urgências são atendidas por viaturas policiais distribuídas em diferentes locais da cidade.
O objetivo é minimizar o tempo total associado ao atendimentos das requisições. Este
problema pode ser modelado da seguinte maneira: O grafo G representa a cidade, cada nó
n 2 G representa um diferente local (região) de urgência na cidade, k representa o número
de viaturas policiais V P (servos) e s a sequência de urgências (requisições) que podem
surgir em qualquer um dos locais da cidade é representada por s =n
s(0)1 ,s
(1)2 , . . . ,s
(t)j
o
.
O atendimento de uma requisição é caracterizado quando uma viatura k em um nó i é
deslocada para um nó j que representa o local de ocorrência de uma urgência (st). As-
sociado ao deslocamento de cada viatura tem-se um custo ct(i, j) proporcional ao tempo
gasto no atendimento de cada urgência. O objetivo é minimizar o custo totalmÂt
ct(i, j), ou
seja, atender uma sequência de urgências no menor tempo possível.
Do ponto de vista da Aprendizagem por Reforço, o problema pode ser modelado
como segue: o estado do ambiente é representado por uma configuração possível das k
viaturas, ou seja, por k-tuplas do tipo {V P1,V P2, . . . ,V Pk}. As ações correspondem aos
deslocamentos permitidos das V P em um estado válido. Em cada estado, e considerando o
surgimento de uma urgência s(t)i em um dos n locais, uma das k V P será deslocada. Deste
modo, tem-se que o número de ações permitidas para atender s(t)i é k. Será considerado
aqui o surgimento de uma urgência por vez, deixando a análise de múltiplas urgências
para trabalhos futuros.
Capítulo 3
Fundamentos de Aprendizagem
Profunda
Aprendizagem profunda (DL) é um termo recente usado para definir o antigo conceito
conexionista da década de 80. O movimento começou com foco em técnicas de apren-
dizado não supervisionado [Hinton & Salakhutdinov 2006], [Y. Bengio & Larochelle
2007],[Ranzato et al. 2007], onde os modelos DL mostraram grande capacidade de ge-
neralização de modelos, o que despertou um novo interesse da indústria de tecnologia.
Atualmente as pesquisas realizadas nesta área seguem a todo vapor dada sua grande capa-
cidade de generalização [Goodfellow et al. 2016]. Nas próximas seções serão abordados
alguns dos principais conceitos fundamentais de DL, bem como os conceitos da rede de
múltiplas camadas (MLP), arquitetura utilizada neste trabalho.
3.1 Conceitos Fundamentais
A aprendizagem de máquinas (ML) consiste no processo de aprender através dos da-
dos a fazer predições e/ou tomar decisões. Usualmente o processo de aprendizado é
categorizado em supervisionado, não supervisionado e aprendizagem por reforço. No
aprendizado supervisionado existe um supervisor que conhece a saída desejada (rótulo)
para cada amostra dos dados de entrada, enquanto no aprendizado não supervisionado não
18 CAPÍTULO 3. FUNDAMENTOS DE APRENDIZAGEM PROFUNDA
existe a figura do supervisor, a meta é explorar ou descrever um conjunto de dados sem
uma saída de referência. No aprendizado por reforço não existe a ideia de pares de entrada
e saída, a aprendizagem acontece por meio da interação entre o agente e o ambiente afim
de maximizar (minimizar) um sinal de reforço ao longo do tempo.
As técnicas de aprendizagem de máquinas tradicionais, como por exemplo: regres-
são linear, Máquina de Vetores de Suporte (SVM) , árvores de decisão entre outras, têm
sido o motor de várias aplicações modernas, porém estas técnicas dependem fortemente
da forma como os dados são representados. Por décadas construir sistemas inteligentes
exigiu um esforço muito grande por parte dos profissionais de engenharia, no projeto
de sistemas capazes de representar dados brutos (como pixels por exemplo) em vetores
características de forma adequada [LeCun et al. 2015a]. Dentro dos métodos de apren-
dizagem de máquinas tradicionais podemos destacar as redes neurais artificiais base dos
principais modelos práticos [Goodfellow et al. 2016].
As redes neurais são formadas por unidades de processamento de informação conhe-
cidas como neurônios. O modelo neuronal é composto basicamente por três elementos
básicos (figura 3.1): Um sinal de entrada x j que conecta-se ao neurônio k multiplicando-
se por um peso sináptico wk j (sinapse), um somador responsável por fazer a combinação
linear das sinapses e uma função de ativação que define a amplitude do sinal e opera
tipicamente na faixa de [0,1] ou [−1,1]. Outro elemento que deve ser levado em conside-
ração é o bias bk, elemento que fornece ao neurônio um efeito de aumentar ou diminuir
(dependendo do sinal) a entrada da função de ativação, uma transformação que faz com
que a função não passe mais pela origem.
Como dito anteriormente, as funções de ativações são definidas em função do poten-
cial de ativação vk. Existem diversos tipos de função de ativação. Dentre as principais
funções utilizadas tem-se: a função de limiar, também conhecida como função de Heavi-
side f(vk) = 1 se vk ≥ 0 ou 0 caso contrário ; outra função utilizada (talvez a mais utili-
zada) é a função sigmóide, também conhecida como função logística f(vk) =1
1+exp(−av) ,
3.1. CONCEITOS FUNDAMENTAIS 19
Figura 3.1: Modelo de neurônio não linear[Haykin 1998].
onde os valores de saída assumem um intervalo contínuo de valores entre 0 e 1; A função
tangente hiperbólica, definida como f(vk) = tanh(vk) é usada quando os valores de saída
devem assumir um intervalo contínuo de valores entre −1 e 1, e as unidades retificadoras
lineares (ReLU) definida como f(vk) = max(0,vk).
Formalizando o modelo matemático dos conceitos ilustrados na figura 3.1, para cada
neurônio k tem-se as seguintes equações:
vk =m
Âj=1
wk jx j +bk (3.1)
yk = f(vk) (3.2)
de maneira que x representa os sinais de entrada; w os pesos sinápticos; v a saída do soma-
dor (combinação linear), conhecido como potencial de ativação ou campo local induzido;
b o bias; f(.) a função de ativação e y o sinal de saída do neurônio.
As redes neurais superficiais tradicionais dependem fortemente da forma como os
dados são representados. Dependendo da tarefa, extrair características importantes dos
dados de entradas pode se tornar uma tarefa complexa. Uma forma de contornar este
problema é aprender a representação sem a necessidade de projetar manualmente as ca-
racterísticas que devem ser extraídas dos dados.
20 CAPÍTULO 3. FUNDAMENTOS DE APRENDIZAGEM PROFUNDA
Os métodos de aprendizagem profunda atuam através de múltiplos níveis de represen-
tação, descobrindo automaticamente as representações necessárias para realização de uma
dada tarefa, como por exemplo detecção e classificação. Cada camada (nível) não linear
faz a representação dos dados hierarquicamente em níveis cada vez maiores de abstração
[LeCun et al. 2015a]. Em outras palavras, DL fornece ao computador a capacidade de
aprender hierarquicamente conceitos complexos a partir de conceitos mais simples, sem
a necessidade de projetar manualmente os vetores características.
Figura 3.2: Aprendizagem profunda aplicada a um problema de classificação.[Goodfellow et al. 2016].
Através das múltiplas camadas o sistema consegue implementar funções extrema-
3.2. VISÃO GERAL 21
mente complexas, que são ao mesmo tempo sensíveis a pequenos detalhes e insensíveis a
grandes variações como por exemplo plano de fundo, poses distintas, iluminação e obje-
tos vizinhos [LeCun et al. 2015a]. O conceito pode ser melhor visualizado na figura 3.3,
que mostra um exemplo de aprendizagem profunda aplicada a um problema de reconhe-
cimento de objetos em uma imagem.
3.2 Visão Geral
De maneira geral os sistemas inteligentes podem ser divididos em sistemas baseados
em regras, aprendizagem de máquinas e por aprendizagem profunda.
Figura 3.3: Visão geral de sistemas inteligentes.[Goodfellow et al. 2016].
3.3 Modelo típico de aprendizagem
Os algoritmos de aprendizagem profunda, assim como os algoritmos de aprendizado
de máquinas, são compostos (visão simplificada) por algumas etapas básicas: definição
dos dados, escolha da função custo, técnica de regularização, do algoritmo de otimização
e um modelo.
22 CAPÍTULO 3. FUNDAMENTOS DE APRENDIZAGEM PROFUNDA
Por exemplo, um problema de regressão linear pode ser definido a partir de dados
de entrada x 2 Rn e saída y 2 R, uma função custo J(w) qualquer, como por exemplo a
função de log-verossimilhança negativa
J(w) =−Ex,y⇠p [log p(y | x)] (3.3)
que representa o valor esperado de uma função p(y | x) (modelo) em relação a uma distri-
buição empírica p retirada dos dados x; a especificação de um modelo, como por exem-
plo o estimador de máxima verossimilhança p(y | x) = N (y; y(x;w,b),1) e, na maioria
dos casos, um algoritmo de otimização baseado no cálculo do gradiente [Goodfellow
et al. 2016].
A modificação destes componentes de forma independente leva a uma variedade de
algoritmos. Tipicamente a função custo inclui pelo menos um termo que proporciona uma
estimação estatística ao processo de aprendizagem. Ela pode ainda ser modificada com
a inserção de um termo de regularização. Por exemplo, um decaimento de peso pode ser
adicionado à função de custo
J(w) = l||w||22 −Ex,y⇠p [log p(y | x)] (3.4)
A regularização tem como objetivo aumentar o poder de generalização do modelo,
diminuindo o problema de overfitting. Ela pode ser realizada a partir de técnicas clássi-
cas como a norma-L2 (norma euclidiana), bem como as restrições impostas pela própria
arquitetura como por exemplos as camadas convolucionais. Podem ser também técni-
cas mais modernas como a Dropout [Srivastava et al. 2014] e métodos de regularização
variacional [Santana et al. 2016].
Essas etapas serão detalhadas mais a frente, dando-se ênfase às principais técnicas
utilizadas atualmente no desenvolvimento das redes neurais de múltiplas camadas.
3.4. REDE NEURAL DE MÚLTIPLAS CAMADAS 23
3.4 Rede Neural de Múltiplas Camadas
A rede neural de múltiplas camadas, também chamadas de Deep Feedforward Networks,
mapeia valores de entradas em valores de saída formando uma complexa função matemá-
tica a partir de funções simples camada a camada. Ela pode distorcer o espaço de entrada
transformando a classe de dados em uma região linearmente separável, como mostrado
na figura 3.4, que ilustra uma rede simples com duas unidades de entrada, uma camada
escondida com dois neurônios e um neurônio de saída.
Figura 3.4: Visão simplificada de uma rede MLP.[LeCun et al. 2015a].
3.4.1 Computação para frente
As unidades escondidas, que formam as camadas escondidas (l) (ocultas), são defini-
das pelas funções de ativação f(v(l)). Não existe uma função que seja definitiva, porém a
utilização das unidades retificadoras lineares (ReLU) tem se mostrado uma excelente es-
colha como função de ativação padrão, talvez pelo fato de ser facilmente otimizada pois
são similares as unidades lineares.
Posteriormente, as unidades de saídas l = L de uma rede MLP são definidas por um
conjunto de equações. Na camada de saída calcula-se um vetor de saída y(L) usando como
entrada a saída y(L−1) da camada anterior com parâmetros b(L) (bias) e w(L) (os pesos). A
camada de saída y(L) pode ser usada para fazer predições ou classificações em função da
24 CAPÍTULO 3. FUNDAMENTOS DE APRENDIZAGEM PROFUNDA
camada anterior y(L−1). Ela pode ser representada por diferentes funções como as citadas
anteriormente, em problemas de classificação as mais utilizadas são a softmax e a SVM.
Definido que y(L)j = y j representa os valores de saída da rede, o sinal de erro é dado por
e j = y j − y j, onde y j é o j-ésimo elemento da saída de referência (aprendizagem supervi-
sionada). Através do erro e j a função custo mede a diferença entre a saída de referência
y j e a estimada y j. Os passos descritos até aqui representam a etapa de computação para
frente ilustrada na figura 3.5.
Figura 3.5: Computação para frente
A função custo é um modelo paramétrico que em muitos casos definem uma distribui-
ção de probabilidade completa ou, em vez disso, predizem alguma estatística da saída y
condicionada aos dados de entrada x. A maioria das redes neurais modernas são treinadas
usando a máxima verossimilhança. Isso significa que a função de custo é simplesmente
o log-verossimilhança negativo (ver equação 3.3), equivalentemente descrito como a en-
tropia cruzada entre os dados de treinamento e a distribuição do modelo. Comparando a
entropia cruzada (equivalente ao log-verossimilhança negativa) com o erro médio quadrá-
3.4. REDE NEURAL DE MÚLTIPLAS CAMADAS 25
tico, se p(y | x) = N (y; y,I), então
J(w) =12Ex,y⇠p ||y− y||2 (3.5)
onde I representa uma matriz identidade com dimensão dada pelo contexto. A maxi-
mização da função log-verossimilhança em relação a w produz a mesma estimativa dos
parâmetros w que a minimização do erro quadrático médio (MSE) . Os dois critérios têm
valores diferentes, mas a mesma localização do ótimo. Isso justifica o uso do MSE como
um procedimento de estimador de máxima verossimilhança [Goodfellow et al. 2016].
Um tema recorrente em todo o projeto de redes neurais é que o gradiente da função de
custo deve ser grande e predizível o suficiente para servir como um bom guia para o al-
goritmo de aprendizagem. As funções que saturam (tornam-se muito planas) minam esse
objetivo porque tornam o gradiente muito pequeno (desaparecimento do gradiente). Em
muitos casos, isso acontece porque as funções de ativação usadas para produzir a saída
das unidades ocultas ou das unidades de saída saturam. A função log-verossimilhança
negativa ajuda a evitar esse problema para vários modelos. Muitas das unidades de saída
envolvem uma função exponencial que pode saturar quando seu argumento é muito nega-
tivo. A função log-verossimilhança negativa desfaz a exponencial de algumas unidades
de saída diminuindo o problema do desaparecimento do gradiente. Por essa razão o uso
da entropia cruzada como função custo tornou-se popular.
3.4.2 Computação para trás
Em um típico modelo de aprendizagem profunda existem milhões de parâmetros a
serem ajustados. Normalmente, o ajuste do peso é feito através do cálculo do gradiente,
que para cada peso, indica se o erro deve crescer ou diminuir em função do ajuste. Um
método de otimização bastante utilizado no ajuste dos pesos é o gradiente descendente
26 CAPÍTULO 3. FUNDAMENTOS DE APRENDIZAGEM PROFUNDA
determinístico que utiliza todo conjunto de dados sendo definido como:
—wJ = Ex,y⇠p —w[log p(y | x;w)] (3.6)
O cálculo do gradiente da função custo nada mais é do que uma aplicação da regra
da cadeia para derivadas. Tomando a figura 3.6 como exemplo definimos o conceito da
regra da cadeia. A derivada indica o quanto uma pequena mudança representada por Dx
influencia no comportamento de uma função y. Em uma composição de funções, a regra
da cadeia indica a relação entre as derivadas, ou seja o quanto Dx modifica y e o quanto
Dy modifica v.
Figura 3.6: Regra da cadeia
Através do algoritmo backpropagation o gradiente da função objetivo em relação a
entrada pode ser calculado em função do gradiente da saída (ou dos módulos subsequen-
tes). Este processo é melhor demonstrado na figura 3.7. Com isso os pesos são ajustados
na direção oposta ao vetor gradiente calculado. O vetor gradiente negativo indica a di-
reção de descida para um mínimo local, onde a saída média do erro é mínima [LeCun
et al. 2015a].
Calcular o gradiente dessa maneira é muito custoso pois requer uma avaliação do mo-
delo para todos os exemplos do conjunto de dados. Na prática o gradiente é calculado por
amostragens aleatórias de pequenos números de exemplos (mini lotes) {x(1), . . . ,x(m)} do
conjunto de treinamento com saídas de referência y em função da média destas amostras.
Este método é conhecido como o gradiente descendente estocástico (SGD) sendo definido
3.4. REDE NEURAL DE MÚLTIPLAS CAMADAS 27
Figura 3.7: Retropropagação do erro
como:
—qJ(q) = Exm,ym⇠p —q[logpmodelo(y|x;q)] (3.7)
Esse método é repetido para pequenos lotes de exemplos do conjunto de treinamento até
que o erro pare de decrescer. É chamado de estocástico porque cada pequeno conjunto de
exemplos fornece um ruído estimado da média do gradiente sobre todos os exemplos.
3.4.3 Regularização
A função custo pode ser modificada com a inserção de um termo de regularização.
Muitas das abordagens utilizadas para regularização são baseadas na capacidade de limi-
tar os modelos adicionando-se parâmetros de penalidade. Como foi dito anteriormente,
atualmente as redes mais modernas fazem uso da técnica de regularização denominada
dropout.
Esta técnica permite a criação de um conjunto constituído por várias sub-redes que
podem ser construídas removendo-se os neurônios das camadas ocultas da rede. Basica-
28 CAPÍTULO 3. FUNDAMENTOS DE APRENDIZAGEM PROFUNDA
mente as unidades e conexões são desconsideradas aleatoriamente (e temporariamente)
durante o processo de propagação e retropropagação do erro. Em seguida, esse processo
é repetido, primeiro os neurônios removidos são restaurados, novos neurônios e conexões
são removidos aleatoriamente, o gradiente é calculado para um novo mini-lote e os pesos
e bias são atualizados. O dropout fornece um pequeno esforço computacional mas é um
método poderoso para regularização de vários modelos [Srivastava et al. 2014].
Figura 3.8: Método de regularização dropout[Srivastava et al. 2014]
A esquerda uma rede neural padrão com duas camadas escondidas, a direita um exem-
plo de uma sub-rede produzida aplicando-se o método dropout na rede da esquerda. As
unidades cruzadas são as unidades desconsideradas.
Capítulo 4
Aprendizagem por Reforço
O problema dos k-servos pode ser visto como um problema de tomada de decisão
sequencial sob incertezas. Nesse contexto, definimos que a evolução do sistema é influ-
enciada pelas decisões ou ações tomadas ao longo do tempo, de maneira que a decisão
tomada não pode ser revogada, influenciado a solução como um todo. O objetivo é deter-
minar um conjunto de regras de tomada de decisão (políticas de controle) que minimizem
(maximizem) um critério de desempenho. O paradigma de aprendizado por reforço é uma
ferramenta de decisão sequencial baseada na interação de um agente com um ambiente
adequada a estes tipos de problemas.
No paradigma de aprendizagem por reforço um agente mapeia situações (estados)
em ações de maneira que um sinal de retorno seja maximizado. Na prática, porém, o
aprendizado por reforço pode ficar restrito a pequenas aplicações dado o problema da
maldição de dimensionalidade encontrado em problemas reais. As redes neurais, bem
como outros aproximadores de funções, podem ser utilizadas para suprir essas limitações.
Utilizando uma rede neural como aproximador de função o aprendizado fica caracterizado
pelas modificações dos pesos sinápticos em função das recompensas obtidas pelo agente
após a interação com o ambiente.
A seguir serão discutidos os fundamentos básicos de aprendizado por reforço, dando
ênfase aos conceitos e definições do processo de decisão de Markov, método de iteração
30 CAPÍTULO 4. APRENDIZAGEM POR REFORÇO
de valor 1, algoritmo Q-learning, aproximadores de função e aprendizagem por reforço
profundo.
4.1 Visão Geral
O aprendizado por reforço é caracterizado por diversos tipos de desafios, como por
exemplo o problema da maldição de dimensionalidade, que representa a impossibilidade
de um algoritmo ser executado dado que os recursos computacionais sejam esgotados ou
inviabilidade do tempo. Outro importante desafio característico é a troca entre exploração
(diversificação) e explotação (intensificação). Para obter maiores recompensas o agente
deve preferir ações passadas que mostraram ter maior importância. Porém para descobrir
estas ações, deve-se procurar ações que ainda não foram selecionadas. O agente deve
intensificar as ações conhecidas, porém deve explorar novas ações que levem a possíveis
melhores recompensas no futuro, conhecido como o dilema da exploração-explotação. As
recompensas podem gerar o problema de atribuição de crédito. O que acontece é que cada
ação tomada em um dado estado do ambiente é caracterizada por um sinal de reforço. O
desafio é enxergar de que forma essas ações influenciam o retorno como um todo.
Além do agente e do ambiente, o sistema de aprendizado por reforço pode ser defi-
nido em quatro principais elementos, política, sinal de reforço, função de valor e opcio-
nalmente um modelo do ambiente. O agente observa o estado stß
A cada passo de tempo em que ações são tomadas um sinal de reforço rt é fornecido
ao agente. O objetivo do agente é aprender uma política ótima p⇤ (estratégia de controle)
que maximize o retorno esperado (acumulado). O grande desafio é aprender a mapear os
estados em ações por tentativa e erro. O processo de aprendizagem por reforço é ilustrado
na figura 4.1.
Este problema é formalizado matematicamente como um Processo de Decisão de Mar-
1Os métodos de iteração por política não serão abordados neste trabalho
4.2. PROCESSO DE DECISÃO DE MARKOV 31
AGENTE
AMBIENTE
Figura 4.1: Interação do agente com ambiente na aprendizagem por reforço[Sutton & Barto 2018].
kov (PDM) que será definido na seção seguinte, enquanto a função de valor será definida
mais adiante na seção 4.3.
4.2 Processo de Decisão de Markov
Uma tarefa de aprendizado por reforço que satisfaz a propriedade de Markov pode
ser definida por um PDM. A propriedade de Markov define que para um processo de
decisão sequencial os conjuntos de possíveis ações, retornos e probabilidades de transição
dependem apenas do estado e da ação no instante de tempo t.
Considere um PDM em um passo de tempo t 2 T , onde o agente recebe um con-
junto de estados st 2 S e seleciona um conjunto de ações at 2 A, seguido de uma política
p(at/st), que descreve o comportamento do agente, que por exemplo, mapeia st em at ,
recebe uma valor (escalar) de recompensa rt , e faz a transição para o próximo estado st+1,
de acordo com a dinâmica do ambiente, ou modelo (caso seja conhecido), com probabili-
dades de transição de estados P(st+1 = s0,rt+1 = r|st = s,at = a).
Se o PDM for episódico por exemplo, o estado pode ser reiniciado após um um es-
tado terminal ser alcançado. As sequências estados, ações e recompensas em um episódio
32 CAPÍTULO 4. APRENDIZAGEM POR REFORÇO
constitui o lançamento de uma política. Para cada política lançada são acumulados refor-
ços do ambiente, resultando em um retorno acumulado definido por: Rt = ÂT−1k=0 rt+1
Em alguns casos, o PDM pode ser considerado não episódico, onde T ! • e um
fator de desconto g 2 [0,1] é introduzido, resultando em um retorno acumulado definido
como: Rt = •k=0 gkrt+k+1 onde caso g = 0 representa um agente que maximiza apenas
os reforços imediatos; e caso g = 1, a visão do reforço abrange todos os estados futuros
dando a mesma importância para ganhos neste momento e qualquer ganho futuro [Lima
2009]. O objetivo é encontrar a política ótima p⇤ = argmaxpE[R|p], que maximiza o valor
esperado do retorno para todos os estados.
4.3 Função Valor
A função de valor é uma estimativa baseada no retorno futuro esperado (acumulado)
que associa um valor a um estado ou par de estado-ação. A função de valor reflete o qua-
lidade do agente estar em um estado (ou de realizar uma ação em um estado) associado
ao retorno esperado. Quando apenas o estado é levado em consideração, a função valor é
chamada de função valor-estado V (s), enquanto no caso em que a ação também é consi-
derada, a função valor é denominada de função valor estado-ação Q(s,a) (função-Q).
Para um PDM, a função de valor estado dada uma política p representada por V p(s) é
formalmente definida como
V p(s)⌘ Ep{Rt |st = s}= Ep
•
Âk=0
gkrt+k+1|st = s�
(4.1)
onde a função valor de estado ótimo, representado pelas políticas que maximizam o valor
esperado, é definida como V ⇤(s)⌘ maxp
V p(s).
De maneira similar, a função valor estado-ação 2 dada uma política p representada por
Qp(s,a) é definida como
2A função valor estado-ação será usada como modelo padrão neste trabalho.
4.3. FUNÇÃO VALOR 33
Qp(s,a)⌘ Ep{Rt |st = s,at = a}= Ep
•
Âk=0
gkrt+k+1|st = s,at = a�
(4.2)
onde a função valor de estado-ação ótimo, análogo a V ⇤, resulta em Q⇤(s,a)⌘maxp
Qp(s,a).
Rescrevendo a função de valor de estado-ação ótimo como uma equação de otimalidade
de Bellman (iteração de valor Q) [Sutton & Barto 2018] temos que
Q⇤(s,a) = E⇥
rt+1 + gmaxat+1
Q⇤(st+1,at+1)|st = s,at = a⇤
(4.3)
equação que expressa a relação entre o valor do estado-ação presente e o valor de estado-
ação sucessor [Sutton & Barto 2018]. Esta relação pode ser representada por meio de um
diagrama de backup como mostra a figura 4.2.
Figura 4.2: Diagrama de backup para V p e Qp
[Sutton & Barto 2018].
Existem diferentes métodos para resolver problemas de aprendizagem por reforço
como programação dinâmica, Monte Carlo, diferença temporal, semi-gradiente, gradi-
ente de políticas, ator crítico e etc. A maioria destes algoritmos envolve calcular a função
valor estado-ação (ou função valor estado). Resolver estes problemas consiste em defi-
nir uma política ótima p⇤ a partir de Q⇤(s,a) = E[rt+1 + gmaxa0Q⇤(s0,a0)|st = s,at = a]
(Equação de otimalidade de Bellman), onde a0 representa as possíveis ações que podem
ser tomadas a partir de um estado futuro st+1 denotado por s0 [Sutton & Barto 2018]. A
partir do cálculo de Q⇤ a política ótima é dada por p⇤(s) = argmaxa Q⇤(s,a).
34 CAPÍTULO 4. APRENDIZAGEM POR REFORÇO
4.4 Diferença Temporal (Temporal Difference - TD)
A aprendizagem por diferença temporal é um método central do aprendizado por re-
forço. No aprendizado T D a função de valor V (s) é calculada diretamente a partir do
erro T D, livre de modelo, de forma online e completamente incremental. A regra de atu-
alização da função de valor é dada por V (s) V (s)+a[Rt + gV (st+1)−V (s)], onde a
representa a taxa de aprendizagem e o termo Rt + gV (st+1)−V (s) é chamado de erro T D
[Sutton & Barto 2018].
4.4.1 Q-learning
Um dos principais algoritmos da classe TD utilizado em problemas de aprendizado
por reforço é o Q-learning [Watkins 1989], definido como
Q(st ,at) Q(st ,at)+a[rt+1 + gmaxat+1
Q(st+1,at+1)−Q(st ,at)] (4.4)
O algoritmo Q-learning é demonstrado em forma de pseudocódigo (ver algoritmo 1),
onde os termos (s,a) representam os valores de estado, ação em um passo de tempo t e
(a0,s0,r) representam o estado, a ação e o sinal de reforço em um passo de tempo t +1.
Algoritmo 1: Algoritmo Q-Learning1 início2 Inicialize Q(s,a) aleatoriamente3 repita4 Inicialize s5 repita6 Selecione a a partir de s utilizando p derivada de Q (por ex. e-gulosa)7 Receba a e observe os valores de r e s0
8 Q(s,a) Q(s,a)+a[r+ gmaxa0
Q(s0,a0)−Q(s,a)]
9 até o passo final do episódio ser atingido;10 até o episódio máximo ser atingido;11 fim
4.4. DIFERENÇA TEMPORAL (TEMPORAL DIFFERENCE - TD) 35
Uma de suas vantagens é a capacidade de aproximar-se diretamente de Q⇤, indepen-
dente da política seguida. A política continua a desempenhar um importante papel pois
determina quais pares estado-ação são visitados e atualizados. Porém, para garantir a con-
vergência é necessário apenas que todos os pares continuem sendo visitados e atualizados
[Sutton & Barto 2018]. A política e-gulosa citada no algoritmo 1 é uma estratégia que
permite que essa condição seja garantida sendo definida como
p(s,a) =
8
>><
>>:
1− e+ e|a(s)| ,se a = a⇤ = argmaxa q(s,a)
e|a(s)| ,se a 6= a⇤
(4.5)
A política e-gulosa seleciona a ação aleatória com probabilidade e, e a ação que re-
torna o maior valor esperado com probabilidade (1− e). Assim, o controle da gula (ale-
atoriedade) é estabelecido por e, enquanto |a(s)| corresponde ao número de ações que
podem ser executadas a partir de um estado s [Lima 2009].
Sabe-se que a dimensão da estrutura de armazenamento da função Q, necessária para
se obter uma política ótima, cresce em função do número de estados e de ações. Ao se
analisar esse crescimento, percebe-se que o mesmo ocorre de maneira exponencial (mal-
dição da dimensionalidade), o que implica a impossibilidade de execução de um algoritmo
para certas instâncias de um problema pelo esgotamento de recursos computacionais ou
inviabilidade do tempo na obtenção de sua saída [Costa 2017].
4.4.2 Semi-gradient Q-learning
O Q-learning é um método onde os valores de estado-ação ou as políticas precisam
estar armazenados em uma estrutura de dados em forma de tabela. Em vários problemas
em que o aprendizado por reforço pode ser utilizado o espaço de estado é combinacional
(muitas possibilidades).
Em problemas com um grande espaço de estados é inviável armazenar ou computar
36 CAPÍTULO 4. APRENDIZAGEM POR REFORÇO
em tempo hábil soluções de casos como este. Além disso, em diversas situações será
impossível visitar todos os estados, de maneira que as decisões em situações como esta
devem ser generalizadas a partir de estados visitados anteriormente e que de alguma forma
expressem um senso de similaridade ao estado em questão. A palavra chave deste pro-
blema é generalização e a questão principal é entender como a experiência obtida pelo
agente em um número limitado de estados pode produzir boas aproximações sobre um
grande espaço de estados.
Uma forma de lidar com este tipo de problema é utilizar aproximadores de função. O
aproximador de função tenta generalizar a partir de exemplos uma função completa. O
algoritmo online mais popular utilizado no cálculo de iteração de valor aproximado é o
Q-learning [Busoniu et al. 2010]. No Q-learning tradicional a atualização da função-Q é
feita segundo a equação Q(st ,at) Q(st ,at)+a[rt+1 + gmaxat+1
Q(st+1,at+1)−Q(st ,at)],
após observar o próximo estado st+1 e o reforço rt+1, resultante da escolha de uma ação
at em um estado st . Uma forma simples e direta de integrar o conceito de aproximadores
de função ao algoritmo Q-learning é utilizar o método gradiente descendente (Q-learning
baseado em gradiente) [Sutton & Barto 2018], wo que requer um aproximador diferen-
ciável em seus parâmetros .
A função-Q aproximada em um dado tempo t é representada pelo termo Q(st ,at ;qt)
ou Q(st ,at), colocando a dependência do parâmetro implícita. Com intuito de derivar o
Q-learning baseado no gradiente, assume-se por hora que após a tomada de uma ação at
em um dado estado st , é fornecido ao algoritmo um valor estado-ação ótimo verdadeiro
do par estado-ação atual Q⇤(st ,at), bem como o próximo estado st+1 e o reforço rt+1.
Sob estas circunstâncias, o algoritmo pode ter como objetivo minimizar o erro quadrático
entre o valor ótimo e o valor estimado
qt+1 = qt −12
at∂
∂qt
Q⇤(st ,at)− Q(st ,at)
�2
= qt +at
Q⇤(st ,at)− Q(st ,at)
�
∂
∂qtQ(st ,at)
(4.6)
4.4. DIFERENÇA TEMPORAL (TEMPORAL DIFFERENCE - TD) 37
entretanto, o valor Q⇤(st ,at) não é disponibilizado (livre de modelo), mas esse valor pode
ser substituído por um valor estimado rt+1 + gmaxat+1
Qt(st+1,at+1) oriundo da iteração de
valor (4.3), resultando na regra de atualização de parâmetros do Q-learning aproximado
qt+1 = qt +at
rt+1 + gmaxat+1
Qt(st+1,at+1)− Q(st ,at)
�
∂
∂qtQ(st ,at) (4.7)
onde o termo entre colchetes é na verdade uma aproximação da diferença temporal [Busoniu
et al. 2010].
Considerando por exemplo um aproximador linear, a regra de atualização é simplifi-
cada
qt+1 = qt +at
rt+1 + gmaxat+1
(fT (st+1,at+1)qt)−fT (st ,at)qt
�
f(st ,at) (4.8)
onde f(st ,at) representa o vetor de característica.
Assim como no Q-learning tradicional, aproximar uma função-Q requer a necessidade
de exploração. Como exemplo o algoritmo 2 apresenta em forma de pseudocódigo o Q-
learning baseado em gradiente com um aproximador linear e exploração e-gulosa.
Algoritmo 2: Algoritmo Q-Learning com aproximador de função linear1 início2 Inicialize o vetor de parâmetros, por ex. q0 03 repita4 Inicialize s5 repita6 Selecione a a partir de s utilizando p derivada de fT (s0,a0)qt (por ex. e-gulosa)7 Receba a e observe os valores de r e s0
8 qt+1 qt +at
r+ gmaxa0
(fT (s0,a0)qt)−fT (s,a)qt
�
f(s0,a0)
9 até o passo final do episódio ser atingido;10 até o episódio máximo ser atingido;11 fim
O Q-learning pode ser combinado com uma variedade de aproximadores, aproxi-
madores lineares, regras baseadas em fuzzy, redes neurais entre outros [Busoniu et al.
38 CAPÍTULO 4. APRENDIZAGEM POR REFORÇO
2010]. A utilização de redes neurais em conjunto com aprendizado por reforço remete
aos anos 90 [Lin 1993], [Tesauro 1995], [Bertsekas & Tsitsiklis 1996], [Riedmiller 2005],
[Schmidhuber 2015]. Sua utilização para estimar uma função-Q é instável e pode até di-
vergir [Riedmiller 2005]. Porém com as recentes conquistas dos métodos de deep lear-
ning [LeCun et al. 2015a], [Goodfellow et al. 2016], seja por conta da explosão de dados,
poder computacional e novos algoritmos, o paradigma de aprendizado por reforço está
cada vez mais em evidência [Li 2017].
Deep Reinforcement Learning é caracterizado quando técnicas de deep learning são
utilizadas para aproximar uma função de valor, V (s;q) ou Q(s,a;q). Neste caso os pa-
râmetros são pesos sinápticos w das redes. Para atualização dos pesos geralmente é uti-
lizado o método gradiente descendente estocástico que não garante convergência e pode
até mesmo tornar o aprendizado instável [Riedmiller 2005]. Entretanto, em conjunto
com a técnica de repetição de experiências [Lin 1993] os recentes trabalhos DQN [Mnih
et al. 2015] e AlphaGo [Silver et al. 2016] conseguiram demonstrar a estabilidade no
aprendizado das redes conseguindo atingir importantes resultados.
A técnica de repetição por experiência armazena o histórico et = (st ,at ,rt ,st+1) da
interação do agente com o meio a cada passo de tempo t em uma estrutura de dados
Dt = e1, . . . ,et . Durante o treinamento, as atualizações são feitas a partir de amostras ou
pequenos lotes (minibatch) da experiência (s,a,r,s0)⇠U(D), retiradas aleatoriamente de
uma distribuição uniforme da estrutura. Em seguida os parâmetros são atualizados a cada
iteração i em relação a função de custo
Li(wi) = E(s,a,r,s0)⇠(D)
✓
r+ gmaxa0
Q(s0,a0;w−i )−Q(s,a;wi)
◆2�
(4.9)
onde wi representa os parâmetros da rede na iteração i e w−i representa os parâmetros
fixados por uma constante C calculados na iteração/em iterações passada(s), usados para
computar o valor alvo Q na iteração i.
4.4. DIFERENÇA TEMPORAL (TEMPORAL DIFFERENCE - TD) 39
Algoritmo 3: Deep Q-Network com repetição por experiência1 início2 Inicialize a memória de repetição D com capacidade N3 Inicialize a função de valor estado-ação Q com pesos w aleatórios4 Inicialize a função de valor estado-ação alvo Q com pesos w− = w aleatórios5 repita6 Inicialize s e realize o pré processamento f(s)7 repita8 Selecione a em s utilizando p derivada de Q(s,a;w) (por ex. e-gulosa)9 Receba a e observe os valores de r e s0
10 Armazene (f,a,r,f0) em D11 Retire (fi,ai,ri,fi+1) aleatoriamente de D
12 yi
8
<
:
ri , se episódio terminar em i+1ri + gmax
a0Q(f0,a0;w−)
13 Calcule o gradiente de (yi −Q(f(s),a;w))2 em relação aos pesos w14 A cada passo C reinicie Q = Q15 até o passo final do episódio ser atingido;16 até o episódio máximo ser atingido;17 fim
A formalização matemática do algoritmo 3 é na verdade uma extensão das equações
4.6,4.7 do Q-learning aproximado demonstrada na subseção 4.4.2 [Sutton & Barto 2018].
Nossa proposta é utilizar estes conceitos de deep reinforcement learning no problema
dos k-servos na tentativa de reduzir o problema da maldição de dimensionalidade e tratar
problemas reais de grandes dimensões.
Capítulo 5
Aprendizagem por reforço profundo
aplicado ao PKS
Neste capítulo o problema dos k-servos é modelado como um problema de imagem
inserido em uma abordagem de aprendizagem por reforço com solução aproximada por
uma rede neural perceptron de múltiplas camadas. O objetivo deste capítulo é apresentar
uma solução alternativa ao problema dos k-servos capaz de aliviar o problema da maldi-
ção da dimensionalidade, principalmente quando o número de servos é aumentado. Esta
característica torna os métodos tabulares rapidamente ineficientes, visto que o problema
apresenta uma complexidade computacional que cresce exponencialmente com o aumento
do número de servos. O algoritmo proposto aqui apresentado é de propósito geral e pode
ser aplicado em diferentes tipos de problemas como o problema de gerenciamento de ma-
nutenção de sondas de petróleo, logística de deslocamento de transportes de emergência,
localização competitiva de recursos entre outros problemas.
5.1 Visão geral
Em uma abordagem tradicional de aprendizagem por reforço, o agente observa o es-
tado st de um ambiente, executa uma ação at e recebe uma recompensa rt+1. Em uma
abordagem de aprendizagem por reforço profundo visual [Lange & Riedmiller 2010],
42CAPÍTULO 5. APRENDIZAGEM POR REFORÇO PROFUNDO APLICADO AO PKS
abordada neste trabalho, o agente percebe a dinâmica interna do ambiente a partir de
observações ot 2 O (imagem) com semântica desconhecida, como mostra a figura 5.1.
Figura 5.1: Interação agente-ambiente em uma abordagem de aprendizagem por reforçoprofundo.
5.2 Observações
O estado interno st do ambiente é definido por uma imagem ot 2 R+2 que codifica a
distribuição dos servos k(t) e da requisição s(t)j a cada passo de tempo t. O número de
pixels p deve satisfazer a condição de que n p, para que todas as distribuições possí-
veis possam ser codificadas. A codificação é feita por meio dos níveis de intensidade dos
pixels definidos em um intervalo [Lmin L Lmax] (escala de cinza), onde a cor branca é
utilizada (Lmax = 1) para definir os servos, o cinza médio (L = 0,5) a requisição e o preto
(Lmin = 0) os pixels não ocupados ou excedentes. Depois disso, a imagem é convertida
em um vetor de características xt 2 Rn⇥1 cujo valor numérico de requisição é convertido
em um valor negativo e os pixels excedentes são removidos. Essa representação é de-
5.2. OBSERVAÇÕES 43
monstrada em dois exemplos nos quais os servos são definidos como k(0) =n
k(0)1,2,k(0)2,3
o
e a requisição como s(0)4 (ver figuras 5.2 e 5.3). As arestas pontilhadas são usadas para
ilustrar que a codificação não está vinculada às conexões das arestas, é uma representação
que converte as informações sobre os nós ocupados pelos servos e pela requisição em
símbolos usados como unidades de entrada da rede neural.
Figura 5.2: Exemplo de um problema com nós 4 e 2 servos.
Figura 5.3: Outro exemplo com 5 nós e 2 servos.
Embora a representação em escala de cinza seja usada, essa modelagem não se res-
tringe a esse caso, esta opção é feita para reduzir o custo computacional envolvido no
processamento de imagens coloridas.
44CAPÍTULO 5. APRENDIZAGEM POR REFORÇO PROFUNDO APLICADO AO PKS
5.3 Ações e observações futuras
Depois de definida a distribuição dos servos e da requisição, um dos servos k(t)l,i deve
ser movido para responder à solicitação s(t)j caracterizando uma ação at . Nessa situação,
o número de ações permitidas é igual a k, o número de servos, onde at 2 {1,2, . . . ,k}. A
distribuição dos servos e da requisição, associada a uma ação executada akl , caracteriza
uma instância do problema. Depois que a ação é executada, uma nova distribuição dos
servos k(t+1) é caracterizada e outra situação acontece quando uma solicitação está na
eminência de acontecer, nesse caso, a requisição s(t+1)j pode aparecer em um dos nós
não ocupados, caracterizando um número (nk)⇥ k de ações possíveis at+1 que define as
observações futuras xt+1.
Figura 5.4: Espaço de ações para o exemplo da figura 5.2
5.4 Rede neural perceptron de múltiplas camadas
A rede consiste de hn camadas ocultas composta por uma função de ativação sigmóide
ou retificadores lineares (mais de uma camada oculta) e uma camada de saída linear de-
finida em função do número de servos. A saída linear é usada para representar toda a
faixa de possíveis números reais de saída (ver figura 5.5). Como estamos usando o custo
envolvido no deslocamento dos servos como recompensa, mesmo que os limites da saída
não sejam conhecidos, há uma garantia de que seus valores serão representados.
5.5. RECOMPENSA E RETORNO 45
. . .. . . . . .
. . .
. . .
. . . . . .
Figura 5.5: Arquitetura da rede neural.
5.5 Recompensa e retorno
Para cada ação executada, o ambiente retorna uma recompensa rt+1 diretamente pro-
porcional a um custo definido pelo caminho de custo mínimo c(i, j) entre um nó i (origem)
e um nó j (destino) que compõe uma matriz de custo mínimo C (ver a figura 5.6) definida
como:
C =
8
>><
>>:
c(i, j) , if i 6= j
0 , if i = j(5.1)
Desta forma, as ações executadas através de uma política p ao longo do tempo devem
minimizar o retorno total esperado denotado por min E[R], ou seja, o agente deve aprender
a gerenciar o deslocamento dos servos para que o custo total seja o menor possível.
46CAPÍTULO 5. APRENDIZAGEM POR REFORÇO PROFUNDO APLICADO AO PKS
Figura 5.6: Função de recompensa.
5.6 Interação agente-ambiente
O estado interno do ambiente é percebido pelo agente que, após executar uma ação,
recebe uma recompensa (ver figura 5.7). A seta vermelha indica o servo escolhido (l = 2)
para atender à solicitação ( j = 4) e a aresta verde indica o custo mínimo envolvido no do
servo.
{ {
Figura 5.7: O problema dos k-servos como uma tarefa de aprendizagem por reforço pro-funda.
5.7. ALGORITMO 47
5.7 Algoritmo
A partir de G, o ambiente é codificado em ot e convertido em xt ; o vetor de entrada
é propagado para frente através dos neurônios da rede, aproximando-se da função Q. Em
seguida, a política p mapeia a ação akl através do algoritmo e-guloso definido por:
akl =
8
>><
>>:
argminat
Q(xt ,at ;wt) com probabilidade 1− e
aleatório (uniform) com probabilidade e
(5.2)
onde e representa o fator de aleatoriedade que garante o equilíbrio da estratégia de in-
tensificação de exploração de novas soluções, aumentando o poder de generalização da
rede. Depois que a ação é definida, a recompensa rt+1 é recebida e o próximo estado st+1
representado por xt+1 é observado. Desta forma, o sinal de erro, definido como:
DQ(xt ,at) =
Qalvo
z }| {�
c(i, j)+ gminat+1
Q(xt+1,at+1;w)| {z }
Q f uturo
�
−Q(xt ,at ;w) (5.3)
deve ser minimizado para que o valor previsto de Q, denotado por Q(xt ,at ;w), seja apro-
ximado ao valor Q de destino (Qtarget) de acordo para a função objetivo de Huber [Huber
& others 1964] definido como:
Ld(DQ) =
8
>><
>>:
12(Q
alvo −Q(xt ,at ;w))2 |DQ| d
d(|Qalvo −Q(xt ,at ;w)|− 12 .d) caso contrário
(5.4)
onde d = 1 representa o limite de comportamento da função objetivo. Para valores abaixo
de d, a função objetivo se comporta como uma função quadrática, enquanto que para
valores maiores se comporta como uma função linear. Essa característica fornece maior
capacidade de convergência do que um comportamento puramente quadrático (erro qua-
drado médio), pois a recompensa está diretamente ligada ao custo do deslocamento do
48CAPÍTULO 5. APRENDIZAGEM POR REFORÇO PROFUNDO APLICADO AO PKS
servo, impedindo assim que os outliers" tenham um grande impacto no aprendizado.
O vetor peso w, inicializado de acordo com Glorot & Bengio [2010] (normalizado em
relação as camadas anterior), é ajustado através do algoritmo de retropropagação para que
o erro possa ser minimizado [LeCun et al. 2015b]. Dessa maneira, diferenciando a função
objetivo em termos dos pesos, tem-se que seu gradiente é definido como:
—wLd(DQ) =
8
>><
>>:
(Qalvo −Q(xt ,at ;w))—wQ(xt ,at) |DQ| d
Qalvo−Q(xt ,at ;w)|Qalvo−Q(xt ,at ;w)|
caso contrário(5.5)
O algoritmo proposto pertence à família de algoritmos baseados em gradiente adap-
tado ao problema dos k-servos e seu pseudocódigo é mostrado no algoritmo 4.
Algoritmo 4: Q-learning com MLP para o problema dos k-servos1 G,a,e,g, t, M e B2 Inicialize w, w− = w3 Calcule C
4 repita5 Codifique s em o6 Faça o pré processamento de o em x7 Determine a ação (e-guloso)8 Receba r e observe s0
9 Armazene a experiência e em M10 Remova um conjunto de amostras eb ⇠U(M )11 Atualize w a partir das amostras reduzindo o erro de Huber:
Ld(DQ) =
⇢ 12 (Q
alvo − Q(xb,ab))2 |DQ| d
d(|Qalvo − Q(xb,ab)|−12 .d) caso contrário
onde Qalvo = c(i, j)+ gmina0b
Q(x0b,a0b;w−)−Q(xb,ab;w)
12 Após t passos w− = w13 até o passo final do episódio ser atingido;
Capítulo 6
Resultados
O objetivo deste capítulo é analisar a escalabilidade da abordagem de aprendizagem
por reforço tradicional definida por meio do algoritmo Q-learning comparando seu desem-
penho com o algoritmo proposto para diferentes configurações do problema dos k-servos.
O algoritmo guloso também foi considerado objeto de estudo deste trabalho pois possui
bom desempenho quando as requisições são geradas a partir de distribuições uniformes
[Rudec et al. 2013].
Para analisar o desempenho dos agentes, o problema dos k-servos foi definido em um
contexto de gerenciamento de tráfego inteligente denotado como o problema de emer-
gência móvel online. Desta forma, as políticas de decisões geradas pelos agentes foram
analisadas a partir de testes de desempenho que levaram em consideração o deslocamento
das ambulâncias para sequências de urgências de curto, médio e longo prazo. Além dos
testes de desempenho realizados, o comportamento de cada agente foi analisado durante
a fase de treinamento em uma configuração do problema de pequena dimensão.
Os códigos foram elaborados no Matlab e em Python e testados em um computa-
dor equipado com processadores de 4 gigahertz (4 núcleos), 32 gigabytes de memória e
sistema operacional Windows 10.
50 CAPÍTULO 6. RESULTADOS
6.1 Problema de emergência móvel online
O problema dos k-servos pode ter diferentes variantes, como por exemplo o problema
dos k-servos heterogêneos, no qual os servos podem desempenhar diferentes tarefas es-
pecíficas do problema. Em um problema de emergência móvel é comum existirem ambu-
lâncias com diferentes funcionalidades, entretanto, para simplificar o problema, neste tra-
balho as ambulâncias foram consideradas iguais caracterizando o problema dos k-servos
homogêneos.
6.1.1 Conceito
Para testar o algoritmo, definimos o problema dos k-servos em um contexto de ge-
renciamento de tráfego inteligente similar ao apresentado na seção 2.3, fornecendo uma
visão prática de como o algoritmo proposto pode ser aplicado. Com isso, o problema foi
definido da seguinte forma: a população de uma cidade deve ser atendida em casos de
emergência médica caracterizada por situações que podem levar a sofrimento, sequelas
ou morte. As emergências devem ser atendidas por unidades de serviço móvel (iguais),
denotadas por ambulâncias, distribuídas em diferentes locais da cidade. O objetivo do
problema é minimizar o tempo total associado ao atendimento das emergências. O trans-
porte do paciente para uma unidade de saúde não foi considerado, apenas a situação de
mover a ambulância para atender uma emergência.
6.1.2 Formalização
Formalizando em termos do problema dos k-servos, temos que G representa uma ci-
dade, cada nó n 2 G é um local (região) de emergência diferente na cidade, k representa
a quantidade de ambulâncias (servos) e S, a sequência de emergências (requisições) que
podem surgir em qualquer local da cidade. O atendimento de uma emergência é caracte-
rizado quando uma ambulância k(t)l,i é movida para o local da emergência s(t)j . Associado
6.2. ESTUDO DE CASOS 51
ao deslocamento de cada ambulância, existe um custo ct(i, j) definido aqui como sendo
o tempo gasto (unidade indefinida) no atendimento de cada emergência. O objetivo é
minimizar o tempo total de ÂTt ct(i, j) envolvido no atendimento de uma sequência de
emergências.
6.2 Estudo de casos
Para verificar o desempenho do algoritmo proposto dois diferentes casos foram con-
siderados: Em um dos casos, uma cidade, gerada aleatoriamente (distribuição uniforme),
foi definida como tendo 9 regiões e 2 ambulâncias disponíveis para atender as emergên-
cias que surgem de forma aleatória (distribuição uniforme) em cada região. Em seguida
o número de ambulâncias foi duplicado. Esta cidade foi definida por um número elevado
de conexões no qual aproximadamente 90% das regiões apresentaram ligações diretas en-
tre si, caracterizando um grafo de alta densidade. Em outro caso, uma cidade, também
gerada aleatoriamente (distribuição uniforme), foi definida com 10 regiões e 2 ambulân-
cias disponíveis para atender as emergências que surgem de forma aleatória (distribuição
uniforme) em cada região. Neste caso a cidade foi definida por um número de conexões
médio entre as regiões; aproximadamente 50% das regiões apresentaram conexão direta
entre si, caracterizando um grafo esparso. Em seguida, esta cidade foi expandida para um
número de 15 e 20 regiões; após a expansão em regiões foi feito um aumento gradativo
do número de ambulâncias de k = 2 até k = 5.
6.2.1 Configurações iniciais
A configuração com n = 9 e k = 2 teve a distribuição inicial das ambulâncias definida
de maneira aleatória por k(0) =n
k(0)1,8,k(0)2,9
o
e s(0)1 . Neste caso o agente observa uma
imagem o 2 [0,1]d com d = 3⇥ 3 = 9 pixeis mapeados em x 2 [−1,1]10⇥1. O custo
envolvido no deslocamento de uma das ambulâncias, como a ambulância l = 1, localizada
52 CAPÍTULO 6. RESULTADOS
em i = 8, para atender uma emergência em j = 1 define a recompensa rt+1 = c�
k(0)1,8,s(0)1�
.
Para o caso em que as ambulâncias foram aumentadas para k = 4 a distribuição inicial foi
definida por k(0) =n
k(0)1,3,k(0)2,7,k
(0)3,8,k
(0)4,9
o
.
Para as configurações com n = 10 e n = 15 foi considerada uma distribuição inicial
das ambulâncias (k = 2) definida de maneira aleatória por k(0) =n
k(0)1,2,k(0)2,8
o
e s(0)6 . A
partir dela o agente observa uma imagem o 2 [0,1]d com d = 4 ⇥ 4 = 16 pixeis ma-
peados em x 2 [−1,1]10⇥1. O custo envolvido no deslocamento de uma das ambulân-
cias, como a ambulância l = 1, localizada em i = 2, para atender uma emergência em
j = 6 define a recompensa rt+1 = c�
k(0)1,2,s(0)6
�
. Na configuração com 20 regiões o agente
observa inicialmente uma imagem o 2 [0,1]d com d = 5⇥ 5 = 25 pixeis mapeados em
x 2 [−1,1]20⇥1. Para esta configuração, a distribuição inicial das ambulâncias come-
çou em k(0) =n
k(0)1,2,k(0)2,8
o
e foi gradualmente aumentada em k(0) =n
k(0)1,2,k(0)2,8,k
(0)3,9
o
para
k = 3; k(0) =n
k(0)1,2,k(0)2,8,k
(0)3,9,k
(0)4,13
o
para k = 4; e k(0) =n
k(0)1,2,k(0)2,8,k
(0)3,9,k
(0)4,13,k
(0)5,19
o
para
k = 5, com s(0)6 para todos os casos.
Apesar de uma configuração inicial ser necessária a solução do problema não está
restrita a esta condição, a solução pode ser generalizada para diversos tipos de configura-
ções iniciais como será mostrado no teste de desempenho mais a frente. As configurações
iniciais também servem como referência para que os resultados possam ser replicados
6.2.2 Hiperparâmetros
Os hiperparâmetros foram definidos (ver tabelas 6.1 e 6.2) de forma empírica levando
em consideração algumas premissas. Para obter um menor custo esperado a longo prazo
utilizou-se a premissa de que o fator de desconto (g) deve dar mais importância às recom-
pensas futuras do que as imediatas [Sutton & Barto 2018]; Para o fator de aleatoriedade (e)
o intuito foi evitar que as soluções gulosas ficassem presas em mínimos locais, e evitar que
as ações aleatórias tornassem o processo de aprendizagem longo ou até divergente [Sutton
& Barto 2018]; Para a taxa de aprendizagem (a) da rede foi escolhido um valor que não
6.2. ESTUDO DE CASOS 53
aumentasse o potencial de divergência da rede [Haykin 1998], [Sutton & Barto 2018].
Para o Q-learning foi utilizado um valor prático padrão [Sutton & Barto 2018]; Enquanto
os parâmetros tamanho de memória (M), de lote (B) e do período de atualização dos pe-
sos (t) foram definidos em função de valores práticos [Mnih et al. 2015] levando-se em
consideração o aumento da dimensão do problema.
Foram testadas duas arquiteturas, uma profunda e outra rasa. A arquitetura rasa foi
definida por uma camada oculta e uma camada de saída denotada como hn : on, onde
hn representa o número de neurônios da camada oculta e on o número de neurônios da
camada de saída. A quantidade de neurônios utilizados na camada oculta foi definida
empiricamente. A medida que a dimensão do problema foi aumentada, o número de
neurônios utilizados também foram aumentados de tal forma que o modelo definido pela
rede neural conseguisse realizar tomadas de decisões adequadas. Em outro caso, a arqui-
tetura da rede foi definida por quatro camadas ocultas e uma camada de saída dada por
hn1:hn2:hn3:hn3:on, onde hni representa a quantidade de neurônios da i-ésima camada
oculta enquanto on representa o número de neurônios da camada de saída.
O fator de desconto e de aleatoriedade foram os mesmos utilizados tanto no treina-
mento da rede neural como no treinamento do Q-learning. O critério de parada foi de-
finido a partir do valor médio e do desvio padrão do erro de Huber, quando este valores
ficaram abaixo de um valor de referência (q) o treinamento da rede foi interrompido. O
mesmo número de requisições utilizados no treinamento da rede foi o mesmo utilizado
no treinamento do Q-learning.
n,k M B a g e t q w10,2
1000010
0.01 0.9 0.2
100.001 64 : 2
15,20.01
128 : 220,2
30
256 : 220,3
100000 100 0.051024 : 3
20,4 1024 : 420,5 1024 : 5
Tabela 6.1: Tabela de hiperparâmetros I.
54 CAPÍTULO 6. RESULTADOS
n,k M B a g e t q w9,2
10000 10 0.01 0.9 0.2 1016 : 16 : 16 : 16 : 2
9,4 - 32 : 32 : 32 : 32 : 4
Tabela 6.2: Tabela de hiperparâmetros II.
6.3 Análise de desempenho
A solução proposta foi analisada de duas formas, durante a fase de treinamento e a
partir de testes de desempenho, onde o agente foi comparado aos algoritmos Q-learning
e guloso. A estratégia gulosa não requer treinamento e ilustra o comportamento de um
agente que visa um retorno a curto prazo. O algoritmo Q-learning tem a convergência
para a solução ótima garantida se todos os pares estado-ação forem visitados um número
"infinito"de vezes. Considerando o alto custo computacional necessário para atender este
critério, a análise da aprendizagem da rede neural foi realizada para a configuração n = 10
e k = 2.
6.3.1 Curvas de aprendizagem Q-learning
Para gerar a curva de aprendizagem quando os servos estavam localizados nos nós 3
e 5; a requisição surgiu no nó 4 e o servo 1 foi deslocado para atender a requisição, o
valor estado-ação, denotado por valor Q, foi registrado ao longo do tempo. A figura 6.1
demonstra a curva de aprendizagem obtida para os valores estado-ação predito e alvo da
instância�
k1,3,k2,5,s4,ak1
usando o Q-learning tradicional.
6.3.2 Curvas de aprendizagem aproximada
Os valores de Q, predito e alvo, da instância�
k1,3,k2,5,s4,ak1
usando o Q-learning
com rede neural são demonstrados na figura 6.2. A linha verde pontilhada (ver figura 6.2)
representa o valor predito de Q obtido através do algoritmo Q-learning. Ela é utilizada
para ilustrar o comportamento de aprendizagem semelhante entre os algoritmos.
6.3. ANÁLISE DE DESEMPENHO 55
0 500 1000 1500 2000 2500 3000
Occurrence
0
5
10
15
20
25
30
35
40
45
50
55
Q v
alu
epredicted
target
Figura 6.1: Valor estado-ação (Q-learning).
0 500 1000 1500 2000 2500 3000
Occurrence
0
5
10
15
20
25
30
35
40
45
50
55
Q v
alu
e
reference
predicted
target
Figura 6.2: Valor estado-ação (rede neural).
Os valores Q foram registrados até que o erro da função de custo atingisse o critério
de parada (ver a figura 6.3).
56 CAPÍTULO 6. RESULTADOS
0 0.5 1 1.5 2 2.5 3
Epochs 105
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Huber
err
or
2
Figura 6.3: Função custo.
6.3.3 Testes de pontuação
O desempenho do algoritmo foi testado em configurações diferentes do problema.
Para cada configuração foram realizados 100 experimentos (distintos) compostos cada um
por uma sequência aleatória de emergências. Para cada sequência foi calculado o tempo
total gasto ÂTt=0 ct(i, j) por cada agente no deslocamento das ambulâncias. No final dos
experimentos, foram registrados os tempos, médio, mínimo e máximo. Em seguida, foi
realizado um teste de pontuação entre os agentes, aquele que deslocou as ambulâncias
em menos tempo foi considerado vitorioso. Nos casos de empate, nenhuma pontuação
foi considerada. Para avaliar o desempenho em curto e longo prazo foram consideradas
sequências de emergência de duração T = 100, T = 1000 e T = 10000.
Configuração 1
A partir da análise dos resultados (ver tabela 6.3) para a configuração do problema
com n = 9 e k = 2, foi observado que o algoritmo Q-learning demonstrou uma melhor
política de deslocamento, obtendo um maior número de vitórias. Nesse caso, a aborda-
gem tabular necessitou de uma estrutura de armazenamento com 684 pares estado-ação,
6.3. ANÁLISE DE DESEMPENHO 57
enquanto na solução aproximada foram utilizados 314 parâmetros.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
9,2147 218 188.29 43 1733 1953 1864.23 66 18376 18888 18616.22 94
Q-learning com MLP 141 218 189.61 34 1748 1956 1873.73 31 18438 18968 18713.4 6Guloso 144 222 192.56 13 1784 2005 1906.4 1 18766 19312 19027.52 0
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.3: Comparação entre os algoritmos para cidade com 9 regiões e 2 ambulâncias.
Configuração 2
Para a configuração do problema com n = 9 e k = 4 (ver tabela 6.4), foi observado
que o algoritmo Q-learning com MLP demonstrou uma melhor política de deslocamento,
obtendo um maior número de vitórias. Também é possível observar que o comportamento
do agente aproximado ficou muito próximo do Q-learning. Nesse caso, a abordagem tabu-
lar necessitou de uma estrutura de armazenamento com 4536 pares estado-ação, enquanto
na solução aproximada foram utilizados 3620 parâmetros. Com um pequeno aumento da
dimensão do problema o algoritmo proposto mostrou que uma solução aproximada pode
ter um bom desempenho em relação ao Q-learning. Isso pode se dar pelo fato de que o
número de requisições utilizados para o treinamento do Q-learning foi o mesmo utilizado
para o treinamento da rede neural. Consequentemente, o Q-learning necessitaria de mais
amostras para treinamento.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
9,479 127 104.51 36 942 1152 1036.21 42 10104 10582 10352.61 41
Q-learning com MLP 79 126 105.13 34 971 1121 1037.33 38 10113 10612 10353.26 55Guloso 73 135 106.14 24 951 1110 1047.21 16 10241 10738 10484 4
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.4: Comparação entre os algoritmos para cidade com 9 regiões e 4 ambulâncias
58 CAPÍTULO 6. RESULTADOS
Configuração 3
Para a configuração do problema com n = 10 e k = 2, foi observado que o algoritmo
Q-learning demonstrou uma melhor política de deslocamento, obtendo um maior número
de vitórias (ver tabela 6.5). Nesse caso, a abordagem tabular necessitou de uma estrutura
de armazenamento com 900 pares estado-ação, enquanto na solução aproximada foram
utilizados 834 parâmetros.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
10,2291 432 355.59 20 3273 3745 3509.69 42 34227 35778 35047.11 94
Q-learning com MLP 284 432 356.14 12 3257 3738 3513.74 40 34258 35821 35091.05 6Guloso 294 417 362.52 11 3358 3777 3568.77 10 35039 36360 35704.00 0
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.5: Comparação entre os algoritmos para a cidade com 10 regiões e 2 ambulân-cias.
Configuração 4
Na configuração do problema com n = 15 e k = 2 foi observado que o algoritmo Q-
learning com MLP, assim como na configuração com n = 9 e k = 4, demonstrou uma
melhor política de deslocamento, obtendo um maior número de vitórias (ver tabela 6.6).
Nesse caso, a abordagem tabular necessitou de uma estrutura de armazenamento com
3150 pares estado-ação, enquanto na solução aproximada foram utilizados 2306 parâme-
tros.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
15,2334 510 411.30 27 3836 4324 4058.46 13 40008 41319 40681.76 0
Q-learning com MLP 319 503 408.64 46 3761 4282 4019.94 86 39716 40913 40303.76 100Guloso 324 522 418.96 15 3913 4356 4144.74 1 40892 42020 41485.92 0
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.6: Comparação entre os algoritmos para a cidade com 15 regiões e 2 ambulâncias
6.3. ANÁLISE DE DESEMPENHO 59
Configuração 5
Na configuração do problema com n = 20 e k = 2 foi observado que o algoritmo Q-
learning com MLP demonstrou uma melhor política de deslocamento, obtendo um maior
número de vitórias (ver tabela 6.7). O algoritmo Q-learning necessitou de uma estrutura
de armazenamento com 7600 pares estado-ação enquanto a rede neural foi composta por
5890 parâmetros.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
20,2348 497 419.29 20 3973 4452 4230.58 3 41731 42952 42343.22 0
Q-learning com MLP 343 501 411.78 67 3887 4384 4136.27 97 40649 42126 41368.35 100Guloso 373 496 428.10 8 4099 4575 4318.00 0 42510 43993 43210.14 0
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.7: Comparação entre os algoritmos para a cidade com 20 regiões e 2 ambulâncias
Configuração 6
Na configuração do problema com n = 20 e k = 3 foi observado que o algoritmo Q-
learning com MLP demonstrou novamente uma melhor política de deslocamento, obtendo
um maior número de vitórias (ver tabela 6.8). O algoritmo Q-learning necessitou de uma
estrutura de armazenamento com 68400 pares estado-ação enquanto a rede neural foi
composta por 24579 parâmetros.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
20,3277 393 344.75 33 3263 3761 3509.33 19 34417 35767 35081.79 9
Q-learning com MLP 285 415 344.31 46 3248 3708 3469.00 78 34156 35663 34790.00 91Guloso 301 433 353.51 17 3373 3773 3597.96 0 35325 36646 36003.36 0
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.8: Comparação entre os algoritmos para a cidade com 20 regiões e 3 ambulâncias
60 CAPÍTULO 6. RESULTADOS
Configuração 7
Na configuração do problema com n = 20 e k = 4 foi observado que o algoritmo Q-
learning com MLP demonstrou novamente uma melhor política de deslocamento, obtendo
um maior número de vitórias (ver tabela 6.9). O algoritmo Q-learning necessitou de uma
estrutura de armazenamento com 387600 pares estado-ação enquanto a rede neural foi
composta por 25604 parâmetros.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
20,4258 384 317.74 13 2963 3386 3206.60 0 31272 32507 31943.31 0
Q-learning com MLP 226 381 294.94 50 2814 3143 2980.62 89 29250 30566 29819.78 100Guloso 250 369 302.90 34 2797 3214 3055.83 11 30114 31131 30568.75 0
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.9: Comparação entre os algoritmos para a cidade com 20 regiões e 4 ambulâncias
Configuração 8
Na configuração do problema com n = 20 e k = 5 foi observado que o algoritmo Q-
learning com MLP demonstrou novamente uma melhor política de deslocamento, obtendo
um maior número de vitórias (ver tabela 6.10). O algoritmo Q-learning necessitou de uma
estrutura de armazenamento com 1550400 pares estado-ação enquanto a rede neural foi
composta por 26629 parâmetros.
Algoritmos n,kT = 100 T = 1000 T = 10000
Min Max Média Wins Min Max Média Wins Min Max Média WinsQ-learning
20,5253 381 314.51 0 2961 3436 3205.79 0 31500 32843 32058.52 0
Q-learning com MLP 199 320 252.25 58 2351 2724 2526.08 93 24682 26041 25318.13 100Guloso 199 321 258.26 42 2444 2738 2600.74 7 25267 26652 26072.42 0
Palavras chaves
Min - Tempo mínimo gastoMax - Tempo máximo gastoMédia - Tempo médio gasto
Vitórias
Tabela 6.10: Comparação entre os algoritmos para a cidade com 20 regiões e 5 ambulân-cias
6.4. ANÁLISE DOS RESULTADOS 61
6.4 Análise dos resultados
Com o aumento do número de nós e servos, o algoritmo proposto obteve uma política
de deslocamento mais eficiente do que o algoritmo guloso e o Q-learning. Foi possível
observar que a estrutura de armazenamento da rede neural não foi tão influenciada pelo
crescimento exponencial do número de instâncias do problema quanto o método tabular
que tem sua estrutura de armazenamento diretamente associada ao aumento do número
de pares estado-ação (ver figura 6.4).
1 2 3 4 5 6 7 8
Configurações
0
2
4
6
8
10
12
14
16
Quantidade d
e p
arâ
metr
os
105 Maldição da dimensionalidade
Q-learning
Q-learning com MLP
Figura 6.4: Crescimento da estrutura de armazenamento dos algoritmos.
Em todos os casos foi possível observar que o comportamento inteligente do agente
à longo prazo ficou evidente com o aumento das emergências atendidas. Embora as ins-
tâncias discutidas aqui sejam consideradas de pequeno e médio porte, problemas maiores
podem ser resolvidos por meio de estratégias de paralelização [Costa et al. 2016]. Nesse
62 CAPÍTULO 6. RESULTADOS
caso o atendimento a cada região pode ser considerado um subproblema localizado, em-
bora seja permitido possíveis deslocamentos dos servos entre as regiões. Desta forma
maiores dimensões do problema podem ser abordadas.
Capítulo 7
Conclusões, discussões e perspectivas
Este trabalho apresentou um estudo do paradigma de aprendizagem por reforço pro-
fundo como uma solução alternativa ao problema dos k-servos que foi modelado como
uma tarefa por imagem.
Para verificar o desempenho da solução proposta, o algoritmo foi aplicado a um pro-
blema (simulado) de serviço de emergência móvel. Inicialmente o problema dos k-servos
foi definido como um problema de pequena dimensão. Neste caso, os comportamen-
tos dos agentes, definidos por suas funções de valores estado-ação, foram comparados
apresentando resultados similares. Esses indicadores demonstraram que a codificação
foi capaz de fornecer informações suficiente para que a rede neural fosse capaz de gerar
uma política de decisão satisfatória. Em seguida novos experimentos foram realizados
aumentando-se de forma gradativa a complexidade do problema. Através dos resulta-
dos obtidos, o novo algoritmo demonstrou de maneira satisfatória ser capaz de realizar
o deslocamento das unidades de saúde em diferentes configurações de problemas. A es-
calabilidade do algoritmo proposto ficou evidente com o aumento da complexidade do
problema, dando-se ênfase ao incremento do número de servos.
Embora seja necessário um estado inicial para inicializar o problema, a solução pro-
posta não está restrita a esta condição. Seu desempenho foi avaliado considerando di-
ferentes estados iniciais possíveis, uma condição que aumenta o grau de incerteza do
problema e torna a solução ainda mais generalista.
64 CAPÍTULO 7. CONCLUSÕES, DISCUSSÕES E PERSPECTIVAS
De maneira geral, o algoritmo proposto apresentou melhor desempenho nos testes
que os demais, reduzindo o tempo de resposta as emergências. Os resultados obtidos
aqui, indicam que o algoritmo proposto pode ser uma abordagem eficaz na solução do
problema dos k-servos de pequeno e médio porte.
7.1 Discussões
Com o advento de novos métodos capazes de extrair informações de forma autônoma a
partir de imagens [Mnih et al. 2015] [Silver et al. 2017], a representação do problema dos
k-servos por imagens pode ser adaptado a diversas variantes do problema. Por exemplo,
o problema dos k-servos heterogêneos, definido por servos com diferentes funcionalida-
des, poderia ter os servos ou grupo de servos representados por diferentes cores; em um
outro caso denotado como problema dos k-servos estocástico [Dehghani et al. 2017], a
cada passo de tempo as requisições são retiradas de uma distribuição de probabilidade
diferente. Neste caso a representação do problema poderia ser a mesma mudando apenas
a forma como as requisições podem surgir nas imagens ao longo do tempo; Problemas
de grafos dinâmicos no qual as atualizações incluem inserções e remoções de vértices
(nós) e arestas podem ser representados de forma semelhante, observando-se a provável
necessidade de retreinamento da rede neural.
Um outro ponto relevante que pode ser modificado é a codificação utilizada neste tra-
balho que não leva em consideração, pelo menos não de forma direta, a estrutura espacial
dos nós nos grafos. Uma codificação mais complexa pode fornecer mais informações
para a rede neural e aumentar seu poder de generalização. A matriz de adjacência por
exemplo, pode fornecer a informação da conexão entre os nós conectados, e os elementos
da diagonal principal podem representar a mesma codificação apresentada neste trabalho.
Um problema intrínseco ao paradigma de aprendizagem por reforço é o problema da
maldição da dimensionalidade que dificulta a aplicação para os problemas de k-servos
7.2. PERSPECTIVAS FUTURAS 65
com instâncias elevadas. As redes neurais, pela sua capacidade de generalização tem se
mostrado uma forma de contornar este problema como buscou-se mostrar neste trabalho
de tese. Entretanto o aumento da complexidade da rede neural utilizada pode levar ao
problema de overfitting e um maior esforço computacional no processo de aprendizagem.
Para reduzir o problema do overfitting o uso de técnicas da teoria da regularização podem
ser aplicadas, possibilitando o emprego de redes neurais perceptrons múltiplas camadas
(MLP) com maior complexidade, denominadas de Deep MLP. Este trabalho buscou estu-
dar o problema do k-servos nesta perspectiva mas ressalta a necessidade de mais estudos
no sentido de avaliar redes neurais mais complexas e do esforço computacional necessário
para encontrar uma política de bom desempenho.
7.2 Perspectivas futuras
No futuro pretende-se explorar instâncias ainda maiores em um contexto de cidades
inteligentes, envolvendo o deslocamento inteligente de viaturas de saúde e segurança.
Outro caso prático a ser analisado é a utilização desta abordagem na indústria de varejo
online que utilizam robôs autônomos para fazer a armazenagem e retirada de produtos
que serão enviados para clientes.
Para instâncias maiores podem ser utilizadas outras redes neurais profundas como as
redes convolucionais [Krizhevsky et al. 2012], redes especiais projetadas para tratar ima-
gens; Também podem ser utilizadas as redes neurais de grafos [Wu et al. 2019], redes
projetadas para tratar problemas em grafos; Em conjunto com as redes convolucionais,
redes de grafos ou de forma separada, as redes recorrentes [Schmidhuber 2015], proje-
tadas para tratar sequências de dados, podem fazer uso de eventos anteriores fornecendo
um melhor gerenciamento no deslocamento dos servos em uma sequência de requisições.
Ademais, o paradigma de aprendizagem não supervisionado também pode ser utili-
zado previamente para extrair características do modelo. Por exemplo, uma rede neu-
66 CAPÍTULO 7. CONCLUSÕES, DISCUSSÕES E PERSPECTIVAS
ral Autoencoder [Lange & Riedmiller 2010] pode ser utilizada em uma fase de pré-
treinamento para reduzir uma imagem de alta dimensionalidade em características re-
presentativas compactas diminuindo o problema da maldição da dimensionalidade.
7.3 Publicação
O desenvolvimento desta tese de doutorado originou a seguinte publicação: Lins, R.
A. S., Neto, A. D. D., Melo, J. D.. "Deep reinforcement learning applied to the k-server
problem."Expert Systems with Applications, 2019.
Referências Bibliográficas
Afify, Badr, Sujoy Ray, Andrei Soeanu, Anjali Awasthi, Mourad Debbabi & Mohamad
Allouche [2019], ‘Evolutionary learning algorithm for reliable facility location un-
der disruption’, Expert Systems with Applications 115, 223–244.
Araque, Oscar, Ignacio Corcuera-Platas, J Fernando Sanchez-Rada & Carlos A Iglesias
[2017], ‘Enhancing deep learning sentiment analysis with ensemble techniques in
social applications’, Expert Systems with Applications 77, 236–246.
Bansal, Nikhil, Niv Buchbinder, Aleksander Madry & Joseph Seffi Naor [2015], ‘A
polylogarithmic-competitive algorithm for the k-server problem’, Journal of the
ACM (JACM) 62(5), 40.
Bartal, Yair & Elias Koutsoupias [2004], ‘On the competitive ratio of the work function
algorithm for the k -server problem’, Theoretical Computer Science pp. 337–345.
Bellman, Richard [1957], Dynamic Programming, Princeton University Press.
Bello, Irwan, Hieu Pham, Quoc V Le, Mohammad Norouzi & Samy io [2016], ‘Neu-
ral combinatorial optimization with reinforcement learning’, arXiv preprint ar-
Xiv:1611.09940 .
Bertsekas, Dimitri P. & John N. Tsitsiklis [1996], Neuro-Dynamic Programming, Athena
Scientific.
Bertsimas, Dimitris, Patrick Jaillet & Nikita Korolko [2019], ‘The k-server problem via a
modern optimization lens’, European Journal of Operational Research 276(1), 65–
78.
67
68 REFERÊNCIAS BIBLIOGRÁFICAS
Borodin, Allan, Nathan Linial & Michael E. Saks [1992], ‘An optimal online algorithm
for metrical task system’, Journal of the ACM pp. 745–763.
Borodin, Allan & Ran El-Yaniv [1998], Online Computation and Competitive Analysis,
Cambridge University Press.
Busoniu, Lucian, Robert Babuska, Bart De Schutter & Damien Ernst [2010], ‘Reinforce-
ment learning and dynamic programming using function approximators’, p. 260.
Costa, M L, C A A Padilha & J D Melo [2016], ‘Hierarchical Reinforcement Learning
and Parallel Computing Applied to the K-Server Problem’, IEEE Latin America
Transactions pp. 4351–4357.
Costa, Mademerson Leandro [2017], Uma Abordagem Utilizando Aprendizagem por Re-
forço Hierárquica e Computação Paralela para o Problema dos K-Servos., Tese de
doutorado.
Dehghani, S., S. Ehsani, M. Hajiaghayi, V. Liaghat & S. Seddighin [2017], ‘Stochastic k-
Server: How should uber work?’, Leibniz International Proceedings in Informatics,
LIPIcs pp. 1–18.
Glorot, Xavier & Yoshua Bengio [2010], Understanding the difficulty of training deep
feedforward neural networks, em ‘Proceedings of the thirteenth international confe-
rence on artificial intelligence and statistics’, pp. 249–256.
Goldbarg, Marco Cesar & Henrique Pacca L Luna [2000], ‘Otimização combinatória e
programação linear’, Editora Campus 2.
Goodfellow, Ian, Yoshua Bengio & Aaron Courville [2016], Deep Learning.
Grove, E. F. [1991], The harmonic online k-server algorithm is competitive, em ‘Pro-
ceedings of the Twenty-third Annual ACM Symposium on Theory of Computing’,
ACM, pp. 260–266.
REFERÊNCIAS BIBLIOGRÁFICAS 69
Gupta, Sushmita, Shahin Kamali & Alejandro López-Ortiz [2016], ‘On the advice com-
plexity of the k-server problem under sparse metrics’, Theory of Computing Systems
59(3), 476–499.
Haykin, Simon [1998], Neural Networks: A Comprehensive Foundation, 2ndª edição,
Prentice Hall PTR.
Hinton, G E & R R Salakhutdinov [2006], ‘Reducing the Dimensionality of Data with
Neural Networks’, Science pp. 504–507.
Huber, Peter J et al. [1964], ‘Robust estimation of a location parameter’, The annals of
mathematical statistics 35(1), 73–101.
Koutsoupias, Elias [2009], ‘The k-server problem’, Computer Science Review pp. 105–
18.
Koutsoupias, Elias & Christos H. Papadimitriou [1995], ‘On the k-server conjecture’, J.
ACM 42(5), 971–983.
Krizhevsky, Alex, Ilya Sutskever & Geoffrey E Hinton [2012], ‘ImageNet Classification
with Deep Convolutional Neural Networks’, Advances In Neural Information Pro-
cessing Systems pp. 1–9.
Lange, S. & M. Riedmiller [2010], Deep auto-encoder neural networks in reinforce-
ment learning, em ‘The 2010 International Joint Conference on Neural Networks
(IJCNN)’, pp. 1–8.
Leandro, Manoel [2005], Uma contribuição à solução do problema dos k-servos usando
aprendizagem por reforço, Dissertação de mestrado.
LeCun, Yann, Yoshua Bengio & Geoffrey Hinton [2015a], ‘Deep learning’, Nature .
70 REFERÊNCIAS BIBLIOGRÁFICAS
LeCun, Yann, Yoshua Bengio & Geoffrey Hinton [2015b], ‘Deep learning’, nature
521(7553), 436.
Li, Yuxi [2017], ‘Deep Reinforcement Learning: An Overview’, pp. 1–70.
Lima, Francisco Chagas [2009], Algoritmo Q-learning como Estratégia de Exploração e
/ ou Explotação para as Metaheurísticas GRASP e Algoritmo Genético ., Tese de
doutorado.
Lin, Long-ji [1993], Reinforcement Learning for Robots Using Neural Networks, Tese de
doutorado.
Manasse, M., L. McGeoch & D. Sleator [1988], ‘Competitive algorithms for on-line pro-
blems’, Proceedings of the twentieth annual ACM symposium on Theory of compu-
ting pp. 322–333.
Manoel Leandro, L., Adrião D.Dória Neto & Jorge D. Melo [2005], The k-server pro-
blem: A reinforcement learning approach, em ‘Proceedings of the International Joint
Conference on Neural Networks’.
Mao, Hongzi, Mohammad Alizadeh, Ishai Menache & Srikanth Kandula [2016], ‘Re-
source Management with Deep Reinforcement Learning’, Proceedings of the 15th
ACM Workshop on Hot Topics in Networks - HotNets ’16 pp. 50–56.
Mnih, Volodymyr, Koray Kavukcuoglu, David Silver, Andrei A. Rusu, Joel Veness,
Marc G. Bellemare, Alex Graves, Martin Riedmiller, Andreas K. Fidjeland, Georg
Ostrovski, Stig Petersen, Charles Beattie, Amir Sadik, Ioannis Antonoglou, Helen
King, Dharshan Kumaran, Daan Wierstra, Shane Legg & Demis Hassabis [2015],
‘Human-level control through deep reinforcement learning’, Nature pp. 529–533.
Raghavan, P. & M. Snir [1994], ‘Memory versus randomization in on-line algorithms’,
IBM J. Res. Dev. pp. 683–707.
REFERÊNCIAS BIBLIOGRÁFICAS 71
Ranzato, Marc Aurelio, Christopher Poultney, Sumit Chopra & Yann Lecun [2007], ‘Ef-
ficient Learning of Sparse Representations with an Energy-Based Model’, Advances
In Neural Information Processing Systems .
Riedmiller, Martin [2005], ‘Neural fitted Q iteration - First experiences with a data effi-
cient neural Reinforcement Learning method’, Lecture Notes in Computer Science
(including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in
Bioinformatics) pp. 317–328.
Rudec, Tomislav, Alfonzo Baumgartner & Robert Manger [2013], ‘A fast work function
algorithm for solving the k-server problem’, Central European Journal of Operati-
ons Research 21(1), 187–205.
Santana, Eder, Matthew Emigh & José C. Príncipe [2016], ‘Information theoretic-learning
auto-encoder’, arXiv:1603.06653 .
Schmidhuber, Jürgen [2015], ‘Deep Learning in neural networks: An overview’, Neural
Networks .
Silver, David, Aja Huang Chris J. Maddison, Arthur Guez, Laurent Sifre, George van den
Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc
Lanctot, Sander Dieleman, Dominik Grewe, John Nham, Nal Kalchbrenner, Ilya
Sutskever, Timothy Lillicrap, Madeleine Leach, Koray Kavukcuoglu, Thore Graepel
& Demis Hassabis [2016], ‘Mastering the game of Go with deep neural networks
and tree search’, Nature .
Silver, David, Julian Schrittwieser, Karen Simonyan, Ioannis Antonoglou, Aja Huang,
Arthur Guez, Thomas Hubert, Lucas Baker, Matthew Lai, Adrian Bolton, Yutian
Chen, Timothy Lillicrap, Fan Hui, Laurent Sifre, George van den Driessche, Thore
Graepel & Demis Hassabis [2017], ‘Mastering the game of Go without human kno-
wledge’, Nature pp. 354–359.
72 REFERÊNCIAS BIBLIOGRÁFICAS
Sleator, Daniel D. & Robert E. Tarjan [1985], ‘Amortized efficiency of list update and
paging rules’, Communications of the ACM pp. 202–208.
Srivastava, Nitish, Geoffrey E. Hinton, Alex Krizhevsky, Ilya Sutskever & Ruslan Sa-
lakhutdinov [2014], ‘Dropout : A Simple Way to Prevent Neural Networks from
Overfitting’, Journal of Machine Learning Research (JMLR) pp. 1929–1958.
Sutton, Richard S. & Andrew G. Barto [1998], Introduction to Reinforcement Learning,
MIT Press.
Sutton, Richard S & Andrew G Barto [2018], Reinforcement learning: An introduction,
MIT press.
Tesauro, Gerald [1995], ‘Temporal difference learning and TD-Gammon’, Communicati-
ons of the ACM pp. 58–68.
Watkins, Christopher J C H [1989], Learning from Delayed Rewards, Tese de doutorado.
Wu, Zonghan, Shirui Pan, Fengwen Chen, Guodong Long, Chengqi Zhang & Philip S
Yu [2019], ‘A comprehensive survey on graph neural networks’, arXiv preprint ar-
Xiv:1901.00596 .
Y. Bengio, P. Lamblin, D. Popovici & H. Larochelle [2007], ‘Greedy layer-wise training
of deep networks’, NIPS .