¿Por qué las computadoras pueden completar algunas tareas excepcionalmente bien y otras terriblemente?

Una respuesta completa seguramente tomaría varios cientos de páginas, pero intentaré que sea breve y fácil.

Una “computadora” en el contexto de su pregunta es una máquina que todos conocemos y usamos durante décadas. Estas máquinas son esencialmente “máquinas von-Neumann” http://en.wikipedia.org/wiki/Von…

Eso significa que las computadoras hacen cosas secuencialmente, controladas por algoritmos predefinidos. Cualquier entrada será leída, transformada programáticamente (aunque a veces extraordinariamente complicada) y presentada como salida (visual o texto).

El cerebro humano (pero también el cerebro de los animales) funciona fundamentalmente diferente. Hoy, sabemos mucho sobre el funcionamiento interno del cerebro, perdón por la disidencia, Usuario de Quora.

Un cerebro es una “red neuronal” http://en.wikipedia.org/wiki/Neu…, no directamente comparable a una máquina von-Neumann.

Básicamente, un cerebro consiste en una miríada de pequeños interruptores muy tontos (“neuronas”) que están interconectados de dos maneras: forzando conexiones e inhibiendo conexiones. A través de estas conexiones, una neurona cambia su estado dependiendo de los estados actuales de sus neuronas conectadas. Y el giro mágico aquí es que la “fuerza” de estas conexiones cambia por sí misma, dependiendo de cuánto se use una conexión.

En realidad, el comportamiento neuronal es mucho más complicado, pero lo dejaré en este nivel aquí.

Por lo tanto, algunos miles de millones de neuronas conectadas (que es el cerebro) también pueden transformar alguna entrada (por ejemplo, la vista de un rostro humano) en una salida muy diferente (el nombre de la persona que pertenece a este rostro). Lo sé, lo sé, es increíble lo eficiente que puede funcionar un montón de espagueti 😉

La ventaja única de una red neuronal:
Puede aprender procesando muchas entradas y cuando recibe una retroalimentación sobre su rendimiento (bueno / malo, correcto / incorrecto). El “aprendizaje” en un cerebro ocurre cambiando la fuerza de miles y miles de millones de conexiones entre neuronas. ¡Estos cambios suceden relativamente lento pero en paralelo!

La ventaja única de una máquina von-Neumann:
Como ejecuta un programa predefinido y no cambia su programa mientras se ejecuta, puede ser enormemente rápido.

Esto nos lleva a la conclusión y la respuesta a su pregunta:
Debido a que el cerebro es una red neuronal, que realiza miles de millones de cálculos paralelos y es capaz de cambiar su forma de trabajar (mientras trabaja), es realmente bueno para resolver problemas “blandos” o poco claros. Habla sobre sobrevivir en el mundo real y caótico.

Una computadora (como la conocemos hoy) falla en estos problemas, porque su programa no es tan adaptable, su memoria es limitada y solo ejecuta cálculos secuenciales. Esto es perfecto para problemas que se presentan claramente (como las matemáticas o las búsquedas de palabras) y para los cuales la estrategia de solución es algorítmica.

Si esto cambiará en el futuro, se ha debatido acaloradamente durante décadas. Hubo altibajos en la probabilidad de una computadora tan “inteligente” como el cerebro humano.

Actualmente trabajando para un proyecto de investigación internacional en este campo, pronostico con cautela que tendremos computadoras tan inteligentes como un pequeño animal en los próximos 10 años. ¡Pero no me pregunte si podemos hacer que estas computadoras sean autoservicio! Esa es una bola de cera completamente diferente, ya que la ciencia todavía no tiene una buena teoría sobre la autoconciencia o la conciencia.

Lo que detiene a las computadoras es bastante simple: hardware.

Por supuesto, podemos simular redes neuronales complejas en software e incluso usar hardware masivamente paralelo para la velocidad. Pero incluso este hardware todavía consiste en máquinas von-Neumann relativamente voluminosas, que utilizan mucha energía y espacio.

Se necesitaría un enfoque completamente nuevo para el “hardware”, esencialmente imitando el “software” muy eficiente del cerebro para lograr una escala similar de paralelización y eficiencia energética. Todo contenido en un dispositivo no más grande que un cráneo humano.

En su comentario a continuación, el usuario de Quora ha planteado dos puntos buenos más que me gustaría explicar …

Anexo: lo que sabemos hoy y el papel del software
Seguí el flujo y reflujo de la IA durante décadas y hoy tengo la suerte de trabajar con algunas de las mentes más brillantes de la neurociencia.

