• Nenhum resultado encontrado

Aprendizagem por reforço profundo uma nova perspectiva sobre o problema dos k-servos

N/A
N/A
Protected

Academic year: 2021

Share "Aprendizagem por reforço profundo uma nova perspectiva sobre o problema dos k-servos"

Copied!
94
0
0

Texto

(1)

UNIVERSIDADEFEDERALDO RIO GRANDE DO NORTE

UNIVERSIDADEFEDERAL DORIOGRANDE DO NORTE

CENTRO DETECNOLOGIA

PROGRAMA DEPÓS-GRADUAÇÃO EMENGENHARIAELÉTRICA E DECOMPUTAÇÃO

Aprendizagem por reforço profundo uma nova

perspectiva sobre o problema dos k-servos

Ramon Augusto Sousa Lins

Orientador: Prof. Adrião Duarte Dória Neto

Tese de Doutorado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Doutor em Ciências.

Número de ordem PPgEEC: D267

Natal, RN, dezembro de 2019

(2)

Lins, Ramon Augusto Sousa.

Aprendizagem por reforço profundo uma nova perspectiva sobre o 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 Engenharia Elé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ção

combinató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

(3)
(4)
(5)
(6)
(7)

À minha Esposa e filha, Isabel e

Cecília, minhas fontes de inspiração.

(8)
(9)

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íram imensamente 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 eles nada disso seria possível.

(10)
(11)

Resumo

O problema dos k-servos em um grafo ponderado (ou espaço métrico) é definido pela necessidade de mover eficientemente k servos para atender uma sequência de requisições que 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 para diversas 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 conceitual contrasta 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-learning foi utilizado na solução de pequenas instâncias do problema dos k-servos. A solução ficou restrita à pequenas dimensões do problema pois sua estrutura de armazenamento cresce exponencialmente com o aumento do número de nós e servos. Este problema, conhecido como maldição de dimensionalidade, torna ineficiente ou até impossibilita a execução do algoritmo 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ós separados 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ção de 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 definida por

C

n,k '

O

(nk), é possível perceber que o aumento do número de servos pode torná-la

rapidamente limitada pelo problema da maldição da dimensionalidade. Para contornar esta barreira, o problema dos k-servos foi modelado como um problema de aprendizagem por reforço profundo cuja a função de valor estado-ação foi definida por uma rede neural perceptron de múltiplas camadas capaz de extrair as informações do ambiente a partir de 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 problema foram 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 quantificaram a 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 dos k-servos.

Palavras-chaves: Aprendizado por reforço profundo, Problemas online, O problema dos k-Servos, Otimização combinatória, Localização competitiva.

(12)
(13)

Abstract

The k-server problem in a weighted graph (or metric space) is defined by the need to efficiently move k servers to fulfill a sequence of requests that arise online at each graph node. This is perhaps the most influential online computation problem whose solution remains open, serving as an abstraction for a variety of applications, as buying and selling of currencies, reassign processes in a parallel processing for load balancing, online trans-portation service, probe management of oil production rigs, among others. Its conceptual simplicity contrasts with its computational complexity that grows exponentially with the increasing number of nodes and servers. Prior to this work, the Q-learning algorithm was used to solve small instances of the k-server problem. The solution was restricted to small dimensions of the problem because its storage structure grows exponentially with the increase in the number of nodes and servers. This problem, known as the curse of dimensionality, makes the algorithm inefficient or even impossible to execute for certain instances of the problem. To handle with larger dimensions, Q-learning together with the greedy algorithm were applied to a small number of nodes separated into different clus-ters (hierarchical approach). The local policy obtained from each cluster, together with greedy policy, were used to form a global policy satisfactorily addressing large instances of the problem. The results were compared to important algorithms in the literature, as the Work 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 defined by

C

n,k '

O

(nk)It can be seen that the increase in the number of servers can be quickly

limited by the problem of the curse of dimensionality. To circumvent this barrier, the k-server problem was modeled as a deep reinforcement learning task whose state-action value 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 analyzed during the training phase and their performance was evaluated from performance tests that quantified the quality of the displacement policies of the servers generated. The results provide 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.

(14)
(15)

Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas v

Lista de Símbolos e Abreviaturas vii

1 Introdução 1

1.1 Motivação . . . 2

1.2 Objetivos . . . 4

1.3 Estado da Arte . . . 6

1.4 Organização do Trabalho . . . 10

2 Problema dos k-servos 11 2.1 Problemas de otimização online e offline . . . 11

2.2 Formulação do modelo dos k-servos . . . 13

2.3 Aplicação prática . . . 14

3 Fundamentos de Aprendizagem Profunda 17 3.1 Conceitos Fundamentais . . . 17

