Die Untersuchung der DNC-Architektur zeigt tatsächlich viele Ähnlichkeiten mit dem LSTM . Betrachten Sie das Diagramm im DeepMind-Artikel, mit dem Sie verknüpft haben:
Vergleichen Sie dies mit der LSTM-Architektur (Dank an ananth auf SlideShare):
Hier gibt es einige enge Analoga:
- Ähnlich wie beim LSTM führt die DNC eine Konvertierung von Eingabe- in Zustandsvektoren fester Größe durch ( h und c im LSTM).
- In ähnlicher Weise führt die DNC eine Konvertierung von diesen Zustandsvektoren fester Größe in eine potenziell beliebig lange Ausgabe durch (im LSTM werden wir wiederholt Stichproben aus unserem Modell ziehen, bis wir zufrieden sind / das Modell zeigt an, dass wir fertig sind).
- Die Vergiss- und Eingabegatter des LSTM stellen die Schreiboperation in der DNC dar ("Vergessen" ist im Wesentlichen nur das Nullsetzen oder das teilweise Nullsetzen des Speichers).
- Das Ausgangsgatter des LSTM repräsentiert die Leseoperation in der DNC
Die DNC ist jedoch definitiv mehr als ein LSTM. Am offensichtlichsten wird ein größerer Zustand verwendet, der in Blöcke diskretisiert (adressierbar) ist; Dies ermöglicht es, das Vergessen-Gate des LSTM binärer zu machen. Damit meine ich, dass der Zustand nicht notwendigerweise bei jedem Zeitschritt um einen Bruchteil erodiert wird, während dies im LSTM (mit der Sigmoid-Aktivierungsfunktion) unbedingt der Fall ist. Dies könnte das von Ihnen erwähnte Problem des katastrophalen Vergessens verringern und somit die Skalierbarkeit verbessern.
Die DNC ist auch in den Verbindungen neu, die sie zwischen Speicher verwendet. Dies könnte jedoch eine geringfügigere Verbesserung gegenüber dem LSTM darstellen, als es scheint, wenn wir uns den LSTM mit vollständigen neuronalen Netzen für jedes Gate anstelle nur einer einzelnen Schicht mit Aktivierungsfunktion erneut vorstellen (nennen Sie dies einen Super-LSTM). In diesem Fall können wir tatsächlich jede Beziehung zwischen zwei Slots im Speicher mit einem ausreichend leistungsfähigen Netzwerk lernen. Obwohl ich die Besonderheiten der von DeepMind vorgeschlagenen Links nicht kenne, implizieren sie in dem Artikel, dass sie alles lernen, indem sie Farbverläufe wie ein reguläres neuronales Netzwerk zurückpropagieren. Daher sollte jede Beziehung, die sie in ihren Links codieren, theoretisch von einem neuronalen Netzwerk erlernbar sein, und daher sollte ein ausreichend leistungsfähiger "Super-LSTM" in der Lage sein, diese zu erfassen.
Abgesehen davon ist es beim Deep Learning häufig der Fall, dass zwei Modelle mit der gleichen theoretischen Ausdrucksfähigkeit in der Praxis sehr unterschiedliche Leistungen erbringen. Stellen Sie sich zum Beispiel vor, dass ein wiederkehrendes Netzwerk als großes Feed-Forward-Netzwerk dargestellt werden kann, wenn wir es nur ausrollen. In ähnlicher Weise ist das Faltungsnetzwerk nicht besser als ein neuronales Vanille-Netzwerk, da es eine gewisse zusätzliche Ausdruckskraft besitzt. in der Tat ist es die auf ihren Gewichten auferlegten Beschränkungen , die es macht mehr wirksam. Ein Vergleich der Aussagekraft zweier Modelle ist daher weder ein fairer Vergleich ihrer Leistung in der Praxis noch eine genaue Prognose der Skalierbarkeit.
Eine Frage, die ich zu DNC habe, ist, was passiert, wenn der Speicher knapp wird. Wenn einem klassischen Computer der Speicher ausgeht und ein weiterer Speicherblock angefordert wird, stürzen die Programme (bestenfalls) ab. Ich bin gespannt, wie DeepMind dies angehen wird. Ich gehe davon aus, dass dies auf einer intelligenten Kannibalisierung des derzeit verwendeten Speichers beruhen wird. In gewisser Hinsicht tun dies Computer derzeit, wenn ein Betriebssystem anfordert, dass Anwendungen nicht kritischen Speicher freigeben, wenn der Speicherdruck einen bestimmten Schwellenwert erreicht.