Blog

¿Pueden pensar las máquinas?

06/06/2017, Escrito por 0 comment

El título de este artículo es en realidad parte de la frase con la que comienza el artículo de Alan Turing titulado ‘Computing Machinery and Intelligence’1, publicado en 1950. La frase completa era ‘Propongo considerar la pregunta, ¿pueden pensar las máquinas?’ colocada debajo del epígrafe ‘El juego de imitación’, que, como ya habrá adivinado el lector, conduce al conocido ‘Test de Turing’, importante precursor de la disciplina conocida como ‘Inteligencia Artificial’ (IA).

Hoy día se están popularizando términos como computación cognitiva, redes neuronales y aprendizaje profundo –‘deep learning’–, todos ellos conceptos relacionados con la IA, de los que cuales se lleva hablando ya desde mediados del pasado siglo XX.

Pero no es hasta mediados de la primera década de este siglo XXI cuando se produce un despegue del llamado ‘aprendizaje de las máquinas’ con unos resultados y unas posibilidades que en estos momentos no llegamos a ver.

Han empezado a proliferar aplicaciones y herramientas basadas en estos modelos de computación, que son los del aprendizaje de las máquinas o ‘aprendizaje profundo’, o herramientas de simulación para hacer predicciones con multitud de datos recogidos de situaciones parecidas, con los que las máquinas aprenden.

Tanto es así, que los productos que empiezan a salir al mercado, parece que deben llevar alguna etiqueta haciendo referencia a la IA, como ‘reconocimiento del lenguaje natural’, ‘computación cognitiva’, ‘aprendizaje de la máquina’, etc.

Empresas como Google, Facebook, Apple, IBM, Salesforce, Cisco, etc. están inmersas en investigación de herramientas y plataformas que utilicen algoritmos de ‘aprendizaje de las máquinas’. En ciberseguridad se está considerando como una potente ayuda a la cantidad de ciberamenazas a que se enfrentan las organizaciones.

foto

En palabras de Jense Huang, CEO de Nvidia, «El software se está comiendo el mundo, pero la IA va a comerse el software»2.

De la misma manera, las empresas consumidoras demandan, también, dichos productos como solución a sus problemas.

¿Pero es necesario utilizar para cualquier tarea este tipo de herramientas? ¿O quizás habría que pararse a pensar qué herramienta es necesaria para la tarea concreta independientemente de que lleve la etiqueta de IA o no?

En diciembre del pasado año 2016, el CISR de la MITSloan en uno de sus ‘Research Briefing’ titulado ‘Cinco cosas que debes conocer de la computación Cognitiva’3 publicó datos de un estudio sobre este tema en base a entrevistas realizadas a líderes del negocio y de tecnología de treinta y tres empresas.

Del estudio se desprende que, por una parte, no hay soluciones inmediatas a las incertidumbres de hoy, y por otra, las soluciones no son universales, ni para todos los problemas y tareas, ni para todas las empresas. Antes de implementar soluciones IA, se deben conocer muy bien las reglas del negocio.

Las Tecnologías de la Información son herramientas, muy potentes sin duda, y que han cambiado y siguen cambiando el mundo, pero herramientas, al fin y al cabo, que hay que saber dónde, para qué y cómo utilizar.

Pero empecemos con…

Un poco de historia

El famoso ‘Test de inteligencia’ propuesto por Alan Turing en 1950, ya mencionado, consistía en que un humano evaluara conversaciones en lenguaje natural entre otro humano y una máquina diseñada para generar respuestas similares a las de un humano. Se podría calificar de ‘inteligente’ a la máquina si el humano que evaluaba a ambos participantes no supiera distinguirlos.

Unos años después, en 1955, John McCarthy (Dartmouth College), Marvin Minsky (Harvard University), Nathan Rochester (I.B.M. Corporation) y Claude Shannon (Bell Telephone Laboratories) convocaron a un grupo de investigadores para una reunión en el Dartmouth College.

En la propuesta4 de temas a tratar que hicieron para la cumbre, aparecieron términos como procesamiento del lenguaje natural, redes neuronales (‘Neural Nets’ o NN), aprendizaje y ‘auto-mejora’ (self-improvement) de las máquinas, entre otros.

El aprendizaje de las máquinas se describía5 como un mecanismo con canales de entrada y salida, así como de un medio -algoritmos matemáticos- para dar una variedad de respuestas de tal manera que la máquina pudiera ser entrenada por un proceso de ‘prueba y error’ para escoger una de entre una variedad de funciones de ‘entrada-salida’.