3.2 Visão Geral . . . 21

3.3 Modelo típico de aprendizagem . . . 21

3.4 Rede Neural de Múltiplas Camadas . . . 23

3.4.1 Computação para frente . . . 23

3.4.2 Computação para trás . . . 25

3.4.3 Regularização . . . 27

4 Aprendizagem por Reforço 29 4.1 Visão Geral . . . 30

4.2 Processo de Decisão de Markov . . . 31

4.3 Função Valor . . . 32

4.4 Diferença Temporal (Temporal Difference - TD) . . . 34

4.4.1 Q-learning . . . 34

4.4.2 Semi-gradient Q-learning . . . 35 i

(16)

5.3 Ações e observações futuras . . . 44

5.4 Rede neural perceptron de múltiplas camadas . . . 44

5.5 Recompensa e retorno . . . 45

5.6 Interação agente-ambiente . . . 46

5.7 Algoritmo . . . 47

6 Resultados 49 6.1 Problema de emergência móvel online . . . 50

6.1.1 Conceito . . . 50 6.1.2 Formalização . . . 50 6.2 Estudo de casos . . . 51 6.2.1 Configurações iniciais . . . 51 6.2.2 Hiperparâmetros . . . 52 6.3 Análise de desempenho . . . 54

6.3.1 Curvas de aprendizagem Q-learning . . . 54

6.3.2 Curvas de aprendizagem aproximada . . . 54

6.3.3 Testes de pontuação . . . 56

6.4 Análise dos resultados . . . 61

7 Conclusões, discussões e perspectivas 63 7.1 Discussões . . . 64

7.2 Perspectivas futuras . . . 65

7.3 Publicação . . . 66

(17)

Lista de Figuras

2.1 Distribuição inicial dos servos e requisição no problema dos k-servos. . . 14

2.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 . . . 19

3.2 Aprendizagem profunda aplicada a um problema de classificação. . . 20

3.3 Visão geral de sistemas inteligentes. . . 21

3.4 Visão simplificada de uma rede MLP. . . 23

3.5 Computação para frente . . . 24

3.6 Regra da cadeia . . . 26

3.7 Retropropagação do erro . . . 27

3.8 Método de regularização dropout . . . 28

4.1 Interação do agente com ambiente na aprendizagem por reforço . . . 31

4.2 Diagrama de backup para Vp 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. . . 43

5.3 Outro exemplo com 5 nós e 2 servos. . . 43

5.4 Espaço de ações para o exemplo da figura 5.2 . . . 44

5.5 Arquitetura da rede neural. . . 45

5.6 Função de recompensa. . . 46

5.7 O problema dos k-servos como uma tarefa de aprendizagem por reforço profunda. . . 46

6.1 Valor estado-ação (Q-learning). . . 55

6.2 Valor estado-ação (rede neural). . . 55

6.3 Função custo. . . 56

6.4 Crescimento da estrutura de armazenamento dos algoritmos. . . 61

(18)
(19)

Lista de Tabelas

6.1 Tabela de hiperparâmetros I. . . 53 6.2 Tabela de hiperparâmetros II. . . 54 6.3 Comparação entre os algoritmos para cidade com 9 regiões e 2 ambulâncias. 57 6.4 Comparação entre os algoritmos para cidade com 9 regiões e 4 ambulâncias 57 6.5 Comparação entre os algoritmos para a cidade com 10 regiões e 2

ambu-lâncias. . . 58 6.6 Comparação entre os algoritmos para a cidade com 15 regiões e 2

ambu-lâncias . . . 58 6.7 Comparação entre os algoritmos para a cidade com 20 regiões e 2

ambu-lâncias . . . 59 6.8 Comparação entre os algoritmos para a cidade com 20 regiões e 3

ambu-lâncias . . . 59 6.9 Comparação entre os algoritmos para a cidade com 20 regiões e 4

ambu-lâncias . . . 60 6.10 Comparação entre os algoritmos para a cidade com 20 regiões e 5

ambu-lâncias . . . 60

(20)
(21)

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

(22)
(23)

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

(24)

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

(25)

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

(26)

"infi-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].

(27)

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;

(28)

práti-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 funcombina-çã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

(29)

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, lele-vando 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

(30)

algo-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 visita(esta-dos) 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á

(31)

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 rere-forç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.

(32)

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 rere-sultados obtidos, algumas conclusões a respeito do trabalho, como também algumas propostas de ideias para trabalhos futuros.

(33)

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 paginaabstra-çã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, localilocali-zaçã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

(34)

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) = min

O2F(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

(35)

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)=nk(t)

