Frage

Ich bin derzeit den Aufbau einer Neural Network-Bibliothek. Ich habe es als Objektgraph für Einfachheit konstruiert. Ich frage mich, ob jemand die Leistungsvorteile des Gehens zu einem Array basierten Ansatz quantifizieren können. Was ich habe, funktioniert jetzt sehr gut für Netzwerke von nahezu beliebiger Komplexität zu bauen. Regelmäßige (backpropped) Netzwerke sowie rezidivierende Netzwerke unterstützt. Ich erwäge ausgebildete Netzwerke mit „kompilieren“ in eine „einfachere“ Form wie Arrays.

Ich wollte nur sehen, ob jemand da draußen keine praktischen Ratschläge oder Erfahrung im Aufbau neuronaler Netze hatte, die gut in der Produktion im Einsatz. Gibt es einen Nutzen das Endprodukt mit Array anstelle von Objektgraphen basiert basieren?

P. S Speicherbedarf ist weniger wichtig als die Geschwindigkeit.

War es hilfreich?

Lösung

Das hängt alles davon ab, welche Sprache Sie verwenden - ich nehme an, Sie einen C-Derivat verwenden

.

In meinen Ausführungen habe ich den Objektgraph-Ansatz weit überlegen gefunden. Es gibt einige Kompromisse in der Geschwindigkeit, aber die einfache Wartung überwiegt die Objekt-Lookup-Anrufe. Dies hängt davon ab, ob Sie suchen Trainingsgeschwindigkeit oder auch Lösungsgeschwindigkeit ... Ich nehme an, Sie sind am meisten besorgt über die Trainingsgeschwindigkeit?

Sie können immer am Ende Mikro-Optimierung einige der Objektaufruf Fragen, wenn es sein muss.

Ihr Sekundärmotiv Unter Netz der Netze betrachtet, ich denke, es ist sogar noch wichtige Aufgabe zugrunde zu sein -. Es macht es viel einfacher, zu nehmen Teile der Arbeit

Andere Tipps

mit GPGPU-Techniken in AI

Die Menschen haben begonnen, und in Form einer Matrix Ihr neuronales Netz mit könnte die viel schneller Matrix ops in Ihrer typischen Grafikkarte nutzen.

Allerdings Sie es implementieren, müssen Sie nie vergessen werden:

So stellen Sie sicher, dass Sie es nicht haben, anstatt zu minimieren zu maximieren.

http://xkcd.com/534/

Es ist schon eine Weile her, aber ich erinnere mich, dass die Geschwindigkeit in der Regel nur während des Trainings des neuronalen Netzes ist ein Problem.

Ich habe keine persönliche Erfahrung einer solchen Bibliothek zu schreiben, aber ich kann Ihnen einige beliebte Open-Source-Projekten verknüpfen, die Sie von vielleicht lernen könnten. (Persönlich würde ich nur eine dieser vorhandenen Bibliotheken verwenden.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top