Este fin de semana se ha filtrado la historia de que un "chatbot" ha superado el test de Turing por primera vez. Casi toda la historia es falsa. El comunicado de prensa de la Universidad de Reading debería haber despertado todo tipo de sospechas en cualquier reportero. Relacionada:
www.meneame.net/story/ordenador-hace-historia-superar-primera-vez-test
Relacionado: "Publico mi código que pasa el test de Turing de un bebé de 18 meses, ¡el 100% de las veces!"
(twitter.com/gallir/status/476083057808924672)
El "problema", el vuestro no el del test, es que el Test de Turin no está definido con exactitud. Pero eso no quita valor a lo importante que es.
El test únicamente dice que es un humano quien debe distinguir entre máquina y otro humano. No dice mucho más. El resto es paja. Y es paja precisamente porque nosotros, los humanos, no podemos definir que es la inteligencia. Y ahí es donde reside el problema... en saber que es lo qué es la inteligencia. Una vez sepamos definirla con exactitud entonces seremos capaces de crearla.
Ayer lei la noticia en meneame y dejaba claro que el chatbot ganador del concurso del test de Turing, es un script, se puede ejecutar en un supercomputador como un smartphone, que los creadores, o al menos uno de ellos, se dedica profesionalmente para hacer lo mismo en Amazon.com desde años, pero con clientes reales, es decir, que te crees que estas hablando con un dependiente para reclamar una devolucion o las caracteristicas de un articulo y en realidad es un bot, vamos que el test de Turing es un juego (planteado hace 65 años) y un homenaje al propio Turing en su aniversario y que esta sobrepasado desde hace tiempo, pero esta reconocido como el padre o uno de los padres de la inteligencia artificial, la robotica y los automatas y ese es un hecho. Toda noticia en la que se le mencione y se la difunda, bienvenida sea.
A llorar por las esquinas.
translate.googleusercontent.com/translate_c?depth=1&hl=es&nv=1
Jeje, ma, pa, guta, nana...
Test de Galli superado
Eso explicaría por qué para la única reclamación que he hecho en Amazon, me atendió alguien tan rematadamente tonto que me acabó redirigiendo a otro (este sí supo hacer las cosas bien).
- El ordenador y el Test Turing
- La fosa de los 800 esqueletos: www.meneame.net/story/fosa-800-esqueletos-otro-mito-sobre-malvada-irla
- Las multas por Bla Bla Car: www.meneame.net/story/no-gobierno-no-multara-usar-blablacar
Es como si vas cada semana a un cine de barrio a ver cine de autor. De las 52 semanas que vayas, 40 verás mierda, 10 verás algo potable y 2 verás algo bueno.
La grandeza de esta web residía en que para noticias "normales" podías utilizar los medios mayoritarios (AEDE en su mayoría), que suelen estar mejor escritos y documentados, y que para noticias controvertidas donde se impone el silencio y la manipulación de las redacciones de esos medios podías utilizar medios alternativos.
En un sitio como meneame la comunidad es poderosa y tiene la calidad de noticias que se merece. En este caso una mierda.
1. Un chatbot és una forma de IA, y fue creado (entrenado / aprendió) por un supercomputador.
2. Qué test pasó Cleverbot? El artículo enlazado no lo acalar. Habla sobre "porcentaje de humanidad", no sobre pasar el test.
3. Doblando la reglas???? El bot DEBE hacer que la gente piense que es un humano! O sea que, claro, miente diciendo que es un humano. Cómo es esto manipular las reglas?
4. Sí, claro, no estamos hablando sobr los jueces teniendo que adivinar si eres hombre o mujer, sino humano o máquina!
5. Alguna fuente que confirme quien escogió a los jueces, aparte de un tweet?
6. Sí, el test de Turin es una chorrada. Pero eso no significa que no lo pasase.
Lo que quiero decir, más bien preguntar, es si esa forma de respuesta de una máquina ES o NO ES inteligencia artificial. Porque si no lo es, ¿qué lo es entonces?
La prueba consiste en un desafío. Se supone un juez situado en una habitación, una máquina y un ser humano en otra. El juez debe descubrir cuál es el ser humano y cuál es la máquina, estándoles a los dos permitido mentir al contestar por escrito las preguntas que el juez les hiciera. La tesis de Turing es que si ambos jugadores eran suficientemente hábiles, el juez no podría distinguir quién era el ser humano y quién la máquina.
es.wikipedia.org/wiki/Test_de_Turing
La IA del ajedrez funciona como dices (cáculos a mansalva), precisamente porque es la mejor estrategia para ganar. Los ordenadores son actualmente MUCHO mejores que los mejores humanos jugando al ajedrez.
¿Es esto inteligencia artificial? Sí. Lo que no es es "inteligencia artificial fuerte" (en.wikipedia.org/wiki/Artificial_general_intelligence) que es lo que normalmente quiere decir la gente cuando dice "inteligencia artificial".
Pero no es la única inteligencia artificial, y muchas no se basan en hacer cálculos a mansalva (o al menos no únicamente) como por ejemplo las redes neuronales o los diversos campos como por ejemplo el procesado de lenguaje natural, donde calcular muy rápido da igual. Ahí es donde, de momento, los humanos somos mejores.
www.imdb.com/title/tt2084970/
El test de Turing no es un test científico, era un simple juego, no hay unas reglas detalladas. ¿Pero qué mérito tiene "pasarlo" si el bot simula ser un niño de 13 años (para no poder hacerle preguntas que requieran conocimientos un poco elevados) y se le dice a los jueces que el inglés no es su lengua materna? ¿Cuál es el límite? ¿Si lo hicieran pasar por un niño de 3 años también podrían decir que han superado el test?
No existe algo parecido a lo que viene siendo el "sentido común". No hay nada de improvisación, creatividad, etc...
Se quiere aproximar al "sentido común" a base de procesar millones de datos simples, pero pienso que no es tan facil como eso y puede llevar a muchas contradicciones y meteduras de pata.
Si no sabemos bien como funciona el cerebro, no podemos crear algo parecido teniendo un conocimiento tan limitado del pensamiento/inteligencia humana. Yo personalmente llevo años sin asombrarme de nada que venga de la rama IA.
1) Un científico (o un desarrollador, un técnico, un ingeniero, un...) realiza un avance modesto en un determinado campo.
2) Se lo cuenta a un periodista.
3) El modesto avance se convierte en "una revolución".
Pasa muy a menudo y se debe a la poca ética de las personas involucradas. Por un lado tenemos al periodista, que habla/escribe sin tener ni idea. Y por otro al científico, que pese a ser consciente de que no ha hecho gran cosa se atreve a animar al periodista a anunciarlo a bombo y platillo.
¿Cuántos cores tienen la CPU más gorda que se usa en servidores actualmente?
¿Y cuántos "cores" tiene tu cerebro?
Si todo avance en IA lo descartas porque se debe al avance en el hardware entonces claro que la IA no avanza Y junto con el hardware avanzan los algoritmos (aunque sea simplemente en adaptarlos al nuevo paradigma paralelo).
IMHO las redes neuronales siguen siendo el camino a seguir para imitar al cerebro humano (aunque sean sólo un modelo), pero seguimos limitados en cuanto al hardware se refiere.
Una red neuronal también es capaz de "improvisar" ante estímulos que no ha visto hasta ahora y que no están programados. Puedes argumentar que el mapeo en las neuronas es esa programación de la que hablas. Yo te argumentaría que exactamente igual que nosotros.
Sobre lo otro, los jueces supongo que le preguntarían sobre cosas que sí que debería conocer un chaval de 13 años, o sobre su lengua materna.
¿realmente una red neuronal improvisa estímulos? yo solo he logrado que sean capaces de resolverme problemas de decisión tipo: ante estos estímulos de entrada dame estas salidas con el menor margen de error posible... lo cual deja poco margen a la improvisación (lo que queda es margen de error, o sea, puede equivocarse al buscar una solución, pero no improvisar soluciones nuevas). Lo que pasa ante un estímulo nuevo para el que no ha sido entrenada es que intenta seguir su programación "tal cual" y reacciona como puede y con mucho error. Te lo dice un tipo que en su día hizo un software de corrección de ojos rojos basado en redes neuronales (imagínate que hice pruebas con todo tipo de fotos, para conseguir que se centrara sólo en ojos, y sé perfectamente las limitaciones de un software así)
Las redes neuronales humanas se recablean para adaptarse a nuevos problemas. Ya solo eso es algo que no puede hacer ningún ordenador ahora mismo (entre otras cosas porque no sabemos qué lógica siguen dichos recableos, entre otras cosas porque no sabemos cómo hace el cerebro para almacenar la información realmente)
www.microsiervos.com/archivo/ordenadores/no-eugene-goostman-no-es-un-b
Y otro de gizmodo
es.gizmodo.com/el-ordenador-que-supero-el-test-de-turing-engano-o-hi-1
La naturaleza nos lleva millones de años de ventaja. ¡Demasiado bien que vamos!
"¿realmente una red neuronal improvisa estímulos?"
Yo creo que sí, o al menos en la misma medida que el ser humano. ¡Ahora mismo un ordenador es capaz de resolver CAPTCHAs con un % de acierto mayor al del ser humano!
"Lo que pasa ante un estímulo nuevo para el que no ha sido entrenada es que intenta seguir su programación "tal cual" y reacciona como puede y con mucho error."
Como nosotros ¿O tú no ves objetos en las nubes y figuras humanas en las sombras?
"Las redes neuronales humanas se recablean para adaptarse a nuevos problemas."
Y las redes neuronales por software también pueden. Es un problema de entorno: nosotros recibimos continuamente "feedback" ante esos nuevos problemas y las soluciones que aportamos, mientras que esperamos que la red neuronal artificial funcione perfectamente sin supervisión.
No nos damos cuenta de que un ordenador está limitado porque no recibe la misma cantidad de estímulos que nosotros ni lleva millones de años de "programación" implícita.
No se, creo que el problema no es solo el hardware o la potencia de calculo en paralelo. Creo que hay otras muchas cosas que no conocemos (a nivel fisico o matematico) del cerebro y que podrían ser la clave para mejorar en IA. Es de tontos pretender creer que actualmente lo conocemos todo, porque eso puede llevarnos a otra crisis de la IA.
Que el ser humano se equivoque al escribir o mire con prisas no implica que no sepa resolver captchas, solo implica que es torpe y que baje el porcentaje de aciertos. Que un bot sepa capaz de acertar más que la media de humanos no lo hace más listo que el más tonto de ellos, solo un bicho hiperespecializado en una cosa que no vale para nada más.
¿Qué entiendes tu por recablear? ¿qué redes neuronales se recablean y qué algoritmos utilizan para ello?
Las redes neuronales tienen que ser entrenadas, hacerles ver qué es lo que queremos que acepten y qué es lo que queremos que rechacen. Los cerebros se entrenan solos. Las redes neuronales que no se entrenan no valen, se ajustan a las entradas que le introducimos sin más hasta no tener error. Introduce otra cosa y empezarán a funcionar mal porque no sabrán discriminar, no tienen modelos para hacerlo.
Ea, ea, ya pasó.
Lo que quiero decir es que yo no la veo errónea. Aunque el test no sea una cosa seria, se sobreentiende que, cuando se dice que la máquina debe hacerse pasar por humano, debería ser cualquier humano, en general, si lo restringes a adolescente con lengua materna no inglesa (y jueces con lengua materna inglesa), entonces yo no diría que el bot ha pasado el test de Turing
Y que no sea ua FPGA, porque decir que una FPGA programada es una "tarjeta aceleradora para redes neuronales" es bastante engañoso/erróneo.
#47
"¿Qué entiendes tu por recablear? ¿qué redes neuronales se recablean y qué algoritmos utilizan para ello?"
Como tú mismo dices: "Las redes neuronales tienen que ser entrenadas". El entrenamiento de las RNA es precisamente ese recableo.
¿Algoritmos? Pues por poner un ejemplo, backpropagation.
"Las redes neuronales tienen que ser entrenadas, hacerles ver qué es lo que queremos que acepten y qué es lo que queremos que rechacen. Los cerebros se entrenan solos."
¡No! ¡Los cerebros no se entrenan solos! Si así fuera todo el mundo sabría todos los idiomas sin exponerse a los estímulos lingüísticos (las entradas en la RNA) y sin que nadie les dijera qué aceptar (buenas construcciones de frases) y qué rechazar (p.ej. cuando conjugas de pequeño mal un verbo y te dicen "no es hacido, sino 'hecho'").
No entiendo por qué distingues entre un entrenamiento y otro. Ambos son entrenamientos en el mismo sentido. Los humanos tenemos la ventaja de que recibimos feedback de nuestros errores, mientras que las RNA se espera que funcionen de forma autónoma y sin fallar (cosa que no conseguimos ni los humanos).
"Las redes neuronales que no se entrenan no valen, se ajustan a las entradas que le introducimos sin más hasta no tener error. Introduce otra cosa y empezarán a funcionar mal porque no sabrán discriminar, no tienen modelos para hacerlo."
Discrepo y no porque me de la gana sino porque he visto RNA en acción.
Es precisamente la gracia de las redes neuronales, que se adaptan a nuevos estímulos. Si no, no tendría sentido usarlas... Si solo valen para los estímulos que le has entrenado, ¿para qué cojones vas a usarlas si ya tienes tú mismo las respuestas con las que las estás entrenando?
Esta claro que la intervencion humana es necesaria para introducir los parametros (fitness, crossover/mutation) de 'como' queremos que evolucione la solucion del problema, pero cualquier situacion del tipo NP-Completo y sin necesidad de patrones de aprendizaje se puede resolver, si eso no es (r)-evolucion, joder.
Que dentro de poco no aparezcan nuevas herramientas matematicas que mejoren la AI, tampoco lo dudo. El 'sentido comun', no se que significa, las computadoras solo entienden instrucciones logicas, las emociones, afortunadamente solo estan al alcance de los seres humanos, pero eso si, disfrutemoslas, coño, lo demas dejemoselo a las maquinas.
Que estos avances no se utilicen para mejorar la economia global, sino el de unos pocos, que se use para instrumental belico o represivo en lugar del bienestar de las personas, la salud solo del que pueda permitirselo, lo acepto, pero existir existen.
Sabrás entonces que primero se entrena una red neuronal y luego se usa una vez acabado el entrenamiento. Seguir entrenando la red neuronal es perder los avances que hayas hecho para resolver un cierto problema, la estarás alienando (igual que los resultados dejan de ser óptimos si la sobreentrenas o si la subentrenas, también lo son si empiezas a meter información extra a mitad de un entreno, más cuanto más se alejen esas nuevas muestras de los datos sobre los que quieres trabajar).
Backpropagation es un algoritmo simple de retroalimentación. Eso no es un recableado, no hay cambio de topología, no es cambiar los enlaces, es algo necesario para que cada neurona mantenga un "histórico" de su estado anterior para no perder todo el conocimiento que antes tenían al llegar un estímulo nuevo.
Bien, ¿y cómo aprendió otro idioma el primer bilingüe de la historia? somos capaces de entender que ciertas palabras se corresponden con un objeto, así que aprendemos solos y sin que nadie nos de un diccionario y nos enseñe a usarlo el nombre de las cosas. A base de escuchar aprendemos la sintaxis, la construcción de las frases, igual que hacen los bebés. Las redes neuronales aprenden diferente, no entienden los estímulos, somos los humanos los que les damos un objetivo, cosas que aprender, y ellas terminan adaptandose para reconocer ese objetivo y a rechazar cosas que no son ese objetivo. Fin. Eso es resolver problemas de decisión "binaria" con un margen de error, no aprender.
Las redes neuronales tienen sentido desde el reconocimiento de patrones precisamente porque los algoritmos tradicionales que harían el mismo trabajo son muy complejos o nadie los ha sabido/podido/querido diseñar todavía. Pero si les haces aprender un patrón nuevo, ya no te reconocerán el anterior (y no, eso es muy diferente del olvido nuestro, nosotros olvidamos la información espúrea, si nos dan un nuevo patrón no olvidamos el anterior salvo que ya no nos valga). La mente humana es capaz de quedarse con las características básicas de algo, el recuerdo es una regeneración de ese algo a partir de los datos almacenados. Una red neuronal es un bloque que se fija con el entrenamiento, imagínate el juego este de niños pequeños de meter formas en agujeros para esas formas. En este caso, una red neuronal es como tallar poco a poco ese agujero de manera que termine entrando solo la pieza correspondiente (pongamos una estrellita) y no las demás (ni la lunita, ni el cubito). Una vez aprendida una cosa, no puede aprender otra sin hacer borrón y cuenta nueva. Con mucho entrenamiento puedes programarlas para que aprendan dos o tres cosas simultaneamente, dependiendo del tamaño y complejidad de la red igual son capaces de aprender más, pero no te equivoques, cuantas más cosas quieras que aprendan más error vas a cometer. No son adaptables, y desde que dejes una entrada arbitraria de datos, salvo que se repita algún patrón muy característico (que al fin y al cabo es de lo que se trata el entrenamiento, de fijar un patrón en la "memoria" de estas redes), la salida se terminará convirtiendo en basura.
Busca "incremental neural network", "self organizing neural network", etc. que es exactamente lo que es nuestro cerebro. No todo son perceptrones, amigo
"Backpropagation es un algoritmo simple de retroalimentación. Eso no es un recableado, no hay cambio de topología"
Si un peso es 0 no hay cable. Si es >0 hay cable. Recuerda que una RNA es un modelo. Si pretendes una simulación real, se vuelve impráctico.
"Bien, ¿y cómo aprendió otro idioma el primer bilingüe de la historia?"
Pues oyendo a otros hablantes (estímulo) y recibiendo respuesta positiva o negativa. Como las redes neuronales.
"A base de escuchar aprendemos la sintaxis"
Eso suena exactamente como una red neuronal.
"somos los humanos los que les damos un objetivo"
Eso suena exactamente como el aprendizaje humano.
Sigo sin entender muy bien por qué diferencias el aprendizaje humano del aprendizaje en las RNA.
Estímulo -> Respuesta -> Correción de errores -> Rinse and repeat
¡Me estás enlazando a tarjetas en bus ISA/PCI a 33MHz!
Sigo diciendo que no hay cambio de topología, sigue habiendo el mismo número de neuronas, dispuestas e interconectadas de la misma forma. Es solo una forma de controlar el paso de información por ellas, la forma de controlar el aprendizaje. Sigue sin haber reconexiones.
Cuando oyes a un hablante en otro idioma no recibes una respuesta negativa o positiva. Tu la interpretas como positiva o negativa, pero con otras connotaciones además. No sabes si una persona que te responde mal a una pregunta lo hace porque está enfadado, porque es así de brusca, porque no quiere que le molestes y no te ha contestado a tu pregunta, porque... y dependiendo del tipo de respuesta le añades miedo, frustración, dolor, risa, etc. Hay un componente emocional aparte de un componente racional, y dentro de cada hay una gradación tremenda; no es tan fácil la información real que encuentra nuestro cerebro y la que tiene como entrada una red neuronal (que además está filtrada y cribada durante su entrenamiento, porque lo que interesa es que aprenda rápido y se quede con casos claros del patrón referencia de modo que pueda distinguirlos rápidamente de todo lo demás).
Eso es más complejo que una red neuronal. La sintaxis de un lenguaje natural permite ambigüedades, casi se sustenta en ellas. Necesitas asociar varios significados a una misma cosa y saber elegir por el contexto en que se dice. Muchas veces necesitamos un cierto tono de voz o una mirada para entender unas palabras.
Porque el humano es capaz de razonar y resolver problemas nuevos sin cometer errores ni repetir. No necesita un aprendizaje previo. Y esto ya lo dije antes.
Entre los enlaces de tu web me llevan a www.particle.kth.se/~lindsey/HardwareNNWCourse/summary.html#Update donde dice, tal y como yo opino:
"As far as I can tell, there are still no significant developments in the theory and application of really large NNWs (1000s of neurons). Large networks, and also fast learning, will provide the requirements that will eventually demand hardware architectures."
Cuando se fabrique una unidad de procesado con miles de millones de cores (aunque sólo sepan realizar dos operaciones: multiplicar por el peso y aprendizaje) podremos compararla con el cerebro humano.
Lo que diferencia mi opinión de la tuya es que tú crees que es una cuestión estructural, mientras que yo lo veo como una cuestión de paralelismo (obviamente también estructural, pero en menor medida... y creo que limitada por el hardware en estos momentos, no por falta de ideas). Y ninguno de los dos puede demostrarle al otro que no tiene razón
Porque de lo contrario no tendría sentido ni mérito pasar el test. Si bastase con simular a "un sólo ser humano" elegido a dedo, bastaría elegir a alguien mudo (o sin manos para teclear). O alguien sordo y ciego, que no podría captar las preguntas. Entonces cualquier programa que no respondiera nada pasaría ese test (incluso un loro lo pasaría en ese caso, con la excusa de que se trata de un sordo por ejemplo), pero no tendría sentido ni utilidad (ni siquiera utilidad filosófica).
Esta claro que las maquinas no tienen intuicion, sensibilidad, emociones, que es lo que nos diferencian, pero eso no las hace mejores ni peores.
Quiza sea facil engañarlas mediante paradojas logicas, pero absurdas, pero no hubiesen cometido errores como el accidente del Alvia por atender una llamada de movil que el sentido comun humano si hizo, era la llamada del interventor, podia ser importante. Un sistema EMRTS hubiese hecho tomar la curva a la velocidad adecuada, ni sentido comun, ni emociones ni nada.
El accidente del Aviaco, si un dispositivo dice que hay un error, el sentido comun de un mecanico dice, bah, esto se ha quedado haciendo contacto, lo quitamos y va que chuta, un piloto automatico hubiese abortado el vuelo. Aunque si ese avion hubiese sido el del Principe el piloto hubiese abortado igualmente, ahi parece que hay mas sentido comun.
Quiero decir, que el sentido comun es muy relativo, emocional y nada fiable.
Por supuesto que respeto tu opinion y te reitero mis disculpas por no haber sido claro al escribir unas carcajadas sin mas en mi anterior comentario.
Un saludo.
#74
www.popsci.com/blog-network/zero-moment/lie-lady-profoundly-weird-gend