Introducción a machine learning

MT3006 - Robótica 2

Dos caras de la misma moneda

Versus

¿Realidad?

Un poco de ambos

¿Dónde lo encontramos?

Algunas aplicaciones

sistemas de recomendación

procesamiento natural de lenguaje

medicina y bioquímica computacional

reconocimiento de imágenes y visión por computadora

Generación de contenido sintético

Generación de contenido sintético

¿Qué es entonces machine learning?

Partamos de un ejemplo simple

¿Cómo clasificar perros y gatos?

Ingeniería tradicional es top-down

\mathbf{x}
y
\mathbf{f}

principios fundamentales

matemática

física

química

electrónica

mecánica

etc.

Machine learning es bottom-up

\mathbf{x}
y
\mathbf{f}

el sistema consume data y aprende el modelo

data

Aprender se refiere a emplear un conjunto de ejemplos para inferir algo acerca del proceso subyacente

Tipos de machine learning

Data como punto de inicio

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

datos, observaciones o ejemplos

Data como punto de inicio

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(i)}=\begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_d \end{bmatrix}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

feature vector

vector de características

Ejemplo: clasificación

Ejemplo: clasificación

\mathbf{x}^{(1)}
\mathbf{x}^{(2)}
\mathbf{x}^{(3)}
\mathbf{x}^{(4)}
\mathbf{x}^{(15)}
\mathbf{x}^{(14)}
\cdots
\cdots

Ejemplo: clasificación

\mathbf{x}^{(1)}
\mathbf{x}^{(2)}
\mathbf{x}^{(3)}
\mathbf{x}^{(4)}
\mathbf{x}^{(15)}
\mathbf{x}^{(14)}
\cdots
\cdots

perro

gato

perro

perro

gato

gato

Ejemplo: regresión

precio ($k)

área

superficial \((m^3)\)

50

100

150

200

250

150

300

Ejemplo: regresión

precio ($k)

área

superficial \((m^3)\)

50

100

150

200

250

150

300

Ejemplo: regresión

precio ($k)

área

superficial \((m^3)\)

50

100

150

200

250

150

300

225

Ejemplo: regresión

precio ($k)

área

superficial \((m^3)\)

50

100

150

200

250

150

300

225

Estos son ejemplos de aprendizaje supervisado (supervised learning)

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

Supervised learning

datos junto con...

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

labels |

y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

etiquetas

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

training data

training set

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

objetivo:

explicación

+

predicción

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}
\mathbf{x}^{(13)}
¿y^{(13)}?

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

objetivo:

explicación

+

predicción

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}
\mathbf{x}^{(13)}
¿y^{(13)}?

Clasificación: \(\quad y\in\{1,2,...,m\}\)
Regresión:      \(\quad y \in \mathbb{R}\)

Ejemplo: clustering

Ejemplo: clustering

Ejemplo: diffusion and denoising

Ejemplo: diffusion and denoising

Estos son ejemplos de aprendizaje no supervisado (unsupervised learning) y/o autosupervisado

Unsupervised [self-supervised] learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

encontrar y/o comprender estructura o distribución

Unsupervised [self-supervised] learning

Ejemplo: robots jugando fútbol

Reinforcement learning

environment

policy

actor

action

state

reward

a_t
R_t
s_t

LeCun cake analogy

unsupervised

(self-supervised) learning

supervised learning

reinforcement learning

Más sobre supervised learning  partiendo de un ejemplo conocido

¿Modelo que prediga \(y_i\) para un \(x_i\) desconocido?

¿Modelo que prediga \(y_i\) para un \(x_i\) desconocido?

y=3.0403x+0

¿Modelo que prediga \(y_i\) para un \(x_i\) desconocido?

y=3.0403x+0

trivial, pero con esto ya entrenamos un modelo de machine learning

  • El modelo se encontró con data.
  • El modelo no sólo explica los ejemplos, sino que permite predicciones.
    • Machine learning \(\approx\) inferencia estadística.

¿Por qué?

  • El modelo se encontró con data.
  • El modelo no sólo explica los ejemplos, sino que permite predicciones.
    • Machine learning \(\approx\) inferencia estadística.

¿Por qué?

  • Esto, sin embargo, esconde sutilezas fundamentales.

Formalizando conceptos

Emplear regresión lineal implica resolver

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

¿Cómo se ve esto en el proceso?

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

hasta encontrar la mejor

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

hasta encontrar la mejor

¿Cómo?

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

encontrando la que minimice la discrepancia (pérdida) entre el modelo y los datos de entrenamiento

\cdots
\cdots
(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

encontrando la que minimice la discrepancia (pérdida) entre el modelo y los datos de entrenamiento

\cdots
\cdots

En general, se da una situación similar en todo problema de supervised learning

\(\Rightarrow\) optimización de pérdida

(loss optimization)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} L(\mathbf{W})

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} L(\mathbf{W})

parámetros del modelo (a encontrar)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} L(\mathbf{W})

función de pérdida (loss function)

función de costo o función objetivo (optimización)

Optimización de pérdida

sample loss

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} \dfrac{1}{n} \sum_{i=1}^{n} \ell\left(f(\mathbf{x}^{(i)},\mathbf{W}), y^{(i)}\right)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} \dfrac{1}{n} \sum_{i=1}^{n} \ell\left(f(\mathbf{x}^{(i)},\mathbf{W}), y^{(i)}\right)

hipótesis (\(f_1,f_2,...,f_K\) para el caso vectorial)

observaciones

etiquetas | labels (\(y_k^{(i)}\) con \(k=1,...,K\) para el caso vectorial)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} \dfrac{1}{n} \sum_{i=1}^{n} \ell\left(f(\mathbf{x}^{(i)},\mathbf{W}), y^{(i)}\right)

se emplea todo el training set

este caso particular se conoce como la empirical loss  (se efectúa una sumatoria desde \(1\) hasta \(K\) en el caso vectorial)

Optimización de pérdida

  • Si bien este setup es adecuado, requiere que seleccionemos la hipótesis (no nos da ninguna ventaja sobre la regresión "normal").
  • Sin embargo, esto pudiera potenciarse si existiese una hipótesis lo suficientemente versátil como para acoplarse a múltiples situaciones...

Un preámbulo histórico

Referencias

  1. S. Prince, Understanding Deep Learning, capítulos 1 y 2.

MT3006 - Lecture 5 (2024)

By Miguel Enrique Zea Arenales

MT3006 - Lecture 5 (2024)

  • 109