Tener en cuenta que este es mi resumen del libro deeplearningbook.org, para mi yo del futuro, y en el tiempo que disponga se irá mejorando.
He estado leyendo este libro de Machine Learning, para tener clara la diferencia entre Machine Learning y Deep Learning, y más conciso no puede ser el cap. 5 del libro.
Para usar ML tienes que tener claro sus hiper-parámetros y poder combinarlos con en algoritmo de optimización, su coste de función, el modelo y dataset, para luego obtener el algoritmo de aprendizaje; pero aun con todas sus ventajas que resulten de este algoritmo, se mostraran ciertas limitaciones y de las cuales a sacado un sobresaliente el Deep Learning.
El capítulo parte de la frase de Tom Mitchell (1997):
“Se dice de un programa de computadora que logra aprender de la experiencia E con respecto a algunas clases de tareas T y tuviese como medida el rendimiento P, si el rendimiento en la tarea en T, medido por P, mejora con la experiencia E.”
La tarea T:
En esta sección Machine Learning se define como el proceso para lograr hacer la tarea, y la tarea sería una característica, evento o acción realizada en sí; hay varias formas de realizar una tarea, por el que se describirá las usuales por ML:
Classification
Se identifica enviando unos valores k, en un vector x, dándome como datos de resultado y, es decir y = f(x). Un ejemplo de esto es el reconocimiento de objetos, donde el input es un conjunto de píxeles en escala de grises, y el dato de salida son los datos numéricos de ese segmento de la imagen.
Classification with missing inputs
Este tipo de clasificación es un reto que se resuelve mapeando una unica funcion de un vector de inputs, es decir, con n variables de entrada, podemos obtener 2^(n) diferentes funciones de clasificación por cada input perdido, pero la computadora solo necesita una sola función que describa la distribución de probabilidad conjunta.
Regression
En este tipo de tarea, se espera predecir un valor numérico dada alguna entrada. Este algoritmo de aprendizaje solicita una función f: Rn → R siendo similar al de clasificación, excepto que el formato de salida es diferente. Un ejemplo es la predicción del monto de la reclamación esperada que una persona asegurada hará (utilizada para establecer primas de seguro).
Transcription
En este tipo de tareas, se le pide al sistema de aprendizaje automático que observe una representación relativamente no estructurada de algún tipo de datos y transcriba la información en forma textual. Por ejemplo, en reconocimiento óptico de caracteres, el programa de computadora muestra una fotografía que contiene una imagen de texto y se le solicita que devuelva este texto en forma de una secuencia de caracteres (por ejemplo, en formato ASCII o Unicode).
Machine translation
El dato de entrada se compone de una secuencia de símbolos de cualquier idioma y el programa convierte esto en una secuencia de símbolos en otro idioma. Muestra de ello es google translator.
Structured output
Abarcan cualquier tarea donde la salida sea un vector (u otra estructura de datos que contenga valores múltiples) con relaciones importantes entre los diferentes elementos. Engloba tanto a la tarea de transcripción y traducción descritas anteriormente, así como otras . Un ejemplo sería el análisis sintáctico de la oración de lenguaje natural en un árbol que describe su estructura gramatical etiquetando los nodos de los árboles como verbos, sustantivos, adverbios, etc.
Anomaly detection
Se identifica a través de un conjunto de eventos u objetos y señalan a algunos de ellos como inusuales o atípicos. Un ejemplo de una tarea de detección de anomalías es la detección de fraude de tarjetas de crédito. Al modelar sus hábitos de compra, una compañía de tarjetas de crédito puede detectar el uso indebido de sus tarjetas. Si un ladrón roba su tarjeta de crédito o información de su tarjeta de crédito, las compras del ladrón a menudo vendrán de una distribución de probabilidad diferente sobre los tipos de compra que la suya. La compañía de la tarjeta de crédito puede prevenir el fraude al poner una retención en una cuenta tan pronto como esa tarjeta se haya utilizado para una compra no es parte del patrón del usuario.
Synthesis and sampling
Este algoritmo de aprendizaje automático genera nuevos ejemplos similares a los datos de entrenamiento. Una aplicación de ello son los videojuegos que pueden generar automáticamente texturas para objetos grandes o paisajes, en lugar de requerir que un diseñador haga manualmente cada píxel.
Imputation of missing values
Este algoritmo debe proporcionar una predicción de valores de las entradas faltantes.
Denoising
Se utiliza por ejemplo cuando en una imagen posee un ruido(dato difuso de la imagen) se puede obtener o más generalmente predecir la distribución de probabilidad condicional p (x | ~x) para su mejor clarificación de esa área afectada.
Density estimation or probability mass function estimation
La estimación de densidad, solicita al algoritmo de aprendizaje automático que aprenda un modelo de función: Rn → R, donde el modelo P(x) puede interpretarse como una función de densidad de probabilidad (si x es continuo) o una función de masa de probabilidad (si x es discreto) en el espacio del que se extrajo este conjunto. Para hacer una tarea así (especificaremos exactamente qué significa eso cuando analicemos las medidas de rendimiento P), el algoritmo necesita aprender la estructura de los datos que ha visto. Debe saber dónde se agrupan los casos y dónde es poco probable que ocurran.
Teniendo en cuenta lo mencionado anteriormente, me aventure a experimentar con ml-agents, un plugin de Unity para entrenar con Machine Learning a nuestro agente, utilizando Tensorflow 1.7. En este caso su tarea principal de nuestro agente es aprender a caminar sin aprendizaje previo, he aquí la muestra:
Palabras Finales:
Este es un artículo que consta de 3 partes: Tasks, The Performance Measure, The Experience.
Tener en cuenta que las imágenes no pertenecen al libro, y son solo referenciales para esclarecer el texto, para una mejor lectura.
En caso de algún error o contribución al artículo, hacérmelo notar a mi correo victor.m.diniz@gmail.com.
Referencias:
- Goodfellow, I., Bengio, Y., Courville, A.(2016). Deep Learning. Revisado el 20 de julio del 2018 de http://www.deeplearningbook.org/