Redes Neurais Artificiais

Fundamentos teóricos

O cérebro humano tem sido extensamente estudado, mas ainda não somos capazes de entender completamente seu funcionamento.

https://www.datascienceacademy.com.br

Redes neurais artificiais são modelos computacionais inspirados no sistema nervoso dos seres vivos. Tem a capacidade de adquirir e atualizar o conhecimento baseado em informações, são interligadas por um grande número de interconexões (sinapses artificias), sendo representadas por matrizes e vetores de pesos sinápticos.

Algumas características:

  • Adaptação por experiência: são apresentados exemplos (padrões, amostras, medidas) assim ajustando seus parâmetros internos possibilitando a aquisição do conhecimento por experimentação.
  • Capacidade de aprendizado: por intermédio da aplicação de um método de treinamento, a rede consegue extrair o relacionamento existente entre as diversas variáveis que compõem a aplicação.
  • Habilidade de generalização: após o processo de teste a rede é capaz de generalizar o conhecimento adquirido e reconhecer novas características até então desconhecidas.
  • Organização de dados: capaz de determinar conjuntos de informações a respeito de um processo visando possibilitar o agrupamento de padrões que possui particularidades em comum.
  • Tolerância a falhas: devido ao número de interconexões entre os neurônios artificiais, a rede torna-se um sistema tolerante a falhas quando alguma parte de sua estrutura interna é sensivelmente corrompida.
  • Armazenamento distribuído: cada informação extraída de determinado processo dentro de uma arquitetura neural é representada de forma distribuída entre as diversas sinapses de seus neurônios artificiais, permitindo a escalabilidade da arquitetura frente a eventuais neurônios que se tornem inoperantes.

O primeiro modelo matemático inspirado em neurônio biológico foi em 1943 por meio de um artigo escrito por McCulloch & Pitts (1943).

Em 1949, o primeiro método de treinamento para redes neurais artificiais foi proposto, denominado regra de aprendizagem de Hebb, sendo esta baseada em hipóteses e observações de caráter neurofisiológicos.

Entre 1957 e 1958 Frank Rosenblatt desenvolveu o primeiro neurocomputador denominado Mark I Perceptron, idealizando o modelo básico do Perceptron. O modelo Perceptron despertou interesse devido à sua capacidade em reconhecer padrões simples.

Em 1960 Widrow & Hoff desenvolveram um tipo de rede denominada Adaline, que é a abreviatura a ADAptive LINear Element. Posteriormente, propôs-se a Madaline, a Adaline múltipla, que é uma rede cujo o aprendizado é fundamentado na chamada regra Delta ou LMS (least mean square).

Em 1969, a neurocomputação sofreu um revés com a publicação do clássico livro Perceptron e o Adaline — an introduction to computational geometry por Minsky & Papert. Os autores demonstraram de forma enfática a limitação de redes neurais artificiais construídas apenas com uma única camada, como o Perceptron e o Adaline. Nesta publicação houve a demonstração da impossibilidade de classificar problemas não lineares com as redes neurais artificiais.

Apartir do reflexo dessa publicação, teve-se então um período em que pouquissimas pesquisas eram desenvolvidas, cujos destaques foram a derivação de algoritmos de predição utilizando gradiente reverso por Werbos em 1974, a implementação da rede ART (adaptative resonance theory) por Grossberg em 1980, a formulação de mapas auto organizáveis por Kohonen em 1982, e a proposição por Hopfield em 1982 de redes recorrentes baseadas em funções de energia, sendo que está ultima fez com que a área de redes neurais artificiais voltasse ao destaque que possuía ates de 1969.

A retomada definitiva que vemos até os dias de hoje deve a diversos fatores, tais como o desenvolvimento de computadores com maior capacidade de processamento, a criação de algoritmos de otimização mais eficientes e robustos e, finalmente, as novas descobertas sobre o sistema nervoso biológico. A proposição de tal algoritmo, denominado backpropagation, reascendeu e motivou definitivamente as pesquisas em redes neurais artificiais.

