59
Redes neurais artificiais Jones Granatyr

Redes neurais artificiais - IA Expert Academy

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Redes neurais artificiais - IA Expert Academy

Redes neurais artificiaisJones Granatyr

Page 2: Redes neurais artificiais - IA Expert Academy

Neurônio artificial

1

7

5

∑ f

0.8

0.1

0

Entradas

Pesos

Função soma

Stepfunction

!"#$ = &'()

*

+, ∗ .,

soma =(1*0.8)+(7*0.1)+(5*0)

Step function (função Degrau)

Maior do que zero = 1Caso contrário = 0

soma =0.8+0.7+0soma =1.5

Saída = 1

Page 3: Redes neurais artificiais - IA Expert Academy

Neurônio artificial

-1

7

5

∑ f

0.8

0.1

0

Entradas

Pesos

Função soma

Stepfunction

!"#$ = &'()

*

+, ∗ .,

soma =(-1*0.8)+(7*0.1)+(5*0)soma =-0.8+0.7+0soma =-0.1

Saída = 0

Page 4: Redes neurais artificiais - IA Expert Academy

Operador E

x1 x2 Classe

0 0 0

0 1 0

1 0 0

1 1 1

Page 5: Redes neurais artificiais - IA Expert Academy

0

0

∑ f

0

0

x1

x2

x1 x2 Classe

0 0 0

0 1 0

1 0 0

1 1 1

0

1

∑ f

0

0

x1

x2

1

0

∑ f

0

0

x1

x2

1

1

∑ f

0

0

x1

x2

0 * 0 + 0 * 0 = 0

0 * 0 + 1 * 0 = 0

1 * 0 + 0 * 0 = 0

1 * 0 + 1 * 0 = 0

0

0

0

0

0 – 0 = 00 – 0 = 00 – 0 = 01 – 0 = 1

peso(n + 1) = peso(n) + (taxaAprendizagem* entrada * erro)peso(n + 1) = 0 + (0.1 * 1 * 1) = 0.1

Page 6: Redes neurais artificiais - IA Expert Academy

0

0

∑ f

0.5

0.5

x1

x2

x1 x2 Classe

0 0 0

0 1 0

1 0 0

1 1 1

0

1

∑ f

0.5

0.5

x1

x2

1

0

∑ f

0.5

0.5

x1

x2

1

1

∑ f

0.5

0.5

x1

x2

0 * 0.5 + 0 * 0.5 = 0

0 * 0.5 + 1 * 0.5 = 0.5

1 * 0.5 + 0 * 0.5 = 0.5

1 * 0.5 + 1 * 0.5 = 10

0

0

1

0 – 0 = 00 – 0 = 00 – 0 = 01 – 1 = 0

Page 7: Redes neurais artificiais - IA Expert Academy

0

0 0

11

10

0x

y

1

0 1

01

1

0

0x

y

1

0 1

11

1

0

0x

y

Page 8: Redes neurais artificiais - IA Expert Academy

Redes multicamada (multilayer perceptron)

∑ f

Entradas

Pesos

Função soma

Funçãoativação

Camada oculta (escondida)

∑ f

∑ f

∑ f

x1

x2

Pesos

Page 9: Redes neurais artificiais - IA Expert Academy

Sigmoid (função sigmoide)

! = 11+ %&'

Valores entre 0 e 1

Se X for alto o valor será aproximadamente 1Se X for pequeno o valor será aproximadamente 0Não retorna valores negativos

Page 10: Redes neurais artificiais - IA Expert Academy

Operador XOR

x1 x2 Classe

0 0 0

0 1 1

1 0 1

1 1 0

Page 11: Redes neurais artificiais - IA Expert Academy

Cálculos camada entrada para camada oculta

Page 12: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

0

-0.424

-0.740

-0.961

0.358

-0.577

-0.469

-0.017

-0.893

0.148

!"#$ = &'()

*

+, ∗ .,

0 * (-0.424) + 0 * 0.358 = 0

0 * (-0.740) + 0 * (-0.577) = 0

0 * (-0.961) + 0 * (-0.469) = 0

Soma = 0

Soma = 0

Soma = 0

/ = 11 + 234Ativação = 0.5

Ativação = 0.5

Ativação = 0.5

0.5

0.5

0.5

Page 13: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

1

-0.424

-0.740

