Redes Neurais - Professores da UFF

Propaganda
Redes Neurais
Profa. Flavia Cristina Bernardini
Introdução
Cérebro & Computador Modelos Cognitivos Diferentes
Cérebro
Computador
Seqüência de
Comandos
Lento
Rápido
Reconhecimento
de Padrão
Rápido
Lento
Introdução
• Cérebro ~10 bilhões de neurônios
• Cada neurônio tem entre 1.000 e
10.000 conexões
• Imitar a arquitetura do Cérebro 
Surgimento do Comportamento
inteligente
Neurônio
Fundamentos biológicos
• O Cérebro
– Composto por Neurônios:
105 na mosca da fruta,
5x106 no rato e 1011 no
homem
• O Cérebro Humano
– Massa: 1-2kg no adulto 2% do peso
– 20% do peso do recémnascido
– Usa 20% do oxigênio, 25%
da glicose, 15% do fluxo de
sangue
• O Córtex
– Papel central em funções
complexas – memória,
atenção, consciência,
linguagem, percepção e
pensamento
– Diferença nos tamanhos:
5cm2 no rato, 500 cm2 no
chimpanzé e 2000cm2 no
homem
– Córtex Humano: 3x1010
neurônios, com 103 a 104
sinapses por neurônio
O Neurônio
• Possui um corpo celular, axônio e diversas
ramificações – dendritos
– Dendritos: “dispositivos de entrada” que
conduzem sinais das extremidades para o corpo
celular
– Axônio (geralmente 1): “dispositivo de saída”
que transmite um sinal do corpo celular para a
suas extremidades
– As extremidades do axônio são conectadas com
dendritos de outros neurônios pelas sinapses
O Funcionamento do Neurônio
• A membrana citoplasmática de uma célula nervosa
permite o transporte de eletrólitos que modificam o
potencial elétrico entre as partes externas e internas da
célula
• Diferença de potencial provoca trem de pulsos de
freqüência gerado pela célula nervosa (neurônio)
através do axônio para os dendritos, que se ligam a
outras células
• Ante um estímulo de amplitude e duração definida, é
codificada a informação que posteriormente é
decodificada por dendritos
O Funcionamento do Neurônio - A
Sinapse
• Sinapse: é a ligação entre a terminação
axônica e os dendritos
– Permite a propagação dos impulsos nervosos
de uma célula a outra
– Podem ser excitatórias ou inibitórias
• As sinapses excitatórias cujos neuro-excitadores são os
íons sódio permitem a passagem da informação entre os
neurônios
• As sinapses inibitórias, cujos neuro-bloqueadores são os
íons potássio, bloqueiam a atividade da célula, impedindo
ou dificultando a passagem da informação
RNAs
Redes Neurais Artificiais são sistemas
inspirados nos neurônios biológicos e
na estrutura maciçamente paralela do
cérebro, com capacidade de adquirir,
armazenar e utilizar conhecimento
experimental
Características Básicas
• Execução inerentemente paralela
• Generalização
– Generalizar conhecimento a partir de
exemplos
• Abstração
– Habilidade de lidar com ruídos
Construção
• Aquisição de Conhecimento envolve
Treinamento
– Uso de exemplos
– A rede aprende por experiência, não
necessitando explicitar seu conhecimento e seu
processo de raciocínio para executar uma
determinada tarefa
Histórico
• McCulloch & Pitts
(1943)
• Minsky & Papert
(1969)
• Hebb (1949)
• Rumelhart (início da
década de 80)
• Novos modelos que
superaram os
problemas dos
Perceptrons.
– Modelo computacional
para o neurônio
artificial
– Não possuía
capacidade de
aprendizado
– Modelo de
aprendizado (Hebbian
Learning Rule)
• Rosenblatt (1957)
– Rede Perceptron, com
grande sucesso
– Prova matemática:
Perceptron são
incapazes de
solucionar problemas
simples tipo OUEXCLUSIVO
IA Simbólica vs Conexionista
• Conhecimento Empírico
A
B
AND
0
0
0
1
1
1
0
1
0
1
1
1
IA Simbólica vs Conexionista
Simbólico
Simulação do
Comportamento
Inteligente
AND (A,B)
If A = 0
Then AND = 0
Else If B=0
Then AND = 0
Else AND = 1
Conexionista
Baseado na estrutura
cerebral
A
w1
B
w2


