LUCA Talk: La importancia de la seguridad y aspectos legales en el gobierno de los datos. FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 3 de marzo, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: Desde la Comisión Europea se está definiendo y escribiendo...
Paloma Recuero de los Santos Drones e IA para detectar síntomas de COVID19 La Universidad de Australia de Sur, UniSA ha diseñado una tecnología pionera en el mundo que combina ingeniería, drones, cámaras e inteligencia artificial para monitorizar a distancia constantes vitales....
Ane Urain Los 5 mejores posts en el blog LUCA Data Speaks 2017 Ha sido un gran año para LUCA. Doce meses de mucha ilusión y trabajo, que nos han permitido avanzar en nuestras iniciativas tecnológicas, aprovechando la infinidad de posibilidades que...
Amaia Perez ¡Última llamada para Changing the Game with Big Data Barcelona! ¿Es posible revolucionar los sectores de retail, turismo y movilidad con Big Data? La respuesta a esta y otras muchas más preguntas las encontrarás en Changing the Game with Big...
LUCA Planificando la ubicación de un site de retail con los datos Una de las decisiones de negocio clave para cualquier marca es decidir dónde “establecer su tienda”. Esto implica la necesidad de conocer muy bien a los consumidores y su...
Alicia Martín Domingos El futuro de la telelectura de contadores de agua más allá del COVID19. A estas alturas del año y después de que la tercera ola del COVID19 esté en boca de todos, ya no es ninguna sorpresa decir que la pandemia ha...
Javier Carro Solidaridad con afectados por el cáncer: marchas y videojuegos El pasado 29 de octubre se celebró en Valladolid una de las varias marchas contra el cáncer que la AECC organiza en España. En este post, por un lado queremos compartiros esta iniciativa que...
LUCA Deep Learning e imágenes por satélite para estimar el impacto de la COVID19 Motivados por el hecho de que la pandemia de COVID-19 ha causado conmoción mundial en un corto periodo de tiempo desde diciembre de 2019, estimamos el impacto negativo del...
Paloma Recuero de los Santos Video Post #5: ¿Qué es el Aprendizaje Automático o Machine Learning? Continuamos nuestra serie de video post, con otro tema que seguro que despierta gran interés. En este caso, como siempre, intentamos explicar de forma clara y accesible para todos,...
LUCA LUCA Talk: Descubre las claves de la industria 4.0: 5G, IA, Blockchain La transformación digital de las empresas comienza por la fabricación de los productos digitales. A nivel de negocio, la Industria es la vertical con mayor progresión dentro de esta...
LUCA Talk: La importancia de la seguridad y aspectos legales en el gobierno de los datos. FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 3 de marzo, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: Desde la Comisión Europea se está definiendo y escribiendo...
LUCA LUCA Talk: Comunicación inteligente y Big Data en el punto de venta: Loterías y Apuestas del Estado FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 10 de febrero, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: El conocimiento de los clientes y su comportamiento de...
Transfer Learning en modelos profundosEnrique Blanco 13 septiembre, 2019 En el Departamento de Ideas Locas nos encanta trastear con la Inteligencia Artificial, sobre todo si nos piden algo con aplicaciones fuera de lo común. Justo antes del verano estuvimos familiarizándonos con una práctica muy interesante relacionada con el Deep Learning: Transfer Learning para clasificar imágenes con alta precisión. El objetivo en la clasificación de imágenes no es más que es etiquetar una imagen específica de acuerdo con un conjunto de categorías posibles. Desde una perspectiva de aprendizaje profundo, el problema de clasificación de imágenes se puede resolver mediante Transfer Learning o aprendizaje por transferencia. Éste es un método popular en visión artificial porque nos permite construir modelos precisos ahorrando una gran cantidad de tiempo. Con el aprendizaje de transferencia, en lugar de comenzar el proceso de aprendizaje desde cero, se comienza haciendo uso de patrones o modelos pre-entrenados que se han aprendido al resolver un problema diferente. Principios de Transfer Learning Un modelo pre-entrenado es un modelo que fue entrenado con un ingente conjunto de datos de referencia para resolver un problema similar al que queremos abordar. Debido al coste computacional del entrenamiento de tales modelos, así como en la complejidad a la hora de elegir la arquitectura óptima, el Transfer Learning de modelos bien conocidos y precisos se ha convertido es una práctica común (por ejemplo, VGG-16, VGG-19, ResNet-50, SeNet-50, etc.) Supongamos que, por poner un ejemplo, deseamos clasificar rostros de ganado, pero no existen algoritmos liberados que hagan un trabajo adecuado. Parece algo novedoso, pero desde hace un año el Deep Learning ha encontrado en el sector ganadero un campo de aplicación muy interesante, como ya adelantamos en este post. Con Transfer Learning, podemos construir una red neuronal convolucional ya existente y entrenada, comúnmente utilizada para el reconocimiento facial y modificarlo para entrenar rostros de vacas (por ejemplo). Podríamos descargarnos los pesos de los modelos bien conocidos ya mencionados, de varias decenas o cientos de capas, con un elevado nivel de precisión para clasificar rostros de personas y usarlo para identificar con una precisión similar a una determinada cabeza de ganado. Figura 1. Diferencias en el proceso de aprendizaje entre ML tradicional y Transfer Learning. Fuente Las redes convolucionales (que son las arquitecturas típicas para la resolución de este tipo de problema) actúan, al fin y al cabo, como extractores de características tales como los ojos, las orejas y los morros de una vaca o un cerdo haciendo uso de lo que ese modelo aprendió en su origen clasificando rostros de personas famosas. Redes convolucionales Una CNN (Convolutional Neural Network) típica tiene dos partes: una base convolucional, compuesta por una pila de capas convolucionales y de agrupación. El objetivo principal de la base convolucional es extraer características de la imagen; un clasificador, que generalmente está compuesto por capas completamente conectadas. El objetivo principal del clasificador es clasificar la imagen en función de las características detectadas. Una capa totalmente conectada es aquella en la que sus neuronas tienen conexiones con todas las activaciones en la capa anterior. Un aspecto importante de estos modelos de aprendizaje profundo es que pueden aprender automáticamente representaciones jerárquicas de características. Esto significa que las características calculadas por la primera capa son generales y pueden reutilizarse en diferentes problemas, mientras que las características calculadas por la última capa son específicas y dependen del conjunto de datos y la tarea elegidos. A lo largo de la arquitectura hay una transición donde se pasa de extraer los rasgos más generales a los más específicos. Como resultado, la base convolucional de una CNN, especialmente sus capas inferiores (las que están más cerca de las entradas), se refieren a características generales, mientras que la parte clasificadora y algunas de las capas superiores de la base convolucional se refieren a características especializadas. En la siguiente imagen intentamos mostrar las activaciones de algunos de los filtros de la última capa convolucional de la arquitectura VGG-16 dedicada a la clasificación de rostros de un dataset extenso de personas famosas. Como se puede ver (aunque onírico e inquietante) se distinguen perfectamente las características en la que esta capa convolucional se fija en una imagen (ojos, narices, orejas, bocas…). Figura 2.Visualización de algunos de los filtros de la última capa convolucional (Conv5_3) del modelo VGG-16 de clasificación de rostros. Conceptos asociados Pero volvamos a poner el punto de mira en las fuentes del problema que se intenta resolver: la posible escasez de muestras para entrenar a un modelo y la disparidad entre los datos que tenemos entre manos y aquellos que se usaron en su día para entrenar el modelo que vamos a tomar como base. Una definición formal de Transfer Learning es la siguiente (A Survey on Deep Transfer Learning; Tan, C.; et al. 6 Aug 2018): Contamos con un dominio formado por: un espacio de características y una distribución de probabilidad donde . Dado ese dominio y una muestra que podemos considerar formada por dos componentes: una etiqueta y una función objetivo tal que . Esta función es aprendida a través de un entrenamiento basado en datos agrupados por pares donde e . Entonces la función se puede usar para predecir una etiqueta de una nueva muestra incluso cuando está en las fronteras de la distribución marginal que define . Estrategias Cuando queremos reutilizar un modelo pre-entrenado para tus propias necesidades, se suele comenzar eliminando el clasificador original para posteriormente agregar un nuevo clasificador que se adapta a tus propósitos. Sólo nos queda ajustar tu modelo de acuerdo con una de tres estrategias por la que deberemos apostar: Estrategia 1: Entrenar todo el modelo. En este caso, utiliza la arquitectura del modelo pre-entrenado y lo entrena de acuerdo con su conjunto de datos. Está aprendiendo el modelo desde cero, por lo que necesitará un gran conjunto de datos (y mucha potencia computacional).Estrategia 2: Entrenar algunas capas y deja las otras congeladas. Como se comentó anteriormente, las capas inferiores abstraen características generales (independientes del problema), mientras que las capas superiores tienen capacidad de abstraer características específicas. Por lo general, si tiene un conjunto de datos pequeño y una gran cantidad de parámetros, deberemos tender a dejar más capas congeladas para evitar un overfitting sobre nuestro dataset. Por el contrario, si el conjunto de datos es grande y el número de parámetros es pequeño, puede mejorar su modelo entrenando más capas para la nueva tarea, ya que el overfitting no será un problema que nos afecte.Estrategia 3: Congelar la base convolucional. La idea principal es mantener la base convolucional en su forma original y luego usar sus salidas para alimentar un clasificador propio. En este caso se está utilizando un modelo pre-entrenado como un mecanismo de extracción de características generales, que puede ser útil si tiene poca potencia computacional, su conjunto de datos es pequeño y/o el dataset empleado en entrenar el modelo pre-entrenado cuenta con una distribución muy similar al que tenemos entre manos. Características de dataset en el plano similaridad-tamañoEstrategia a seguir en función del dataset Guía de aplicación de las estrategias Desde una perspectiva práctica, todo el proceso de aprendizaje de transferencia se puede resumir como sigue. Contamos con un conjunto de dominios y (fuentes y objetivo respectivamente) donde ; y tenemos muestras y donde : Contamos con un gran número de datos, pero éstos son diferentes del conjunto de datos del modelo previamente entrenado. y . El espacio de características en los dominios de la fuente y el objetivo son diferentes. Las distribuciones de probabilidad marginal no coinciden al ser los dominios de las fuentes y del objetivo diferentes. Esta situación la deberíamos abordar desde la estrategia 1. Como tenemos un gran conjunto de datos, puede entrenar un modelo desde cero y hacer lo que quiera. A pesar de la diferencia de conjunto de datos, en la práctica, aún puede ser útil inicializar su modelo a partir de un modelo previamente entrenado, utilizando su arquitectura y pesos.Tenemos un gran conjunto de datos que, además, es similar al conjunto de datos del modelo previamente entrenado. Este es un escenario ideal. Cualquier estrategia funcionará. Probablemente, la opción más eficiente es la estrategia 2. Dado que tenemos un gran conjunto de datos, el sobreajuste no debería ser un problema, por lo que podemos aprender todo lo que queramos. Sin embargo, dado que los conjuntos de datos son similares, podemos salvarnos de un gran esfuerzo de capacitación aprovechando el conocimiento previo. Por lo tanto, debería ser suficiente entrenar el clasificador y las capas superiores de la base convolucional.Nuestro conjunto de datos es pequeño y diferente del conjunto de datos del modelo previamente entrenado. . Las distribuciones de probabilidad condicionales de la fuente y el objetivo son diferentes. Nos encontramos ante esta tesitura cuando el número de muestras de una determinada clase está sin balancear. Se suele aproximar a través de diferentes técnicas de over/under-sampling. La única opción que tiene es la estrategia 2. Será difícil encontrar un equilibrio entre la cantidad de capas para entrenar y congelar. Si profundizamos en la congelación, nuestro modelo podría sufrir overfitting. Si permanece en el extremo poco profundo de su modelo, éste no aprenderá nada útil de la nueva distribución marginal. Se deberían considerar seriamente las técnicas de aumento de datos. El conjunto de datos nuevos es pequeño, pero similar al conjunto de datos del modelo previamente entrenado. La estrategia 3 es la más adecuada. Solo necesita eliminar las últimas capas completamente conectadas (capas de salida), ejecutar el modelo previamente entrenado como un extractor de características fijas y luego usar las características resultantes para entrenar a un nuevo clasificador. Esperamos que esta introducción a la reutilización de modelos de Deep Learning para proyectos propios os haya gustado. En siguientes entregas profundizaremos en un ejemplo entretenido de Transfer Learning donde presentaremos algo de código haciendo uso de Keras. Para mantenerte al día con LUCA, visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn o YouTube. Analizando con IA la canción del verano: ¿Cómo hemos cambiado?IA y Salud: Condenados a entenderse
Fran Ramírez Las matemáticas del Machine Learning: Números aleatorios y dónde encontrarlos (II) En el artículo anterior mencionamos la importancia que tienen en nuestro día a día los números aleatorios, utilizados para realizar cualquier tipo de simulación y fundamentales a la hora...
LUCA Talk: La importancia de la seguridad y aspectos legales en el gobierno de los datos. FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 3 de marzo, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: Desde la Comisión Europea se está definiendo y escribiendo...
LUCA La teoría Gestalt en Gobierno del Dato Al igual que un dato por si sólo no vale nada si no se le dota de información, conocimiento y se usa para un propósito, “Gobernar el dato por...
Paloma Recuero de los Santos Drones e IA para detectar síntomas de COVID19 La Universidad de Australia de Sur, UniSA ha diseñado una tecnología pionera en el mundo que combina ingeniería, drones, cámaras e inteligencia artificial para monitorizar a distancia constantes vitales....
LUCA Planificando la ubicación de un site de retail con los datos Una de las decisiones de negocio clave para cualquier marca es decidir dónde “establecer su tienda”. Esto implica la necesidad de conocer muy bien a los consumidores y su...
Paloma Recuero de los Santos Python para todos: Matplotlib y la curva corazón Hoy os proponemos aprender a realizar visualizaciones sencillas con Python. Y, como siempre nos gusta hacer un guiño a San Valentín (reconozcámoslo, es muy cursi, pero tiene su gracia...