Sind modulare neuronale Netze bei allen Aufgaben effektiver als große monolithische Netze?


16

Modulare / Multiple Neuronale Netze (MNNs) drehen sich um das Training kleinerer, unabhängiger Netze, die ineinander oder in ein anderes höheres Netz eingespeist werden können.

Grundsätzlich könnte die hierarchische Organisation es uns ermöglichen, komplexere Problembereiche zu verstehen und eine höhere Funktionalität zu erreichen, aber es scheint schwierig, Beispiele für konkrete Forschungsergebnisse zu finden, die in der Vergangenheit in dieser Hinsicht durchgeführt wurden. Ich habe ein paar Quellen gefunden:

https://en.wikipedia.org/wiki/Modular_neural_network

https://www.teco.edu/~albrecht/neuro/html/node32.html

https://vtechworks.lib.vt.edu/bitstream/handle/10919/27998/etd.pdf?sequence=1&isAllowed=y

Ein paar konkrete Fragen, die ich habe:

  • Wurden kürzlich Untersuchungen zur Verwendung von MNNs durchgeführt?

  • Gibt es Aufgaben, bei denen MNNs eine bessere Leistung gezeigt haben als große Einzelnetze?

  • Könnten MNNs für die multimodale Klassifizierung verwendet werden, dh jedes Netz auf einen grundlegend anderen Datentyp (Text vs. Bild) trainieren und an einen übergeordneten Vermittler weiterleiten, der alle Ausgaben bearbeitet?

  • Sind diese aus Sicht der Softwareentwicklung nicht fehlertoleranter und auf einem verteilten System leicht zu isolieren?

  • Gab es Arbeiten zur dynamischen Anpassung der Topologien von Subnetzen mithilfe eines Prozesses wie Neural Architecture Search?

  • Sind MNNs im Allgemeinen in irgendeiner Weise praktisch?

Entschuldigung, wenn diese Fragen naiv erscheinen, bin ich aus biologischen / neurowissenschaftlichen Gründen auf ML und allgemein auf CS gekommen und vom möglichen Zusammenspiel fasziniert.

Ich weiß es wirklich zu schätzen, dass Sie sich die Zeit genommen und Einblicke gewährt haben!


Ich hatte über die Implementierung eines solchen modularen Systems nachgedacht, um die Leistung zu verbessern und - definitiv - unnötige Abhängigkeiten von Eingaben herauszufiltern . Ich dachte, es wäre ein eureka-Moment, wusste aber nicht, dass es sich bereits um eine etablierte Struktur handelt.
Tobi

Antworten:


2

Zu diesem Thema ist in der Tat eine Untersuchung im Gange. In einer ersten Veröffentlichung vom letzten März wurde festgestellt, dass die Modularität zwar seit einiger Zeit nicht mehr explizit erfolgt, das Training jedoch in gewisser Weise weiterhin monolithisch ist. In diesem Artikel werden einige grundlegende Fragen zu diesem Thema bewertet und die Trainingszeiten und -leistungen in modularen und stark wiederkehrenden neuronalen Netzen verglichen. Sehen:

Einige andere konzentrieren sich sehr auf Modularität, bleiben aber bei der monolithischen Ausbildung (siehe Jacob Andrea's Forschung , besonders das Erlernen der Vernunft hängt sehr mit Ihrer dritten Frage zusammen). Irgendwann zwischen Ende 2019 und März nächsten Jahres sollte es mehr Ergebnisse geben (ich weiß es zufällig).

In Bezug auf Ihre beiden letzten Fragen sehen wir nun, dass Modularität ein wichtiger Schlüssel zur Verallgemeinerung ist. Lassen Sie mich Ihnen einige Artikel empfehlen (Sie finden sie alle in arxiv oder google scholar):

  • Stochastische adaptive neuronale Architektur Suche nach Keyword Spotting (Variationen einer Architektur, um die Leistung und die Ressourcennutzung in Einklang zu bringen).

  • Verallgemeinerung neuronaler Programmierarchitekturen durch Rekursion (Submodularität der Aufgaben, und ich glaube, es ist das erste Mal, dass die Verallgemeinerung im Bereich neuronaler Netze gewährleistet ist).

  • Meistern Sie das Go-Spiel mit tiefen neuronalen Netzen und der Baumsuche (die Netzwerktopologie ist eigentlich der Suchbaum selbst. Sie können mehr davon sehen, wenn Sie nach grafischen neuronalen Netzen suchen).


1

Ein Benchmark-Vergleich von Systemen, die aus getrennt geschulten Netzwerken bestehen, mit einzelnen tieferen Netzwerken würde wahrscheinlich keine allgemein anwendbare beste Wahl ergeben. 1 In der Literatur ist die Zunahme der Anzahl größerer Systeme zu sehen, in denen mehrere künstliche Netzwerke zusammen mit anderen Komponententypen kombiniert werden. Es ist zu erwarten. Die Modularisierung mit zunehmender Komplexität der Systeme und steigenden Anforderungen an Leistung und Leistungsfähigkeit ist so alt wie die Industrialisierung.

Unser Labor arbeitet mit Robotersteuerung, thermodynamischer Instrumentierung und Datenanalyse. Künstliche Netzwerke sind Komponenten in diesen größeren Systemkontexten. Wir haben keine einzelnen MLPs oder RNNs, die für sich genommen eine nützliche Funktion erfüllen.

Entgegen der Vermutung von Hierarchien vor Jahrzehnten folgt der Topologieansatz, der in den meisten Fällen gut zu funktionieren scheint, den häufigeren Systemmodulbeziehungen, die in Kraftwerken, automatisierten Fabriken, der Luftfahrt, Unternehmensinformationsarchitekturen und anderen komplexen Konstruktionen zu beobachten sind. Die Verbindungen sind die des Flusses, und wenn diese gut entworfen sind, sind die Überwachungsfunktionen minimal. Der Fluss findet zwischen Modulen statt, die Kommunikationsprotokolle beinhalten, und jedes Modul erfüllt seine Funktion gut und verkapselt die geringere Komplexität und die funktionalen Details. Es ist nicht ein Netzwerk, das ein anderes überwacht, das in der Praxis am effektivsten zu wirken scheint, sondern Gleichgewicht und Symbiose. Die Identifizierung eines klaren Master-Slave-Designs im menschlichen Gehirn scheint ebenso rutschig zu sein.

Die Herausforderung besteht darin, nicht die Informationspfade zu finden, aus denen die Systeminformationstopologie besteht. Der Informationsfluss ist bei der Problemanalyse oft offensichtlich. Die Schwierigkeit besteht darin, die besten Strategien zu finden, um diese unabhängigen Netzwerke zu trainieren. Trainingsabhängigkeiten sind häufig und häufig kritisch, wohingegen das Training bei Tieren in situ oder überhaupt nicht stattfindet. Wir entdecken Bedingungen, unter denen diese Art des Lernens in unseren Systemen praktikabel ist und wie dies erreicht werden kann. Der größte Teil unserer Forschung in dieser Richtung soll Wege finden, um eine höhere Zuverlässigkeit und eine geringere Belastung in Bezug auf die Forschungsstunden zu erreichen, um dies zu erreichen.

Höhere Funktionalität ist nicht immer von Vorteil. Dies führt häufig zu einer geringeren Zuverlässigkeit und verbraucht zusätzliche Entwicklungsressourcen bei geringer Rendite. Wenn Sie einen Weg finden, Automatisierung auf höherer Ebene, Ressourcenschonung und Zuverlässigkeit in einem Entwicklungsprozess zu vereinen, erhalten Sie möglicherweise eine Auszeichnung und eine lobende Erwähnung im Internet.

Parallele Systeme, die dasselbe Ziel verfolgen, sind eine gute, aber keine neue Idee. In einem Luftfahrtsystem haben neun Parallelsysteme in Dreiergruppen dasselbe Ziel. Jede Gruppe verwendet einen anderen Computeransatz. Wenn zwei der Systeme, die denselben Ansatz verwenden, dieselbe Ausgabe liefern und sich die dritte unterscheidet, wird die übereinstimmende Ausgabe verwendet und die Differenz in der dritten als Systemfehler gemeldet. Wenn zwei der verschiedenen Ansätze ähnliche Ergebnisse liefern und sich der dritte wesentlich unterscheidet, wird eine Zusammenführung der beiden ähnlichen Ergebnisse verwendet und der dritte Ansatz als Anwendungsfall zur Weiterentwicklung des abweichenden Ansatzes angegeben.

Die verbesserte Fehlertoleranz hat Kosten zur Folge, acht weitere Systeme und zugehörige Rechenressourcen und Konnektivität sowie die Komparatoren am Ende. Bei Systemen, bei denen es um Leben und Tod geht, werden die zusätzlichen Kosten bezahlt und die Zuverlässigkeit maximiert.

Die dynamische topologische Anpassung hängt mit redundanten Systemen und Fehlertoleranz zusammen, ist jedoch in mancher Hinsicht recht unterschiedlich. In diesem Entwicklungsbereich wird als Technologie das neuromorphe Computing verwendet, das zum Teil von der Neuroplastizität inspiriert ist.

Ein letzter zu berücksichtigender Unterschied besteht in der Prozesstopologie, der Datentopologie und der Hardwaretopologie. Diese drei geometrischen Rahmen können zusammen eine größere Effizienz erzielen, wenn sie auf bestimmte Weise ausgerichtet werden, um direktere Zuordnungen zwischen den Beziehungen zwischen Fluss, Darstellung und Mechanik zu erzielen. Es handelt sich jedoch um unterschiedliche Topologien. Die Bedeutung der Ausrichtung ist möglicherweise nicht ersichtlich, ohne sich eingehend mit diesen Konzepten und den Details zu befassen, die sich für bestimmte Produkt- oder Serviceziele ergeben.

Fußnoten

[1] Tiefe Netzwerke, die als eine Einheit trainiert werden und ohne Konnektivität zu anderen künstlichen Netzwerken funktionieren, sind nicht unbedingt monolithisch. Die meisten praktischen tiefen Netzwerke weisen eine heterogene Abfolge von Schichten in Bezug auf ihre Aktivierungsfunktionen und häufig ihre Zelltypen auf.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.