De la programación al entrenamiento de máquinas
Tomás de Camino Beck, Ph.D. | Director | Fundación Costa Rica para la Innovación | boletinclic@camtic.org
En la evolución de la computación, uno de los aspectos fundamentales es la capacidad de usar máquinas que son universales, es decir, que son capaces de computar cualquier cosa (que sea computable), mediante el cambio de un programa sin tener que cambiar la estructura de la máquina.
Las primeras computadoras eran mecánicas, y la reprogramación representaba el cambio de engranajes y era difícil. Luego pasamos a las máquinas electro-mecánicas y la programación consistía en el cambio de rutas eléctricas. Al fin llegó la computadora digital que permitía mediante códigos en dígitos, reprogramar sin necesidad de cambiar físicamente la computadora. Esa reprogramación digital permitió una evolución rápida de la computación, y que se transformara en lo que hoy conocemos.
Por allí de 1957, cuando la computadora digital todavía estaba emergiendo, Frank Rosenblatt, propone el perceptrón, motivado por la posibilidad de que las máquinas perciban, reconozcan y aprendan por experiencia. Un perceptrón es básicamente un algoritmo que permite integrar información de entrada, asignándole pesos a una salida única binaria. Al cambiar los pesos se puede “entrenar” a la máquina. Luego de un inicio escabroso (busquen sobre la controversia del perceptrón), hoy en día el perceptrón es la unidad fundamental de las redes neuronales, que nos han llevado a lo que se conoce como “deep learning” y a la inteligencia general artificial.
Hoy en día, ya hablamos de sistemas inteligentes. En estos nuevos sistemas el rol de nosotros los humanos, pasa de programar las computadoras a entrenarlas. Los sistemas computacionales modernos se pueden construir de tal manera que las tareas de una máquina se pueden cambiar, simplemente entrenando a la máquina y transfiriendo linealmente nuestra experiencia a un computador. Es decir, en principio, se crea un programa de inteligencia general y este se reprograma mediante el entrenamiento.
Esto ya está sucediendo con google brain, donde Google intenta ofrecer Inteligencia Artificial (IA) como un servicio, y en principio, todo puede ser aprendido por una computadora. Pero más allá de eso y de la inteligencia profunda, es posible hoy en día programar un perceptrón en un controlador con 32k de memoria como Arduino, y es tan simple que hasta un joven de colegio lo puede hacer. Yo he hecho varios para efectos de enseñanza, y permiten mostrar no solo a jóvenes, sino a empresarios, el potencial de una máquina física, de realizar tareas simples y concretas, mediante el entrenamiento y no a programación.
El punto es que máquinas simples con poca memoria, pueden además aprender tareas simples, con un conjunto pequeño de perceptrones.
Ahora bien, el Internet ha llegado a un nivel de desarrollo donde no solamente las personas, sino también las cosas se pueden conectar a ella. El Internet de las Cosas (IoT, por sus siglas en inglés) promete un mundo híper conectado donde todo se puede controlar a través de la nube. Podemos imaginarnos el Internet de las cosas como una red de computadoras, grandes y pequeñas (micro-controladores) conectados, estas computadoras recogiendo datos, ejecutando algoritmos en la nube o en el borde, y acciones digitales o físicas en los bordes.
Si a esto le agregamos que las computadoras son todas inteligentes, es como tener un cuerpo humano completo a través de toda la red, con componentes de un sistema simpático y para-simpático, es decir, donde su funcionamiento puede ser independiente o no de un sistema central. Esto implica que muchas de las acciones de las máquinas ahora no requerirán intervención humana, más que para efectos de entrenar los sistemas inteligentes. Pensar en las máquinas como seres vivos fue lo que llevó al nacimiento de la cibernética de Norbert Wiener, y que debemos retomar muchas de esas ideas para construir algo interesante.
La IA es fundamental para el IoT o por lo menos es donde hay oportunidades para desarrollar tanto investigación como negocios. En Costa Rica, tenemos la capacidad de desarrollar esta área y no solamente como una curiosidad intelectual, sino como una estrategia importante de desarrollo de negocios para la elaboración de sistemas inteligentes y los servicios asociados a estos sistemas. Por esa misma razón debemos también concentrar esfuerzos en la desarrollo a nivel de academia en áreas de inteligencia artificial y en general en ciencias de la computación y cognitivas, pero con una visión de desarrollo de soluciones que puedan ser utilizadas de forma inmediata, es decir algo así como lo hacía Bell Labs, o como ahora lo hace el grupo de investigación de Google Brain.
Lecturas adicionales recomendadas:
“IoT Won’t Work Without Artificial Intelligence | WIRED.” 2015. 8 Jul. 2016 <http://www.wired.com/insights/2014/11/iot-wont-work-without-artificial-intelligence/>
Wiener, Norbert. Cybernetics or Control and Communication in the Animal and the Machine. MIT press, 1961.
Compartir
NOTICIAS
Entradas recientes
- Contratación administrativa | SICOP 3 al 10 de octubre del 2024
- Camtic e Infocom lanzan Jornadas Conecta CR: Innovación y oportunidades con 5G y tecnologías emergentes
- Tecapro incorporó inteligencia de negocios a su Business Operating System (BOS)
- Fondo de inversión Mubadala Capital se convierte en socio mayoritario de Babel
- Impulsan telesalud con el fin de acelerar acceso equitativo a la salud en las Américas