Si les neurones et les synapses peuvent être mis en œuvre à l'aide de transistors, qu'est-ce qui nous empêche de créer des réseaux de neurones arbitrairement grands en utilisant les mêmes méthodes avec lesquelles les GPU sont fabriqués?
Essentiellement, nous avons vu le fonctionnement extraordinaire des réseaux de neurones virtuels mis en œuvre sur des processeurs séquentiels (même les GPU sont des machines séquentielles, mais avec d'énormes quantités de cœurs).
On peut imaginer qu'en utilisant les principes de conception du GPU - qui consiste essentiellement à avoir des milliers d'unités de traitement programmables qui fonctionnent en parallèle - nous pourrions simplifier les "unités de traitement des neurones" et mettre des millions ou des milliards de ces NPU dans une seule grande puce. Ils auraient leur propre mémoire (pour stocker des poids) et seraient connectés à quelques centaines d'autres neurones en partageant un bus. Ils pourraient avoir une fréquence de 20 Hz par exemple, ce qui leur permettrait de partager un bus de données avec de nombreux autres neurones.
Évidemment, il y a des défis en génie électrique ici, mais il me semble que toutes les grandes entreprises de technologie devraient explorer cette voie maintenant.
De nombreux chercheurs en IA disent que la superintelligence arrive vers l'an 2045. Je pense que leur raisonnement est basé sur la loi de Moore et le nombre de neurones que nous sommes en mesure d'implémenter dans des logiciels fonctionnant sur les ordinateurs les plus rapides que nous ayons.
Mais le fait est que nous fabriquons aujourd'hui des puces en silicium avec des milliards de transistors. SPARK M7 compte 10 milliards de transistors.
Si l'implémentation d'un neurone (non programmable) et de quelques centaines de synapses pour cela nécessite par exemple 100 000 transistors, alors on peut faire un réseau neuronal en matériel qui émule 100 000 neurones.
Si nous concevons une telle puce de manière à pouvoir simplement l'agrandir physiquement si nous voulons plus de neurones, il me semble alors que des réseaux de neurones arbitrairement grands sont simplement une question de budget.
Sommes-nous techniquement capables de créer, dans le matériel, des réseaux neuronaux arbitrairement grands avec la technologie actuelle?
N'oubliez pas: je ne demande PAS si un tel réseau sera en fait très intelligent. Je demande simplement si nous pouvons en fait créer des réseaux de neurones arbitrairement grands et hautement interconnectés, si nous décidons de payer Intel pour cela?
L'implication est que le jour où un scientifique est capable de créer une intelligence générale dans le logiciel, nous pouvons utiliser nos capacités matérielles pour faire croître cette intelligence générale au niveau humain et au-delà.
Réponses:
L'approche que vous décrivez s'appelle l' informatique neuromorphique et c'est un domaine assez occupé .
TrueNorth d'IBM a même des neurones dopés .
Le principal problème de ces projets est que personne ne sait encore quoi en faire.
Ces projets n'essaient pas de créer des puces optimisées pour exécuter un réseau de neurones. Ce serait certainement possible, mais la partie coûteuse est la formation et non le fonctionnement des réseaux de neurones. Et pour la formation, vous avez besoin d'énormes multiplications matricielles, ce que les GPU sont déjà très bons. ( Le TPU de Google serait une puce optimisée pour exécuter des NN.)
Pour faire des recherches sur des algorithmes qui pourraient être implémentés dans le cerveau (nous n'en savons presque rien), vous avez besoin de flexibilité, ce que ces puces n'ont pas. De plus, le défi d'ingénierie réside probablement dans la fourniture de nombreuses synapses, il suffit de comparer le nombre moyen de synapses par neurone de TrueNorth, 256, et du cerveau, 10 000.
Donc, vous pourriez créer une puce conçue après une architecture neuronale et ce serait plus rapide, plus efficace, etc., mais pour ce faire, vous devrez d'abord savoir quelle architecture fonctionne. Nous savons que l'apprentissage en profondeur fonctionne, alors Google utilise du matériel sur mesure pour exécuter leurs applications et je pourrais certainement imaginer que du matériel d'apprentissage en profondeur sur mesure arrive dans un smartphone près de chez vous à l'avenir. Pour créer une puce neuromorphique pour une IA forte, vous devez d'abord développer une IA forte.
la source
J'espère que vous ne parlez pas des réseaux de neurones qui remportent actuellement tous les concours en machine learning (MLP, CNNs, RNNs, Deep Residual Networks, ...). Ceux-ci étaient autrefois utilisés comme modèle pour les neurones, mais ils ne sont que très peu liés à ce qui se passe dans les vraies cellules du cerveau.
Les réseaux de dopage devraient être beaucoup plus proches des vrais neurones. J'ai entendu dire que le modèle Hodgkin-Huxley est assez réaliste. Cependant - contrairement aux modèles que j'ai nommés ci-dessus - il ne semble pas y avoir d'algorithme d'entraînement efficace pour les réseaux de dopage.
Ce n'est pas aussi simple:
f(x) = sin(x*x + 1)
. Pour un être humain, il y a essentiellement trois calculs:r1 = x*x
,r2 = r1 + 1
,r3 = sin(r2)
. Même si 3 personnes travaillent au calcul du résultat, vous ne serez pas plus rapide que la personne la plus rapide de ce groupe. Pourquoi? Parce que vous avez besoin des résultats du dernier calcul.la source
Alors qu'un seul transistor pourrait approximer la fonction de base d'un seul neurone, je ne peux pas convenir qu'aucun élément électronique puisse simuler les synapses / axones. Les transistors sont gravés sur une surface plane et ne peuvent être interconnectés qu'à des transistors adjacents ou proches. Les axones du cerveau s'étendent sur de grandes distances (par rapport à la taille du neurone lui-même) et ne se limitent pas à une surface bidimensionnelle. Même si nous avons pu approcher le nombre de transistors sur un processeur du nombre de neurones dans un cerveau, nous ne sommes pas aussi proches que le nombre de connexions. On pourrait également faire valoir que les signaux analogiques dans le cerveau transportent plus d'informations par unité de temps, par rapport aux impulsions binaires sur une puce. De plus, le cerveau a en fait une plasticité, c'est-à-dire que les connexions entre les neurones peuvent être affaiblies / rejetées ou redressées / créées,
la source
Vous pouvez considérer cette liste :
la source