Você está na página 1de 25

O Que É uma Rede Neural Artificial ?

RNAs são modelos do mundo real constituídos


por uma interconexão maciça de elementos
simples, inspirados na funcionalidade do cérebro
humano.
Falando em termos computacionais, são estruturas
de processamento paralelo, numa alternativa à
arquitetura Von Neumann.
Incluem-se entre as técnicas de Inteligência
Artificial conhecidas pela denominação “soft
computing” (soluções aproximadas para problemas
formulados de modo não preciso).
Diagrama Simplificado de um Neurônio Biológico

Corpo ou
Axônio
soma

Dendritos Núcleo

Sinapses
Neurônio Biológico
• Recebe os estímulos através de estruturas múltiplas chamadas
dendritos. Esses estímulos provêm de vários outros neurônios.
• Dependendo da amplitude dos estímulos recebidos, o neurônio
será ou não ativado, ou seja, irá ou não gerar uma resposta.
• A resposta eventualmente gerada é transmitida através de uma
estrutura (geralmente única) chamada axônio.

• A ligação entre um dendrito e um axônio é chamada de sinapse.


• A passagem das informações de um neurônio para outro(s)
através da membrana é feita com o auxílio de substâncias químicas
chamadas neurotransmissores.
Conexão Entre Neurônios Biológicos

Neurônio Emissor
Neurônio
Receptor

Axônio
Conexão
Sináptica
Impulso Nervoso
Princípios Básicos da Atividade Cerebral
O cérebro contém cerca de 100 bilhões (1011) de
neurônios, com um total de cerca de 100 trilhões (1014) de
conexões.

• Cada neurônio ativado envia pulsos elétricos através do axônio


(que pode estar conectado a a milhares de outros neurônios).

• Os vários impulsos recebidos por cada neurônio são convertidos


pelas sinapses numa entrada única, que poderá ativar ou inibir o
neurônio receptor.
O processo a que chamamos de aprendizagem ocorre através
da modificação da eficiência das sinapses, que causa a alteração da
influência relativa entre os neurônios.
Princípios Básicos de uma Rede Neural Artificial
• O processamento da informação ocorre em unidades
extremamente simples que são denominadas neurônios ou
unidades processadoras.
• Os sinais são transferidos entre os neurônios através de
conexões denominadas sinapses.
• A cada sinapse está associado um peso.

• A entrada de cada neurônio é determinada pela soma


ponderada dos sinais das diversas sinapses a ele conectados,

• A essa entrada, o neurônio aplica uma função de ativação


(geralmente não-linear), a fim de determinar a saída
correspondente.
Cálculo Computacional x Raciocínio Humano
Clock de 1 GHz x “clock” de 1 KHz (período de
refração absoluta dos neurônios)
3546,75  86965,761   = ???

Piremria e útmlia lrtea


Resposta diante de uma imitação “Voz não reconhecida”
mal-feita da voz de Fulano de Tal “Não é Fulano de Tal”
Enquanto a computação “clássica” é especialmente
adequada para a abordagem de problemas que envolvem
conhecimento explícito, o raciocínio humano é adequado
para situações que envolvam inferência. As RNA buscam
emular essa característica.
Processamento Seqüencial x Processamento Paralelo

Reconhecidos

Não Reconhecidos
Similaridade Funcional

O cérebro humano ... e uma rede neural artificial

Aprendem e generalizam a partir de exemplos


Características de uma Rede Neural Artificial

• Extração do conhecimento a • Adaptação requer novo ciclo


partir dos dados disponíveis de criação
• Compromisso entre
• Capacidade de generalização acurácia e generalização
• Tolerância a ruídos • Possibilidade de overfitting
• Empirismo na determinação
• Tolerância a falhas
da topologia ideal
• Rapidez de processamento • Possibilidade de “forjar”
padrões onde eles não existem
• Dificuldade de interpretação
Um Pouco de História
• 1943  Data Zero: Warren McCulloch e Walter Pitts
publicam um artigo (“Um Cálculo Lógico das Idéias Imanentes
na Atividade Nervosa”) onde propõem um modelo booleano
para o funcionamento do sistema nervoso.

• 1949  Donald Hebb estabelece a Lei Hebbiana de


Aprendizado, segundo a qual “quando o axônio de uma célula A
está suficientemente próximo para excitar uma célula B e
repetida e persistentemente toma parte de sua ativação, ocorre
uma mudança metabólica em uma ou ambas as células de tal
forma que a eficiência da célula A é aumentada”. Em outras
palavras, o peso da contribuição da célula A sobre a ativação
da célula B se torna maior.
Um Pouco de História
• 1958  Frank Rosenblatt pela primeira vez associa vários
neurônios artificiais, ou seja, cria a primeira rede neural
artificial, à qual deu o nome de Perceptron. Esse trabalho
trouxe duas contribuições fundamentais:
 O seu modelo de neurônios artificiais admitia também o
processamento de estímulos de valores contínuos, em oposição
aos meramente binários.
 Utilizando o princípio de aprendizado de Hebb, estabeleceu
um algoritmo formal para â adaptação dos valores dos pesos
sinápticos. Em outras palavras, os perceptrons eram capazes
de aprender.
• O trabalho de Rosenblatt teve aceitação entusiástica. Foi
considerado o início de uma nova era, onde em breve seria
possível construir máquinas com capacidade de raciocínio
“praticamente humano”.
Um Pouco de História
• 1969  Marvin Minsk e Seymour Papert publicam a obra
Perceptrons, na qual demonstram a impossibilidade
matemática de essas estruturas “aprenderem” a solução de
problemas que não fossem linearmente separáveis (um
exemplo simples de função não linearmente separável é o OU
EXCLUSIVO).

