Hace poco me inscribí en un conjunto de cursos sobre Inteligencia Artificial (IA), Machine Learning (ML)y análisis de datos (AD) en diferentes plataformas (GCP, IBM Cloud, Python); dentro de las cosas interesantes que aprendí, es que en GCP existen soluciones de este tipo que son puestas a disposición de personas del común, es decir, no necesitas tener un amplio conocimiento en estos temas para construir un chatbot o una solución que reconozca imágenes y las clasifique, entre otras más.
En esta historia les voy a mostrar cómo construir una solución que reconozca fotografías de nubes y las clasifique para determinar la probabilidad que existe de que llueva.
El Servicio que hace la magia
En GCP existe un servicio llamado AutoML Vision, es un servicio que pone a nuestra disposición modelos codificados previamente y que solo necesitamos saber un poco de lo que podríamos hacer con ellos para usarlos y posteriormente entrenarlos, tienen modelos listos para reconocimiento y clasificación de imágenes, de textos, de traducciones y de sonidos, muchos de estos servicios son usados por Google en varias de sus propias aplicaciones como Google fotos y Google Translate, por ejemplo el reconocimiento que hace Google fotos para sugerirte como agrupar tus fotos en álbumes o usar translate y tu cámara directo sobre textos y ver su traducción en la pantalla.
Los pasos para mi primer implementación
Voy a describir como podemos realizar nuestra primer implementación para la identificación y clasificación de imágenes de nubes (Tener en cuenta que estos pasos son basados en una práctica inicial creada por Google), si bien es algo meteorológico, nos da una idea de lo que podríamos hacer y podríamos extrapolarlo a nuestros propios problemas.
Crear un bucket con imágenes para realizar el entrenamiento, prueba y evaluación del modelo.
Para este ejemplo usamos 60 imágenes en total, Google recomienda usar por lo menos 100 imágenes de cada etiqueta para una implementación productiva, recuerda que esto mejorará la eficacia con la que nuestro modelo realiza las predicciones.
2. Crear un archivo CSV con la información de las imágenes para facilitar su carga al modelo.
Tener en cuenta que UNASSIGNED se utiliza cuando queremos que GCP tome la decisión de que imágenes usar para entrenar, probar y evaluar nuestro modelo.
3. Ingresar a Auto ML y crear un Dataset con el CSV creado.
4. Entrenar el modelo.
El entrenamiento del modelo puede tomar algunos minutos, pero ten en cuenta que en ningún momento nos preocupamos por la infraestructura necesaria para todo este trabajo, GCP lo hace automáticamente por nosotros, piensa en que si este modelo lo haces en local con otra herramienta, tendrás que disponer de una infraestructura robusta para todo este procesamiento.
5. Probar y usar el modelo entrenado.
Con esto ya tenemos un modelo que nos permite clasificar las imágenes de nubes, podremos tomar nuevas fotografías del cielo y usar el modelo para realizar una predicción. En la pestaña de evaluación (que no revisamos), podremos tener información sobre la precisión de nuestro modelo y ver si necesitamos mejorar el entrenamiento.
Con esto terminamos la historia y quiero dejarles al final otras implementaciones que pude realizar con estas herramientas:
Identificar un título de un artículo y saber por quién fue publicado.
Imágenes de personas y saber sus emociones.
Traducir texto a diferentes idiomas desde una Google Sheet.
Reconocimiento de voz y traducción.
Transcribir audio a texto.
Lo más importante para resaltar es que todas estas implementaciones se pueden realizar sin conocer en mucho detalle los modelos ni los algoritmos que están atrás, solo usamos la experiencia de los ingenieros de Google para crear soluciones a problemas reales.
Gracias por leer
Comments