As Redes Neurais Artificiais (RNA’s), diferentemente de computadores digitais convencionais executam suas operações utilizando simultaneamente um grande
número de “processadores” (neurônios) operando de maneira paralela. A representação do conhecimento é distribuída pelas conexões e o aprendizado é feito alterando-se valores associados com as conexões (PAGLIOSA, 2003).
As RNA’s são caracterizadas por sistemas que, em algum nível, relembram a estrutura das redes neurais do cérebro humano (TAFNER et al., 1996), imitando as habilidades computacionais do sistema nervoso biológico utilizando para isso um grande número de neurônios artificiais interconectados.
Um neurônio artificial é a unidade fundamental de processamento de informação de uma rede neural (HAYKIN, 2001). O primeiro modelo artificial de um neurônio biológico foi proposto por McCULLOCH e PITTS (1943) (Figura 2.16). Os autores constataram alguns fatos básicos que tornaram possível a modelagem matemática do neurônio (BRAGA et al., 2000; AZEVEDO, 1999; AZEVEDO et al., 2000; TAFNER et al., 1996), dentre eles o fato dos neurônios se comportarem como “somadores algébricos” e possuírem uma propriedade de “limiar”, ou seja, quando as entradas integradas excederem o limiar, os neurônios disparam um sinal através do axônio . Assim sendo, o modelo de McCULLOCH e PITTS realiza a soma algébrica ponderada dos sinais de entrada de um neurônio que, por sua vez, servirá como entrada para a função de ativação, determinando a saída da rede (HAYKIN, 2001).
Figura 2.16 – Modelo do neurônio de McCulloch e Pitts
Podem-se identificar três elementos básicos no modelo exposto na Figura 2.16 (IYODA, 2000):
– Um conjunto de sinapses ou conexões de entrada, sendo cada entrada ponderada por um peso sináptico;
– Uma junção aditiva, responsável pela combinação aditiva dos sinais de entrada, ponderados pelos respectivos pesos das sinapses do neurônio.
– Uma função de ativação, geralmente não-linear, representando um efeito de saturação na ativação de saída do neurônio. Tipicamente a excursão da ativação do neurônio é confinada ao intervalo (0,1) ou (-1,1).
Uma RNA é classificada pelo algoritmo de aprendizagem utilizado, pelo tipo ou função do neurônio presente e por sua arquitetura (HAYKIN, 2001; REZENDE, 2005).
O algoritmo de aprendizagem é um conjunto de procedimentos bem definidos para adaptar os parâmetros de uma RNA de maneira a se obter o desempenho desejado. A etapa de aprendizagem é um processo iterativo de ajuste de parâmetros da rede, os pesos das conexões entre as unidade de processamento que guardam ao final do processo o conhecimento que rede adquiriu do ambiente em que está operando (PAGLIOSA, 2003).
Os métodos de aprendizagem de redes neurais podem ser divididos em dois grupos: aprendizado supervisionado e não supervisionado (TAFNER et al., 1996; BRAGA et al., 2000).
O método de aprendizagem supervisionado é caracterizado pela presença de um “professor” externo, responsável por fornecer informações da entrada e da saída desejadas para a rede neural. O objetivo desse método é fazer os ajustes dos parâmetros da rede, de tal maneira que se minimize o erro existente. Como exemplos de algoritmos para aprendizado supervisionado são a regra delta (MÁSSON e WANG, 1990; WIDROW, 1962) e sua generalização para redes de múltiplas camadas, o algoritmo backpropagation (BEALE e JACKSON, 1990; WERBOS, 1974; PARKER, 1982; RUMELHART, 1986).
No método de aprendizagem não supervisionado não existe um “professor” para supervisionar o processo de aprendizagem, não existindo nenhuma saída desejada explícita ou avaliação externa da saída produzida para cada dado de entrada. O ajuste de pesos sinápticos nesse tipo de algoritmo de aprendizagem deve recorrer apenas aos dados de entrada, tomados como amostras independentes de uma distribuição de probabilidade desconhecida. Como métodos de aprendizagem não supervisionada podem ser citadas a aprendizagem de Hebbian (HEBB, 1949), o aprendizado competitivo (BARRETO, 2001) e o aprendizado winner-take-all (SUM et al., 1999).
A função de ativação determina o comportamento individual interno de cada neurônio. Se todos os neurônios têm o mesmo comportamento, ou seja, tem a mesma função de ativação, a rede é dita homogênea, caso contrário a rede é chamada
heterogênea (NÓBREGA SOBRINHO, 2011). Definindo-se o campo induzido Vin para
cada neurônio como sendo o produto das entradas pelo seu respectivo peso, tal como é mostrado na Equação (2.1) e o sinal funcional Y de acordo com a Equação (2.2), podem-se citar como funções de ativação f(.): função sigmoide, ilustrada na Figura 2.17(a); função tangente hiperbólica, mostrada na Figura 2.17(b); função degrau, Figura 2.17(c); função sinal, ilustrada na Figura 2.17(d).
Vin = Win x In (2.1) (Vin) f = Y (2.2) (a) (b) (c) (d) Figura 2.17 – Funções de ativação
As conexões entre as camadas de uma rede neural geram diferentes estruturas. Fazem parte da definição de arquitetura os seguintes parâmetros (PAGLIOSA, 2003):
a) Número de camadas da rede: as redes neurais podem apresentar estruturas com uma única camada, ou seja, só existe um nó entre qualquer entrada e qualquer saída da rede. Nas redes de múltiplas camadas existe mais de um neurônio entre alguma
entrada e alguma saída da rede. A forma mais simples de redes neurais de camada única consiste de um único neurônio na camada de saída, sendo conhecido como perceptron. A Figura 2.16 é um exemplo de perceptron com três neurônios na camada de entrada e um neurônio na camada de saída. Este tipo de estrutura apresenta limitações importantes e podem ser aplicadas com êxito apenas na resolução de uma classe restrita de problemas (apenas problemas linearmente separáveis) (MINSKY e PAPERT, 1988). Algumas das limitações apresentadas pelo perceptron podem ser superadas com a aplicação de redes neurais de múltiplas camadas, com no mínimo uma camada oculta (camada que não é de entrada, nem de saída), ou perceptron multicamadas (MLP – multilayer perceptron) (Figura 2.18). Uma rede neural de múltiplas camadas pode implementar qualquer função (KOVACS, 1996; YONEYAMA e JUNIOR, 2001).
Figura 2.18 – Rede neural de múltiplas camadas
b) Conexões dos neurônios: uma rede neural pode ser classificada como feedfoward, sem retroalimentação, ou rede com ciclos, possuindo elos de realimentação (AZEVEDO et al., 2000). Em redes feedfoward ou acíclicas, a saída de um neurônio na i-ésima camada da rede não pode ser utilizada como entrada de neurônios em camadas com índice menor ou igual a i (Figura 2.18). Já em redes cíclicas ou feedback, as saídas de algum neurônio da i-ésima camada da rede podem ser utilizadas como entradas de neurônios em camadas de índice menor ou igual a i (Figura 2.19). O sinal pode ser aplicado para excitar a camada inteira, como também para excitar apenas um neurônio em particular.
Figura 2.19 – Rede neural cíclica
ARCOS CAMARGO (2002) apresentou um controle da trajetória de um robô manipulador tipo SCARA dentro de um volume de trabalho que é definido pelas equações cinemáticas. A determinação da trajetória dentro do volume de trabalho é obtida com o uso de redes neurais artificiais do tipo perceptron de múltiplas camadas que simulam os movimentos do manipulador entre dois pontos quaisquer dentro deste volume.
Em ZHAO-HUI et al. (2007) é proposto um método de controle de rastreamento dinâmico da trajetória de manipuladores industriais, utilizando um controlador PD e uma rede neural feedfoward de múltiplas camadas.
Em STOICA et al. (2010) é apresentado um controle por redes neurais para robôs industriais cujo método de treinamento leva em conta informações de aprendizados passados, bem como informações de instantes atuais.
ZHANG et al. (2001) desenvolveu uma abordagem com redes neurais de múltiplas camadas em conjunto com um controlador PID para melhoria do desempenho de robôs industriais no rastreamento de trajetórias. Nesse trabalho foi constatada uma melhora na dinâmica de atraso e também a diminuição da interferência do atrito entre as partes, melhorando também a qualidade do produto e a eficiência do processo.
CHO et al. (2006) propôs esquemas de modelagem e estratégias de controle para veículos aéreos não-tripulados. Já em RICHTER (2009) foi projetada uma arquitetura neural visando sensoriamento virtual de oxigênio em veículos bicombustíveis. Em VICENTE et al. (2007) foi proposto um controlador neural de marcha lenta para motores de combustão interna.