¿Las redes neuronales artificiales son igual de buenas en matemáticas que las computadoras normales con la misma cantidad de energía?

Casi todas las computadoras que ejecutan redes neuronales artificiales tienen el mismo hardware que las computadoras normales.

Los pocos que no usan hardware comercial están diseñados específicamente para fines de investigación, como SpiNNaker. Pero cualquier red neuronal que esté en uso comercial (por ejemplo, por Facebook) se ejecutará en servidores estándar, los mismos que ejecutan sitios web y bases de datos y todo lo habitual.

El software de la red neuronal es una abstracción sobre la parte superior de este hardware: cuando la red neuronal se está ejecutando, está haciendo un montón de cálculos en números individuales, al igual que una computadora normal. Entonces, para una tarea de un tamaño dado, el uso de energía es más o menos el mismo.

No usaría una red neuronal para hacer cálculos / matemáticas: en este punto, son esencialmente máquinas de coincidencia de patrones, que no son capaces de nada parecido al pensamiento humano. Los nuevos (redes neuronales profundas como AlphaGo) son mucho mejores patrones de patrones que la generación anterior, pero están lejos de ser pensadores de propósito general: AlphaGo solo ha aprendido a jugar Go, y no sería de ninguna utilidad en un muy juego similar como el ajedrez, no importa formar una oración significativa.

El proceso de configurar una red neuronal es así:

1) Defina un conjunto de datos de entrada y la salida que desea que cree la red neuronal para cada pieza de datos. Como ejemplo, podríamos definir los datos de entrada para que sean fotos, y la salida será si la imagen contiene o no una cara.

2) Revise MUCHAS fotos a mano, marcándolas con o sin caras. Esto se convierte en los datos de entrenamiento para su red neuronal.

3) Diseñe la red neuronal: esta es una pieza compleja de ingeniería, donde realiza compensaciones entre la precisión de la red y el tiempo que llevará entrenar, así como la cantidad de datos que necesita para entrenarla.

4) Entrene la red: este es un proceso en el que los pesos de la red (la importancia de las conexiones entre cada conjunto de neuronas) se adaptan para capturar mejor si la imagen contiene o no una cara. Este es el paso que ellos llaman “aprendizaje”, pero es esencialmente una secuencia de pasos que establece un conjunto de números para tener valores particulares. Muy diferente al aprendizaje humano.

5) Dele a la red una nueva imagen y vea si identifica correctamente una cara. Si ha construido bien la red, identificará caras la mayor parte del tiempo, incluso para datos nuevos que no ha visto antes.

Esta red no podrá hacer nada más con imágenes, porque no había información sobre esos otros usos en los datos de entrenamiento. Si quisieras que la red decidiera si la persona llevaba un sombrero, deberías volver al paso 1) y entrenar una nueva red.

No. Las computadoras normales están diseñadas para hacer cálculos simples (sumar, restar, multiplicar) directamente en números binarios y en coma flotante. Los ANN están diseñados para encontrar patrones o para generalizar asignaciones. Entonces, para un presupuesto de energía dado, el hardware que está diseñado para matemáticas simples, superará seriamente a los sistemas diseñados para algo completamente diferente. Piense de dónde provienen las ANN: redes neuronales reales. Somos bastante buenos para reconocer cosas (como puertas, uvas o libros) en cualquier iluminación, y bastante basura al multiplicar números de 7 dígitos … No es que los ANN sean * realmente * como sistemas neuronales reales, pero esa es una pregunta para otro día !