En esencia, esto es lo que hacen las redes neuronales, “que consisten de muchos procesadores sencillos conectados, llamados neuronas, cada uno produciendo una secuencia de activaciones de valores reales. Las neuronas ‘input’ se activan a través de sensores que perciben el entorno, otras neuronas se activan a través de conexiones ponderadas (dando pesos a los distintos datos, de forma análoga a la importancia que se da a los distintos factores cuando se toman decisiones) procedentes de neuronas ya activas”6. Son algoritmos y modelos estadísticos.

La reunión de Dartmouth, efectivamente, tendría lugar en el verano del año siguiente, 1956, y entre la veintena de participantes, incluidos los firmantes de la convocatoria, se reunieron tres premios Nobel y cuatro premios Turing7.

Fue en esta Conferencia de Dartmouth8 (‘The Dartmouth Summer Research Project on Artificial Intelligence’) donde quedaría acuñado oficialmente el término Inteligencia Artificial.

El nuevo concepto9 se definió como ‘la ciencia y la ingeniería para hacer máquinas inteligentes, particularmente programas de ordenadores inteligentes’, entendida dicha inteligencia como ‘la parte computacional de la capacidad para conseguir objetivos en el mundo’.

Los algoritmos y modelos matemáticos relacionados con las NN han evolucionado desde los años 40 del pasado siglo, de unas cuantas etapas de computación en respuesta a unas cuantas capas de NN (Shallow NN), a algoritmos desarrollados entre los años 60 a 80 para los modelos lógicos de NN complejas de miles de ‘neuronas’ simuladas, organizadas en docenas o centenas de capas interconectadas.

Las neuronas de la primera capa reciben un dato de entrada o señal -como la intensidad de un pixel en una imagen- y realizan cálculos para entregar como resultado una nueva señal a las neuronas de la siguiente capa, y así hasta obtener un resultado final10.

La profundidad del ‘deep learning’ -aprendizaje profundo-, se refiere a la arquitectura de las máquinas en las capas ya mencionadas, análogas a la profundidad de las capas de neuronas interconectadas del cerebro.

foto

Pese a lo que ya dura la investigación en IA, solo en este siglo XXI11, y concretamente a partir del año 2006, parece haberse dado el pistoletazo de salida a una carrera en pos de producir herramientas tanto para uso de cualquier ciudadano como para uso industrial -robótica- y empresarial.

Ha sido en este siglo cuando, por una parte, se ha dispuesto de la cantidad de datos suficiente como para poder alimentar el ‘aprendizaje’ de una máquina; y, por otra, se ha alcanzado una eficiencia y potencia de cálculo en las máquinas notablemente superior a las coetáneas de los principales algoritmos y modelos de la IA del pasado siglo.

Así las cosas, en el año 2006 Geoffrey Hinton y Ruslan Salakhutdinov -miembros, ambos, en ese momento del departamento de ‘computer science’ de la Universidad de Toronto12– publicaron cómo acelerar el proceso de ‘deep learning’, popularizando este concepto, e impulsando la IA.

Desde entonces se ha progresado mucho. El reconocimiento de fotografías –por ejemplo, las de los gatos, (Google, 2012) o las de personas (Facebook, 2015)–, los llamados ‘asistentes virtuales’ con reconocimiento del lenguaje natural –Siri, Cortana o Alexa–, o las aplicaciones de búsqueda, análisis y clasificación de todo tipo de datos –como ofrece la plataforma ‘Watson’ de IBM–, son todos ejemplos de dicho progreso.

Es precisamente a IBM, y concretamente a su plataforma ‘Watson’ de IA, a quien se le asocian los términos ‘computación cognitiva’ y ‘sistemas cognitivos’. El Dr. John E. Kelly III, vicepresidente de IBM Research, en un documento del 2015, define estos términos como ‘referidos a sistemas que aprenden a escala, razonan con un propósito e interactúan con humanos de manera natural. En vez de ser explícitamente programados, aprenden y razonan desde su interacción con nosotros y desde sus experiencias con el entorno’13.

Una propuesta muy similar a la recogida en la convocatoria del año 1955 para la Conferencia de Dartmouth, ya citada.

Sobre la computación cognitiva en las organizaciones

Volviendo a la investigación llevada a cabo por el equipo del CISR14, en el artículo se declara como objetivo de dicha investigación responder a una serie de preguntas: ¿Cómo de disruptiva es la computación cognitiva (CC)? ¿Cambiará radicalmente la CC los negocios y los trabajos? ¿Qué deben hacer los líderes del negocio para sacar provecho de las posibilidades que le ofrecen? ¿Cómo evitar los riesgos desconocidos? A mi juicio, unas incógnitas perfectamente planteables en el ámbito de la adopción y uso, por parte de las organizaciones, de las tecnologías de la información.