Função AND Função NOR Função XOR


O trabalho de Minsk e Papert lançou uma ducha de
água fria no desenvolvimento das pesquisas sobre RNA,
fazendo cessar as fontes de financiamento.
Um Pouco de História

• 1982  Hopfield utiliza uma rede de neurônios desempenhando


a função de memória associativa.

• 1974 (Werbos), 1982 (Parker), 1986 (Rummelhart, Hinton e


Williams)  O desenvolvimento da arquitetura MLP (multilayer
perceptrons - perceptrons de múltiplas camadas) e do algoritmo
de treinamento por retropropagação dos erros (backpropagation)
elimina a deficiência apontada por Minsk e Papert.

Esse desenvolvimento renovou o interesse em relação às


Redes Neurais Artificiais, marcando o início da fase de
maturidade na pesquisa sobre o assunto.
Estado da Arte
• Tem-se desenvolvido um número continuamente
crescente de arquiteturas de RNA. Uma pesquisa
datada de 2000 (Basheer e Hajmeer) listou 50 tipos
diferentes.
• Os algoritmos de treinamento também têm sido
desenvolvidos e aperfeiçoados. A versão 6 do Matlab
oferece 14 variantes apenas para o algoritmo de
retropropagação.
• As RNAs têm sido utilizadas em conjunto com outras
técnicas de Inteligência Artificial, como lógica fuzzy,
algoritmos genéticos e sistemas especialistas, com o
objetivo de combinar as melhores características de
cada uma destas técnicas.
Categorias de Problemas Passíveis de Abordagem
Via RNA
• Reconhecimento de padrões
• Agrupamento
• Predição de séries temporais
• Otimização
• Associação
• Controle
• Aproximação de funções Perceptron multicamadas
Função de base radial
Problemas Reais Abordados Com o Uso de RNAs
• Área Financeira: previsão de falência de empresas,
previsão de taxa de câmbio, avaliação de crédito, etc.
• Medicina: diagnóstico de enfermidades, análise de
eletrocardiogramas, etc.
• Tecnologia de Informação: reconhecimento de
caracteres, compressão de dados, reconhecimento e
síntese de voz, etc.
• Segurança: Identificação de impressões digitais,
detecção de explosivos em bagagens aéreas, etc.
• Controle: Sintonia de malhas, direção de veículos, etc.
Aplicações de RNAs em Siderurgia
• Monitoração de poluentes na coqueria e no alto-
forno.
• Predição de coke rate em altos-fornos.

• Controle de temperatura em altos-fornos.

• Modelagem de um conversor LD.

• Controle de rolos tensores em lamindores de tiras a


quente.
• Geração de presets para laminadores a frio.
Diagrama Funcional de um Neurônio Artificial

Entrada 1 Peso ω1



Saída
Entrada 2 Peso ω2

Função
Somador
de
Entrada n Peso ωn Ativação

A adaptabilidade das RNAs baseia-se na variação


orientada dos valores dos pesos sinápticos
Neurônio Biológico x Neurônio Artificial

Neurônio Biológico

Estímulos Processamento Saída

Neurônio Artificial
Estrutura de uma Rede Neural Artificial (RNA)
do Tipo MLP (MultiLayer Perceptron) Direta

NA
E NA
n
t NA
NA
r Saídas
NA NA
a
d NA
NA
a
s NA

Camada NA
de Camadas intermediárias
Camada
entrada ou ocultas de saída
Estratégias de Treinamento de uma RNA
• Treinamento Supervisionado  Requer a figura do instrutor
ou oráculo, que informa à rede o grau de acerto das respostas
produzidas pelos estímulos aplicados à sua entrada, além de
determinar o limite aceitável de erro.
• Treinamento Não Supervisionado  Neste tipo de treinamento
apresentam-se à rede apenas os valores das entradas e se permite
que a RNA se auto-organize, dividindo os padrões de entrada em
agrupamentos ou categorias, de acordo com as similaridades que
existam entre eles. Quando uma nova entrada é aplicada à rede, a
saída indicará a categoria à qual pertence essa entrada. Caso não
seja capaz de classificar a nova entrada, a rede acrescenta um novo
membro ao conjunto de categorias existentes.
• Treinamento Híbrido  Inclui pelo menos uma fase
supervisionada e uma fase não supervisionada.
Algoritmo de Treinamento Supervisionado

Aprendizado
Supervisionado Inicializa pesos
com valores
aleatórios
Oráculo ou
Apresenta o
Instrutor conjunto de

entrada + valores de entrada

saída Ajusta os pesos das


Calcula o erro
quadrático das
conexões sinápticas
RNA  proporcionalmente
ao erro obtido
saídas obtidas em
relação às
desejadas

erro Não
Erro aceitável ?

Lei de Aprendizado Sim


Problemas de Treinamento
Uma rede “bem treinada” é aquela que apresenta um
compromisso aceitável entre duas características geralmente
conflitantes: a precisão e a capacidade de generalização. Com
relação a esses critérios, existem dois problemas principais que
devem ser evitados:
• Paralisação do Treinamento  O mínimos locais
treinamento de uma RNA consiste de fato
na minimização de uma função (erro),
multidmimensional. Durante o percurso
da superfície dessa função em direção ao
seu mínimo, pode eventualmente ocorrer
o “aprisionamento” num mínimo local. mínimo global

• Overfitting  A rede, ao invés de captar as relações entre as


entradas e as saídas, memoriza os valores dos padrões de
treinamento, sendo incapaz de generalizar para novos valores.
Roteiro Para Implementação de uma Solução RNA
• Coleta de dados

• Pré-processamento dos dados

• Determinação da arquitetura

• Determinação da topologia
• Treinamento
• Teste e validação

• Codificação

Você também pode gostar