Você está na página 1de 60

Introdução às

Redes Neurais Artificiais


Introdução
Prof. João Marcos Meirelles da Silva
http://www.professores.uff.br/jmarcos

Departamento de Engenharia de Telecomunicações


Escola de Engenharia
Universidade Federal Fluminense

Prof. João Marcos Meirelles da Silva – p. 1/60


Créditos autorais

Este curso e estes slides são parcialmente adaptados da bibliografia


citada e das aulas do professor Luiz Pereira Calôba - COPPE/UFRJ

www.lps.ufrj.br

Prof. João Marcos Meirelles da Silva – p. 2/60


Objetivo da Disciplina

Oferecer uma visão geral de redes neurais artificiais, seus diferentes


paradigmas, possibilidades e restrições, bem como estudar as
aplicações mais recentes em nosso dia-a-dia e destacar a importância
do estudo nesta área.

Prof. João Marcos Meirelles da Silva – p. 3/60


Avaliação
A avaliação do curso se dará da seguinte forma:

• Média das Listas de Exercícios (ML)


• Apresentação de um projeto (P)
• 1 Prova Final (Verificação Suplementar)

Prof. João Marcos Meirelles da Silva – p. 4/60


Avaliação

M F = 0, 4 ∗ M L + 0, 6 ∗ P

Condições

Se M F ≥ 6 → Aprovado
Se 4 ≤ M F < 6 → VS
Se M F < 4 → Reprovado

Prof. João Marcos Meirelles da Silva – p. 5/60


Avaliação
• Os alunos que fizerem a VS deverão alcançar a nota mínima de
6,0 para serem aprovados.
• Freqüência mínima das aulas: 75%

Prof. João Marcos Meirelles da Silva – p. 6/60


Ementa
• Introdução
• Processos de aprendizagem
• Perceptrons de camada única
• Perceptrons de múltiplas camadas
• Redes de base radial
• Máquinas de vetores de suporte
• Clusterização
• Mapas auto-organizáveis

Prof. João Marcos Meirelles da Silva – p. 7/60


Ementa
• Análise de componentes principais
• Aplicações diversas
- Processamento básico de áudio, voz e imagem.
- Aplicações em segurança.
- Aplicações em gerenciamento e desempenho.
- Aplicações em engenharia de tráfego
- etc...

Prof. João Marcos Meirelles da Silva – p. 8/60


Bibliografia

Prof. João Marcos Meirelles da Silva – p. 9/60


Bibliografia Complementar
• Cichoki, A., Unbehauen, R., “Neural Networks for Optimization
and Signal Processing”, Wiley, 1993.
• Bishop, C. M., “Neural Networks for Pattern Recognition”, Oxford,
1999.
• Sarle, W. S., ftp://ftp.sas.com/pub/neural/FAQ.html

Prof. João Marcos Meirelles da Silva – p. 10/60


software
• Matlab
• Neuralworks
• Neuroshell
• Statistica
• Neunet (www.cormactech.com/neunet)
• SNNS (Stuttgart Neural Network Simulator) -
ftp.informatik.uni-stuttgart.de
• Neurolab
• Sirene (UFRJ e CEPEL) - www.lps.ufrj.br/∼caloba

Prof. João Marcos Meirelles da Silva – p. 11/60


Introdução
Inteligência Artificial / Computacional:
• Cognitiva, Simbólica ⇒ IA Tradicional
• Evolucionista ⇒ Algoritmos Genéticos, Vida Artificial
• Conexionista ⇒ Redes Neurais Artificiais

Prof. João Marcos Meirelles da Silva – p. 12/60


Por quê Redes Neurais Artificiais?
• Desafio de utilizar máquinas para realizar tarefas “fáceis” para os
seres humanos:
• Reconhecimento de “escrita”
• Reconhecimento de rostos
• Mapeamento de conhecimento tácito
• Problemas de otimização com restrições

→ Algoritmos convencionais não lidam bem com determinados


problemas.

Prof. João Marcos Meirelles da Silva – p. 13/60


Aplicações
• Processamento de sinais (vídeo, áudio, imagem e texto)
• Controle e Automação
• Reconhecimento de Padrões
• Data Mining
• Clusterização
• Diagnósticos em Medicina
• Síntese de Fala
• Reconhecimento de voz e locutor
• Negócios (mercado financeiro, análise de risco, etc.)

Prof. João Marcos Meirelles da Silva – p. 14/60


Aplicações em Telecomunicações
• Segurança
• Detecção de Intrusão e fraudes
• Criptografia/Criptoanálise
• Esteganografia e marcas d’água
• Reconhecimento de voz e locutor
• Desempenho
• Gerenciamento inteligente de redes
• Compactação de dados
• Predição de falhas
• Correlação de alarmes

