1 of 89

Redes Neuronales de 1 capa

2 of 89

Regresión lineal

3 of 89

Dataset

Dirección

Superficie

Antigüedad

Precio

Calle 123

130

2

7,5 M

Pasaje 456

75

10

3 M

Avenida 789

1000

25

39 M

...

...

...

...

Features (X)

Target (y)

Muestras (n filas)

4 of 89

Modelo lineal

Precio = w * superficie + b

precio

superficie

Precio = w1 * superficie + w2 * antigüedad + b

precio

superficie

antigüedad

5 of 89

Notación coeficientes

Inicialización al azar / con prior de pesos

W1 = 1.300 (valor del metro cuadrado)

W2 = 2.000 (valorización anual de la propiedad)

B = 30.000

75000 = 1.300 * 130 + 2.000 * 2 + 30.000

30000 = 1.300 * 75 + 2.000 * 10 + 30.000

Estos valores son estimaciones de precios (ŷ)

ŷ = w1x1 + … + wdxd + b

6 of 89

Notación matricial

130

2

75000 =

+ 30000

La magia del producto interno

ŷ = wTx + b

1.300 2.000

30000 =

+ 30000

75

10

1.300 2.000

7 of 89

Matriz de diseño

Ahora ŷ es un vector

Ahora X es una matriz

ŷ = Xw + b

=

1.300

2.000

130 2

75 10

+ 30000

75000

30000

broadcasting

8 of 89

Matriz de diseño

  • Para cualquier dataset tendremos una cantidad fija de datos, n, y una cantidad fija de características (features), d.
  • La matriz X de diseño siempre sea una matriz n×d.
  • El vector w de pesos siempre será d×1.
  • El vector ŷ de estimaciones siempre será n×1.

ŷ = Xw + b

9 of 89

Error

Error o residuo

Error cuadrático

75000 = 1.300 * 130 + 2.000 * 2 + 30.000

30000 = 1.300 * 75 + 2.000 * 10 + 30.000

VS

estimaciones

realidad

???? = (75.000 - 7.500.000)^2 / 2

???? = (30.000 - 3.000.000)^2 / 2

10 of 89

Función de pérdida

La variable objetivo es fija.

Las estimaciones dependen de los pesos (w,b).

L

Error cuadrático medio

L = ???? + ???? + ....

Son los errores de la diapo anterior

11 of 89

Descenso por gradiente

12 of 89

Lotes

Descenso por gradiente naive

X = features

Y = target

For epoca in epocas:

Y_hat = modelo(X)

L = mse(Y, Y_hat)

actualizar_pesos(L)

Descenso por gradiente estocástico

For época in épocas:

For x,y in random(X,Y):

y_hat = modelo(x)

l = mse(y, y_hat)

actualizar_pesos(l)

Descenso por gradiente estocástico usando mini lotes

For época in épocas:

For X_lote, Y_lote in lotes_random(X,Y):

Y_hat_lote = modelo(X_lote)

L_lote = mse(Y_lote, y_hat_lote)

actualizar_pesos(L_lote)

13 of 89

Proyección de curvas de valor constante

CURVAS DE NIVEL

14 of 89

Diagramas de conectividad

Modelo lineal

Perceptrón

y

y

Agrega función de activación para lograr un modelo no-lineal

15 of 89

Regresión lineal desde 0

16 of 89

Regresión lineal 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

17 of 89

Generación de los datos

18 of 89

Separación en lotes

19 of 89

Separación en lotes

20 of 89

Inicialización de los parámetros

Definición del modelo

21 of 89

Definición del algoritmo de optimización

Definición de la función de pérdida

22 of 89

Bucle de entrenamiento

23 of 89

IMPLEMENTACIÓN CONCISA

24 of 89

Generación de los datos

25 of 89

Separación en lotes

26 of 89

Inicialización de los parámetros

Definición del modelo

27 of 89

Definición del algoritmo de optimización

Definición de la función de pérdida

28 of 89

Bucle de entrenamiento

29 of 89

Dataset

Píxel 1

Píxel ...

Píxel 256

Clase

remera

vestido

imágenes etiquetadas

