Fragen nach passender Lektüre für Neuronale Netze und Backpropagation Algorithmus
Verfasst: Samstag 10. April 2021, 20:59
Hallo zusammen,
wie einige von euch vielleicht wissen hatte ich mein Praktikum in einem Softwareentwicklungsunternehmen gemacht und meine Aufgabe war "Messfehler in Sensoren und Zeitreihenverläufe". Mit dieser Aufgabe hatte ich große Schwierigkeiten (konnte lange keine passende Literatur finden usw.), hab es aber dennoch letzten Endes geschafft, nur nicht so wie seitens Betreuerin erwünscht. Das Problem war, dass ich seitens Unternehmen nicht genügend Daten zu Auswertung bekommen habe, so dass ich keine brauchbaren Rückschlüsse ziehen konnte (hätte Daten von ganzen Tag bekommen sollen, bekam jedoch Daten von ca. 2 Stunden. Das haben die mir am Anfang des Praktikums mitgeteilt, dass aufgrund eines Problems sie nur einen kleinen Beobachtungszeitraum für den Testdatensatz haben). Nichtsdestotrotz habe ich überraschenderweise einen sehr guten Arbeitszeugnis bekommen, obwohl ich selbst mit meiner Lösung nicht zufrieden war.
Die Betreuerin hat mir mitgeteilt, dass ich mich mit meiner Aufgabe ziemlich schwer getan habe und ich solle mir gut überlegen, ob ich in die Softwareentwicklung gehen möchte. Normalerweise hätte ich in diesem Unternehmen eine Bachelorarbeit über Neuronale Netze nach meinem Praktikum schreiben sollen, was aber für mich nicht drin war. Die Betreuerin meinte zu mir, dass Neuronale Netze ein deutlich schwierigeres Thema ist und sie möchte nicht, dass ich da eine schlechte Note kriege aber auch sie selbst möchte keine Probleme kriegen, weil sie als Betreuerin im Unternehmen eine gewisse Verantwortung für Praktikanten und Studenten trägt, daher unter anderem für gute Ergebnisse in einer Bachelorarbeit durchaus verantwortlich ist.
Ein guter Freund von mir hat sein Ingenieurinformatikstudium mit einer Durchschnittsnote von 2 beendet und gehört zu den 3 besten Kandidaten, die das Studium in Regelstudienzeit abgeschlossen haben. Jetzt studiert er Data Science und ist in der Mitte seines Master Studiums. Seine Bachelorarbeit hat er über Neuronale Netze geschrieben und auch da konnte er eine sehr gute Note rausholen. Als ich ihm interessehalber mein Thema zeigte, hat er sich damit etwas beschäftigt und meinte, dass mein Thema selbst für ihn zu schwierig sei, daher Neuronale Netze für ihn leichter wären. Unteranderem lag der Grund darin, dass zu meinem Thema nur englische Paper zu finden waren und über Neuronale Netze deutlich mehr Literatur (auch auf Deutsch) existiert. Das größte Problem mit dem Thema in meinem Praktikum war die richtige Einordnung des Themas in die wissenschaftliche Literatur: weder überwachtes noch unüberwachtes, weder hidden Markov noch semi hidden Markov usw. irgendwie schien alles nicht richtig zu sein. Letzten Endes habe ich die Problematik stark vereinfacht und das Problem auf meine Art gelöst.
Mein Zwischenstand ist jetzt so, dass ich zwar mein Praktikum beendet habe aber die Bachelorarbeit muss noch geschrieben werden und ich suche derzeit ein passendes Thema. Einem Betreuer an der Fachhochschule schlug ich Neuronale Netze vor und ob er da etwas für mich passendes hätte, weil
1) Python ist noch frisch im Kopf
2) Das Wissen aus dem Praktikum kann weiterführend genutzt werden
3) Mich mit einem rein mathematischen Thema zu beschäftigen muss nicht zwingend "leichter" sein. Ich muss so gesehen mich intensiv mit vielen Themen auseinandersetzen, um sagen zu können, ob dieses eine Thema oder etwas anderes mir "leichter" fällt und dazu fehlt mir die Zeit. Ich persönlich denke, dass kein Thema leicht ist, da gewisse Ansprüche an eine Bachelorarbeit erfüllt werden müssen in der nötigen wissenschaftlichen Tiefe, daher warum also nicht Neuronale Netze programmieren.
4) So habe ich wenigstens Bezug zur Praxis und es ist nicht nur "trockene" Theorie wo man nur Sätze Beweisen muss.
5) Falls ich in die Softwareentwicklung dennoch gehen werde, so habe ich bereits das passende Thema für meine berufliche Laufbahn gewählt.
Der Dozent hat mir folgende Themen vorgeschlagen:
1) Backpropagation-Algorithmus
2) Feed Forward Neural Networks
3) MNIST-Datenbank (Handgeschriebene Ziffern)
Mein Interesse derzeit liegt bei Backpropagation-Algorithmus. Um Python Kenntnisse zu wiederholen, zu prüfen und zu vertiefen werde ich diese Bücher komplett durcharbeiten:
1) Python 3 – Einsteigen und Durchstarten: Python lernen für Anfänger und Umsteiger. Mit Kapiteln zu Git und Minecraft Pi. Inkl. E-Book Gebundene Ausgabe – 8. Oktober 2018 von Heiko Kalista.
2) Numerisches Python: Arbeiten mit NumPy, Matplotlib und Pandas Gebundene Ausgabe – 11. Juni 2019 von Bernd Klein
nachdem ich diese Bücher durchgearbeitet habe folgen dann diese Bücher:
1) Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Taschenbuch – 28. April 2017 von Tariq Rashid
2) Deep Learning mit Python und Keras: Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek (mit Professional) Broschiert – 31. Mai 2018 von Francois Chollet
Ich hab mich bereits in das erste Buch von Tariq Rashid eingelesen (die ersten 100 Seiten) und dieses Buch ist wirklich sehr vereinfacht geschrieben, ohne dass man dafür großes mathematisches Verständnis haben muss und hier liegt meiner Meinung nach bereits das Problem: um Neuronale Netze in der nötigen Tiefe zu verstehen muss ein höherer mathematischer Anspruch vorhanden sein aber auch ein höherer Anspruch was die Programmierung in Python angeht.
Jetzt meine Fragen an euch:
1) Hat jemand schon Erfahrungen mit Neuronalen Netzen insb. Backpropagation Algorithmus gemacht? Könntet ihr mir dieses Thema empfehlen? Auf der einen Seite habe ich zwar das, was mir meine Betreuerin im Unternehmen sagte und auf der anderen Seite denke ich mir "kein Meister ist vom Himmel gefallen und alles ist erlernbar und kein Hexenwerk". Ich bleibe also an dieser Stelle stur und zieh mein Ding durch, weil ich unteranderem solche Themen spannend finde.
2) Wie findet ihr meine Lektüren oder habt ihr bessere Lektüren für mich? Oder würdet ihr sagen, dass man auch im Internet genug zeug finden kann ohne explizit Bücher lesen zu müssen? Mein Freund von dem ich vorhin gesprochen habe hat tatsächlich nie Programmierbücher gelesen und hat nur durch Internet und Foren programmieren gelernt.
3) Würdet ihr auch so vorgehen und diese Bücher durcharbeiten (so wie ich es vorhabe) oder gibt es da eine bessere Methode wie man an solche Themen wie Neuronale Netze und Backpropagation angehen kann? In meinem Studium hatte ich zwar meine Klausuren im Durchschnitt mit befriedigend bestanden aber bei meinen Seminar und Proseminararbeiten hatte ich große Schwierigkeiten (Proseminar durchgefallen und danach Seminar mit einer 4 bestanden), daher mir fehlt die wissenschaftliche Herangehensweise, wo ich (ohne groß Zeit zu verlieren) das Wesentliche für mich herausfiltern kann, denn eine Bachelorarbeit ist weitaus mehr als eine Seminararbeit und das macht mir große Sorgen! Gibt es da Bücher oder Links um eine Bachelorarbeit richtig anzugehen? Weil ich möchte nicht die gleichen Fehler wie bei Seminar und Proseminararbeiten machen.
Ich hab zu hause ca. 3 Bucher zu wissenschaftlichem Schreiben aber die sind irgendwie allgemeingehalten und so wirklich helfen die mir nicht: da wird etwas von Zeitplan erstellen geredet, was für mich keinen Sinn macht, denn um Zeitplan erstellen zu können brauche ich gewisse Einschätzung wie lange ich für eine bestimmte Aufgabe brauche und um die Zeit richtig einschätzen zu können muss ich bereits diese Aufgabe des Öfteren gemacht haben und genau hier liegt das Problem: ich kann nicht einschätzen wie schwierig mir die Literatur fallen wird während meiner Bachelorarbeit oder das Thema an sich. Dementsprechend kann ich nicht sagen wie lange ich dafür brauchen werde. Meine Meinung an dieser Stelle: solche Bücher zu wissenschaftlichem Schreiben sind zu allgemein Gehalten (denn je nachdem was man Studiert sollten die Schwerpunkte anders sein, was sie aber in solchen Büchern nie sind!). Es werden da teilweise auch kontraproduktive Tipps gegeben, wie Seiten sperren zu lassen (damit man nicht auf YouTube o.ä. gehen kann, Mentale Tipps usw.) was in meinen Augen total unnötiger Aufwand ist. Es wird in solchen Büchern immer drumherum geredet und die kommen nie auf das Wesentliche.
Übrigens, ich werde meine Arbeit in Word schreiben und nicht in LATEX, obwohl viele der Meinung sind, dass LATEX im IT (und generell im naturwissenschaftlichem Bereich) das Nonplusultra ist. Ja, LATEX ist gut und alles wird mathematisch "schöner" dargestellt wie z.B. Formeln und Formatierung aber letztenendes kommt es auf den Inhalt an und um LATEX zu lernen fehlt mir die Zeit. Mein Proseminar hatte ich in LATEX geschrieben und meine Zeit zu sehr auf das Erlernen von LATEX investiert, so dass der Inhalt mager wurde, daher falls man vorhat mit LATEX zu programmieren, dann sollte man gewisse Zeit einplanen können, bevor man mit Bachelorarbeit anfängt
Was haltet ihr so von Word vs. LATEX?
ich hatte übrigens zwei Operationen gehabt vor und nach meinem Praktikum, so dass ich nicht direkt im Anschluss an mein Praktikum mit meiner Bachelorarbeit anfangen konnte.
Danke vielmals, falls ihr es geschafft habt bis hierhin zu lesen und ich bin jetzt schon Dankbar für eure Antworten
Liebe Grüße
wie einige von euch vielleicht wissen hatte ich mein Praktikum in einem Softwareentwicklungsunternehmen gemacht und meine Aufgabe war "Messfehler in Sensoren und Zeitreihenverläufe". Mit dieser Aufgabe hatte ich große Schwierigkeiten (konnte lange keine passende Literatur finden usw.), hab es aber dennoch letzten Endes geschafft, nur nicht so wie seitens Betreuerin erwünscht. Das Problem war, dass ich seitens Unternehmen nicht genügend Daten zu Auswertung bekommen habe, so dass ich keine brauchbaren Rückschlüsse ziehen konnte (hätte Daten von ganzen Tag bekommen sollen, bekam jedoch Daten von ca. 2 Stunden. Das haben die mir am Anfang des Praktikums mitgeteilt, dass aufgrund eines Problems sie nur einen kleinen Beobachtungszeitraum für den Testdatensatz haben). Nichtsdestotrotz habe ich überraschenderweise einen sehr guten Arbeitszeugnis bekommen, obwohl ich selbst mit meiner Lösung nicht zufrieden war.
Die Betreuerin hat mir mitgeteilt, dass ich mich mit meiner Aufgabe ziemlich schwer getan habe und ich solle mir gut überlegen, ob ich in die Softwareentwicklung gehen möchte. Normalerweise hätte ich in diesem Unternehmen eine Bachelorarbeit über Neuronale Netze nach meinem Praktikum schreiben sollen, was aber für mich nicht drin war. Die Betreuerin meinte zu mir, dass Neuronale Netze ein deutlich schwierigeres Thema ist und sie möchte nicht, dass ich da eine schlechte Note kriege aber auch sie selbst möchte keine Probleme kriegen, weil sie als Betreuerin im Unternehmen eine gewisse Verantwortung für Praktikanten und Studenten trägt, daher unter anderem für gute Ergebnisse in einer Bachelorarbeit durchaus verantwortlich ist.
Ein guter Freund von mir hat sein Ingenieurinformatikstudium mit einer Durchschnittsnote von 2 beendet und gehört zu den 3 besten Kandidaten, die das Studium in Regelstudienzeit abgeschlossen haben. Jetzt studiert er Data Science und ist in der Mitte seines Master Studiums. Seine Bachelorarbeit hat er über Neuronale Netze geschrieben und auch da konnte er eine sehr gute Note rausholen. Als ich ihm interessehalber mein Thema zeigte, hat er sich damit etwas beschäftigt und meinte, dass mein Thema selbst für ihn zu schwierig sei, daher Neuronale Netze für ihn leichter wären. Unteranderem lag der Grund darin, dass zu meinem Thema nur englische Paper zu finden waren und über Neuronale Netze deutlich mehr Literatur (auch auf Deutsch) existiert. Das größte Problem mit dem Thema in meinem Praktikum war die richtige Einordnung des Themas in die wissenschaftliche Literatur: weder überwachtes noch unüberwachtes, weder hidden Markov noch semi hidden Markov usw. irgendwie schien alles nicht richtig zu sein. Letzten Endes habe ich die Problematik stark vereinfacht und das Problem auf meine Art gelöst.
Mein Zwischenstand ist jetzt so, dass ich zwar mein Praktikum beendet habe aber die Bachelorarbeit muss noch geschrieben werden und ich suche derzeit ein passendes Thema. Einem Betreuer an der Fachhochschule schlug ich Neuronale Netze vor und ob er da etwas für mich passendes hätte, weil
1) Python ist noch frisch im Kopf
2) Das Wissen aus dem Praktikum kann weiterführend genutzt werden
3) Mich mit einem rein mathematischen Thema zu beschäftigen muss nicht zwingend "leichter" sein. Ich muss so gesehen mich intensiv mit vielen Themen auseinandersetzen, um sagen zu können, ob dieses eine Thema oder etwas anderes mir "leichter" fällt und dazu fehlt mir die Zeit. Ich persönlich denke, dass kein Thema leicht ist, da gewisse Ansprüche an eine Bachelorarbeit erfüllt werden müssen in der nötigen wissenschaftlichen Tiefe, daher warum also nicht Neuronale Netze programmieren.
4) So habe ich wenigstens Bezug zur Praxis und es ist nicht nur "trockene" Theorie wo man nur Sätze Beweisen muss.
5) Falls ich in die Softwareentwicklung dennoch gehen werde, so habe ich bereits das passende Thema für meine berufliche Laufbahn gewählt.
Der Dozent hat mir folgende Themen vorgeschlagen:
1) Backpropagation-Algorithmus
2) Feed Forward Neural Networks
3) MNIST-Datenbank (Handgeschriebene Ziffern)
Mein Interesse derzeit liegt bei Backpropagation-Algorithmus. Um Python Kenntnisse zu wiederholen, zu prüfen und zu vertiefen werde ich diese Bücher komplett durcharbeiten:
1) Python 3 – Einsteigen und Durchstarten: Python lernen für Anfänger und Umsteiger. Mit Kapiteln zu Git und Minecraft Pi. Inkl. E-Book Gebundene Ausgabe – 8. Oktober 2018 von Heiko Kalista.
2) Numerisches Python: Arbeiten mit NumPy, Matplotlib und Pandas Gebundene Ausgabe – 11. Juni 2019 von Bernd Klein
nachdem ich diese Bücher durchgearbeitet habe folgen dann diese Bücher:
1) Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Taschenbuch – 28. April 2017 von Tariq Rashid
2) Deep Learning mit Python und Keras: Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek (mit Professional) Broschiert – 31. Mai 2018 von Francois Chollet
Ich hab mich bereits in das erste Buch von Tariq Rashid eingelesen (die ersten 100 Seiten) und dieses Buch ist wirklich sehr vereinfacht geschrieben, ohne dass man dafür großes mathematisches Verständnis haben muss und hier liegt meiner Meinung nach bereits das Problem: um Neuronale Netze in der nötigen Tiefe zu verstehen muss ein höherer mathematischer Anspruch vorhanden sein aber auch ein höherer Anspruch was die Programmierung in Python angeht.
Jetzt meine Fragen an euch:
1) Hat jemand schon Erfahrungen mit Neuronalen Netzen insb. Backpropagation Algorithmus gemacht? Könntet ihr mir dieses Thema empfehlen? Auf der einen Seite habe ich zwar das, was mir meine Betreuerin im Unternehmen sagte und auf der anderen Seite denke ich mir "kein Meister ist vom Himmel gefallen und alles ist erlernbar und kein Hexenwerk". Ich bleibe also an dieser Stelle stur und zieh mein Ding durch, weil ich unteranderem solche Themen spannend finde.
2) Wie findet ihr meine Lektüren oder habt ihr bessere Lektüren für mich? Oder würdet ihr sagen, dass man auch im Internet genug zeug finden kann ohne explizit Bücher lesen zu müssen? Mein Freund von dem ich vorhin gesprochen habe hat tatsächlich nie Programmierbücher gelesen und hat nur durch Internet und Foren programmieren gelernt.
3) Würdet ihr auch so vorgehen und diese Bücher durcharbeiten (so wie ich es vorhabe) oder gibt es da eine bessere Methode wie man an solche Themen wie Neuronale Netze und Backpropagation angehen kann? In meinem Studium hatte ich zwar meine Klausuren im Durchschnitt mit befriedigend bestanden aber bei meinen Seminar und Proseminararbeiten hatte ich große Schwierigkeiten (Proseminar durchgefallen und danach Seminar mit einer 4 bestanden), daher mir fehlt die wissenschaftliche Herangehensweise, wo ich (ohne groß Zeit zu verlieren) das Wesentliche für mich herausfiltern kann, denn eine Bachelorarbeit ist weitaus mehr als eine Seminararbeit und das macht mir große Sorgen! Gibt es da Bücher oder Links um eine Bachelorarbeit richtig anzugehen? Weil ich möchte nicht die gleichen Fehler wie bei Seminar und Proseminararbeiten machen.
Ich hab zu hause ca. 3 Bucher zu wissenschaftlichem Schreiben aber die sind irgendwie allgemeingehalten und so wirklich helfen die mir nicht: da wird etwas von Zeitplan erstellen geredet, was für mich keinen Sinn macht, denn um Zeitplan erstellen zu können brauche ich gewisse Einschätzung wie lange ich für eine bestimmte Aufgabe brauche und um die Zeit richtig einschätzen zu können muss ich bereits diese Aufgabe des Öfteren gemacht haben und genau hier liegt das Problem: ich kann nicht einschätzen wie schwierig mir die Literatur fallen wird während meiner Bachelorarbeit oder das Thema an sich. Dementsprechend kann ich nicht sagen wie lange ich dafür brauchen werde. Meine Meinung an dieser Stelle: solche Bücher zu wissenschaftlichem Schreiben sind zu allgemein Gehalten (denn je nachdem was man Studiert sollten die Schwerpunkte anders sein, was sie aber in solchen Büchern nie sind!). Es werden da teilweise auch kontraproduktive Tipps gegeben, wie Seiten sperren zu lassen (damit man nicht auf YouTube o.ä. gehen kann, Mentale Tipps usw.) was in meinen Augen total unnötiger Aufwand ist. Es wird in solchen Büchern immer drumherum geredet und die kommen nie auf das Wesentliche.
Übrigens, ich werde meine Arbeit in Word schreiben und nicht in LATEX, obwohl viele der Meinung sind, dass LATEX im IT (und generell im naturwissenschaftlichem Bereich) das Nonplusultra ist. Ja, LATEX ist gut und alles wird mathematisch "schöner" dargestellt wie z.B. Formeln und Formatierung aber letztenendes kommt es auf den Inhalt an und um LATEX zu lernen fehlt mir die Zeit. Mein Proseminar hatte ich in LATEX geschrieben und meine Zeit zu sehr auf das Erlernen von LATEX investiert, so dass der Inhalt mager wurde, daher falls man vorhat mit LATEX zu programmieren, dann sollte man gewisse Zeit einplanen können, bevor man mit Bachelorarbeit anfängt
Was haltet ihr so von Word vs. LATEX?
ich hatte übrigens zwei Operationen gehabt vor und nach meinem Praktikum, so dass ich nicht direkt im Anschluss an mein Praktikum mit meiner Bachelorarbeit anfangen konnte.
Danke vielmals, falls ihr es geschafft habt bis hierhin zu lesen und ich bin jetzt schon Dankbar für eure Antworten
Liebe Grüße