Forum: FPGA, VHDL & Co. Coole FPGA Projekte


von FPGAfan (Gast)


Lesenswert?

Was war das coolste und abgefahrenste was ihr mit einem FPGA mal gemacht 
habt?

von Frank (Gast)


Lesenswert?

Altera SoC.
4x 100MS ADC am FPGA.
Linux + Webserver auf den Applikationsprozessoren.
Visualisierung und Parametrierung über den Browser möglich.
Also eine Art "Web Oszi".

von vBraunsUrenkel (Gast)


Lesenswert?

Lenkwaffensteuerung

von Doc_Brown (Gast)


Lesenswert?

Ausgeloetet

Doc_Brown

von Thomas W. (diddl)


Lesenswert?

Eine Speicherweiterung 512KB RAM + 512KB EEPROM für einen VC-20 Retro 
Computer von Commodore.

Unter Berücksichtigung der verschiedenen Speichermodelle und 
ausgefeiltem Banking.


Final Expansion:
https://de.wikipedia.org/wiki/Final_Expansion



Na gut, ist nur ein CPLD.

: Bearbeitet durch User
von Analog OPA (Gast)


Lesenswert?

vBraunsUrenkel schrieb:
> Lenkwaffensteuerung

Ein Privatprojekt?

Was Ich verfolge, war dieses Radio-Projekt mit 4 Komponenten im FPGA, 
das hier einst als Wettbewerb lief. Kam aber offenbar nichts bei raus.

Mein Projekt wäre ein kompletter Funkmastabgleichgenerator.

von Andy (Gast)


Lesenswert?

Für coole FPGA Projekte bieten sich die ultra low power FPGAs von 
Lattice an, die werden kaum warm.
Wenn's auch noch abgefahren sein soll: Einfach auf einem fahrbaren 
Objekt montieren.

von J. S. (engineer) Benutzerseite


Lesenswert?

Andy schrieb:
> Für coole FPGA Projekte bieten sich die ultra low power FPGAs von
> Lattice an, die werden kaum warm.
... und wenn sie immer noch nicht cool genug sind: Einfach einen 
Antistrom einprägen und als Peltier-FPGA verwenden.

> Wenn's auch noch abgefahren sein soll: Einfach auf einem fahrbaren
> Objekt montieren.
... aber rechtzeitig platzieren, bevor das Objekt weg ist :-)

Empfehlenswert sind auch "spannende" Projekte, wie ein Ei zwischen zwei 
FPGAs einquetschen oder ein Auto dran aufhängen, am Besten mit mit "auto 
constraining" ...

von FPGAfan (Gast)


Lesenswert?

Habt ihr schon mal versucht eine künstliche Intelligenz mit einem FPGA 
zu entwickeln?

von Christian R. (supachris)


Lesenswert?

FPGAfan schrieb:
> Habt ihr schon mal versucht eine künstliche Intelligenz mit einem
> FPGA zu entwickeln?

Nicht die komplette, aber als Beschleuniger für einen DSP, der offline 
und relativ energieeffizient KI Sachen tut, hab ich sowas in einem 
Forschungsprojekt gemacht. Zerfällt ja am Ende auf Matrizen 
Multiplikation usw. Aber war schon kniffelig, mit mehreren DDR3 RAMs, 
paralleler Abarbeitung und dann noch halbwegs stromsparend...

Steckt hier drin: https://www.elektronikforschung.de/projekte/misis
Und erweitert nochmal hier: 
https://www.technik-zum-menschen-bringen.de/projekte/ucui

von frager (Gast)


Lesenswert?

DArf man wissen, inwieweit hier KI zum Tragen kommen? Was tut dieses 
Gerät im Bezug auf KI, was andere nicht können?

von Christian R. (supachris)


Lesenswert?

frager schrieb:
> DArf man wissen, inwieweit hier KI zum Tragen kommen? Was tut
> dieses Gerät im Bezug auf KI, was andere nicht können?

Naja, meines Wissens ist das von den aktuellen KI Sachen ein ganzes 
Stück entfernt. Hier gehts um recht einfache, lernende Algorithmen die 
optimiert für offline Anwendung und stromsparend ausgelegt wurden.
Ich hab da ehrlich gesagt selbst nicht 100 Prozent durchgeblickt, hab 
"nur" die FPGA Sachen für unseren Anteil gemacht, das war vorher schon 
mal auf PC ausprobiert worden und wurde dann auf einen Artix portiert.

von Hirnschaden, H. (Firma: Happy Computing MDK Inc.) (hirnschaden)


Lesenswert?

Ainen gudden!

Christian R. schrieb:
> Nicht die komplette, aber als Beschleuniger für einen DSP, der offline
> und relativ energieeffizient KI Sachen tut,

Ach; die haben wohl Probleme mit der Datenschaufelei.

Ein paralleles Netz zeitlich zu diskretisieren ist sowieso der falsche 
Ansatz. Die zu verarbeitenden Datenmengen können jederzeit jeden Rahmen 
sprengen.
Eine Möglichkeit wäre die zu schaufelnden Daten mit Methoden der 
Videokompression zu bearbeiten. Was aber im Endeffekt auf sowas wie 
malen nach Zahlen hinausläuft und einem die Datenmassen trotzdem immer 
wieder um die Ohren fliegen.

Dwianea
hirnschaden

von Kamera-d (Gast)


Lesenswert?

Hirnschaden, H. schrieb:
> Eine Möglichkeit wäre die zu schaufelnden Daten mit Methoden der
> Videokompression zu bearbeiten. Was aber im Endeffekt auf sowas wie
> malen nach Zahlen hinausläuft und einem die Datenmassen trotzdem immer
> wieder um die Ohren fliegen.

Wenn Ich so Zeug lesen muss, kann Ich nur sagen, dass Dein nick gut 
gewählt ist. Du solltest mal drüber nachdenken, ob das sinnig ist, den 
weniger gut Informierten hier im Forum dein unausgereiftes Wissen 
aufzudrücken.

von Sauron (Gast)


Lesenswert?


von Hirnschaden, H. (Firma: Happy Computing MDK Inc.) (hirnschaden)


Lesenswert?

Ainen gudden!

Kamera-d schrieb:
> Du solltest mal drüber nachdenken, ob das sinnig ist, den weniger gut
> Informierten hier im Forum dein unausgereiftes Wissen aufzudrücken.

Meinst Du jetzt die, die ein neuronales Netz am laufen haben oder die 
Anderen, die sowas nur vom hörensagen kennen?

Dwianea
hirnschaden

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Hirnschaden, H. schrieb:


> Meinst Du jetzt die, die ein neuronales Netz am laufen haben oder die
> Anderen, die sowas nur vom hörensagen kennen?

Sicher meint er den Teil der Leserschaft, der über ein solches, mit der 
Entsprechung seiner KI als Hauptprozessor auskommen muss.;)

von Hirnschaden, H. (Firma: Happy Computing MDK Inc.) (hirnschaden)


Lesenswert?

Ainen gudden!

Winfried J. schrieb:
> Sicher meint er den Teil der Leserschaft, der über ein solches, mit der
> Entsprechung seiner KI als Hauptprozessor auskommen muss.;)

Ach Du meinst jetzt die von ihm geschriebenen Bots? Weil die brauchen ja 
auch irgendwelche Daten zum Verarbeiten.?

Dwianea
hirnschaden

von Hirnschaden, H. (Firma: Happy Computing MDK Inc.) (hirnschaden)


Lesenswert?

Ainen gudden!

Kamera-d schrieb:
> Du solltest mal drüber nachdenken, ob das sinnig ist, den weniger gut
> Informierten hier im Forum dein unausgereiftes Wissen aufzudrücken.

Wer sich mit Neuronalen Netzen befaßt, der steht direkt und unvermittelt 
dem Chaos höchstpersönlich gegenüber.

Dwianea
hirnschaden

von Hirnschaden, H. (Firma: Happy Computing MDK Inc.) (hirnschaden)


Lesenswert?

Ainen gudden!

Kamera-d schrieb:
> Du solltest mal drüber nachdenken, ob das sinnig ist, den weniger gut
> Informierten hier im Forum dein unausgereiftes Wissen aufzudrücken.

Spätestens seit Ende der 80er sind die Nachteile von Neuronalen Netzen 
bekannt, und daß noch jahrzehntelange, eher jahrhundertelange 
Grundlagenforschung nötig ist.

Ein paar Versager versuchen es trotzdem. Mehr als nette Versuche mit 
definierter Bandbreite kriegen die nich' auf die Reihe.

Dwianea
hirnschaden

von FPGAfan (Gast)


Lesenswert?

Ich vertiefe mich seit einiger Zeit im Bereich der Hirnforschung und dem 
Wesen von biologischen Gehirnen.

Künstliche Neuronale Netze werfen für mich aber auch für andere die 
Frage auf inwiefern es sich eigentlich wirklich um künstliche neuronale 
Netze nach dem Vorbild der Natur handelt.

Schaut man sich echte neuronale Netze an kann man sehen das die KNN 
davon nur eine grobe Vereinfachung darstellen. Nicht nur das. Man 
vermischt das Vorbild der Natur mit menschlichen algorithmischen 
Fantasien. So etwas wie die Backpropagation von KNN hat man bisher nicht 
in echten neuronalen Netzen finden können.

Mir scheint es bisher so zu sein dass das einzige was von der Natur 
abgeschaut wurde das Prinzip der Gewichtung der Verbindungen zwischen 
den einzelnen Neuronen ist.

Die neuronalen Strukturen in Gehirnen wird ignoriert. Außerdem typisch 
menschlich und mathematisch gestaltet man die KNN wohlgeordnet alles 
schön säuberlich der Reihe nach. Man hat eine ordentliche Struktur vor 
sich und jede Verbindung der Neuronen ist klar definiert und 
einheitlich.
Echte neuronale Netze zeichnen sich durch ein Gleichgewicht aus zwischen 
struktureller Ordnung und Chaos in den Verbindungen der Neuronen.

Echte Gehirne funktionieren nicht wie Computer. Ein einzelnes Neuron hat 
normalerweise keine eindeutige Bedeutung. Es ist nicht wie eine 1 oder 
0.
Vorgänge in Tausenden und Millionen von Neuronen ergeben im ersten Blick 
ein chaotischen Vorgang das nur in der statistischen Betrachtung ein 
deutliches Ergebnis hervorbringt.


Ich finde es erstaunlich wie man in den ganzen Jahrzehnten nicht 
ernsthaft versucht hat die Prinzipien der Natur weiter zu übernehmen. 
Stattdessen hat man das Konzept der neuronalen Netze mit immer mehr 
abstrakten menschlichen Ideen ausgestattet.
Vieles deutet aber daraufhin das echte neuronale Netze keine fest 
eingebautes Algorithmus besitzen, sie arbeiten vielmehr durch das 
Prinzip des Zufalls, Chaos, Struktureller Ordnung, Emergenz, 
Evolutionäre Populationsvorgänge (häufig aktivierte Verbindungen werden 
gestärkt, andere weniger aktivierte Verbindungsketten geschwächt).

Hier ist ein Beispiel für eine im Chaos der synaptischen Verbindungen 
sich deutlich abzeichnete Struktur in der Großhirnrinde, die sogenannten 
kortikalen Säulen. Säulenartige Strukturen bestehend aus verschiedenen 
Schichten von unterschiedlichen Typen von Neuronen:
http://www.kurzweilai.net/images/vibrissal-cortex-rat.jpg

Und wie man sieht sehen die meisten KNNs nicht annähernd so aus. Die 
üblichen KNNs haben Neurone die alle vom gleichen Typ also die selben 
Eigenschaften besitzen.
Räumliche Faktoren in Form von Neuronen Größe bzw. der Länge ihrer Axone 
die den Signalverlauf beeinflussen gibt es in KNNs nicht.

In kortikalen Säulen fließen die Informationen in Form neuronaler 
Aktivität zwischen Netzen mit unterschiedlichen Typen von Neuronen. Das 
heißt die Art und Weise des Informationsflusses im neuronalen Netz wird 
dadurch in irgendeiner Form beeinflusst.
KNNs dagegen haben eine monotone einheitliche Struktur.


Ein weiterer Unterschied ist dass die meisten KNNs im Grunde nur eine 
einzige neuronale Karte darstellen. Das heißt das Netz von künstlichen 
neuronalen Verbindungen stellt insgesamt eine neuronale Karte da.
Viele Hinweise deuten darauf hin dass in echten Gehirnen durch 
strukturelle Verbindungen Informationen nicht nur anhand einzelner 
Karten verarbeitet werden sondern durch eine Wechselwirkung zwischen 
eine Mehrzahl von neuronalen Karten.
Das heißt viele voneinander abgrenzbare neuronale Karten wechselwirken 
ständig miteinander.
Was dadurch genau passiert lässt sich bisher noch nicht genau sagen, 
aber es ist deutlich dass dadurch sozusagen mehr Dynamik für die 
Informationsverarbeitung entsteht. Wenn für bestimmte Vorgänge zwei 
Karten unterschiedlicher Struktur nötig sind dann ist eine Karte dazu 
nicht fähig aber mehr als eine Karte ist dazu fähig. Die Dynamik der 
Möglichkeiten wächst also.
So was sucht man in KNNs aber auch vergeblich.

KNNs leiden meiner Ansicht nach unter dem Tunnelblick klassischer 
Mathematik. Man versucht einheitliche und sauber strukturierte Netze zu 
generieren mit wenig Raum für eine große Dynamik.
Der menschliche Geist ist dazu geneigt die Natur in abstrakten und 
vereinfachten Modellen zu betrachten. Man versucht Unordnung und 
Vielfalt aus den Modellen möglichst zu entfernen.
Kurz, man ist dazu geneigt eine Art Computer Variante von neuronalen 
Netzen zu erschaffen, starr und vereinfacht. Die Dynamik in Computern 
Modellen ist im Vergleich zum biologischen Vorbild sehr stark 
eingeschränkt.