Prof. João Marcos Meirelles da Silva – p. 15/60


Vantagens
• Aprendizado
• Generalização
• Robustez
• Não requer um modelo matemático do problema

Prof. João Marcos Meirelles da Silva – p. 16/60


Desvantagens
• Instabilidade nas redes com realimentação;
• Problemas com diversos mínimos locais;
• Problemas de aprendizagem (convergência prematura, paralisia,
overtraining, etc...);
• Correlação entre características nos dados de entrada;
• Ruído não-correlacionado;
• Outros...

Prof. João Marcos Meirelles da Silva – p. 17/60


Redes Neurais: Quando usar?
Existe um algoritmo (modelo matemático) que seja satisfatório?
• SIM → Então use-o !
• NÃO → Então pense em usar redes neurais...

Prof. João Marcos Meirelles da Silva – p. 18/60


Redes Neurais: Biológicas x Artificiais

Figura 1: Neurônios do córtex cerebral.

Prof. João Marcos Meirelles da Silva – p. 19/60


Redes Neurais: Biológicas x Artificiais

Figura 2: Neurônios de diferentes espécies.

Prof. João Marcos Meirelles da Silva – p. 20/60


Redes Neurais: Biológicas x Artificiais
Em um neurônio biológico:

• Este recebe diversos sinais de outros neurônios ou terminações


nervosas.
• Os sinais podem ser recebidos com diferentes intensidades
(pesos) nas sinapses receptoras.
• O neurônio soma as entradas.
• Sob circunstâncias apropriadas (entradas com nível suficiente),
o neurônio “dispara” um sinal elétrico (saída).

Prof. João Marcos Meirelles da Silva – p. 21/60


Redes Neurais: Biológicas x Artificiais
Em um neurônio biológico:

• A saída de um neurônio pode ser a entrada de diversos outros


neurônios (rede).
• A memória é distribuída, residindo nas sinapses (nos pesos).
• A resposta a um estímulo pode alterar a “força” (o peso) de uma
sinapse → aprendizado através da experiência.
• Neurotransmissores em uma sinapse podem ser excitatórios ou
inibitórios.

Prof. João Marcos Meirelles da Silva – p. 22/60


Redes Neurais: Biológicas x Artificiais

Figura 3: Sinapse entre dois neurônios biológicos.

Prof. João Marcos Meirelles da Silva – p. 23/60


Redes Neurais: Biológicas x Artificiais

Figura 4: Sentido da propagação do sinal.

Prof. João Marcos Meirelles da Silva – p. 24/60


Modelo de um neurônio
Um neurônio é uma unidade de processamento de informação
essencial em uma rede neural biológica.

Figura 5: Modelagem de um neurônio biológico.

Prof. João Marcos Meirelles da Silva – p. 25/60


Modelo de um neurônio
O diagrama em blocos abaixo representa o modelo matemático de um
neurônio...

Figura 6: Modelo matemático de um neurônio artificial.

Prof. João Marcos Meirelles da Silva – p. 26/60


Modelo de um neurônio
... o qual forma a base para o projeto de redes neurais artificiais.
Temos:

• x1 , x2 , . . . , xm são os sinais de entrada.


• ωk1 , ωk2 , . . . , ωkm são os pesos das sinapses do k-ésimo
neurônio.
• uk é a combinação linear dos sinais de entrada ponderados por
seus respectivos pesos.
• bk é o bias do k-ésimo neurônio.

Prof. João Marcos Meirelles da Silva – p. 27/60


Modelo de um neurônio
• ϕk (·) é a função de ativação do k-ésimo neurônio.
• yk é a saída do k-ésimo neurônio.

m
X
uk = ωkj xj (1)
j=1

yk = ϕ(uk + bk ) (2)

vk = uk + bk (3)

Prof. João Marcos Meirelles da Silva – p. 28/60


Modelo de um neurônio
O bias bk é um parâmetro externo do k-ésimo neurônio artificial.
Também pode ser interpretado como uma entrada x0 = +1 com peso
de sinapse igual a ωk0 = bk .

m
X
uk = ωkj xj , x0 = +1 (4)
j=0

yk = ϕ(uk ) (5)

Prof. João Marcos Meirelles da Silva – p. 29/60


Modelo de um neurônio

Figura 7: Efeito do bias sobre o neurônio artificial.

Prof. João Marcos Meirelles da Silva – p. 30/60


Modelo de um neurônio
Podemos reformular o modelo do neurônio mostrado na Figura 7 de
forma a incorporar o bias.

Figura 8: Segundo modelo matemático do neurônio artificial.

Prof. João Marcos Meirelles da Silva – p. 31/60


