• Nenhum resultado encontrado

3 FUNDAMENTAÇÃO TEÓRICA DOS MÉTODOS APLICADOS

3.2 Redes Neurais Artificiais

Uma Rede Neural Artificial (RNA) tem seu funcionamento baseado em conceitos que são observados no cérebro humano, reproduzindo características e funções de neurônios e caminhos sinápticos do cérebro. A RNA funciona como um processador paralelo distribuído, constituído por unidades de processamento simples, denominadas neurônios (ou nós computacionais), com capacidade de armazenar conhecimento e torná-lo disponível para uso. Assim como ocorre no cérebro, o conhecimento adquirido pela rede a partir de seu ambiente é realizado através de um processo de aprendizagem (HAYKIN, 2001).

As RNAs constituem um ramo importante da Inteligência Artificial (IA) e são amplamente utilizadas devido à possibilidade de se implementar computacionalmente versões simplificadas dos neurônios biológicos. As RNAs são capazes de organizar dados, reconhecer padrões, aprender, tolerar falhas e tomar decisões com base no aprendizado, extraindo informações não apresentadas de forma explícita, entre outras habilidades (ZOUCAS, 2009).

A capacidade de aprender de uma RNA é obtida por um algoritmo de aprendizagem. O mesmo altera os pesos das ligações sinápticas entre os neurônios, distribuindo-as de maneira ordenada para a rede alcançar seus objetivos. Este processo possui as características que serão apresentadas nas próximas seções.

Na estrutura mais simples, os neurônios de uma RNA são organizados em camadas, sendo estas divididas em três tipos: Entrada, Oculta (Intermediária ou Escondida), e Saída. A Figura 3.1 ilustra um exemplo de RNA simples com três neurônios na camada de entrada, 4 neurônios na camada oculta e 3 neurônios na camada de saída.

O número de neurônios das camadas de entrada e saída deve ser definido previamente, de acordo com o número de entradas e saídas do processo a ser modelado. Os conjuntos, ou vetores, de entrada e saída de uma RNA também são chamados de padrões. Por sua vez, a camada oculta deve ser definida em função da busca do melhor resultado oriundo de treinamento, podendo ser acrescentados ou retirados neurônios, e refazendo o treinamento até que se consiga uma configuração satisfatória (AGUIAR et al., 2007).

Camada de Entrada Camada Oculta Camada de Saída

Figura 3.1 – Exemplo de rede neural artificial simples. Fonte: Elaborado pelo autor

3.2.1 Representação das RNAs

A unidade básica de processamento de informação de uma RNA é o neurônio. Esse pode ser dividido em três elementos principais, como mostra a Figura 3.2:

Sinapses: responsáveis por ponderar as entradas do neurônio, multiplicando-as por um peso;

Somador: responsável pela soma das entradas multiplicadas pelos respectivos pesos;

Função de ativação: responsável por limitar a amplitude de saída do neurônio tipicamente para valores normalizados nos intervalos [0,1] ou [-1,1].

Nesse modelo, está representado também um sinal bk, usualmente

denominado bias, que tem a função de deslocar o resultado do somador para cima ou para baixo, antes de sua entrada na função de ativação.

w

k1

w

k2

w

km

S

X

1

X

2

X

m . . . bk

j(.)

Sinapses Somador Função de Ativação

v

k

y

k

Figura 3.2 – Representação de um neurônio Fonte: Adaptado de Haykin (2001)

A saída yk do neurônio pode ser expressa em função das entradas xk pela

Equação 3.4: ( ∑ ) (3.4) sendo:

j = operador da função de ativação; k = índice do neurônio;

j = índice da sinapse; w = peso sináptico; b = bias;

m = número de sinapses.

A função de ativação pode ter diferentes formas, sendo as mais usuais apresentadas na Figura 3.3. Além dessas funções, existem também funções que restringem a saída ao intervalo que inclui valores negativos, [-1,1].

Nessa Dissertação, foi utilizada a função denominada Sigmóide (em forma de S), que pode ser representada pela Equação 3.5:

