Diseño de Sistemas de Aprendizaje Automático
Modelos, Hiperparámetros y Datos
Model +
Hyperparameters +
Data
Error Analysis
Training
Aitor Almeida
aitor.almeida@deusto.es
Diseño de un Sistema de Aprendizaje
- En esta unidad vamos a analizar los diferentes pasos que debemos
tener en cuenta para diseñar un ciclo de aprendizaje.
- En algunas aplicaciones de la vida real, no necesitareis diseñar la
mayoría de estos pasos desde cero, ya que aplicareis algoritmos y
métricas existentes.
- En otros casos, será necesario diseñar nuevos algoritmos o modificar
los ya existentes.
2
Pasos en el Diseño de un Sistema de Aprendizaje
- Elegir la experiencia de entrenamiento
- Elegir la función de entrenamiento
- Elegir una representación de la función de entrenamiento
- Elegir un algoritmo de aproximación de funciones
- El diseño final
3
Problema a Tratar en el Diseño de un Sistema de Aprendizaje
- Para ilustrar algunos de los problemas básicos
de diseño y enfoques en el aprendizaje
automático, consideremos diseñar un
programa para aprender a jugar a la damas.
- Nuestro objetivo: participar en el torneo mundial
de damas.
- Adoptamos la medida de rendimiento obvia: el
porcentaje de partidas que gana en este
torneo mundial.
4
Sistema Actual para el Aprendizaje de Damas
Un problema de aprendizaje de damas:
- Tarea T: jugar a las damas
- Medida de rendimiento P: porcentaje de partidas ganadas en el
torneo mundial
5
Pasos del Diseño de un Sistema de Aprendizaje
- Elegir la experiencia de entrenamiento
- Elegir la función de entrenamiento
- Elegir una representación de la función de entrenamiento
- Elegir un algoritmo de aproximación de funciones
- El diseño final
6
Primera Decisión de Diseño: Experiencia de Entrenamiento
- La primera decisión de diseño que enfrentamos es elegir el tipo de
experiencia de entrenamiento de la cual nuestro sistema aprenderá.
- El tipo de experiencia de entrenamiento disponible puede tener un impacto
significativo en el éxito o fracaso del aprendiz.
- No todos los tipos de experiencia son adecuados para todos los problemas.
- Un atributo clave es si la experiencia de entrenamiento proporciona
retroalimentación directa o indirecta con respecto a las decisiones
tomadas por el sistema de rendimiento
7
Experiencia de Entrenamiento: Ejemplos Directos
- En nuestro ejemplo, el sistema podría aprender a partir de ejemplos
de entrenamiento directos que consisten en estados individuales del
tablero de damas y el movimiento correcto para cada uno.
2. Black makes
a double jump.
I. A simple
move by a
piece
4. Or, this Red piece could
jump the Black piece after
its double jump.
3. After Black
makes his dou-
ble jump, Red
could jump as
shown because
the space oppo-
site the adjacent
Black piece will
be empty-
8
Experiencia de Entrenamiento: Información Indirecta
- Alternativamente, podría disponer solo de información indirecta que
consista en las secuencias de movimientos y los resultados finales de varios
juegos jugados.
- En este último caso, la información sobre la corrección de movimientos específicos al
principio del juego debe inferirse indirectamente a partir del hecho de que el juego
fue eventualmente ganado o perdido.
- Aquí, el aprendiz enfrenta un problema adicional de asignación de crédito, o de
determinar en que medida cada movimiento en la secuencia merece crédito o culpa
por el resultado final.
- La asignación de crédito puede ser un problema particularmente difícil, ya que el
juego se puede perder incluso cuando los movimientos iniciales son óptimos, si estos
son seguidos mas later por movimientos deficientes.
- Por esta razón, aprender a partir de retroalimentación de entrenamiento
directo suele ser más fácil que aprender de retroalimentación indirecta.
9
Segunda Decisión de Diseño: Control de Ejemplos
- Un segundo atributo importante de la experiencia de entrenamiento es el grado
en que el aprendiz controla la secuencia de ejemplos de entrenamiento.
- El aprendiz podría depender del maestro para seleccionar estados de tablero informativos y
proporcionar el movimiento correcto para cada uno > Aprendizaje Supervisado.
- El aprendiz podría proponer por sí mismo estados de tablero que encuentra particularmente
confusos y preguntar al maestro por el movimiento correcto > Aprendizaje Activo.
- El aprendiz podría tener control total sobre ambos, los estados del tablero y las
clasificaciones de entrenamiento (indirectas), como ocurre cuando aprende jugando contra
sí mismo sin la presencia de un maestro > Aprendizaje por Refuerzo.
- Nótese que en este último caso, el aprendiz puede elegir entre experimentar con
estados de tablero novedosos que aún no ha considerado o perfeccionar su
habilidad jugando variaciones menores de líneas de juego que actualmente
encuentra más prometedoras -> Exploración vs Explotación en el Aprendizaje
por Refuerzo.
10
Tercera Decisión de Diseño: Representatividad de la Experiencia
- Un tercer atributo importante de la experiencia de entrenamiento es
qué tan bien representa la distribución de ejemplos sobre los cuales
se debe medir el rendimiento final del sistema P.
- En general, el aprendizaje es más confiable cuando los ejemplos de
entrenamiento siguen una distribución similar a la de los ejemplos de prueba
futuros.
- Los modelos de aprendizaje automático están aprendiendo una
distribución a partir de los ejemplos; si no ven ejemplos de una clase,
no podrán identificar nuevas instancias de esa clase.
- Sin embargo, esto no es completamente cierto > aprendizaje de una sola
muestra (one-shot) y aprendizaje de cero muestras (zero-shot).
11
Representatividad de la Experiencia en el Juego de Damas
- En nuestro ejemplo, la métrica de rendimiento P es el porcentaje de
partidas que el sistema gana en el torneo mundial.
- Si su experiencia de entrenamiento E consiste solo en partidas
jugadas contra sí mismo, existe un peligro evidente de que esta
experiencia de entrenamiento no sea completamente representativa
de la distribución de situaciones sobre las que será probado más
adelante.
- Por ejemplo, el aprendiz podría no encontrarse nunca con ciertos estados
cruciales del tablero que son muy probables en partidas jugadas por el
campeón humano de damas.
12
Desafíos de la Representatividad en la Experiencia de Entrenamiento
- En la práctica, a menudo es necesario aprender a partir de una distribución de
ejemplos que es algo diferente de aquella en la que se evaluará el sistema final
(por ejemplo, jel campeón mundial de damas podría no estar interesado en
enseñar al programa!).
- Conjuntos de Entrenamiento vs Validación vs Prueba
- Tales situaciones son problemáticas porque dominar una distribución de
ejemplos no necesariamente llevará a un buen rendimiento sobre otra
distribución diferente.
- Veremos que la mayoría de las teorías actuales de aprendizaje automático se
basan en la suposición crucial de que la distribución de los ejemplos de
entrenamiento es identica a la distribución de los ejemplos de prueba
>
suposiciones i.i.d. (independientes e identicamente distribuidas).
- A pesar de nuestra necesidad de hacer esta suposición para obtener resultados
teóricos, es importante recordar que esta suposición a menudo debe ser violada
en la práctica.
13
Decisión Final sobre la Experiencia de Entrenamiento
- Decidimos que nuestro sistema se entrenará jugando partidas contra
sí mismo.
Esto tiene la ventaja de que no es necesario un entrenador externo,
lo que permite al sistema generar tantos datos de entrenamiento
como el tiempo lo permita
14
Estado Actual del Sistema de Aprendizaje de Damas
Un problema de aprendizaje de damas:
- Tarea T: jugar a las damas
- Medida de rendimiento P: porcentaje de partidas ganadas en el
torneo mundial
- Experiencia de entrenamiento E: partidas jugadas contra sí mismo
15
Pasos del Diseño de un Sistema de Aprendizaje
- Elegir la experiencia de entrenamiento
- Elegir la función de entrenamiento
- Elegir una representación de la función de entrenamiento
- Elegir un algoritmo de aproximación de funciones
- El diseño final
16
Elección de la Función Objetivo
- La siguiente decisión de diseño es determinar exactamente qué tipo de
conocimiento se aprenderá y cómo será utilizado por el programa de
rendimiento.
- Vamos a suponer que tenemos un programa para jugar a las damas que puede
generar los movimientos legales desde cualquier estado del tablero.
- El programa solo necesita aprender cómo elegir el mejor movimiento entre esos
movimientos legales.
- Esta tarea de aprendizaje es representativa de una gran clase de tareas en las
que los movimientos legales que definen un amplio espacio de búsqueda se
conocen de antemano, pero la mejor estrategia de búsqueda no se conoce.
- Muchos problemas de optimización pertenecen a esta clase, como los
problemas de programación y control de procesos de fabricación, donde los
pasos de fabricación disponibles están bien comprendidos, pero la mejor
estrategia para secuenciarlos no lo está.
17
Definición de la Función Objetivo
- Dado este escenario en el que debemos aprender a elegir entre los movimientos
legales, la opción más obvia para el tipo de información a aprender es un
programa o función que elija el mejor movimiento para cualquier estado de
tablero dado.
- Llamémoslo ChooseMove y usemos la notación ChooseMove : B -> M.
- Esta función acepta como entrada cualquier tablero del conjunto de estados
legales del tablero B.
- Esta función produce como salida algún movimiento del conjunto de
movimientos legales M.
- A lo largo de nuestra discusión sobre el aprendizaje automático, encontraremos
útil reducir el problema de mejorar el rendimiento P en la tarea T al problema de
aprender alguna función objetivo en particular, como ChooseMove.
- Por lo tanto, la elección de la función objetivo será una decisión clave de diseño
18
Alternativas para la Función Objetivo
- Aunque ChooseMove es una elección obvia para la función objetivo
en nuestro ejemplo, esta función resultará ser muy difícil de aprender
dado el tipo de experiencia de entrenamiento indirecta disponible
para nuestro sistema.
- Una función objetivo alternativa, y una que resultará más fácil de
aprender en este contexto, es una función de evaluación que asigna
una puntuación numérica a cualquier estado de tablero dado.
- Llamemos a esta función objetivo V y usemos la notación V : B -> R
para indicar que V asigna cualquier estado legal del tablero del
conjunto B a algún valor real (usamos R para denotar el conjunto de
números reales)
19