Diese Defizite führe ich auf die Trennung der Wissenschaftsdiszipline 
zurück also schlichtweg dem Mangel an Wissen aus Fachübergreifenden 
Gebieten (auch wenn es so was wie Bioinformatiker gibt, genügt es wohl 
nicht) und mangelnden Ideen wie man die biologische Dynamik in 
beherrschbarem und nutzbarem Umfang in künstliche Modelle überführen 
kann.

von Hagen R. (hagen)


Lesenswert?

Nur mal eine Deiner Aussagen rausgepickt:

FPGAfan schrieb:
> Die neuronalen Strukturen in Gehirnen wird ignoriert. Außerdem typisch
> menschlich und mathematisch gestaltet man die KNN wohlgeordnet alles
> schön säuberlich der Reihe nach. Man hat eine ordentliche Struktur vor
> sich und jede Verbindung der Neuronen ist klar definiert und
> einheitlich.


Ein Recurrentes Cascade Correlation Neuronales Netzwerk hat folgende 
Eigenschaften:

- keine feste Organisation in sogennnten Layern
- jedes Neuron (man sagt eher Unit) kann eine Verbindung zu jedem 
Eingang eines anderen Neurons ausbilden
- die Anzahl der Neuronen, die Anzahl und Stärke der Verbindungen zu 
allen anderen Neuronen sind variabel und werden beim Training 
ausgebildet oder entfernt
- jedes Neuron hat eine Verbindung seines Ausgangs zu seinem eigenen 
Eingang, deshalb recurrent und damit ein "Gedächntis". Das Netzwerk kann 
also sequentielle Muster erlernen
- damit sind die Verbindungen der Neuronen maximal verknüpfbar, sie sind 
nicht mehr "klar definiert" in deinem Sinne und auch nicht mehr 
einheitlich.
- das Training des Netzwerkes erfolgt mit Hilfe von Verfahren die den 
genetischen Algorithmen/Evolutions Strategien entsprechen und die 
Backpropagation Lernalgos. unterstützen
- die benutzten Aktvierungsfunktionen der Units können variabel sein
- die sich ergebenden trainierten Netzwerke entsprechen sehr verblüffend 
den Strukturen natürlicher NNs.

Ich habe selber so ein Netzwerk schon implementiert. Du siehst also das 
deine Aussagen längst nicht mehr korrekt sind und dem Stand von vor 20 
Jahren entsprechen.

Davon abgesehen: auch unsere natürlichen NNs arbeiten mit 
Backpropagation und Aktivierungsfunktionen.

> Echte neuronale Netze zeichnen sich durch ein Gleichgewicht aus zwischen
> struktureller Ordnung und Chaos in den Verbindungen der Neuronen.

Jo in so machem NN herrscht Chaos aber in den meisten Hirnen sicherlich 
nicht und schon garnicht auf struktureller Ebene meines NNs. Natürliche 
Neuronale Netzwerke haben mit Chaos überhaupt nichts gemein. Wäre dem so 
so könnten natürliche NNs Zufallsentscheidungen treffen, aber exakt das 
können sie eben nicht, besonders nicht menschliche Hirne.

Dazu habe ich mit dem oben erwähnten RCC-NN ein sehr einfaches Spiel 
programmiert. Zwei Buttons, rot und grün. Der Mensch könnte sich frei 
entscheiden ob er den grünen oder roten Schalter betätigt. Im 
Hintergrund lief in Echtzeit ein RCC-NN und erlernte die Muster die der 
Mensch benutzte um die Schalter nacheinander zu drücken. Vor jeder 
Betätigung traf das RCC-NN eine Prognose welchen der Schalter der Mensch 
als nächstes drückt. Dabei aber nur basierend auf den Daten die es seit 
Spielbegin als Vergleichsdaten hatte.

Schon nach ca. 100 Durchläufen hatte das NN eine 
Prognosewahrscheinlichkeit von >65% erreicht, egal für welche Taktik 
sich der Mensch entschieden hat. Nur wenn der Mensch schummelte und 
einen Würfel benutzte lag das NN mit 50% Wahrschenlichkeit in der 
statistischen Bandbreite von Zufall = Raten.

Unsere Hirne sind nicht in der Lage zufällige Entscheidungen zu treffen, 
dies wäre aber ein zwingendes Indiz oder eben eine Folge für dein 
sogenanntes "Chaos".

Mal von all dem abgesehen: den Forschern zu NNs geht es nicht darum 
damit die Natur 1 zu 1 nachbilden zu wollen. Wenn die möglichen 
Ergebnisse den Ergebnissen die natürliche NNs liefern können ähnlich 
oder sogar teilweis besser sind bei den künstlichen NNs dann ist es egal 
auf welche Art und Weise beide Netzwerke intern arbeiten.

Ein gutes Analogon ist die Geschichte der Genetischen Algorithmen im 
vergleich zu den Evolutions Strategieen. Beides sind Verfahren die die 
grundlegenden Gesetzte der natürliche Evolution in die Wissenschaft der 
Informatik bringen. Der Unterschied beider Verfahren besteht aber in der 
ursprünglichen Motivation, ihrer Zielrichtung. Die genetischen 
Algorithmen versuchten die Kodierung der Informationen so nahe wie 
möglich an die der natur anzulehenen. Sie benutzten also intern Gene, 
Allele, Chromosomen, Geschlechtertrennung usw. usw. und bauten somit die 
natürliche Genetik im Computer nach. Die Evolutionsstrategien benutzten 
Fließkommezahlen in Arrays organisiert, also ganz simpel. Beide 
Verfahren wendeten die Gesetzmäßigkeiten der Evolution an.

Resultat: die GAs konnten lange zeit keine für die Praxis relevanten 
Ergebnisse erzielen. Einer der verblüffesten Durchbrüche war das sie 
noch vor den Biologen/Genetikern ermitteln konnten was prozentual die 
optimale Mutationsrate der Gene zum Gesamtgenom ist, ca. 2.3%. Diese 
Erkenntniss wurde erst später durch Biologen/Genteiker in der Natur 
nachgewiesen.
Die ES dagegen lieferten sehr schnell praxisrelevante Ergebnisse. Zb. 
oprimierten sie die Statik von Kranen oder ähnlichen Tragkonstruktionen. 
Das verblüffende war aber das die Biologen später ähnliche "Verfahren" 
zb. beim Wachstum von Pflanzen nachweisen konnten. Oder sie optimierten 
Düsenformen für Düsen die ein Gas-Flüssigkeits-Gemisch benutzten und 
fanden dadurch sehr verblüffende Düsenformen die der menschlichen 
Intuition und sogar dem bisherigen Ingenieurswissen widersprachen. Das 
verblüffende daran? später fanden Biologen bei der Untersuichung von 
Häuten verschiedenster Fische, zB. Haien, ähnliche Strukten wie dei den 
vorher konstrueriten Düsen. Aber auch in rein theoretischen Bereichen, 
wie zB. der Mathematik, brachten die ES frappierende Erfolge. Z.b. bei 
der Erforschung des Problems des Handlungsreisenden.

Und so kann man die Liste fortsetzen. Es zeigt aber das die "Kodierung" 
nicht so die große Rolle spielt solange man die Gesetzmäßigkeiten 
korrekt anwendet. Und exakt so ist es auch bei den Neuronalen 
Netzwerken. Deren "Kodierung" sprich Hardware ist garnichtmal so 
entscheidend sondern die Gesetzmäßigkeiten der Wirkungs-/Funktionsweise 
ist es.

Die meisten heutigen NNs versuchen erst garnicht unsere Hirne 
nachzubauen, wozu auch. Sie sollen ganz andere Probleme für uns lösen 
mit denen wir viel größere Schwierigkeiten haben als solche NNs.

Gruß Hagen

von FPGAfan (Gast)


Lesenswert?

Hagen R. schrieb:
> Ein Recurrentes Cascade Correlation Neuronales Netzwerk hat folgende
> Eigenschaften:

Ok das sehe ich ein, meine Kritik kann sich also nicht auf alle Arten 
von KNN beziehen.

Hagen R. schrieb:
> Davon abgesehen: auch unsere natürlichen NNs arbeiten mit
> Backpropagation und Aktivierungsfunktionen.

Nein für die Backpropagation gibt es so in der Form in biologischen NN 
nicht. Kannst mir aber gerne Arbeiten oder Quellen nennen die das 
nachweisen sollen, man hat nur Hinweise gefunden die man dahingehend 
deuten kann.
Im Gehirn gibt es keine direkte Rückkopplung auf einzelne Synapsen nach 
dem Prinzip "das Ergebnis passt nicht, verändere die Effektivität der 
synaptischen Verbindung".
Nach der Theorie der Selektion Neuronaler Gruppen von Gerald M. Edelman 
ist vielmehr von einem großen Repertoire an synaptischen Verbindungen 
auszugehen.
Einfach gesagt bietet das Gehirn so viele und vielfältige synaptische 
Verbindungen dass sich in diesem Netz eine Verbindungskette finden lässt 
die zum gewünschten Ergebnis annähert. Durch wiederholte Aktivierung der 
passenden Netze wird die angenäherte Lösung verstärkt und die Annäherun 
kommt dem endgültigen Ergebnis sehr nahe.
Die Backpropagation in KNNs versucht vielmehr das vorhandene Netz 
ständig umzuformen im Lernprozess während das Gehirn vielmehr von seinem 
großen Repertoire schöpft um die richtige Verbindungskette anzunähern.

Hagen R. schrieb:
> Jo in so machem NN herrscht Chaos aber in den meisten Hirnen sicherlich
> nicht und schon garnicht auf struktureller Ebene meines NNs. Natürliche
> Neuronale Netzwerke haben mit Chaos überhaupt nichts gemein. Wäre dem so
> so könnten natürliche NNs Zufallsentscheidungen treffen, aber exakt das
> können sie eben nicht, besonders nicht menschliche Hirne.

Ein solches Denken resultiert wenn man Maschinen und Computer mit 
Gehirnen gleichsetzt.
Natürlich bringt das Gehirn eindeutige Ergebnisse und das Verhalten ist 
an eine komplexe Kette von Bedingungen geknüpft.
Trotzdem spielt der Zufall und der Chaos eine bedeutende Rolle in 
neuronalen Netzen.
Der Mensch wird mit einem Repertoire an synaptischen Verbindungen 
geboren. Kleinkinder und Säuglinge besitzen sogar mehr synaptische 
Verbindungen als Erwachsene (diese nimmt mit der Zeit ab während neue 
Verbindungen mit den vorhandenen Synapsen entstehen). Das ganze ist als 
Synaptic pruning bekannt. Im Laufe der Entwicklung des Gehirns werden 
die synaptischen Verbindungen abgebaut und es bleiben tendenziell die 
Synapsen erhalten die häufig aktiviert werden.
Man wird also mit einem Repertoire an synaptischen Verbindungen geboren 
und die häufig aktivierten Verbindungen bleiben durch Verstärkung der 
synaptischen Verbindungen.
Und dieses Repertoire an synaptischen Verbindungen das mit der Geburt 
und der Gehirnentwicklung gegeben wird sieht bei jedem Mensch anders 
aus. Es ist kein genetisch vorgegebenes Ausgangspunkt aller menschlichen 
Gehirne.
Es wird auch allgemein angenommen dass die DNA eines Menschen nicht 
genug Informationsspeicher bietet um die Verbindung aller Synapsen 
vorzugeben.
Die DNA gibt vielmehr die Grundstruktur, die Grundregeln zum Wachstum 
dieser synaptischen Verbindungen.
Kurz gesagt gibt es den Zufall in diesem Prozess. Die synaptischen 
Verbindungen entstehen zufällig im Rahmen genetischer 
Grundvoraussetzungen.
Aus diesem zufälligen Repertoire können alle möglichen angenäherten 
Lösungen gefunden werden. Aber es ist kein starres Gebilde. Die 
einzelnen Neuronen verändern ihr Verhalten und die synaptische Aktivität 
abhängig von Aktivität, Hormonen usw.
Das heißt diese zufälligen synaptischen Verbindungen werden nicht nur 
verstärkt, es erfolgt euch ein Wandel bestehender Netzwerke.
Ich nehme an dass die angenäherten Lösungswege aus dem initialen 
Repertoire dadurch noch weiter angenähert werden (Lernprozess, Jahre an 
Erfahrung = massive Verbesserung gewünschter Verhaltensweisen).

Ich sollte mich kurz fassen. Es gibt viele Befunde die dafür sprechen 
dass die eindeutigen Verhaltensweise die wir kennen nicht das Resultat 
eindeutiger Vorgänge ist wie die aus einem Computer. Sondern 
statistische Ergebnisse darstellen. Das Gehirn findet sozusagen Lösungen 
(ob intellektuelle oder körperliche Bewegungen) durch angenäherte 
statistische Vorgänge. Aus einer Fülle von viel Unordnung und bisschen 
Ordnung der synaptischen Aktivitäten kommt nach Aktivität von Millionen 
von Neuronen eine erstaunliche genaue Ordnung hervor.

Das selbe Phänomen kann man auch in der Physik beobachten. Das Verhalten 
von Elementarteilchen kannst du nur statistisch angeben. Das ist kein 
Mangel der Messgenauigkeit der Geräte, sondern wie Heisenberg aufzeigte 
eine reale Eigenschaft der Materie.
Aus vielen Trillionen fluktuierender Elementarteilchen entstehen in 
makroskopischen Größen Gesetzmäßigkeiten die man aus der klassischen 
Mechanik kennt.
Das solle keine direkte Analogie zum Gehirn sein, sondern das Prinzip 
veranschaulichen wie aus chaotischen Vorgängen mit wenigen Gesetzen 
geordnete große Strukturen hervorgehen können.

