n4.intro redes neuraisgeraldo/vc/n4.intro_redes_neurais.pdfcamadade entrada. •Primeiro, calcula-se...

Preview:

Citation preview

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