¿Quieres empezar a aprender un poco sobre IA, pero te confunden tantos términos raros? Te cuesta distinguir entre IA, Machine Learning, Deep Learning, Redes Neuronales y demás palabrejas? ¿No sabes ni como empezar a meterte en este mundillo? ¿Ni que lenguajes o frameworks existen? ¡No té preocupes! ¡Yo estaba como tú! En esta charla te contaré como yo he aprendido algo de este mundillo y te contaré los fundamentos básicos para que puedas meterte en él sin miedo! ¡Créeme, si yo he podido... tú también podrás!
4. AI is the science and engineering of making intelligent machines,
especially intelligent computer programs. It is related to the similar task
of using computers to understand human intelligence, but AI does not
have to confine itself to methods that are biologically observable.
John McCarthy
5. AI vs ML vs DL
• AI: Busca conseguir sistemas que exhiban comportamientos inteligentes
• ML: Intento de conseguir AI que se basa en algoritmos que
• Lean datos
• Extraigan determinados patrones
• Realicen determinadas asunciones
• DL: Rama de ML donde los algoritmos usados son redes neuronales
6. ML - Proceso
Imagen sacada de: https://blogs.msdn.microsoft.com/martinkearn/2016/03/01/machine-learning-is-for-muggles-too/
7. Dificultades de ML
• Como preparar los datos
• Como elegir qué datos (features) son relevantes
• Como elegir qué algoritmo usar
Data scientist
• Montar infraestructuras Big Data
• Preparar consultas
• Optimizaciones
Data engineer
8. Ejemplos de tareas básicas de Machine Learning
• Clasificación binaria: Decidir a qué categoría entre dos, pertenece un determinado dato
• Decidir si una transacción es fraudulenta o no, si un mail es SPAM o no, si un comentario es positivo o
negativo
• Clasificación múltiple: Decidir a qué categoría, entre N, pertenece un determinado dato
• Seleccionar la raza de un perro, categorizar el argumento de una película,…
• Regresión: Predecir el valor de un atributo de un conjunto de datos, en base a los valores de otros atributos
• Precio de una casa en función de su tamaño y ubicación, predecir precio de acciones, …
• Clustering: Agrupar un dato con otros datos con los qué comparte características
• Agrupar clientes en segmentos, agrupar animales/plantas según características,…
9. ML para cualquiera: Cognitive Services
• Azure Cognitive Services: Servicios de ML que ofrecen modelos pre-entrenados útiles para tareas estándard.
• Visión
• Voz
• Lenguaje
• Conocimiento
• Permiten integrar de forma fácil y sencilla capacidades inteligentes a nuestras aplicaciones
10. Cognitive Services - Visión
• Clasificación de imágenes
• Reconocimiento de actividades en imágenes
• OCR y escritura a mano
• Detección de caras y emociones. Agrupación.
• Detección de caras y objetos en vídeos
• Reconocimiento personalizado de imágenes (custom vision)
11. Cognitive Services - Voz
• Voz a texto
• Traducción en tiempo real
• Identificación y verificación por voz
12. Cognitive Services – Lenguaje
• Análisis de texto (opiniones, extracción frases clave)
• Corrección otrográfica
• Detección de idioma y traducción de textos
• Reconocimiento del lenguaje natural (LUIS)
15. ML para novatos: ML.NET
• Librería para crear y entrenar modelos usando C# y .NET
• Ofrece soporte para:
• Carga de datos
• Transformaciones de datos
• Algoritmos preimplementados
• Entrenamiento del modelo
• Evaluación del modelo
• Despliegue del modelo
16. ML.NET “Legacy” (0.1 -> 0.5)
Primeras versiones de ML.NET
Código muy sencillo basado en definir un pipelines de acciones y transformaciones:
• Acciones para leer y transformar los datos de entrada
• Definición de features a usar
• Algoritmos de machine learning
Además ofrece herramientas para:
• Evaluar el modelo
• Persistir el modelo
17. Demo: Predicción
tarifas Taxi
•Es un ejemplo de regresión (Predecir el valor
de un atributo de un conjunto de datos (precio)
en base a otros atributos (hora, kilómetros, nivel
tráfico, …))
18. ML.NET 0.6
Reescribe la API para evitar las limitaciones que hay en ML.NET <= 0.5
Permite reutilizar parte del pipeline en varios sitios
Mayor flexibilidad
Contiene dos APIs en una (API tipada y API sin tipar)
19. ML.NET 0.6 - Conceptos
• Data
• Datos (esquematizados e inmutables) usados para entrenar y verificar el modelo
• Transformer
• Operación de transformación sobre los datos.
• Un modelo de ML se puede ver como un transformador (datos predicciones)
• Se encadenan uno tras de otro
• Data Reader
• Componente para crear los datos a partir de una fuente
20. ML.NET 0.6 - Conceptos
• Estimator
• Objeto que aprende de los datos. El resultado de un estimador es un transformador
• Un algoritmo de ML es un estimador (que produce un transformador que es el modelo)
• Predictor function
• Objeto que aplica un transformador a una fila de datos