In dem Sinne gibt es einen gewissen Chaos, ein Art Rauschen in den 
neuronalen Netzen, doch die biologischen Gesetzmäßigkeiten formen dieses 
Rauschen derart das im Gesamtergebnis eine deutlich erkennbare Funktion 
entsteht.
Wenn du aber versuchst einzelne Neuronen irgendeiner klaren 
Funktionskette zuzuordnen wirst du nur Rauschen feststellen. Entfernst 
du dieses Neuron wird das Gehirn weiterhin Ergebnisse richtig liefern.

Die statistische Funktionsweise neuronaler Netze hat biologisch 
offensichtlich Vorteile. Sie sind evolutionär gesehen auch 
wahrscheinlicher als die Entstehung exakt klarer Mechanismen wie in 
Computern. Außerdem ist ein solcher Mechanismus wie geschaffen für ein 
adaptisches Verhalten und es besitzt dadurch auch eine gewisse 
Redundanz. Das absterben einiger Neurone führt nicht direkt zum 
vollständigen Funktionsverlust, die chaotischen aber statistischen 
eindeutigen Vorgänge finden trotzdem zum Ziel. Erst wenn eine kritische 
Anzahl an Neuronen wegfällt wird das statische Ergebnis zunehmend 
instabiler.

Hagen R. schrieb:
> Dazu habe ich mit dem oben erwähnten RCC-NN ein sehr einfaches Spiel
> programmiert. Zwei Buttons, rot und grün. Der Mensch könnte sich frei
> entscheiden ob er den grünen oder roten Schalter betätigt. Im
> Hintergrund lief in Echtzeit ein RCC-NN und erlernte die Muster die der
> Mensch benutzte um die Schalter nacheinander zu drücken. Vor jeder
> Betätigung traf das RCC-NN eine Prognose welchen der Schalter der Mensch
> als nächstes drückt. Dabei aber nur basierend auf den Daten die es seit
> Spielbegin als Vergleichsdaten hatte.
>
> Schon nach ca. 100 Durchläufen hatte das NN eine
> Prognosewahrscheinlichkeit von >65% erreicht, egal für welche Taktik
> sich der Mensch entschieden hat. Nur wenn der Mensch schummelte und
> einen Würfel benutzte lag das NN mit 50% Wahrschenlichkeit in der
> statistischen Bandbreite von Zufall = Raten.

Diese Prognose ist eine statistische Prognose. Eine Menge chaotischer 
Vorgänge aus denen man eine bestimmte Wahrscheinlichkeit ableiten kann. 
Es ist nicht das Ergebnis geordneter Berechnungen.
Solche statistischen Gesetzmäßigkeiten gibt es im menschlichen Verhalten 
also im Gehirn sehr viele und sie sprechen alle für die oben 
beschriebene Funktionsweise. Ordnung aus Unordnung oder genauer gesagt 
Mehr Ordnung aus weniger Ordnung.

Hagen R. schrieb:
> Unsere Hirne sind nicht in der Lage zufällige Entscheidungen zu treffen,
> dies wäre aber ein zwingendes Indiz oder eben eine Folge für dein
> sogenanntes "Chaos".

Der Zufall folgt statistischen Gesetzmäßigkeiten. Der Chaos bzw. der 
Zufall wirkt mit. Anders ist ein daptisches Verhalten gar nicht möglich.
Es ist wie in der Evolution. Die komplexen Körper sind nicht das 
Ergebnis eines exakt planenden Konstrukteurs sondern Zufall und 
Selektion brachten die komplexen biologische Systeme hervor.
Viele werden aber Mühe damit zu haben zu verstehen und zu akzeptieren 
dass der menschliche Geist und sein adaptisches Verhalten ähnlichen 
Mechanismen folgt. Also Mechanismen von Versuch und Irrtum, grob gesagt. 
Anders ist die Natur nicht in der Lage das Phänomen genannt Intelligenz 
hervorzubringen. Ohne einen Konstrukteur ist der Zufall und die 
Naturgesetze das einzige was so was hervorbringen kann.

Ich kann dazu Edelmans Arbeiten empfehlen. Er verbindet das evolutionäre 
Populationsdenken auf die Funktionsweise des Gehirns an und kommt zu 
interressanten Schlussfolgerungen. Auf die Idee kam er durch seine 
Arbeiten am Immunsystem wofür er den Nobelpreis erhielt, wo er und 
andere feststellen das unser Immunsystem keine übergeordnete Intelligenz 
oder eine DNA orientierte Information besitzt um die passenden 
Antikörper gegen Fremdkörper zu entwickeln sondern dass das Immunsystem 
eine Vielzahl an zufälligen Antikörpern produziert und das nach dem 
Zufallsprinzip sich irgendwann ein Antikörper findet der die passende 
Struktur aufweist um sich an das Fremdkörper zu binden. Erfolgt dieser 
biologische Prozess einmal werden weitere biologische Signale erzeugt 
die dazu führen dass genau dieses Antikörper vermehrt wird.
In der Folge entsteht ein intelligentes also ein adaptives Verhalten des 
Immunsystem. Der Zufall, der Chaos der zufälligen Antikörper, erzeugt 
schlussendlich das intelligente bzw. gewünschte Verhalten.

Hagen R. schrieb:
> Und so kann man die Liste fortsetzen. Es zeigt aber das die "Kodierung"
> nicht so die große Rolle spielt solange man die Gesetzmäßigkeiten
> korrekt anwendet. Und exakt so ist es auch bei den Neuronalen
> Netzwerken. Deren "Kodierung" sprich Hardware ist garnichtmal so
> entscheidend sondern die Gesetzmäßigkeiten der Wirkungs-/Funktionsweise
> ist es.

Da stimme ich dir im Grunde zu. Es ist ja erstaunlich wie brauchbar KNNs 
sind obwohl sie nur ein Stück von dem repräsentieren was man von 
biologischen NN kennt. Den Nutzen dass es heute hat bestreite ich nicht. 
Aber die Weiterentwicklung verläuft doch schon ziemlich träge, obwohl 
man hätte versuchen können aus der Biologie noch mehr zu lernen.
Oder anders gesagt, man hätte noch mehr versuchen können von der Natur 
zu lernen, nicht im Sinne von wir bauen 1 zu 1 das Gehirn nach sondern 
herausfinden wie die Natur diese Netze nutzt. Denn KNN sind weit von den 
Fähigkeiten echter NN entfernt und ich sehr nur eine sehr langsame 
Weiterentwicklung.
Viele Fortschritte basieren wohl eher auf der gewachsenen Rechenleistung 
heutiger Hardware, weniger auf der Weiterentwicklung der KNN.

Hagen R. schrieb:
> Die meisten heutigen NNs versuchen erst garnicht unsere Hirne
> nachzubauen, wozu auch. Sie sollen ganz andere Probleme für uns lösen
> mit denen wir viel größere Schwierigkeiten haben als solche NNs.

Für die Praxis ist das verständlich. Aber in meinen Augen ist das große 
Ziel die Denkfähigkeit biologischer NN zu modellieren. Es lässt sich 
kaum bestreiten dass ein solches NN die überlegenste Fähigkeit der 
Kategorisierung und Entscheidungsfindung besitzt.
Ich glaube man kann sich in Bereiche annähern die beeindruckende 
Leistungen ermöglichen noch lange bevor man von einem bewussten System 
sprechen kann wie beim Menschen.
Wenn man bedenkt wie intelligent Tiere sich verhalten können entweder 
mit gar keinem oder einem weniger ausgeprägten Bewusstsein.

von Fitzebutze (Gast)


Lesenswert?

Ohne den ganzen Sermon jetzt im Detail gelesen zu haben: Es gibt längst 
was anderes als stupide Feed-Forward-Netze.
Guckt euch - wenn nicht schon getan - mal die Arbeiten von Herrn Kohonen 
an.

Das lustige an diesen Kohonen-Maps ist: Sie formieren sich selbstlernend 
wie Neuronen. Irgendjemand hat mal die Struktur mit einem Katzen-Gehirn 
verglichen.
Ob das alles auf einem FPGA Sinn macht, bezweifle ich.
Aber bestimmt liesse sich ein für NN-Berechnungen optimierter 
DSP-Multicore auf dem FPGA realisieren, for the academic fun of it.

Nur dass oft für ganz profane Verarbeitung/Erkennung (Bildverarbeitung, 
zb) klassische Verfahren total ausreichen, und Support-Vektor-Maschinen 
die hippen NN-Ansätze eben doch wieder ganz pragmatisch ersetzen.

von S. R. (svenska)


Lesenswert?

Die technische Fliegerei ist auch nicht aus dem Versuch entstanden, 
Vögel nachzubauen. Aktuelle Flugzeuge haben keine schlagenden, 
befiederten Flügel und extraleichte Hohlknochen. U-Boote haben mit Walen 
auch nur recht wenig gemeinsam.

Warum sollte die KI-Forschung die Hirnstrukturen exakt nachbilden 
wollen? Menschengehirne erschaffen können wir schon ziemlich lange, 
das ist ein gelöstes Problem...

Es geht darum, die zugrundeliegenden Mechanismen zu verstehen. Und 
selbst wenn man falsch liegt, solange das Ergebnis funktioniert, ist es 
trotzdem nützlich.

von Gagamel (Gast)


Lesenswert?

S. R. schrieb:
> Aktuelle Flugzeuge haben keine schlagenden,
> befiederten Flügel und extraleichte Hohlknochen.
Hohlknochen schon! Und das Gefider, das die Wirbel reduziert wird 
indirekt auch kopiert.

> U-Boote haben mit Walen
> auch nur recht wenig gemeinsam.
Denkste! Die strömungsgünstigen Effekte der Walflossen und des Körpers 
an sich, stecken in praktisch jedem Boot!


> Menschengehirne erschaffen können wir schon ziemlich lange,
> das ist ein gelöstes Problem...
Ach ja? Du meinst aber nicht die BOTs, die Wahlen beeinflussen und für 
Kosmetik werben oder die vielen Follower füttern, oder?

Welche Gehirne haben Menschen denn geschaffen, die was leisten?

von Markus -. (mrmccrash)


Lesenswert?

Gagamel schrieb:
> S. R. schrieb:

>> Menschengehirne erschaffen können wir schon ziemlich lange,
>> das ist ein gelöstes Problem...
> Ach ja? Du meinst aber nicht die BOTs, die Wahlen beeinflussen und für
> Kosmetik werben oder die vielen Follower füttern, oder?
>
> Welche Gehirne haben Menschen denn geschaffen, die was leisten?

Frag mal deine Eltern ;-)

: Bearbeitet durch User
von S. R. (svenska)


Lesenswert?

Gagamel schrieb:
> Hohlknochen schon! Und das Gefider, das die Wirbel reduziert wird
> indirekt auch kopiert.

Nein. Vögel angeschaut, die Funktionsweise verstanden, das Problem 
gelöst. Nicht "den Vogel kopiert". Auch nicht indirekt.

> Denkste! Die strömungsgünstigen Effekte der Walflossen und des Körpers
> an sich, stecken in praktisch jedem Boot!

Ja. Aber das ist nicht so, weil der Wal das so macht, sondern weil wir 
wissen, dass das, was der Wal macht, effizient ist.

Bemerke den Unterschied.

von J. S. (engineer) Benutzerseite


Lesenswert?

Fitzebutze schrieb:
> Das lustige an diesen Kohonen-Maps ist: Sie formieren sich selbstlernend
> wie Neuronen. Irgendjemand hat mal die Struktur mit einem Katzen-Gehirn
> verglichen.
> Ob das alles auf einem FPGA Sinn macht, bezweifle ich.

Warum nicht in FPGAs? Die Strukturen, die man für neuronale Netze 
benötigt, soweit ich sie kenne, sind nicht nur rein virtueller Art, 
sondern bedürfen ganz bestimmter Architakturen, um Informationen 
zwischen Zellen weiterzugeben. Dies würde in SW in Zeitscheiben 
passieren, im FPGA gleichzeitig. Das sollte effizienter sein, oder?

von S. R. (svenska)


Lesenswert?

Jürgen S. schrieb:
> Warum nicht in FPGAs?

Weil die Datenmengen zu groß sind.

Jürgen S. schrieb:
> Dies würde in SW in Zeitscheiben passieren, im FPGA gleichzeitig.

Die verwendeten Algorithmen lassen sich auch in Software sehr gut 
parallelisieren (bzw. vektorisieren). Aktuelle GPUs sind da sehr im 
Vorteil, auch gegenüber FPGAs. Wobei Google ja seine eigenen Chips 
entwickelt hat.

von Hagen R. (hagen)


Lesenswert?

Jürgen S. schrieb:
> Warum nicht in FPGAs? Die Strukturen, die man für neuronale Netze
> benötigt, soweit ich sie kenne, sind nicht nur rein virtueller Art,
> sondern bedürfen ganz bestimmter Architakturen, um Informationen
> zwischen Zellen weiterzugeben. Dies würde in SW in Zeitscheiben
> passieren, im FPGA gleichzeitig. Das sollte effizienter sein, oder?

Ja das ist korrekt. Man muß aber zwei Betriebsmodis unterscheiden: 1. 
der Runtime Modus der NNs. In diesem ist das Netzwerk fertig trainiert 
und wird nur für seine eigentliche Aufgabe der Klassifizierung benutzt. 
Das lässt sich besonders mit speziellen NNs hervorragend in FPGAs 
parallelisieren.
2. die Lernphase/Trainingsphase der NNs. Das lässt sich nur extrem 
schwierig und nur teilweise parallelisieren.

Die Peformance heutiger NNs ist für den 1. Fall selbst für normale 
CPUs/GPUs ausreichend schnell. Der 2. Fall, das Training ist es was man 
performanter haben möchte da dies ungleich viel mehr an Rechenzeit 
benötigt.