Es difícil juzgar cuánto sabemos hoy sobre la forma en que el cerebro trabaja en una escala de 0 a 100. Pero nuestro conocimiento seguramente ha expandido a pasos agigantados desde los primeros días de las redes neuronales artificiales (como el perceptrón http: // en .wikipedia.org / wiki / Per …).

Las redes neuronales artificiales de hoy son muy sofisticadas en su arquitectura y escala, combinando métodos alucinantes (juegos de palabras) de la informática y las matemáticas superiores. ¡Y los algoritmos más exitosos hasta ahora se han descubierto y aplicado recientemente!

A través de los avances en la exploración clínica, como la resonancia magnética funcional o de difusión, también tenemos una buena comprensión (aunque no completa) sobre la estructura real de las neuronas y sinapsis del cerebro (documentado, por ejemplo, en el Proyecto Connectome Humano http://en.wikipedia.org/wiki /Estafa…).

Los esfuerzos actuales para crear una computadora capaz de simular un cerebro humano se pueden dividir aproximadamente en dos enfoques, representados por los proyectos insignia correspondientes:

  • Blue Brain Project , dirigido por Henry Markram

Sitio web del proyecto: http://bluebrain.epfl.ch/

Este proyecto adopta un enfoque de abajo hacia arriba, esencialmente tratando de construir un cerebro mediante el ensamblaje de neuronas simuladas y sinapsis desde el nivel molecular hacia las estructuras que se encuentran en el tejido biológico real.

Estos tipos ya simularon con éxito una pequeña parte (una columna neocortical) del cerebro de una rata, que consta de decenas de miles de neuronas simuladas. Están utilizando grandes cantidades de potencia informática paralela masiva para ampliar aún más, con la ayuda de IBM.

  • El cerebro virtual , dirigido por Randy McIntosh, Viktor Jirsa y Cathy Price

Sitio web del proyecto: http://www.thevirtualbrain.org/

Este proyecto avanza de una manera bastante nueva y más holística, básicamente tratando de construir una simulación cerebral que se comporte de la misma manera que un cerebro humano real cuando se inspecciona a través de exploraciones clínicas establecidas (MRI, EEG, etc.).

Estos chicos ya podrían simular con éxito la producción medible de un cerebro “en reposo” y predecir los resultados de enfermedades cerebrales como derrames cerebrales o epilepsia. Intentan evitar las trampas de las necesidades cada vez mayores de potencia informática mediante el refinamiento de su arquitectura de software con los últimos hallazgos en el comportamiento y las estructuras neuronales.

Ambos enfoques tienen un largo camino por recorrer hacia un cerebro simulado. Están pensando en plazos de 10 a 15 años para los principales hitos. E incluso entonces, eventualmente lograrán simular ciertos aspectos, capacidades o pequeñas partes del cerebro humano.

Como dije antes, el hardware es uno de los principales factores limitantes, ya que no es posible conectar miles de millones de neuronas entre sí, y mucho menos eficiente con el silicio actual.

Pero otras respuestas y comentarios aquí también son correctos: el software de simulación también debe parecerse a las comunicaciones neurona a neurona reales más cercanas. Pero al menos esto es factible a través de la investigación y el pensamiento inteligente.

Quora User también tiene razón al señalar que el entrenamiento de estos cerebros simulados es otra clave para el éxito. El tipo y la cantidad de entrenamiento que un cerebro necesita para alcanzar niveles particulares de capacidad es un desafío.

¡Pero es sorprendente lo lejos que hemos llegado!

La respuesta es ciertamente más complicada que esta, y no soy un experto en este campo, pero aquí están mis dos centavos: las computadoras no son buenas para el procesamiento del lenguaje natural porque no se descompone en una secuencia bien definida pasos.

Las computadoras, tal como existen hoy, ejecutan programas escritos por humanos para realizar tareas específicas y bien definidas. Los cálculos matemáticos se pueden definir con mucha precisión y, por lo tanto, una computadora puede realizarlos de manera muy eficiente.

El procesamiento del lenguaje natural es diferente. Para los humanos, analizar una oración e inferir su significado requiere años de experiencia y entrenamiento. (¡En serio! Piense en cuánto tiempo le toma a un bebé aprender a hablar). No se lleva a cabo mediante un conjunto fijo de reglas, sino al reconocer expresiones idiomáticas, formas de hablar y construcciones recopiladas de toda una vida de hablar y escuchar. El cerebro humano es bueno en esto: en gran parte, el cerebro es un motor de reconocimiento de patrones gigante e incluye una cantidad significativa de hardware (principalmente) de función fija para el procesamiento de audio y lenguaje, además de una enorme cantidad de hardware de funciones para procesamiento visual.

Puede ser que los algoritmos de aprendizaje informático eventualmente estén a la altura de la tarea, o que algunos humanos muy inteligentes encuentren una manera de hacer algoritmos generales para problemas de PNL, o que podamos lanzarle hardware, o que un hardware el cambio (como lo que sugiere Michael Burgstahler ) ayudará. Pero llevará un tiempo.

Puedo ver que hay varios intentos de responder esta pregunta, pero ninguno de ellos es correcto. No tiene nada que ver con arquitectura de hardware, redes neuronales, procesamiento digital o algorítmico. La respuesta correcta es:
“Porque algunas tareas son simples y otras son difíciles”.

Esto parece una respuesta trivial, pero así es como es. Las tareas en las que las computadoras son buenas, como la multiplicación de números de mil dígitos o resolver ecuaciones complejas, son tareas realmente simples. Las tareas en las que las computadoras son malas, como entender inglés básico o caminar por la sala, son realmente difíciles.
La parte interesante es por qué los humanos intuitivamente suponemos que es al revés. Se llama la paradoja de Moravec

Veamos una oración básica como “Cómprame una manzana” e intentemos imaginar cuánta información y cuánto procesamiento se necesita para comprenderla. En primer lugar, uno debe tener un concepto de cada una de estas palabras: “comprar”, lo que significa que uno necesita saber qué es el dinero, cómo se ve el proceso de compra y dónde puede comprar cosas, “yo”, que significa que uno tiene que entender la identidad, “una manzana”, lo que significa que uno tiene que saber qué es la manzana, cómo distinguirla de otros objetos y finalmente comprender la generalización, porque podría ser cualquier manzana. Hay que poner en un contexto. Si actualmente estamos en una tienda, tal vez esta acción debería realizarse en este momento. Si no, ¿esta oración también significa “ir a la tienda”? Es necesario evaluar si se trata de una solicitud, o tal vez solo está leyendo un libro en voz alta y no se necesita ninguna acción. Uno debe evaluar si debe dejar lo que está haciendo ahora e ir a la tienda, o terminar lo que está haciendo ahora, o pedir más detalles, o pedir dinero para la manzana, o tal vez negarse a hacerlo y proporcionar alguna explicación Y esto continúa.

Nuestros cerebros son capaces de procesar todo esto en un instante. Pero esto no significa que sea simple. Significa que somos muy, muy buenos. Pero solo somos buenos en varias cosas, aquellas que fueron optimizadas por la evolución durante millones de años. Los que no fueron optimizados, como la multiplicación, el cálculo o jugar al ajedrez, nos parecen muy difíciles. Y es por eso que las computadoras funcionan “excepcionalmente bien”. Ellos no. Las computadoras siguen siendo muy primitivas. Su rendimiento es excepcional solo en comparación con el nuestro, que es aún peor.

Con el tiempo, las computadoras funcionarán mejor y cada vez habrá más tareas a su alcance. En algún momento podrían hacer todo lo que hacemos. Pero debido a que están optimizados de una manera diferente, habrá grandes diferencias entre nuestras capacidades. Y esto es algo bueno.

More Interesting

Combinatoria: ¿Cómo se puede encontrar toda la representación del coeficiente combinatorio de un número dado [matemática] n [/ matemática], es decir, todos los pares de números naturales [matemática] (a, b) [/ matemática] tal que [matemática] \ binom { a} {b} = n [/ matemáticas]?

¿Todas las funciones generadoras de números (pseudo) aleatorios son cíclicas?

Delta suma máxima: ¿Cómo podría ordenar 1 millón de enteros, de un conjunto de enteros positivos infinitos que tienen como máximo 8 dígitos de largo, de modo que estén (1) ordenados, y (2) la suma de todos los deltas entre números adyacentes es en el valor máximo posible y por qué?

¿Cuál es la diferencia entre la solución de estrategia dominante y el equilibrio de Nash?

¿Cómo puedo encontrar todos los casos de combinación con un número dado?

¿Existe un algoritmo que encuentre subgrafías de un gráfico de manera que cada nodo en una subgrafía esté conectado a al menos k otros nodos de esa subgrafía?

¿Quién se beneficiaría de una generación de números primos más eficiente?

¿Cómo encontrarías todos los trillizos pitagóricos en una matriz de n números?

¿Cuál es el algoritmo más rápido para calcular la raíz cuadrada entera de un número?

Dado un conjunto de números naturales [matemáticos] n [/ matemáticos], encuentre los dos subconjuntos de números ‘k’, cuya suma es [matemática] S_k [/ matemática], que minimizan la diferencia entre estas sumas. ¿Cómo lo resuelves con programación dinámica?