-0.961

0.358

-0.577

-0.469

-0.017

-0.893

0.148

0 * (-0.424) + 1 * 0.358 = 0.358

0 * (-0.740) + 1 * (-0.577) = -0.577

0 * (-0.961) + 1 * (-0.469) = -0.469

Soma = 0.358

Soma = -0.577

Soma = -0.469

Ativação = 0.589

Ativação = 0.360

Ativação = 0.385

0.589

0.360

0.385

Page 14: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

0

-0.424

-0.740

-0.961

0.358

-0.577

-0.469

-0.017

-0.893

0.148

1 * (-0.424) + 0 * 0.358 = -0.424

1 * (-0.740) + 0 * (-0.577) = -0.740

1 * (-0.961) + 0 * (-0.469) = -0.961

Soma = -0.424

Soma = -0.740

Soma = -0.961

Ativação = 0.396

Ativação = 0.323

Ativação = 0.277

0.396

0.323

0.277

Page 15: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

1

-0.424

-0.740

-0.961

0.358

-0.577

-0.469

-0.017

-0.893

0.148

1 * (-0.424) + 1 * 0.358 = -0.066

1 * (-0.740) + 1 * (-0.577) = -1.317

1 * (-0.961) + 1 * (-0.469) = -1.430

Soma = -0.066

Soma = -1.317

Soma = -1.430

Ativação = 0.484

Ativação = 0.211

Ativação = 0.193

0.484

0.211

0.193

Page 16: Redes neurais artificiais - IA Expert Academy

Cálculos camada oculta para camada de saída

Page 17: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

0

-0.017

-0.893

0.148

0.5 * (-0.017) + 0.5 * (-0.893) + 0.5 * 0.148 = -0.381

0.5

0.5

0.5

!"#$ = &'()

*

+, ∗ ., / = 11 + 234

Soma = -0.381Ativação = 0.406

0.406

Page 18: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

1

-0.017

-0.893

0.148

0.589 * (-0.017) + 0.360 * (-0.893) + 0.385 * 0.148 = -0.274

0.589

0.360

0.385

Soma = -0.274Ativação = 0.432

0.432

Page 19: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

0

-0.017

-0.893

0.148

0.395 * (-0.017) + 0.323 * (-0.893) + 0.277 * 0.148 = -0.254

0.395

0.323

0.277

Soma = -0.254Ativação = 0.437

0.437

Page 20: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

1

-0.017

-0.893

0.148

0.483 * (-0.017) + 0.211 * (-0.893) + 0.193 * 0.148 = -0.168

0.483

0.211

0.193

Soma = -0.168Ativação = 0.458

0.458

Page 21: Redes neurais artificiais - IA Expert Academy

Erro

• Algoritmo mais simples• erro = respostaCorreta – respostaCalculada

x1 x2 Classe Calculado Erro

0 0 0 0.406 -0.406

0 1 1 0.432 0.568

1 0 1 0.437 0.563

1 1 0 0.458 -0.458

Média absoluta = 0.49

Page 22: Redes neurais artificiais - IA Expert Academy

Gradiente

min C(w1, w2 ... wn)Calcular a derivada parcial paramover para a direção do gradiente

Page 23: Redes neurais artificiais - IA Expert Academy

w

erro

Gradiente

• Encontrar a combinação de pesos que o erro é o menor possível• Gradiente é calculado para

saber quanto ajustar ospesos

Mínimo local

Mínimo global

Calcula o declive da curvacom derivadas parciais

Page 24: Redes neurais artificiais - IA Expert Academy

Gradiente (derivada)

! = 11+ %&'