1,i,k2,i(t), . . . ,k(t)l,i, . . . ,kk,i(t)

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 =ns(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 kl,i(t)para atender s(t)j a partir de k(t)=nk(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)=nk(0)

1,2,k(0)2,3

o

(36)

Figura 2.1: Distribuição inicial dos servos e requisição no problema dos k-servos. Se k(0)2,3for deslocado para atender a s(0)4 , uma nova distribuição denotada como k(1)=

n

k1,2(1),k2,4(1)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.

(37)

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 =ns(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 totalÂm

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.

(38)
(39)

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

(40)

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 deciregres-sã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 xjque 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+exp(−av)1 ,

(41)

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 jxj+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.

(42)

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].

(43)

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.

(44)

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 dadosx; 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.

(45)

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íday(L)usando como

entrada a saíday(L−1)da camada anterior com parâmetros b(L)(bias) ew(L)(os pesos). A

(46)

camada anteriory(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 = ˆyjrepresenta os valores de saída da rede, o sinal de erro é dado por

ej=yj−ˆyj, onde yjé o j-ésimo elemento da saída de referência (aprendizagem supervi-sionada). Através do erro ej a função custo mede a diferença entre a saída de referência

yj e a estimada ˆyj. 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íday condicionada aos dados de entradax. 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

(47)

quadrá-3.4. REDE NEURAL DE MÚLTIPLAS CAMADAS 25 tico, se p(y |x) =

N

(y; ˆy,I), então

J(w) = 1

2Ex,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

(48)

determinístico que utiliza todo conjunto de dados sendo definido como:

wJ = Ex,y⇠ ˆpw[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ênciay em função da média destas amostras. Este método é conhecido como o gradiente descendente estocástico (SGD) sendo definido

(49)

3.4. REDE NEURAL DE MÚLTIPLAS CAMADAS 27

Figura 3.7: Retropropagação do erro como:

ˆ

—qJ(q) = Exm,ympq[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.

(50)

Basica-mente as unidades e conexões são desconsideradas aleatoriaBasica-mente (e temporariaBasica-mente) 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.

(51)

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

(52)

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 dereforço rt é fornecido

ao agente. O objetivo do agente é aprender umapolí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

(53)

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 afunçã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 2S e seleciona um conjunto de ações at2A, 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 eses-tados, ações e recompensas em um episódio

(54)

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=0gkrt+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 Vp(s) é

formalmente definida como Vp(s) ⌘ E p{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) ⌘ max

p V

p(s).

De maneira similar, a função valor estado-ação2dada uma política p representada por

Qp(s,a) é definida como

(55)

4.3. FUNÇÃO VALOR 33 Qp(s,a) ⌘ E p{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) ⌘ max

p Q

p(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⇥r

t+1+ gmax

at+1 Q

(s

t+1,at+1)|st=s,at=a⇤ (4.3)

equação que expressa a relação entre o valor do ação presente e o valor de estado-ação sucessor [Sutton & Barto 2018]. Esta relestado-ação pode ser representada por meio de um diagrama de backup como mostra a figura 4.2.

Figura 4.2: Diagrama de backup para Vpe 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[r

t+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+1denotado por s0 [Sutton & Barto 2018]. A

partir do cálculo de Q⇤a política ótima é dada por p(s) = argmax

(56)

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+ gmaxa

t+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-Learning

1 início

2 Inicialize Q(s,a) aleatoriamente 3 repita

4 Inicialize s 5 repita

6 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 + gmax

a0 Q(s

0,a0) −Q(s,a)]

9 até o passo final do episódio ser atingido; 10 até o episódio máximo ser atingido;

(57)

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⇤=argmaxaq(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).

Referências

Documentos relacionados

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

O 6º ano do Mestrado Integrado em Medicina (MIM) é um estágio profissionalizante (EP) que inclui os estágios parcelares de Medicina Interna, Cirurgia Geral,

Todas as relações causa-efeito que se estabelecem no mapa estratégico tem nos objetivos financeiros os seus objetivos finais, sendo que desta forma, todos os restantes

Assim, almeja-se que as ações propostas para a reformulação do sistema sejam implementadas na SEDUC/AM e que esse processo seja algo construtivo não apenas para os

No capítulo 4 são abordados os principais resultados obtidos diante das restrições impostas à coleta de dados, bem como a avaliação dos dados obtidos caracterizando os períodos

A medida de adoecimento emocional proposta na presente pesquisa teve por base estudos sobre a saúde mental do policial militar, que indicam que a depressão é

Entre os motivos para que seja utilizada a biografia institucional está a possibilidade de se fazer o estudo da história de uma organização, que pode, de acordo com Mendes

O setor de energia é muito explorado por Rifkin, que desenvolveu o tema numa obra específica de 2004, denominada The Hydrogen Economy (RIFKIN, 2004). Em nenhuma outra área