Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2021:hier_geht_es_zur_dokumentation [2021/02/17 11:37] elena_kirschner |
ws2021:hier_geht_es_zur_dokumentation [2021/03/28 14:16] (aktuell) elena_kirschner |
||
---|---|---|---|
Zeile 46: | Zeile 46: | ||
- | Dieser Graph zeigt den Loss (orange) und die richtig erkannten Testdaten (blau) mit wachsender Epoche (50er Schritte) nach der Implementierung unserer Cross Entropy Funktion. | + | Dieser Graph zeigt den Loss (orange) und die richtig erkannten Testdaten (blau) mit wachsender Epoche (50er Schritte) nach der Implementierung unserer Cross-Entropy-Funktion. |
- | + | ||
- | + | Um unsere Rechnungen schneller auszuführen, nutzen wir Grafikkarten, da diese besonders für Matrix- und Vektorrechnungen geeignet sind. Dies ist für uns von Bedeutung, da mehrdimensionale lineare Algebra die mathematische Grundlage für neuronale Netze darstellt. Wir benutzen dafür CUDA, eine von NVIDIA entwickelte Technologie, um über Google Colab auf GPUs zugreifen zu können. Unseren Code erweiterten wir dementsprechend um einige zusätzliche Befehle, die die Rechenzeit verkürzten. | |
- | + | ||
- | + | ||
=== 10. Termin: Overfitting und Regularization, Kernel Sizes === | === 10. Termin: Overfitting und Regularization, Kernel Sizes === | ||
//15.-21. Febuar 2021// \\ | //15.-21. Febuar 2021// \\ | ||
- | {{:ws2021:treffergenauigkeit_testvstraining.jpeg?300 |}} | + | {{:ws2021:treffergenauigkeitnachregularization.jpeg?300 |}} |
- | Dieser Graph zeigt die Treffergenauigkeit von den Trainings- (orange) und den Testdaten (blau). Uns wurde klar, dass wir es hier mit dem Problem von Overfitting zu tun haben. Das Netz lernt auswendig anstatt mithilfe von erlernten Mustern und Strukturen die Testdaten zu erkennen. | + | Dieser Graph zeigt die Treffergenauigkeit von den Trainings- (orange) und den Testdaten (blau). Uns wurde klar, dass wir es hier mit dem Problem von Overfitting zu tun haben. Das Netz lernt auswendig anstatt mithilfe von erlernten Mustern und Strukturen die Testdaten zu erkennen.\\ |
Overfitting lässt sich am besten durch die Verwendung von mehr Trainingsdaten vermeiden. Da dies in unserem Fall nicht ohne weiteres möglich ist, versuchten wir das Problem durch Regularisation anzugehen. Dieses Verfahren wurde in dem bereits erwähnten Buch über Neuronale Netze vorgestellt. | Overfitting lässt sich am besten durch die Verwendung von mehr Trainingsdaten vermeiden. Da dies in unserem Fall nicht ohne weiteres möglich ist, versuchten wir das Problem durch Regularisation anzugehen. Dieses Verfahren wurde in dem bereits erwähnten Buch über Neuronale Netze vorgestellt. | ||
Zeile 67: | Zeile 64: | ||
Zeitgleich versuchten wir unser Netz durch eine höhere Kernel-Size der Convolutional Layer zu verbessern. | Zeitgleich versuchten wir unser Netz durch eine höhere Kernel-Size der Convolutional Layer zu verbessern. | ||
+ | |||
+ | Zu unserem aktuellem Code kommt ihr [[hier]]. | ||
+ | === 11. Termin: ResNet Architektur === | ||
+ | //22.Febuar - 31. März 2021// \\ | ||
+ | Im folgenden versuchten wir auf den Hinweis von Stefan hin, eine ResNet Architektur zu implementieren. Dies ermöglicht es, tiefere Netzwerke zu implementieren ohne, dass Informationen von vorherigen Layern vollständig verloren gehen. Die grundlegende Idee besteht darin, sogenannte "Skip Connections" einzuführen. Dabei werden zusätzliche ResNet Layers implementiert, die einige Convolutional-Layers überspringen und so Informationen von früheren Schichten zu Informationen von darauffolgenden Schichten dazuaddieren. |