Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO TECNOLÓGICO
DEPARTAMENTO DE
INFORMÁTICA E ESTATÍSTICA
CURSO DE SISTEMAS DE INFORMAÇÃO
Orientador:
Prof. Dr. Jônata Tyska Carvalho
Coorientadora:
Profa. Dra. Jerusa Marchi
Florianópolis
2022
RODOLFO DARTORA DA SILVA
Orientador:
___________________________________________________
Prof. Dr. Jônata Tyska Carvalho
UFSC
Coorientadora:
___________________________________________________
Profa. Dra. Jerusa Marchi
UFSC
Banca Examinadora:
___________________________________________________
Prof. Dr. Rafael de Santiago
UFSC
RESUMO
Agradeço imensamente a minha família, meus amigos e amigas. Foi fundamental contar
com este apoio em todo o processo de formação acadêmica, desde o vestibular até o presente
trabalho. Sobretudo, quero agradecer ao meu Orientador e minha Coorientadora por todo
acolhimento pedagógico ao longo do processo de elaboração deste trabalho, bem como meu
caro colega de pesquisa Arthur Plautz Ventura, que colaborou de forma relevante para esta
pesquisa.
LISTA DE ILUSTRAÇÕES
AM Aprendizado de Máquina
AR Aprendizado por Reforço
RNA Redes Neurais Artificiais
AE Algoritmos Evolutivos
RE Robótica Evolutiva
AC Aprendizado Curricular
VSLAM Visual Simultaneous localization and mapping
ARP Aprendizado por Reforço Profundo
ADR Automatic Domain Randomization
SUMÁRIO
1. INTRODUÇÃO 11
1.2. OBJETIVOS 13
2. CONTEXTUALIZAÇÃO 14
2.1.2.1. OpenAIES 20
2.3. O SIMULADOR 22
3. TRABALHOS CORRELATOS 24
4. PROPOSTA 31
4.2. O EXPERIMENTO 33
4.2.1. Cenários 33
5. RESULTADOS E DISCUSSÃO 37
5.1 RESULTADOS TREINAMENTO REDE CLASSIFICADORA 37
6. CONSIDERAÇÕES FINAIS 43
7. REFERÊNCIAS 45
11
1. INTRODUÇÃO
Inteligência Artificial (IA) é uma área abrangente com uma grande diversidade de
técnicas aplicadas a inúmeros problemas, no entanto problemas que exigem agentes autônomos
com capacidade adaptativa são desafiadores para a IA (DONCIEUX et al., 2015). Considerando
que o desenvolvimento de agentes autônomos é fundamental para o avanço das pesquisas, para
o desenvolvimento e para a inovação em áreas promissoras como a Robótica Adaptativa, torna
se necessário o estudo e desenvolvimento de métodos de IA capazes de gerar tais soluções.
Um conjunto de técnicas utilizadas com frequência na geração de comportamento
autônomo adaptativo ancorase em uma subárea da IA chamada Aprendizado de Máquina
(AM). Tal área tem por objetivo desenvolver métodos, técnicas e ferramentas para construir
máquinas inteligentes capazes de realizar as mais diversas tarefas (ANDRADE, 2011). De
acordo com Mitchell (1997), essas máquinas devem treinar sobre determinado conjunto de
amostras e adquirir conhecimento de forma automática.
Dentre as diferentes técnicas de AM, o Aprendizado por Reforço (AR) trata do problema
de como um agente deve agir em seu ambiente ao longo do tempo de modo a potencializar
algum sinal de recompensa (NARKEVAR et al., 2020). Outra técnica amplamente utilizada em
AM são as Redes Neurais Artificiais (RNA). As RNA’s são modelos matemáticos inspirados
no funcionamento de um cérebro biológico, e são aplicadas na solução de problemas de
regressão e classificação, isto é, predição de valores contínuos e discretos, respectivamente,
com base em dados de entrada (RUMELHART et al., 1988). Tais modelos são capazes de tomar
decisões baseadas em um processo de treinamento prévio, chamado de aprendizado, adquirindo
conhecimento através da experiência. O processo de construção de tais redes depende da técnica
utilizada, mas em certa medida ele se dá por meio da exploração, teste e ajustes do modelo de
acordo com as experiências (dados) disponíveis (ANDRADE, 2011).
Um conhecido conjunto de métodos usados para construir redes neurais são os
Algoritmos Evolutivos (AEs). Tais métodos baseiamse na teoria da evolução, que combina
ideias inspiradas na genética (DARWIN, 1871) e seleção natural (WALLACE, 1878). Uma
espécie de seleção natural computacional que seleciona o mais adequado agente ou solução
para então reproduzilos nas próximas gerações. A combinação de AEs com RNAs é chamada
de Neuroevolução (LEHMAN; MIIKKULAINEN, 2013), tratase da construção de uma rede
neural através de AEs, especificamente por meio do ajuste iterativo dos pesos da rede usando
uma função objetivo, ou função de fitness.
12
A Neuroevolução vem sendo muito utilizada para criar robôs mais robustos e
adaptáveis, é considerada uma abordagem inovadora e de aplicabilidade mais ampla que
métodos de aprendizado supervisionado, pois exige apenas uma medida de desempenho e
dispensa rótulos, além de ser menos propensa a ficar presa em mínimos locais e com grande
capacidade de generalização (LEHMAN; MIIKKULAINEN, 2013). Uma vez que o
aprendizado desenvolvido em simulações, pode ser aplicado em robôs físicos a fim de verificar
a capacidade dos mesmos de manter um comportamento inteligente no ambiente real, esta é
denominada como a capacidade de atravessar a lacuna da realidade (NOLFI, 2021). No
processo de treinamento dos agentes robóticos usando redes neurais, para ajustar os pesos da
rede é necessário avaliar o comportamento do agente em diferentes condições ambientais. Para
isso se faz necessária a geração de diversas condições iniciais, do robô e objetos envolvidos na
tarefa em questão, que serão utilizadas para avaliar o robô a cada geração. Tais condições são
normalmente geradas de forma aleatória, porém existem pesquisas explorando formas
específicas de gerar esse conjunto de condições de forma a tornar o processo evolutivo mais
efetivo.
1.2. OBJETIVOS
2. CONTEXTUALIZAÇÃO
O carrinho tem uma massa de 1 kg. O Poste longo (l1) e o Poste curto (l2) têm massa de
0,5 e 0,25 kg e comprimento de 1,0 e 0,5 m, respectivamente. O agente possui três sensores,
que codificam a posição (𝑥) atual do carrinho na pista e o ângulo atual dos dois postes (θ1 e θ2)
e um motor. O estado de ativação do motor é normalizado na faixa [−
10,0, 10,0] Newton e é usado para definir a força aplicada ao carrinho. As
condições ambientais que estão sujeitas a variação, no caso deste problema, são a
posição[− 1.944 < 𝑥 < 1.944] e velocidade [− 1.215 < 𝑥˙ < 1.215] inicial do carrinho.
A posição angular inicial do poste 1 [− 0.0472 < 𝜃1 < 0.0472] e do poste 2 [− 0.10472 <
𝜃2 < 0.10472] e suas velocidades angulares estão compreendidas na faixa
[− 0.135088, 0.135088].
apresentado pelos autores (Figura 4) a função de dificuldade com potência cúbica apresenta a
melhor proporção de condições fáceis e difíceis para o problema de balanceamento de dois
postes.
Figura 4 Benchmark entre algoritmo padrão e o de curriculum learning com diferentes funções de dificuldade.
Nas seções seguintes será explicado cada componente do diagrama (Figura 2) acima, os
principais pontos relevantes da pesquisa de referência para o trabalho e como se relacionam.
2.1.2.1. OpenAIES
Para evoluir os pesos de conexão do controlador de rede neural usamos a estratégia
evolutiva OpenAI proposta por Salimans et al. (2017) o algoritmo opera em uma população
centrada em um único pai e utiliza uma forma do método de diferenças finitas para estimar o
gradiente da aptidão esperada, e atualiza o centro da distribuição populacional com o otimizador
estocástico de Adam proposto por Kingma et al. (2014) e amplamente utilizado no treinamento
agentes evolutivos.
A estratégia evolutiva descrita na Figura 5 gera a cada geração os vetores gaussianos ε
que são usados para fazer os agentes descendentes, ou seja, as versões perturbadas do pai (linha
4), que são avaliadas (linhas 56) em η episódios com condições ambientais
diferentes (linhas 5-6) e então os valores médios de aptidão obtidos
durante os episódios de avaliação são classificados e normalizados
no intervalo [−0,5, 0,5] (linha 7). Essa normalização torna o
algoritmo invariante à distribuição dos valores de aptidão e reduz
o efeito de outliers. O gradiente estimado g corresponde à média do produto escalar das
amostras ε e dos valores de fitness normalizados (linha 8). Finalmente, o gradiente é usado para
atualizar os parâmetros do pai através do otimizador estocástico Adam (linha 9).
21
2.3. O SIMULADOR
Uma ferramenta útil que pode ser usada para simular o robô, o ambiente e sua interação
é o AIGym (https://gym.openai.com BROCKMAN et al., 2016). A ferramenta inclui uma
biblioteca de problemas adaptativos prontos para uso (chamados de ambientes); facilita a
implementação de novos ambientes e introduz um padrão de programação que permite criar
algoritmos que podem ser aplicados diretamente em qualquer ambiente AIGym sem
modificações. Baseandose nessa extensão facilitada da ferramenta acima citada, o simulador
Evorobotpy2 (NOLFI, 2021) inclui ambientes adicionais complementares e fornece ambiente
de execução e visualização para aprendizado de máquina voltado a robôs, a partir de paradigmas
de Aprendizado Evolutivo e de Reforço. O simulador é caracterizado pela simplicidade e
eficiência computacional, e roda em Linux, MacOS e Windows.
sensoriais, 10 unidades internas e 1 neurônio motor. Utiliza uma rede LSTM, pois o problema
exige determinar as ações também com base na observação/estado interno/ação anterior.
24
3. TRABALHOS CORRELATOS
Aprendizado por Reforço (AR) trata do problema de como um agente deve agir em seu
ambiente ao longo do tempo, de modo a maximizar algum sinal de recompensa escalar. Na
configuração padrão de aprendizado por reforço, um agente geralmente começa com uma
política aleatória e tenta diretamente aprender uma política otimizada para a tarefa alvo. Quando
a tarefa é difícil, por exemplo, devido a agentes adversários, má representação do estado ou
recompensa escassa, o aprendizado pode ser muito lento (NARKEVAR et al., 2020).
Para mitigar esse problema, a aprendizagem por transferência, que é uma classe de
métodos e uma área de pesquisa que busca acelerar a formação de agentes de AR, propõe que
ao invés de aprender na tarefa de destino, o agente pode primeiro treinar em uma ou mais
subtarefas da tarefa de destino. À medida que o conhecimento é transferido de uma tarefa para
a próxima, a sequência de tarefas induz um currículo. A Figura 6 ilustra um exemplo motivador:
Figura 6 Diferentes subjogos no jogo de Xadrez Rápido, que são usados para formar um currículo para
aprender o jogo completo de Xadrez.
Nos últimos 60 anos de robótica, tarefas difíceis que os humanos realizam com suas
mãos exigiram o projeto de um robô personalizado para cada tarefa (OPENAI et al., 2019).
Resolver o cubo mágico de rubik com uma mão é uma tarefa desafiadora até mesmo para
humanos, logo treinar com sucesso uma mão robótica para realizar tarefas de manipulação
complexas estabelece a base para robôs generalistas.
27
Figura 7 Mão robótica treinada com aprendizado por reforço e randomização automática de domínio
resolvendo um cubo mágico
O Artigo propõe treinar um par de redes neurais para resolver a tarefa com uma mão
robótica, conforme mostra a Figura 7, semelhante à humana. Utilizando redes neurais utilizadas
são treinadas inteiramente em simulação, usando o mesmo código de aprendizado por reforço
que o OpenAI Five juntamente com uma nova técnica chamada Automatic Domain
Randomization (ADR) que consiste em aumentar a quantidade de randomização das tarefas
geradas, conforme o agente atinge um determinado desempenho. O Método proposto resolve o
problema da randomização manual expandindo automaticamente seus intervalos ao longo do
treinamento, isto elimina a necessidade de conhecimento de domínio e simplifica a aplicação
em novas tarefas. Essa forma de gerar um currículo com tarefas mais desafiadoras leva a rede
neural a aprimorar a capacidade de generalizar o conhecimento adquirido em ambientes mais
aleatórios, esse processo se repete toda vez que o desempenho alvo é alcançado.
Um dos parâmetros randomizados é o tamanho do Cubo, o método começa com um
tamanho fixo e aumenta gradualmente o intervalo de randomização à medida que o treinamento
avança. Aplicase a mesma técnica a todos os outros parâmetros, como a massa do cubo, a
fricção dos dedos do robô e os materiais da superfície visual da mão. A rede neural, portanto,
precisa aprender a resolver a tarefa sob a variação dessas condições que tornamse cada vez
mais difíceis.
Para testar os limites do método, aplicouse uma variedade de perturbações enquanto a
mão resolvia a tarefa, isso testou não apenas a robustez da rede de controle como também a
rede de visão usada para estimar a orientação do cubo. Descobriuse que o sistema treinado com
28
ADR é surpreendentemente robusto a perturbações, o robô foi capaz de realizar a maioria das
viradas e rotações de face do cubo sob todas perturbações testadas, mesmo que sem o melhor
desempenho.
O sistema pode lidar com situações que nunca viu durante o treinamento, como o ruído
de ser esbarrado por algum objeto, isso mostra que o aprendizado por reforço não é apenas uma
ferramenta para tarefas virtuais, mas pode resolver problemas do mundo real que exigem
destreza sem precedentes.
Nolfi 2021 consiste em préavaliar em um grid sistemático com 729 possíveis conjuntos de
condições iniciais. O método trouxe resultados interessantes, e inspirou nossa investigação no
sentido de substituir a criação manual e sistemática por uma forma automatizada. Assim,
possibilitando a escalabilidade do método curricular que será capaz de lidar com problemas em
que o currículo tenha uma quantidade maior de variáveis. Então pretendese utilizar o mesmo
paradigma, evolutivo, na rede principal e treinar uma nova rede neural para classificar as
condições antes do agente ser exposto à tarefa, e de acordo com essa classificação definir se a
tarefa é adequada para o momento do treinamento.
4. PROPOSTA
4.2. O EXPERIMENTO
4.2.1. Cenários
(2021). É interessante observar que o desempenho das condições ambientais é calculado com
base na aptidão obtida por agentes em evolução. Assim, os valores de desempenho não indicam
um nível absoluto de dificuldade, mas sim o nível de dificuldade relativo às habilidades dos
atuais agentes em evolução. Por isso é importante, eventualmente, retreinar a RNA
classificadora com o intuito de mantêla eficiente frente ao atual nível de aptidão do agente em
relação aos ambientes.
5. RESULTADOS E DISCUSSÃO
Nessa seção foram reportados os resultados obtidos com o treinamento ocorrendo com
o método de aprendizado curricular proposto em comparação ao treinamento sem currículo.
Como o número de episódios foi definido em 50, cada episódio possui um conjunto de seis
condições iniciais classificado como difícil ou fácil. Assim sendo, no currículo a proporção
utilizada variou, por exemplo, 10 difíceis (20%) e 40 fáceis (80%). Foram testadas as diferentes
proporções descritas na Tabela 3.
d00:f10 0% 100%
d10:f00 100% 0%
Fonte: Elaborado pelo autor.
39
A Figura 10, traz o desempenho do agente evolutivo sendo treinado com o método
curricular (linha vermelha) aqui proposto em relação ao algoritmo padrão (linha azul). Sendo
exposto aos seis currículos descritos na Tabela 3, o primeiro gráfico da coluna da esquerda é o
d00:f10, o primeiro da coluna da direita é o currículo d02:f08 e assim sucessivamente até o
último gráfico da coluna da direita ser o referente ao currículo d10:00.
Figura 10 Média da aptidão de cinco agentes treinados com cada configuração currículo em relação ao
algoritmo padrão (OpenAIES).
d00f10, na Figura 10 é o primeiro gráfico à esquerda . Em outros casos o inverso sucede, e isso
devese ao fato de que a cada episódio tem até 1000 passos. Assim a pontuação máxima é de
1000 pontos por episódio, e em condições fáceis essa pontuação é atingida com maior
frequência. O critério de parada do algoritmo evolutivo é um número máximo de passos, e
dependendo do currículo esse critério é atingido antes ou depois. Isso não implica em um tempo
maior de simulação, apenas no número total de gerações.
Fazse necessário após o treinamento do agente evolutivo avaliálo novamente em um
conjunto de teste, ou seja, testar a performance real do agente em um conjunto tarefas aleatórias
a fim de analisar a média da aptidão obtida após o treinamento baseado nos currículos. Assim
como na pesquisa de referência, utilizouse um conjunto de testes de 1000 condições aleatórias.
E assim foram testados os melhores agentes de cada currículo, conforme mostra abaixo a Figura
11. Notase pontos discrepantes em dois currículos, o d02:f08 e o d06:f04, da esquerda para a
direita, a terceira caixa e a quinta caixa respectivamente. O currículo d02:f08 tem a maior
concentração de resultados com a performance próxima de 760 pontos, no entanto um ponto
discrepante em 770 e outro inferior abaixo de 740 pontos.
Figura 12 Média da aptidão de dez agentes treinados com algoritmo padrão versus currículo(d08:f02).
No caso reportado pelos autores Milano & Nolfi 2021, há um aumento relativo com
melhor currículo, ou seja, o currículo com função de seleção utilizando a base cúbica foi de
13% em relação ao algoritmo padrão. No caso deste trabalho, como mostra a Figura 12, o
aumento do desempenho foi de 4% com o melhor currículo(d08:f02) em relação ao algoritmo
42
padrão. Consideramos aqui a mediana para calcular a diferença relativa. Desta maneira
comprovouse que a classificação e ordenação automática dos episódios de forma a gerar
currículos auxilia no aprendizado do agente evolutivo.
43
6. CONSIDERAÇÕES FINAIS
Este trabalho apresentou uma abordagem para tentar prever quais ambientes são mais
adequados para a composição de um currículo utilizando uma rede neural classificadora. Foram
detalhadas as diversas etapas desta metodologia, e apresentados os resultados do melhor cenário
de treinamento da rede classificadora dentre os cenários propostos: com dados históricos,
aleatórios e sistematizados. Por fim, foi integrada a rede classificadora ao processo de
treinamento no simulador Evorobotpy2 e reportados os resultados.
Conforme suposto inicialmente, nem todas as configurações de currículos propostos
melhoraram a performance do treinamento dos agentes evolutivos no problema de
balanceamento de postes duplos. No entanto, o modelo utilizado classifica de forma binária e
isso impossibilita a replicação de algumas etapas feitas na pesquisa de referência, como a função
de dificuldade para seleção das tarefas. Fezse então uma comparação relativa dos resultados,
o método automático aqui proposto é capaz de escalar para problemas com maior
complexidade, ou seja, com mais variáveis ambientais ou do agente evolutivo sujeitas a
variação. Isso, sem aumentar exponencialmente o tempo de geração dos currículos como é no
caso da geração manual proposta na pesquisa de referência. Os resultados da aptidão com o
melhor currículo em relação ao algoritmo padrão (OpenAIES) mostram que há um ligeiro
aumento na performance do agente evolutivo. Assim, traz mais uma evidência de que o método
automático de geração de currículo em tempo de execução é promissor e requer mais pesquisas.
Da mesma forma que na pesquisa de referência, a configuração de currículo que trouxe
melhor desempenho foi um currículo predominantemente difícil e com algumas condições
fáceis. Podese dizer que houve uma melhora no processo de treinamento da rede
neuroevolutiva e a confirmação dos indícios e evidências existentes nos artigos mais recentes.
de currículo e treinamento em outro problema que também exija lidar com condições ambientais
significativamente variantes.
De qualquer forma, o trabalho suscitou uma experiência muito significativa em machine
learning, mais especificamente em curriculum learning e robótica evolutiva. Evidentemente,
sempre há pontos passíveis de melhoria em qualquer trabalho. Deixamos aqui algumas
sugestões de melhorias e de trabalhos futuros.
Sugestões de Melhorias:
● Explorar outros modelos para a tarefa de predição de desempenho;
● Utilizar processamento em nuvem, o que possibilitaria utilizar máquinas poderosas e
tornar muito mais rápidas as pesquisas por combinações ótimas de hiperparâmetros;
● Executar o tuning exaustivo dos modelos em busca de uma melhor configuração de
hiperparâmetros;
● Testar diferentes proporções de currículo, de forma dinâmica, durante o treinamento do
agente evolutivo. Começar com todas condições fáceis, fazer alterações ao longo do
processo, até que ao final, o currículo seja inteiramente de condições classificadas como
difíceis;
● Utilizar um modelo regressor e então aplicar funções de dificuldade quadrática e cúbica;
● Ao invés de decidir quais condições são fáceis e difíceis através de um valor arbitrário,
coletar ao longo do treinamento as condições atuais e ordenálas da mais fácil para a
mais difícil. E utilizar da mediana como limiar para separação entre fáceis e difíceis;
45
7. REFERÊNCIAS
BENGIO, Yoshua et al. Curriculum learning. In: Proceedings of the 26th annual international
conference on machine learning. 2009. p. 4148.
DONCIEUX, Stephane et al. Evolutionary robotics: what, why, and where to. Frontiers in
Robotics and AI, v. 2, p. 4, 2015.
GERS, Felix A.; SCHMIDHUBER, E. LSTM recurrent networks learn simple contextfree
and contextsensitive languages. IEEE transactions on neural networks, v. 12, n. 6, p. 1333
1340, 2001.
HEYER, Clint. Humanrobot interaction and future industrial robotics applications. In:
2010 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2010. p.
47494754.
46
KINGMA, Diederik P.; BA, Jimmy. Adam: A method for stochastic optimization. arXiv
preprint arXiv:1412.6980, 2014.
MILANO, Nicola; NOLFI, Stefano. Automated curriculum learning for embodied agents a
neuroevolutionary approach. Scientific reports, v. 11, n. 1, p. 114, 2021.
MORAD, Steven D. et al. Embodied visual navigation with automatic curriculum learning
in real environments. IEEE Robotics and Automation Letters, v. 6, n. 2, p. 683690, 2021.
NOLFI, Stefano. Behavioral and cognitive robotics: an adaptive perspective. Stefano Nolfi,
2021.
OPENAI, I. Akkaya et al. Solving rubik’s cube with a robot hand. arXiv preprint
arXiv:1910.07113, v. 10, 2019.
RUMELHART, David E. et al. Parallel distributed processing. New York: IEEE, 1988.
SKINNER, Burrhus F. Reinforcement today. American Psychologist, v. 13, n. 3, p. 94, 1958.
WIELAND, Alexis P. Evolving controls for unstable systems. In: Connectionist Models.
Morgan Kaufmann, 1991. p. 91102.
APÊNDICES
49
são importantes, mas é necessário um pouco mais de atenção em um ou outro, como quando os
falsos negativos são mais importantes do que os falsos positivos, ou o inverso, e também quando
há desbalanceamento nas classes.
51
APÊNDICE B – O Artigo
Aprendizado Baseado em Currículo Aplicado à Robótica
Adaptativa
Rodolfo Dartora da Silva1
1
Departamento de Informática e Estatísticas - Universidade Federal de Santa Catarina
(UFSC)
Florianópolis - SC - Brasil
rodolfo.ds@grad.ufsc.br
1. Introdução
Inteligência Artificial (IA) é uma área abrangente com uma grande diversidade de
técnicas aplicadas a inúmeros problemas, no entanto problemas que exigem agentes
autônomos com capacidade adaptativa são desafiadores para a IA (DONCIEUX et al.,
2015). Considerando que a geração de agentes autônomos é fundamental para o avanço
das pesquisas, para o desenvolvimento e para a inovação em áreas promissoras como a
Robótica Adaptativa, torna-se necessário o estudo, a criação e o aprimoramento de
métodos de IA capazes de gerar tais soluções. Aplica-se comumente métodos de
Aprendizado de Máquina (AM) na geração de comportamento adaptativo, de acordo
com Mitchell (1997), máquinas dotadas da capacidade de aprendizado devem treinar
sobre determinado conjunto de amostras e adquirir conhecimento de forma automática.
As Redes Neurais Artificiais (RNAs) são amplamente utilizadas em AM e são modelos
matemáticos inspirados no funcionamento de um cérebro biológico. São aplicadas na
solução de problemas de regressão e classificação, isto é, predição de valores contínuos
e discretos, respectivamente, com base em dados de entrada (RUMELHART et al.,
1988). Um conhecido conjunto de métodos usados para construir redes neurais são os
Algoritmos Evolutivos (AEs).
Tais métodos baseiam-se na teoria da evolução, que combina ideias inspiradas na
genética (DARWIN, 1871) e seleção natural (WALLACE, 1878). Uma espécie de
seleção natural computacional que seleciona o mais adequado agente ou solução para
então reproduzi-los nas próximas gerações. A Robótica Evolutiva utiliza-se da
combinação de AEs com RNAs é chamada de Neuroevolução (LEHMAN;
MIIKKULAINEN, 2013), trata-se da construção de uma rede neural através de AEs,
especificamente por meio do ajuste iterativo dos pesos da rede usando uma função
objetivo, ou função de fitness. No processo de treinamento dos agentes robóticos usando
redes neurais, para ajustar os pesos da rede é necessário avaliar o comportamento do
agente em diferentes condições ambientais. Para isso se faz necessária a geração de
diversas condições iniciais, do robô e objetos envolvidos na tarefa em questão, que
serão utilizadas para avaliar o robô a cada geração. Tais condições são normalmente
geradas de forma aleatória, porém existem pesquisas explorando formas específicas de
gerar esse conjunto de condições de forma a tornar o processo evolutivo mais efetivo.
1.1 Motivação
Currículos são os conjuntos ordenados de tarefas cuja função é guiar o processo do
aprendizado. Este trabalho busca investigar métodos evolutivos de treinamento robótico
associados ao aprendizado baseado em currículo, com o intuito de encontrar formas de
treinar agentes robóticos de forma mais eficiente. Há evidências na literatura de que ao
aplicar técnicas de treinamento com essas características os resultados têm demonstrado
que as condições ambientais encontradas pelos agentes evolutivos afetam o curso do
processo evolutivo (MILANO; NOLFI, 2021).
2. Contextualização
O carrinho tem uma massa de 1 kg. O Poste longo (l1) e o Poste curto (l2) têm massa de
0,5 e 0,25 kg e comprimento de 1,0 e 0,5 m, respectivamente. O agente possui três
sensores, que codificam a posição ( ) atual do carrinho na pista e o ângulo atual dos
dois postes (θ1 e θ2) e um motor. O estado de ativação do motor é normalizado na faixa
[− 10,0, 10,0] Newton e é usado para definir a força aplicada ao carrinho. As condições
ambientais que estão sujeitas a variação, no caso deste problema, são a posição [1.944
< x < 1.944] e velocidade [1.215 < x < 1.215] inicial do carrinho. A posição angular
inicial do poste 1 [0.0472 < θ1 < 0.0472] e do poste 2 [0.10472 < θ2 < 0.10472] e suas
velocidades angulares estão compreendidas na faixa[0.135088, 0135088].
Em Milano e Nolfi (2021) o currículo foi elaborado de forma manual, isto é, durante o
processo evolutivo, as condições ambientais são determinadas usando 5 valores
distribuídos de maneira uniforme dentro dos intervalos apresentados acima na subseção
2.1. E as condições ambientais experimentadas durante os episódios de avaliação são
geradas aleatoriamente entre todas as condições ambientais possíveis durante os
primeiros 10% do processo evolutivo, ou seja, do máximo de passos definido no
algoritmo evolutivo. Em seguida, elas são escolhidas entre os subconjuntos criados a
partir de diferentes níveis de dificuldade.
O total de condições iniciais foram discretizadas em 5 valores para viabilizar o processo
manual de currículo durante o treinamento e assim o total de condições iniciais
possíveis é uma amostra de 15.625(5⁶) Para a análise dos agentes foram consideradas
todas as condições ambientais possíveis que podem ser geradas pela combinação de 3
valores para as 6 condições sujeitas a variação: a posição inicial (e.g. [-1.944, 0, 1.944]);
a velocidade do carrinho; as posições angulares iniciais dos postes; e a velocidade
angular dos postes. Consequentemente, o número de diferentes condições ambientais
em que os agentes são pós-avaliados é 729(3^6) e com o aprendizado de currículo
estendendo o algoritmo evolutivo mostra que o novo processo de geração de tarefas
iguala ou supera o algoritmo convencional.
A função utilizada para categorizar as condições em diferentes níveis de dificuldade é
chamada de Função de dificuldade. A Figura 3 ilustra os intervalos obtidos usando uma
função de dificuldade de potência linear e quadrática. Os eixos horizontais representam
o desempenho normalizado no intervalo [0,0, 1,0], ou seja, a aptidão obtida pelos
últimos 5 agentes normalizados no intervalo [0,0, 1,0].
A utilização da função de dificuldade linear (Figura 3, linha azul) não altera o nível
geral de dificuldade das condições ambientais experimentadas pelos agentes, porém ela
expõe os agentes a condições ambientais com níveis de dificuldade semelhantes. Esse
fato evidencia que o aprendizado curricular supera o algoritmo evolutivo convencional
em que as condições ambientais são selecionadas aleatoriamente dentro de todas as
condições possíveis. No entanto, ao substituir a função de dificuldade linear (linha azul)
por uma função de potência (linha vermelha) conforme mostra a Figura 3, aumenta
assim a intensidade da seleção preferencial de condições difíceis.
3. Trabalhos Correlatos
Tabela 1. Comparativo entre artigos correlatos.
4. Proposta
4.1. A Rede Preditora de Desempenho
Para a construção da rede preditora de desempenho utilizou-se a scikit-learn (sklearn)
(PEDREGOSA et al., 2011), Sklearn é uma biblioteca de aprendizado de máquina de
código aberto para a linguagem de programação Python. Ela inclui vários algoritmos de
classificação, regressão e agrupamento e é projetada para interagir com as bibliotecas
Python numéricas e científicas como NumPy e SciPy.
O problema utilizado no experimento conta com seis condições iniciais variáveis, logo a
camada de entrada da RNA possui seis neurônios. , a função de ativação das camadas
ocultas é uma função ReLU(do inglês, rectified linear unit) e o solucionador para
otimização de pesos é o otimizador estocástico de Adam (KINGMA et al., 2014).
Porém, inicialmente utilizou-se outras configurações para a rede classificadora, no
entanto os resultados foram insatisfatórios e em busca da otimização da rede aumentou-
se o número de neurônios e retirou-se uma camada oculta. Também foi alterada a
função de ativação e o otimizador de pesos. Assim de forma empírica foi sendo testada
e refinada de acordo com os melhores resultados de classificação obtidos que resultaram
na configuração definitiva da arquitetura proposta.
O primeiro componente à esquerda da Figura 4, são as condições iniciais e a cada
iteração um conjunto é criado de forma aleatória e usado como input na camada de
entrada da rede classificadora, que classifica as condições rotulando-as em boas ou
ruins. Condições em que o agente consegue balancear os bastões por mais da metade da
duração do episódio, obtendo 500 pontos ou mais, são rotuladas como fáceis e as
demais como difíceis. Em outras palavras, nas condições fáceis o agente passa da
metade do episódio e nas difíceis acabam os episódios prematuramente com a falha do
agente. No passo 3 da Figura 4, são então ordenadas por nível de dificuldade e
selecionadas nas devidas proporções para a formação do currículo, formando assim o
currículo à direita da Figura.
Figura 4. Esquema de Classificação e Ordenação de Tarefas
5. Resultados e Discussão
Na Figura 5 abaixo, apresentamos o resultado de melhor desempenho da rede
classificadora em cada um dos três cenários propostos dentre as nove formas de
treinamento, com condições passadas, condições geradas no momento de retreino e
condições sistemáticas, respectivamente. Os resultados gráficos são baseados em uma
média obtida nas sementes, ou seja, ponto de partida para a geração pseudo-aleatória de
números, que permite tornar os experimentos replicáveis. Utilizou-se cinco sementes
(repetições) diferentes a fim de ter resultados confiáveis, pois a estocasticidade do
processo pode trazer um bom resultado por acaso.
Figura 5. Acurácia da melhor rede classificadora de cada cenário
6. Considerações Finais
Este trabalho apresentou uma abordagem para tentar prever quais ambientes são mais
adequados para a composição de um currículo utilizando uma rede neural classificadora.
Foram detalhadas as diversas etapas desta metodologia, e apresentados os resultados do
melhor cenário de treinamento da rede classificadora dentre os cenários propostos: com
dados históricos, aleatórios e sistematizados. Por fim, foi integrada a rede classificadora
ao processo de treinamento no simulador Evorobotpy2 e reportados os resultados.
Conforme suposto inicialmente, nem todas as configurações de currículos propostos
melhoraram a performance do treinamento dos agentes evolutivos no problema de
balanceamento de postes duplos. No entanto, o modelo utilizado classifica de forma
binária e isso impossibilita a replicação de algumas etapas feitas na pesquisa de
referência, como a função de dificuldade para seleção das tarefas. Fez-se então uma
comparação relativa dos resultados, o método automático aqui proposto é capaz de
escalar para problemas com maior complexidade, ou seja, com mais variáveis
ambientais ou do agente evolutivo sujeitas a variação. Isso, sem aumentar
exponencialmente o tempo de geração dos currículos como é no caso da geração manual
proposta na pesquisa de referência. Os resultados da aptidão com o melhor currículo em
relação ao algoritmo padrão (OpenAI-ES) mostram que há um ligeiro aumento na
performance do agente evolutivo. Assim, traz mais uma evidência de que o método
automático de geração de currículo em tempo de execução é promissor e requer mais
pesquisas.
Da mesma forma que na pesquisa de referência, a configuração de currículo que trouxe
melhor desempenho foi um currículo predominantemente difícil e com algumas
condições fáceis. Pode-se dizer que houve uma melhora no processo de treinamento da
rede neuroevolutiva e a confirmação dos indícios e evidências existentes nos artigos
mais recentes.
Referências
ANDRADE. Lívia. Redes neurais artificiais aplicadas na identificação automática de
áreas cafeeiras em imagens de satélite. Dissertação (Mestre em Ciência da
Computação) - Departamento de Ciência da Computação do Instituto de Ciências
Exatas da Universidade Federal de Minas Gerais. 2011.
BENGIO, Yoshua et al. Curriculum learning. In: Proceedings of the 26th annual
international conference on machine learning. 2009. p. 41-48.
CARVALHO, Jônata Tyska. Adaptive Behaviour in Evolving Robots. 2017. Tese de
Doutorado. University of Plymouth.
DARWIN, Charles. The descent of man. New York: D. Appleton, 1871.
DONCIEUX, Stephane et al. Evolutionary robotics: what, why, and where to. Frontiers
in Robotics and AI, v. 2, p. 4, 2015.
FLOREANO, Dario; HUSBANDS, Phil; NOLFI, Stefano. Evolutionary robotics.
Springer Verlag, 2008.
GABRIEL, Paulo Henrique Ribeiro; DELBEM, Alexandre Cláudio Botazzo.
Fundamentos de algoritmos evolutivos. 2008.
GERS, Felix A.; SCHMIDHUBER, E. LSTM recurrent networks learn simple context-
free and context-sensitive languages. IEEE transactions on neural networks, v. 12, n.
6, p. 1333-1340, 2001.
HEYER, Clint. Human-robot interaction and future industrial robotics applications. In:
2010 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE,
2010. p. 4749-4754.
KINGMA, Diederik P.; BA, Jimmy. Adam: A method for stochastic optimization.
arXiv preprint arXiv:1412.6980, 2014.
LEHMAN, Joel; MIIKKULAINEN, Risto. Neuroevolution. Scholarpedia, v. 8, n. 6, p.
30977, 2013.
LIMA, G. C. Pesquisa e Desenvolvimento de um Método de Aprendizagem de
Máquina com Aprendizado Incremental. Monografia (Bacharel em Engenharia de
Software). Universidade de Brasília. 2014.
MILANO, Nicola; NOLFI, Stefano. Automated curriculum learning for embodied
agents a neuroevolutionary approach. Scientific reports, v. 11, n. 1, p. 1-14, 2021.
MITCHELL, Tom. Machine learning. 1997.
MORAD, Steven D. et al. Embodied visual navigation with automatic curriculum
learning in real environments. IEEE Robotics and Automation Letters, v. 6, n. 2, p.
683-690, 2021.
NARVEKAR, Sanmit et al. Curriculum learning for reinforcement learning domains: A
framework and survey. arXiv preprint arXiv:2003.04960, 2020.
NOLFI, Stefano. Behavioral and cognitive robotics: an adaptive perspective. Stefano
Nolfi, 2021.
OPENAI, I. Akkaya et al. Solving rubik’s cube with a robot hand. arXiv preprint
arXiv:1910.07113, v. 10, 2019.
PAGLIUCA, Paolo; MILANO, Nicola; NOLFI, Stefano. Maximizing adaptive power in
neuroevolution. PloS one, v. 13, n. 7, p. e0198788, 2018.
PEDREGOSA, Fabian et al. Scikit-learn: Machine learning in Python. the Journal of
machine Learning research, v. 12, p. 2825-2830, 2011.
PETERSON, Gail B. A day of great illumination: BF Skinner's discovery of shaping.
Journal of the experimental analysis of behavior, v. 82, n. 3, p. 317-328, 2004.
RECHENBERG, Ingo. Evolutionsstrategien. In: Simulationsmethoden in der Medizin
und Biologie. Springer, Berlin, Heidelberg, 1978. p. 83-114
ROMANO, Vitor Ferreira (Ed.). Robótica industrial: aplicação na indústria de
manufatura e de processos. Edgard Blucher, 2002.
RUMELHART, David E. et al. Parallel distributed processing. New York: IEEE, 1988.
SKINNER, Burrhus F. Reinforcement today. American Psychologist, v. 13, n. 3, p. 94,
1958.
SUNG, JaYoung; GRINTER, Rebecca E.; CHRISTENSEN, Henrik I. Domestic robot
ecology. International Journal of Social Robotics, v. 2, n. 4, p. 417-429, 2010.
WALLACE, Alfred Russel. Tropical nature, and other essays. Macmillan and
Company, 1878.
WEINSHALL, Daphna; COHEN, Gad; AMIR, Dan. Curriculum learning by transfer
learning: Theory and experiments with deep networks. In: International Conference
on Machine Learning. PMLR, 2018. p. 5238-5246.
WIELAND, Alexis P. Evolving controls for unstable systems. In: Connectionist
Models. Morgan Kaufmann, 1991. p. 91-102.
WOLF, Denis Fernando et al. Robótica móvel inteligente: Da simulação às aplicações
no mundo real. In: Mini-Curso: Jornada de Atualização em Informática (JAI),
Congresso da SBC. sn, 2009. p. 13.
WU, Ji et al. Master clinical medical knowledge at certificated-doctor-level with deep
learning model. Nature communications, v. 9, n. 1, p. 1-7, 2018.