Forum: Mikrocontroller und Digitale Elektronik Neuronales Netz für den Arduino


von Josef B. (Firma: Hard- &Software) (jbernhardt)



Lesenswert?

Neuronale Netze für den Arduino UNO und Nano

Hier ein Bespielprogram für den Arduino für ein Neuronales Netzwerk
mit zwei Eingängen und einem Ausgang sowie drei Hidden Neuronen.

Das Netz wird mit vier Eingabemustern für die XOR Funktion trainiert
und merkt sich die berechneten Gewichte.
Der Lernmodus dauert nicht mal eine Sekunde.

Im Hauptprogramm werden zwei Taster an D2 und D3 ausgelesen.
Danach wird das Netzwerk durchgerechnet und das Ergebnis seriell
und auch auf die LED an D7 ausgegeben.

Interessant wäre auch ein kleines Camera Modul um eine
Mustererkennung aufzubauen.

Das nächste Projekt wäre auch vielleicht eine Farberkennung
mit einem I2C RGB Farbsensor.

Das Programm für den Arduino sowie C# und Ansi C steht hier zum Download 
bereit.

https://my.hidrive.com/share/aanao022uk

: Bearbeitet durch User
von Xanthippos (xanthippos)


Lesenswert?

Wenn schon, dann aber das original Perzeptron! Natürlich mit Mark I 
Emulator als Arduino-Lib eingebunden.

von Andreas M. (elektronenbremser)


Lesenswert?

Und in "Projekte", falls es das Wert ist

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Andreas M. schrieb:
> Und in "Projekte", falls es das Wert ist

Erst morgen denn dann ist Freitag!

von Xanthippos (xanthippos)


Lesenswert?

Ich finde das Projekt Klasse!

Für ein neuronales Netz dieser Größe brauchte es vor 70 Jahren noch 2 
geniale Mathematiker und eine raumfüllende IBM 704.

Heutzutage bekommt das ein Schüler auf der billigsten MC Platine 
zustande.

von Steve van de Grens (roehrmond)


Lesenswert?

Heute kann auch jeder Schüler einen Computer bedienen. In den 70er 
Jahren war das noch der Job weniger ausgewählter Experten.

Dafür kann heute kaum noch jemand mit einem Abakus oder Rechenschieber 
umgehen, einen Kohle-Ofen an machen, Obst einwecken, eine Pute rupfen 
und andere lebensnotwendige Dinge.

von Xanthippos (xanthippos)


Lesenswert?

Stimmt, aber jedes Kind kann die KI fragen. ChatGPT kann uns doch 
erklären wie wir Holz hacken und den Ofen an machen. Zumindest solange 
die Handymasten funktionieren.

von Cyblord -. (cyblord)


Lesenswert?

Steve van de Grens schrieb:
> Dafür kann heute kaum noch jemand mit einem Abakus oder Rechenschieber
> umgehen, einen Kohle-Ofen an machen, Obst einwecken, eine Pute rupfen

Genau. Weil man das nicht mehr braucht.

> und andere lebensnotwendige Dinge.

Hahaha

von Steve van de Grens (roehrmond)


Lesenswert?

Cyblord -. schrieb:
> Genau. Weil man das nicht mehr braucht.
> Hahaha

Ich vermute, du hast mich missverstanden. Ich versuche es nochmal:

Früher konnte man Leute damit beeindrucken, einen Computer zu bedienen. 
Noch mehr, wenn man sie programmieren konnte.

Das begeistert heute niemanden mehr. Dafür kann man heute Leute mit 
Fähigkeiten beeindrucken, die damals ganz normal waren.

In der Ausbildung hatten wir einen Meister, der konnte Bohrer mit einer 
Schlüsselfeile schärfen und an andere Materialien anpassen. Das hatte 
mich damals begeistert. Für ihn war das hingegen nichts besonderes, denn 
zu seiner jungen Zeit konnten das viele Leute.

: Bearbeitet durch User
von Alexander (alecxs)


Lesenswert?

Xanthippos schrieb:
> Stimmt, aber jedes Kind kann die KI fragen.

Und dabei bleibt es dann. Dabei kommt aber nichts zustande. Nicht jeder 
der ein Rezept gelesen hat ist gleich ein Koch.

von Steve van de Grens (roehrmond)


Lesenswert?

Alexander schrieb:
> Nicht jeder der ein Rezept gelesen hat ist gleich ein Koch.

Zumal das Internet zunehmend mit schlechten bis gar nicht 
funktionierenden Rezepten voll gemüllt wird.

Der jüngste Klopper auf den ich gestoßen war: Man sollte Kelloggs oder 
Nüsse in Schokolade tunken und dann im Backofen schön cross ausbacken.

: Bearbeitet durch User
von Peter (pittyj)


Lesenswert?

Ich kann mich noch gut an einen Hiwi-Job von 1991 erinnern.
Dort waren auch ein paar Leute, die haben exakt das gleiche 
implementiert.
Einfache neuronale Netze mit ein bis 2 Leveln an internen Neuronen. Sehr 
viel sinnvolles ist da nicht bei heraus gekommen. Aber es war damals der 
Hype.
Zusätzlich gab es auch noch Fuzzy-Logic, also irgendetwas unscharfes. 
Davon hat man Jahre später auch nichts mehr gehört.

Ok, nun kann man Programme von 1991 auf einem Arduino laufen lassen. 
Aber es waren damals auch schon keine Hochleistungsrechner eingesetzt.

von Xanthippos (xanthippos)


Lesenswert?

> Aber es war damals der Hype.

Ist doch ein guter Zeitpunkt für eine Neuauflage dieses Hypes.

In den 90ern wusste niemand mehr, was eure Vorgänger in den 60ern auf 
den Röhrencomputern versuchten. Heute weiß niemand mehr, was ihr in den 
90ern auf den DOS-PCs und UNIX-Workstations versucht hattet.

von Tim  . (cpldcpu)


Lesenswert?

Schönes Beispiel, überfordert die MCU aber nichtg gerade.

Man bekommt auch in einem ATMega328 deutlich größere neuronale Netzwerke 
unter. Gibt etliche Beispiele für die inferenz eines CNN mit dem MNIST 
Datensatz. z.B. hier:

https://github.com/sipeed/TinyMaix

: Bearbeitet durch User
von Josef B. (Firma: Hard- &Software) (jbernhardt)


Lesenswert?

Vielen Dank, das schaue ich mir mal an

von Tim  . (cpldcpu)


Lesenswert?

Hier gibt es auch einiges. Ist mir zu "untechnisch", für den Anfang aber 
nicht schlecht:

https://eloquentarduino.com/

von Josef B. (Firma: Hard- &Software) (jbernhardt)


Lesenswert?

Das ist super, vielen Dank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.