Modelo de um neurônio
Agora que o segundo modelo foi apresentado, podemos simplificar a
sua representação gráfica apenas por maior conveniência.

Figura 9: Modelo simplificado do neurônio artificial.

Prof. João Marcos Meirelles da Silva – p. 32/60


Modelo de um neurônio
• Exemplo:

Seja a entrada de um neurônio dado pelo vetor x = [1.4, −2.5, 0.7]T e


seja o vetor de pesos das sinapses ω = [0.4, 0.6, 0.3]T . Determine se a
saída é positiva ou negativa nos casos: com bias unitário e sem bias.

Prof. João Marcos Meirelles da Silva – p. 33/60


Tipos de Função de Ativação
A função de ativação, representada por ϕ(ν), define a saída de um
neurônio em termos do campo local induzido ν. Basicamente, há 3
tipos de função de ativação:

1. Função Threshold
2. Função Linear-por-Partes
3. Função sigmoidal

Prof. João Marcos Meirelles da Silva – p. 34/60


Tipos de Função de Ativação
Função Threshold

Figura 10: Função threshold.


 1 se ν ≥ 0
ϕ(ν) = (6)
 0 se ν < 0
Prof. João Marcos Meirelles da Silva – p. 35/60
Tipos de Função de Ativação
De forma correspondente, a saída do k-ésimo neurônio é dado por:

 1, se νk ≥ 0
yk = (7)
 0, se νk < 0

onde νk é o campo local induzido do neurônio:

m
X
νk = ωkj xj + bk (8)
j=1

Prof. João Marcos Meirelles da Silva – p. 36/60


Tipos de Função de Ativação
Função Linear-por-Partes

Figura 11: Função linear-por-partes.


 1, se ν ≥ 0.5


ϕ(ν) = v, se − 0.5 < ν < +0.5 (9)


0, se ν ≤ −0.5

Prof. João Marcos Meirelles da Silva – p. 37/60


Tipos de Função de Ativação
Função Sigmoidal

Figura 12: Função sigmóide.

1
ϕ(ν) = (10)
1 + exp −aν

Prof. João Marcos Meirelles da Silva – p. 38/60


Tipos de Função de Ativação
Função Sigmoidal

Figura 13: Função sigmóide - tangente hiperbólica.

ϕ(ν) = tanh ν (11)

Prof. João Marcos Meirelles da Silva – p. 39/60


Tipos de Função de Ativação
• Função mais comumente utilizada em redes neurais.
• É definida como uma função estritamente crescente que exibe
uma balanço interessante entre um comportamento linear e
não-linear.
• Função diferenciável.

Prof. João Marcos Meirelles da Silva – p. 40/60


Modelo Estocástico de Neurônio
Em algumas aplicações, é desejável o funcionamento de um neurônio
baseado em um modelo estocástico.

 +1, com probabilidade P(ν)
x= (12)
 −1, com probabilidade 1 − P(ν)

onde x é o estado do neurônio.Uma escolha típica para P é:

1
P= (13)
1 + exp −ν/T

Prof. João Marcos Meirelles da Silva – p. 41/60


Como os neurônios formam uma rede?
Da mesma maneira que os neurônios no córtex cerebral são
organizados em camadas, em geral, organizamos também as redes
neurais artificiais em camadas.

Figura 14: Organização em camadas.

Prof. João Marcos Meirelles da Silva – p. 42/60


Como os neurônios formam uma rede?
• Arquiteturas típicas:
• Redes de camada única
• Redes de múltiplas camadas
• Redes de camada competitiva
• Treinamento:
• Supervisionado
• Não supervisionado
• Pesos fixos

Prof. João Marcos Meirelles da Silva – p. 43/60


Como os neurônios formam uma rede?
• Freqüentemente é conveniente visualizar os neurônios em
camadas.
• Neurônios da mesma camada tipicamente possuem o mesmo
comportamento (função de ativação e padrão de conexões).
• O arranjo de neurônios em camadas e o padrão de interconexão
entre estas é conhecido como arquitetura da rede.
• Redes neurais também podem ser classificadas como redes
feedfoward ou recorrentes.

Prof. João Marcos Meirelles da Silva – p. 44/60


Redes de Camada Única
• Possuem uma única camada de conexões com pesos.
• Para classificação de padrões, cada neurônio de saída
corresponde à uma classe em particular a qual um vetor de
entrada pode pertencer ou não.

Prof. João Marcos Meirelles da Silva – p. 45/60


Redes de Camada Única

Figura 15: Rede de Camada Única.

Prof. João Marcos Meirelles da Silva – p. 46/60


