Si las neuronas y las sinapsis se pueden implementar usando transistores, ¿qué nos impide crear redes neuronales arbitrariamente grandes usando los mismos métodos con los que se hacen las GPU?
En esencia, hemos visto cuán extraordinariamente bien funcionan las redes neuronales virtuales implementadas en procesadores secuenciales (incluso las GPU son máquinas secuenciales, pero con grandes cantidades de núcleos).
Uno puede imaginar que usando principios de diseño de GPU, que es básicamente tener miles de unidades de procesamiento programables que funcionan en paralelo, podríamos hacer "unidades de procesamiento de neuronas" mucho más simples y poner millones o miles de millones de esas NPU en un solo chip grande. Tendrían su propia memoria (para almacenar pesas) y estarían conectados a unos cientos de otras neuronas compartiendo un autobús. Podrían tener una frecuencia de, por ejemplo, 20 Hz, lo que les permitiría compartir un bus de datos con muchas otras neuronas.
Obviamente, hay algunos desafíos de ingeniería eléctrica aquí, pero me parece que todas las grandes compañías tecnológicas deberían estar explorando esta ruta por ahora.
Muchos investigadores de IA dicen que la superinteligencia llegará alrededor del año 2045. Creo que su razonamiento se basa en la ley de Moore y en la cantidad de neuronas que podemos implementar en el software que se ejecuta en las computadoras más rápidas que tenemos.
Pero el hecho es que hoy estamos haciendo chips de silicio con miles de millones de transistores en ellos. SPARK M7 tiene 10 mil millones de transistores.
Si implementar una neurona (no programable) y unos pocos cientos de sinapsis requiere, por ejemplo, 100 000 transistores, entonces podemos hacer una red neuronal en hardware que emule 100 000 neuronas.
Si diseñamos un chip de este tipo para que podamos hacerlo físicamente más grande si queremos más neuronas, entonces me parece que las redes neuronales arbitrariamente grandes son simplemente una cuestión de presupuesto.
¿Somos técnicamente capaces de hacer, en hardware, redes neuronales arbitrariamente grandes con la tecnología actual?
Recuerde: NO estoy preguntando si esa red será realmente muy inteligente. Simplemente estoy preguntando si podemos hacer redes neuronales altamente interconectadas, grandes y arbitrarias, si decidimos pagarle a Intel para que haga esto.
La implicación es que el día que algún científico pueda crear inteligencia general en software, podemos usar nuestras capacidades de hardware para hacer crecer esta inteligencia general a niveles humanos y más allá.
fuente
Respuestas:
El enfoque que describe se llama computación neuromórfica y es un campo bastante ocupado .
TrueNorth de IBM incluso tiene neuronas en aumento .
El principal problema con estos proyectos es que todavía nadie sabe qué hacer con ellos.
Estos proyectos no intentan crear chips que estén optimizados para ejecutar una red neuronal. Eso ciertamente sería posible, pero la parte costosa es la capacitación, no el funcionamiento de redes neuronales. Y para el entrenamiento necesitas enormes multiplicaciones de matrices, algo en lo que las GPU ya son muy buenas. ( El TPU de Google sería un chip optimizado para ejecutar NN).
Para hacer una investigación sobre algoritmos que podrían implementarse en el cerebro (casi no sabemos nada al respecto) necesita flexibilidad, algo que estos chips no tienen. Además, el desafío de ingeniería probablemente radica en proporcionar muchas sinapsis, solo compara el número promedio de sinapsis por neurona de TrueNorth, 256, y el cerebro, 10,000.
Por lo tanto, podría crear un chip diseñado después de alguna arquitectura neuronal y sería más rápido, más eficiente, etc., pero para hacerlo necesitará saber qué arquitectura funciona primero. Sabemos que el aprendizaje profundo funciona, por lo que Google utiliza hardware personalizado para ejecutar sus aplicaciones y ciertamente podría imaginar que el hardware de aprendizaje profundo personalizado llegará a un teléfono inteligente cerca de usted en el futuro. Para crear un chip neuromórfico para una IA fuerte, primero deberías desarrollar una IA fuerte.
fuente
Espero que no estés hablando de las redes neuronales que actualmente están ganando todas las competencias en aprendizaje automático (MLP, CNN, RNN, Redes Residuales Profundas, ...). Esos una vez se usaron como modelo para las neuronas, pero están muy poco relacionados con lo que sucede en las células cerebrales reales.
Las redes de picos deberían estar mucho más cerca de las neuronas reales. He oído que el modelo Hodgkin-Huxley es bastante realista. Sin embargo, en contraste con los modelos que mencioné anteriormente, parece que no existe un algoritmo de entrenamiento efectivo para las redes de picos.
No es tan simple:
f(x) = sin(x*x + 1)
. Para un ser humano, existen básicamente tres cálculos:r1 = x*x
,r2 = r1 + 1
,r3 = sin(r2)
. Incluso si tiene 3 personas trabajando en el cálculo del resultado, no será más rápido que la persona más rápida en este grupo. ¿Por qué? Porque necesitas los resultados del último cálculo.fuente
Si bien un solo transistor podría aproximarse a la función básica de una sola neurona, no puedo aceptar que ningún elemento electrónico pueda simular las sinapsis / axones. Los transistores están grabados en una superficie plana, y solo pueden interconectarse con transistores adyacentes o cercanos. Los axones en el cerebro abarcan grandes distancias (en comparación con el tamaño de la neurona misma), y no están restringidos a una superficie bidimensional. Incluso si pudiéramos aproximar el número de transistores en un procesador al número de neuronas en un cerebro, no estaríamos tan cerca como el número de conexiones. También se podría argumentar que las señales analógicas en el cerebro transportan más información por unidad de tiempo, en comparación con los impulsos binarios en un chip. Además, el cerebro en realidad tiene plasticidad, es decir, las conexiones entre las neuronas pueden debilitarse / descartarse o enderezarse / crearse,
fuente
Es posible que desee considerar esta lista :
fuente