Sie sind auf Seite 1von 45

Introduo s Redes Neurais

Prof. Ricardo Linden


Introduo

As redes neurais so um tema da computao altamente inspirada na


natureza que nos cerca.

Durante anos e anos os homens trabalharam para fazer computadores


mais rpidos e mais potentes

Apesar do seu incrvel poder computacional estes computadores


falhavam em fazer tarefas que uma criana de 3 anos faria
imediatamente

Exemplo: reconhecer uma pessoa ou aprender algo novo s com a


experincia.

Introduo s Redes 2
Introduo

Baseado nisto, resolveu-se ento buscar criar um modelo


computacional que emulasse o comportamento do crebro humano.

Criaram-se neurnios artificiais extremamente similares aos


humanos e interligaram-nos para formar redes que mostraram
poder fazer tarefas antes restritas aos crebros

Quem sabe assim, poderamos criar computadores to inteligentes


quanto uma criana de 3 anos de idade?

Introduo s Redes 3
Introduo

Alm disso, os pesquisadores encontraram nas redes neurais outras


caractersticas semelhantes s do crebro :
robustez e tolerncia a falhas
flexibilidade
capacidade para lidar com informaes ruidosas, probabilsticas
ou inconsistentes
processamento paralelo
arquitetura compacta e com pouca dissipao de energia

Introduo s Redes 4
Introduo
Encontrou-se uma arquitetura capaz no s de aprender como tambm
generalizar.

Da podemos entender o frisson do meio cientfico em relao a esta rea.

importante que se entenda que as redes neurais no so a soluo dos


problemas computacionais da humanidade.

Elas nunca superaro as arquiteturas tradicionais no campo da computao


numrica, por exemplo.

Mas em alguns campos elas esto se tornando ferramentas valiosas.

Introduo s Redes 5
Quando as redes neurais so teis

Quando no pudermos ou no soubermos criar uma


soluo algoritmica

Quando tivermos muitos exemplos do


comportamento que desejamos.
Isto , quando quisermos aprender a partir da
experincia existente!

Quando quisermos aprender uma estrutura escondida


nos dados.

Introduo s Redes 6
Histrico das Redes Neurais

McCulloch & Pitts (1943) so conhecidos como os projetistas da


primeira rede neural.

Muitas de suas iias ainda so usadas hoje em dia.

Por exemplo, ainda combinamos muitas unidades simples para


obter um grande poder computacional alm de nos basearmos
tambm em um threshold de ativao

A primeira regra de aprendizado foi desenvolvida por Hebb (1949)

Introduo s Redes 7
Histrico das Redes Neurais
Durante as dcadas de 50 e 60 muitos pesquisadores trabalharam no
peceptron com grande afinco e excitao.

Em 1969, a rea sofreu grande impacto e praticamente sumiu devido s


descobertas de Minsky & Papert

Somente nos anos 80, com o algoritmo de aprendizado para treinamento


de redes multi-camada (descoberto de forma independente por Parker e
LeCun em 1982 e Werbos em 1974) as redes neurais voltaram moda.

Hoje em dia, muitos consideram-nas o campo mais importante da IA.

Introduo s Redes 8
Redes Neurais Naturais
O neurnio a unidade fundamental constituinte do sistema nervoso

Sinapses
Dendritos

Axnio
Corpo

Somtico

Introduo s Redes 9
O neurnio
Ele constitudo de:
um volumoso corpo central denominado pericrio no qual so
produzidos os impulsos nervosos
prolongamentos finos e delgados atravs dos quais estes impulsos so
transmitidos e recebidos.
Fundamentalmente existem dois tipos de prolongamentos:
os dendritos (ou dendrnios) : mais curtos e ramificados, atravs dos quais so
recebidos os impulsos nervosos provenientes de outros neurnios e que se
destinam ao corpo central.
o axnio (ou cilindro eixo): atravs do qual a clula nervosa transmite os
impulsos nela originados. Em geral os axnios so muito longos (alcanando s
vezes o tamanho de 1m de comprimento) e so nicos para cada clula. Nele os
dendritos de outros neurnios se ligaro de forma a obter o impulso
correspondente ao "resultado de sada" desta clula.