von J. S. (engineer) Benutzerseite


Lesenswert?

Hagen R. schrieb:
> Die Peformance heutiger NNs ist für den 1. Fall selbst für normale
> CPUs/GPUs ausreichend schnell. Der 2. Fall, das Training ist es was man
> performanter haben möchte da dies ungleich viel mehr an Rechenzeit
> benötigt.
Wäre die Frage, was es an Flexibilität in der SW benötigt, um das 
Training zu leisten und wie schnell und effektiv man das ins FPGA 
bekommt.
Ich sehe da z.B. so etwas wie HIL mit System Generator und automatisch 
erzeugtem VHDL-Code. Allerdings habe ich meine Probleme mit 
vorzustellen, wie man da Parallelität rei nbekommt.

von S. R. (svenska)


Lesenswert?

Für das Training brauchst du massiv Speicher. Wir haben ein paar 
Experimente gemacht (Bildverarbeitung). Je nach Batchsize liegt man 
schnell im zweistelligen GB-Bereich für einen Trainingsdurchlauf und 
dazu kommt noch das Vorhalten der gesamten Trainingsdaten, was gerne im 
TB-Bereich liegen kann.

Es gibt einen Grund dafür, dass Amazon, Google usw. ganze Rechenzentren 
mit Trainingsmaschinen bepflastern. Das Problemfeld wirkt nicht so, als 
ob FPGAs da glänzen könnten, höchstens wenn sie extrem nah an der CPU 
sind, also z.B. per QPI angebunden.

von Hagen R. (hagen)


Lesenswert?

Und die Frage ist dann was diese FPGAs noch an Arbeit abbekämen die sich 
dafür lohnt weil sie parallelisierbar ist. Ich denke zZ. sind FPGAs für 
NNs nur für die effizente Abarbeitung schon trainierter NNs sinnvoll, 
und dann müsste man schon wie Google und Co. enorme Datenmengen 
auswerten wollen. Aber dann kommt man in Bereiche wo spezielle 
Prozessorenkerne die für die Abarbeitung von NNs konzipiert wurden FPGas 
den Rang ablaufen.
Meiner Meinung nach würde sich da das Training bei Genetischen 
Algorithmen/Evolutions Strategieen eher lohnen auf FPGAs.

Die Komplexität des Trainingsprozesses scheint mit den Jahren immer mehr 
anzuwachsen. Als ich anfing vor 20 Jahren kannte man nur wenige 
Trainingsverfahren wie zB. Backpropagation. Sehr schnell wurde deren 
Komplxität erhöht durch Speed-Prop-Slope-Backpropagation usw. Dann mit 
Aufkommen des Cascade Correlation Netzwerkes wurde das Training mit 
Hilfe von Verfahren der Genetischeb Alogrithmen erweitert, adaptiver 
gestaltet. Man trainiert zB. gleichzeitig mehrere Netzknoten die in 
Konkurrenz stehen und wählt dann den fittesten aus. Man benutzt also 
evolutionäre Taktiken bei den Einzelschritten des Trainings der 
Netzwerke um deren Trainingsynamiken positiv zu beeinflussen. Ich würde 
also sagen das die Trainingsverfahren immer komplexer werden.
Man benlötigt also maximale Flexibilität bei der Entwicklung solcher 
Trainingsverfahren. Ich würde sowas niemals in ein FPGA pressen wollen, 
in der gleichen Zeit was das konstet um einfaches Backpropagation zu 
implementieren bin ich auf einem Standard-PC mit der Aufgabe mehrfach 
durch.

von Turmfalke@Elfenbeinturm (Gast)


Lesenswert?

Fitzebutze schrieb:
> Ob das alles auf einem FPGA Sinn macht, bezweifle ich.
> Aber bestimmt liesse sich ein für NN-Berechnungen optimierter
> DSP-Multicore auf dem FPGA realisieren, for the academic fun of it.

Kalter Kaffee, sogar Siemens hat damit im vergangenen Jahrtausend Geld 
verbrannt:

https://www.semanticscholar.org/paper/SYNAPSE-1%3A-a-high-speed-general-purpose-parallel-Ramacher-Raab/b82fc47f663c6bd42012231f9a6fa8b088a1df9a

Wenn etwas mund- und modegerecht den Studenten vorgeworfen wird wie 
heutzutage deep learning, ist die akademische Drecksarbeit schon vor 
Jahrzehnten von den heutigen alten Herren geleistet worden... 
akademischer Lorbeer ist damit nicht mehr zu verdienen.

von FPGAfan (Gast)


Lesenswert?

S. R. schrieb:
> Warum sollte die KI-Forschung die Hirnstrukturen exakt nachbilden
> wollen? Menschengehirne erschaffen können wir schon ziemlich lange,
> das ist ein gelöstes Problem...

Nein, es ist immer noch eines der größten Herausforderungen vor dem die 
Menschheit steht und im Geflecht der Philosophen und Gläubigen finden 
sich auch genug Leute die meinen das wäre nie möglich.
Das Gehirn ist in seinem elementaren Aufbau mit den Neuronen verstanden 
aber nicht als zusammenhängendes System. Und genau dieses System ist es 
das die kognitiven Fähigkeiten hervorbringt.


S. R. schrieb:
> Für das Training brauchst du massiv Speicher. Wir haben ein paar
> Experimente gemacht (Bildverarbeitung). Je nach Batchsize liegt man
> schnell im zweistelligen GB-Bereich für einen Trainingsdurchlauf und
> dazu kommt noch das Vorhalten der gesamten Trainingsdaten, was gerne im
> TB-Bereich liegen kann.

Das Gehirn kann verschiedene Zustände in seinen Neuronen und 
synaptischen Verbindungen der Neuronen speichern. Das geschieht über ein 
komplexes System an Transmittern und Hormonen, aber letztendlich sind 
Neuronen und deren variable Verbindung mit den Synapsen und Axonen der 
Datenträger. Natürlich gleichzeitig auch die verarbeitende Entität.

Wenn man KNNs entwickelt und dabei große Datenmengen anfallen die selbst 
in dem KNN (in den Knotenpunkten und den Verbindungen untereinander) 
nicht repräsentiert sind, dann benutzt man wahrscheinlich ein 
Algorithmus mit einer großen Entfernung zum biologischen Vorbild.
Die Informationen im Gehirn sind in den Neuronen und Synapsen codiert, 
da gibt es keinen anderen Speicher der Informationen für die Neuronen 
und Synapsen behält.

Das kann man natürlich trotzdem machen. Nur dann ist das kein Abbild der 
Natur sondern eine Vermischung von ausgedachten Algorithmen und der 
Architektur biologischer Systeme.
Solche algorithmischen und Speicher Krücken außerhalb des Netzes zeigen 
außerdem dass man das Gehirn in solchen Dingen eben nicht nachbilden 
kann, weil niemand die Wechselwirkung zwischen neuronalen Karten im 
Gehirn bisher vollständig versteht.

Deswegen sind künstliche Modelle von NN voll von abstrakten Größen in 
Speicherzellen die keine neuronale Repräsentation im Netz besitzen.

von Hagen R. (hagen)


Lesenswert?

FPGAfan schrieb:
> Wenn man KNNs entwickelt und dabei große Datenmengen anfallen die selbst
> in dem KNN (in den Knotenpunkten und den Verbindungen untereinander)
> nicht repräsentiert sind, dann benutzt man wahrscheinlich ein
> Algorithmus mit einer großen Entfernung zum biologischen Vorbild.
> Die Informationen im Gehirn sind in den Neuronen und Synapsen codiert,
> da gibt es keinen anderen Speicher der Informationen für die Neuronen
> und Synapsen behält.

Und exakt so ist es auch bei KNNs.

Aber was du gründlich missverstehts ist worüber S.R. eigentlich redet. 
Er meint den Speicherbedarf der für das Training benötigt wird und das 
sind die Input/Output Daten zum Training ansich. Bevor du den Einwand 
erhebst das dies bei natürlichen Hirnen nicht identisch wäre, auch in 
der Natur ist es vergleichbar so. Nur mit dem Unterschied das diese 
Daten durch die komplette Umwelt dieser Hirne repäsentiert wird. Die 
Umwelt von KNNs besteht dagegen eben aus digitalen Daten und nicht aus 
Materie und Energie wie unsere natürliche Umwelt.

Der einzige Unterschied den ich erkennen kann liegt darin das unsere 
Hirne für sich selber eben auch eine materielle Umwelt darstellen. Damit 
meine ich zb. den von dir besagten EInfluß von Hormonen. Übertragen auf 
KNNs würde dies bedeuten das die physikalischen Strukturen der KNNs, 
also die Transistoren auf dem Die, durch Mechanismen die durch das KNN 
ausgelöst werden, phsikalisch in ihrer Arbeitsweise verändert würden. 
Aber auch dies kann man auf Umwegen und vereinfacht modellieren.

Die größte zZ. existierende Hürde bei dem Versuch ein KNN auf das Niveau 
natürlicher Hirne zu bekommen besteht in der Komplexität und der sich 
daraus ergebenden Rechenpower. Und da hat die Technologie noch längst 
nicht mit der Natur gleichgezogen. Stellen wir uns aber mal vor das die 
Entwicklung in der Quantenrechnertechnik weiter vorangeht, dann bin ich 
der Meinung das dort ein Potential liegt das Quantenrechner-KNNs sogar 
die Leistungsfähigkeit natürlicher Hirne weit übersteigen könnte.

Gruß Hagen

: Bearbeitet durch User
von Hagen R. (hagen)


Lesenswert?

FPGAfan schrieb:
> Deswegen sind künstliche Modelle von NN voll von abstrakten Größen in
> Speicherzellen die keine neuronale Repräsentation im Netz besitzen.

Quatsch. Diese Speicherzellen repräsentieren exakt diese Neuronen und 
deren Verküpfungen untereinander. Exakt dies definiert ja ein KNN.

von Hagen R. (hagen)


Lesenswert?

FPGAfan schrieb:
> Solche algorithmischen und Speicher Krücken außerhalb des Netzes zeigen
> außerdem dass man das Gehirn in solchen Dingen eben nicht nachbilden
> kann, weil niemand die Wechselwirkung zwischen neuronalen Karten im
> Gehirn bisher vollständig versteht.

Weil man sowas bisher noch nicht versteht implizierst du die Folge das 
es niemals nachzubauen wäre, geile Logik.

von Hirnschaden, H. (Firma: Happy Computing MDK Inc.) (hirnschaden)


Lesenswert?

Ainen gudden!

FPGAfan schrieb:
> Künstliche Neuronale Netze werfen für mich aber auch für andere die
> Frage auf inwiefern es sich eigentlich wirklich um künstliche neuronale
> Netze nach dem Vorbild der Natur handelt.

Da hast Du völlig freie Hand.

Die Vorteile von Neuronalen Netzen sind natürlich bestechend. In einem 
solchen totalen Chaos kann man praktisch jede Struktur erzeugen. Unter 
Anderem praktisch unbegrenzte Speicherkapazität wobei der ganze Krempel 
auch noch völlig selbsttätig eingeordnet wird.

Aber dazu muß man leider sehr, seeehr viel weiter ausholen.

Dwianea
hirnschaden

von Hirnschaden, H. (Firma: Happy Computing MDK Inc.) (hirnschaden)


Lesenswert?

P.S.:
Je weniger man ausholt um so mehr wird es zu einer Frage der Zeit. Und 
25 Jahre sind kein Pappenstiel. Und damals in den 70ern haben mir ein 
paar Tauben mal regelrecht aufgelauert. Oder ich bin tatsächlich nich' 
ganz dicht.

Wahrscheinlich deswegen. ?

von A. F. (chefdesigner)


Lesenswert?

Ich glaube, so langsam geht die Diskussion um NN in eine Richtung, bei 
der ich mich frage, ob die NN der Schreiber noch i.O. sind.

Ich fände es nett, wenn sowas sachlich diskutiert würde, damit es einen 
Wert hat den thread zu abbonieren und mitzulesen.

von FPGAfan (Gast)


Lesenswert?

Hagen R. schrieb:
> Weil man sowas bisher noch nicht versteht implizierst du die Folge das
> es niemals nachzubauen wäre, geile Logik.

Ich habe so etwas nicht geschrieben. Du implizierst da selbst was 
hinein.

Hagen R. schrieb:
> Die größte zZ. existierende Hürde bei dem Versuch ein KNN auf das Niveau
> natürlicher Hirne zu bekommen besteht in der Komplexität und der sich
> daraus ergebenden Rechenpower.

Ich bin mir da nicht sicher. Ein Blick in die Hirnforschung zeigt dass 
noch viel geforscht wird.
Ein Quantencomputer würde zwar leistungsfähigere KNNs ermöglichen aber 
ich sehe nirgendwo ein theoretisches Modell mit KNNs das menschliche 
Kognition hervorbringen könnte und das nur darauf wartet das genug 
Rechenpower vorhanden ist.
Quantencomputer würden viele Forschungsbereiche beflügeln und auch die 
Arbeit an KNN oder die Hirnforschung.

von FPGAfan (Gast)


Lesenswert?

Ich denke das FPGAs durchaus interessant sind für künstliche neuronale 
Netze. Man kann die Algorithmen direkt in Hardware implementieren und 
jederzeit wieder abändern.
Die Flexibilität ist höher, man muss die Berechnungen nicht zwingend an 
die Matrix Berechnungen einer GPU anpassen.
Sollen die Berechnungen später in speziellen ASICs implementiert werden 
ist die Vorarbeit in FPGAs auch sinvoll.