El documento define la CC “como un sistema que adapta sus algoritmos o procesamiento subyacentes dependiendo de la exposición a nuevos datos”15. De esto se puede deducir que, a la hora de desarrollar dicho sistema se necesitan en primer lugar, muchos datos, y, en segundo lugar, tiempo para estabilizar los algoritmos y conseguir los resultados buscados.

Los usos que los negocios puedan hacer de la CC serán útiles si los productos que la incorporen son consistentes, precisos y fiables. Dichos usos tienen el potencial de hacer más eficientes los procesos operativos y de toma de decisiones; pero, para ello, dichos procesos se deben entender muy bien, han de estar muy bien diseñados y ya deben estar digitalizados, como condiciones previas a su automatización empleando CC.

foto

Los autores declaran que en la investigación inicial ‘aprendieron cinco lecciones’:

1ª lección: la CC debe aplicarse a tareas definidas muy concretas. Como ya se ha visto anteriormente, los dos hechos relevantes que han permitido el desarrollo de la IA han sido la disponibilidad de potencia de procesamiento, y por otro, el fácil acceso a gran cantidad de datos electrónicos. Estos dos hechos han permitido innumerables y rápidas iteraciones de aplicaciones que podían probar hipótesis, obtener patrones y optimizar modelos.

Como resultado, los negocios pueden obtener éxito al aplicar herramientas de aprendizaje de las máquinas sólo a los procesos que 1) tengan un resultado establecido; 2) sean muy repetitivos, y 3) dependan de datos electrónicos accesibles e interpretables.

Por ejemplo: la evaluación de un crédito bancario a un cliente potencial.

2ª Lección: Muchos problemas de negocio no son adecuados para la CC. La CC no puede conformar decisiones sobre entornos de alta incertidumbre o rápido cambio, por ejemplo, porque no existen aún herramientas de base, porque los datos relevantes puede que no se conozcan o no estén disponibles, y la frecuencia de un tipo de decisión sea baja. A esto se puede añadir que algunas decisiones dependen más de un instinto creativo que de un argumento de patrones establecidos.

3ª Lección: Las máquinas aprenden sólo si los humanos las entrenan mucho. Por ejemplo, la preparación de Watson para ganar el concurso Jeopardy llevó seis años de esfuerzo.

El uso de CC en diagnóstico médico requiere alimentar a la máquina con una gran cantidad de investigaciones médicas, así como de historiales de pacientes.

Algunas aplicaciones requieren un gran esfuerzo de enseñanza antes de que los algoritmos se estabilicen: el procesamiento del lenguaje natural sigue reglas gramaticales, pero el vocabulario puede ser muy variable en su significado, dependiendo de muchos factores, entre ellos, el contexto.

En entornos cambiantes, el proceso de enseñanza ha de continuar ya que los motores de recomendaciones han de ser re-entrenados para adaptarse a los cambios en productos y servicios.

4ª Lección: En muchos casos son los comerciales los mejor posicionados para recuperar las inversiones en CC. El rendimiento de la CC llega solo después de que un sistema tenga una sólida base de conocimiento, para lo cual, como ya se ha dicho, se necesita tiempo y esfuerzo.

Para muchas aplicaciones de negocio, es posible que una sola compañía no pueda justificar la inversión requerida para, recoger, diseñar y almacenar los datos, y los modelos iniciales para comenzar el aprendizaje de la máquina.

Los comerciales pueden recuperar las inversiones vendiendo los sistemas a otras compañías. Por otra parte, para muchas aplicaciones de la CC, las empresas harían bien en esperar productos que ofrecieran una base de conocimiento y el modelo inicial para poder comenzar su proyecto CC.

5ª Lección: Las compañías deben proceder de manera gradual para implementar aplicaciones de CC. El éxito de la aplicación al negocio de la CC va de la mano del crecimiento de los individuos en su comprensión del negocio. Un conocimiento vago en las reglas del negocio, limita las posibilidades de éxito en la adopción y uso de la CC. Si el resultado deseado no está claro o los datos que se requieren no están disponibles, una tarea no será adecuada para la CC.

Una estrategia gradual de valor añadido para la CC sería la siguiente:

  1. Las empresas establecen buenas reglas de negocio mediante las personas, quienes al ejecutar una tarea aprenden las relaciones entre distintos datos de entrada y sus resultados;
  2. Con el tiempo, los resultados se entienden lo suficientemente bien como para que se puedan automatizar las tareas repetitivas;
  3. La automatización permite probar las reglas de negocio en diferentes contextos, analizar las relaciones entre datos de entrada y resultados y elaborar o ajustar las reglas;
  4. En sistemas cerrados, las relaciones entre datos de entrada y resultados podría ser lo suficientemente clara como para permitir herramientas de análisis predictivo; y,
  5. Para problemas complejos, la CC podría ser una opción si el sistema pudiera tener acceso a suficientes datos útiles de tal manera que la máquina tuviera una base para adaptar sus propios algoritmos.