Introduo s Redes 10
As sinapses

Em condies normais, como j afirmamos anteriormente, duas clulas


nervosas se associam estabelecendo contato entre o dendrito de uma e o
axnio de outra

Esta modalidade de associao recproca chamada de sinapse.

Existem basicamente dois tipos de sinapse no mundo animal:


as sinapses eltricas
as sinapses qumicas.

As sinapses qumicas conduzem a informao em somente uma direo, ou


seja, do neurnio que secreta o transmissor, denominado pr-sinptico para o
neurnio que recebe a ao do neurotransmissor, denominado ps-sinptico

Introduo s Redes 11
Sinapses

O armazenamento da informao o processo que chamamos


memria e tambm funo da sinapse.

Isto , cada vez que um impulso sensorial particular passa atravs


de uma sequncia de sinapses, estas sinapses tornam-se mais
capazes de transmitir o mesmo impulso da prxima vez

Este processo conhecido como facilitao

o que o treinamento das redes neurais gostaria de imitar.

Introduo s Redes 12
Neurnios trabalhando...

Todo neurnio tem um pequeno potencial eltrico de repouso na sua membrana, da ordem
de -65mV.

A ao dos neurnios anteriores pode inibir ou excitar um neurnio ps-sinptico


respectivamente diminuindo (inibindo, ou tornando mais negativo) ou aumentando
(excitando, ou tornando menos negativo) o valor de seu potencial.

A ao dos neurnios pr-sinpticos se soma em um neurnio e altera seu potencial


eltrico.

Quando este atinge a marca de -45mV, o neurnio atinge o que se chama potencial de ao.

Para atingir este estado necessria a atuao de vrios neurnio pr-sinpticos (cerca de
70 para o neurnio motor tpico)

Introduo s Redes 13
Neurnios trabalhando...

Graficamente:

Cone axnico

-45 mV
Propagao do
potencial de ao

Introduo s Redes 14
Redes Neurais Naturais

Ns nascemos com cerca de 100 bilhes de neurnios


Um neurnio pode se conectar com at 100.000 outros neurnios.

Introduo s Redes 15
Redes Neurais naturais

Um neurnio demora cerca de 10-3 s para processar uma


informao.

Um chip de um computador domstimo demora um tempo da


ordem 10-9s.

Entretanto, graas grande conectividade e o processamento em


paralelo, muitas vezes o crebro humano mais eficiente e eficaz
que um computador.

Introduo s Redes 16
O neurnio artificial

McCulloch e Pitts criaram o primeiro neurnio artificial em


1943.
Seu modelo era mais ou menos o seguinte:

x1 w1
x2 w2
.
. f ( wt x ) Sada

wn
.
xn

Introduo s Redes 17
O neurnio artificial

A operao deste neurnio muito simples : as entradas so


apresentadas ao neurnio e so multiplicadas cada um por um peso.

O resultado desta operao chamado net.

A seguir aplicada uma funo no linear (denominada funo de


ativao) a net, resultando no resultado de sada do neurnio
(tambm denominado out).

Existem vrias opes de funes no lineares que tm


comportamentos extremamente interessantes.

Introduo s Redes 18
O neurnio artificial

Por enquanto, a funo de ativao que vamos usar a mais simples


possvel:

T=0

Basicamente, esta funo diz o seguinte:


Se no atingirmos um determinado limite (threshold), a sada zero.
Se atingirmos este threshold, a sada 1.

Introduo s Redes 19
O neurnio artificial

A ativao do neurnio ento binria: ou ele ativa


ou no ativa.

Isto : ou ele dispara (ativao de 1) ou no dispara


(ativao de zero).

Isto extremamente similar ao neurnio biolgico

Cone axnico
-45 mV
T=0 Propagao do
potencial de ao

Introduo s Redes 20
As primeiras redes neurais
Neurnios de uma rede de McCulloch-Pitts esto ligados por
caminhos direcionados e com pesos.
Cada um dos pesos pode ser positivo ou negativo, emulando as
sinapses inibitrioas ou excitatrias existentes no neurnio real.
Cada neurnio tem o seu prprio threshold
Se a soma ponderada das entradas exceder este limite, o neurnio
disparar. X 1
2