Manche neigen auch ein wenig dazu akademisches und wissenschaftliches 
Vorgehen mit praktischen Fällen abzuwürgen.
Mag ja sein dass ich meine ganz konkreten Aufgaben mit einem GPU Cluster 
schneller lösen kann als mit einem FPGA Cluster.
Oder das eine schnelle CPU häufig einfacher und schneller zum Ziel führt 
als die Implementierung in Hardware in einem FPGA.
Sollte man auch alles so machen wenn es um konkrete Aufgaben geht die es 
effizient zu bewältigen gilt.

Aber bei manchen hört sich dass so an als wäre alles andere eh sinnlos. 
So reden Leute die aufgehört haben zu forschen und nur noch die Aufträge 
ihres Arbeitgebers versuchen möglichst effizient zu lösen. Alles gut, 
nur die häufig mitschwingende Verbitterung klingt ein wenig traurig :D

Was denkt ihr über die Entwicklung von Memristoren und Neuristoren?
Ein Neuristor ist der Versuch einen Neuron in Hardware zu modellieren.
https://de.wikipedia.org/wiki/Neuristor
https://de.wikipedia.org/wiki/Memristor

Ich weiß nicht wie viele mögliche Verbindungen ein einzelnes Neuristor 
haben kann.
Ein einzelnes echtes Neuron kann tausende von synaptischen Verbindungen 
aufweisen.

von S. R. (svenska)


Lesenswert?

FPGAfan schrieb:
> Ich denke das FPGAs durchaus interessant sind für künstliche neuronale
> Netze. Man kann die Algorithmen direkt in Hardware implementieren und
> jederzeit wieder abändern.

Dem stimme ich zu, und dass Google ASICs für TensorFlow entwickelt hat, 
zeigt auch, dass da ein wahrer Kern dran ist.

FPGAfan schrieb:
> Die Flexibilität ist höher, man muss die Berechnungen nicht zwingend an
> die Matrix Berechnungen einer GPU anpassen.

Die meisten Netze, die ich bisher gesehen habe, arbeiten schichtweise, 
und unterschiedliche Typen gibt es innerhalb einer Schicht eigentlich 
nicht. Deswegen lässt sich der Kram ja so wunderbar auf GPUs 
vektorisieren - es ist per Konstruktion schon auf Matritzen angepasst.

FPGAfan schrieb:
> Mag ja sein dass ich meine ganz konkreten Aufgaben mit einem
> GPU Cluster schneller lösen kann als mit einem FPGA Cluster.

Das ist derzeit der Fall, und ich fürchte - aus den bereits genannten 
Gründen - dass es auch auf längere Zeit so bleiben wird, wenn man nicht 
gerade mit sehr viel Geld um sich schmeißt.

FPGAfan schrieb:
> Was denkt ihr über die Entwicklung von Memristoren und Neuristoren?

Ich habe mit Spannung die Verkündung von Memristoren verfolgt, 
insbesondere weil damit das Ende der Speicherprobleme beschieden wurde 
(als ET-Student natürlich auch aus anderen Gründen).

Wenn sich daraus einigermaßen zuverlässiger, nichtflüchtiger Speicher 
mit 10% DRAM-Geschwindigkeit, nahezu keinem Stromverbrauch und 5x 
höherer Speicherdichte hätte herstellen lassen, hätte sich die 
Embedded-Welt definitiv darauf gestürzt wie ausgehungerte Wölfe auf ein 
Steak.

Real absehbar ist davon allerdings - nichts. Vaporware. Leider.

von FPGA-Ingenieur (Gast)


Lesenswert?

S. R. schrieb:

> Wenn sich daraus einigermaßen zuverlässiger, nichtflüchtiger Speicher
> mit 10% DRAM-Geschwindigkeit, nahezu keinem Stromverbrauch und 5x

Welche Art des Speichers siehst Du denn für den embedded Bereich der 
Zukunft?

von S. R. (svenska)


Lesenswert?

FPGA-Ingenieur schrieb im Beitrag #5530622:
> Welche Art des Speichers siehst Du denn
> für den embedded Bereich der Zukunft?

Ich habe den status quo vor Augen:
Kleine Controller mit wenig SRAM, große SoCs mit viel DRAM.
Gern auch große Mengen integrierten DRAMs außerhalb des SoCs, in der 
Peripherie. Gibt's schließlich auch schon.

Der Grund, dass ich kein Vertrauen in neue Speichertechnologien habe:
>> Real absehbar ist davon allerdings - nichts. Vaporware. Leider.

: Bearbeitet durch User
von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

FPGAfan schrieb:
> Was war das coolste und abgefahrenste was ihr mit einem FPGA mal gemacht
> habt?

Pong.

http://www.wolfgangrobel.de/fpga/fpga05.htm

Ist aber noch nicht ganz fertig...

: Bearbeitet durch User
von A. F. (chefdesigner)


Lesenswert?

Wolfgang R. schrieb:
> http://www.wolfgangrobel.de/fpga/fpga05.htm
>
> Ist aber noch nicht ganz fertig...
Benötigt man für diese Anwendung wirklich einen FPGA?

von S. R. (svenska)


Lesenswert?

Andi F. schrieb:
> Benötigt man für diese Anwendung wirklich einen FPGA?

Nö. Dennoch ist es cool. :-)

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Andi F. schrieb:
> Benötigt man für diese Anwendung wirklich einen FPGA?

Nein, 100 TTLs reichen...

http://www.wolfgangrobel.de/arcadetalk/img_pcbs/pong_mirco_top.jpg

Oder ein AY-3-8500...

http://www.wolfgangrobel.de/handheld/interton.htm

von Vroni M. (vronilog)


Lesenswert?

Lange nichtmehr so interessante Beiträge gelesen... Ich komm nicht drum 
herum mir zu erlauben, den Thread hochzuposten! Bin mir sicher, dass es 
dem ein oder anderen genauso gehen wird.

Von Neuronale Netzen handelt die Diskussion.

Lesenswert wirds aber erst nach den geschätzt ersten 20 Posts:

Beitrag "Re: Coole FPGA Projekte"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

: Bearbeitet durch User
von A. F. (chefdesigner)


Lesenswert?

Unser Kunde forscht und entwickelt an und für neuronale Netze, setzt 
dafür aber Plattformen ein, die mit UNIX BSD konfigurierbar sind. Das 
sind nicht die Ziellösungen, aber die Netze an denen geforscht wird und 
die zum optimieren herangezogen werden. Die laufen auf gängigen 
PC-Systemen, genauer Industrie PC Plattformen für Server mit mehreren 
CPUs im Verbund. Das ist in Summe die einfacher programmierbare 
Struktur.

Es gab wohl auch Versuche, die Software (C++ Objektklassen) über 
CodeGeneratoren in Veriolog zu übersetzen und auf FPGA-Systemen laufen 
zu lassen, aber die sind nicht so effektiv, am Ende erheblich langsamer 
und vor allem mehrfach teurer.

von Samuel C. (neoexacun)


Lesenswert?

Dann werfe ich jetzt einfach mal DPU / DNNDK von Xilinx in den Raum. 
Damit können auf FPGAs Hardwarebeschleuniger für Tensorflow/Caffe 
instanziiert werden. Damit erreicht man eventuell nicht den Durchsatz 
von GPUs (weiß ich nicht, nie verglichen), erreicht aber auf jeden Fall 
eine höhere Effizienz.

https://www.xilinx.com/products/design-tools/ai-inference/edge-ai-platform.html

von FPGAfan (Gast)


Lesenswert?

Und habt ihr in den letzten 2 Jahren coole und abgefahrene FPGA Projekte 
realisieren können? :D

Ich habe etwas dazu gelernt und meine Standpunkte von damals haben sich 
stellenweise geändert. Insgesamt ist mein Vorwurf, das KNNs nicht dem 
biologischen Vorbild entsprechen, deutlich entschärft würde ich sagen.

Wobei es kein Geheimnis ist, dass es Konzepte gibt, wo man sich bewusst 
vom biologischen Vorbild löst. In der Praxis wo ein KNN einfach nur 
bestmöglich funktionieren soll, gibt es keinen Grund biologische 
Plausibilität anzustreben.
Ich ordne solche Vorgehensweisen einfach allgemein dem Bereich des 
Machine Learning zu.

Ich glaube aber immer noch dass man sehr viel von biologische neuronalen 
Netzen lernen kann. Fakt ist schließlich, dass das biologische Gehirn 
immer noch Leistungen vollbringt, wozu alle bisherigen KNN Modelle nicht 
in der Lage sind.

Und ich habe mir Gedanken dazu gemacht inwiefern es wirklich an einer 
mangelnden Rechenkapazität liegt. Eine weit verbreitete Ansicht ist 
nämlich, dass es nicht genügend Rechenkapazität gäbe um die Abläufe in 
einem menschlichen Gehirn zu simulieren.

Um diese Frage zu klären muss man klarstellen was man mit simulieren 
genau meint. Es erscheint mir unnötig einzelne Neuronen biologisch zu 
simulieren. Das heißt wenn man versuchen würde ein einzelnes Neuron mit 
vielen biologischen Aspekten zu simulieren wäre der Rechenaufwand für 
ca. 100 Mrd. Neuronen gigantisch.
Und warum sollte man das tun? Naja man könnte der Ansicht sein dass die 
Intelligenz des Menschen nicht nur auf neuronale Verbindungen und 
synaptische Verbindungen zurückzuführen ist sondern dass die gesamte 
Biochemie des Gehirns eine Rolle spielt. In einem KNN werden ja nur 
einige wenige als entscheidend betrachtete Aspekte der Neuronen 
simuliert: Die Verbindungen der Neuronen untereinander und die 
Gewichtung dieser Verbindungen.

Ich glaube nicht dass die gesamte Biochemie des Gehirns zwingend ist für 
die Bildung menschlicher Intelligenz. Allerdings gibt es wohl mehr 
Aspekte als in üblichen KNNs modelliert werden. Es gibt beispielsweise 
sogenannte Neuromodulatoren, die in bestimmten Regionen des Gehirns 
ausgeschüttet werden können bzw. bestimmte Neuronen reagieren auf 
geeignete Neuromodulatoren. Das beeinflusst die betroffenen neuronalen 
Netze, was sich in einer Verhaltensänderung des Individuums äußert. 
Emotionen funktionieren wohl über diesen Weg. Die Ausschüttung 
bestimmter Hormone beeinflusst neuronale Gruppen im Gehirn und reguliert 
ihre Aktivität mit.

Viele biochemische Prozesse dienen aber denke ich sozusagen eher einer 
biologischen Implementierung bzw. Aufrechterhaltung der entscheidenden 
Strukturen. Interessant für die synthetische Nachbildung sind die 
entscheidenden Strukturen und nicht die gesamte Kette der biochemischen 
Umsetzung. Beispielsweise ist die Energieversorgung der neuronalen 
Zellen, nach dem was man heute weiß, nicht entscheidend für den 
Mechanismus der Intelligenz an sich.
In etwa so wie die Energieversorgung eines integrierten Schaltkreises 
nicht Bestandteil des Algorithmus ist dass am Ende von den Transistor 
Strukturen berechnet wird. Oder sonstige Hilfsschaltungen die die 
korrekte Arbeitsweise von Flipflops oder so gewährleisten ohne Teil der 
eigentlichen Berechnung zu sein.

Gehen wir also mal davon aus dass das heutige KNN Modell mit den 
Verbindungen und Gewichten ausreichend ist, um die entscheidenden 
Prozesse in neuronalen Netzen nachzubilden.

Man findet im Internet Zahlen wie viele Berechnungen im menschlichen 
Gehirn ablaufen. Ich weiß nicht genau wie das berechnet wird. Ausgehend 
von den obigen Ausführungen würde ich sagen dass die Wechselwirkung 
zwischen Neuronen über die synaptische Gewichtung die Grundlage ist.
Eine Zahl die man beispielsweise in Wikipedia findet ist 10^13 (10 hoch 
13) analoge Rechenoperation pro Sekunde.

Kann das stimmen? Es gibt ca. 100 Milliarden Neuronen und 
schätzungsweise 100 Billionen synaptische Verbindungen zwischen diesen 
Neuronen.
Jedes Neuron hat durchschnittlich 1000 synaptische Verbindungen.

100 Milliarden Neuronen * 1000 Synapsen /  10^13 Rechenoperationen = 10 
* 10^13 Rechenoperationen

Bedenken muss man wohl dass pro Sekunde nicht alle Neuronen im Gehirn 
aktiv sind. Es finden pro Sekunde also weniger Rechenoperationen statt 
als 10 * 10^13.
Aber man kann auch ruhig den Wert 10 * 10^13 nehmen, wenn man großzügig 
rechnen will, für den Fall dass man in dieser spontanen Betrachtung 
etwas unterschätzt oder übersehen hat. Ich werde diese Zahl nehmen, also 
10 * 10^13 bzw. 10^14.

Haben wir Computer bzw. Rechenzentren die 10^14 Rechenoperationen pro 
Sekunde ausführen können?
Der BlueGene/L von IBM schafft bis zu 3,6 * 10^14 Gleitkommaoperationen 
pro Sekunde. Also 3,6 mal so viel wie 10^14. Demnach könnte der 
BlueGene/L fast 4 menschliche Gehirne simulieren?

In einer anderen Berechnung geht man in dem folgenden YouTube Video 
davon aus das 10^18 Flops nötig ist um das Gehirn zu simulieren. 10^18 
Flops erreicht man mit 400.000 Stück Nvidia 1080 GTX Grafikkarten. Das 
soll ein Block von 8,5 x 8,5 x 8,5 Größe sein. Teuer aber in Form eines 
Rechenzentrums machbar.
https://www.youtube.com/watch?v=Nsgn-yd7uZg&feature=youtu.be&t=96


Gerne bitte Hinweise und Korrekturen wenn bei diesen Annahmen und Zahlen 
etwas nicht stimmt. Aber so wie es aussieht ist die notwendige 
Rechenkapazität inzwischen vorhanden. Oder was meint ihr?

