1 of 81

Perceptrón Multicapa

2 of 81

Redes neuronales

FEATURES

OUTPUT

PARÁMETROS

LABELS

3 of 81

Perceptron

Frank Rosenblatt

1957

4 of 81

Perceptron

Seymour Papert

Marvin Minsky

1969

5 of 81

Los perceptrones de una capa tienen problemas con etiquetas XOR

6 of 81

El libro no decía nada de perceptrones multicapas. Aún así fue usado para invertir menos en MLP

7 of 81

“It would seem that Perceptrons has much the same role as The Necronomicon — that is, often cited but never read.”

Minsky,1994

8 of 81

Otros problemas de perceptrones de 1 capa

  • La linealidad es una condición muy restrictiva
    • supone monotonía
  • Fallan ante señales muy ruidosas
  • La convergencia está muy estudiada e impone límites a la cantidad de información que puede comprimir

9 of 81

El invierno de la Inteligencia Artificial

10 of 81

Perceptrones Multicapa (ver. alpha)

11 of 81

o

x

h

12 of 81

h = W1x + b1

o = W2h + b2

13 of 81

h = W1x + b1

o = W2h + b2

T. afin

14 of 81

o = W2(W1x + b1 )+ b2

o = W2W1x + W2b1 + b2

o = W3x + c + b2

o = W3x + b3

h = W1x + b1

o = W2h + b2

15 of 81

o = W3x + b3

Volvimos a lo mismo pero con más cuentas

16 of 81

La composición de funciones lineales es lineal. Necesitamos algo más

17 of 81

Funciones de activación

18 of 81

y = W1x + b1

h = σ(y)

o = W2h + b2

19 of 81

Funciones de activación más comunes

  1. ReLU → rojo
  2. sigmoidea → azul
  3. tangente hiperbólica → verde
  4. PReLU → amarillo

https://www.desmos.com/calculator/plevozbz1o

20 of 81

Los 3 sabores de PReLU

  1. ReLU → a = 0
  2. “leaky” ReLU → a > 0
  3. PReLU → a es un parámetro.

En PReLU necesitamos la derivada parcial respecto de a.

aPReLU(x,a) = min(x,0)

21 of 81

Observaciones

  • Tanto PReLU como ReLU tienen la ventaja de que mantienen algo del gradiente. Eso ayuda a que nuestro modelo converja.
  • La sigmoidea tiene el defecto que no se va a 0 para x = 0. En algunos casos eso puede tener problemas

22 of 81

Convergencia y modelos no lineales

23 of 81

Modelo Lineal

Modelo No Lineal

24 of 81

Modelo Lineal

Modelo No Lineal

25 of 81

!?

Modelo Lineal

Modelo No Lineal

26 of 81

El problema de cómo elegir los parámetros iniciales es un problema abierto

27 of 81

MLP y Teoremas de aproximación universal

28 of 81

Los resultados son empíricos porque hay teoremas que nos aseguran condiciones suficientes para encontrar soluciones

29 of 81

Los teoremas existentes analizan qué ocurre al limitar número de capas, número de salidas, número de entradas, funciones de activación…

30 of 81

… en muchos casos los teoremas aseguran la existencia de soluciones óptimas.

31 of 81

Backward y Forward Propagation

“or There and Back Again”

32 of 81

33 of 81

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

34 of 81

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

W1 Loss(o)

b1 Loss(o)

a Loss(o)

W2 Loss(o)

b2 Loss(o)

35 of 81

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

W1 Loss

b1 Loss

a Loss

W2 Loss

b2 Loss

W1 y

b1 y

y h

a h

h o

W2 o

b2 o

o Loss

36 of 81

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

W1 Loss

b1 Loss

a Loss

W2 Loss

b2 Loss

W1 y

b1 y

y h

a h

h o

W2 o

b2 o

o Loss

37 of 81

Regla de la cadena

g[f(x)]

xg = fgxf

38 of 81

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

W1 Loss

b1 Loss

a Loss

W2 Loss

b2 Loss

W1 y

b1 y

y h

a h

h o

W2 o

b2 o

o Loss

39 of 81

W1 Loss = o Lossh oy hW1 y

b1 Loss = o Loss∙h oy hb1 y

a Loss = o Loss∙h oa h

W2 Loss = o Loss∙W2 o

b2 Loss = o Loss∙b2 o

W1 y

b1 y

y h

a h

h o

W2 o

b2 o

o Loss

40 of 81

W1 Loss = o Lossh oy hW1 y

b1 Loss = o Loss∙h oy hb1 y

a Loss = o Loss∙h oa h

W2 Loss = o Loss∙W2 o

b2 Loss = o Loss∙b2 o

41 of 81

W1 Loss = o Lossh oy hW1 y

b1 Loss = o Loss∙h oy hb1 y

a Loss = o Loss∙h oa h

W2 Loss = o Loss∙W2 o

b2 Loss = o Loss∙b2 o

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

42 of 81

W1 Loss = o Lossh oy hW1 y

b1 Loss = o Loss∙h oy hb1 y

a Loss = o Loss∙h oa h

W2 Loss = o Loss∙W2 o

b2 Loss = o Loss∙b2 o

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

43 of 81

W1 Loss = o Lossh oy hW1 y

b1 Loss = o Loss∙h oy hb1 y

a Loss = o Loss∙h oa h

W2 Loss = o Loss∙W2 o

b2 Loss = o Loss∙b2 o