(3.5)

na qual:

v = saída do somador (também denominado campo local induzido); a = inclinação da curva. 1,0 0,0

j(v)

-2,0 0,0 2,0 v 1,0 0,0

j(v)

-2,0 0,0 2,0 v 1,0 0,0

j(v)

-2,0 0,0 2,0 v Limiar

Linear por partes

Sigmóide

Figura 3.3 – Exemplos de funções de ativação Fonte: Elaborado pelo autor

3.2.2 Estruturas de RNAs

De modo geral, existem três estruturas distintas relacionadas à forma como os neurônios estão organizados em uma RNA:

Redes alimentadas adiante com camada única: nas quais existe apenas uma camada de neurônios onde ocorre processamento (Figura 3.4.a); o termo “adiante” se refere ao fato da entrada se propagar para frente, através da rede.

Redes alimentadas adiante com múltiplas camadas: nas quais existem camadas de neurônios ocultas (Figura 3.4.b);

Redes recorrentes: nas quais existe pelo menos um laço de realimentação, caracterizado pelo retorno da informação de saída de um neurônio para camadas anteriores da rede que influenciam em sua entrada (Figura 3.4.c). O operador do ramo de realimentação é representado por z-1, e consiste na aplicação de um atraso temporal unitário em sua saída em relação à sua entrada.

Camada de Entrada Camada de Saída Camada de Entrada Camada Oculta Camada de Saída Camada de Entrada Camada Oculta Camada de Saída Z-1 (a) (b) (c)

Figura 3.4 – Exemplos de estruturas de RNAs. Fonte: Elaborado pelo autor

Quando todos os neurônios de camadas consecutivas da RNA estão conectados entre si através de sinapses, a rede é dita totalmente conectada; caso contrário, a rede é dita parcialmente conectada.

3.2.3 Aprendizagem das RNAs

O conceito de aprendizagem de uma RNA está relacionado com mecanismos de adaptação de seus parâmetros através de estímulos provenientes do ambiente no qual a rede está inserida (HAYKIN, 2011). Em termos de aprendizagem, as RNAs podem ser divididas basicamente em duas classes: Redes Não-Supervisionadas e Redes Supervisionadas.

As RNAs Não-Supervisionadas obtêm seu aprendizado a partir somente dos dados de entrada e descobrindo, estaticamente, padrões relevantes destes dados. Neste treinamento, não há a associação entre os dados de entrada com os valores desejados de saída e, dessa forma, o sistema desenvolve seu próprio aprendizado (PEREIRA, 2013). A Figura 3.5 ilustra o conceito de uma RNA com aprendizado Não-Supervisionado.

RNA

Mecanismos de Adaptação

Entradas

Saídas

Figura 3.5 – Estrutura de Aprendizado Não-Supervisionado. Fonte: Adaptado de Altran (2005)

Nas RNAs Supervisionadas, existe uma associação entre os dados de entrada com valores almejados na saída, que podem ser, por exemplo, dados reais de um sistema e que serão utilizados como referência no treinamento da rede. Sempre que houver divergência entre a saída da RNA e a saída desejada, os valores dos pesos sinápticos da rede são ajustados, até que o erro entre a saída e a referência atinja um valor aceitável (PASQUOTTO, 2010). Esse processo de aprendizagem é denominado aprendizagem por correção de erro, e essa estrutura emprega o paradigma conhecido como aprendizagem com professor.

Na Figura 3.6 está ilustrado o conceito de aprendizado supervisionado. O bloco “Professor” recebe os mesmos dados de estímulo do ambiente que a rede, porém, ele detém o conhecimento prévio sobre o ambiente, a partir de exemplos. Dessa forma, para um determinado conjunto de entradas, o professor é capaz de produzir uma saída desejada, ou referência, que é comparada com a saída produzida pela RNA e utilizada para produzir o sinal de erro, que por fim é utilizado para ajustar os parâmetros da rede.

RNA

Documentos relacionados