von FPGAfan (Gast)


Lesenswert?

Was sagt das eigentlich über die digitalen massiv dicht integrierten ICs 
aus, wenn man davon einen Haus großen Block benötigt, um nur an die 
theoretische Rechenkapazität des Gehirns heran zu kommen? Und das mit 
einem um viele Größenordnungen größeren Energiebedarf?
Da erscheint die sonst sehr beeindruckende Chiptechnologie plötzlich 
völlig primitiv.

Könnte es vielleicht auch eine Wiederbelebung analoger Rechner geben? 
Die sind ja wohl um einiges energieeffizienter. Damit sind natürlich 
nicht die alten riesigen Analogcomputer gemeint sondern hoch integrierte 
analoge Schaltungen.

Prototypen frei programmierbarer analoger ICs gab es schon vor 15 Jahren 
und die Energieeffizienz übertrifft auch heute jeden digitalen IC. Ich 
kenne mich da nicht so gut aus. Aber habe einige Vorträge zu dem Thema 
gesehen. Und wie es scheint, hat die analoge Technik sehr interessante 
Vorteile.

Wenn man sich vom Gehirn inspirieren lassen will, würde ich sagen, 
sollte man die Forschung an integrierten analogen Schaltungen voran 
treiben und den Fokus weniger auf extreme hohe Integrationsdichte 
setzen, sondern eine massiv parallele Skalierbarkeit bei hoher 
Energieeffizienz verfolgen.

Vielleicht kann man dann ICs in Form eines Würfels bauen dass Milliarden 
von neuronalen Repräsentationen beinhaltet und ohne dass die 
Energiedichte so hoch ausfällt dass der Würfel beim einschalten 
schmilzt. Wie es bei digitaler Technik und extrem hoher 
Integrationsdichte der Fall wäre.

von Der Pongo (Gast)


Lesenswert?

Ist wohl  mehr was für diesen thread:
Beitrag "Neuronale Netze in FPGAs"

von Christoph Z. (christophz)


Lesenswert?

FPGAfan schrieb:
> Könnte es vielleicht auch eine Wiederbelebung analoger Rechner geben?
> Die sind ja wohl um einiges energieeffizienter. Damit sind natürlich
> nicht die alten riesigen Analogcomputer gemeint sondern hoch integrierte
> analoge Schaltungen.

State-of-the-Art Chiptechnologie für Analog: ca. 90 bis 180 nm

State-of-the-Art Chiptechnologie für Digital: 7 bis 14 nm


Die EU hat das in Analog und Digital gefördert:
https://www.humanbrainproject.eu/en/silicon-brains/

IBM macht das in Digital aber in asynchroner Logik, was massiv weniger 
Strom verbraucht als andere Systeme: 
http://research.ibm.com/articles/brain-chip.shtml

Grosser Vorteil der digitalen Varianten ist, dass sich die Software 
Simulation, Hardware Emulator und der richtige Chip (jeder davon) genau 
gleich verhalten. Analoge Chips (so wie die analogen Menschen) zeigen 
unterschiedliches Verhalten aufgrund von Fertigungstoleranzen, 
Temperatur etc.

FPGAfan schrieb:
> Prototypen frei programmierbarer analoger ICs gab es schon vor 15 Jahren
> und die Energieeffizienz übertrifft auch heute jeden digitalen IC. Ich
> kenne mich da nicht so gut aus. Aber habe einige Vorträge zu dem Thema
> gesehen. Und wie es scheint, hat die analoge Technik sehr interessante
> Vorteile.

Ja, die FPAA waren damals was sehr spannendes. Nach meinem Wissen die 
einzigen Überlebenden aus diesem Zweig sind die analogen Blöcke in den 
Cypress PSOC.

von FPGAfan (Gast)


Lesenswert?

Christoph Z. schrieb:
> IBM macht das in Digital aber in asynchroner Logik, was massiv weniger
> Strom verbraucht als andere Systeme:
> http://research.ibm.com/articles/brain-chip.shtml

Das grundlegende Schaltung bei dem TrueNorth Chip erinnert mich an die 
Lernmatrix von Steinbuch. Hardware Prototypen gab es davon schon vor dem 
Jahr 2000.
https://de.wikipedia.org/wiki/Assoziativmatrix
https://de.wikipedia.org/wiki/Lernmatrix
https://de.wikipedia.org/wiki/TrueNorth

von Markus K. (markus-)


Lesenswert?

FPGAfan schrieb:

> Eine Zahl die man beispielsweise in Wikipedia findet ist 10^13 (10 hoch
> 13) analoge Rechenoperation pro Sekunde.

10^13 Rechenoperation = 10 Teraflop, was etwa der Leistung einer RTX2080 
entspricht, also einer einzelnen GPU.

> 100 Milliarden Neuronen * 1000 Synapsen /  10^13 Rechenoperationen = 10
> * 10^13 Rechenoperationen

Dieser Formel kann ich nicht folgen.

> Haben wir Computer bzw. Rechenzentren die 10^14 Rechenoperationen pro
> Sekunde ausführen können?

Der BlueGene/L ist von 2004. Aktuell ist der schnellste Computer der 
Summit mit 1.5 * 10^17 Flops Leistung.
Quelle: https://www.top500.org/list/2019/11/

Auch der Google TPU 3.0 Pod hat über 10^17 Flops, allerdings nur 16 bit 
Floats, aber das reicht wohl für den Zweck.
https://de.wikipedia.org/wiki/Tensor_Processing_Unit

> Der BlueGene/L von IBM schafft bis zu 3,6 * 10^14 Gleitkommaoperationen
> pro Sekunde. Also 3,6 mal so viel wie 10^14. Demnach könnte der
> BlueGene/L fast 4 menschliche Gehirne simulieren?

ja, wobei man da noch etwas auf den Speicher achten muss. Die Gewichte 
stehen ja im Speicher und bei 10^14 Synapsen hat man natürlich auch 
10^14 Gewichte, die entsprechend einmal pro Durchgang zu den 
Recheneinheiten müssen. Bei einem Byte pro Gewicht sind das 100TB.

> In einer anderen Berechnung geht man in dem folgenden YouTube Video
> davon aus das 10^18 Flops nötig ist um das Gehirn zu simulieren. 10^18
> Flops erreicht man mit 400.000 Stück Nvidia 1080 GTX Grafikkarten. Das
> soll ein Block von 8,5 x 8,5 x 8,5 Größe sein. Teuer aber in Form eines
> Rechenzentrums machbar.
> https://www.youtube.com/watch?v=Nsgn-yd7uZg&feature=youtu.be&t=96

Schade, dass weder in der Wikipedia noch in dem Video eine Quelle für 
die genannte Rechenpower angegeben wird.

Ich hätte das so gerechnet: So eine Synapse ist ja Input*Gewicht, die 
werden dann in der Nervenzelle aufsummiert. Das ganze mehrfach pro 
Sekunde, nehmen wir mal an, mit 20Hz. Das sind dann jeweils 1xMUL + 
1xADD, also 2 * 10^14 * 20Hz = 4 * 10^15 Flops.

Dabei fehlt noch der Bias und die Aktivierungsfunktion im Neuron, aber 
das sind ja um Faktor 1000 weniger, fallen also nicht ins Gewicht.

Außerdem fällt mir auf, dass wir hier immer von Flops reden, dass da 
aber auch manchmal mit Integern gearbeitet wird, insbesondere in FPGAs.

von Markus F. (mfro)


Lesenswert?

Markus K. schrieb:
> 4 * 10^15 Flops.

um den unpassenden Vergleichen noch einen hinzuzufügen: wer schon mal 
mit Emulationen gearbeitet hat weiß, daß man mindestens eine um zwei 
oder drei Grössenordnungen schnellere Maschine braucht, um einen Oldie 
einigermassen korrekt zu emulieren.

Das mag hier durchaus auch gelten?

Was mir noch zum Thema einfällt (vielleicht weil noch etwas müde):

Schlaf.

NI braucht Schlaf, sonst funktioniert sie nicht allzu lange. Was dabei 
genau passiert, weiss man anscheinend (noch) nicht so genau, aber es 
scheint sich u.A. um einen "reorg" zu handeln, bei dem Erkenntnisse 
durch "festere Verdrahtung" optimiert ersetzt werden.

Solange KI nicht etwas ähnliches tut, wird sie wohl nicht wie NI 
funktionieren können?

von FPGAzumSpass (Gast)


Lesenswert?

Ich glaube nicht dass NN direkt ein Gehirn arbeiten.
Es gibt einfach zu viele Dinge die man mit NN machen kann, die im Gehirn 
aber enorm schwierig sind.

Beispiel: ein einfacher, turingvollständiger Prozessor lässt sich 
problemlos in einem halbwegs kleinen NN von wenige tausend Neuronen 
abbilden.
Habe ich mal gemacht mit 2x4Bit Registern und 8 Bit 
Addressbreite/Program Counter. Das einlernen des Befehlsatzes dauert 
etwa eine Minute, das Einlernen eines kurzen Programms wenige Sekunden.

In einem haushaltsüblichen PC lassen sich davon hunderte gleichzeitig 
ausführen in einer Geschwindigkeit die kein Mensch schaffen würde.
Daraus folgt für mich: würden NN das Gehirn abbilden, dann müsste ich es 
schaffen mit genügend Training selbst einen Bereich meines Gehirns 
turingvollständig mit halbwegs sinnvoller Geschwindigkeit rechnen lassen 
können.

Ich würde eher sagen es gibt eine Schnittmenge. Das Emulationsbeispiel 
gefällt mir dabei sehr gut. Eigentlich sind beides(Hirn und NN) 
unterschiedliche Architekturen, aber man kann beides mit dem jeweils 
anderen Abbilden.

Zusätzlich emulieren wir ein NN meist mit anderer Hardware(CPUs, GPUs) 
und auch noch analoge Vorgänge mit digitalen.
Für jeden dieser Schritte von CPU -> Analog -> NN -> Hirn kann man 
sicherlich jeweils einen ordentlichen Abzug an Geschwidgkeit annehmen. 
Kein Wunder also das man so viel Rechenleistung braucht.

Kann man ja nur so froh sein das ein Hirn hochparallel arbeit und nicht 
sequentiell mit exterm hohem Takt. Ansonsten würde das nie was werden 
mit dem nachbauen.

von Christoph Z. (christophz)


Lesenswert?

So, damit hier auch mal wieder ein Projekt vorgestellt wird (nicht von 
mir):

https://fosdem.org/2020/schedule/event/fsr_openwifi/

Opensource "Wi-Fi chip design" and Linux driver


An open source "Wi-Fi chip design"(Will be AGPLv3) will be presented and 
a live demo will be shown in the room! The design is based on SDR 
(Software Defined Radio) and offers full-stack 802.11a/g/n capabilities 
on FPGA and ARM Linux (Xilinx Zynq SoC + AD9361 RF front-end). It 
conforms with Linux mac80211 framework and behaves just like COTS Wi-Fi 
chip under Linux. The main components of the design are: RF front-end 
control; PHY; low-MAC; interfacing (DMA, register) with ARM; mac80211 
compliant Linux driver; high-MAC (mac80211 framework); Linux user space 
tools (ifconfig, iwconfig, dedicated tools via netlink).​ Since it is a 
SDR based "white box" design instead of commercial “black box” chip, you 
can do Wi-Fi research and customization without any reverse engineering 
efforts.

It will be the 1st open source project for full-stack Wi-Fi SDR 
implementation. Lots of people, especially wireless network/security 
researchers, SDR researchers and hackers, will be interested in.

von Michael W. (Gast)


Lesenswert?

Christoph Z. schrieb:
> hackers

ja, vor allem die. Prima. Das macht das Ausspähen von Netzen noch 
einfacher

von Gustl B. (gustl_b)


Lesenswert?

Das Ausspähen von Netzen sollte aber nicht dadurch geschützt sein, dass 
etwas eine Blackbox ist. Dann können nämlich manche Hersteller und 
Dienste weiterhin reingucken. Das muss dadurch geschützt sein, dass die 
Spezifikation das nicht zulässt. Durch Verschlüsselung und so und 
fehlerfreie Implementierung. Dann kann das jeder angucken, auf 
Korrektheit prüfen und trotzdem nicht ausspähen.

von FPGAfan (Gast)


Lesenswert?

Markus K. schrieb:
> Ich hätte das so gerechnet: So eine Synapse ist ja Input*Gewicht, die
> werden dann in der Nervenzelle aufsummiert. Das ganze mehrfach pro
> Sekunde, nehmen wir mal an, mit 20Hz. Das sind dann jeweils 1xMUL +
> 1xADD, also 2 * 10^14 * 20Hz = 4 * 10^15 Flops.

Du hast recht. Es sind ohne die Aktivierungsfunktion ca. 4 Billiarden 
Berechnungen pro Sekunde. Das könnte  dem realen Wert recht gut nahe 
kommen.
Frage mich wie die auf den Wert von 10^18 kommen.
10^18 = 250  4  10^15

Markus F. schrieb:
> NI braucht Schlaf, sonst funktioniert sie nicht allzu lange. Was dabei
> genau passiert, weiss man anscheinend (noch) nicht so genau, aber es
> scheint sich u.A. um einen "reorg" zu handeln, bei dem Erkenntnisse
> durch "festere Verdrahtung" optimiert ersetzt werden.
>
> Solange KI nicht etwas ähnliches tut, wird sie wohl nicht wie NI
> funktionieren können?