( = y * (1 – y)

Page 25: Redes neurais artificiais - IA Expert Academy

Cálculo do parâmetro Delta

Função ativação

Derivada da função

Delta

Gradiente

w

erro

Page 26: Redes neurais artificiais - IA Expert Academy

Delta camada saída

Page 27: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

0

-0.017

-0.893

0.148

0.5

0.5

0.5

Soma = -0.381Ativação = 0.406

0.406

!"#$%&%í(% = *++, ∗ !"+./%(%&.01,.("

Erro = 0 –0.406 = -0.406Derivada ativação (sigmoide) = 0.241

DeltaSaída= -0.406 * 0.241 = -0.098

Page 28: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

1

-0.017

-0.893

0.148

0.589

0.360

0.385

Soma = -0.274Ativação = 0.432

0.432

!"#$%&%í(% = *++, ∗ !"+./%(%&.01,.("

Erro = 1 –0.432 = 0.568Derivada ativação (sigmoide) = 0.245

DeltaSaída= 0.568 * 0.245 = 0.139

Page 29: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

0

-0.017

-0.893

0.148

0.395

0.323

0.277

Soma = -0.254Ativação = 0.437

0.437

!"#$%&%í(% = *++, ∗ !"+./%(%&.01,.("

Erro = 1 –0.437 = 0.563Derivada ativação (sigmoide) = 0.246

DeltaSaída= 0.563 * 0.246 = 0.139

Page 30: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

1

-0.017

-0.893

0.148

0.483

0.211

0.193

Soma = -0.168Ativação = 0.458

0.458

!"#$%&%í(% = *++, ∗ !"+./%(%&.01,.("

Erro = 0 –0.458 = -0.458Derivada ativação (sigmoide) = 0.248

DeltaSaída= -0.458 * 0.248 = -0.114

Page 31: Redes neurais artificiais - IA Expert Academy

Delta camada escondida

Page 32: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

0

-0.017

-0.893

0.148

0.5

0.5

0.5

!"#$%&'()*+,+% = !".,/%+%0,12),+" ∗ 4"') ∗ !"#$%0%í+%

DeltaSaída= -0.098

Soma = 0

Soma = 0

Soma = 0

Derivada = 0.25

Derivada = 0.25

Derivada = 0.25

0.25 * (-0.017) * (-0.098) = 0.000

0.25 * (-0.893) * (-0.098) = 0.022

0.25 * 0.148 * (-0.098) = -0.004

Page 33: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

0

1

-0.017

-0.893

0.148

0.589

0.360

0.385

!"#$%&'()*+,+% = !".,/%+%0,12),+" ∗ 4"') ∗ !"#$%0%í+%

DeltaSaída= 0.139

Soma = 0.358

Soma = -0.577

Soma = -0.469

Derivada = 0.242

Derivada = 0.230

Derivada = 0.236

0.242 * (-0.017) * 0.139 = -0.001

0.230 * (-0.893) * 0.139 = -0.029

0.236 * 0.148 * 0.139 = 0.005

Page 34: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

0

-0.017

-0.893

0.148

0.396

0.323

0.277

!"#$%&'()*+,+% = !".,/%+%0,12),+" ∗ 4"') ∗ !"#$%0%í+%

DeltaSaída= 0.139

Soma = -0.424

Soma = -0.740

Soma = -0.961

Derivada = 0.239

Derivada = 0.219

Derivada = 0.200

0.239 * (-0.017) * 0.139 = -0.001

0.219 * (-0.893) * 0.139 = -0.027

0.200 * 0.148 * 0.139 = 0.004

Page 35: Redes neurais artificiais - IA Expert Academy

x1 x2 Classe0 0 0

0 1 1

1 0 1

1 1 0

1

1

-0.017

-0.893

0.148

0.484

0.211

0.193

!"#$%&'()*+,+% = !".,/%+%0,12),+" ∗ 4"') ∗ !"#$%0%í+%

DeltaSaída= -0.114

Soma = -0.066

Soma = -1.317

Soma = -1.430

Derivada = 0.250

Derivada = 0.167

Derivada = 0.156

0.250 * (-0.017) * (-0.114) = 0.000

0.167 * (-0.893) * (-0.114) = 0.017

0.156 * 0.148 * (-0.114) = -0.003

Page 36: Redes neurais artificiais - IA Expert Academy

!"#$% + 1 = !"#$% ∗ *$*"%+$ + ("%+-./. ∗ /"0+. ∗ +.1. /" .!-"%/23.4"*)

Page 37: Redes neurais artificiais - IA Expert Academy

Ajuste dos pesos da camada oculta para a camada de saída

Page 38: Redes neurais artificiais - IA Expert Academy

0

0

0.5

DeltaSaída = -0.098

0

1

0.589

DeltaSaída = 0.139

1

0

0.396

DeltaSaída = 0.139

1

1

DeltaSaída = -0.114

0.484

0.5 * (-0.098) + 0.589 * 0.139 + 0.396 * 0.139 + 0.484 * (-0.114) = 0.032

!"#$% + 1 = !"#$% ∗*$*"%+$ +(-./0121 ∗2-3/1 ∗+4546"4!7"%6894:"*)

Page 39: Redes neurais artificiais - IA Expert Academy

0

0

0.5 DeltaSaída = -0.098

0

1

0.360 DeltaSaída = 0.139

1

0

0.323 DeltaSaída = 0.139

1

1

DeltaSaída = -0.1140.211

0.5 * (-0.098) + 0.360 * 0.139 + 0.323 * 0.139 + 0.211 * (-0.114) = 0.022

!"#$% + 1 = !"#$% ∗*$*"%+$ +(-./0121 ∗2-3/1 ∗+4546"4!7"%6894:"*)

Page 40: Redes neurais artificiais - IA Expert Academy

0

0

0.5

DeltaSaída = -0.098

0

1

0.385

DeltaSaída = 0.139

1

0

0.277

DeltaSaída = 0.139

1

1

DeltaSaída = -0.114

0.193

0.5 * (-0.098) + 0.385 * 0.139 + 0.277 * 0.139 + 0.193 * (-0.114) = 0.021

!"#$% + 1 = !"#$% ∗*$*"%+$ +(-./0121 ∗2-3/1 ∗+4546"4!7"%6894:"*)

Page 41: Redes neurais artificiais - IA Expert Academy

!"#$% +1 = )"#$% ∗+$+"%,$ +("%,./0/ ∗ 0"1,/ ∗ ,/2/ 0" /)."%034/5"+)

Taxa de aprendizagem = 0.3Momento = 1Entrada x delta0.0320.0220.021

-0.017

-0.893

0.148

(-0.017 * 1) + 0.032 * 0.3 = -0.007

(-0.893 * 1) + 0.022 * 0.3 = -0.886

(0.148 * 1) + 0.021 * 0.3 = 0.154

-0.007

-0.886

0.154

Page 42: Redes neurais artificiais - IA Expert Academy

Ajuste dos pesos da camada de entrada para a camada oculta

Page 43: Redes neurais artificiais - IA Expert Academy

0

0

Delta = 0.000

0

1

Delta = -0.001

1

0

Delta = -0.001

1

1

Delta = 0.000

0 * 0.000 + 0 * (-0.001) + 1 * (-0.001) + 1 * 0.000 = -0.000

0 * 0.000 + 1 * (-0.001) + 0 * (-0.001) + 1 * 0.000 = -0.000

Arredondado!

!"#$% + 1 = !"#$% ∗*$*"%+$ +(-./0121 ∗2-3/1 ∗+4546"4!7"%6894:"*)

Page 44: Redes neurais artificiais - IA Expert Academy

0

0

Delta = 0.022

0

1

Delta = -0.029

1

0

Delta = -0.027

1

1

Delta = 0.017

0 * 0.022 + 0 * (-0.029) + 1 * (-0.027) + 1 * 0.017 = -0.010

0 * 0.022 + 1 * (-0.029) + 0 * (-0.027) + 1 * 0.017 = -0.012

!"#$% + 1 = !"#$% ∗*$*"%+$ +(-./0121 ∗2-3/1 ∗+4546"4!7"%6894:"*)

Page 45: Redes neurais artificiais - IA Expert Academy

0

0

Delta = -0.004

0

1

Delta = 0.005

1

0

Delta = 0.004

1

1

Delta = -0.003

0 * (-0.004) + 0 * 0.005 + 1 * 0.004 + 1 * (-0.003) = 0.001

0 * (-0.004) + 1 * 0.005 + 0 * 0.004 + 1 * (-0.003) = 0.002

!"#$% + 1 = !"#$% ∗*$*"%+$ +(-./0121 ∗2-3/1 ∗+4546"4!7"%6894:"*)

Page 46: Redes neurais artificiais - IA Expert Academy

!"#$% +1 = )"#$% ∗+$+"%,$ +("%,./0/ ∗ 0"1,/ ∗ ,/2/ 0" /)."%034/5"+)

Taxa de aprendizagem = 0.3Momento = 1Entrada x delta-0.000 -0.010 0.001-0.000 -0.012 0.002

(-0.424 * 1) + (-0.000) * 0.3 = -0.424

-0.424

-0.740

-0.961

0.358

-0.577

-0.469(0.358 * 1) + (-0.000) * 0.3 = 0.358

(-0.740 * 1) + (-0.010) * 0.3 = -0.743(-0.577 * 1) + (-0.012) * 0.3 = -0.581

(-0.961 * 1) + 0.001 * 0.3 = -0.961(-0.469 * 1) + 0.002 * 0.3 = -0.468

-0.424

-0.743

-0.961

0.358

-0.581

-0.468

Page 47: Redes neurais artificiais - IA Expert Academy

0

1

-0.424

-0.740

-0.961

0.358

-0.577

-0.469

-0.017

-0.893

0.148

1 -0.851

0.145

0.985

1

-0.541

Bias

Valores diferentes mesmo se todas as entradas forem zero

Muda a saída com a unidade debias

Page 48: Redes neurais artificiais - IA Expert Academy

Erro

• Algoritmo mais simples• erro = respostaCorreta – respostaCalculada

x1 x2 Classe Calculado Erro

0 0 0 0.406 -0.406

0 1 1 0.432 0.568

1 0 1 0.437 0.563

1 1 0 0.458 -0.458

Page 49: Redes neurais artificiais - IA Expert Academy

Mean square error (MSE) e Root mean squareerror (RMSE)

x1 x2 Classe Calculado Erro

0 0 0 0.406 (0 – 0.406)2 = 0.164

0 1 1 0.432 (1 – 0.432)2 = 0.322

1 0 1 0.437 (1 – 0.437)2 = 0.316

1 1 0 0.458 (0 - 0.458)2 = 0.209

Soma = 1.011

MSE = 1.011 / 4 = 0.252RMSE = 0.501

Page 50: Redes neurais artificiais - IA Expert Academy

História do crédito

Dívida Garantias Renda anual

Risco

3 1 1 1 1 0 02 1 1 2 1 0 02 2 1 2 0 1 02 2 1 3 1 0 02 2 1 3 0 0 12 2 2 3 0 0 13 2 1 1 1 0 03 2 2 3 0 1 01 2 1 3 0 0 11 1 2 3 0 0 11 1 1 1 1 0 01 1 1 2 0 1 01 1 1 3 0 0 13 1 1 2 1 0 0

Calcula o erro para todos os registros e atualiza os pesos

Batch gradient descent

História do crédito

Dívida Garantias Renda anual

Risco

3 1 1 1 1 0 02 1 1 2 1 0 02 2 1 2 0 1 02 2 1 3 1 0 02 2 1 3 0 0 12 2 2 3 0 0 13 2 1 1 1 0 03 2 2 3 0 1 01 2 1 3 0 0 11 1 2 3 0 0 11 1 1 1 1 0 01 1 1 2 0 1 01 1 1 3 0 0 13 1 1 2 1 0 0

Calcula o erro para cada registro e atualiza os pesos

Stochastic gradient descent

Page 51: Redes neurais artificiais - IA Expert Academy

Gradient descent

• Stochastic• Ajuda a prevenir mínimos locais (superfícies não convexas)• Mais rápido (não precisa carregar todos os dados em memória)

• Mini batch gradient descent• Escolhe um número de registros para rodar e atualizar os pesos

Page 52: Redes neurais artificiais - IA Expert Academy

Parâmetros

• Learning rate (taxa de aprendizagem)• Batch size (tamanho do lote)• Epochs (épocas)

Page 53: Redes neurais artificiais - IA Expert Academy

Step (função degrau)

Valor 0 ou 1

Page 54: Redes neurais artificiais - IA Expert Academy

Sigmoid (função sigmoide)

! = 11+ %&'

Valores entre 0 e 1

Page 55: Redes neurais artificiais - IA Expert Academy

Hyperbolic tanget (função tangente hiperbólica)

Y = "#$ "%#"#& "%#

Valores entre -1 e 1

Page 56: Redes neurais artificiais - IA Expert Academy

ReLU (rectified linear units)

Y =max(0, x)

Valores >= 0 (sem valor máximo)

Page 57: Redes neurais artificiais - IA Expert Academy

Softmax

Y = "($)∑ "($)

Fonte: https://deepnotes.io/category/cnn-series

Page 58: Redes neurais artificiais - IA Expert Academy

Linear

Page 59: Redes neurais artificiais - IA Expert Academy

Conclusão