w1 = 1
w2 = 1
A.w1 + B. w2 >= 
AND
Perceptron
• Características básicas:
• Regra de propagação netj = Σxi.wij + θj
• Função de ativação degrau
• Topologia uma única camada de processadores.
• Algoritmo de aprendizado supervisionado:
• Atualização dos pesos (geralmente):
• wij = η.xi.(tj - sj)
• Valores de entrada/saída binários
Perceptron: problemas
• Rosenblatt (1962) provou que:
– Uma rede perceptron é capaz de
aprender tudo que puder representar
– Representação refere-se à habilidade do
sistema neural de representar (simular)
uma função específica
– Aprendizado refere-se à existência de um
procedimento sistemático de aquisição de
conhecimento (ajuste dos pesos), de
forma a produzir a função desejada.
Perceptron: problema
• Minsky & Papert provaram que este
problema pode ser solucionado
• Adiciona-se uma outra camada
intermediária de processadores
Multi-Layer Perceptrons (MLP)
Redes MLP
Organização em camadas
• Usualmente as camadas são
classificadas em três grupos:
• Camada de Entrada
– Padrões são apresentados à rede
• Camadas Intermediárias ou Escondidas
– Feita a maior parte do processamento através das
conexões ponderadas
– Podem ser consideradas como extratoras de
características
• Camada de Saída
– Onde o resultado final é concluído e apresentado.
Redes Neurais
• Camadas
– Camada de Entrada
– Camadas Ocultas
– Camada de Saída
• Função de Base
– Combinação das entradas
• Função de Ativação
– Saída
• Aprendizado
Backpropagation
Durante o treinamento a rede opera em dois passos:
• 1 – Padrão é
apresentado à
camada de entrada
da rede
– A atividade
resultante flui
através da rede até
que a resposta seja
produzida pela
camada de saída
• 2 – A saída obtida é
comparada à saída
desejada para esse
padrão particular
– Erro é calculado e
retropropagado da
camada de saída até a
camada de entrada
– Os pesos das conexões
são modificados
conforme o erro é
retropropagado
Backpropagation
• Retropropagação do erro: regra delta
generalizada
– Gradiente descendente da função de ativação do
neurônio
• Para bom funcionamento do algoritmo
Backpropagation devem ser utilizadas
unidades com função de ativação semi-linear
– Função diferenciável e não decrescente
• A função threshold não se enquadra nesse requisito
– Função de ativação amplamente utilizada:
função sigmoid.
Backpropagation
• A taxa de aprendizado  é uma
constante de proporcionalidade no
intervalo [0,1]
– Procedimento de aprendizado requer que
a mudança no peso seja proporcional a 
Backpropagation
• Gradiente descendente para atualização
de pesos requer que sejam tomados
passos infinitesimais
– Quanto maior for , maior será a mudança
nos pesos, aumentando a velocidade do
aprendizado, o que pode levar à uma
oscilação do modelo na superfície de erro
– Ideal: utilizar a maior taxa de aprendizado
possível que não leve a uma oscilação,
resultando em aprendizado mais rápido
Backpropagation
• O treinamento das redes MLP com
backpropagation pode demandar
muitos passos no conjunto de
treinamento, resultando um tempo de
treinamento considerávelmente longo
– Se for encontrado um mínimo local, o
erro para o conjunto de treinamento para
de diminuir e estaciona em um valor
maior que o aceitável
Modelo genérico de um neurônio
x1
x2
xN
w1

w2
.
.
.
wN
F(n)
o
𝑁
𝑛=
𝑥𝑖 𝑤𝑖
𝑖=0
Função de Ativação
Observações:
• Redes neurais de múltiplas camadas
só oferecem vantagens sobre as de
uma única camada se existir uma
função de ativação não-linear entre as
camadas
Redes Neurais: Função de Ativação
Propriedade da Função Sigmoidal
Neurônio n
x1
x2
xN
w1

w2
.
.
.
wN
𝑁
𝑠=
𝑥𝑖 𝑤𝑖
𝑖=0
𝑦𝑛
1
𝑦𝑛 = 𝜎 𝑠 =
1 + 𝑒 −𝑠
• Propriedade interessante:
Algoritmo Backpropagation
(cálculos detalhados)
Formalizando...
Camadas Intermediárias
Camada de
Entrada
Ou Camada 0
𝑥1
Camada
1
𝑛1
𝑥2
.
.
.
.
.
.
𝑛𝐿 1
𝑥𝑁
𝑤111
Camada
2
𝑛1
.
.
.
𝑤𝐿1 𝐿2 1
𝑛𝐿 2
Camada
K
...
...
...
𝑛1
.
.
.
𝑛𝐿 𝐾
Camada de
Saída
Ou Camada
Out
𝑦1
.
.
𝑦.
𝑂𝑢𝑡
Formalizando...
Camadas Intermediárias
Camada de
Entrada
Ou Camada 0 Camada
Camada
𝑥1
1
2
𝑤111
𝑥2
.
.
.
𝑛1
𝑛1
.
.
.
.
.
.
𝑛𝐿1
𝑤𝐿1 𝐿2 1
Camada de
Saída
Camada Ou Camada
Out
K
𝑛1
...
.
.
.
...
𝑛𝐿 2
𝑛𝐿 𝐾
...
𝐿𝑗+1
𝑥𝑁
𝛿𝑛𝑖 𝑗 =
𝑤𝑖𝑖+ 𝛿𝑛𝑖+
𝑖+ =1
𝑗 = 1, … , 𝐾
𝑖 = 1, … , 𝐿𝑗
𝑖+ = 1, … , 𝐿𝑗+1
𝑦1
.
.
𝑦.
𝑂𝑢𝑡
𝛿𝑦𝑖 = 𝑧𝑖 − 𝑦𝑖
𝑖 = 1, … , 𝑂𝑢𝑡
Download