Es gibt Hinweise darauf das erlebte und körperlich ausgeführte 
Erlebnisse im Schlaf wiederholt werden. Dabei werden temporär 
gespeicherte Signalmuster der Großhirnrinde wiederholt präsentiert, 
wodurch die intensivsten Eindrücke mit einer gewissen Wahrscheinlichkeit 
im Langzeitgedächtnis landen. Es findet wohl auch eine Kategorisierung 
und Bewertung der Ereignisse statt.
Es ist denke ich ähnlich wie beim Training eines KNN dem wiederholt 
bestimmte Signalmuster präsentiert werden. Wobei im Gehirn wohl aber 
auch aktive Prozesse eine Kategorisierung und Bewertung durchführen bzw. 
es entsteht so etwas aufgrund der ganzen neuronalen Architektur.


FPGAzumSpass schrieb:
> In einem haushaltsüblichen PC lassen sich davon hunderte gleichzeitig
> ausführen in einer Geschwindigkeit die kein Mensch schaffen würde.
> Daraus folgt für mich: würden NN das Gehirn abbilden, dann müsste ich es
> schaffen mit genügend Training selbst einen Bereich meines Gehirns
> turingvollständig mit halbwegs sinnvoller Geschwindigkeit rechnen lassen
> können.

Man darf nicht vergessen dass das Gehirn eine biologische Architektur 
aufweist.
Eine Architektur kann durchaus zu Einschränkungen führen die einzelne 
Neuronen oder Gruppen von Neuronen nicht haben.
Bei der Entwicklung von integrierten Schaltkreisen ist das ja ähnlich. 
Die theoretisch mögliche Taktrate einzelner Transistoren kann dabei 
nicht ausgereizt werden weil Signallaufzeiten oder sonstige Module im 
Chip nicht synchron arbeiten können.

Auch glaube ich dass wir künstliche Netze aufgrund der schnellen 
Computer auf eine Art und Weise trainieren wie es im menschlichen Gehirn 
nur über viele Jahre möglich ist.
Wenn also ein KNN Tumore auf Bildern im Durchschnitt besser erkennt als 
ein Arzt dann kann das genau darauf zurückzuführen sein.
Weil das KNN mit sehr viel Rechenpower auf ein ganz spezielles Muster 
trainiert wurde.
Während der Arzt als Mensch noch sehr viele andere Dinge zu lernen und 
zu bewältigen hat und kann sich nicht über Jahre auf die Erkennung von 
Tumoren konzentrieren, er hat ja auch noch ein Privatleben.

Ich glaube ein vereinfachtes KNN ohne Bestandteil einer komplexen 
Architektur, ist nicht vergleichbar mit der Leistung des Gehirns als 
Gesamtarchitektur.

von S. R. (svenska)


Lesenswert?

FPGAfan schrieb:
> Man darf nicht vergessen dass das Gehirn eine
> biologische Architektur aufweist.

Das heißt eigentlich erstmal nur, dass biologische Neuronen wesentlich 
unzuverlässiger und anfälliger sind als technische Neuronen. Das Gehirn 
kompensiert, indem es einfach "mehr Neuronen" hat und diese konstant neu 
formt.

In der Realität fällt das dann auf, wenn man sich Alzheimer o.ä. 
anschaut, wo oft ein großer Teil des Gehirns bereits tot ist, bevor die 
Symptome offensichtlich werden.

FPGAfan schrieb:
> Auch glaube ich dass wir künstliche Netze aufgrund der schnellen
> Computer auf eine Art und Weise trainieren wie es im menschlichen Gehirn
> nur über viele Jahre möglich ist.

Nicht unbedingt. Das biologische Gehirn ist auch in der Lage, anhand 
eines einzelnen Datensatzes sinnvolle Abstraktionen zu entwickeln.

Ein einzelner Datensatz "scheiße, Finger an der Herdplatte verbrannt" 
oder "oha, das Manöver auf der Autobahn hätte auch böse schief gehen 
können, nicht gut" reicht als Lerngrundlage oft aus. Dazu braucht man 
keine tausend verbrannten Finger oder Autounfälle, wie das bei KI der 
Fall ist.

von Martin S. (strubi)


Lesenswert?

FPGAfan schrieb:
> Wenn also ein KNN Tumore auf Bildern im Durchschnitt besser erkennt als
> ein Arzt dann kann das genau darauf zurückzuführen sein.
> Weil das KNN mit sehr viel Rechenpower auf ein ganz spezielles Muster
> trainiert wurde.

Hier steht ein wichtiges Wort: Durchschnitt.
Wo man sich immer wieder mit dem NN-Enthusiasten fetzt: das KNN ist 
typischerweise immer in einem relativ schmalen Band von 'normalisierten' 
Faellen (um den Durchschnitt herum) hoch performant.
Wo es versagt und oft falsche Bewertungen vorkommen, sind die komplett 
nicht-linearen Spezialfaelle, oder eben das schmale Band am Rande (dort 
wo die Gauss-Glocke auslaeuft).
Und genau das ist das Fatale: Wenn man einen Massentest mitmacht, wie 
eine Blutanalyse auf spezielle Marker, spuckt die 'AI' der Software zur 
Erkennung der Marker auf den sog. Western Blots (dem 
'Protein-Strichcode') unter Umstaenden fuer einen individuellen Fall ein 
falsches Resultat aus.
In der Masse hakt man das mit einer Wahrscheinlichkeit von X ab, wie 
wahrscheinlich das Ergebnis ist, und einer zweiten Wahrscheinlichkeit Y, 
dass ein Falsch-Positiv/Falsch-Negativ vorliegt, also der Test versagt.

Fuer die individuellen Patienten ist das u.U eine hochgefaehrliche 
Aussage, denn mit der Wahrscheinlichkeit koennen sie im Prinzip nichts 
anfangen. Viele Aerzte auch nicht..

Das KNN kann man so vergleichen mit einem Autisten. Fuer eine Diagnose 
braucht man aber einen Arzt mit Allgemeinwissen.
Grundsaetzlich ist die KNN-Architektur auf Autismus ausgelegt, sie kann 
nur in multi-linearen Zustaendsraeumen unterteilen, gewisse Aspekte 
gehen nicht. Das haben schon einige in den 90ern durchgekaut, das 
Lehrmaterial von Andreas Zell ist zu empfehlen.

