En la primera parte de este post, explicamos cuáles son los paradigmas de la Inteligencia Artificial y cómo puede “pensar” un computador. En esta segunda parte y final, explicaremos cómo ve un computador y cómo funciona, a grandes rasgos, la Red Neuronal de Google, Deep Dream.

.

¿Cómo “ve” un computador?

Desde que somos niños, comenzamos a observar el mundo que nos rodea y a internalizar conceptos. Cuando vemos nuestros primeros cuentos o dibujos animados, nos dicen que un tronco color café y una “nube” verde encima corresponden a un árbol. Cuando crecemos un poco, comenzamos a salir a la calle, vemos los árboles en la vida real, y nuestros padres o amigos nos dicen: eso es un árbol. Cuando ya somos adultos, ni siquiera procesamos conscientemente la información cada vez que vemos un árbol, y aunque veamos un tipo de árbol que jamás hayamos visto antes, nuestra mente no tardará en etiquetarlo como lo que es: árbol. Lo mismo ocurre con los perros, autos, personas… con todos los objetos que nos rodean.

Lograr ese mismo nivel de abstracción de los conceptos, para un computador, es prácticamente imposible. Vean, por ejemplo, los resultados de la Inteligencia Artificial NEIL, siglas de Never Ending Image Learner. NEIL es un computador que funciona las 24 horas del día, todos los días, sin parar, extrayendo información visual de las imágenes de Internet. Lo que buscan sus creadores es que NEIL, por sí solo, pueda aprender cómo se ve un auto, o una oveja. En sus dos años de funcionamiento, NEIL ha logrado aprender, por ejemplo, que “Airbus 330 puede ser un tipo de avión”, o que un “Auto es un objeto que tiene una parte Rueda”. Sin embargo, el sistema no es perfecto:

NEIL es una Inteligencia Artificial ya que ha aprendido por si sólo estas relaciones, aunque básicas y rudimentarias, sobre los objetos. NEIL no utiliza los tags de los usuarios, o los nombres de los objetos, para extraer información: simplemente logra, por si solo, reconocer qué es cada objeto, y cómo se relaciona con otro.

La razón por la que se generan confusiones, es que un computador no puede “ver” los objetos como nosotros. No podemos decirle a un computador, simplemente, que una flor es un tallo con pétalos de colores, porque aún no podemos entregar conceptos abstractos a un computador y lograr que los entienda. Cada Inteligencia Artificial para reconocer imágenes utiliza sus propios descriptores para determinar qué hay dentro de una imagen. Asi como para un computador nuestros conceptos no tienen sentido, para nosotros, los descriptores de imágenes obtenidos por un computador tampoco lo tienen:

Reconocimiento de patrones

Algo parecido a lo de arriba es la razón detrás de las extrañas imágenes generadas por Deep Dream. Como los puntos o “palabras visuales” que un computador detecta en una imagen son tan específicas, es posible entrenar a un computador para reconocer ciertas imágenes (en el caso de Deep Dream, caras de animales). Cada vez que el algoritmo de Deep Dream encuentra algo parecido a las caras de perro que está entrenado para reconocer, asume que ahí hay una cara y sobrepone las imágenes. Recordemos que aquí, con “parecido”, no nos referimos a un objeto que un humano, visualmente, pensaría que se parece a un perro: estamos hablando de parecidos entre descriptores de imágenes obtenidos por un computador, los cuales, ya vimos, serían inentendibles para un humano. Es por eso que Deep Dream detecta caras, por ejemplo, en un cuadro, donde nosotros nunca lo haríamos.

¿Por qué Deep Dream parece detectar sólo imágenes de perros?

¿Por qué son, entonces, tan similares las imágenes que crea Deep Dream? ¿Por qué parece ser que el algoritmo sólo detecta caras de animales, perros en particular, y las sobrepone a otras imágenes? Pues, simplemente, porque eso es para lo que fue entrenada.

Recordemos que, como mencionamos antes, una Inteligencia Artificial jamás hará algo que sus creadores no le permitan hacer, y sólo accederá a la información que sus creadores quieran entregarle. Ya explicamos tambien que, para que un computador pueda “ver”, es necesario alimentarlo con cientos, miles de imágenes, para que aprenda a reconocerlas y luego pueda detectarlas. Es lo que hace NEIL, lo que hace el Wolfram Language Image Identification Project, y lo que hace cualquier sistema de reconocimiento de imágenes.

Los creadores de Deep Dream decidieron entrenar su Inteligencia Artificial utilizando un dataset específico: el ImageNet Stanford Dogs Dataset, que cuenta con fotos de distintos perros, de distintas razas. En otras palabras, lo único que Deep Dream sabe reconocer en las imágenes, son perros, porque es lo único que se le ha enseñado a reconocer. Si se hubiese utilizado una base de imágenes de gatos, reconocería sólo gatos. Si hubiesen sido bicicletas, reconocería sólo bicicletas. Deep Dream ve perros en todas partes, porque es lo único que sabe “ver” y detectar.

