KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET

Die Seite wird erstellt Dirk Schreiber
 
WEITER LESEN
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
WWW.INS-ONLINE.NET

Digital Future Congress
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK
EINFACH SELBER AUSPROBIEREN
Frankfurt, 14.02.2019
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
AGENDA

               • Alles beginnt mit einem Buch
               • Das MNIST Dataset
               • Ein kleiner Spielzeug-Roboter …
               • … soll ein Kinderspiel lernen
               • Der Roboter lernt Karten drehen
               • Ein 3D-Drucker muss her
               • Ein CAD (eigentlich) für Kinder
               • Klassifizierte Daten selbst erstellen
               • Ein neuronales Netz in Python
               • Das Experiment kommt an seine Grenzen
               • Verwendete Hard- und Software
               • Fazit

2019-02-14 •       • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"   2
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
ALLES BEGINNT MIT EINEM FANTASTISCHEN BUCH

    •      Kaum Grundkenntnisse in Algebra oder Programmierung notwendig

    •      Einführung: Mathematisches Konzept neuronaler Netze

    •      Programmierung in Python ohne Verwendung von Frameworks

    •      Praktisches Beispiel: MNIST Dataset

    •      Umsetzung mit ~ 100 Zeilen Programmcode

    •      Optimierung auf 98% Trefferquote bei der Erkennung von Zahlen

    •      Sämtlicher Programmcode als Open Source auf GitHub frei erhältlich

                                                                                                          Und was heisst das genau?
2019-02-14 •         • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                               3
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
NEURONALES NETZ, GANZ GROBER ÜBERBLICK

                                                           784x                                             200x      10x     Training:

                                                                                                                                                 158.800 Verbindungen

                                                                                                                                60.000 Training-Datensätze (107 MB)
                                                                                                                       4
                                                                                                                                  9.528.000.000+ Rechenoperationen

                                                                                                                                          364 bis 376 Sekunden Dauer
                                                                                                                       3               (i5-4200 CPU @ 1,6 Ghz x4, 8GB RAM)

                                                                                                                       2      Test:
               28x28 Pixel                                                                                                            10.000 Test-Datensätze (18 MB)

                                                                                                                                          2,44 bis 2,78 % Fehlerquote

                                                                                                                                                   3,5 Sekunden Dauer
                                                           Input                                            Hidden   Output
                                                                                                                                  Und wie sieht das Ergebnis aus?
2019-02-14 •           • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                                    4
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
DAS MNIST DATASET

                 Was das Netz erkennt:                                                                              Und was nicht:                    Wie das Netz „die Welt sieht“:

                  9                                      8                                             2 [richtig: 8]         7 [richtig: 2]                 1                     2
               77,68%                                 87,44%                                             53,70%                 84,81%

                  4                                       2                                            0 [richtig: 6]         6 [richtig: 4]                 3                     4
               87,13%                                  93,48%                                            73,21%                 37,80%

                  7                                       2                                             9 [richtig: 4]         9 [richtig: 2]                 5                    6
               82,13%                                  95,12%                                             42,15%                 46,77%

                                                                                                                                       Damit muss man doch etwas anfangen können
2019-02-14 •            • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                                             5
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
EIN KLEINER SPIELZEUG-ROBOTER …

                                                                                                    •   „Intelligenter“ Roboter bzw. modernes Tamagotchi

                                                                                                    •   VGA Kamera, Lautsprecher, IR Sensoren

                                                                                                    •   Gesichts- und Haustiererkennung

                                                                                                    •   Emotionen-Engine

                                                                                                    •   Eingebaute Spiele über 3 Power Cubes

                                                                                                    •   Gut dokumentierte API / SDK

                                                                                                                            Und was soll der Roboter machen?
2019-02-14 •   • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                              6
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
… SOLL EIN KINDERSPIEL LERNEN
                                                                                                                         Originalkarten

                                                                                                                       Schwarz-Weiss

                                                                                                    Input für das Neuronale Netz (Ausschnitt 50 x 50 Pixel)

                                             So sieht der Roboter die Welt

                                                                                                                     Wie drehe ich denn die Karten um?
