redes neurais artificiais

redes neurais artificiais

Redes Neurais Artificial

Tópicos:

  • Introdução ao estudo de RNA –sua origem e inspiração biológica

  • Características gerais das RN e descrição do neurônio artificial

  • Aprendizado de RN e tipos de Aprendizado

  • Algoritmo de Aprendizado e Topologias básicas

  • Algumas Aplicações das RNA

Introdução

  • Redes Neurais Artificiais são técnicas computacionais que apresentam um modelo matemático inspirado na estrutura neural de organismos inteligentes e que adquirem conhecimento através da experiência. Uma grande rede neural artificial pode ter centenas ou milhares de unidades de processamento; já o cérebro de um mamífero pode ter muitos bilhões de neurônios.

  • O sistema nervoso é formado por um conjunto extremamente complexo de células, os neurônios. Eles têm um papel essencial na determinação do funcionamento e comportamento do corpo humano e do raciocínio. Os neurônios são formados pelos dendritos, que são um conjunto de terminais de entrada, pelo corpo central, e pelos axônios que são longos terminais de saída.

Constituíntes da célula neuronal

Inspiração biológica

  • Os neurônios se comunicam através de sinapses. Sinapse é a região onde dois neurônios entram em contato e através da qual os impulsos nervosos são transmitidos entre eles. Os impulsos recebidos por um neurônio A, em um determinado momento, são processados, e atingindo um dado limiar de ação, o neurônio A dispara, produzindo uma substância neurotransmissora que flui do corpo celular para o axônio, que pode estar conectado a um dendrito de um outro neurônio B. O neurotransmissor pode diminuir ou aumentar a polaridade da membrana pós-sináptica, inibindo ou excitando a geração dos pulsos no neurônio B. Este processo depende de vários fatores, como a geometria da sinapse e o tipo de neurotransmissor.

Em média, cada neurônio forma entre mil e dez mil sinapses. O cérebro humano possui cerca de 10 E11 neurônios, e o número de sinapses é de mais de 10 E14, possibilitando a formação de redes muito complexa.

  • Em média, cada neurônio forma entre mil e dez mil sinapses. O cérebro humano possui cerca de 10 E11 neurônios, e o número de sinapses é de mais de 10 E14, possibilitando a formação de redes muito complexa.

Um Breve Histórico

  • McCulloch e Pitts (1943), Hebb (1949), e Rosemblatt (1958). Estas publicações introduziram o primeiro modelo de redes neurais simulando “máquinas”, o modelo básico de rede de auto-organização, e o modelo Perceptron de aprendizado supervisionado, respectivamente.

  • nos anos 60 e 70, importantes trabalhos sobre modelos de redes neurais em visão, memória, controle e auto-organização como: Amari, Anderson, Cooper, Cowan, Fukushima, Grossberg, Kohonen, von der Malsburg, Werbos e Widrow.

  • Alguns históricos sobre a área costumam “pular” os anos 60 e 70 e apontar um reínicio da área com a publicação dos trabalhos de Hopfield (1982) relatando a utilização de redes simétricas para otimização e de Rumelhart, Hinton e Williams que introduziram o poderoso método Backpropagation.

Características Gerais das RNs

  • Uma rede neural artificial é composta por várias unidades de processamento, cujo funcionamento é bastante simples. Essas unidades, geralmente são conectadas por canais de comunicação que estão associados a determinado peso. As unidades fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede.

Características

  • São modelos adaptativos treináveis

  • Podem representar domínios complexos (não lineares)

  • São capazes de generalização diante de informação incompleta

  • Robustos

  • São capazes de fazer armazenamento associativo de informações

  • Processam informações Espaço/temporais

  • Possuem grande paralelismo, o que lhe conferem rapidez de processamento

O que é uma Rede Neural?

  • A grande premissa do conexionismo para aplicações em processamento de informações e/ou inteligência artificial é o fato de que se pode analisar um problema de acordo como funcionamento do cérebro humano

  • O cérebro processa informações através da ativação de uma série de neurônios biológicos. Os neurônios por sua vez, interagem numa rede biológica através da intercomunicação.

O Neurônio Artificial

  • McCullock e Pitts 1943,

  • sinais são apresentados à entrada;

  • cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade;

  • é feita a soma ponderada dos sinais que produz um nível de atividade;

  • se este nível de atividade exceder um certo limite (threshold) a unidade produz uma determinada resposta de saída.

