Die Trainingszeit von Neuronalen Netzen verbessern – Data Intelligence Hub
DATA INTELLIGENCE HUB - Für Geschäftskunden
Erleben, was verbindet.

Die Trainingszeit von Neuronalen Netzen verbessern

Neuronale Netze sind eine spannende Technologie, welche heutzutage vielseitig einsetzbar ist. Sie ermöglichen viele Erkenntnisse und können bestimmte Aufgaben wie Bilderkennung mit höherer Genauigkeit als Menschen lösen. Dieser Artikel jedoch beschäftigt sich mit einem Problem, welches bei größeren Netzwerken oft auftritt: die Trainingszeit.
Oft hört man von Neuronalen Netzen, dass je größer sie sind desto bessere Ergebnisse liefern sie. Dies kann man durch große Netzwerke wie GoogLeNet oder VGG16 bestätigen, welche sehr gute Genauigkeit aufweisen. Aber wenn man anfängt diese zu trainieren stellt man schnell fest, wie viel Zeit der ganze Vorgang in Anspruch nimmt. Ohne starke GPUs ist es gut möglich, dass das Modell Tage brauch, ehe es mit dem Training fertig ist.
Um dieses Phänomen etwas genauer zu untersuchen wurde im Folgenden ein Feed Forward Neuronales Netz erstellt und nach einigen wichtigen Parametern verglichen. Wenn man mit der Erstellung beginnt, stellen sich als erstes die Fragen „Wie tief?“ und „Wie groß?“ das Modell sein sollte. Deshalb wurde im ersten Schritt die Veränderung nach der Anzahl von sogenannten „Hidden Layers“ betrachtet, welche die Tiefe des Netzwerkes bestimmen.

Anzahl der Hidden Layers Trainingszeit
1 0:01:21.922
5 0:03:27.812
10 0:07:17.266
20 0:12:55.532

 

Wie man schnell sehen kann, steigt die Trainingszeit natürlich mit der Anzahl an Layern. Der Anstieg wird mit mehr Layern jeweils etwas weniger, jedoch bleibt er immer noch beträchtlich. Vor allem sollte man diese betrachten, wenn man größere oder rechenintensivere Netzwerke baut. So wäre anstatt des Unterschieds von drei einhalb Minuten zu fünf Minuten ein Unterschied von zwei zu vier Tagen denkbar, das ergibt dann schon einen größeren Unterschied. Deshalb ist es meist angebracht sich darüber Gedanken zu machen, wie viele Layer man wirklich benötigt.
Wenn man sich die nächste Frage stellt, wie groß ein Neuronales Netz sein sollte, kommt man zu einem ähnlichen Ergebnis wie davor:

Multiplikator der Neuronen Trainingszeit
0.5 0:02:29.468
1 0:03:27.812
3 0:07:58.562
5 0:12:09.969
10 0:25:58.688

 

In diesem Test wurde die Anzahl an Neuronen in den einzelnen Layern um den Multiplikator erhöht. Wie abzulesen steigt die Trainingszeit wieder mit zunehmender Neuronenanzahl. Wenn man dieses Prinzip auf größere Netzwerke anwendet, kann man erkennen, dass der Zeitunterschied Tage betragen kann. Von schnellen Lösungen für ein Unternehmen kann da keine Rede sein.
Ein weiterer wichtiger Parameter ist die Batch Größe, denn mit kleineren Batches lässt sich ein Neuronales Netz besser trainieren. Doch wie beeinflusst das die Trainingszeit?

Batch Größe Trainingszeit
20 0:12:38.844
200 0:03:27.812
2000 0:02:13.359

 

Wenn man die Batch Größe von 200 auf 20 ändert, wird ungefähr 250% mehr Zeit zum Trainieren benötigt. Also muss man wieder wesentlich länger warten um gute Erkenntnisse zu gewinnen. Doch wie ist es möglich die Trainingszeit gering zu halten bei all den Aspekten, die man beachten muss?
Viele genaue Ergebnisse benötigen weiterhin oftmals ein großes und tiefes Neuronales Netz. Aber man sollte sich trotzdem im Hinterkopf behalten, dass größer auch immer länger bedeutet. Also vielleicht kann man doch mal ein Layer oder ein paar Neuronen einsparen.

Aber es gibt sogar eine wesentlich bessere Lösung um die Trainingszeit zu verringern: Rechenleistung.
Die vorangegangenen Auswertungen wurden alle auf einem einzelnen Computer vollzogen. Jedoch befinden wir uns heutzutage im digitalen Zeitalter mit der Möglichkeit des Cloud-Computing. Dies ist auch eine Stärke des Data Intelligence Hubs. Ein lokaler Computer hat normalerweise 4-8 Kerne und eine begrenzte Rechenleistung. Unsere Cloud Umgebung hingegen unterstütz den Gebrauch von vielen leistungsstarken CPU Kernen und in Zukunft auch von GPU Kernen zum effektiven Trainieren von großen und tiefen Neuronalen Netzen. So kann man in der Premium Version beliebig viele Kerne und Rechenleistung auf Anfrage. Dadurch kann man seine Leistung von einem gut ausgestatteten Computer mit 8 Kernen und 32 gb RAM auf mehrere zehn oder sogar mehr als hundert Kerne skalieren und auf hunderte Gigabyte RAM zugreifen. Heutzutage ist das meist sogar schon durch das Klicken auf eine Schaltfläche oder einen einfachen Regler möglich. Und schlussendlich macht diese Errungenschaft auch das Trainieren von großen Modellen wieder realisierbar.

Also nutze jetzt die unbegrenzten Möglichkeiten der Data Intelligence Hub Premium Version und gewinne schnell und effektiv datenanalytische Erkenntnisse!