2019-02-14 •   • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                             7
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
DER ROBOTER LERNT KARTEN DREHEN

                                                                                                    Idee: Um die Spielkarten umzudrehen, muss ein Adapter her,
                                           ?                                                              so dass die Karten über einen zusätzlichen Motor gedreht
                                                                                                          werden können
                                                                                                         (Alternative: Magnet oder Vakuum-Sauggreifer)

                                                                                                                                    28BYJ-48 Stepper Motor
                                                                                                                                    mit ULN2003 Steuerungsplatine

                                                                                                                                                               Akku 3350mAh

                           !

                                                                                                                                    Raspberry Zero W

                                                                                                                                          Wie baue ich das alles?
2019-02-14 •   • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                                             8
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
EIN 3D-DRUCKER MUSS HER

    •      Bauvolumen 200 x 200 x 180 mm
    •      Schicht-Auflösung 0,1 mm - 0,4 mm
    •      Druckgeschwindigkeit 10-100 mm/s einstellbar
    •      Position Precision Z 0,004mm, XY 0,012mm
    •      Beheiztes Druckbett
    •      Druckt in PLA und ABS
    •      ca. € 350,-
                                                                                                              Schön und gut. Wie komme ich an 3D-Modelle?
2019-02-14 •             • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                 9
KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
CAD (EIGENTLICH) FÜR KINDER
                                                      3D-Modelle in TinkerCAD entworfen, zum Teil mit freien
                                                      Modellen (Stepper Motor) aus Thingiverse ergänzt.

                                                                                                        Die Technik steht. Wie geht es weiter?
2019-02-14 •   • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                10
KLASSIFIZIERTE DATEN SELBST ERSTELLEN

                                         320x240 px

                                                                                                         • 1.428 Photos sortiert und qualitätsgesichert
                                                                                                         • Klassifizierung erfolgte über Dateinamen
                                                                                                         • Konvertierung PNG nach CSV in Python
         50x50 px

                                                                                                                      Was erkennt das neuronale Netz genau?
2019-02-14 •        • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                        11
EIN NEURONALES NETZ IN PYTHON

                           erkannt                                                                            falsch erkannt                    erkannt
                            92,6%                                                                                 44,5%                          31,8%       Input

                       1.150 Training-Datensätze
    Training

                               165 Sekunden Dauer
               (i5-4200 CPU @ 1,6 Ghz x4, 8GB RAM)

                                272 Test-Datensätze
    Test

                                3,5 Sekunden Dauer
                                    0,8% Fehlerquote
                                                                                                                                            falsch erkannt
                                                                                                                                                80,5%

                                                                                                                               Und wie sieht das live aus?
2019-02-14 •             • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                    12
DAS EXPERIMENT KOMMT AN SEINE GRENZEN

                                                                                                    Für die Bewegung auf dem Feld wurde ich einfach zu schwer 
2019-02-14 •   • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                                 13
VERWENDETE RESSOURCEN
    Fachliteratur / Spiel
    Rashid, T.; Neuronale Netzwerke selbst programmieren; O‘Reilly 2017                                   ca. €    27,-
    2x Piatnik 6594 - Kompaktspiel Memo Domino - Traktoren                                                ca. €    16,-

    Software
    Anki Cozmo SDK auf Ubuntu 16.4 Linux (in einer Oracle VirtualBox unter Windows 10)                    Open Source
    Raspbian Jessie und Raspbian Stretch Lite (based on Debian 9) als Raspberry OS                        Open Source
    Python 3.5 mit NumPy, SciPy, PIL und Matplotlib libraries                                             Open Source
    Autodesk Tinkercad für alle .stl 3D Modelle                                                           kostenlos für private Nutzung
    Autodesk Netfabb um einige .stl 3D Modelle zu optimieren                                              kostenlos für private Nutzung
    Cura Slicer für das „Slicing“ von .stl nach .gcode                                                    Open Source
    OctoPrint für die 3D Drucker-Steuerung                                                                Open Source
    Github Atom als Texteditor und Git für die Softwareversionierung                                      Open Source
    Sphinx Python Documentation Generator für die Software-Dokumentation                                  Open Source

    Hardware
    Anki Cozmo Roboter                                                                                    ca. €   200,-
    Lenovo Thinkpad T240 und Fujitsu Lifebook A540 für die Programmierung und Berechnung (ohne GPU)       ca. €   250,- (Lenovo ThinkPad X240, gebraucht)
    Amazon Fire 7-Tablet für die Cozmo App                                                                ca. €    70,-
    Wanhao i3 Duplicator v2.1 als 3D Drucker (Druck in PLA)                                               ca. €   350,-
    Raspberry Zero W für die Steuerung des Stepper-Motors                                                 ca. €    25,-
    Raspberry Pi 3 mit Kamera für OctoPrint                                                               ca. €    45,-
    2x TCRT5000 Infrared Reflective IR Switch Sensor Board                                                ca. €     4,-
    28BYJ-48 Stepper Motor mit ULN2003 driver board                                                       ca. €     6,-
    Anker PowerCore+ Mini 3350mAh für die Stromversorgung des Raspberry Zero W                            ca. €    16,-
    Diverse Jumper Kabel, M3/M2.5 Schrauben und Muttern                                                   ca. €    10,-
    10x PLA Filament für 3D Druck (großzügig geschätzt)                                                   ca. €   200.-

    Investition (ca.)                                                                                     ca. € 1.219,-

                                                                                                                      Wie geht es jetzt weiter?