y = W1x + b1

h = σ(y,a)

o = W2h + b2

Loss(o)

44 of 81

Cálculo de función de pérdida

Cálculo del gradiente

45 of 81

Regla de la cadena

g[f(x)]

xg = fgxf

Backward Propagation

46 of 81

Notebook

47 of 81

MLP desde 0

Antes de comenzar debemos generar algunas funciones que modularicen tareas que vamos a usar en cualquier proceso de entrenamiento. A saber:

  • Carga de los datos
  • Separación de los datos en lotes
  • Inicialización de parámetros
  • Definición del modelo
  • Definición de la función de pérdida
  • Definición del algoritmo de optimización

48 of 81

Inicialización de parámetros

49 of 81

Función de activación

Definimos modelo

50 of 81

Implementación concisa

51 of 81

Implementación concisa

BASE TODO MLP

52 of 81

Observaciones:

W1 Loss = o Lossh oy hW1 y

53 of 81

Observaciones:

W1 Loss = o Loss∙∂h o∙∂y h∙∂W1 y

54 of 81

Observaciones:

W1 Loss = o Loss∙∂h o∙∂y h∙∂W1 y

55 of 81

Observaciones:

W1 Loss = o Loss∙∂h o∙∂y h∙∂W1 y

W1 Loss

W1 y

y h

h o

o Loss

56 of 81

57 of 81

!?

W1 y

58 of 81

59 of 81

  • Las derivadas con respecto a tensores de rango arbitrario es un problema de cálculo tensorial.
  • El punto ∙ en la expresión es solo una manera de esconder cómo actúa la regla de la cadena cuando tenemos tensores de rango arbitrario.

Por lo general los frameworks se encargan de este problema por nosotros

W1 Loss= ∂o Loss∙∂h oy hW1 y

60 of 81

Álgebra tensorial

o cómo aprendí a dejar de preocuparme y amar las contracciones.

61 of 81

Observaciones:

62 of 81

Observaciones:

63 of 81

Observaciones:

gradiente del campo eléctrico

Birrefringencia

64 of 81

Observaciones:

65 of 81

W1 Loss(o)

W1 y

y h

h o

o Loss(o)

66 of 81

Observaciones:

Solución 1: PyTorch se encarga por mí.

Solución 2: Voy a estudiar cálculo tensorial.

Solución 3: ¿Qué es una contracción?

67 of 81

  • Producto interno
  • Producto de un vector por una matriz
  • Producto entre dos matrices
  • Traza de una matriz

CONTRACCIONES

Álgebra lineal

Álgebra tensorial

Cálculo tensorial

Multiplicación que mata 2 índices

68 of 81

  • Producto interno
    • vi, ui → k
  • Producto de un vector por una matriz
    • Aij, vi → ui
  • Producto entre dos matrices
    • Aij, Bjk → Cik
  • Traza de una matriz
    • Aii → k

69 of 81

  • Producto interno
    • i viui = k
  • Producto de un vector por una matriz
    • iAijvi = uj
  • Producto entre dos matrices
    • i AjiBik = Cjk
  • Traza de una matriz
    • iAii = k

70 of 81

W1 Loss = ∂o Loss∙∂h oy hW1 y

o Loss

W1 Loss

W1 y

h o

y h

2

1

2

2

3

71 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

o Loss

W1 Loss

W1 y

2

1

3

M

2

72 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

o Loss

W1 Loss

W1 y

2

1

3

M

2

73 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

o Loss

W1 Loss

W1 y

2

1

3

M

2

74 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

W1 Loss

W1 y

2

3

v

2

75 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

W1 Loss

W1 y

2

3

v

1

76 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

W1 Loss

W1 y

2

3

v

2

77 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

W1 Loss

2

K

2

78 of 81

W1 Loss = ∂o Loss∙∂h o∙∂y h∙∂W1 y

W1 Loss

2

K

2

79 of 81

MLP y Teoremas de aproximación universal. Ejemplos de papers

80 of 81

Limitando profundidad

  • Cybenko, G. Approximation by superpositions of a sigmoidal function. Math. Control Signal Systems 2, 303–314 (1989). https://doi.org/10.1007/BF02551274
  • Kurt Hornik, Approximation capabilities of multilayer feedforward networks, Neural Networks, Volume 4, Issue 2, 1991, Pages 251-257, ISSN 0893-6080, https://doi.org/10.1016/0893-6080(91)90009-T.
  • Pinkus, A. (1999). Approximation theory of the MLP model in neural networks. Acta Numerica, 8, 143-195. doi:10.1017/S0962492900002919

81 of 81

Limitando ancho

  • Lu, Zhou and Pu, Hongming and Wang, Feicheng and Hu, Zhiqiang and Wang, Liwei, Advances in Neural Information Processing Systems, 30, Curran Associates, Inc., The Expressive Power of Neural Networks: A View from the Width, https://proceedings.neurips.cc/paper/2017/file/32cbf687880eb1674a07bf717761dd3a-Paper.pdf , 2017
  • Approximating Continuous Functions by ReLU Nets of Minimal Width, Boris Hanin and Mark Sellke, 2018, arXiv:1710.11278 [stat.ML]
  • Minimum Width for Universal Approximation, Sejun Park and Chulhee Yun and Jaeho Lee and Jinwoo Shin, International Conference on Learning Representations, 2021, https://openreview.net/forum?id=O-XJwyoIF-k