Introdução às RNA Eduardo Simas 2
Sumário
• O que são as Redes Neurais Artificiais ?
• Para que servem ?
• Processamento da Informação
• Tipos de Redes Neurais
• Modos de Treinamento
– Supervisionado X Não-supervisionado
Aplicações
Introdução às RNA Eduardo Simas 4
O que são as Redes Neurais Artificiais ?
• Rede neural artificial é um modelo matemático composto a partir da conexão de blocos básicos denominados “neurônios artificiais”.
• Principais Características:
– Foram desenvolvidas a partir de uma analogia com o funcionamento do cérebro humano;
– São capazes de:
• Aprender (a partir de amostras de treinamento);
• Generalizar (a partir do conhecimento adquirido);
• Se adaptar (ajustando-se a uma nova realidade).
– Produzem um mapeamento não-linear das entradas p/ as saídas;
– Realizam processamento paralelo da informação.
Introdução às RNA Eduardo Simas 5
Modelos de Neurônios
• Modelo de um neurônio biológico:
Fluxo de informação
Introdução às RNA Eduardo Simas 6
Modelos de Neurônios
• Modelo de um neurônio biológico:
• O estímulo se propaga através do neurônio quando a soma dos estímulos de entrada supera um valor limiar (threshold).
Sinais em cada
conexão sináptica
Somatório
Saída ativada
Introdução às RNA Eduardo Simas 7
Modelos de Neurônios
• Modelo matemático do neurônio:
Na forma matricial:
Sendo:
xi sinais de entrada
b desvio (bias)
y sinal de saída
Introdução às RNA Eduardo Simas 8
Funções de ativação típicas
• Degrau (ou limiar): • Sigmoidal:
• Tangente hiperbólica:
• Linear:
Introdução às RNA Eduardo Simas 9
Perspectiva Histórica
• 1943 – primeiro modelo matemático do neurônio (McCulloch & Pitts);
• 1949 – primeiras regras de aprendizado dos neurônios artificiais (Hebb);
• 1958 – proposto o modelo do “perceptron” (Rosenblatt);
• 1958 a 1969 – o sucesso inicial obtido com implementações do perceptron (em circuitos eletrônicos) motiva estudos sobre o tema;
• 1969 – é provado matematicamente que o perceptron de uma única camada é incapaz de solucionar problemas matemáticos simples (como o XOR);
• 1969 a 1980 – poucos trabalhos desenvolvidos na área;
• Década de 1980 – são propostos algoritmos de treinamento para redes de múltiplas camadas de neurônios (aproximadores universais);
• Atualmente – as redes neurais são utilizadas com sucesso em diversas aplicações.
Introdução às RNA Eduardo Simas 10
Para que servem as RNA ?
• As redes neurais são modelos
matemáticos capazes de realizar
mapeamentos não lineares de RN → RK.
• É possível demonstrar que com uma
quantidade suficiente de camadas de
neurônios não-lineares as redes neurais
são aproximadores universais.
• As redes neurais são úteis sempre que
deseja-se estimar um mapeamento
entrada-saída para o qual a expressão
matemática exata não é conhecida.
• Ex: Classificação, identificação de
sistemas, etc.
Rede neural treinada (de modo
supervisionado) para aproximar
um mapeamento não-linear
desconhecido:
Introdução às RNA Eduardo Simas 11
Processamento da Informação
• Entradas:
– as entradas da rede correspondem a atributos ou características;
– as redes neurais processam valores numéricos;
– quando existem atributos qualitativos, precisam ser convertidos em
valores numéricos:
• Ex: alto=1 e baixo=-1
– para o treinamento é recomendado que os sinais sejam pré-
processados de modo que os atributos de entrada tenham a
mesma faixa de excursão:
• Remoção da média e normalização.
Introdução às RNA Eduardo Simas 12
• Saídas
– Representam a solução encontrada pela rede neural para a
entrada apresentada.
• Saídas alvo
– Valores utilizados durante o treinamento supervisionado como
referências a serem alcançadas.
– Ex: uma rede treinada como classificador para identificar duas
classes pode utilizar como saída alvo:
• o valor 1 para a classe 1;
• o valor -1 para a classe 2.
Processamento da Informação
Introdução às RNA Eduardo Simas 13
• Pesos Sinápticos:
– Guardam, de modo codificado e de difícil interpretação, as
informações aprendidas durante o treinamento.
– São ajustados durante o processo de treinamento visando:
• minimizar o erro na saída → erro = saída alvo – saída (no
caso de treinamento supervisionado).
• atender a um critério pré-estabelecido para as saídas (no
caso do treinamento não-supervisionado).
Processamento da Informação
Introdução às RNA Eduardo Simas 14
Modos de Treinamento
• Supervisionado
– O treinamento é realizado
utilizado pares entrada -
saída alvo;
– Os pesos sinápticos são
ajustados visando minimizar
o erro entre a saída alvo e a
saída real da rede
• Não-Supervisionado
– Não existe saída alvo para o
problema;
– O treinamento busca obter
uma nova representação
dos padrões de entrada
segundo algum critério pré-
estabelecido.
Introdução às RNA Eduardo Simas 15
Conjuntos de Treinamento
• Para o treinamento é indicado que o conjunto de dados disponível seja
dividido em três grupos:
• Conjunto de Treino:
– Utilizado para o treinamento propriamente dito (aprendizado);
• Conjunto de Validação:
– Utilizado para verificar, durante o treinamento como evolui o erro da
rede para sinais desconhecidos, evitando o “sobre-aprendizado”
(quando a rede se especializa excessivamente no conjunto de treino
e perde capacidade de generalizar);
• Conjunto de Teste:
– Utilizado para verificar o desempenho da rede para amostras
desconhecidas.
Introdução às RNA Eduardo Simas 16
Conjuntos de Treinamento
• Curvas de erro de treinamento:
Treinamento com
sobre-aprendizagem
Treinamento normal
Introdução às RNA Eduardo Simas 17
Conjuntos de Treinamento
• Quando há uma grande quantidade de amostras disponíveis para o
treinamento:
– 33,33% Treino // 33,33% Validação // 33,33% Teste
• Quando o número de amostras é reduzido pode-se diminuir a
proporção dos conjuntos de Validação e Teste:
– Exemplo: 50% Treino // 25% Validação // 25% Teste
• Em casos extremos pode-se fazer:
– Conjunto de Validação = Conjunto de Teste
Introdução às RNA Eduardo Simas 19
Tipos de Redes Neurais
• Diferentes tipos (arquiteturas) de redes neurais são obtidas
variando-se:
– o tipo de neurônio utilizado;
– a função de ativação dos neurônios;
– o modo de conexão entre os diversos neurônios;
– etc.
• Entre as principais arquiteturas existentes pode-se mencionar:
– Perceptron
– Perceptron de múltiplas camadas;
– Rede de função de base radial;
– Mapa auto-organizável (Rede de Kohonen).
Introdução às RNA Eduardo Simas 20
Perceptron
• Apenas um neurônio.
• Funções de ativação:
– sigmoidal;
– tangente hiperbólica;
– linear.
• Capacidade limitada;
• Num problema de classificação é
capaz de produzir uma única
superfície de separação:
Introdução às RNA Eduardo Simas 22
Perceptron
• São necessárias duas curvas de separação → dois neurônios.
• Neste caso é necessário uma rede com duas camadas de neurônios.
Introdução às RNA Eduardo Simas 23
Perceptron de Múltiplas Camadas
• MLP – Multi-layer Perceptrons
• Diversos neurônios são dispostos
em camadas sequenciais.
• O fluxo de processamento da
informação em apenas um
sentido (da entrada para a saída).
• São redes alimentadas adiante
(feed-forward); não existem
conexões de realimentação.
Fluxo da informação
Introdução às RNA Eduardo Simas 24
Redes de Função de Base Radial
• Estrutura semelhante a do MLP (uma
camada oculta e uma de saída).
• A função de ativação dos neurônios da
camada oculta é gaussiana:
• A camada de saída utiliza neurônios
lineares.
• Comparando:
– Redes MLP: aproximação global
– Redes RBF: aproximação local
Função de Ativação
Radial Basis Function (RBF)
Introdução às RNA Eduardo Simas 25
Mapas Auto-Organizáveis
• Treinamento não supervisionado.
• Aprendizagem competitiva.
• Cada entrada é conectada a todos
os neurônios da grade
• O neurônio vencedor (ativo) é
aquele que possui o conjunto de
pesos mais “parecido” com o sinal
de entrada.
• O ajuste dos pesos (treinamento) é
feito visando reforçar a resposta do
neurônio vencedor (e seus vizinhos)
ao padrão de entrada.
• Após o treinamento, as relações
topológicas são preservadas.
Propostos por Kohonen em 1982:
mapas (ou redes) de Kohonen.
Introdução às RNA Eduardo Simas 27
Treinamento Supervisionado Selecione o par entrada-
saída da n-ésima iteração
Calcule a saída de rede
Calcule o erro entre a saída
alvo e a saída atual
Ajuste os pesos de
modo a minimizar o erro
Erro está num
nível aceitável?
Fim do treinamento !
Sim Não n=n+1
Introdução às RNA Eduardo Simas 28
Treinamento Não-Supervisionado Selecione a entrada da
n-ésima iteração
Calcule a saída de rede
Ajuste os pesos de
modo a obter a um
comportamento pré-
estabelecido para as
saídas
O critério utilizado está
num nível aceitável?
Fim do treinamento !
Sim Não n=n+1
Introdução às RNA Eduardo Simas 29
Algoritmos de Treinamento
• Supervisionado:
– Algoritmo de treinamento do Perceptron
– Algoritmo de Retro-propagação do Erro (para perceptrons de
múltiplas camadas – MLP)
• Não-supervisionado
– Algoritmo de treinamento do Mapa Auto-organizável (Rede de
Kohonen ou SOM)
Introdução às RNA Eduardo Simas 30
Treinamento do Perceptron
• A partir da minimização do erro chega-se à regra de aprendizagem
do perceptron:
• O vetor de pesos sinápticos é ajustado na direção da correção do
erro:
• Sendo:
→ saída da rede
→ taxa de aprendizagem (0> η >1)
→ saída alvo
Introdução às RNA Eduardo Simas 31
Algoritmo de Retro-Propagação do Erro
• Considerando que:
– o erro é calculado para a camada de saída;
– uma rede MLP possui camadas ocultas;
• Como obter a regra de atualização dos pesos das camadas ocultas?
Introdução às RNA Eduardo Simas 32
Algoritmo de Retro-Propagação do Erro
• O algoritmo de retro-propagação do erro (error back-propagation)
solucionou este problema definido o conceito de gradiente local:
– Para a camada de saída →
– Para camadas
intermediárias (ocultas) →
• O ajuste dos pesos é realizado através de:
• sendo η a taxa de aprendizagem.
Sendo:
Introdução às RNA Eduardo Simas 33
Algoritmo de Retro-Propagação do Erro
• Propagação do sinal para frente:
Introdução às RNA Eduardo Simas 34
Algoritmo de Retro-Propagação do Erro
• Retro-propagação do erro:
Introdução às RNA Eduardo Simas 35
Treinamento do Mapa Auto-Organizável
• No SOM o treinamento é não-supervisionado.
• Quando uma entrada x é apresentada para a rede, a saída de cada
neurônio j é calculada por:
• O neurônio i com a maior saída é denominado “neurônio vencedor”.
• Os pesos são ajustados de modo a reforçar a saída do neurônio
vencedor i (e seus vizinhos):
• Sendo a função de vizinhança que pode ser por exemplo:
Introdução às RNA Eduardo Simas 36
Treinamento do Mapa Auto-Organizável
• Curva de vizinhança gaussiana num mapa bi-dimensional:
Introdução às RNA Eduardo Simas 37
Treinamento do Mapa Auto-Organizável
• O SOM é capaz de produzir um agrupamento topológico.
• Assinaturas com características semelhantes são mapeadas em
áreas adjacentes do mapa:
Exemplo de mapeamento produzido por um SOM 10 x 10 após o treinamento
Introdução às RNA Eduardo Simas 38
Curva do Erro
Considerações sobre o treinamento
• O algoritmo de treinamento
ajusta os pesos (W) na direção
da minimização do erro.
• Quando a superfície do erro é
mono-modal (apresenta
apenas um mínimo), o erro
mínimo é alcançado.
• A depender do ponto de início
da busca, o tempo de
convergência do treinamento
pode variar
Introdução às RNA Eduardo Simas 39
Considerações sobre o treinamento
• Superfície de erro multi-
modal:
– Convergência para o
mínimo global
depende do ponto de
início do treinamento.
Soluções:
– iniciar diversas vezes
o treinamento;
– utilizar um algoritmo
de busca global.
Introdução às RNA Eduardo Simas 40
Limitações das Redes Neurais
• A arquitetura (número de camadas e neurônios ocultos) precisa ser
escolhida experimentalmente;
• A eficiência obtida após o treinamento depende da estatística
(quantidade e variedade) disponível nas amostras utilizadas;
• Em alguns casos o treinamento pode ser lento:
– Número de características de entrada;
– Quantidade de neurônios.
• Se houver um modelo matemático exato para o problema este deve
ser utilizado ao invés de uma rede neural;
Introdução às RNA Eduardo Simas 42
Aplicações - I
• Inspeção de Equipamentos por Ultrassom:
- O ensaio por ultrassom permite a detecção da ocorrência de descontinuidades;
- Porém, a classificação do tipo de defeito existente é uma tarefa mais difícil.
Introdução às RNA Eduardo Simas 43
Aplicações - I
• Inspeção de Equipamentos por Ultrassom:
Exemplos de Aplicações de
Redes Neurais:
– Classificação de
descontinuidades em
compostos Laminados
Fibra-Metal.
– Dimensionamento de
pites de corrosão em aço
inoxidável.
Introdução às RNA Eduardo Simas 44
Aplicações - I
• Classificação de descontinuidades em compostos Laminados
Fibra-Metal (LFM):
Transf. de
Fourier
Sinal Medido
Classific. Neural
Indicação da Integridade
- Os LFM são compostos de camadas
sobrepostas de diferentes materiais;
- Existem múltiplos meios de propagação
e interfaces de reflexão para o sinal
ultrassônico
- A identificação dos defeitos é mais
difícil
Sistema proposto: Classes analisadas:
Sem defeito (SD)
Delaminação (D)
Fratura de fibra (F)
Introdução às RNA Eduardo Simas 45
Aplicações - I
• Classificação de descontinuidades em compostos Laminados
Fibra-Metal:
SD D F
SD 100 0 0
D 1,04 98,96 0
F 0 0 100
Matriz de confusão (%)
Os padrões dos sinais sem defeito e com
delaminação são parecidos !
Características utilizadas
Determinação do número de
neurônios ocultos
Introdução às RNA Eduardo Simas 46
Aplicações - I
• Dimensionamento de pites de corrosão em aço inoxidável:
Corpo de prova padrão
Profundidade dos furos: p1 = 0,5 mm,
p2 = 1,0 mm, p3 = 2,0 mm;
Diâmetro dos furos: Ф1 = 0,6 mm; Ф2 = 0,8 mm
Distância entre furos: x = y = 16,0 mm
Mesa posicionadora xy de acrílico
e nylon desenvolvida para o ensaio
Sensor
ultrassônico
Corpo
de prova
Introdução às RNA Eduardo Simas 47
Aplicações - I
• Dimensionamento de pites de corrosão em aço inoxidável:
Transf. de
Fourier
Sinal Medido
Classific. Neural
Detecção do Pite
Acerto
FURO 95,54%
SD 87,10%
Eficiência de classificação
DIÂMETRO (mm)
0,8 0,6 0,4
FURO 97,32% 96,00% 93,32%
Eficiência em função do tamanho do furo
Introdução às RNA Eduardo Simas 48
Aplicações - II
• Filtragem inversa num sistema de medição
– Filmes finos de VO2 são utilizados em sensores de temperatura.
– É interessante sua operação na região de histerese (alta dR/dT).
Introdução às RNA Eduardo Simas 49
Aplicações - II
• Filtragem inversa num sistema de medição
- O processo de medição:
alta taxa de variação da
temperatura → curva distorcida.
- Medição da curva quase-estática:
realizado com uma lenta variação da
temperatura; não é viável a realização
para um conjunto grande de filmes
A rede neural aproxima a função de
transferência inversa do sistema de medição.
Introdução às RNA Eduardo Simas 50
Aplicações - II
• Filtragem inversa num sistema de medição
EQM - Erro Quadrático Médio
MEQ - Máximo Erro Quadrático
Introdução às RNA Eduardo Simas 51
Aplicações - III
• Agrupamento não-supervisionado de assinaturas acústicas de
contatos elétricos:
Transformador OLTC
Introdução às RNA Eduardo Simas 52
Aplicações - III
• Agrupamento não-supervisionado de assinaturas acústicas de
contatos elétricos:
Assinaturas
Acústicas
Transformada
Wavelet SOM Agrupamento
Introdução às RNA Eduardo Simas 53
Aplicações - III
• Agrupamento não-supervisionado de assinaturas acústicas de
contatos elétricos:
Agrupamentos 3 e 4:
Contatos usados com
pouco desgaste
Agrupamentos 5 e 6:
Contatos usados com
maior desgaste
Contatos novos
Cont. desgastados
Agrupamento
Pro
babili
dade
Introdução às RNA Eduardo Simas 54
Aplicações - IV
• Reconhecimento do locutor:
Características utilizadas:
– Frequência fundamental (pitch);
– Coeficientes cepstrais.
Estimativa dos coeficientes cepstrais:
Introdução às RNA Eduardo Simas 55
Aplicações - IV
PD (%) PF (%)
Experimento 1 90 9
Experimento 2 83 21
• Reconhecimento do locutor:
• Experimento 1:
– Todos os indivíduos da base
de dados (17 mulheres e 18
homens)
• Experimento 2:
– Indivíduos com padrões
vocais semelhantes
(irmãos).
Introdução às RNA Eduardo Simas 56
Aplicações - V
• Classificação em Física de Altas Energias:
Calorímetros: medidores de energia.
Introdução às RNA Eduardo Simas 57
Aplicações - V
• Classificação em Física de Altas Energias: Saídas alvo:
Elétron → 1
Jato → -1 ~ 1000 sensores 100 anéis
Classificador Neural Classificador Linear
Introdução às RNA Eduardo Simas 58
Aplicações - V
• Classificação em Física de Altas Energias:
– Para identificação correta de ~97% dos elétrons:
– Erro na identificação de jatos:
• Rede neural ~7%
• Classificador linear ~20%
• Na operação do detector ~25.000 jatos serão produzidos por
segundo.
• - 13% → - 3250 eventos não relevantes armazenados em mídia
permanente
Introdução às RNA Eduardo Simas 59
Aplicações - VI
• Identificação Automática do Gênero Musical:
Características estimadas:
- Frequência Fundamental;
- Coef. Cepstrais;
- Freq. Fundamental;
- Histograma rítmico;
- Concentração espectral da energia;
- Sonoridade.
Introdução às RNA Eduardo Simas 60
Aplicações - VI
• Identificação Automática do Gênero Musical:
Rede Neural Utilizada: Gêneros musicais e saídas alvo:
- Blues → Y=[1, -1, -1, -1, -1]T
- MPB → Y=[-1, 1, -1, -1, -1]T
- Reggae → Y=[-1, -1, 1, -1, -1]T
- Rock → Y=[-1, -1, -1, 1, -1]T
- Samba → Y=[-1, -1, -1, -1, 1]T
Introdução às RNA Eduardo Simas 61
Aplicações - VI
• Identificação Automática do Gênero Musical:
Matriz de Confusão
Variação da eficiência média com o número de neurônios ocultos
Percebe-se que os maiores
erros ocorrem entre ritmos
com características
semelhantes:
MPB x Samba
MPB x Reggae
Blues x Rock
Introdução às RNA Eduardo Simas 63
Conclusões
• Ao longo de algumas décadas de utilização, as redes neurais artificiais
mostraram-se ferramentas bastante úteis em diversas aplicações.
• Vantagens:
– Alto poder computacional
– Processamento paralelo
– Robusta a ruídos e dados incompletos
– Capaz de estimar mapeamentos não-lineares desconhecidos
• Desvantagens:
– Arquitetura ótima precisa ser determinada experimentalmente
– Difícil interpretação do modelo obtido
– Eficiência depende do processo de treinamento
Introdução às RNA Eduardo Simas 64
Mais informações...
• IEEE-INNS International Joint Conference on Neural Networks,
promovido em conjunto pela IEEE Computational Intelligence Society
(www.ieee-cis.org) e pela International Neural Network Society
(www.inns.org)
• Congresso Brasileiro de Inteligência Computacional – CBIC (antigo
Cong. Bras. de Redes Neurais – CBRN - http://cbrn-cbic2011.org/ ),
promovido pela Sociedade Brasileira de Redes Neurais
(www.sbrn.org.br).
• Simpósio Brasileiro de Redes Neurais – SBRN, promovido pela
Sociedade Brasileira de Computação (www.sbc.org.br).
• Revista Learning and Nonlinear Models (www.deti.ufc.br/~lnlm).
• ...
Introdução às RNA Eduardo Simas 65
Referências Bibliográficas
• Livros Texto:
– Haykin, S., Redes Neurais, Princípios e Prática, Bookman, 2001.
– Wasserman, P. D., Neural Computing, Theory and Practice, VNR, 1989.
– Calôba, L. P., Notas de Aulas, COPPE / UFRJ, 2006.
• Aplicações:
– Simas Filho, E. F. “Analise Não-Linear de Componentes Independentes para uma Filtragem Online
Baseada em Calorimetria de Alta Energia e com Fina Segmentação”, Doutorado em Engenharia
Elétrica COPPE / UFRJ, 2010.
– Simas Filho, E. F.; Almeida, L. A. L., “Filtragem Inversa de Medições de Histerese Térmica
Utilizando Redes Neurais”. Cong. Bras. de Automática, 2006, Salvador-BA.
– Simas Filho, E. F.; Almeida, L. A. L. . Self-Organized Classification of On-Load Tap Changers
Acoustic Signatures. In: IEEE Intern.Instrumentation and Measurement Technology Conf., 2008
– Santos, L. T., Simas Filho, E. F., “Sistema de Reconhecimento Automático do Locutor Utilizando
um Classificador Neural”. Seminário Nacional de Controle e Automação, 2009, Salvador.
– Borges Jr, E. A. T, et al., “Classificação do Gênero Musical Utilizando Redes Neurais Artificiais”.
In: CONNEPI, 2010, Maceió - AL.
– Lopes, D. B. P., et al., “Utilização de Redes Neurais Artificiais como Ferramenta de Auxílio na
Detecção de Dimensionamento de Pites em Corrosão de Aços Inoxidáveis” In: Congresso
Nacional de Ensaios Não-Destrutivos e Inspeção, 2010, Santos-SP.
Recommended