Píxel 1

Píxel ...

Píxel 256

remera

vestido

saco

1

0

0

0

1

0

Cada píxel es un atributo / columna

One-hot encoding

X

Y (ahora es una matriz)

30 of 89

Generalización del perceptrón

píxeles

remera

vestido

saco

Múltiples variables objetivo

o = x W + b (para una sola imagen, W es una matriz, o es un vector)

O = X W + b

La matriz O tendrá tantas filas como muestras en X y tantas columnas como clases en el dataset.

31 of 89

La capa densa es como tener varios modelos lineales en simultáneo.

Capa densa

32 of 89

Múltiples variables objetivo

  • Para cualquier dataset tendremos una cantidad fija de datos, n, una cantidad fija de características (features), d y una cantidad fija de clases, o.
  • La matriz X de diseño siempre sea una matriz n×d.
  • La matriz W de pesos siempre será d×o.
  • La matriz O de estimaciones siempre será n×o.
  • El vector b de sesgos siempre será 1×o.
    • broadcasting

O = XW + b

33 of 89

píxeles

número

número

número

Probabilidades

Queremos que las salidas estén entre 0 y 1

34 of 89

784

10

35 of 89

píxeles

número

número

número

Probabilidades

Queremos que las salidas estén entre 0 y 1

píxeles

remera

vestido

saco

?

probabilidad

36 of 89

píxeles

remera

vestido

saco

Probabilidades

?

Queremos que las salidas estén entre 0 y 1

37 of 89

píxeles

remera

vestido

saco

Probabilidades

ŷ = softmax(x W + b)

Softmax

Queremos que las salidas estén entre 0 y 1

La función SoftMax se aplica componente a componente

38 of 89

píxeles

remera

vestido

saco

Probabilidades

Softmax

Queremos que las salidas estén entre 0 y 1

Ŷ = softmax(X W + b)

Usando matriz de diseño X en vez de una sola muestra x

39 of 89

Función de pérdida

Entropía cruzada

Estimación

ŷ = [0,20 0,20 0,60]

Realidad

y = [0 0 1]

Error

L = - 0 log(0,20) - 0 log(0,20) - 1 log(0,60)

Remera, anulado

Vestido, anulado

Saco, sobrevive

VS

log ŷ = [log (0,20) log(0,20) log(0,60)]

40 of 89

Función de pérdida

Entropía cruzada

o = x W + b

41 of 89

ENTROPIA

42 of 89

Tenemos una bolsa con 4 pelotas:

Sacamos una al azar.

¿Cúal es el mínimo número de preguntas para adivinar el color?

“Hello class, I wanna play a game”

43 of 89

Número promedio de preguntas: 2

ESTRATEGIA

ÓPTIMA

¿Es gris?

¿Es blanca?

¿Es clara?

Probabilidad

0.25

0.25

0.25

0.25

Preguntas

2

2

2

2

44 of 89

Tenemos una bolsa con 8 pelotas:

Sacamos una al azar.

¿Cúal es el mínimo número de preguntas para adivinar el color?

ANOTHER

“Hello class, I wanna play a game”

45 of 89

ESTRATEGIA

ÓPTIMA

ANOTHER

Número promedio de preguntas: 1.75

¿Es negra?

¿Es gris clara?

¿Es blanca?

Probabilidad

0.5

0.25

0.125

0.125

Preguntas

1

2

3

3

46 of 89

Las preguntas que hemos hecho parecen las que menos información pueden darnos:�Sí o No.

En este sentido la cantidad de preguntas se parecen a una cantidad de información.

47 of 89

Además el número de preguntas se parece al logaritmo de base 2 de la probabilidad

48 of 89

ENTROPÍA DE SHANNON

49 of 89

¿Logaritmo de base 2?

¡Qué elección más fea!

Todos los logaritmos son el mismo logaritmo

50 of 89

¿Y la entropía cruzada?

¿Qué pasa si juego “a game” con estrategia óptima?

ANOTHER

51 of 89

Número promedio de preguntas: 2.25

Probabilidad

0.25

0.25

0.25

0.25

Preguntas

1

2

3

3

52 of 89