2019-02-14 •         • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                                                     14
FAZIT

        „AHA“-Effekte
        • Es war erstaunlich einfach brauchbare Ergebnisse zu erzielen (sowohl Objekterkennung als auch 3D-Druck).
        • Der finanzielle Aufwand war übersichtlich, der zeitliche nicht. Ich habe die Wochenenden nicht gezählt .
        • Grundkenntnisse und etwas „Mut zur Lücke“ reichen zum Probieren völlig aus.
        • Es braucht keine aufwändige Hardware, es dauert dann nur länger.

        Herausforderungen
        • Verfügbarkeit von klassifizierten Daten zum Training
        • Mobile Stromversorgung des Roboters
        • 3D-Druck ist einfach, dauert aber sehr lange

        Wie geht es weiter?
        • Das nächste Projekt wird eher ein Robotergreifarm (kein Problem mit Strom, HD-Kamera).

2019-02-14 •       • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren"                 15
WWW.INS-ONLINE.NET

   Vielen Dank für Ihre Aufmerksamkeit.

   Gerne beantworte ich Ihr Fragen.
                                                                                                                                                            INS Systems GmbH
                                                                                                                                                                 Zentrale
                                                                                                                                               Industriestraße 4-6  D-61440 Oberursel/Ts.

                                                                                                                                                          INS Systems GmbH
                                                                                                                                                             Niederlassung
                                                                                                                                                 Schiessstraße 43  D-40549 Düsseldorf

                                                                                                                                                           INS Consulting GmbH
                                                                                                                                               Industriestraße 4-6  D-61440 Oberursel/Ts.

                                                                                                                                                        Telefon: +49 6172 93 65-0
                                                                                                                                                       Telefax: +49 6172 93 65-40
                                                                                                                                                       Internet: www.ins-online.de

                                                                                                                                                            INS Systems AG
   The presented project is a purely private non-commercial project which is not affiliated with any of the
   companies or products mentioned herein.                                                                                                    Buochserstrasse 55  CH-6375 Beckenried/NW
   Any trademarks, logos and service marks displayed on this presentation are the property of their owners. For example:
   Amazon, Kindle and all related logos are trademarks of Amazon.com, Inc. or its affiliates. Anker® and the Anker logo are registered                  Telefon: +41 41 544 31 00
   trademarks of Anker Technology Co. Limited. Anki, Cozmo, and the Anki and Cozmo logos are registered trademarks of Anki, Inc.                        Telefax: +41 41 544 34 00
   Autodesk®, Netfabb® and Tinkercad™ are trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates. Debian is a
   trademark of Software in the Public Interest, Inc. Fujitsu, the Fujitsu logo, and LifeBook are registered trademarks of Fujitsu Limited.            Internet: www.ins-online.ch
   Lenovo™, Think Pad® and the related logos are registered trademarks of Lenovo Corporation. Linux is a registered trademark of
   Linus Torvalds. Ubuntu is a registered trademark of Canonical Ltd. Wanhao is a registered national and international trademark of
   Hangzhou Weibin Technology Co., Ltd. Windows is a trademark of Microsoft Corporation.

© 2019 Knut Krummnacker, INS Systems GmbH
Sie können auch lesen