La inteligencia Artificial está de moda, pero… ¿Qué es exactamente y cómo funciona? A continuación, las ideas básicas para entender qué es la Inteligencia Artificial, el Deep Learning y las Redes Neuronales.
Esta entrada del blog corresponde a la entrevista que me hicieron para las jornadas “Grans Interrogants de la ciència” (https://www.olotcultura.cat/entrevista-a-pau-bramon-enginyer/) donde intentaba explicar de forma MUY simplificada qué es la Inteligencia Artificial (IA) y porque hoy se habla tanto de ella. Aquí os dejo las respuestas a las típicas preguntas sobre IA:
¿Qué es la inteligencia artificial?
En pocas palabras, la inteligencia artificial es el campo que intenta dotar a las máquinas de capacidad de pensar o entender cómo lo hacemos los humanos. Esto no quiere decir crear máquinas totalmente autónomas y capaces de hacerlo todo como nosotros, pero sí significa hacer ciertas tareas que quizás nuestro cerebro hace casi sin esfuerzo, pero que no son de ningún modo triviales para una máquina. En general, en programación, necesitamos describir todos los casos y condiciones que pueden pasar para decidir los pasos que hará el programa (si pasa A, el programa hará B, si no hará C), pero hay ciertas tareas que son imposibles de definir de esta forma. En estas tareas es donde entra la inteligencia artificial y donde en los últimos años ha tenido grandes avances.
El ejemplo más claro es probablemente la comprensión de imágenes. Los humanos estamos continuamente analizando lo que ven nuestros ojos y lo hacemos extraordinariamente bien, pero la tarea en sí misma es extremadamente compleja. Imaginemos, por ejemplo, que estamos creando un sistema de piloto automático para un coche autónomo. Para poder conducir, ponemos una cámara delante del coche que vea lo que vería el conductor e intentamos crear un programa que a partir de las imágenes gire, frene o acelere. Simplificando mucho, una de las primeras cosas que deberíamos hacer es detectar si tenemos un coche delante o no para poder frenar. Imaginemos por un momento qué significa crear un sistema capaz de hacer esto: necesitamos encontrar, en una imagen, un coche que puede ser de cualquier modelo del mercado (desde un Seat Ibiza del 90, hasta un BMW X7 de 2020), que puede estar conduciendo en cualquier condición meteorológica (de día o de noche, lloviendo, con niebla...) y que el mismo coche puede estar en cualquier estado (limpio y en perfectas condiciones, o lleno de barro y abollado). Imaginemos cómo puede llegar a cambiar la imagen, aunque sólo se trate de ver un simple coche.
Aunque nosotros entendemos estas imágenes como cosas semánticamente similares, a nivel de píxeles éstas no tienen absolutamente nada que ver. Es más, nosotros podemos ver un modelo de coche por primera vez en la vida y sabemos que es un coche al instante. En programación convencional, esto es totalmente imposible, necesitamos alguna herramienta más.
Aquí es donde entra en juego lo que hace unos años ha causado este boom de la Inteligencia Artificial: el Deep Learning. La idea es, en lugar de definir manualmente las condiciones y acciones de nuestro programa, conseguir un modelo que sea capaz de aprenderlas automáticamente. En concreto, el modelo por excelencia que ha conseguido increíbles resultados ha sido lo que se llaman Redes Neuronales, que imita de forma muy simplificada la forma como funciona un cerebro biológico.
Tengo que hacer una pequeña aclaración. Aunque esta moda de la Inteligencia Artificial es causada por la aparición del Deep Learning y las Redes Neuronales, el campo es mucho más amplio y hace muchos años que existe. La Inteligencia Artificial va mucho más allá y hay muchos grupos de investigación que trabajan utilizando otras técnicas completamente diferentes (y en algunos casos con resultados similares).
Para los que no sabemos nada de IA, ¿Cómo funcionan estas Redes Neuronales?
Es muy difícil explicar esto en pocas palabras, pero vendría a ser un modelo que intenta copiar la forma como nuestro cerebro es capaz de aprender. A grandes rasgos, sabemos que un cerebro biológico consiste en una gran cantidad de neuronas interconectadas entre ellas. Con el fin de aprender cosas nuevas, sabemos que estas conexiones entre neuronas, llamadas sinapsis, varían la intensidad y la forma como transmiten las señales. Es decir, que el conocimiento se almacena de forma distribuida en toda la red cambiando las conexiones entre las neuronas.
En los modelos de Redes Neuronales que utilizamos en el campo de la Inteligencia Artificial intentamos copiar esta forma de almacenar información, creando neuronas artificiales y conexiones que sean también modificables. Nuestros cerebros artificiales son una versión muy simplificada de lo que ocurre realmente en un cerebro biológico, pero permiten crear máquinas capaces de aprender.
El ejemplo que he explicado antes del sistema de visión para detectar si hay un coche delante se podría solucionar perfectamente utilizando estos cerebros artificiales. ¿Cómo lo haríamos? En primer lugar, crearíamos el modelo de un cerebro disponiendo en software una serie de neuronas conectadas entre ellas. Este cerebro no existiría físicamente, sino que simplemente serían miles de variables preparadas en la memoria del ordenador listas para ser utilizadas. Entonces, a este cerebro le mostraríamos imágenes de carreteras con coches y sin coches, y miraríamos qué resultado nos da. En función de si el resultado es correcto o no, ajustaríamos las conexiones entre neuronas para intentar cometer menos errores en los siguientes ejemplos. Inicialmente, las conexiones entre neuronas serían totalmente inventadas y, por lo tanto, nuestro cerebro sería totalmente estúpido. Pero a medida que fuéramos enseñándole imágenes y ajustando las conexiones, el cerebro empezaría a funcionar. Con suficientes imágenes y tiempo, el cerebro podría terminar haciendo la tarea igual de bien que un humano.
¿Por qué, de repente, la IA parece mucho más presente?
La verdad es que el Deep Learning y las Redes Neuronales han conseguido en esta última década resultados increíbles. Aunque las Redes Neuronales hace mucho tiempo que existen (desde los años 40), hace relativamente poco que se ha logrado explotar su potencial. Las razones de este cambio son varias, pero a grandes rasgos:
En primer lugar, la misma ley de Moore. Para que las Redes Neuronales funcionen correctamente, es necesario que los ordenadores tengan en memoria y modifiquen millones y millones de variables simulando ser neuronas y sinapsis. Esto es tecnológicamente costoso y la simple evolución de los ordenadores lo ha hecho posible.
En segundo lugar, la disponibilidad de datos. Como he explicado, nuestras redes se alimentan de datos para aprender a realizar tareas nuevas. Actualmente, con la explosión de Internet y las redes sociales, nos encontramos claramente en la era de los datos y, por lo tanto, el Deep learning tiene todo el combustible que necesita para funcionar.
En tercer lugar, algunas empresas han visto el potencial que tiene. Para conseguir crear y entrenar estas redes se necesita hardware muy potente y software suficientemente optimizado. El hecho de que empresas de hardware (Nvidia, Intel ...) y de software (Google, Facebook ...) hayan dedicado recursos a la IA, ha hecho que el campo evolucionara mucho más rápido. Estas empresas han facilitado la implantación de la tecnología y han hecho posible que otras empresas más pequeñas o incluso startups crearan tecnología con IA.
¿Es una moda o realmente el futuro?
¡Es innegable que lo que se ha conseguido en los últimos diez años es una auténtica revolución tecnológica! Lo que se puede conseguir ahora utilizando el Deep Learning era absolutamente impensable pocos años atrás. Por lo tanto, no tengo ninguna duda que marcará claramente el futuro, no sólo tecnológico, sino social.
Dicho esto, está claro que también tiene parte de bombo. Cuando una tecnología está de moda, las empresas intentan adoptarla, aunque sólo sea por cuestiones de marketing. Con la Inteligencia Artificial ha pasado exactamente lo mismo y, últimamente, parece que incluso las panaderías utilicen IA para cortar el pan.
También hay que tener presente otra cosa: no todo lo que sale en las noticias es cierto del todo. Cuando vemos noticias que hablan de avances futuristas en la IA, debemos tener presente que muchas veces hay intereses de por medio y que estos avances están muy magnificados. La inteligencia artificial tiene mucho potencial, pero estamos lejos de ver a Terminator entrando por la puerta.
Todos pensamos en los coches autónomos y los asistentes de voz, pero ¿Qué más tenemos a nuestro alcance o qué llegaremos a tener?
Yo creo que los coches autónomos y los asistentes de voz son probablemente los usos más vistosos, pero debemos pensar que la mayoría de tecnología que necesite tomar decisiones inteligentes acabará funcionando con Deep Learning. Actualmente ya tenemos integrada esta tecnología en gran parte del software que consumimos y probablemente no nos damos cuenta. Cuando utilizamos el traductor de Google, cuando Spotify nos recomienda un artista nuevo o cuando nos salen banners mientras navegamos por internet, todo esto está alimentado con Deep Learning. Yo diría que no nos hemos dado cuenta, pero hay ciertas aplicaciones, que hace mucho tiempo que utilizamos, que de repente funcionan mucho mejor debido a la IA.
¿En un futuro? Podría poner varios ejemplos:
La industria probablemente experimentará los cambios más importantes. Los procesos industriales tienen tareas muy repetitivas pero que hasta el momento han sido muy complejas de automatizar. En este sector, la IA tendrá una gran influencia y muchas de estas tareas se podrán automatizar completamente. Esto seguro que revolucionará la producción industrial y, seguramente, también provocará cambios importantes en la sociedad.
Otro campo en el que están apareciendo nuevas aplicaciones que utilizan IA es el campo de las cámaras de seguridad y control. Utilizando Deep Learning es posible analizar vídeos de forma bastante precisa, detectando acciones o personas sospechosas. La China ya está aplicando esta tecnología para hacer control masivo de la población y, aquí, empresas de seguridad privada ya empiezan a ofrecer servicios de seguridad con IA.
Una última aplicación curiosa podría ser el uso de la IA para la edición de imagen y vídeo. El Deep Learning ya ha demostrado ser una herramienta muy potente para hacer edición de vídeo o tratamiento de imagen. Creo que tanto productoras de cine como creadoras de videojuegos aprovecharán esta tecnología para ofrecernos productos mucho más espectaculares. Las posibilidades en este campo son infinitas.
Hay quien dice que las máquinas sustituirán a las personas. ¿Es verdad?
Yo no tengo una visión nada catastrofista en este sentido:
En primer lugar, creo que, aunque muchos trabajos se podrán automatizar, en ningún caso se podrá automatizar todo. La IA que tenemos actualmente funciona bien realizando tareas muy concretas que sean repetitivas, pero no es capaz de funcionar como los humanos en tareas más complejas o que requieran habilidades sociales. Alexa (el asistente de voz de Amazon) es capaz de comprender bien instrucciones claras, pero no va mucho más allá. Es decir, le puedes pedir que te compre leche, pero no le puedes explicar que hoy estás deprimido porque la novia te ha dejado.
En segundo lugar, si no hay suficiente trabajo para que todos puedan hacer la jornada laboral actual, ésta seguro que cambiará. Ahora parece que siempre hemos tenido la jornada laboral de 8 horas y que siempre hemos trabajado cinco días a la semana por dos de fiesta, pero esto tampoco ha sido siempre así. La sociedad se ha adaptado a grandes cambios tecnológicos en el pasado y nada me hace pensar que no se pueda adaptar a un nuevo cambio más. Sin ir más lejos, cada vez suena con más fuerza la idea de una jornada laboral más corta.
Por último, aunque muy probablemente algunos trabajos desaparecerán, también se crearán de nuevos. Por un lado, la IA en sí misma generará nuevos empleos; poner en marcha un sistema de IA y mantenerlo requiere muchísimo trabajo. Por otro lado, si la sociedad cambia y pasa a tener más tiempo libre, también aparecerán nuevas oportunidades de negocio en el sector de los servicios que generarán nuevos puestos de trabajo.
¿Hasta dónde puede llegar?
Aunque la Inteligencia Artificial ha conseguido cosas hasta ahora impensables, todavía está muy lejos de poder crear sistemas totalmente inteligentes. El cerebro humano es extraordinario y, ni a corto ni a medio plazo, parece posible que se puedan igualar sus capacidades con ninguna de las tecnologías actuales. Con las Redes Neuronales hemos conseguido que las máquinas puedan hacer ciertas tareas tan bien como los humanos, pero estas tareas siempre son muy acotadas y no demuestran una inteligencia real. Un ejemplo que me encanta para comprender como de complicado es crear sistemas inteligentes, es el que daba hace tiempo Andrej Karpathy en su blog (http://karpathy.github.io/2012/10/22/state-of-computer-vision/). En el artículo mostraba la siguiente imagen y explicaba lo que requeriría que una máquina pudiera entenderla:
Nosotros miramos esta foto y entendemos enseguida lo que está pasando. Pero, por un momento, pensemos en el conocimiento implícito que necesitaría una máquina para entender una imagen como ésta. En primer lugar, el sistema debería entender todos los elementos que salen en la foto (todas las personas, la báscula, la sala, las taquillas ...). Si esto fuera poco (que no lo es), sería necesario que el sistema entendiera que la persona de sobre la báscula realmente se está pesando. Además, también debería entender cómo funciona la física y darse cuenta de que Obama, en realidad, está cambiando la medida de la báscula. Debería detectar que la persona de sobre la báscula está confundida sobre su peso y que las personas de alrededor entienden lo que está pasando y lo encuentran divertido. También debería entender que la situación es graciosa, que el peso personal se utiliza a veces en forma de broma y que el hecho de que alguien le esté cambiando la medida sin que él se dé cuenta convierte la situación en divertida. Finalmente, para entender bien la broma, el sistema debería reconocer que quien hace la broma es Barack Obama y que el hecho de que en ese momento sea el presidente de EEUU hace la situación aún más graciosa.
Se han logrado grandes avances en los últimos años y, seguramente, se consigan muchos más en el futuro. Pero aún así, los que trabajamos con IA sabemos que, con lo que tenemos ahora, probablemente no es suficiente para crear inteligencia real. Los modelos que utilizamos actualmente dan buenos resultados en tareas muy acotadas, pero es muy difícil obtener sistemas robustos cuando estas tareas son más complejas.
Dicho esto, hay muchísima gente trabajando en IA actualmente y, quizás, mañana aparece un método nuevo o un modelo más bueno que consigue lo que ahora parece imposible. Los logros que se han conseguido en los últimos años también han despertado un interés mayor por parte de la investigación y, por lo tanto, el campo avanza mucho más deprisa. Actualmente los métodos que tenemos no son suficientes, pero todo puede cambiar de la noche a la mañana.
Kommentarer