Desde hace años, Google lleva trabajando en la automatización del diseño de modelos de machine learning. Como describimos en un post anterior, primero automatizando la búsqueda de los meta-parámetros (modelo a usar, número de capas, función de optimización) y después empleando únicamente operaciones matemáticas simples como bloques para diseñar el modelo.
Fruto de esos trabajos fue el desarrollo en Google Cloud de AutoML, que permite diseñar e implementar modelos de machine learning de manera automática y transparente para el usuario. Vamos a describir AutoML Tables, concretamente se orienta a desarrollar modelos sobre datos estructurados y tabulares.
Para ello, dentro de la consola de Google Cloud vamos al módulo Tables. Lo primero que vamos a hacer es preparar los datos para importarlos. Para ello tenemos que crear un fichero CSV delimitado por comas, de mínimo 1000 filas, con un fila de encabezado y dos columnas mínimo, una para la entrada y otra para la variable objetivo o salida. A continuación vemos las primeras filas de nuestros datos.

Vamos dentro de Google Cloud Tables y le damos a New Dataset. Nos deja elegir entre Global y la Unión Europea. La ubicación tiene que coincidir con la ubicación del bucket donde se almacenarán los datos. A continuación vemos la pestaña para importar los datos.

A continuación vemos los datos importados, con las columnas detectadas, el tipo de dato, la columna objetivo, los datos inválidos detectados, los parámetros adicionales de entrenamiento como el porcentaje de datos para entrenamiento, validación, test, etc.

Le damos a entrenar datos, seleccionando el número máximo de nodos hora que deseamos emplear, la función objetivo, las columnas de entrada, si queremos que pare cuando no haya mejoras sustanciales… y esperamos varias horas, dependiendo de la cantidad de datos y la complejidad del modelo.
Durante el proceso, Google Cloud levanta los nodos para realizar el entrenamiento, carga los datos, busca el mejor modelo y cuando lo encuentra apaga automáticamente las máquinas. A continuación vemos el resultado del entrenamiento y la evaluación con el error absoluto medio, el coeficiente de determinación, etc. para el modelo de regresión encontrado.

Si vamos a Cloud Logging y vemos los logs de las operaciones realizadas en el entrenamiento podemos ver los pasos que ha seguido el entrenamiento y la aplicación ha ido probando varios modelos. A continuación vemos la iteración 24 donde se define una red neuronal con una capa intermedia de 16 nodos, con normalización, etc.

Hemos podido ver la utilidad de Google Cloud AutoML Tables y como permite automatizar el diseño de un modelo de machine learning para datos estructurados.
Deja una respuesta