En este artículo aprenderemos qué es el aprendizaje por refuerzo, lo más novedoso y ambicioso a día de hoy en Inteligencia artificial, veremos cómo funciona, sus casos de uso y haremos un ejercicio práctico completo en Python: una máquina que aprenderá a jugar al pong sóla, sin conocer las reglas ni al entorno.
En este artículo intentaré comentar los seis perfiles más frecuentes solicitados por la industria en la actualidad, sus diversos roles. El artículo esta fuertemente basado en el reporte 2020 de Workera.
El proyecto de ML
Primero definamos en grandes rasgos las diversas etapas que conforman el desarrollo de un proyecto de Machine Learning.
Primera intuición de detección a partir de la clasificación con CNN
R-CNN: búsqueda selectiva
¿Cómo funciona R-Cnn?
Problemas y mejoras: fast y faster r-cnn
Detección Rápida: YOLO
¿Cómo funciona YOLO?
Arquitectura de la red Darknet
Otras alternativas
2016 – Single Shot Detection
2018 – RetinaNet
2019 – Google Spinet
2020 – Facebook saca del horno DETR
Resumen
Introducción: ¿Qué es la detección de imágenes?
Podemos tener la errónea intuición de que la detección de imágenes sea una tarea sencilla, pero veremos que realmente no lo es y de hecho es un gran problema a resolver. Nosotros los humanos podemos ver una foto y reconocer inmediatamente cualquier objeto que contenga de un vistazo rápido, si hay objetos pequeños o grandes, si la foto es oscura ó hasta algo borrosa. Imaginemos un niño escondido detrás de un árbol donde apenas sobresale un poco su cabeza ó un pie.
Para la detección de imágenes mediante Algoritmos de Machine Learning esto implica una red neuronal convolucional que detecte una cantidad limitada (ó específica) de objetos, no pudiendo detectar objetos que antes no hubiera visto, ó si están en tamaños que logra discernir y todas las dificultades de posibles “focos”, rotación del objeto, sombras y poder determinar en qué posición -dentro de la imagen- se encuentra.
Si es difícil con 1 objeto… imagínate con muchos!.
¿En qué consiste la detección de objetos?
Un algoritmo de Machine Learning de detección, para considerarse como tal deberá:
Detectar multiples objetos.
dar la posición X e Y del objeto en la imagen (o su centro) y dibujar un rectángulo a su alrededor.
Otra alternativa es la segmentación de imágenes (no profundizaremos en este artículo).
Detectar “a tiempo”… o puede que no sirva el resultado. Esta es una característica que debemos tener en cuenta si por ejemplo queremos hacer detección en tiempo real sobre video.
En este nuevo artículo de Aprende Machine Learning explicaremos qué son los outliers y porqué son tan importantes, veremos un ejemplo práctico paso a paso en Python, visualizaciones en 1, 2 y 3 dimensiones y el uso de una librería de propósito general.