Cuando hablamos de aprendizaje pensamos inmediatamente en redes neuronales o chips que simulan el comportamiento de las neuronas. Pero en realidad use redes neuronales en lugar de CPU normales y técnicas de programación normales, solo causa diferencias en las velocidades de respuesta y el consumo de energía.
Cualquier matriz, o matriz de datos, puede almacenar experiencias como lo hacen las redes neuronales. Incluso uno que va al límite máquina de Turing podría ejecutar los mismos algoritmos y obtener los mismos resultados, pero seria muy lento.
Cuando era pequeño (32 acerca de los años) Pensé ingenuamente en construir computadoras con componentes electrónicos dispuestos en células estructuradas como neuronas. Según estos principios, cada una de las neuronas simuladas contiene una celda de memoria que representa el nivel de activación (llamado “peso”) y opcionalmente una segunda celda que representa la ganancia y determina el nivel de salida. Y finalmente, cada neurona simulada debe contener multiplicadores analógicos o digitales y enlaces a un cierto número de otras neuronas a las que enviar la señal de salida..
Hoy en día, algunos grupos de investigación están produciendo chip neuromorfici basado en estos mismos principios ingenuos y, por supuesto, estos sistemas funcionan, incluso una máquina de Turing funcionaría. Pero para construir qdroids necesitas una eficiencia considerablemente mayor, un salto cuántico, una forma diferente de utilizar los recursos electrónicos disponibles.
Utilice electrones y silicio para simular el funcionamiento.
de seres basados en neurotransmisores químicos y de carbono
no es la solución más eficiente.
La evolución de los seres vivos basada en el carbono tuvo moléculas a su disposición, mensajes químicos y ADN y con estos bloques de construcción, la mejor solución encontrada fueron las neuronas. Pero los componentes actuales basados en silicio son miles de millones de veces más rápidos que las señales químicas, por lo que debemos tener en cuenta estas posibilidades y utilizarlas de manera eficiente..
En el futuro se utilizarán técnicas que ni siquiera imaginamos ahora, pero ahora tenemos componentes de silicio y la forma más eficiente de usarlos es no obligarlos a simular lo que no son. Solo necesitamos agregar el no determinismo activado por el azar y estructurarlo adecuadamente..
Por ahora, "agregar no determinismo" es solo una frase agradable y no tenemos idea de cómo se hará., pero si es posible lo lograremos. Ya tenemos algo de experiencia con el programación no determinista.
Confiamos en la ayuda del profesor Anselmi para un análisis de viabilidad. Lo que necesitamos es su comprensión de estos asuntos.. Se trata de realizar un cálculo estadístico aproximado que nos diga si merece la pena experimentar en este sentido o si las combinaciones aleatorias probar y por tanto el tiempo necesario para obtener unos resultados, son tan grandes que cualquier intento basado en la programación clásica no es recomendable a priori.
Cálculo de matrices con tarjetas de video
Las CPU de las computadoras actuales actúan secuencialmente y son demasiado lentas para almacenar y procesar grandes cantidades de datos en paralelo.. Pero afortunadamente existen tarjetas de video que pueden operar en matrices enormes y realizar las mismas operaciones en una gran cantidad de elementos a muy alta velocidad y simultáneamente.. Ver la documentación del Kit de herramientas de Cuda en NVIDIA.
Algunas de estas cartas tienen 10752 procesadores (Colores CUDA) y cada núcleo contiene dos procesadores que también pueden realizar operaciones de punto flotante 32 poco.
Con las tecnologías actuales, esta es probablemente la única posibilidad que tenemos de obtener algunos resultados útiles a partir de la aleatoriedad cuántica..
La idea de utilizar las capacidades de computación paralela de las tarjetas de video para la computación neuronal ya se usa ampliamente, ver por ejemplo Esta página. Pero las implementaciones actuales intentan ingenuamente simular el funcionamiento de las neuronas.
Las implementaciones actuales son ineficientes y demasiado lentas para qdroids,
como ya se explicó en el capítulo anterior de esta página.