El número de preguntas promedio ha aumentado. La estrategia no es óptima.

53 of 89

Pudimos hacer esto porque conocemos a priori como es cada sistema (juego). En casos realistas no tenemos ambos sistemas y solo podemos tratar de que nuestro modelo describa lo mejor posible nuestros datos. Por esto usamos entropía cruzada.

54 of 89

De hecho, mínimos cuadrados también se puede pensar como maximizar entropía de una distribución gaussiana (de los errores)

55 of 89

Regresión Softmax desde 0

56 of 89

Regresión softmax 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

57 of 89

Carga de los datos

58 of 89

Definición del modelo

En este punto tenemos que implementar la función softmax.

Recordemos que la función softmax consiste en 3 pasos:

  1. exponenciamos cada término (usando exp);
  2. sumamos sobre cada fila (tenemos una fila por ejemplo en el lote) para obtener la constante de normalización para cada ejemplo;
  3. dividimos cada fila por su constante de normalización, asegurándonos de que el resultado sea 1.

59 of 89

Definición del modelo

Paso 1

exponencial

60 of 89

Definición del modelo

Paso 1

Paso 2

exponencial

suma por filas

61 of 89

Definición del modelo

Paso 3

división

broadcasting

62 of 89

Definición del modelo

O1

exp

O2

+

O3

÷

O4

63 of 89

Definición del modelo

O1

exp

O2

+

O3

÷

O4

64 of 89

Definición del modelo

O1

exp

O2

+

O3

÷

O4

65 of 89

Definición del modelo

66 of 89

Definición de la función de pérdida

En este punto tenemos que implementar la entropía cruzada donde para cualquier par de etiqueta y y predicción del modelo ŷ sobre q clases, la función de pérdida l es

67 of 89

Definición de la función de pérdida

68 of 89

IMPLEMENTACIÓN CONCISA

69 of 89

70 of 89

71 of 89

Sobre SoftMax

SoftMax usa exponenciales, lo que es un problema para puntos flotantes:

Soluciones:

  • las exponenciales casi siempre aparecen en un logaritmo, es preferible usar el logaritmo de la salida de SoftMax (más estable).�Esto se llama LogSumExp Trick

72 of 89

Sobre SoftMax

SoftMax usa exponenciales, lo que es un problema para puntos flotantes:

Soluciones:

  • las exponenciales casi siempre aparecen en un logaritmo, es preferible usar el logaritmo de la salida de SoftMax (más estable).�Esto se llama LogSumExp Trick
  • El problema lo tenemos con los máximos, afortunadamente, podemos restar el máximo a todas las entradas antes de SoftMax sin perder las probabilidades

73 of 89

Definición del modelo

O1

exp

O2

+

O3

÷

O4

74 of 89

Sobre SoftMax

SoftMax usa exponenciales, lo que es un problema para puntos flotantes:

Soluciones:

  • las exponenciales casi siempre aparecen en un logaritmo, es preferible usar el logaritmo de la salida de SoftMax (más estable).�Esto se llama LogSumExp Trick
  • El problema lo tenemos con los máximos, afortunadamente, podemos restar el máximo a todas las entradas antes de SoftMax sin perder las probabilidades

75 of 89

Relación entre H y S

H (entropía de la información)

  1. Mientras más probable un evento, menos información nos da.
  2. La información no puede ser negativa
  3. Los procesos que ocurren siempre tienen información nula
  4. Dos eventos independientes tienen como cantidad de información, la suma de la información de cada uno

S (entropía termodinámica)

  1. Mientras más microestados tiene un sistema, mayor es su entropía
  2. La entropía no puede ser negativa
  3. Si un sistema tiene un único estado, su entropía es nula
  4. La entropía de dos sistemas aislados y en equilibrio es igual a la suma de sus entropías.

76 of 89

H (entropía de la información)

  • Mientras más probable un evento, menos información nos da.
  • La información no puede ser negativa
  • Los procesos que ocurren siempre tienen información nula
  • Dos eventos independientes tienen como cantidad de información, la suma de la información de cada uno