Deswegen - wie schon jemand oben schrieb, auch Kalter Kaffee, oder auch 
Tunnelblick - finde ich den NN-Hype auf FPGA weniger 'cool'. Die 
klassische FPGA Technologie gibt's auch einfach nicht sonderlich gut 
her, die Architektur muesste ganz anders aufgebaut sein um z.B. auch 
sinnvolles Selbstlernen (was die KNN einfach generell schlecht koennen) 
zu ermoeglichen. Drum macht es wohl mehr Sinn, gleich einen ASIC zu 
bauen (fuer die, die's koennen).

Zum Thema coole (und greifbare) Projekte: Ich finde gerade die aktuelle 
Entwicklung in der openSource-Synthese mit yosys, nextpnr und Konsorten 
recht cool. Mit Verilog gehen schon komplexere Designs, aber VHDL holt 
via ghdl langsam auf. Ist nicht mehr sonderlich weit bis zur kompletten 
HW-Synthese eines vollstaendigen SoC in der Kontinuierlichen 
Integration.
Das vermutlich erste SoC-Projekt was vollstaendig 'open source' baut:

https://github.com/antonblanchard/microwatt

Weitere werden folgen.

: Bearbeitet durch User
von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Martin S. schrieb:
> Wo es versagt und oft falsche Bewertungen vorkommen, sind die komplett
> nicht-linearen Spezialfaelle, oder eben das schmale Band am Rande (dort
> wo die Gauss-Glocke auslaeuft).

... und für ein durchschnittlich gut trainiertes NN sind schon alle 
Fälle, die unter der 10% und über der 90% Medianschwelle liegen 
sogenannte "Spezialfälle", weil es gar nicht genug Fallzahlen gibt, um 
es darauf zu trainieren. D.h. das NN kann das gar nicht wissen oder 
ist im schlimmsten Fall falsch trainiert.

Dummerweise sind nämlich medizinische Fälle was die Ausprägung der 
Vielzahl von Facetten der Symptome angeht, sehr breit und flach 
angelegt. D.h. das Band der typischen Erkrankungen ist nicht so 
übermässig breit.  Dafür sorgen allein schon untypische Begleitsymptome 
die Folge paralleler Erkrankungen sein können und die primären Symptome 
der eigentlich zu diagnostizierenden Krankheit überdecken können. Und 
das ist ein großes Problem:

In nicht wenigen Fällen sind beobachtbare Verläufe von Blut- und anderen 
Kennwerten sogar gegenläufig, weswegen man einen richtigen Riecher und 
wenigstens eine Fehldiagnoste braucht, um richtig zu liegen. D.h. der 
Arzt steigt erst auf Diagnose 1 ein, bemerkt aber anhand des Verlaufs 
der Erkrankung der nächsten Tage, dass dies nicht zur Historie passt und 
kann dann entweder die richtige Diagnose stellen oder die parallele 
Erkrankung erkennen, je nachdem was ursächlich ist.

Das NN ist aber darauf nicht konditioniert und hängt an der Diagrnose 1 
fest und bestätigt diese sogar, was zu immer falscherer Auslegung führt.

Ein Beweis dafür wurde vor einigen Jahren mal von einer Forschungsgruppe 
aus den USA geliefert, welche das Trainieren von NN testet und 
simuliert.

Was dabei auch rausgekommen ist:

Bei Selbstlernenden Netzen ist es sehr relevant, mit welchen Daten sie 
zuerst gefüttert werden. Fängt man bei der einen Hälfte von vorn und der 
anderen Vergleichsgruppe von hinten mit den Fällen an, dann hat man zwei 
verschieden trainierte Netze. Die ändern ihre "Meinung" nur sehr 
langsam. Echte Mediziner sind da durchaus flexibler.

von FPGAfan (Gast)


Lesenswert?

S. R. schrieb:
> Ein einzelner Datensatz "scheiße, Finger an der Herdplatte verbrannt"
> oder "oha, das Manöver auf der Autobahn hätte auch böse schief gehen
> können, nicht gut" reicht als Lerngrundlage oft aus. Dazu braucht man
> keine tausend verbrannten Finger oder Autounfälle, wie das bei KI der
> Fall ist.

Ich vermute dafür ist ein dynamisches System verantwortlich das die 
Wirkung der Strukturbildung auf die Neuronen regelt. Ich glaube dass die 
Lernrate in Verbindung mit Schmerzen oder intensiven Emotionen höher 
ist. Dadurch prägen sich Erfahrungen bzw. die Logik dieser Erfahrungen 
schneller ein. Ich glaube dass die Dynamik dieser Lernrate über 
bestimmte Stoffe bzw. der Erfahrung von Schmerz geregelt wird.

Ist die Intensität oder Dauer solcher Erfahrungen jedoch sehr hoch, 
erleiden Menschen häufig einen psychischen Schaden und entwickeln auch 
irrationale Ängste und Verhaltensweisen. Eine Art Überanpassung?
Was eventuell auch damit zusammenhängt dass die plötzliche oder längere 
enorme Ausschüttung bestimmter Stoffe, während einer intensiven 
Erfahrung, Schäden an den Neuronen und Synapsen verursachen können. Ein 
Trauma.

Martin S. schrieb:
> Hier steht ein wichtiges Wort: Durchschnitt.
> Wo man sich immer wieder mit dem NN-Enthusiasten fetzt: das KNN ist
> typischerweise immer in einem relativ schmalen Band von 'normalisierten'
> Faellen (um den Durchschnitt herum) hoch performant.
> Wo es versagt und oft falsche Bewertungen vorkommen, sind die komplett
> nicht-linearen Spezialfaelle, oder eben das schmale Band am Rande (dort
> wo die Gauss-Glocke auslaeuft).

Wie denkst du löst das Gehirn die nicht-linearen Spezialfälle? Denn das 
Gehirn zeigt ja dass genau das mit neuronalen Netzen auch möglich ist. 
Das KNN bisher nicht an die Leistung des Gehirn heran kommen ist ja 
klar. Die Möglichkeiten die bisherigen Modelle zu verbessern sind ja 
offen. Man kann das höchstens kritisieren wenn jemand die Mängel 
ignoriert oder nicht erkennt. Aber normalerweise sind die Limitierungen 
ersichtlich.

Martin S. schrieb:
> Fuer die individuellen Patienten ist das u.U eine hochgefaehrliche
> Aussage, denn mit der Wahrscheinlichkeit koennen sie im Prinzip nichts
> anfangen. Viele Aerzte auch nicht..

Solche Systeme geben soweit ich weiß auch keine Ja und Nein Aussagen an 
den Arzt. Man könnte ein positives oder negatives Ergebnis zwar an ein 
Schwellenwert verbinden aber viel besser ist es doch wenn der Arzt die 
genaue Zahl der Wahrscheinlichkeit sieht. Weil es schon ein Unterschied 
ist ob das KNN einen Tumor zu 55% erkannt hat oder zu 90%.
Solche Werte können für den Arzt durchaus nützlich sein. Wenn ich bei 
einem Fall glaube es sei kein Tumor vorhanden, aber das System zeigt 
eine Wahrscheinlichkeit von 75% an, dann schaue ich vielleicht nochmal 
genauer hin. Hilfreich wäre es eigentlich wenn das künstliche System 
direkt anzeigt wo es angeblich einen Tumor erkannt hat. So kann der Arzt 
direkt überprüfen was zu diesem Ergebnis geführt hat.

Bei dem gegenwärtigen Stand der Entwicklung ist so ein KNN aber kein 
Ersatz für einen Arzt sondern ein nützliches Hilfswerkzeug dass den Arzt 
unterstützen kann.

Martin S. schrieb:
> Das haben schon einige in den 90ern durchgekaut, das
> Lehrmaterial von Andreas Zell ist zu empfehlen.

Wie alt eine Idee ist hat nicht viel zu bedeuten. Da die theoretischen 
Vorarbeiten bereits in einer Zeit erbracht wurden wo die technische 
Realisierung sehr schwer bis unmöglich war. Schön also wenn man heute 
die alten Ideen wieder aufgreift, überprüft und weiter entwickelt. Man 
sollte keinesfalls blind annehmen dass das schon damals ausprobiert und 
ausgeschöpft sei. Es wurde meistens nur erdacht, aufgeschrieben und in 
manchen Fällen in einem sehr eingeschränkten Umfang technisch simuliert.

von S. R. (svenska)


Lesenswert?

Martin S. schrieb:
> Wo es versagt und oft falsche Bewertungen vorkommen, sind die komplett
> nicht-linearen Spezialfaelle, oder eben das schmale Band am Rande (dort
> wo die Gauss-Glocke auslaeuft).

Profan ausgedrückt: Aktuelle KI erkennt nicht, dass sie das Problem 
nicht beurteilen kann und es sieht nicht so aus, als ob man dafür eine 
Lösung findet. Ein Arzt sieht ein Bild von einem Auto und weiß, dass man 
dort keine Hautkrankheiten erkennen kann.

Das Problem ist aber an sich nicht, dass KI für einen Schnelltest 
ungeeignet wäre, sondern dass die begleitenden Personen zunehmend mehr 
Vertrauen in die Technik entwickeln.

FPGAfan schrieb:
>> Ein einzelner Datensatz "scheiße, Finger an der Herdplatte verbrannt"
>> oder "oha, das Manöver auf der Autobahn hätte auch böse schief gehen
>> können, nicht gut" reicht als Lerngrundlage oft aus. Dazu braucht man
>> keine tausend verbrannten Finger oder Autounfälle, wie das bei KI der
>> Fall ist.
>
> Ich vermute dafür ist ein dynamisches System verantwortlich das die
> Wirkung der Strukturbildung auf die Neuronen regelt.

Das ist richtig. Aber der Gedanke geht noch weiter: Ich kann Dinge auch 
grundsätzlich lernen, indem ich mir anschaue oder mir erklären lasse, 
wie sie gemacht werden. Das heißt, dass ich auch ein Verfahren lernen 
kann, ohne dafür tausend Beispiele zu brauchen: Erklären, vorführen 
lassen, (temporär) gelernt. Jede hinreichend zuverlässige Kommunikation 
reicht dafür aus - Wort, Schrift, Gebärde, etc.

Diese Lernverfahren fehlen m.W. in der KI-Forschung bisher komplett.

Wenn man sich die Verkehrsschilderkennung im autonomen Fahren z.B. 
anschaut, dann basiert das aktuell auf "ich habe schon viele 70 
km/h-Schilder gesehen, das hier sieht so aus".

Ein Mensch sieht da erstmal nur ein möglicherweise 
geschwindigkeitsbegrenzendes Schild, und kann, wenn er näher kommt, 
irgendwann die Zahl lesen. Gelingt das nicht (z.B. Sichtverhältnisse), 
dann wird sich erinnert ("hier war 60") oder anhand der Gegend 
approximiert ("hmm, sieht wie 30 aus, könnte 50 sein, definitiv keine 
130").

Dazu ist aktuelle KI nicht in der Lage, also wird durch massiven Einsatz 
von Kommunikations- und Dateninfrastruktur versucht zu kompensieren.

von Markus K. (markus-)


Lesenswert?

S. R. schrieb:
> Martin S. schrieb:
>> Wo es versagt und oft falsche Bewertungen vorkommen, sind die komplett
>> nicht-linearen Spezialfaelle, oder eben das schmale Band am Rande (dort
>> wo die Gauss-Glocke auslaeuft).
>
> Profan ausgedrückt: Aktuelle KI erkennt nicht, dass sie das Problem
> nicht beurteilen kann und es sieht nicht so aus, als ob man dafür eine
> Lösung findet. Ein Arzt sieht ein Bild von einem Auto und weiß, dass man
> dort keine Hautkrankheiten erkennen kann.

Aber dieses konkrete Problem ist doch relativ einfach zu lösen. Man muss 
der KI doch nur beibringen, z.B. nur auf Haut oder nur auf Röntgenbilder 
zu reagieren.

Das dahinter liegende Problem ist aber eher, dass die aktuellen NN sehr 
klein sind (im Vergleich zum menschlichen Gehirn) und hochgradig 
spezialisiert sind. Der Arzt ist ja nicht nur Experte zum Erkennen von 
Hautkrebs, sondern auch Arzt, Mensch, usw. der alles mögliche andere 
noch kann.

Dafür hat er aber auch Jahrzehnte gelernt/trainiert. Ein sechs Monate 
altes Kind weiß nicht, was Schwerkraft ist, ein neun Monate altes Kind 
dagegen schon.

Ich gehe davon aus, dass wenn man erstmal leistungsfähigere Netze hat, 
dass man dann auch universellere Netze benutzen wird. Aber das wird 
sicherlich noch eine ganze Weile dauern.

> Das ist richtig. Aber der Gedanke geht noch weiter: Ich kann Dinge auch
> grundsätzlich lernen, indem ich mir anschaue oder mir erklären lasse,
> wie sie gemacht werden. Das heißt, dass ich auch ein Verfahren lernen
> kann, ohne dafür tausend Beispiele zu brauchen: Erklären, vorführen
> lassen, (temporär) gelernt. Jede hinreichend zuverlässige Kommunikation
> reicht dafür aus - Wort, Schrift, Gebärde, etc.
>
> Diese Lernverfahren fehlen m.W. in der KI-Forschung bisher komplett.

Es gibt z.B. Imitation Learning.

Ansonsten gibt es noch ganz viele Netze, die einzelne Aspekte davon 
können, z.B. Anhand einer schriftlichen Beschreibung ein Bild eines 
Vogels erzeugen oder erkennen, was auf einem Bild passiert (zwei Männer 
spielen Tennis).
Dazu kommt, dass ein Mensch sehr viele Kategorien hat (zig tausend) und 
deswegen die Welt ganz anders begreift. Dazu wird u.a. bei 
One-Shot-Learning geforscht.

All das und noch mehr braucht man als Grundlage, um auf diese Art lernen 
zu können. Da fehlt aber noch viel und ich denke erst dann kann man so 
generisch nützliche Assistenten haben.

von FPGAfan (Gast)


Lesenswert?

Damit eine KI anhand von Text oder Sprache etwas lernen kann, muss es in 
der Lage sein, ein inneres Modell der Wirklichkeit zu entwickeln und 
diese anhand der Erfahrung über einzelne Objekte zu animieren.
Generative Netze könnten so etwas theoretisch leisten.
Wenn man das innere Modell sich als weiteren Input an die KI vorstellt, 
ist es so als würde die KI sich etwas vorstellen können. Anhand des 
inneren Modells könnten neue Eigenschaften gelernt werden.

Komplexe Sachverhalte erfordern aber auch beim Menschen einen Experiment 
in der Wirklichkeit um die gezogenen Schlüsse aus dem geistigen Modell 
zu überprüfen.

Experimente sind ja deswegen notwendig weil die Realität nicht auf allen 
Ebenen dem Verhalten aus der bisherigen Erfahrung entspricht.
Man könnte ja meinen dass sich Atome genau wie makroskopische Objekte 
verhalten. Das man so was meint wäre darauf zurückzuführen, dass dem 
inneren geistigen Modell die Erfahrung fehlt, dass sich Objekte anders 
als makroskopische Objekte verhalten können.

Ein solches inneres Modell hat also immer eine gewisse Unsicherheit. Es 
ist immer eine Art Annäherung an die Realität. Die Qualität der 
Annäherung des inneren Modells hängt von der Menge möglicher 
Assoziationen ab. Ein Individuum mit besonders viel Wissen im Bereich 
Physik hat also bessere geistige Modelle von physikalischen Vorgängen.

von FPGAfan (Gast)


Lesenswert?

Martin S. schrieb:
> Zum Thema coole (und greifbare) Projekte: Ich finde gerade die aktuelle
> Entwicklung in der openSource-Synthese mit yosys, nextpnr und Konsorten
> recht cool. Mit Verilog gehen schon komplexere Designs, aber VHDL holt
> via ghdl langsam auf. Ist nicht mehr sonderlich weit bis zur kompletten
> HW-Synthese eines vollstaendigen SoC in der Kontinuierlichen
> Integration.

Danke für den Tipp. Habe mir die Tools gestern etwas angesehen bzw. 
darüber gelesen. Sehr interessant muss ich sagen. Schade dass es nicht 
viel mehr open source Lösungen gibt.
Ich werde mir einen IceZero Lattice iCE40 Board holen und mit den freien 
Tools etwas herum experimentieren.

von S. R. (svenska)


Lesenswert?

Markus K. schrieb:
> Aber dieses konkrete Problem ist doch relativ einfach zu lösen.
> Man muss der KI doch nur beibringen, z.B. nur auf Haut oder nur
> auf Röntgenbilder zu reagieren.

Das Problem ist das "nur". Sicherlich kann ich dem Erkenner ganz viele 
Bilder von "das ist Müll" zeigen, aber dann verwirft das System auch nur 
genau den trainierten Müll. Ein Mensch erkennt auch unbekannten Müll, 
zumindest auf der Ebene "damit kann ich nicht arbeiten".

Und dann kommt natürlich die Frage, wieviel Müll ich einem System der 
Größe N zeigen muss, damit es zuverlässig ungültige Eingaben erkennt, 
ohne die "Hautkrebs/kein Hautkrebs"-Entscheidung nennenswert zu 
beeinflussen.

Markus K. schrieb:
> Das dahinter liegende Problem ist aber eher, dass die
> aktuellen NN sehr klein sind (im Vergleich zum menschlichen
> Gehirn) und hochgradig spezialisiert sind.

Autistisch eben.

Dummerweise setzen wir diese Techniken auch da ein, wo man Autisten nie 
einsetzen würde - und überlassen ihnen zunehmend die 
Entscheidungsgewalt. Angefangen schon da, wo sich der Mensch 
rechtfertigen muss, vom Maschinenvorschlag abgewichen zu sein.

von Martin S. (strubi)


Angehängte Dateien:

Lesenswert?

FPGAfan schrieb:
> Wie denkst du löst das Gehirn die nicht-linearen Spezialfälle? Denn das
> Gehirn zeigt ja dass genau das mit neuronalen Netzen auch möglich ist.
> Das KNN bisher nicht an die Leistung des Gehirn heran kommen ist ja
> klar. Die Möglichkeiten die bisherigen Modelle zu verbessern sind ja
> offen. Man kann das höchstens kritisieren wenn jemand die Mängel
> ignoriert oder nicht erkennt. Aber normalerweise sind die Limitierungen
> ersichtlich.

Das Gehirn wuerde ich jetzt im Tech-Sprech mal als sehr effiziente 
Self-Organizing-Map mit einem moeglicherweise unbegreifbar guten 
Praegung durch die Evolution betrachten. Das ist natuerlich sehr 
strittig (angelernt vs. angeboren..).

Die SOM haben gegenueber den KNN den Vorteil, dass sie dynamisch 
Verbindungen zu Nachbar-Neuronen aufbauen koennen und sich die 
Gewichtung/Konzentration laufend anpasst. Das KNN hat nur die fixen 
Moeglichkeiten der Distribution mit Gewichtungsfaktoren (inkl. Extras 
mit Vorwaertspropagation an weitere Schichten).
Zur Erlaeuterung dieser Linearitaeten, siehe Bildchen. Sei das eine 
einfache 'Karte', Koordinaten X und Y, und wo das System lernt, zwischen 
Fall (A) oder (B) (rot) zu unterscheiden. Die SOM kann sich auf sowas 
wie links leichter einstellen als das KNN (rechts), was natuerlich durch 
weitere Schichten sowas schon approximieren kann. Man kann natuerlich 
immer mit Resourcen draufhauen, um auch die fraktalsten 
Entscheidungsdomaenen abzugrenzen. Interessant wird's dann mit der 
Weichheit der Grenzen, da das ja in Realitaet kein starres Ja/Nein ist. 
Ein Umlaut-Ue ist ja auch ein bisschen U, Y, und I.

Die KNN haben grundsaetzlich das Problem, dass man sie einfach nicht 
selbst dauernd lernen lassen darf. Kriegen sie zuviel Mist, fangen sie 
an zu 'spinnen' und entarten. Der Roboter hat dann offenbar auch 
psychische Probleme :) Die SOM sortiert das flexibler ein, braucht aber 
auch deutlich mehr Verwaltungsaufwand. Nicht so ohne weiteres in einen 
Chip zu backen, dewegen bleibt man halt bei den guten alten KNN und 
Feed-Forward-Strukturen.

Es gab da auch mal ein recht lehrreiches OpenSource-Tool namens SNNS, 
damit konnte man sich div. NN-architekturen zusammenbauen, trainieren 
und evaluieren. Scheint es auch noch zu geben.

Zum andern Thema (wo schweifen wir jetzt eigentlich wohin ab..)

FPGAfan schrieb:
> Danke für den Tipp. Habe mir die Tools gestern etwas angesehen bzw.
> darüber gelesen. Sehr interessant muss ich sagen. Schade dass es nicht
> viel mehr open source Lösungen gibt.
> Ich werde mir einen IceZero Lattice iCE40 Board holen und mit den freien
> Tools etwas herum experimentieren.

Es gibt eigentlich eine Menge an openSource-Projekten, v.a. 
Verilog-basiert, die beachtliches auf die Beine stellen. Geht halt 
hierzulande etwas im Hype-Geschrei unter oder wird mit Missachtung 
gestraft, weil's nicht HLS-Mainstream ist.
Auf jeden Fall funzt die Toolchain recht gut, hier synthetisiert schon 
ein RISC-V SoC im ECP5 und das schneller als mit der offiziellen 
Synopsys-Diamond-Geschichte.

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.