X2 2 Y

-1

X3
Introduo s Redes 21
As primeiras redes neurais

Logo, para a rede mostrada aqui, a funo de ativao para a


unidade Y dada por:
f(y_net) = 1, se y_inet
0, caso contrrio
,onde y_in o sinal de entrada total recebido e o threshold para Y

X1
2

X2 2 Y

-1

X3

Introduo s Redes 22
As primeiras redes neurais

O valor de y_net dado pela seguinte frmula:


y_net=
wiXi
i

No caso da rede abaixo: y_net=2*X1+2*X2-1*X3.

X1
2

X2 2 Y

-1

X3

Introduo s Redes 23
As primeiras redes neurais
Normalmente, o valor do threshold definido de forma que se uma das
entradas inibitrias estiver presente, o neurnio no disparar.

X1
2

X2 2 Y

-1

X
No caso desta rede, colocamos
3
o threshold em 4.
Para termos algum controle, determinamos que demora um tempo finito para
o sinal de propagar das entradas at a sada.

Introduo s Redes 24
Resumindo o nosso neurnio...

ini j Wj , iaj
aj : Valor de ativao da unidade j
wj,I : Peso sinptico ligando a unidade j
unidade i
inI : Soma ponderada das entradas unidade
i
aI : Valor de ativao da unidade i
g : Funo de ativao usada

Introduo s Redes 25
Perceptron: unidade X rede

O Step 0 j WjIj
Introduo s Redes 26
Exemplos

AND
X1 1
X1 X2 Y
Y 1 1 1
X2 1
1 0 0
0 1 0
Funo AND 0 0 0

Threshold(Y) = 2

Introduo s Redes 27
Exemplos

OR
X1 2 X1 X2 Y
Y 1 1 1
1 0 1
X2 2
0 1 1
Funo OR 0 0 0

Threshold(Y) = 2

Introduo s Redes 28
Exemplos

AND
2
NOT
X1
X1 X2 Y
Y
1 1 0
X2 -1 1 0 1
0 1 0
Funo AND NOT
0 0 0

Threshold(Y) = 2

Introduo s Redes 29
Funes de ativaco

A que usamos at agora:


Degraut(x) = 1 if x >= t, seno 0
Outras possibilidades:
Sinal(x) = +1 if x >= 0, seno 1
Sigmide(x) = 1/(1+e-sx)
Funo identidade
Outras
Introduo s Redes 30
Funes de ativao

Os neurnios humanos so contnuos, logo uma funo d ativao


que queira modelar a realidade tambm deve s-lo.
Entretanto, vejam como a funo sigmide e a funo degrau so
parecidas...
s grande

s pequeno

Introduo s Redes 31
Redes simples que vimos at agora

AND OR NOT
Input 1 0 0 1 1 0 0 1 1 0 1
Input 2 0 1 0 1 0 1 0 1
Output 0 0 0 1 0 1 1 1 1 0

Introduo s Redes 32
O que os perceptrons podem representar?

AND XOR
Input 1 0 0 1 1 0 0 1 1
Input 2 0 1 0 1 0 1 0 1
Output 0 0 0 1 0 1 1 0

Introduo s Redes 33
O que os perceptrons podem representar?

AND e OR XOR

Linearmente Separveis No Linearmente Separvel


Introduo s Redes 34
Representao do XOR

Logo, para representar o XOR precisamos de duas camadas:

2
2
X1 -1 Z1
Y

X2 -1 Z2
2
2
Funo XOR

X1 XOR X2 = (X1 AND NOT X2) OR (X2 AND NOT X1)

Introduo s Redes 35
O que um perceptron pode representar?

Sempre que o problema linearmente separvel, precisamos de


apenas um perceptron para resolv-lo:

Linear Separability is also possible in more than 3 dimensions


but it is harder to visualise
Introduo s Redes 36
Treinando um perceptron

Objetivo: Descobrir um perceptron capaz de representar a


seguinte funo

AND
Input 1 0 0 1 1
Input 2 0 1 0 1
Output 0 0 0 1

Comeamos com uma rede gerada de forma aleatria