H (entropía de la información)

  • La entropía es monótonamente decreciente
  • La entropía es una función definida positiva
  • La entropía tiene una raíz para probabilidades igual a 1
  • Dos eventos independientes tienen como cantidad de información, la suma de la información de cada uno

i pilog(pi)

77 of 89

H (entropía de la información)

  • Mientras más probable un evento, menos información nos da.

H (entropía de la información)

  • La entropía es monótonamente decreciente

i pilog(pi)

pi[-Σi pilog(pi)] = -log(pi) - 1

pi ∈ [0,1] ⇒ -log(pi) ≥ 0

78 of 89

H (entropía de la información)

  • Mientras más probable un evento, menos información nos da.
  • La información no puede ser negativa

H (entropía de la información)

  • La entropía es monótonamente decreciente
  • La entropía es una función definida positiva

i pilog(pi)

pi ∈ [0,1] ⇒ -log(pi) ≥ 0

-log(pi) ≥ 0 ⇒ -pilog(pi) ≥ 0

79 of 89

H (entropía de la información)

  • Mientras más probable un evento, menos información nos da.
  • La información no puede ser negativa
  • Los procesos que ocurren siempre tienen información nula

H (entropía de la información)

  • La entropía es monótonamente decreciente
  • La entropía es una función definida positiva
  • La entropía tiene una raíz para probabilidades igual a 1

i pilog(pi)

pi = 1 ⇒ -pilog(pi) = 0

80 of 89

H (entropía de la información)

  • Mientras más probable un evento, menos información nos da.
  • La información no puede ser negativa
  • Los procesos que ocurren siempre tienen información nula
  • Dos eventos independientes tienen como cantidad de información, la suma de la información de cada uno

H (entropía de la información)

  • La entropía es monótonamente decreciente
  • La entropía es una función definida positiva
  • La entropía tiene una raíz para probabilidades igual a 1
  • Dos eventos independientes tienen como cantidad de información, la suma de la información de cada uno

i pilog(pi)

81 of 89

Dos eventos independientes tienen como cantidad de información, la suma de la información de cada uno

Dos eventos independientes tienen como cantidad de información, la suma de la información de cada uno

i pilog(pi)

P[p(x)&q(x)] = p(x)×q(x)

H[p(x)&q(x)] = H(p(x))+H(q(x))

log(pi)

82 of 89

Notación matricial

75000 =

1.300

2.000

130 2 + 30000

30000 =

1.300

2.000

75 10 + 30000

La magia del producto interno

ŷ = wTx + b

83 of 89

Notación matricial

75000 =

1.300

2.000

130 2 + 30000

30000 =

1.300

2.000

75 10 + 30000

La magia del producto interno

ŷ = wTx + b

CONTRACCIONES

84 of 89

Matriz de diseño

Ahora ŷ es un vector

Ahora X es una matriz

ŷ = Xw + b

=

1.300

2.000

130 2

75 10

+ 30000

75000

30000

broadcasting

La magia del producto de una matriz por un vector

85 of 89

Matriz de diseño

Ahora ŷ es un vector

Ahora X es una matriz

ŷ = Xw + b

=

1.300

2.000

130 2

75 10

+ 30000

75000

30000

broadcasting

La magia de las CONTRACCIONES

86 of 89

Generalización del perceptrón

píxeles

remera

vestido

saco

Múltiples variables objetivo

O = X W + b

La matriz O tendrá tantas filas como muestras en X y tantas columnas como clases en el dataset.

La magia del producto de matrices

87 of 89

Generalización del perceptrón

píxeles

remera

vestido

saco

Múltiples variables objetivo

O = X W + b

La matriz O tendrá tantas filas como muestras en X y tantas columnas como clases en el dataset.

La magia de las CONTRACCIONES

88 of 89

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

CONTRACCIONES

Algebra lineal

Algebra tensorial

Calculo tensorial

89 of 89

  • Producto interno de matrices
  • Producto vectorial (*)

  • Determinante de una matriz (*)

CONTRACCIONES

(aplicacadas 2 veces)

Algebra lineal

Algebra tensorial

Calculo tensorial

(*) Terms and conditions may apply

CONTRACCIONES

(muchas veces)