¿Y por qué Deep Dream detecta caras de perro en imágenes que no tienen perros? Porque, como mencionamos, un computador ve el mundo de una manera completamente distinta a la nuestra. Y, cuando encuentra una coincidencia con una palabra visual generada por sus imágenes de perros detecta, érroneamente (para un ser humano), que ahí hay un perro, y lo dibuja. Estas coincidencias no tienen sentido visual para nosotros, sólo para la visión del computador.

Y todo esto… ¿lo hace el computador por si solo?

Uno de los mayores malentendidos con respecto a la Inteligencia Artificial en el mundo real es creer que el computador hace todo por si solo. En el caso de Deep Dream, muchos enfoques en la prensa hacían pensar que, simplemente, un computador tomó por si sólo la decisión de dibujar, y comenzó a crear misteriosas imágenes.

Claramente, esto no es así. Si bien, como explicamos más arriba, la gracia de una Inteligencia Artificial es que realiza el aprendizaje o las predicciones por sí sola, siempre es necesario crear y programar esta máquina. Detrás de cada Inteligencia Artificial hay años de trabajo y programación, realizado por seres humanos.

Los procesos utilizados por las Inteligencias Artificiales para aprender, detectar patrones, o cualquier otra actividad, están basados principalmente en la matemática y en la estadística. Estos procesos matemáticos pueden ser transformados en algoritmos de computadora, los cuales luego se utilizan para entrenar a las Inteligencias Artificiales.

Los algoritmos para representar imágenes, como los ejemplos de arriba, son el resultado de años de investigación. Cada año surgen nuevas variaciones de cómo describir de mejor manera el contenido de una imagen de modo que un computador pueda comprenderlo. Lo mismo ocurre con los algoritmos de predicción, o con el cálculo de las jugadas de Deep Blue.

Por ahora, todas las Inteligencias Artificiales existentes han sido creadas por humanos y funcionan sólo bajo los límites que sus creadores impongan. Si bien una Inteligencia Artificial adquiere información por si sola y toma decisiones por si sola, todas estas se encuentran dentro del marco que sus creadores y programadores han decidido. Ninguna Inteligencia Artificial existente va a tomar una decisión que un ser humano no le permita tomar.

¿Qué no es una Inteligencia Artificial?

Relacionado con lo anterior, por ahora estamos lejos de desarrollar una Inteligencia Artificial que sea totalmente independiente, que actúe y razone como un ser humano sin intervención. Aún estamos muy lejos de poder traspasar el conocimiento y el sentido común humanos a una computadora.

Las Inteligencias Artificiales que vemos en la ciencia ficción, que toman decisiones fuera de lo establecido por sus creadores, que se rebelan y pueden alcanzar niveles de conciencia como el del ser humano, seguirán existiendo sólo en la ciencia ficción por los próximos años.

Lo que se viene en el futuro

En el futuro próximo, la Inteligencia Artificial seguirá desarrollándose para ayudar en todas las áreas del conocimiento. Esta tecnología no solo ayuda a las Ciencias de la Computación, sino también a las predicciones económicas, el área de la salud, el comercio, entre muchísimas otras.

A pesar de todo el avance actual, los expertos creen que aún faltan décadas para llegar a mayores saltos tecnológicos en términos de Inteligencia Artificial. Cuando se comenzó a trabajar en estos temas, en los años 50, se creía que en 20 años se alcanzaría un nivel digno de ciencia ficción. Han pasado 65 años, y aún no estamos ahí, ni cerca. El desarrollo de la Inteligencia Artificial es increíblemente difícil y lento. Si bien cada día se tienen computadores más poderosos, es el traspaso de los algoritmos y la representación del conocimiento lo que hacen de este proceso algo complicado.

Además, también existen las implicaciones éticas. Como mencionamos más arriba, por ahora una Inteligencia Artificial no hará nada que su creador no le permita hacer. ¿Qué vamos a permitir a las Inteligencias Artificiales del futuro? ¿A qué nivel de información personal podrán acceder? ¿Qué decisiones podrán tomar, y con qué fundamentos? Si es complicado enseñarle sentido común a una computadora, imaginen cuánto más difícil es inculcarle una ética humana.

De algo no hay dudas: la Inteligencia Artificial seguirá dando que hablar, y seguirá desarrollándose hasta ocupar, cada vez, un lugar más importante en nuestras vidas y en nuestra sociedad.

Links de interés

The Greatest Hits, and Misses, of an Image-Learning AI — Discover Magazine

NEIL: Never Ending Image Learner

Interview with Stephen Wolfram on AI and the future — GigaOm

The future of artificial intelligence: Myths, realities and aspirations — Microsoft Blog