Conclusiones

Los autores del artículo concluyen que, al contrario que lo que se dice de ella, la CC no será probablemente tan disruptiva para la mayoría de las empresas. Algunas de éstas conseguirán beneficios desarrollando productos de negocio o de consumo que incorporen capacidades de CC.

Sin embargo, la mayoría de los líderes empresariales encontrarán el mejor camino para impulsar las oportunidades y gestionar los riesgos de la CC, invirtiendo en la mejora gradual de sus procesos. Con el tiempo, la mejora de los procesos producirá un aumento en la automatización y, quizás, conduzcan a procesos de CC.

[1]            A.M.Turing (1950)  ‘Computing Machinery and Intelligence. Mind 49: 433-460’. ‘The Imitation Game’/ ‘I propose to consider the question, ‘Can machines think?’ url [a 20170515] https://www.csee.umbc.edu/courses/471/papers/turing.pdf

[2]            Tom Simonite (20170512) ‘Nvidia CEO: Software Is Eating the World, but AI Is Going to Eat Software’ MIT Technoly Review. url [a 20170513]

https://www.technologyreview.com/s/607831/nvidia-ceo-software-is-eating-the-world-but-ai-is-going-to-eat-software/?set=607859

[3]            Jeanne W. Ross, Cynthia M. Beath, Monideepa Tarafdar (201612) ‘Five Things You Should Know About Cognitive Computing’. Reseach Briefing, Vol. xvi, Nº 12. MIT CISR url [a 20170514]  https://cisr.mit.edu/blog/documents/2016/12/15/2016_1201_cognitivecomputing_rossbeathtarafdar.pdf/

[4]            ‘A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence’ url [a 20170511] http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html

[5]            ‘The machine is provided with input and output channels and an internal means of providing varied output responses to inputs in such a way that the machine may be «trained» by a «trial and error’ process to acquire one of a range of input-output functions.» Ver referencia nota iv.

[6]              Jürgen Schmidhuber, (20141013) ‘Deep learning in neural networks: An overview’ Neural Networks Volume 61, January 2015, Pages 85–117. url [a 20170511]

http://www.sciencedirect.com/science/article/pii/S0893608014002135

[7]            La lista de participantes proporcionada por la  Wikipedia  (los premios no figuran): 1) Ray Solomonoff, 2) Marvin Minsky – Premio Turing, 3) John McCarthy  – Premio Turing, 4) Claude Shannon – Premio Nobel, 5) Trenchard More, 6) Nat Rochester, 7)Oliver Selfridge, 8) Julian Bigelow, 9) W. Ross Ashby, 10) W.S. McCulloch, 11) Abraham Robinson, 12) Tom Ette, 13)John Nash – Premio Nobel, 14) David Sayre, 15) Arthur Samuel, 16) Shoulders, 17) Shoulders’ friend, 18) Alex Bernstein, 19) Herbert Simon – Premio Nobel – Premio Turing, 20) Allen Newell – Premio Turing.  url [a 20160516] https://en.wikipedia.org/wiki/Dartmouth_workshop

[8]             Ver nota vii.

[9]            ‘It is the science and engineering of making intelligent machines, especially intelligent computer programs’ entendida la inteligencia como ‘Intelligence is the computational part of the ability to achieve goals in the world’. J.McCarthy (20071211) ‘What is Artificial Intelligence’. Stanford.edu  url [a 20170511] http://www.formal.stanford.edu/jmc/whatisai/node1.html

[10]            https://www.technologyreview.com/s/604087/the-dark-secret-at-the-heart-of-ai/

[11]            ‘A Short History Of Deep Learning – Everyone Should Read’  Forbes. https://www.forbes.com/sites/bernardmarr/2016/03/22/a-short-history-of-deep-learning-everyone-should-read/2/#a34cb06710c4

[12]            G. E. Hinton, R. R. Salakhutdinov. ‘Reducing the Dimensionality of Data with Neural Networks’  ’28 July 2006 VOL 313 SCIENCE’ https://www.cs.toronto.edu/~hinton/science.pdf

[13]            ‘Cognitive computing refers to systems that learn at scale, reason with purpose and interact with humans naturally. Rather than being explicitly programmed, they learn and reason from their interactions with us and from their experiences with their environment.’  John E. Kelly III (oct, 2015)  ‘Computing, cognition and the future of knowing’ IBM. url [a 20170514] http://www.research.ibm.com/software/IBMResearch/multimedia/Computing_Cognition_WhitePaper.pdf

[14]            Ver nota iii.

[15]            «We define cognitive computing as a system that adapts its underlying algorithms or processing based on exposure to new data». Ver referencia en nota iii.

Leer más