¿Cómo se aplica la ciencia de datos a la robótica?

La robótica ha sido y sigue siendo una enorme fascinación para nosotros los humanos. Incluso cuando no teníamos computadoras, estábamos fascinados con Frankenstein de Mary Shelley porque el concepto de crear vida de la nada resuena con nosotros.

Avanzar rápidamente a la palabra moderna, hacer que un humanoide fuera y en cierta medida sigue siendo un sueño omnipresente. Cuando los informáticos tuvieron la oportunidad de hacer Robots, se encontraron con un gran problema. El problema es que si se esfuerza por programar un robot definiendo todos los movimientos, etc., su estrategia es defectuosa para empezar. ¿Cómo puede anticipar y programar cada acción de un robot? Incluso si pudiera hacer eso, ¿qué pasa con cualquier nueva funcionalidad que desee poner en Robot? Tienes que reprogramar la computadora para eso. Por lo tanto, programar un robot no es una buena solución.

El segundo problema es la complejidad computacional. La visión en tiempo real en la que los humanos son maestros es un problema extremadamente difícil para las computadoras. Todo lo que ven son ceros y unos, y tienen que reconocer el patrón de esos números. Solo para darle un poco de contexto, hagamos un pequeño experimento. Coloque la palma de su mano frente a su cara y cambie el lado de su mano para ver el dorso de su mano. Simple no es así?

Este simple ejercicio de visión para nosotros es un problema de proporciones épicas para las computadoras. Lo que vemos simplemente son millones de ceros y unos para una computadora porque cada ligero cambio en la posición de nuestra mano es un conjunto diferente de ceros y unos, e incluso un pequeño movimiento involucra miles de iteraciones de computadora.

¿Ahora cómo puede ayudar la ciencia de datos aquí?

Puede enormemente. Machine Learning, el chico del cartel de la ciencia de datos está aquí para ayudar. Lo que hace el aprendizaje automático es hacer que una computadora o un robot aprendan proporcionándole ejemplos etiquetados de cualquier tipo de comportamiento, como el reconocimiento de escritura a mano humana. Lo que hace es que toma miles de formas en que los humanos escriben el alfabeto “a”, luego los etiqueta como “a” y finalmente entrena a las computadoras con esos datos. Una vez que la computadora está entrenada, se prueban los datos nuevos para tener una idea de cuán precisa es, y los números de precisión están subiendo por el techo por dos razones.

Primero está la disponibilidad universal de datos en la era del diluvio de datos más la potencia computacional que tenemos para calcular los problemas más intensivos computacionalmente como el problema de visión por computadora del que hablé. Google acaba de anunciar Unidades de procesamiento de tensor que son mucho más potentes que las GPU para entrenar algoritmos de aprendizaje profundo (Deep Learning is Astrophysics of Data Science LOL).

Hay una rama del aprendizaje automático llamada aprendizaje por refuerzo. El aprendizaje por refuerzo es lo más cercano que puede llegar a la forma en que los humanos aprenden. En el aprendizaje por refuerzo, las recompensas y penalizaciones se establecen y un sistema aprende cometiendo errores. Si comete un error, se le penaliza para que recuerde y se le recompensa por el comportamiento requerido. ¿No es así como aprendemos? Esta es una explicación fácil de Reinforcement Learning para explicar el concepto de la misma.

Hay miles de millones de aplicaciones del aprendizaje por refuerzo en el mundo real, pero mi favorito personal es enseñarle a su computadora a jugar a Super Mario Bros usando el aprendizaje por refuerzo. ¡Fue muy divertido ver a Mario mejorar en el transcurso de un par de horas hasta el punto en que solo estaba mejorando el nivel!

Por lo tanto, Machine Learning está ayudando a los humanos a desarrollar su mayor fascinación e incluso mucho más que eso.