Exemplo

  • sinais de entrada X1, X2, ..., Xp (0 ou 1)

  • pesos w1, w2, ..., wp, valores reais.

  • limitador t;

  • Neste modelo, o nível de atividade a é dado por:

  • a = w1X1 + w2X2 + ... + wpXp

  • A saída y é dada por:

    • y = 1, se a >= t ou
    • y = 0, se a < t.

Organização em camadas

Organização em camadas

  • Usualmente as camadas são classificadas em três grupos:

    • Camada de Entrada: onde os padrões são apresentados à rede;
    • Camadas Intermediárias ou Escondidas: onde é feita a maior parte do processamento, através das conexões ponderadas; podem ser consideradas como extratoras de características;
    • Camada de Saída: onde o resultado final é concluído e apresentado.

Processos de Aprendizado

  • A propriedade mais importante das redes neurais é a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho.

  • Isso é feito através de um processo iterativo de ajustes aplicado a seus pesos, o treinamento.

  • O aprendizado ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas.

Algoritmo de Aprendizado

  • algoritmo de aprendizado é um conjunto de regras bem definidas para a solução de um problema de aprendizado.

  • Existem muitos tipos de algoritmos de aprendizado específicos para determinados modelos de redes neurais,

  • estes algoritmos diferem entre si principalmente pelo modo como os pesos são modificados.

  • Aprendizado Supervisionado, quando é utilizado um agente externo que indica à rede a resposta desejada para o padrão de entrada;

  • Aprendizado Não Supervisionado (auto-organização), quando não existe uma agente externo indicando a resposta desejada para os padrões de entrada;

  • Reforço, quando um crítico externo avalia a resposta fornecida pela rede.

Treinamento Supervisionado

  • O treinamento de rede Perceptron, consiste em ajustar os pesos e os thresholds (bias) de suas unidades para que a classificação desejada seja obtida.

  • Quando um padrão é inicialmente apresentado à rede, ela produz uma saída.

  • Após medir a distância entre a resposta atual e a desejada, são realizados os ajustes apropriados nos pesos de modo a reduzir esta distância.

  • Este procedimento é conhecido como Regra Delta

Esquema de treinamento

  • Iniciar todas as conexões com pesos aleatórios;

  • Repita enquanto o erro E > e

    • Para cada par de treinamento (X,d), faça:
        • Calcular a resposta obtida O;
      • Se o erro não for satisfatoriamente pequeno E > e, então:
        • Atualizar pesos: Wnovo := W anterior + neta E X
  • Onde:

  • O par de treinamento (X, d) corresponde ao padrão de entrada e a sua respectiva resposta desejada;

  • O erro E é definido como: Resposta Desejada - Resposta Obtida (d - O);

  • A taxa de aprendizado neta é uma constante positiva, que corresponde à velocidade do aprendizado.

Potencial de Representação

  • Perceptrons representam uma superficie de um hiperplano no espaço n-dimensional

  • Alguns problemas não podem ser separados por hiperplanos

  • A regra de aprendizado encontra um vetor de pesos se os exemplos são linearmente separaveis

  • em cc a regra converge para a “melhor aproximação”

  • o desenvolvimento do algoritmo de treinamento backpropagation, por Rumelhart, Hinton e Williams em 1986, precedido por propostas semelhantes ocorridas nos anos 70 e 80,

  • é possível treinar eficientemente redes com camadas intermediárias, resultando no modelo de Perceptron Multi-Camadas (MLP)

Se existirem as conexões certas entre as unidades de entrada e um conjunto suficientemente grande de unidades intermediárias, pode-se sempre encontrar a representação que irá produzir o mapeamento correto da entrada para a saída através das unidades intermediária.

  • Se existirem as conexões certas entre as unidades de entrada e um conjunto suficientemente grande de unidades intermediárias, pode-se sempre encontrar a representação que irá produzir o mapeamento correto da entrada para a saída através das unidades intermediária.

  • Como provou Cybenko, a partir de extensões do Teorema de Kolmogoroff, são necessárias no máximo duas camadas intermediárias, com um número suficiente de unidades por camada, para se produzir quaisquer mapeamentos.

  • Também foi provado que apenas uma camada intermediária é suficiente para aproximar qualquer função contínua.

Backpropagation

  • Durante o treinamento com o algoritmo backpropagation, a rede opera em uma sequência de dois passos.

    • Primeiro, um padrão é apresentado à camada de entrada da rede. A atividade resultante flui através da rede, camada por camada, até que a resposta seja produzida pela camada de saída.
    • segundo passo, a saída obtida é comparada à saída desejada para esse padrão particular. Se esta não estiver correta, o erro é calculado. O erro é propagado a partir da camada de saída até a camada de entrada, e os pesos das conexões das unidades das camadas internas vão sendo modificados conforme o erro é retropropagado.