https://www.datascienceacademy.com.br

Neurônio biológico:

O processamento de informações no nosso cérebro é regido por elementos biológicos que operam em paralelo, tendo como objetivo a produção de ações apropriadas para uma de suas funcionalidades, tais como o pensar e memorizar.

A célula elementar do sistema nervoso cerebral é o neurônio e seu papel é conduzir impulsos sob determinadas condições de operação, pode ser dividido em três partes, isto é, nos dendritos, no corpo celular (soma) e no axônio.

Os dendritos são finos prologamentos que formar a árvore dendrital. A principal função dos dendritos consiste em captar, de forma contínua, os estímulos vindos de diversos outros neurônios ou do próprio meio externo onde estes podem estar em contato (neurônios sensitivos).

O corpo celular é incumbido de processar todas as informações advindas dos dendritos a fim de produzir um potencial de ativação que poderá disparar um impulso elétrico ao longo de seu axônio. Estima-se que uma rede neural biológica, com características bem excêntricas, seja constituída por cerca de 100 bilhões de neurônios. Cada um desses ligados por conexões sinápticas em média a outros 6000 neurônios, perfazendo-se então um total de 600 trilhões de sinapses.

Neurônio artificial:

O neurônio artificial é um modelo simplificado do neurônio biológico. Tais modelos inspirados a partir da análise da geração e propagação de impulsos elétricos pela membrana celular dos neurônios.

São modelo não-lineares, fornecem saídas tipicamente contínuas, e realizam funções simples, como coletar sinais existentes em suas entradas, agregá-los de acordo com a sua função de ativação.

Funcionamento:

  • Sinais de entrada { X1, X2, …, Xn }: São os sinais externos normalmente normalizados para incrementar a eficiência computacional dos algoritmos de aprendizagem.
  • Pesos sinápticos { W1, W2, …, Wn }: São valores para ponderar os sinais de cada entrada da rede.
  • Combinador linear { Σ }: Agregar todos sinais de entrada que foram ponderados pelos respectivos pesos sinápticos a fim de produzir um potencial de ativação.
  • Limiar de ativação { Θ }: Especifica qual será o patamar apropriado para que o resultado produzido pelo combinador linear possa gerar um valor de disparo de ativação.
  • Potencial de ativação { u }: É o resultado obtido pela diferença do valor produzido entre o combinador linear e o limiar de ativação. Se o valor for positivo, ou seja, se u ≥ 0 então o neurônio produz um potencial excitatório; caso contrário, o potencial será inibitório.
  • Função de ativação { g }: Seu objetivo é limitar a saída de um neurônio em um intervalo valores.
  • Sinal de saída { y}: É o valor final de saída podendo ser usado como entrada de outros neurônios que estão sequencialmente interligados.

Funções de ativação parcialmente diferenciáveis:

  • Função degrau:
  • Função degrau bipolar:
  • Função rampa simétrica: Os valores retornados são iguais aos próprios valores dos potenciais de ativação quando estes estão definidos no intervalo [-a, a], restringindo-se aos valores limites em caso contrário.

Funções de ativação totalmente diferenciáveis:

  • Função logística:
  • Função tangente hiperbólica:
  • Função gaussiana:

Conclusão

A compreensão das Redes Neurais requer um estudo profundo mas, na sua essência são modelos matemáticos simples.
 
Graças ao modelo Perceptron de 1950 e a criação de algoritmos cada vez mais engenhosos e sofisticas o avanço de hardware como o advento das GPUs e o Big Data, temos resultados satisfatórios que são as chamadas Deep Neural Networks ou Redes Neurais Profundas, essas geraram avanços nos campos de processamento de linguagem natural, visão computacional e outros.

Espero que goste dessa palinha do livro citado a baixo e caia de cabeça nesse fascinante mundo da Inteligência Artificial.

Referências

Like what you read? Give Anderson Vinicius a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.