Breve introducción a Machine Learning
Aitor Almeida
aitor.almeida@deusto.esSin mirar a las siguientes transparencias, responded a
estas preguntas:
- ¿ Qué es la inteligencia artificial? ¿ y el machine learning?
- ¿ Podéis pensar una tarea o problema que sea de IA pero
no de machine learning? ¿ y al reves?
(en grupos, 10 mins)
¿Qué es machine learning?
- Un algoritmo de machine learning es un algoritmo capaz de aprender
de los datos.
- Una definición más formal (Mitchell, 1997):
"A computer program is said to learn from experience E with respect to
some class of tasks T and performance measure P, if its performance at
tasks in T, as measured by P , improves with experience E."
Conceptos de Machine Learning
-19 00 101
0101 001 -.
+
Artificial Intelligence
2000€
+
Machine Learning
Deep Learning
-
Narrow AI vs General AI
Narrow Al
VS
General Al
O
1
Narrow Al is only able to carry out
one specific trained task
Must be programmed by a human to
do a specific task and does not evolve
past what is programmed
1
2
General Al is flexible and able to
execute a multitude of tasks
Can be programmed to contunially
learn and teach itself
Ejemplos de Machine Learning
¿Podéis darme algunos ejemplos de machine
learning?
¿Algo que uséis todos los días?
La tarea, T en Machine Learning
- El aprendizaje automático nos permite resolver tareas que son
demasiado complicadas de afrontar con programas desarrollados de
manera tradicional y diseñados por humanos:
- El proceso de aprendizaje en si no es la tarea.
- La tarea es el problema que se va a resolver mediante el aprendizaje > El
aprendizaje es el mecanismo por el que se obtiene la capacidad de afrontar
la tarea.
- Por ejemplo, podemos escribir un programa para que un robot ande, o
podemos escribir un algoritmo de ML para que sea el propio robot quien
aprenda a hacerlo.
VS
Descripción de tareas de ML
- Las tareas de ML se describen de manera habitual en términos de
como el sistema de ML procesa cada ejemplo (example).
- Un ejemplo es un grupo de características (features) que han sido
medidas cuantitativamente para un objecto o evento que queremos
que nuestro sistema de ML procese.
. Normalmente representamos el ejemplo como un vector x E IRn
donde cada entrada x; del vector es una característica
- Por ejemplo, las características de una imagen son los pixeles de la imagen.
- Hay muchas posibles tareas en ML, vamos a ver algunas de las más
comunes.
Clasificación
- En esta tarea, el programa debe identificar a que categoría j
pertenece un input.
- Para resolver esta tarea, el algoritmo de aprendizaje crea
habitualmente una función: f: IR™ -> {1, ... , k}
. Cuando y=f(x) el modelo asigna al input descrito por el vector x una categoría
identificada por el código numérico y.
. Hay otras variaciones sobre la tarea de clasificación. Por ejemplo,
cuando la función f proporciona una distribución de probabilidad
respecto a las clases (esto es lo que sucede cuando usamos la función
softmax como activación de la salida en nuestros modelos de Deep
Learning)
¿Qué ejemplos se os ocurren?
Ejemplos de Clasificación
Classification
Classification
+ Localization
Object Detection
CAT
CAT
CAT, DOG, DUCK
Clasificación con inputs incompletos
- La tarea de clasificación puede ser más complicada todavía.
- Esto sucede cuando no está garantizado que todos los ejemplos de
entrenamiento vayan a tener todas las features.
- Cuando algunos inputs pueden faltar, en vez de proporcionar una
única función de clasificación, el algoritmo tiene que aprender un ser
de funciones.
- Cada función corresponde a clasificar x con diferentes subsets de inputs.
¿Qué ejemplos se os ocurren?
Regresión
- El programa tiene como objetivo predecir un valor numérico a partir
de cierta entrada.
- f: R" > R
- Este tipo de tarea es similar a la clasificación, solo que el formato de
salida es diferente.
¿Qué ejemplos se os ocurren?
Comparación Regresión y Clasificación
100
80
60
40
versus
20
0
20 30 40 50 60 70 80 90 100
Regression
0.4
0.2
0
-0.2
-0.4
-0.6
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2
Classification
Análisis de clusters
- El programa tiene como objetivo predecir grupo dados unos valores.
- f: R™ -> {1, ... , k}
- Este tipo de tarea es similar a la clasificación, pero los ejemplos no
están anotados
¿Qué ejemplos se os ocurren?
Gráfico de Análisis de Clusters
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
T
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Transcripción de datos
- En esta tarea, el sistema de ML recibe una representación no
estructurada de algún tipo de dato y transcribe esa información en un
formato textual discreto.
¿Qué ejemplos se os ocurren?
Ejemplo de Transcripción
11.55 11.60 11.65 11.70 11.75 11.80 11.85 11.90 11.95 12.00 12.05 12.10 12.15 12.20 12.25 12.30 12.35 12.40 12.45 12.50 12.55 12.60 12.65 12.70 12.75 12.80 12.85 12.90
0.521
-0.302
Transcription
could you arrange to send an engineer on [Thursday, twizday] morning [please, pliz]
Tokens-Std
could you arrange to send an engineer on thursday morning please
Tokens
could you arrange to send an engineer on twizday morning pliz
PhonAlign
r
A
n
T
3T
Z
d
el
m
O:
11
i
N
p
1
i:
Z
thursday
morning
please
PhonAlign
r
A
n
t
w
I
Z
đ
el
m
O:
1
i
N
p
I
Z
TokensAlign Lin
twizday
morning
pliz
IMAGE
Q Read Page
Analyze Page
Save Page
A/ Style
A" A"
A
R
JUVENILE READER.
37
lying in bed, suffering great pain, day after
day, and week after week, till he was
worn quite thin, he began to recover so
as to be able to hobble upon crutches.
51
lying in .bed,'suffering.great pain, day after.
day,. and. week. after. week,. till. he. was.
worn . quite. tirin,. he. began . to. recover. so.
asto be able to.hobble upon .crutches."
23. After this sad misfortune, James
could neither run nor play with other
children, but used to sit, all day long,
wishing that he had been more attentive
to his mamma's request.
23 .. After. this. sad. misfortune,. James.
could. neither- run- nor. play. With- other.
children, but. used- to- sit,. all. day- long,.
wishing . that. he. had. been . more. attentive.
to.his.mamma's.request.1
24. It was cause of great grief to Mrs.
Cooley to see her little son in this unhappy
condition ; and she often regretted that
she had permitted him to grow up so stub-
born and obstinate.
24.+It. was. cause. of. great. grief. to.Mrs ..
Cooley.to.see.her-little-son-in.this.unhappy.
condition; and- she. often- regretted- that.
she had.permitted.him.to.grow.up-so-stub -.
born-and-obstinate.
-
ABSURDITY OF PRIDE.
ABSURDITY.OF.PRIDE.
1. EVERY man, let his state and condi-
tion in life be what they may, depends on
those around him for assistance and sup-
port.
2. Men in a very low estate, may do us
a great deal of good, and we often want
their help. Many animals save us much
labour and trouble, and supply us with
many comforts.
1. EVERY . man, . let . his . state. and . condi -.
tion . in . life. be. what. tliey . may, . depends. on.
those. around . him . for. assistance. and . sup -.
port."
2.+Men.in.a.very.low.estate,.may.do.us.
a. great. deal- of- good, . and. we. often . want.
their. help .. Many- animals. save. us. much.
labour. and. trouble, . and. supply. vis. with.
many-comforts."
18
TokensAlign
in
on
on
Traducción automática
- El input de esta tarea consiste en una secuencia de símbolos en un
lenguaje, y el programa debe convertirla a otra secuencia de símbolos
en un leguaje diferente.
- La aplicación más típica suele ser en NLP (Natural Language
Processing)
¿Se os ocurre algún otro tipo de traducción?
Structured output
- La tarea de structured output son aquellas tareas en las que el output
es un vector (o cualquier otra estructura de datos que contenga
múltiples valores) con relaciones entre sus diferentes elementos.
- Es una tarea muy amplia, incluye por ejemplo las tareas de transcripción y
traducción.
¿Se os ocurre algún ejemplo que no sean esas dos
tareas?
Ejemplo de Structured Output
WORDS
TAGS
the
DET
waiter
cleared
PREP
the
plates
VERB
from
the
NOUN
table
Detección de anomalías
El programa procesa una serie de eventos u objectos e identifica
aquellos que son atípicos o extraños.
Dadme algún ejemplo de esta tarea
Síntesis y sampling
- El algoritmo de machine learning debe generar nuevos ejemplos que
son similares a aquellos existentes en los datos de entrenamiento.
- La síntesis y el sampling via machine learning resulta muy útil para
aplicaciones multimedia cuando generar una gran cantidad de
contenido manualmente resultaría demasiado caro, aburrido o
requeriría mucho tiempo.
Ejemplo de Síntesis con GPT-2
gpt2 . generate(sess,
length=250,
temperature=0.7,
prefix="LORD",
nsamples=5,
batch size=5
)
LORD WILLOUGHBY :
That, by the way, Clarence and I have done good side by side;
And yet side we, and he side we have done ill.
KING RICHARD II:
Why then 'tis done ill. 0, how should I ease it?
Side with him and my brother, my sovereign!
Side wither away, and as night falls,
Imputación de valores
El algoritmo de machine learning recibe un ejemplo que no contiene
algunos de los valores, y debe predecirlos.
¿Qué ejemplos se os ocurren?
Denoising
El programa recibe un ejemplo corrupto y debe "limpiarlo", tiene que
quitar el ruido.
2 2 5 7
Nota sobre la lista de tareas
¡ Esto no es una lista exhaustiva!
La medida de rendimiento, P
- Para evaluar las capacidades y el comportamiento del algoritmo de
machine learning, necesitamos una medida cuantitativa de su
rendimiento.
. Normalmente esta medida del rendimiento P es específica de la tarea
T que se está llevando a cabo.
- Para tareas como la clasificación, clasificación con inputs incompletos
y transcripción se suele utilizar la accuracy del modelo.
!
- Odio (generalmente) la accuracy
- Por favor, evaluad vuestros modelos con métricas robustas: macro f-measure,
AUC, g-mean, statistical tests ...
¿Por qué es la accuracy peligrosa?
Medición del rendimiento, P (continuación)
- Podemos también medir el ratio de error (error rate), la proporción
de los ejemplos para el cual el modelo produce un output incorrecto.
. Se le suele llamar también 0-1 loss.
- El 0-1 loss en un ejemplo concreto es 0 si está clasificado correctamente y 1 si
no
- Para otras tareas, como la estimación de densidad, el 0-1 loss no
tiene sentido.
. Necesitamos una métrica que nos de un valor continuo para cada ejemplo >
Importante en gradient descent.
- La mas usada suele ser el average log-probability