Matrices et réseaux de neurones

Quand on parle d'apprentissage, on pense immédiatement aux réseaux de neurones ou aux puces qui simulent le comportement des neurones. Mais utilisez en fait des réseaux de neurones plutôt que des processeurs normaux et des techniques de programmation normales, il ne provoque que des différences dans les vitesses de réponse et la consommation d'énergie.

Communications neuronales

N'importe quelle matrice, ou tableau de données, il peut stocker des expériences comme le font les réseaux de neurones. Même un allant à la limite Machine de Turing il pourrait exécuter les mêmes algorithmes et obtenir les mêmes résultats, mais ce serait très lent.

Quand j'étais petit (32 environ des années) J'ai pensé naïvement à construire des ordinateurs avec des composants électroniques disposés en cellules structurées comme des neurones. Selon ces principes, chacun des neurones simulés contient une cellule mémoire qui représente le niveau d'activation (appelé “poids”) et éventuellement une deuxième cellule qui représente le gain et détermine le niveau de sortie. Et enfin, chaque neurone simulé doit contenir des multiplicateurs analogiques ou numériques et des liens vers un certain nombre d'autres neurones auxquels envoyer le signal de sortie..

Aujourd'hui, certains groupes de recherche produisent puce neuromorfici basé sur ces mêmes principes naïfs et bien sûr ces systèmes fonctionnent, même une machine de Turing fonctionnerait. Mais pour construire des qdroids, vous avez besoin d'une efficacité considérablement plus grande, un saut quantique, une façon différente d'utiliser les ressources électroniques disponibles.

Utiliser des électrons et du silicium pour simuler le fonctionnement
des êtres à base de neurotransmetteurs chimiques et carbonés
ce n'est pas la solution la plus efficace.

L'évolution des êtres vivants basée sur le carbone avait des molécules à sa disposition, les messages chimiques et l'ADN et avec ces blocs de construction, la meilleure solution trouvée était les neurones. Mais les composants à base de silicium d'aujourd'hui sont des milliards de fois plus rapides que les signaux chimiques, nous devons donc prendre ces possibilités en compte et les utiliser efficacement..

À l'avenir, des techniques seront utilisées que nous n'imaginons même pas maintenant, mais maintenant nous avons des composants en silicium et le moyen le plus efficace de les utiliser est de ne pas les forcer à simuler ce qu'ils ne sont pas. Il suffit d'ajouter les non-déterminismes activés par hasard et de les structurer convenablement.

Pour l'instant, "ajouter du non-déterminisme" n'est qu'une belle phrase et nous n'avons aucune idée de comment cela sera fait, mais si c'est possible nous réussirons. Nous avons déjà une certaine expérience de la programmation non déterministe.

Nous faisons confiance au professeur Anselmi pour une analyse de faisabilité. Ce dont nous avons besoin, c'est de votre compréhension de ces questions. Il s'agit de faire un calcul statistique approximatif qui nous indique si cela vaut la peine d'expérimenter dans ce sens ou si les combinaisons aléatoires à essayer et donc le temps nécessaire pour obtenir certains résultats, sont si grands que toute tentative basée sur la programmation classique est déconseillée a priori.


Calcul matriciel avec des cartes vidéo

Les processeurs informatiques d'aujourd'hui agissent de manière séquentielle et sont trop lents pour stocker et traiter de grandes quantités de données en parallèle. Mais heureusement il existe des cartes vidéo capables de fonctionner sur des matrices énormes et d'effectuer les mêmes opérations sur un grand nombre d'éléments à très haute vitesse et simultanément.. Voir la documentation du Boîte à outils Cuda sur NVIDIA.

GPU CUDA

Certaines de ces cartes ont 10752 processeurs (Couleurs CUDA) et chaque cœur contient deux processeurs qui peuvent également effectuer des opérations en virgule flottante un 32 bit.

Couleurs de Cuda

Avec les technologies actuelles, c'est probablement la seule possibilité que nous ayons d'obtenir des résultats utiles à partir du hasard quantique.

L'idée d'utiliser les capacités de calcul parallèle des cartes vidéo pour l'informatique neuronale est déjà largement utilisée, voir par exemple Cette page. Mais les implémentations actuelles tentent naïvement de simuler le fonctionnement des neurones.

Les implémentations actuelles sont inefficaces et trop lentes pour les qdroids,
comme déjà expliqué dans le chapitre précédent de cette page.

Laisser un commentaire

Votre adresse email ne sera pas publiée.