Introduo s Redes 37
Aprendizado

Usamos os seguintes algoritmos

Enquanto uma poca produz um erro, faa:


Apresente todas as entradas da poca e calcule o erro:
Erro = (O-T)
Se Erro <> 0 ento faa
Wj = Wj + LR * Ij * Erro
Fim se
Fim do While

Introduo s Redes 38
Termos usados no algoritmo

poca : apresentao de todo o conjunto de treinamento para a rede neural.


No caso do AND, consiste na apresentao das entradas {[0,0], [0,1], [1,0],
[1,1]}

Valor de treinamento, T : Quando estamos treinando uma rede


apresentamos as entradas e as sadas desejadas (o aprendizado dito
supervisionado). Por exemplo, para a entrada [1,1] a sada desejada para o
AND 1

Erro : Diferena entre o valor calculado pela rede e o valor desejado. Por
exemplo, se quisssemos uma sada de valor 0 e ela gerasse 1, ento o
Erro = -1

Introduo s Redes 39
Termos usados no algoritmo

Sada do Neurnio, O : O valor da sada do neurnio sendo


treinado

Ij : As entradas oferecidas para o neurnio

Wj : Peso ligando a entrada Ij ao neurnio de sada.

LR : A taxa de aprenziado. Determina quo rpido o algoritmo


converge. Normalmente definida com um valor em torno de 0.1

Introduo s Redes 40
Treinando um perceptron

-1
W = 0.3

x t = 0.0
W = 0.5

W = 0.4
y

I1 I2 I3 Soma Sada
-1 0 0 (-1*0.3) + (0*0.5) + (0*0.4) = -0.3 0
-1 0 1 (-1*0.3) + (0*0.5) + (1*0.4) = 0.1 1
-1 1 0 (-1*0.3) + (1*0.5) + (0*-0.4) = 0.2 1
-1 1 1 (-1*0.3) + (1*0.5) + (1*0.4) = 0.6 1
Introduo s Redes 41
Treinando nossa rede

Para a primeira entrada, o erro zero, logo no afeta nossos pesos.


Para a segunda entrada temos T=1 e O=0. Logo, Erro=-1
Logo, temos:
W1 = 0,3 + 0,1 * -1 * -1 = 0,4
W2 = 0,5 + 0,1 * 0 * -1 = 0,5
W3 = 0,4 + 0,1 * 1 * -1 = 0,4
Para a terceira entrada temos o mesmo erro e para a quarta entrada temos o
erro igual a 0.
Para a terceira entrada, temos:
W1 = 0,4 + 0,1 * -1 * -1 = 0,5
W2 = 0,5 + 0,1 * 1 * -1 = 0,4
W3 = 0,4 + 0,1 * 0 * -1 = 0,4

Introduo s Redes 42
Treinando um perceptron

-1
W = 0.5

x t = 0.0
W = 0.4

W = 0.4
y

I1 I2 I3 Soma Sada
-1 0 0 (-1*0.5) + (0*0.4) + (0*0.4) = -0.5 0
-1 0 1 (-1*0.5) + (0*0.4) + (1*0.4) = -0.1 0
-1 1 0 (-1*0.5) + (1*0.4) + (0*0.4) = -0.1 0
-1 1 1 (-1*0.5) + (1*0.4) + (1*0.4) = 0.3 1
Introduo s Redes 43
Treinando nossa rede

Rapidamente atingimos o sucesso.

Em pouqussimos passos treinaremos todas as funes lineares.

Podem tentar com outros valores para ver como funciona!

Introduo s Redes 44
O ressurgimento

No podemos fazer o mesmo com as redes de mais de uma camada


porque no sabemos qual deveria ser o objetivo das camadas
interiores.
Assim, as redes ficam extremamente limitadas, podendo mapear
apenas funes lineares.
Por isto elas foram abandonadas durante 15 anos e tornaram-se um
ramo adormecido da computao.
Entretanto, elas acordaram com fora total quando foi descoberto o
algoritmo para treinar redes de mltiplas camadas.
o que vamos ver na prxima aula!

Introduo s Redes 45

Das könnte Ihnen auch gefallen