The Independent Sentinel #06
La propiedad intelectual de las máquinas, YOLO y el origen de la teoría del caos
¡Hola!
Soy Javier Fuentes, CEO de Akoios, gracias una vez más por leer una nueva edición de The Independent Sentinel, la newsletter en la que compartimos ideas, noticias y novedades sobre el mundo de la Ciencia de Datos y la Inteligencia Artificial
Si aún no te has suscrito, es muy fácil hacerlo:
En esta última edición del año vamos a hablar sobre la propiedad intelectual de las máquinas, el algoritmo YOLO y la resolución de un problema matemático planteado hace más de 300 años.
¡Comenzamos! 🏃♂️
🎼 ¿Quieres banda sonora? ¡Dale al Play!
1. Inteligencia Artificial 🤖
¿Existe la propiedad intelectual para las máquinas?
A comienzos de este año, una noticia muy llamativa fue recogida por diversos medios de comunicación:
“Un algoritmo acaba de firmar una gran contrato con una discográfica”
La noticia era que Endel, una startup que usa Machine Learning para crear música ambiental a medida para sus usuarios, había conseguido que su algoritmo firmase un gran contrato con Warner Music.
Este algoritmo desarrollado por Endel usa ritmos circadianos, escalas pentatónicas y enmascaramiento sonoro para crear música personalizada y adaptada al entorno de cada usuario (hora del día, meteorología, ritmo cardiaco, ubicación…).
Para el acuerdo de distribución firmado, Endel usó su algoritmo para crear 600 canciones cortas para 20 álbumes que se publicaron en servicios de streaming cuyos royalties se repartieron al 50% entre Endel y Warner, reteniendo Endel al 100% la propiedad de las grabaciones.
Incluso aunque hubiesen cedido los derechos de propiedad sobre las canciones, esto no hubiese supuesto un problema para Endel, ya que, en palabras de uno de los creadores del algoritmo, Dmitry Evgrafov, las 600 canciones se crearon con “un solo click de ratón” con una mínima intervención humana. Tan es así que incluso se contrató a una empresa externa para poner nombre a las canciones 😅.
En definitiva, Evgrafov vino a decir que Endel tiene ya la capacidad de crear infinitas canciones de música ambiental.
Esta noticia, junto como otros avances como la IA que es capaz de escribir artículos, han abierto un debate muy interesante sobre los derechos de autor de estas creaciones “sintéticas”
En esta línea, el pasado 30 de Octubre, la Oficina de Patentes y Marcas de Estados Unidos (USPTO - The United States Patent and Trademark Office) realizó una petición pública de opiniones respecto al impacto de la Inteligencia Artificial sobre todo lo relativo a propiedad intelectual y marcas.
Esta oficina, que asesora al Estado en los asuntos que su nombre indica, pide de forma frecuente opiniones e información para entender mejor las nuevos desarrollos y tecnologías por parte de las personas y organizaciones que están en contacto con ellas.
La Oficina de Patentes y Marcas lanzó 13 preguntas específicas tales como:
¿Qué ocurre si una IA crea un trabajo que infrinja un copyright?
¿Es posible alimentar una modelo con datos protegidos por copyright?
¿Qué se debe hacer en términos de propiedad intelectual si una IA crea algo sin intervención humana directa? ¿Es la IA la propietaria o la empresa o personas que la han entrenado?
Aunque actualmente existe un vacío legal en este aspecto, la ley considera a la IA como una herramienta, sin derecho en ningún caso a tener propiedad intelectual sobre sus creaciones.
Respecto a la autoría, se están tomando distintas perspectivas en cada país. En el Reino Unido, por ejemplo, el autor es el programador mientras que, en Estados Unidos, la persona que concibe la invención es el dueño, ya que el programador no sabe a priori cuál será la respuesta de un determinado algoritmo.
En cualquiera de los casos, todo lo que estamos presenciando nos hace suponer que, en algún momento en el futuro, tendremos que replantearnos si las IAs deben poder ser dueñas de sus creaciones.
En su libro “Arquitectos de la Inteligencia”, Martin Ford preguntó a varios investigadores de IA sobre cuándo creen que podremos empezar a hablar de Inteligencia Artificial General (AGI) y comenzar a hacernos preguntas como las que estamos tratando. Aunque Ray Kurzweil dijo que esto podría ocurrir en menos de una década, la mayoría de los entrevistados lo ven aún a más de 100 años de distancia
Frameworks 💻
Si estás algo familiarizado con el mundo del Machine Learning, seguramente hayas oído hablar de PyTorch.
PyTorch es una librería open-source Python basada en la librería Torch que facilita el desarrollo de aplicaciones ML como visión artificial y NLP (Procesamiento de len guaje natural) y se desarrolló inicialmente en el laboratorio IA de Facebook (FAIR).
Todos aquellos interesados en iniciarse con el uso de PyTorch, pueden descargar el libro “Deep Learning with PyTorch” de manera totalmente gratuita en el link de abajo.
Cabe destacar que PyTorch tiene muchos competidores de los que seguramente también habrás oído hablar, y que conforman un entorno interesantísimo:
Tensorflow: Librería por Google Brain Team orientada a la computación numérica mediante grafos.
Microsoft CNTK: es la alternativa desarrollada por Microsoft, con especial utilización reconocimiento del habla.
Theano: Librería de python realizar cálculos con arrays multidimensionales de forma eficiente.
Keras: es una API hecha en Python destinada al desarrollo de redes neuronales. A su vez, usa internamente otras librerías como Tensorflow, CNTK y Theano.
Caffe: Framework destinado a visión por computador y clasificación de imágenes. Caffe es muy conocido por la disponibilidad modelos ya entrenados (Model Zoo)
Casos de uso ⚙️
La detección de objetos es uno de los aspectos más interesantes de la visión computerizada. Esta disciplina está viviendo una época dorada en gran medida por su aplicación para los coches autónomos en los que se mezclan estas técnicas con LIDAR y otras tecnologías para generar una representación multidimensional del entorno del vehículo en cada instante.
De hecho, llevamos años ayudando a entrenar estos modelos con los reCAPTCHA que Google usa para asegurarnos de que somos humanos.
En 2015, se publicó un paper clave en el ámbito de la detección de objetos llamado “You Only Look Once: Unified, Real-Time Object Detection” elaborado por investigadores de Facebook, la Universidad de Washington y el Instituto Allen.
Distintos modos de visión artificial
YOLO es un algoritmo de detección de objetos. Es de objetos (en plural) ya que es capaz de detectar múltiples objetos presentes en una imagen y dibujar la típica “caja” contenedora.
La principal característica del algoritmo es que aplica una única red neuronal una única vez sobre la imagen completa (de ahí el nombre “you only look once”).
De manera sencilla, el funcionamiento es el siguiente:
El algoritmo recibe como entrada una imagen que se procesa mediante una red neuronal similar a una CNN y devuelve un vector con “cajas” y predicciones.
Este vector de salida, tiene estos componentes
Centro de la caja delimitante (bx,by)
Ancho de la caja (bw)
Alto de la caja (bh)
El valor c que corresponde a la categoría del objeto (e.g. coche, persona, gato…).
Por último, está el valor pc que indica la probabilidad de que haya un objeto recuadrado perteneciente a una determinada categoría c.
Todo esto se ve mejor con una imagen extraída de este buen artículo sobre YOLO:
El aspecto clave de YOLO es que trata el problema de la detección de objetos como un problema de regresión en vez de un problema de clasificación y que hace el proceso “de una” con una única red neuronal con esta estructura:
La forma más rápida de comenzar a usar YOLO y obtener resultados es usar una red open-source ya pre-entrenada y lista para ser utilizada como Darknet, de la que puedes saber más aquí.
Como ejemplo, aquí tenéis el resultado del análisis de una imagen usando YOLO + Darknet:
Afortunadamente, para YOLO soy un humano
Si quieres entender YOLO con mayor detalle, puedes echar un vistazo a este artículo de Hackernoon en el que ayudan a entender mejor su funcionamiento.
👉 ¿Te gustaría usar de manera escalable estos modelos de detección de objetos para tu aplicación corporativa o startup? Escríbenos a info@akoios.com y te contamos cómo podemos ayudarte a usar estos algoritmos en producción. Si lo prefieres, puedes solicitar un acceso gratuito para probar nuestro producto Titan aquí https://lnkd.in/gPz-2mJ
2. Historias 📔
El problema imposible de los 3 cuerpos, Henri Poincaré y la teoría del caos
Hace más de 300 años, Isaac Newton planteó un problema mientras trabajaba en órbitas planetarias que todavía hoy sigue siendo objeto de estudio por parte de físicos y matemáticos: El problema de los 3 cuerpos.
El problema consistía en determinar el movimiento de tres cuerpos (e.g. estrellas o planetas) atraídos mutuamente por la gravedad, dadas sus posiciones y velocidades iniciales.
Inicialmente, Newton planteó este problema para 3 cuerpos muy específicos (la Tierra, el Sol, y la Luna) pero, actualmente, el problema se ha extendido a cualquier problema de física cuántica o clásica que intente modelar el movimiento de tres partículas.
Una solución concreta para tres cuerpos ubicados en los vértices de un triángulo isósceles con velocidades iniciales nulas. Fuente:
Wikipedia
.
A finales del Siglo XIX, las competiciones matemáticas dotadas con premios eran un método común para encontrar soluciones a problemas matemáticos complejos.
Estas competiciones eran generalmente organizadas por Academias nacionales (siendo las de París y Berlín las mas reputadas en la época) y, aunque otorgaban dinero en metálico al ganador, eran mucho más valoradas por el prestigio académico que conferían.
En 1885, el Rey Oscar II de Suecia y Noruega, amante de las matemáticas, decidió ofrecer un premio para celebrar su 60 cumpleaños a quién encontrase solución a un problema matemático bien conocido y aún no resuelto. El premio consistía en una medalla de oro y 2,500 coronas suecas.
Los resultados se entregarían en un sobre para mantener el anonimato ante el jurado y se otorgó un plazo de 3 años a los participantes para la resolución.
Para la competición, se convocaron a célebres matemáticos de la época como Karl Weierstraß (el padre del análisis matemático), Charles Hermite o Henri Poincaré.
La primera pregunta de las varias que conformaban el concurso era una generalización del problema clásico de los tres cuerpos:
For a system of arbitrarily many mass points that attract each other according to Newton’s law, assuming that no two points ever collide, find a series expansion of the coordinates of each point in known functions of time converging uniformly for any period of time.
Los contendientes se pusieron a trabajar y, poco antes de Junio de 1888, comenzaron a llegar las memorias con los resultados.
El jurado -al igual que el resto de competidores- quedó sorprendido por el enfoque utilizado por uno de los participantes, Henri Poincaré, que se alzó con la victoria por su resolución basada en sus trabajos previos sobre ecuaciones diferenciales.
Notas manuscritas de Poincaré.
El 20 de Enero de 1889, el día anterior al 60 cumpleaños del monarca, se produjo el anuncio Real que daba por ganador a Poincaré, que recibió la medalla, la cantidad de dinero acordada y la mención honorífica por parte del Rey.
Ya cerca de Noviembre de ese mismo año, cuando los resultados del trabajo de Poincaré estaban a punto de ser publicados, el principal miembro del jurado, Mittag-Leffler, recibió un telegrama urgente por parte de Poincaré.
En el mismo, Poincaré le pedía que parase inmediatamente la impresión de su trabajo. Había cometido un error que invalidaba la solución que había planteado y sería un completo deshonor publicar un documento con errores en nombre del Rey.
Pese a que parte del trabajo ya había sido impreso y distribuido por el mundo, Poincaré tuvo la oportunidad de revisar su memoria en una nueva versión.
Tras un intenso trabajo durante Diciembre de 1889, Poincaré publicó una memoria revisada en la que explicaba una conclusión reveladora: El movimiento caótico era inevitable.
La revelación fue que no era adecuado realizar ciertas aproximaciones ya que, un pequeño cambio en las condiciones iniciales suponía, en contra de lo que pensaba, un resultado totalmente distinto.
Por lo que ahora sabemos, es imposible proporcionar una solución general al problema debido a estas dinámicas caóticas que se producen, tal y como Henri Poincaré descubrió.
La teoría del caos tan prominentemente usada en las matemáticas hoy en día parte de este trabajo de Poincaré sobre el problema de los 3 cuerpos: Un problema fácil de plantear, pero imposible de resolver de forma general y precisa.
Avanzando 130 años hasta nuestros días, unos investigadores de las Universidad de Cambridge y Edimburgo han utilizado Redes Neuronales para encontrar soluciones a este problema -irresoluble por su naturaleza caótica- 100 millones de veces más rápido que otras técnicas actualmente utilizadas.
Usando una red neuronal prealimentada (feed-forward ANN) de 10 capas ocultas están consiguiendo encontrar aproximaciones computacionalmente eficaces (en torno a 10^5 -y a veces incluso 10^8- veces más rápido que otras técnicas).
Pese a las críticas (no hay realmente ningún avance desde el punto de vista matemático) resulta interesantísima la idea de reemplazar los “solvers” diferenciales clásicos para estos problemas con algoritmos de Machine Learning debidamente entrenados.
Investigaciones como estas, están abriendo un camino a soluciones híbridas entre redes neuronales y métodos numéricos que nos puedan ayudar a lidiar con problemas todavía no resueltos.
¡Gracias por leernos! En nombre de todo el equipo de Akoios, aprovecho para desearos a todos un muy feliz y próspero año 2020.
¿Estás disfrutando The Independent Sentinel? ¡Comparte nuestras publicaciones en RRSS!
¿Quieres leer más? Puedes ver las ediciones anteriores aquí:
👉 Si quieres saber más sobre lo que hacemos, echa un vistazo a nuestra serie de tutoriales publicados en Medium.