Algoritmo Neuroevolucionário que implementa comportamentos inatos por
meio de agentes autônomos
A Neuroevolutionary Algorithm that implements innate behaviors through
autonomous agents
DOI:10.34117/bjdv5n12-163
Recebimento dos originais: 07/11/2019 Aceitação para publicação: 11/12/2019
Lidio Mauro Lima de Campos
Doutorado em Engenharia Elétrica
Faculdade de Computação – Instituto de Ciências exatas e Naturais – Universidade Federal do Pará (UFPA) Rua Augusto Corrêa,01 - Guamá – 660751-110 – Belém – PA
Jherson H. A. Pereira
Graduando em Sistemas de Informação
Faculdade de Computação – Instituto de Ciências exatas e Naturais – Universidade Federal do Pará (UFPA) Rua Augusto Corrêa,01 - Guamá – 660751-110 – Belém – PA
RESUMO
Este artigo apresenta um Sistema Inspirado Biologicamente, capaz de implementar comportamentos inatos através de agentes autônomos. Considerações são feitas sobre os paradigmas biológicos utilizados, como mecanismos evolutivos e comportamentos inatos dos animais, tentando encontrar soluções que, uma vez aplicadas ao desenvolvimento de dispositivos artificiais, forneçam agentes autônomos mais robustos e úteis para operar no mundo real. Para ter maior probabilidade de sobreviver, os seres vivos devem ter desenvolvido comportamentos mais complexos, como reativos e motivados internamente, nos quais a ação do agente deve depender da história passada de valores sensoriais para ser eficaz. Após a descrição desse sistema híbrido, realizamos simulações de duas tarefas utilizando o aprendizado por reforço: Taxies e Reflexos, comportamentos reativos e instintivos. Os resultados indicam a eficiência da técnica na seleção de arquiteturas econômicas de RNAs para todos os problemas, tendo em vista que a capacidade de generalização dos mesmos foi em média 99% com os seguintes erros médios quadráticos (EMQ) 0,00025 e 0,00012 respectivamente para os dois problemas estudados. Finalmente, as conclusões são dadas.
Palavras-chave: Redes Neurais Artificiais, agentes autônomos, comportamento animal
ABSTRACT
This paper a presents a Biologically Inspired System which is capable to implement innate behaviors through autonomous agents. Considerations are made about the used biological paradigms, as evolutionary mechanisms and animals' inatte behaviors, trying to find solutions that, once applied to the development of artificial devices, provide more robust and useful autonomous agents to operate in the real world. To be more likely to survive, living beings must have developed more complex behaviors, such as reactive and internally motivated, in which the agent's action must depend on past history of sensory values to be effective. After the description of such hybrid system, we make simulations of two tasks using reinforcement learning were carried out: Taxies and Reflex, reactive and instinctive behaviors. The results indicate the efficiency of the technique in selecting economic
architectures of RNAs for all problems, given that the generalization capacity of the same was on average 99% with the following quadratic mean errors (EMQ) 0.00025 and 0.00012 respectively for the two problems studied. Finally, conclusions are given.
Keywords: Artificial Neural Networks, autonomous agents, animal behavior
1 INTRODUÇÃO
O cenário atual fornece condições favoráveis para a construção de modelos computacionais biologicamente inspirados, capazes de lidar com a complexidade das tarefas do mundo real. De maneira mais abrangente, a Neuroevolução (NE) é inspirada na natureza, considerando que os cérebros de complexidade astronômica são realmente produto de um processo evolutivo. Embora pesquisa considerável em computação neural se concentre em aspectos da modelagem real do cérebro real, muitos desses modelos geralmente não produzem Redes Neurais Artificiais (RNAs) que se assemelham parcialmente aos cérebros biológicos. Nesse sentido, os algoritmos neuroevolutivos (ANE) constituem uma forma sinérgica de projetar automaticamente RNAs que se assemelham àqueles vistos na natureza através da junção de paradigmas neurais e evolutivos.
Além disso, o estudo do comportamento animal, bem como dos mecanismos de evolução natural, tem sido o marco do desenvolvimento de muitos trabalhos na área de Agentes Autônomos (AAs) o que permite a construção de modelos artificiais, que como os animais, podem funcionar muito bem no mundo real. Essa inspiração biológica pode ser a fonte de mecanismos e soluções que, uma vez implementados, permitirão alcançar alto nível de autonomia.
Na área de Inteligência Artificial, os ANEs fornecem modelos computacionais híbridos que simulam os processos naturais de reprodução, mutação e seleção que permitem a evolução de estruturas individuais buscando uma solução mais apta para sobreviver em um determinado ambiente. No que diz respeito aos aspectos de modelagem do comportamento dos animais, a abordagem dos ANEs proporciona uma ferramenta apropriada para modelar e simular os aspectos comportamentais dos AAs.
Algoritmos bio-inspirados mostraram-se eficientes em diferentes problemas de otimização não-linear [Kromer, P.Plato et al 2014], [Zhang, J et al., 2007], [Ojha, V. K. et al., 2015], [Kazaryan, D. E. et al., 2017]. Devido à sua eficiência e adaptabilidade, o interesse em pesquisa no campo da neuroevolução (abordagem evolucionária para projetar RNAs) tem aumentado ultimamente. A questão central na neuroevolução é construir um esquema eficiente de codificação indireta [Stanley, K. O. Miikkulainen et al., 2012], [De Campos et al., 2011], [Gauci, J. et al., 2010], [Lee, D. W. et al., 2005], [Risi, S. et al 2012]. O que significa evoluir uma descrição comprimida da RNA em vez da própria RNA [Gauci, J. et al., 2010], [FRANÇA et al., 2018],[SUCH et al., 2017]
Este artigo proporciona um novo escopo ao sistema hibrido ADEANN (Artificial
do mesmo em gerar redes neurais mais plausíveis biologicamente que usam o aprendizado de Hebbiano, explorando assim os aspectos da plasticidade neural e otimização local de nós. Analisando seu desempenho em termos de reconhecimento de padrões ou em termos de tarefas de aprendizado de reforço.
Nossa abordagem é inspirada em dois mecanismos biológicos naturais: a codificação genética e a evolução dessa que gera sistemas nervosos, mais adaptados a interação com o ambiente. Como é bem sabido, o desenvolvimento de neurônios é governado pela informação genética codificada no ácido desoxirribonucleico (DNA) que, em última análise, gera a forma final do cérebro. Durante o desenvolvimento biológico, no complexo processo que liga o código do DNA ao seu fenótipo, o mesmo gene é usado em muitos contextos. Essa compactação minimiza as informações necessárias para descrever indivíduos complexos. Por outro lado, a evolução descreve as mudanças temporais no código genético (DNA). Entre os vários mecanismos subjacentes a essas mudanças evolutivas, a seleção natural é muito importante.
Com base nessas premissas, propõe-se um sistema híbrido artificial biologicamente inspirado chamado Desenvolvimento Artificial e Evolução de RNAs usando Aprendizagem Hebbiana (ADEANN-Hebb). O ADEANN-Hebb integra dois componentes. O primeiro é uma representação generativa que representa os genótipos (um conjunto de regras de produção de um sistema-L) por meio de um sistema de codificação indireta (IES) compacto, que é uma metáfora do processo de desenvolvimento dos neurônios. Para imitar o esquema de codificação do DNA e permitir a escalabilidade, o nosso IES alavanca a representação do fenótipo para um genótipo menor. Assim, o processo de pesquisa é realizado em um espaço de solução de menor dimensão. O segundo componente é um Algoritmo Genético (GA), uma representação simplificada da evolução natural.
O presente artigo é organizado da seguinte forma. A Seção 2 apresenta a revisão de literatura a respeito do tema. A Seção 3 apresenta a arquitetura da modelo base ADEANN. A Seção 4 apresenta aplicações da nova versão do programa resolvendo problemas de otimização e. A Seção 5 apresenta algumas considerações finais.
2 REVISÃO DE LITERATURA
A maioria dos algoritmos neuroevolutivos (ANEs) utiliza sistema de codificação direta (SCD) [Miller, G. F et al., 1989], onde especificam cada nó e conexão (genótipo) de uma RNA (fenótipo) modelado por um grafo direcionado. No NEAT [Stanley, K. O. Miikkulainen et al., 2012], o SCD incorpora algumas entidades biologicamente plausíveis e altera tanto os parâmetros de ponderação como as estruturas das redes. [Sanchez, D et al., 2014] desenvolveram um novo algoritmo otimização multi-objetivo, utilizando um algoritmo genético hierárquico (MOHGA) para otimização de
arquiteturas de RNAs. No entanto, esse método não foi testado em outros aplicativos como a previsão de séries temporais e não são capazes de gerar RNAs profundas.
A crescente complexidade da computação evolutiva exige métodos mais sofisticados do que o mapeamento direto do genótipo para fenótipo, pois esse método apresenta problemas de escalabilidade. No outro extremo estão os sistemas de codificação indireta (SCIs) [De Campos et al., 2011], [Boozarjomehry, R. B et al., 2001], [Kitano, H et al., 1990], [Gauci, J. et al., 2010], [Lee, D. W. et al., 2005], [Risi, S. et al 2012], [Kazaryan, D. E. et al., 2017], [Sutton et al., 2018]. Em um SCI, a geração de rede é indiretamente especificada pelo genótipo, a qual é uma abstração, que é mapeada para um grafo, que finalmente representa uma RNA. A descrição da solução é mais compacta do que os métodos, que utilizam SCDs, permitindo gerar topologias complexas de RNAs.
Os seguintes métodos de SCI de [De Campos et al., 2011], [Lee et al., 2005], [Kazaryan, D. E. et al., 2017], pertencem à classe de GDSs (sistemas generativos e de desenvolvimento) usando a evolução gramatical (GE). As metodologias deram um passo em direção a abordagens inspiradas biologicamente. [Lee et al., 2005] buscaram inspiração no DNA, em sua pesquisa, a informação é codificada usando os símbolos A G, T e C. Uma sequência de três desses símbolos é conhecida como um códon. A sequência de códons entre esses delimitadores é traduzida em uma regra de produção para o desenvolvimento de um controlador neural. A regra de produção do L-System usada por [Lee et al., 2005] é livre de contexto e não permite gerar redes recorrentes.
3 COMPORTAMENTO ANINAL
Existem uma série de comportamentos observados, a nomenclatura e classificação pode variar de acordo com o pesquisador, uma maneira de classificar animais comportamentos é como: reflexivo, reativos e motivados.
3.1-COMPORTAMENTOS REFLEXIVOS
Reflexivo é a classe de comportamento mais simples, na qual uma resposta rápida e
estereotipada é desencadeada por uma classe específica de estímulos ambientais. É o tipo de ação que
se chama de involuntária, ou seja, são atitudes e reações que executamos sem o nosso próprio controle e de forma automática como bocejar ou piscar os olhos.
3.2-COMPORTAMENTOS REATIVOS
Uma classe de comportamento mais complexa envolve comportamentos chamados reativos ou sequenciais. Esse tipo de comportamento é formado por uma série de respostas estereotipadas como reação a um determinado estímulo. A resposta geralmente envolve uma sequência temporal de ações complexas que são concluídas, mesmo que o estímulo desencadeante não seja apresentar mais. Por sua vez, a série de comportamentos pode
ser relacionada de maneira complexa, na qual um novo comportamento é acionado pela conclusão de um comportamento precedente de ação fixa.
3.3-COMPORTAMENTOS MOTIVADOS
Existem comportamentos que não apresentam dependência simples ou rígida de estímulos, mas, em vez disso, são governados principalmente pelo estado interno de um animal. Estes comportamentos são conhecidos como comportamentos motivados. Nesta classe de comportamento, a tendência animal de apresentar um determinado comportamento, por exemplo, comer, não depende apenas na presença do estímulo desencadeador (a comida), mas também nas variáveis motivacionais (os famintos). É interessante notar que os comportamentos motivados podem ocorrer mesmo na ausência de estímulos externos evidentes, principalmente como resultado de algum tipo de "raciocínio" animal. Devemos enfatizar que essa classe de comportamento exibe alguma forma de plasticidade ou processo de aprendizado, ou seja, características comportamentais futuras podem ser modificadas como resultado de experiências passadas do animal com o meio ambiente. Por exemplo, um rato que evita comer um determinado alimento se a ingestão prévia desse alimento foi seguida por doença [ROISENBERG et al., 1997].
4-IMPLEMENTANDO COMPORTAMENTOS COM SISTEMAS NEUROEVOLUTIVOS
4.1-AGENTES AUTÔNOMOS BASEADOS EM COMPORTAMENTO
Um agente autônomo pode ser definido como um dispositivo artificial que atua em um ambiente e executa continuamente uma tarefa que mapeia as entradas sensoriais do sistema para saídas de vetor. O ambiente é tudo o que está fora do agente, possivelmente incluindo outros agentes ou seres humanos. O agente opera em um ciclo, recebendo estímulos ambientais através de seus sensores e fazendo algum processamento. Esse processamento gera uma saída para seus efeitos que afetam o ambiente. Esse mapeamento de um fluxo de entrada para um fluxo de saída é chamado de comportamento. Esse comportamento pode ser uma função instantânea dos valores de entrada ou pode ter estados ou memória, permitindo que suas ações em um determinado instante potencialmente depender de todas as entradas recebidas anteriormente até esse momento.
4.2 ALGORITMO DE APRENDIZAGEM INSPIRADO BIOLOGICAMENTE
Relacionando esses aspectos à questão da evolução, podemos supor que exista uma "função de custo" associada à complexidade da rede neural, ou seja, topologias de rede mais simples poderiam ser facilmente obtidas do que as complexas. Assim, em uma escala evolucionária, inicialmente apareceriam seres primitivos apenas com comportamentos puramente refexivos, implementados com redes neurais simples e pequenas. Uma vez que a tarefa de sobrevivência se torna mais difícil e competitiva, exigindo comportamentos mais complexos, um processo evolutivo tende a criar seres
cujas redes neurais são mais especializadas, que apresentem realimentações (redes recorrentes) apresentados, ampliando a complexidade e o repertório do comportamento. Com redes neurais de recorrentes, é possível prever uma nova classe de comportamentos.
5 ARQUITETURA DA MODELO BASE DO ADEANN
O sistema ADEANN, descrito de forma sucinta é formado pela integração de três metáforas biológicas, sendo elas: Algoritmo Genético: evoluem populações de indivíduos (que são regas de produção de um L-System), visando aperfeiçoá-las com base em cruzamentos e mutações entre indivíduos. L-System (Sistema de Lindenmayer) – representam um conjunto de regras de produção, que quando aplicadas a um axioma, geram abstrações, que serão mapeadas em grafos, que representa arquiteturas de RNAs. Redes Neurais – geradas pelo L-System, são algoritmos empregados no aprendizado de máquina com o objetivo de solucionar problemas complexos. A Figura 1, mostra a arquitetura básica do ADEANN.
Dessa forma, o L-system gera uma linguagem que modela a arquitetura da Rede Neural com base em regras de produção. A RNA aprende com base no treinamento, sendo gerado uma aptidão (fitness) relacionada a capacidade do agente sobreviver e prosperar em determinado ambiente. Por sua vez Algoritmo Genético gera vários indivíduos (conjunto de regras de produção em um L-system) e executa técnicas biologicamente inspiradas para o cruzamento e obtenção de melhores indivíduos, ao final de cada geração, são gerados novos indivíduos, por meio dos melhores da geração anterior.
Figura 1. Arquitetura do ADEANN. Fonte: os autores (2019).
6 SUBSISTEMAS DO ADEANN-HEBB
Nessa seção, descrevem-se os subsistemas do ADEANN. sendo eles: Subsistema 1 – Sistema de Lindenmayer, Subsistema 2 – Rede neural, Subsistema 3 – Algoritmo Genético.
6.1 SISTEMA DE LINDENMAYER (L-SYSTEM)
O Sistema de Lindenmayer é um modelo de embriogenese artificial, utilizado no ADEANN, que é baseado em um sistema de reescrita paralela (gramática). O mesmo é um tipo de gramática
formal descrito em detalhes em [De Campos et al., 2016], que utiliza um conjunto de regras de produção para gerar arquiteturas de Redes Neurais Artificiais com N camadas. A abordagem do ADEANN-Hebb possui uma representação generativa, ou seja, cada cromossomo do Algoritmo Genético, armazena um conjunto de regras de produção de um (L-System), que, por sua vez, gera arquiteturas de RNAs profundas.
O L-System pode ser descrito como uma gramática G = {⅀, ℿ, α}, onde o alfabeto consiste nos elementos do conjunto ⅀= {., f, F, n, [,], *, B} e as regras de produção ℿ são descritas na Tabela 1. O axioma α =. é o ponto de partida do processo de desenvolvimento, onde o elemento f, do alfabeto, denota um neurônio, F simboliza uma conexão entre neurônios, [ e ] indicam, respectivamente, armazenamento e recuperação, do estado atual do desenvolvimento * indica que uma string anteriormente armazenada é recuperada, B representa a conexão de um neurônio com um bloco de neurônios.
A segunda regra de produção (. → (f... f) n), significa substituir o ponto de partida pelos neurônios da camada de entrada. A Tabela 1 descreve as regras de produção sugeridas em [De Campos, 2016]. A Regra 3.1 (f →[f) significa armazenar a posição do neurônio atual, de modo a iniciar uma nova ramificação a partir dele. Regra 3.2 (f → fFf) significa estabelecer uma conexão entre dois neurônios. Regra 3.3 (f → fF) significa estabelecer uma conexão de um neurônio específico. Regra 3.4 (f → n) significa substituir um neurônio provisório por um neurônio permanente. Regra 3.5 (f → f) significa manter um neurônio específico durante o desenvolvimento. Regra 3.6 (f → fB) significa conectar um neurônio a um bloco de neurônios. A regra 4 ([→[Ff]) significa iniciar o desenvolvimento de uma nova ramificação a partir de um neurônio específico e recuperar o estado anterior. A regra 5 (f → f *) significa recuperar uma ramificação anterior armazenada para uso.
Tabela 1. Regras de Produção do L-System
Identificador da Regra Regras
1,2 S → . (axioma) (2) . → (f..f)n
3 (3.1)f→[f (3.2) f→fFf (3.3) f→fF (3.4) f→n 3,4,5 (3.5) f→f (3.6) f→fB (4) [→[Ff] (5) f→f*
Como exemplo simples, a Figura 2 ilustra o processo de construção de uma RNA a partir do conjunto de regras de produção. Suponha que se comece com dois processos de desenvolvimento, a partir do axioma α =. e que após isso, aplica-se a segunda regra de produção. →f aos dois axiomas, a string resultante é ff. Aplicando a terceira regra (3.1) f→
[→ [Ff] na string [f [f, a string se torna [Ff] Ff] f [Ff] Ff] f. Aplicando-se a regra (3.3) f → fFf oito vezes a string anterior, a string resultante será [FfFfFf]FfFfFf]f [FfFfFf]FfFfFf] f. Depois de aplicar a regra (3.6) f → fB à string anterior, a string
resultante será [FfBFfBFfB]FfBFfBFfB]f [FfBFfBFfB] FfBFfBFfB]f. Por fim,
aplicando-se a regra (3.4) f → n à string anterior, a string resultante será
[FfnFfnFfn]FfnFfnFfn] f [FfBFfBFfB] FfBFfBFfB] f. Esse fenótipo representa a
estrutura de RNA mostrada na Figura 2.
Figura 3. RNA equivalente ao genótipo gerado [FfnFfnFfn]FfnFfnFfn]f [FfBFfBFfB] FfBFfBFfB]f . Fonte: Os autores (2019)
6.2 REDE NEURAL BIOLOGICAMENTE INSPIRADA
Nessa pesquisa, utilizou-se o modelo de aprendizado de RNAs para não supervisionado
hebbiano. No cérebro, acredita-se que o aprendizado está relacionado a alterações nas eficácias das sinapses que conectam os neurônios; a eficácia sináptica pode ser definida como a capacidade que um neurônio pré-sináptico tem de influenciar um neurônio pós-sináptico, o nome genérico dado às alterações nas eficácias sinápticas é a plasticidade sináptica. A inspiração biológica do aprendizado hebbiano, Figura 3, considera que quando um axônio de um neurônio A está próximo o suficiente para excitar uma célula B e repetidamente ou persistentemente participa do disparo de B, então ocorre um processo metabólico em uma das células ou em ambas de forma que a eficiência de A em contribuir para o disparo de B é aumentada.
Figura 3 – Diagrama do esquema proposto por Hebb para a mudança estrutural associada ao aumento da eficiência sinaptica
Ao contrário das tradicionais RNAs estáticas aplicadas em neuroevolução cujos pesos não mudam durante a sua vida útil, RNAs plásticas podem aprender durante a sua vida, mudando suas
forças das conexões sinápticas internas seguindo uma regra de aprendizagem “Hebbiana” que modifica pesos sinápticos baseados em pré e pós atividades sinápticas dos neurônios. A regra de plasticidade generalizada Hebbiana assume a forma:
∆𝒘𝒋𝒊 = 𝒏. [𝑨𝒐𝒋𝒐𝒊+ 𝑩𝒐𝒋+ 𝑪𝒐𝒋+ 𝑫] (1)
Onde: n é a taxa de aprendizagem, oj e oi são os níveis de ativação dos neurônios pré e pós-sinápticos e A-D são os termos correlação, termo pré-sináptico B, termo pós-sináptico C e constante D respectivamente.
6.3 ALGORITMO GENÉTICO
As redes de neurônios gerados na seção 5.1 são desenvolvidos após o processo descrito a seguir. Para formular um AG biologicamente realista, considerou-se que os genes dos cromossomos do AG (seqüências de DNAs hipotéticos) codificassem uma receita (as regras de produção do
L-System descritas na subseção 5.1 e ilustradas na Tabela 1). As regras recursivas da Tabela 1 orientam
os estágios de desenvolvimento dos neurônios (Figura 2). Em suma, o AG evolui esse conjunto de regras de produção codificadas nos cromossomos (genótipos), essas regras são extraídas e decodificadas, se forem válidas, são aplicadas a um axioma e geração uma linguagem, que serão mapeadas em arquiteturas de RNAs (fenótipos), que serão treinadas. Adicionalmente, o AG irá avaliar o treinamento de redes neurais multicamadas, dessa forma, a equação abaixo representa cálculo do fitness para uma RNA, penalizando RNAs, que possuem um número elevado de neurônios utilizados na camada oculta (NINT), bem como uma RNA, que possua, uma generalização ruim, ou seja redes que possuem um alto quadrático médio (emq).
(2)
6.4 INTEGRAÇÃO DOS SUBSISTEMAS DESCRITOS NAS SEÇÕES 6.1, 6.2 E 6.3
Os subsistemas, descritos nas seções 6.1, 6.2 e 6.3, funcionam de forma integrada conforme mostra a (Figura 1) formando um único sistema hibrido, denominado ADEANN-Hebb. Esse sistema é capaz de solucionar problemas complexos que demandam aprendizado por reforço, dessa forma se tornando um sistema preditivo que se difunde e se adapta conforme o agente simula determinados comportamentos, sendo, portanto, mais dinâmicos do que sistemas preditivos baseados em regras de negócios.
7 EXPERIMENTOS REALIZADOS COM O ADEANN-HEBB
Realizaram-se vários experimentos para testes ADEANN-Hebb utilizando-se duas tarefas:
Tarefa 1 - Comportamentos estereotipados tais como: taxias e reflexos (Tabelas 2 e 3) e Tarefa 2 - Comportamentos reativos e instintivos (Tabela 4).
O diagrama da Figura 4 representa um agente simples, modelado por uma rede neural com dois sensores e dois atuadores, conectados transversalmente, o agente é capaz de sentir a presença de alimento e mover-se para a direita para alimentar-se. Note que se a presença de alimento não é detectada, o comportamento do agente é permanecer parado [ROISENBERG et al., 1997] .
Figura 4- Uma RNA que programa o comportamento da taxia, Fonte: [ROISENBERG et al., 1997] .
As Tabelas 2 e 3 representam comportamentos estereotipados, tais como: as taxias e os reflexos (Tabela 2), dadas as suas respostas de modo instantâneas e bem definidas a um estímulo específico recebidos pelos órgãos sensoriais. Uma vez terminado o estimulo, cessa também a resposta dele. Tendo em mente uma perspectiva evolucionária, pode-se imaginar uma forma de vida extremamente rudimentar, com apenas uns poucos neurônios. O único requisito para a sobrevivência deste tipo de organismo seria a habilidade de sentir (provavelmente através de sensores químicos) a presença de alimento e de se mover na sua direção em um ambiente livre de predadores e de obstáculos.
A Tabela 3 descreve um comportamento semelhante ao da Tabela 2, entretanto, o novo comportamento considera que se a criatura não detectasse a presença de alimento, ela se deslocaria em círculos, assim sendo, teria maiores chances de sobrevivência em um ambiente em que o alimento se tornar escasso. À medida que a população das criaturas primitivas descritas anteriormente começa a ficar maior, a disponibilidade de comida se torna menor e o ambiente se torna mais complexo e hostil, e apenas aquelas criaturas com um grau de aptidão maior terão maiores chances de sobrevivência. Em um certo instante, a capacidade de sobrevivência não pode mais ser alcançada apenas com um repertório limitado de comportamentos puramente reflexivos. É necessário, então, um sistema nervoso mais complexo, com uma nova topologia que inclua neurônios conectados em ciclo entre si [ROISENBERG et al., 1997]. A próxima etapa dessa pesquisa envolveu esse estudo para que o ADEANN-Hebb, por meio de um processo evolucionário pudesse selecionar uma RNA
satisfatória, dentre uma população de RNAS, que simulasse a contento o comportamento reativo e instintivo. Vários experimentos foram propostos objetivando implementar esse comportamento reativo, de modo a testar as ideias apresentadas. A Tabela 3 descreve o conjunto de treinamento para os estados do autômato finito que implementa o comportamento da formiga simulada.
A Tabela 2 - Função combinacional que descreve o comportamento de taxia, Fonte: [ROISENBERG et al., 1997]. SENSOR ESQUERDO SENSOR DIREITO ATUADOR ESQUERDO ATUADOR DIREITO SAÍDA DESEJADA DA RNA -1 não detecta alimento
+1 detecta alimento -1 atuador desligado +1 atuador ligado -1 -1 -1 -1 1.0 -1 +1 +1 -1 0.83 +1 -1 -1 +1 0.96 +1 +1 +1 +1 0.6
A Tabela 3 - Função combinacional que descreve o novo comportamento, [ROISENBERG et al., 1997] . SENSOR ESQUERDO SENSOR DIREITO ATUADOR ESQUERDO ATUADOR DIREITO SAÍDA DESEJADA DA RNA -1 não detecta alimento
+1 detecta alimento -1 atuador desligado +1 atuador ligado -1 -1 -1 -1 1.0 -1 +1 +1 -1 0.83 +1 -1 -1 +1 0.96 +1 +1 +1 +1 0.6
7.1- RESULTADOS DE SIMULAÇÃO PARA A TAREFA 1 (TABELA 2 - TAXIAS E REFLEXO) O melhor experimento para o problema que simula os comportamentos taxia e reflexo, utilizou os seguintes parâmetros: número de gerações=100, numero de indivíduos=30, taxa de aprendizado=0.3, número de épocas=400, erro-médio quadrático aceitável=0.001, taxa de esquecimento=0.1, função tangente hiperbólica nos neurônios da camada de entrada e intermediária e função linear nos neurônios da camada de saída. Utilizaram-se bias=0 para as camadas intermediária e saída. A convergência do ADEANN-Hebb se deu por volta da geração 67, essa foi a geração que obteve maior “fitness” e a melhor rede neural possui a seguinte arquitetura: número de neurônios na camada de entrada=2, numero de neurônios na cada intermediária=3 e número de neurônios na camada de saída=1, o erro médio quadrático foi de 0.000532072.
7.2-RESULTADOS DE SIMULAÇÃO PARA A TAREFA 1 (TABELA 3 - TAXIAS E REFLEXO) O melhor experimento para o problema da Tabela 3 que se assemelha ao problema da Tabela 2, porém, considera que caso o ser vivo não detecte alimento, ele deve se deslocar em círculos, assim sendo, teria maiores chances de sobrevivência em um ambiente em que o alimento se torna escasso, utilizaram-se os seguintes parâmetros: numero de gerações=100, numero de indivíduos=30, taxa de aprendizado=0.3, número de épocas =200, erro-médio quadrático aceitável=0.001, taxa de esquecimento=0.1, função tangente hiperbólica nos neurônios da camada de entrada e intermediária e função linear nos neurônios da camada de saída. Utilizou-se bias=0 para as camadas intermediária e saída. A convergência do ADEANN-Hebb se deu por volta da geração 76, ver Figura 6, essa foi a geração que obteve maior “fitness” e a melhor rede neural possui a seguinte arquitetura: número de neurônios na camada de entrada=2, numero de neurônios na cada intermediária=3 e numero de neurônios na camada de saída=1, o erro médio quadrático obtido foi de 0.000254405.
Figura 5- Autômato Finito que implementa o comportamento da formiga, Fonte: [ROISENBERG et al., 1997].
7.3-RESULTADOS DE SIMULAÇÃO PARA A TAREFA 2 (TABELA 4)
O melhor experimento para o problema da Tabela 4 que representa uma criatura com um sistema nervoso mais complexo que os casos anteriores, utilizou os seguintes parâmetros: número de gerações=100, numero de indivíduos=30, taxa de aprendizado=0.49, número de épocas=400, erro-médio quadrático aceitável=0.001, taxa de esquecimento=0.284, função tangente hiperbólica nos neurônios da camada de entrada e intermediária e função linear nos neurônios da camada de saída. Utilizaram-se bias=0 para a camada intermediária e saída. A convergência do ADEANN-Hebb se deu por volta da geração 82 (ver Figura 7), pois essa foi a geração que obteve maior “fitness” e a melhor rede neural possui a seguinte arquitetura: número de neurônios na camada de entrada=5, numero de neurônios na cada intermediária=2 e numero de neurônios na camada de saída=1, o erro médio quadrático foi de 0.000115009.
Tabela 4 - conjunto de treinamento para os estados do autômato finito que implementa o comportamento da formiga simulada, Fonte: [ROISENBERG et al., 1997].
Sensor u(k)
Estado x(k+1) Saída desejada da RNA
Para os estados (0,1,2,3,4) Comida Sem comida +1 -1 -1 -1 -1 (0) 0.99 +1 -1 -1 -1 -1 (0) 0.99 -1 +1 -1 -1 +1 (1) 0.84 +1 -1 -1 -1 -1 (0) 0.99 -1 +1 -1 -1 +1 (1) 0.84 -1 +1 -1 +1 -1 (2) 0.8 +1 -1 -1 -1 -1 (0) 0.99 -1 +1 -1 -1 +1 (1) 0.84 -1 +1 -1 +1 -1 (2) 0.8 -1 +1 -1 +1 +1 (3) 0.1 +1 -1 -1 -1 -1 (0) 0.99 -1 +1 -1 -1 +1 (1) 0.84 -1 +1 -1 +1 -1 (2) 0.8 -1 +1 -1 +1 +1 (3) 0.1 -1 +1 +1 -1 -1 (4) 0.48 +1 -1 -1 -1 -1 (0) 0.99 -1 +1 -1 -1 +1 (1) 0.84 -1 +1 -1 +1 -1 (2) 0.8 -1 +1 -1 +1 +1 (3) 0.1
-1 +1 +1 -1 -1 (4) 0.48
-1 +1 -1 -1 -1 (0) 0.99
A Figura 6 mostra as melhores aptidões e médias para o problema de taxias e reflexos, cujo conjunto de treinamento é dado na Tabela 3. Percebe-se que a melhor média se deu na geração 91.
Figura 6-Aptidão por geração para o problema de taxias e reflexos simulando deslocamento circular, Fonte: os autores (2019)
Figura 7-Aptidão por geração para o problema do comportamento reativo e instintivo, Fonte: os autores (2019)
8. CONCLUSÕES
Esta pesquisa abordou um sistema biologicamente inspirado como umas ferramentas para as implementações autônomas de agentes. Os resultados dos experimentos mostram que o sistema híbrido, proposto, funciona bem e converge para todos os problemas estudados. O sistema é uma alternativa eficaz para implementar comportamentos reativos em agentes autônomos. Adicionalmente, os resultados indicam a eficiência da técnica na seleção de arquiteturas econômicas de RNAs para todos os problemas simulados.
AGRADECIMENTOS
Os autores agradecem a Pró-Reitoria de Pesquisa e Pós-Graduação da UFPA (Universidade Federal do Pará) por meio do Programa PRODOUTOR, pela bolsa de estudos e auxílio financeiro que possibilitou a o desenvolvimento dessa pesquisa.
REFERÊNCIAS
Bengio, Y., Lamblin, P., Popovici, D. & Larochelle, H. Greedy layer-wise training of deep networks. In Proc. Advances in Neural Information Processing Systems 19 153–160 (2006).
Boozarjomehry, R. B.—Svrcek, W. Y.: Automatic Design of Neural Networks Structures. Computers and Chemical Engineering, Vol. 25, 2001, No. 7-8, pp. 1075–1088, doi: 10.1016/S0098-1354(01)00680-9.
Bukhtoyarov, V.—Semenkin, E.: Evolutionary Three-Stage Approach for Designing of Neural Networks Ensembles for Classification Problems. In: Tan, Y., Shi, Y., Mo, H. (Eds.): Advances in Swarm Intelligence (ICSI 2013)., Lecture Notes in Computer Science, 2013, pp. 467–477.
De Campos, Lídio Mauro Lima, de Oliveira, Roberto Célio Limão, Roisenberg, Mauro. Optimization of neural networks through grammatical evolution and a genetic algorithm, Expert Systems with Applications, 2016, Pages 368-384, ISSN 0957-4174.
FRANÇA, Thayanne et al. An Agent Program Capable of Applying Local Search Strategies in the State Space of Well-Defined Problems. Anais do Encontro Nacional de Inteligência Artificial e Computacional (ENIAC), [S.l.], p. 377-388, oct. 2018. ISSN 0000-0000.
Gauci, J.—Stanley, K. O.: Autonomous Evolution of Topographic Regularities in Artificial Neural Networks. Neural Computation, 2010, pp. 1860–1898, doi: 10.1162/neco.2010.06-09-1042.
Hinton, G. E., Osindero, S. & Teh, Y.-W. A fast learning algorithm for deep belief nets. Neural Comp. 18, 1527–1554 (2006).
Kazaryan, D. E.—Savinkov, A. V.: Grammatical Evolution for Neural Network Optimization in the Control System Synthesis Problem. Procedia Computer Science, Vol. 103, 2017, pp. 14–19, doi: 10.1016/j.procs.2017.01.002.
Kromer, P. Plato ¨ ˇs, J.—Sna´ˇsel, V.: Nature-Inspired Meta-Heuristics on Modern GPUs: State of the Art and Brief Survey of Selected Algorithms. International Journal of Parallel Programming, 2014, pp. 681–709, doi: 10.1007/s10766-013-0292-3.
Kitano, H.: Designing Neural Networks Using Genetic Algorithms with Graph Generation System. Complex Systems, Vol. 4, 1990, pp. 461–476.
Lee, D.-W.—Kong, S. G.—Sim, K.-B.: Evolvable Neural Networks Based on Developmental Models for Mobile Robot Navigation. Proceedings of 2005 IEEE International Joint Conference on Neural Networks (IJCNN ’05), 2005, pp. 337–342.
Miller, G. F.—Todd, P. M.—Hegde, S. U.: Designing Neural Networks Using Genetic Algorithms. Proceedings of the Third International Conference on Genetic Algorithms, Morgan Kaufmann Publishers Inc., 1989, pp. 379–384.
Ojha, V. K.—Dutta, P.—Chaudhuri, A.—Saha, H.: Understating Continuous Ant Colony Optimization for Neural Network Training: A Case Study on Intelligent Sensing of Manhole Gas Components. International Journal of Hybrid Intelligent Systems, 2015, No. 4, pp. 185–202.
Roisenberg, M., Barreto, J.M. e de Azevedo, F.M.; “Implementing Behaviors with Artificial Neural Networks”. WRI’97 - Workshop de Robótica Inteligente, Brasília, DF. Agosto, 1997.
Risi, S.—Stanley, K. O.: An Enhanced Hypercube-Based Encoding for Evolving the Placement, Density, and Connectivity of Neurons. Artificial Life, 2012, pp. 331–363.
Sanchez, D.—Melin, P. ´ : Optimization of Modular Granular Neural Networks Using Hierarchical Genetic Algorithms for Human Recognition Using the Ear Biometric Measure. Engineering Applications of Artificial Intelligence, 2014, pp. 41–56, doi: 10.1016/j.engappai.2013.09.014.
Stanley, K. O. Miikkulainen, R.: Evolving Neural Networks Through Augmenting Topologies. Evolutionary Computation, 2002, pp. 99–127, doi: 10.1162/106365602320169811.
Such, F. P., Madhavan, V., Conti E., Lehman J., Stanley K.O., Clune Jeff. Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning. CoRR, 2017.
Sutton, R. S. & Barto, A. G. Reinforcement Learning: An Introduction (MIT Press, Cambridge, 2018).
Zhang, J.-R.—Zhang, J.—Lok, T.-M.—Lyu, M. R.: A Hybrid Particle Swarm Optimization-Back-Propagation Algorithm for Feedforward Neural Network Training. Applied Mathematics and Computation, Vol. 185, 2007, No. 2, pp. 1026–1037, Special Issue on Intelligent Computing Theory and Methodology.