Redes Neuronais
Introdução e Conceitos BásicosHélia Guerra
helia@notes.uac.pt
http://www.uac.pt/~hguerra/Teaching/RN/RN.html
Departamento de Matemática Universidade dos Açores
2 DM / UAç Redes Neuronais 07/08
Redes neuronais artificiais
• Surgiram nos anos 40 com o objectivo de conhecer melhor o cérebro humano e emular o seu comportamento.
• Esforço foi ultrapassado pelo progresso da computação digital e do modelo de Von Newmann.
• Nos anos 80 o interesse pelo estudo das redes neuronais foi renovado
– Surgiram novas técnicas de aprendizagem para modelos mais sofisticados que os iniciais
– Computadores digitais conseguem simular processos neuronais – Tecnologia preparada para desenvolver hardware específico
para as redes neuronais.
Redes neuronais artificiais
• Actualmente, as redes neuronais não pretendem emular o
funcionamento do cérebro mas têm maiores afinidades com ele do que os computadores do modelo de Von Newmann.
• O funcionamento é inspirado na forma como os organismos, em particular os seres humanos, resolvem os seus problemas de computação.
• São constituídas por unidades de processamento simples e interligadas.
• Têm capacidade de aprender a partir dos dados.
Redes neuronais artificiais
• Constituem interesse de investigação cientifica em diversas áreas – Engenharia
– Ciências da Computação – Matemática Aplicada – Ciências da Natureza – …
• O principal interesse é a sua capacidade de aprendizagem das relações, muitas vezes não lineares, entre as variáveis de um sistema.
• A aprendizagem é feita directamente a partir dos dados, não pressupondo que estes obedecem a determinada distribuição estatística.
• Depois de “aprenderem”, são capazes de responder correctamente perante novas situações.
5 DM / UAç Redes Neuronais 07/08
Redes neuronais biológicas
• O cérebro humano é capaz de realizar de forma eficiente tarefas extremamente complexas, tais como
– Reconhecimento de padrões Raciocínio indutivo – Raciocínio dedutivo
– Cálculo aritmético
– …
• O conhecimento é adquirido a partir do ambiente através de um processo de aprendizagem.
• O processamento de informação no cérebro é realizado por uma rede de cerca de milhões de unidades de
processamento simples designadas por neurónios.
6 DM / UAç Redes Neuronais 07/08
O neurónio biológico
• Mede cerca de 5 a 100 milésimas de milímetro • Componentes: – Corpo central (contém o núcleo) – Axónio (fibra nervosas associada à transmissão de sinais emitidos pelo neurónio, podendo medir poucos cm a um metro) – Dendrites (detectam sinais recebidos) • As sinapses são conexões do axónio a dendrites de outros neurónios.O neurónio biológico
• Recebe sinais de excitação de outros neurónios através das sinapses.
• Recebe estímulos de entrada através das dendrites.
• Realiza processo de integração dos sinais recebidos no corpo central.
• Em função dos sinais recebidos, activa ou inibe, um sinal que é difundido pelo axónio para as sinapses.
• Quando num instante, a soma dos fluxos nervosos transmitidos pelas dendrites exceder um determinado limiar, o neurónio responde com um fluxo nervoso que será transmitido pelo respectivos axónio
• Pode estar ligado a milhares de sinapses.
O funcionamento do cérebro humano
• Cada neurónio recebe sinais de neurónios vizinhos e gera impulsos eléctricos que são transmitidos aos (milhares de) neurónios a que se encontra ligado.
• O conhecimento é incorporado nas conexões entre os neurónios.
• Um nome alternativo para o processamento que imita o cérebro seria computação conexionista.
• O funcionamento do cérebro não é totalmente entendido, sendo objecto actual de investigação.
9 DM / UAç Redes Neuronais 07/08
Características do cérebro humano
• Adaptabilidade ao contexto
• Adaptabilidade por intermédio de aprendizagem
• Tolerância a falhas
• Grande capacidade de memória
• Capacidade de operar com conhecimento parcial
• Capacidade de processamento da informação em tempo real
10 DM / UAç Redes Neuronais 07/08
Redes neuronais artificiais
• Uma rede neuronal artificial é um sistema de processamento de informação com características semelhantes ao das redes neuronais biológicas.
• Numa perspectiva Matemática, uma rede neuronal é um modelo de processamento de informação baseado nos seguintes pressupostos – O processamento da informação é feito com elementos simples
designados neurónios.
– Os sinais são transmitidos entre os neurónios através de ligações/conexões.
– Cada ligação/conexão tem associado um peso que multiplica o sinal transmitido
– Cada neurónio aplica uma transformação (função de activação) aos sinais que recebe (já multiplicados pelos respectivos pesos) para emitir um sinal.
O neurónio artificial
• Tem um conjunto de conexõesetiquetadas por um peso. • widenota o peso do estímulo
oriundo de xique chega a y quando os sensores são activados.
• Se wi>0, então diz-se que o sensor xiestimula o neurónio. A conexão diz-se excitatória. • Se wi<0, então diz-se que o
sensor xiinibe o neurónio. A conexão diz-se inibitória. • Yin=Σxiwié o estímulo que Y
recebe.
• A resposta de Y é f(Yin), onde f denota a função de activação.
1 2 3 w1 w2 w3
O neurónio artificial
• Pode ter uma conexão extra de uma fonte de actividade +1
designada por pendor. • O pendor estabelece
uma determinada tendência natural que não depende de estímulos exteriores.
• Y
in=b+Σx
iw
i 1 2 3 w1 w2 w3 b13 DM / UAç Redes Neuronais 07/08
Redes neuronais artificiais
• Modelos simplificados do sistema nervoso central do ser humano.
• O conhecimento adquirido está codificado nos pesos das conexões entre as unidades de processamento simples. • A remoção (resp.adição) de algumas unidades de processamento podera diminuir (resp. aumentar) a capacidade de resposta da rede.
14 DM / UAç Redes Neuronais 07/08
Redes neuronais artificiais
• Uma rede neuronal caracteriza-se por: – Arquitectura (topologia dos neurónios)
– Algoritmo de aprendizagem (método para determinar os pesos)
– Função de activação
Redes neuronais artificiais
• O poder computacional das redes neuronais assenta em dois pilares fundamentais:
– Topologia que premeia o processamento paralelo – Capacidade de aprendizagem e de generalização
• Podem ser vistas como “caixas negras” que transformam vectores de entrada em vectores de saída, via uma função desconhecida.
• Conseguem resolver problemas complexos de natureza não linear.
Propriedades das redes neuronais artificiais sugeridas pelas redes neuronais biológicas
• Cada unidade de processamento recebe muitos sinais
• Numa unidade, os sinais transmitidos podem ser modificados por um peso da sinapse receptora
• Cada unidade de processamento soma os sinais recebidos “pesados”
• Cada neurónio transmite um único sinal, mediante determinadas circunstancias
• O sinal produzido por um neurónio pode ser enviado para outros neurónios
• O processamento da informação é local a cada neurónio • A informação é guardada nos pesos das sinapses • A força de uma sinapse pode ser alterada por experiência • Neurotransmissores para as sinapses podem ser excitatórios ou
inibitórios
17 DM / UAç Redes Neuronais 07/08
Aplicações das Redes Neuronais
• Reconhecimento de padrões
– Atribuição a um padrão de entrada (como forma de onda vocal, ou símbolo manuscrito) representado por um vector, de uma das categorias pré-especificadas.
– Exemplos
• reconhecimento de caracteres • reconhecimento da voz e da escrita
• classificação e redução dos dados que expressam genes • classificação de formas de onda de EEG
• classificação de células sanguíneas • Classificação de plantas animais • …
• Agrupamento (Clustering)
– Exploração da similaridade entre padrões e agrupamento em categorias que não foram pré-especificadas
– Exemplos • Data Mining
• Compressão de dados • Análise exploratória de dados • …
18 DM / UAç Redes Neuronais 07/08
Aplicações das Redes Neuronais
• Aproximação de funções (não lineares)
– Encontrar estimação de função desconhecida gerada a partir de um conjunto de padrões de entrada/saída.
– Exemplos
• Problemas de modelação (Engenharia) • …
• Regressão/Previsão
– Dada uma sequencia de padrões obtida ao longo de determinado intervalo de tempo, prever padrão no futuro.
– Exemplos
• Análise de genes e previsão da localização de proteínas (Bioinformática) • Previsão de stocks (Economia)
• Previsão de custos (Finanças) • Aplicações de crédito ao consumo • Vendas
• produção • …
Aplicações
• Optimização
– Procura de soluções óptimas em espaço de procura demasiado elevado, onde a procura exaustiva de todas as alternativas se torna incomportável em termos computacionais (problemas NP).
– O uso de heurísticas/máquinas de aprendizagem permite reduzir o espaço de procura.
– Exemplos clássicos
• Problema do caixeiro viajante
• Problema do escalonamento de tarefas
Áreas onde as Redes Neuronais são aplicadas
• Banca
– Aplicações de crédito ao consumo – Detecção de fraudes
– Previsão dos mercados bolsistas – …
• Segurança e Defesa territorial – Seguimento de alvos
– Reconhecimento de rosto e de voz
– Processamento de sinais provenientes de radares e sonares – …
• Indústria
– Identificação e controlo de processos – Previsão
– Diagnóstico
– Controlo de qualidade – Processamento de sinal – …
21 DM / UAç Redes Neuronais 07/08
Áreas onde as Redes Neuronais são aplicadas
• Medicina
– Analisadores de ECG e EEG – Projecto de próteses – Diagnóstico de melanomas – … • Robótica – Controladores – Sistemas de visão – … • Bioinformática
– Problemas de análise de genes e previsão de localização de proteínas
– …
22 DM / UAç Redes Neuronais 07/08
Áreas onde as Redes Neuronais são aplicadas
• Controlo
– Envolve processo ou parte crítica de sistema que tem de ser mantida controlada.
– Pretende-se gerar uma entrada (sinais fornecidos pelo controlador) apropriada de forma que a saída acompanhe um padrão de referencia.
– Exemplos
• Controlo de veículos autónomos • Robôs
• Processos de fabrico
Áreas onde as Redes Neuronais são aplicadas
• Biologia, Ecologia e Ambiente – Crescimento de ecossistemas
– Identificação de doenças nas plantas e previsão de pragas – Classificação de plantas, animais
– Diagnóstico de doenças em animais
– Estudo de propriedades e comportamento de sistemas naturais – Estudo do impacto de químicos no ambiente
– …
• …
Caracterização das redes neuronais artificiais
• Arquitectura – Mono-nível – Multi-nível • Aprendizagem – Supervisionada – Não supervisionada Função de activação – Indentidade – Heaviside – Sigmóide – Feedforward – Recorrente25 DM / UAç Redes Neuronais 07/08
Arquitectura
• Um nível de entrada (unidades sensoriais x1,…,xn)
• Zero ou mais níveis intermédios (nível de neurónios z1,…,zp ) • Um nível de saída (neurónios y1,…,ym)
26 DM / UAç Redes Neuronais 07/08
Mono-nível
• Para além da entrada, têm apenas o nível de neurónios de saída.
Multi-nível
• Entre os níveis de entrada e de saída existem níveis um ou mais intermédios.
• Os níveis intermédios aumentam a capacidade de aprendizagem mas também aumentam exponencialmente o tempo de aprendizagem.
Feedforward
29 DM / UAç Redes Neuronais 07/08
Recorrente
Tem conexões cíclicas (ciclos de realimentação)
30 DM / UAç Redes Neuronais 07/08
Caracterização das redes neuronais artificiais
• Arquitectura – Mono-nível – Multi-nível • Aprendizagem – Supervisionada – Não supervisionada Função de activação – Identidade – Heaviside – Sigmóide – Feedforward – Recorrente
Aprendizagem
• Durante o processo de aprendizagem (ou treino), dado por um algoritmo, o peso das conexões é ajustado de forma a se atingir um determinado objectivo ou estado de conhecimento da rede.
• Passos da aprendizagem
– rede é estimulada pelo ambiente
– Os parâmetros livres (e.g., pesos das conexões) poderão ser alterados em resultado do estímulo.
– A rede responde de nova forma ao ambiente, em virtude das alterações sofridas na estrutura interna.
• Existem diferentes algoritmos de aprendizagem, distinguindo-se por – Paradigma (modelo do ambiente)
– Regras de aprendizagem (usadas nos paradigmas)
Aprendizagem
• Supervisionada – Bastante popular
– A rede aprende a partir de um conjunto de padrões fornecidos por um “professor”.
– Cada padrão é designado por exemplo ou caso de treino – Um padrão é composto por um vector de entrada e por um
vector de resposta (correcta) • Não supervisionada
– A aprendizagem é feita pela descoberta de características nos dados de entrada, adaptando-se a agrupamentos de padrões dos exemplos de treino
– Não há indicações externas sobre a resposta (que na realidade é desconhecida)
33 DM / UAç Redes Neuronais 07/08
Regras de aprendizagem
• Hebb • Competitiva • Estocástica • Baseada na memória • Gradiente descendente 34 DM / UAç Redes Neuronais 07/08Regra de Hebb
• Se dois neurónios estão conectados e activos, então o peso da conexão entre eles deve ser reforçado
Regra Competitiva
• No início, os neurónios da mesma camada têm pesos pequenos e iguais.
• Quando é fornecido um padrão à rede, o neurónio que responder melhor será “premiado” com o reforço dos pesos das suas ligações.
• Em alguns casos, os pesos dos vizinhos também podem ser reforçados.
• As saídas dos neurónios da mesma camada competem entre si para se tornarem activas.
• Um só neurónio é activado num determinado instante, segundo a estratégia “winner take all”.
• Regra é adequada para problemas de Classificação.
Regra Estocástica
37 DM / UAç Redes Neuronais 07/08
Regra baseadas na memória
• Memorizam (quase) todas as experiências passadas numa grande memória de pares (entrada, saída).
• Quando é apresentado um novo padrão, o algoritmo procura padrões na região vizinha do padrão apresentado. • É usual o algoritmo ter duas componentes:
– Critério de vizinhança local
– Regra de aprendizagem a aplicar aos exemplos de treino da vizinhança local
38 DM / UAç Redes Neuronais 07/08
Regra do Gradiente descendente
• É medido o erro obtido entre o valor de resposta pretendido e o valor obtido pela rede.
• O valor do erro é o mecanismo de controlo da aprendizagem, onde os sucessivos ajustamentos dos pesos irão originar respostas melhores.
• O objectivo é minimizar uma função de custo ξ definida em termos do sinal de erro.
• Regra Delta ou regra de Widrow-Hoff baseia-se na resolução da equação ∆w=α∇, onde ∆w é a variação do peso, α é a taxa de aprendizagem e ∇ξ é o gradiente de ξ.
• Regra muito usada, geralmente associada a redes multi-nível e ao algoritmo de rectropropagação do erro.
Caracterização das redes neuronais artificiais
•
Arquitectura
– Mono-nível – Multi-nível•
Aprendizagem
– Supervisionada – Não supervisionada – Por reforço Função de activação – Identidade – Heaviside – Sigmóide – Feedforward – RecorrenteFunção de activação
• Função identidadex
x
f
(
)
=
• Função de Heaviside (com limiar θ=0.5 )
⎩
⎨
⎧
<
≥
=
θ
θ
x
se
x
se
x
f
0
1
)
(
-2 -1 1 2 -2 -1 1 2 -1 -0.5 0.5 1 0.2 0.4 0.6 0.8 141 DM / UAç Redes Neuronais 07/08
Função de activação
• Função sigmóide binária • Função sigmóide bipolar
1
1
2
1
)
(
2
)
(
−
+
=
−
=
− xe
x
f
x
g
σ xe
x
f
−σ+
=
1
1
)
(
-4 -2 2 4 0.2 0.4 0.6 0.8 1 -4 -2 2 4 -1 -0.5 0.5 1)]
(
1
)[
(
)
(
'
x
f
x
f
x
f
=
σ
−
[
1
(
)][
1
(
)]
2
)
(
'
x
g
x
g
x
g
=
σ
−
+
42 DM / UAç Redes Neuronais 07/08Funções de activação
• É usual utilizar a mesma função de activação no mesmo nível. • Redes multi-nível com funções de activação lineares são
equivalentes às redes mono-nível com funções de activação lineares.
• Funções de activação não lineares são muito usadas (e.g., sigmóide)
Perspectiva histórica
• Anos 40 – O ínicio
– 1943 McCulloch e Pitts – primeiro modelo de neurónio artificial (1946 Von Newmann – modelo do primeiro computador digital) – 1949 Hebb – mecanismo de aprendizagem de Hebb
• Anos 50 e 60 – 1ª idade de sucesso
– 1958 Rosemblat – novo modelo de neurónio Perceptrão (com uma camada)
– 1960 Widrow e Hoff – apresentam a Adaline com algoritmo de aprendizagem baseado no método dos mínimos quadrados – 1969 – Minsky e Pappert – livro com limitações do Perceptrão • Anos 70 – período pouco agitado
– 1972 Kohonen
Perspectiva histórica
• Anos80 – Entusiasmo renovado
– 1982 Hopfield – rede de Hopfield (recorrente) – Grossberg – Art (Adaptative Ressonancy Theory)
– 1986 Rumelhart e McClealland – Perceptrão multicamada – Rumelhart, Hinton e Williams – rectropropagação do erro em
redes recorrentes multi-nível – Máquinas de Boltzman • Anos 90
– Vapnik e outros – Máquinas de suporte vectorial para resolver problemas de regressão e de reconhecimento de padrões • Anos 2000
45 DM / UAç Redes Neuronais 07/08
Futuro das redes neuronais
• Aplicação generalizada – Economia e Finanças – Processamento de sinais – Visão por computador – Robótica
– Automatização de sistemas periciais – Estatística
– …
• Procuram-se redes mais eficientes e melhores algoritmos de aprendizagem
46 DM / UAç Redes Neuronais 07/08
O modelo de McCulloch e Pitts
• Primeiro modelo de neurónio artificial
• Modelo simples que descreve o funcionamento de um neurónio como uma combinação linear de entradas produzidas por outros neurónios, seguida de uma decisão binária • Conexões excitatórias (+) ou inibitórias (-) • • Função de activação ⎩ ⎨ ⎧ < ≥ = θ θ in in in y se y se y f 0 1 ) ( X1 Xn Xn+1 w w -p ... ... Xn+m -p