As redes que utilizam backpropagation trabalham com uma variação da regra delta, apropriada para redes multi-camadas: a regra delta generalizada.

  • As redes que utilizam backpropagation trabalham com uma variação da regra delta, apropriada para redes multi-camadas: a regra delta generalizada.

  • A regra delta padrão essencialmente implementa um gradiente descendente no quadrado da soma do erro para funções de ativação lineares.

  • Entretanto, a superfície do erro pode não ser tão simples, as redes ficam sujeitas aos problemas de de mínimos locais.

A regra delta generalizada funciona quando são utilizadas na rede unidades com uma função de ativação semi-linear, que é uma função diferenciável e não decrescente. Note que a função threshold não se enquadra nesse requisito. Uma função de ativação amplamente utilizada, nestes casos, é a função sigmoid.

  • A regra delta generalizada funciona quando são utilizadas na rede unidades com uma função de ativação semi-linear, que é uma função diferenciável e não decrescente. Note que a função threshold não se enquadra nesse requisito. Uma função de ativação amplamente utilizada, nestes casos, é a função sigmoid.

  • A taxa de aprendizado é uma constante de proporcionalidade no intervalo [0,1], pois este procedimento de aprendizado requer apenas que a mudança no peso seja proporcional à neta.

Entretanto, o verdadeiro gradiente descendente requer que sejam tomados passos infinitesimais. Assim quanto maior for essa constante, maior será a mudança nos pesos, aumentando a velocidade do aprendizado, o que pode levar à uma oscilação do modelo na superfície de erro. O ideal seria utilizar a maior taxa de aprendizado possível que não levasse à uma oscilação, resultando em um aprendizado mais rápido.

  • Entretanto, o verdadeiro gradiente descendente requer que sejam tomados passos infinitesimais. Assim quanto maior for essa constante, maior será a mudança nos pesos, aumentando a velocidade do aprendizado, o que pode levar à uma oscilação do modelo na superfície de erro. O ideal seria utilizar a maior taxa de aprendizado possível que não levasse à uma oscilação, resultando em um aprendizado mais rápido.

  • O treinamento das redes MLP com backpropagation pode demandar muitos passos no conjunto de treinamento, resultando um tempo de treinamento considerávelmente longo. Se for encontrado um mínimo local, o erro para o conjunto de treinamento pára de diminuir e estaciona em um valor maior que o aceitável.

Uma maneira de aumentar a taxa de aprendizado sem levar à oscilação é modificar a regra delta generalizada para incluir o termo momentum, uma constante que determina o efeito das mudanças passadas dos pesos na direção atual do movimento no espaço de pesos.

  • Uma maneira de aumentar a taxa de aprendizado sem levar à oscilação é modificar a regra delta generalizada para incluir o termo momentum, uma constante que determina o efeito das mudanças passadas dos pesos na direção atual do movimento no espaço de pesos.

  • Desta forma, o termo momentum leva em consideração o efeito de mudanças anteriores de pesos na direção do movimento atual no espaço de pesos. O termo momentum torna-se útil em espaços de erro que contenham longas gargantas, com curvas acentuadas ou vales com descidas suaves.

Memórias Matricias

  • Modelo não-linear de Willshaw

  • Modelo linear de Kohonen e Anderson

  • Memória linear ótima

  • Hopfield

Memória Matricial

  • Envolve a geração de um padrão de ativação no conjunto de nodos de saída em função do aparecimento de um determinado padrão de ativação de entrada.

  • O mapeamento entre o padrão de ativação de entrada e o de saída é feito através de uma transformação matricial

  • Pode ter ou não uma operação não-linear

Modelo de Willshaw

  • A matriz de pesos é obtida através da regra de Hebb + uma transformação não linear para obter uma matriz de pesos binária

    • Wij = g( Yi Xj )
    • g(x) = {1 x>= 1, 0 x<1}
    • (Y)’ = (W X)
    • (x) é uma função de limear, o limear deve ser igual ao número de elementos ativos em X

Capacidade de recuperação

  • Se adiciona-se o par [x3y3]

  • x3 =(1 1 1 1 1 1 1 1)t e y3 =(1 1 1 1 1 1 1 1 )t

  • W passa a ter todos seus elementos em 1, a rede perde a sua capacidade de recuperar as associações.

Comentários