Redes de Múltiplas Camadas
• Possuem uma ou mais camadas de neurônios escondidos entre
as unidades de entrada e as unidades de saída.
• Em geral, redes de múltiplas camadas podem resolver
problemas mais complexos que as redes de camada única, mas
o treinamento pode ser mais complexo.

Prof. João Marcos Meirelles da Silva – p. 47/60


Redes de Múltiplas Camadas

Figura 16: Rede de Múltiplas Camadas.

Prof. João Marcos Meirelles da Silva – p. 48/60


Redes de Camada Competitiva
• Estão presentes em um grande número de redes neurais.
• Em geral, a saída dos neurônios da camada de saída
conecta-se aos outros neurônios desta última, permitindo que
um neurônio compare o seu valor de saída com os valores dos
outros n − 1 neurônios.
• Normalmente as interconexões entre os neurônios da camada
competitiva não são representados nas arquiteturas de rede
deste tipo.

Prof. João Marcos Meirelles da Silva – p. 49/60


Redes feedfoward × recorrentes
• Redes feedfoward
• Sem realimentações
• Estática
• Estruturalmente estável
• Redes Recorrentes
• Com realimentações
• Dinâmica
• Instabilidade

Prof. João Marcos Meirelles da Silva – p. 50/60


Redes feedfoward × recorrentes

Figura 17: Redes Feedfoward × Recorrentes.

Prof. João Marcos Meirelles da Silva – p. 51/60


Treinamento
• Treinamento Supervisionado
• Geralmente a base de dados disponível é divida em dois
conjuntos: o conjunto de treinamento e o conjunto de testes.
• A base de dados é formada por tuplas, ou seja, pares de
dados de “entrada” e “saída” (base rotulada).
• Apresenta-se uma seqüência de vetores de treinamento, ou
padrões, cada um associado a um determinado vetor de
saída.

Prof. João Marcos Meirelles da Silva – p. 52/60


Treinamento
• Treinamento Supervisionado
• Os pesos das sinapses são ajustados de acordo com um
algoritmo de aprendizado.
• Utilizado nos problemas de classificação de padrões e
associação de padrões (memória auto-associativa e
hetero-associativa).

Prof. João Marcos Meirelles da Silva – p. 53/60


Treinamento
• Treinamento Não Supervisionado
• Uma seqüência de vetores de treinamento (entrada) é
apresentada à rede, mas sem apresentar a saída (base
não-rotulada).
• Os pesos das sinapses são ajustados de forma que os
vetores de entrada mais “similares”, sejam agrupados sob o
mesmo rótulo (cluster ou classe).
• A rede produzirá um vetor exemplar (representativo) para
cada cluster formado.

Prof. João Marcos Meirelles da Silva – p. 54/60


Treinamento
• Treinamento Não Supervisionado
• O número de clusters pode ser conhecido previamente ou
não.
• É bastante utilizado em problemas de clusterização e data
mining.

Prof. João Marcos Meirelles da Silva – p. 55/60


Treinamento
• Redes com pesos fixos
• Geralmente utilizada em problemas de otimização com
restrições.
• Tais redes pode trabalhar muito bem em problemas que
causam dificuldades para técnicas tradicionais, tais como
restrições conflitantes (nem todas as restrições podem ser
satisfeitas simultaneamente).

Prof. João Marcos Meirelles da Silva – p. 56/60


Treinamento
• Redes com pesos fixos
• Os pesos das sinapses são ajustados de forma a
representar as restrições e a quantidade a ser maximizada
ou minimizada.
• São exemplos: a máquina de Boltzmann (sem aprendizado)
e a Rede de Hopfield.

Prof. João Marcos Meirelles da Silva – p. 57/60


Histórico
• McCulloch e Pitts (1943) → pioneiros.
• The organization of behavior de Donald Hebb (1949).
• Frank Rosemblatt (1958) → perceptron.
• Widrow e Hoff (1960) → LMS ou Regra Delta.
• Teuvo Kohonen (1972) → Mapas auto-organizáveis.
• Rumelhart, Williams e Hinton (1986) → Backpropagation.
• Ainda na década de 80, John Hopfield e David Tank → redes
neurais com pesos fixos.

Prof. João Marcos Meirelles da Silva – p. 58/60


Referências
1. Haykin, S., “Neural Networks - A Comprehensive Foundation,”
2nd edition - Prentice Hall, 1999.
2. Fausett, L., “Fundamental of Neural Networks - Architectures,
Algorithms and Applications,” Prentice Hall, 1994.
3. Theodoris, S., Koutroumbas, K, “Pattern Recognition,” 4th
edition, Academic Press.

Prof. João Marcos Meirelles da Silva – p. 59/60


FIM

Prof. João Marcos Meirelles da Silva – p. 60/60

Você também pode gostar