Matrizen und neuronale Netze

Wenn wir über Lernen sprechen, denken wir sofort an neuronale Netze oder Chips, die das Verhalten von Neuronen simulieren. Aber verwende eigentlich eher neuronale Netze als normale CPUs und normale Programmiertechniken, es verursacht nur Unterschiede in Ansprechgeschwindigkeit und Energieverbrauch.

Neuronale Kommunikation

Beliebige Matrix, oder Daten-Array, es kann Erfahrungen speichern, genau wie neuronale Netze es tun. Auch einer geht ans Limit Turing Maschine Es könnte die gleichen Algorithmen ausführen und die gleichen Ergebnisse erzielen, aber es wäre sehr langsam.

Als ich klein war (32 über Jahre) Ich dachte naiv daran, Computer mit elektronischen Komponenten zu bauen, die in Zellen angeordnet sind, die wie Neuronen strukturiert sind. Nach diesen Prinzipien enthält jedes der simulierten Neuronen eine Gedächtniszelle, die den Aktivierungsgrad repräsentiert (namens “Last”) und optional eine zweite Zelle, die die Verstärkung darstellt und den Ausgangspegel bestimmt. Und schließlich muss jedes simulierte Neuron analoge oder digitale Multiplikatoren und Verbindungen zu einer bestimmten Anzahl anderer Neuronen enthalten, an die das Ausgangssignal gesendet wird..

Heute produzieren einige Forschungsgruppen Chip neuromorfici basierend auf denselben naiven Prinzipien und natürlich funktionieren diese Systeme, sogar eine Turingmaschine würde funktionieren. Aber um qdroids zu bauen, braucht man deutlich mehr Effizienz, ein Quantensprung, eine andere Art der Nutzung verfügbarer elektronischer Ressourcen.

Verwenden Sie Elektronen und Silizium, um den Betrieb zu simulieren
von Wesen basierend auf chemischen und Kohlenstoff-Neurotransmittern
es ist nicht die effizienteste Lösung.

Die Evolution der auf Kohlenstoff basierenden Lebewesen verfügte über Moleküle, chemische Botschaften und DNA und mit diesen Bausteinen war die beste Lösung, die gefunden wurde, Neuronen. Aber die heutigen siliziumbasierten Bauelemente sind milliardenfach schneller als chemische Signale, daher müssen wir diese Möglichkeiten berücksichtigen und effizient nutzen..

In Zukunft werden Techniken zum Einsatz kommen, die wir uns jetzt noch nicht einmal vorstellen können, Aber jetzt haben wir Siliziumkomponenten und der effizienteste Weg, sie zu verwenden, besteht darin, sie nicht zu zwingen, zu simulieren, was sie nicht sind. Wir müssen nur den zufällig aktivierten Nicht-Determinismus hinzufügen und entsprechend strukturieren.

Im Moment ist "Hinzufügen von Nichtdeterminismus" nur eine nette Phrase und wir haben keine Ahnung, wie es gemacht werden soll, aber wenn es möglich ist, werden wir es schaffen. Wir haben bereits einige Erfahrung mit der nichtdeterministische Programmierung.

Wir vertrauen auf die Hilfe von Professor Anselmi für eine Machbarkeitsanalyse. Was wir brauchen, ist Ihre Einsicht in diese Angelegenheiten. Es geht darum, eine ungefähre statistische Berechnung anzustellen, die uns sagt, ob es sich lohnt, in diesem Sinne zu experimentieren oder ob die zufälligen Kombinationen zu versuchen sind und damit die Zeit, die erforderlich ist, um einige Ergebnisse zu erhalten, sind so groß, dass ein Versuch, der auf klassischer Programmierung basiert, nicht von vornherein empfohlen wird.


Matrixberechnung mit Grafikkarten

Heutige Computer-CPUs arbeiten sequentiell und sind zu langsam, um große Datenmengen parallel zu speichern und zu verarbeiten. Aber zum Glück gibt es Grafikkarten, die auf riesigen Matrizen arbeiten und die gleichen Operationen an einer großen Anzahl von Elementen mit sehr hoher Geschwindigkeit und gleichzeitig ausführen können.. Siehe die Dokumentation des Cuda-Toolkit auf NVIDIA.

GPU-CUDA

Einige dieser Karten haben 10752 Prozessoren (CUDA-Farben) und jeder Kern enthält zwei Prozessoren, die auch Gleitkommaoperationen ausführen können a 32 Bit.

Cuda-Farben

Mit den derzeitigen Technologien ist dies wahrscheinlich die einzige Chance, die wir haben, ausgehend von der Quantenzufälligkeit einige nützliche Ergebnisse zu erzielen.

Die Idee, die parallelen Rechenfähigkeiten von Grafikkarten für neuronales Computing zu nutzen, ist bereits weit verbreitet, siehe zum Beispiel Diese Seite. Aber aktuelle Implementierungen versuchen naiv, die Funktionsweise von Neuronen zu simulieren.

Aktuelle Implementierungen sind ineffizient und zu langsam für qdroids,
wie bereits im vorigen Kapitel dieser Seite erklärt.

Hinterlasse eine Antwort

Deine Email-Adresse wird nicht veröffentlicht.