Eine Einführung in Analoge und Digitale Systeme für Informatiker mit Elektronikgrundlagen und Signalverarbeitung
Prof. Dr. Stefan Bosse
Universität Koblenz - Praktische Informatik
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern ::
Bisher waren die Schaltungen gegeben oder wurden manuell aus mathematischen Modellen und Funktionen abgeleitet. Das Ziel ist aber der automatisierte Entwurf von Analogrechnern.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern ::
Bisher waren die Schaltungen gegeben oder wurden manuell aus mathematischen Modellen und Funktionen abgeleitet. Das Ziel ist aber der automatisierte Entwurf von Analogrechnern.
Simulation ist ein Hilfsmittel das Verhalten von Analogschaltungen zu untersuchen und zu analysieren.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern ::
Bisher waren die Schaltungen gegeben oder wurden manuell aus mathematischen Modellen und Funktionen abgeleitet. Das Ziel ist aber der automatisierte Entwurf von Analogrechnern.
Simulation ist ein Hilfsmittel das Verhalten von Analogschaltungen zu untersuchen und zu analysieren.
Aber wie kann man automatisiert eine Analogschaltung aus mathematischen Funktionen und Daten ableiten? Wir wollen dies am Beispiel des Analogen Künstlichen Neuronalen Netzwerks begreifbar machen.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Künstliche Neuronale Netzwerke
Bosse, 2025, SysInt Conference
Bei der Lösung von DGL hatten wir dynamische (transitorische) Systeme. Bei der Berechnung von KNN Modellen sind wird wirder im stationären (funktionalen) Bereich.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Künstliche Neuronale Netzwerke
Bosse, 2025, SysInt Conference
Bei den Technologien unterscheiden wir statische und dynamische Schaltungen. Die KNN Modelle sind i.A. statisch aber parametrisierbar.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Künstliche Neuronale Netzwerke
Bosse, 2025, SysInt Conference
Algorithmisch können wir verschiedene Verfahren verwenden um Analogschaltungen und Analogrechner zu entwerfen.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Künstliche Neuronale Netzwerke
Im Prinzip ein universeller nichtlinearer Funktionsapproximator aus Daten.
KNN(→x,D):→x→→y≈f(→x):→x→→yKNN(^k,→b)=g1(g2(…(gn(→x))))gi(→ui,→ki,bi)=a⎛⎝|u|∑j=1ui,jki,j+bi⎞⎠
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Künstliche Neuronale Netzwerke
Der Funktionsapproximator - das KNN Modell - hat eine feste Struktur (d.h. auch die Analogschaltung ist fix in ihrem Aufbau), ist aber parametrisierbar. Die Parameter werden bestimmt (iterativ angepasst) indem der Fehler des Modells minimiert wird: Maschinelles Lernen aus Daten. Die Daten können experimentell sein oder durch eine anzupassende Funktion gegeben sein.
Das Modell wird aus Beispielsdaten D=(x,y0) trainiert indem die Parameter des Modell (k,b) schrittweise durch eine Rückwärtsanpassung mit dem aktuellen Modellfehler |y-y0| verändert werden bis der Fehler minimal wird.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Analoge Künstliche Neuron
Die Neuronfunktion kann mit positiven und negativen Gewichten (Parametern) besetzt sein. Bei einem invertierenden Addierer sind die Gewichte aber immer positiv (bzw. durch die Negierung am Ausgang äquivalent negativ).
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Analoge Künstliche Neuron
Die Produktsummenberechnung mit invertierenden Addierer. Die Gewichte sind jeweils Verstärkungsfaktoren ki=R0/Rki
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Analoge Künstliche Neuron
Wir müssen also einen Differenzverstärker (Subtrahierer) verwenden um sowohl positive wir auch negative Gewichte nutzbar zu machen.
Für die negativen Gewichte kann man die Widerstände unabhängig berechnen
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Analoge Künstliche Neuron
Subtrahierer für Produktsummenberechnung
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Analoge Künstliche Neuron
Daher müssen wir auf den Instrumentenverstärker zurückgreifen der aus zwei invertierenden Addierern und einem (festen) Subtrahierer besteht. Hier können wir die positiven und negativen Gewichte unabhängig einstellen. Wichtig: Ein Gewicht k ist entweder an den negativen oder den positiven Zweig anzuschliessen!!
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Analoge Künstliche Neuron
Instrumentenverstärker für Produktsummen Berechnung
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Analoge Künstliche Neuron
Die analoge Implementierung eines Neurons eines AKNN mit drei OpAmp3 Stufen und einer weitern Schaltung für die sigmoid Aktivierungsfunktion.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Numerisches Training eines KNN
Ausgangslage:
Aber halt: Wir erhalten hiermit z.B. Gewichtungsparameter mit Werten über 100. Unser OpAmp3 hat aber nur einer Leerlaufverstärkung von ungefähr 100. Und numerische Werte als Ergebnis einer Produktsummeneberechnung können größer 10 sein! Die Kennlinie unseres OpAmp3 hat nur einen Aussteurungsbereich (deutlich) kleiner 10 V. Und die sigmoid Schaltung hat den Ausgangsspannungsbereich [0,3V]!
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Funktionsnetzwerk
Das Metamodell eines AANN (gerichteter Funktionsgraph) zur Klassifikation von Pflanzen anhand metrischer Parameter
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Numerisches Training eines KNN
Wir müssen das numerische Modell verbessern und wenigstens auf die Eigenschaften des idealen Operationsverstärkers begrenzen:
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Übertragung auf AKNN
Die Parameterwerte aus dem numerischen Training mit dem modifizierten KNN Modell müssen in Widerstandswerte umgerechnet werden.
Eingangsvariablen sind jetzt skalierte Spannungen im Bereich [0,1V].
Ausgangsspannung ist pro Klassifikationsneuron [0,3V].
Test des AKNN durch digitales Schnittstelle mit AD und DA Wandlern vom Computer aus (oder exemplarisch unabhängig mit einstellbaren Spannungsquellen).
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Übertragung auf AKNN
Einstellung der Parameter mit einstellbaren Widerständen. Sehr mühsam, nur proof of concept!
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Digitale Zwillinge
Bisher wurde ein doch sehr grobes numerisches Modell der Analogschaltung eines Neurons verwendet.
Bei diesem sehr einfachen OpAmp3 sind die Abweichungen vom idealen Operationsverstärker aber zu groß.
Die Abweichungen müssen erfasst werden durch:
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Das Bipolare Modell
Verbessertes Bipolares numerisches Modell (hier Ua(Ix)!!!, CCVS Modell) - Aufteilung der Eingänge, aber parallele Anschluss einer Eingangsvariable an pos. und neg. Zweig.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Training Reloaded
Bisher wurde eine analytische Funktion für die Neuronfunktion verwendet. Das Training benötigt den Gradienten dieser Funktion. Bei der analytischen Funktion einfach. Bei irgendeiner Funktion oder einem Ersatzmodell müssen wir auf numerische Differenzierung umsteigen (hey, kann analog sein!!)
Numerische Differenzierung des Neuronfunktion f und Anpassung der Gewichte über den aktuellen Fehler e des Modells.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Training Reloaded
Die Anpassung der Gewichte durch den Fehlergradienten funktioniert dann stabil und zielführend wenn die Funktion f und der Gradient der Funktion streng monoton sind. Das Ersatzmodell des digitalen Zwillings zeigt ebenso wie die analoge Schaltungen aber an den Rändern eine Umkehr der Steigung. Das führt zu hoher Instabilität des numerischen Trainings.
Noch eine wichtige Randbedingung: Die Parameter des Modells werden üblicherweise mit einer stochastischen Verteilungsfunktion (also randomisiert) initialisiert um eine Startbedingugn für dasd Minimierungsproblem unabhängig von den Daten zu erzielen.
Beobachtung bei nicht monotoner Funktion f: Hin und wieder konvergeiert das Training auf gute Ergebnisse, oft divergiert es.
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Training Reloaded
Brute Force kann jeder. Geht es besser?
Wir versuchten eine Pre-Training des Modells mit Simmulierter Abkühlung:
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Training Reloaded
function SA(data, params, num_steps=1000, noise=0.01, cooling=0.999) { initial_params=optimal_params=best_params=params; temp=1.0 new_loss = best_loss = loss(data,params) for(i=1,num_steps) { temp=temp*cooling new_params = params.map(p => p+gaussianRandom(0, noise)) new_loss = loss(data,new_params) if (new_loss < best_loss || random()*temp > best_loss/new_loss) { params = new_params if (new_loss < best_loss) { optimal_params = params; best_loss = new_loss } } }}Simmulierte Abkühlung zur Lösung von Minimierungsproblemen)#
Stefan Bosse - ADS - Modul H Softwareentwurf von Analogrechnern :: Workflow
Die Arbeitsabläufe als Hybrider Ansatz
Stefan Bosse - ADS - Modul H Der Workflow :: Workflow
Bosse, Proc. of the 7th International Conference on System-Integrated Intelligence (SysInt 2025)
Die Details der Einbindung des digitalen Zwillings (eines Teils) der Elektronikschaltung
Stefan Bosse - ADS - Modul H Der Workflow :: Live Demo: Der Demonstrator
Stefan Bosse - ADS - Modul H Der Workflow :: Die Ergebnisse
Stefan Bosse - ADS - Modul H Der Workflow :: Die Ergebnisse
Thermografiebild der Schaltung nach ca. 10 Minuten Betrieb