Aprendizagem de máquina, Inteligência artificial, Robótica

Introdução às redes neurais artificiais

Neste post eu vou dar uma introdução sobre o que são redes neurais artificiais, como funcionam e suas aplicações.

O que são?

Rede neural é um método computacional que aprende com a experiência e imita uma rede de neurônios. Toda rede neural possui nós ou neurônios e são divididos em camadas, camadas de entrada (input), de saída (output) e escondidas (hidden). Neurônios escondidos podem formar mais de uma camada.

Os neurônios representam uma função de ativação, a rede recebe informação nos nós de entrada que são processados nas camadas escondidas e produzem uma saída. Uma rede neural não treinada tem todos os nós com peso igual, a medida que vai aprendendo, algumas conexões passam a ter mais peso que outras, conexões com mais peso quer dizer que são mais influentes no processo de aprendizagem e execução de tarefa da rede.

Neurônio artificial

Aqui é o modelo matemático de um neurônio artificial.

Os “X” são as entradas, “W” os pesos, Σ é a função de soma e o bloco f(a) é a função de ativação com o limitador t. O nível de atividade é:

a=W_{1}X_{1}+W_{2}X_{2}+...+W_{p}X_{p}

A saída y é igual a 1 se a>=t, 0 caso contrário.

Treinamento

Uma das regras mais comuns de aprendizado é a regra delta, é para redes neurais de retropropagação. É uma regra de aprendizado supervisionado, ou seja, um agente externo determina a saída desejada e a  rede neural deve ajustar os pesos das conexões para produzir a saída desejada. A regra delta de Perceptron atualiza os pesos com base na função de passo e a regra delta de Adaline atualiza com base na ativação linear.

Inicialmente um padrão é mostrado para a rede e esta produz uma saída, mede-se a distância entre o peso ideal e o peso real e os pesos das conexões são ajustados para reduzir o erro quadrático médio até um valor mínimo global. O hiperparabolóide representa a margem de erro dos pesos que reduz até atingir um valor mínimo aceitável de erro. A regra delta cria um vetor gradiente em direção ao vetor do peso ideal.

Em aprendizado por reforço, a saída na rede é avaliada, se a resposta for positiva, os pesos são ajustados para produzir esta saída. Existem situações onde não é possível rotular grandes quantidades de dados, então o método de aprendizagem não-supervisionado é implementado, neste aprendizado os dados são divididos em grandes grupos chamados clusters.

Aplicações

Existem muitas aplicações com redes neurais, aqui tem alguns exemplos:

  • Robótica (a razão deste post estar dentro deste tema);
  • Análise e processamento de sons e imagens;
  • Reconhecimento de padrões;
  • Filtros contra ruídos eletromagnéticos;
  • etc.

 

About Pedro Ney Stroski

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *