RedesNeuraisArtificiais-IntroduçãoVisão Computacional
Inspiração
2
Inspiração
3
Inspiração• Atividade seletiva nas conexões• “Soma”os impulsos epassa adiante
4
Inspiração• Asconexões entreos dendritos informam comoainformação deve trafegar (força deconexão)
• ou
•5
Inspiração• Aforça pode ser representada por pesos
6
Inspiração• Asconexões determinam como reconhecer umobjetoespecífico.• Ou quais ligações ativar para atingir oobjetivo
7
Inspiração• Mascomo aprender os pesosdasconexões demaneira arepresentar ainformação que desejamos?
• Funcionário que trabalhapela manha folga anoite• Funcionário que trabalhaanoite folga pela manhã
Nós queremosà
8
Inspiração• Mascomo chegar na resposta?• Parta doaleatório
9
Inspiração• Apartir deumtreinamentoà Ative osneurônios (FeedForward)
10
Inspiração• Aprenda comos erros• GradientDescent(obtem adireção dadiferença queminimiza oerro J)
11
Inspiração• Ajuste os pesos.• Direção doajuste:camada superiorà camadaabaixo• Backpropagation
• ajuste =erro *gradiente *delta
12
Inspiração
13
• Repita oprocesso atéque os pesosparemdemudar
Neurônio Artificial• Ele tem um meio de computar seu nível deativação dados sinais de entrada xi e pesosnuméricos wi.
14
Representações
15
16
17
Idéia Inicial
18
19
Funções deAtivação• Sigmoid:
• Contras:não é alinhada em zero|gradientespróximos deregiões próximas a0e1são quasezero|pouco usada
20
Funções deAtivação• Tanh:
• Diferencia demodo contínuo |centrada em zero|é umdeslocamento daSigmoid 21
Funções deAtivação• ReLU.TheRectifiedLinearUnit
• Rápida |masneurônios podem morrer comovalor“0”|sol:adiciona “folga”(0,01) 22
Tipos deRedes Neurais• Umacamada (também chamada dePerceptron)• Consistem em umsimplesneurônio,componderações ajustáveis desinapses eumlimitador fixo
23
Várias Camadas• Umarede neuralMultilayerperceptron:• Contém uma ou mais camadas escondidas
• Consiste basicamente:• 1camada deentrada• 1ou mais escondidas• 1camada desaída
• Osinal é propagado deuma camada para outra(forward) 24
Exemplo 2camadasescondidas
25
Camadas Escondidas• Cada camada temsua funcionalidade específica• Os neurônios dessas camadas detectamcaracterísticas presentes nos padrões que nãoeram detectadas por fora
• Comuma camada escodida é possívelrepresentar qualquer função contínua• Comduas é possível representar funçõescontínuas edescontínuas• Acamada funciona como uma caixa-preta(hidden)
26
Poder deRepresentação
27Comofica oOverFitting?
Aprendizado emRedes Neurais
28
Arquitetura (Hyperparameters)
• Definida ateste:• uma única camada• várias camadas• quantos neurônios em cada camada• interligação entreos neurônios nas váriascamadas,etc
• Depois disso,seescolhe oalgoritmo deaprendizagem (vai efetivamente diferenciar asredes neurais)
29
Aprendizado Supervisionado• Oalgoritmo ajusta oerro darede,etenta emuma novaiteração diminuir este erro:
• Oalgoritmo deaprendizagem Perceptron(regra Delta)• Ométodo domenor errorquadrado (LeastMeanSquare)• Oalgoritmo Backpropagation
30
OAlgoritmo Perceptron• Aoperação doperceptrondeRosenblatt(Rosenblatt,1960)é baseada nomodelo deneurônio deMc Culloch andPitts.
• Consiste em umcombinador linearseguido porumhardlimiter.• Asomaponderada dasentradas é aplicada aohardlimiter,que produz uma saída igual a+1sesua entrada forpositiva e-1sefornegativa.
31
Esquema
32
OAlgoritmo Perceptron• Em outras palavras,oneurônio deRosenblattusa aseguinte função detransferência ou função deativação:
33
OAlgoritmo Perceptron• Afunção deativação utilizada é chamada design (função sinal ).• Assim asaída doneurônio comafunção deativação signpode ser representada como
34
Perceptrons como classificadores
• Oobjetivo doperceptroné classificar entradas,ou em outras palavras classificar estímulosexternos x1,x2,...xn em uma deduas classesA1eA2.• Oespaço n- dimensionalé dividido por umhyperplano em duas regiões dedecisão.Ohyperplano é definido pela função linearmenteseparável
35
Superfície deDecisão• Paraocaso deduas entradas x1 andx2,afronteira dedecisãotoma aformadeuma linha reta mostrada em negrito:
36
Superfície deDecisão• Comtrês entradas ohyperplano pode ainda ser visualizadograficamente
• Oplano deseparação entreasclassesA1eA2é definido pelaequação
37
Mascomo operceptronaprende?• Realizando ajustes na ponderação,partindo deuma solução incial aleatória• Supondo que afunção declassificação seja:
sendo wi [-0.5,0.5]
OErro na iteração pé calculada como erro emrelação aclassificação 38
x1 .w1 +x2 .W2 - θ =0
ErroSe• Y(p)forasaída calculada• Yd(p)asaída correta (desired)
então:• e(p)=Yd(p)– Y(p)
onde pé aiteração (geração)• Seerro é positivo então precisamos incrementar asaída doperceptronY(p)
• Senegativo,decrementar39
Regra Delta• Assim,aseguinte regra deaprendizagem doperceptron ou regra Delta pode serestabelecida:
• onde αé ataxadeaprendizagem,umaconstante positiva menor doque 1.
40
wi(p+1)=wi(p)+α.xi(p).e(p)
Algoritmo
41
Algoritmo
42
Backpropagation eMLP
Introdução• Redes dePerceptrons• Resolvem apenas problemas lineares• Não existem muitos deles
• Solução• Redes demúltiplas camadas• Backpropagation
44
FeedforwardMLP• Rede NeuralFeedFoward Multicamadas• Umaou mais camadas escondidas• Sendo uma deentrada• Processar aentrada edistribuir osinal
• Umadesaída• Gerar umsaída
• Epelo menos uma intermediária45
Representação
46
Porquemais deuma camada?• Neurônios na(s)camada(s)escondida(s)detecta(m)ascaracterísticas;• os pesosdosneurônios representam ascaracterísticas escondidas nos padrões deentrada.
• Estas características são então usadas pelacamada desaída na determinação dopadrãodesaída.
47
Comoaprende?• Oalgoritmo mais popularé obackpropagation
• Oprocesso é omesmo:• Umconjunto deentrada é apresentado• É calculado asaída• Sehouver erro é realizado oajuste dospesospara diminuir oerro
48
Diferença• Comapenas umperceptron• Existe apenas 1conjunto depesos• Eapenas 1saída
• Em multicamadas• Existem vários pesosaplicados amesmaentrada• Evárias saídas 49
Avaliação deErro• Em uma rede neuralbackpropagation,oalgoritmo deaprendizagem temduas fases.1. umpadrão deentrada detreinamento é
apresentado acamada deentrada darede.
Arede então propaga (feedfowards)opadrão deentrada decamada acamada até opadrão desaída ser gerado pela camada desaída.
50
Avaliação deErro2. Seeste padrão é diferente dasaída desejada,
umerro é calculado eentão propagado devolta(backpropagated)através darede partindo dacamada desaída para acamada deentrada.
Os pesossão modificados amedida que oerro épropagado.
51
52
Rede Backpropagation• Comoqualquer outra rede neural,uma redebackpropagation é determinada por:• asconexões entreneurônios (aarquitetura darede),• afunção deativação utilizada pelos neurônios,e• oalgoritmo deaprendizagem (ou aleideaprendizagem )que especifica oprocedimentopara oajuste depesos.
53
Arquitetura daRede• Tipicamente,uma rede backpropagation é umarede multicamadas que temtrês ou quatrocamadas.
• Ascamadas são completamente conectadas (FullConnected(FC)):• isto é,cada neurônio em cada camada estáconectado acada outroneurônio na camadaadjacente.
54
Função deAtivação• Primeiro,ele computa somaponderada dasentradas.• Em seguida,asomaé passada através deumafunção deativação.• Função deativação para finsdidáticos sigmoid:
55
LeideAprendizagem• Considerarando uma rede detrês camadas
sendo i,jekreferem-seaos neurônios nascamadas deentrada,escondida edesaída,respectivamente.
Sinais deentrada,x1,x2,...,xn ,são propagadosatravés darede daesquerda para adireita,esinaisdeerros,e1,e2,...,el ,dadireita para aesquerda. 56
Propagação• Parapropagar sinais deerro:• começamos na camada desaída etrabalhamos nosentido devolta para acamada escondida.
• Osinal deerro na saída doneurônio kna iteração pédefinido por:
onde yd,k(p)é asaída desejada doneurônio knaiteração p.• Paracamada desaída! 57
Correção dospesos• Regra semelhante
• Aentrada não é mesma na camada y• Assim,nós usamos asaída doneurônio jnacamada escondida,yj,ao invés daentrada xi.
58
Atualização
• onde δk (p)é ogradiente deerro noneurônio kdacamada desaída na iteraçãop.
59
Gradiente doerro• Ogradiente deerro é determinado como aderivada dafunção deativação multiplicado peloerro noneurônio desaída.
• onde yk (p)é asaída doneurônio kna iteraçãop,eXk (p)é asomaponderada dasentradas doneurônio kna mesma iteração.
60
Paraafunção sigmoid• Ogradiente doerro aplicada afunção deativação sigmoid:
61
Pesonas camadas escondidas
onde δj (p)representa ogradiente deerro doneurônio jna camada escondida:
onde i é onúmero deneurônios na camada desaída; 62
Pesonas camadas escondidas
63
Algoritmo – Passo 1
64
Algoritmo – Passo 2(a)
65
Algoritmo - Passo 2(b)
66
Algoritmo – Passo 3(a)
67
Algoritmo- Passo 3(b)
68
Algoritmo – Passo 4
69
Exemplo - XOR
70
Passo 1:Inicialização• w13 =0.5• w14 =0.9• w23 =0.4• w24 =1.0• w35 =-1.2• w45 =1.1• θ3 =0.8• θ4 =-0.1• θ5 =0.3
71
Passo 2:Ativação• Cosidere asentradas x1 =x2 =1;neste caso asaída desejada é yd,5 =0.• Assaídas atuais dosneurônios 3e4na camadaescondida são calculados como:
72
Passo 2:Ativação• Assim asaída atual doneurônio 5na camada desaída pode ser determinado por
73
Erro saída• onde,oseguinte erro é obtido:e=yd,5 - y5 =0- 0.5097=-0.5097
74
Passo 3:Atualização dePesos• Paraatualizar os pesosdarede,oerro épropagado devolta dacamada desaída para acamada deentrada.
• Primeiro,calcula-seogradiente deerro para oneurônio 5na camada desaída:
75
Passo 3• Em seguida,determinam-seascorreções depesos(noexemplo,assume-seque ataxadeaprendizagem α=0.1):
76
Passo 3• Depois,calculam-seos gradientes deerro paraos neurônios 3e4na camada escondida:
77
Passo 3• Depois,determinam-seascorreções depesos:
78
Passo 3• Epor fim,atualizam-setodos os pesosdarede:
79
Critério deParada• Oprocesso detreinamento é repetido até que asomadoserros quadráticos seja menor queuma margem deerro pequena pré-estabelecida(e.g.,0.001).
80