DE19731499A1 - Verfahren und Vorrichtung zur Auswahl von Termen höherer Ordnung für ein holographisches Neuronennetz - Google Patents
Verfahren und Vorrichtung zur Auswahl von Termen höherer Ordnung für ein holographisches NeuronennetzInfo
- Publication number
- DE19731499A1 DE19731499A1 DE19731499A DE19731499A DE19731499A1 DE 19731499 A1 DE19731499 A1 DE 19731499A1 DE 19731499 A DE19731499 A DE 19731499A DE 19731499 A DE19731499 A DE 19731499A DE 19731499 A1 DE19731499 A1 DE 19731499A1
- Authority
- DE
- Germany
- Prior art keywords
- stimulus
- vector
- vectors
- network
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physiology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
Die vorliegende Erfindung bezieht sich auf Neuronennetze und
insbesondere auf die Termauswahl bei holographischen und zu
sammenhängenden Neuronennetzen.
Bei einer Anstrengung, die Mängel von herkömmlichen Neu
ronennetzen zu überwinden, wurden holographische Neuronen
netze entwickelt. Holographische Neuronennetze umfassen zwei
Vektoren und eine Matrix, die alle komplexe Zahlen enthal
ten. Die zwei Vektoren umfassen den S oder Stimulusvektor
(mit der Länge n) und den R oder Reaktionsvektor (mit der
Länge m) Die Matrix ist die Matrix X (mit der Größe n × m),
die eine Abbildung von S auf R beschreibt. Diese Netze bie
ten einige Vorteile gegenüber herkömmlichen Neuronennetzen,
einschließlich dessen, daß dieselben einfacher zu trainieren
und wahrzunehmen sind. Zusätzlich sind holographische Neu
ronennetze gut zum Darstellen von wertkontinuierlichen Ab
bildungen geeignet, während herkömmliche Neuronennetze übli
cherweise strukturiert sind, um digitale Größen anzunähern.
Ungeachtet dieser relativen Vorteile sind holographische
Neuronennetze erster Ordnung bezüglich der Komplexität der
Abbildung, die codiert werden kann, begrenzt. Dies liegt da
ran, daß (1) die Matrix X eine endliche Kapazität aufweist,
um Codierungen zu enthalten, und daß (2) die Codierung nicht
die komplexen Wechselbeziehungen zwischen diskreten Kompo
nenten in dem Stimulusvektor darstellen kann.
Diese nachteiligen Aspekte werden jedoch durch das Bereit
stellen von Termen höherer Ordnung in dem Stimulusvektor
(wobei ein Term höherer Ordnung als ein Produkt von zwei
oder mehreren Anfangseingangstermen erster Ordnung definiert
ist) angegangen. Die Erzeugung von Termen höherer Ordnung
ermöglicht eine starke Erhöhung der Größe und daher der
Codierungskapazität der Netzmatrix. Beispielsweise können
aus 10 verschiedenen Termen erster Ordnung 55 verschiedene
Termen zweiter Ordnung und 220 Terme dritter Ordnung erzeugt
werden. Terme höherer Ordnung stellen ferner Wechselwir
kungen zwischen diskreten Komponenten erster Ordnung des
Stimulusvektors dar, was es ermöglicht, daß das hologra
phische Neuronennetz derartige Wechselwirkungen auf eine Art
und Weise darstellt, die ähnlich zu der der herkömmlichen
Neuronennetze ist. Schließlich weisen Terme höherer Ordnung
die Tendenz auf, daß dieselben durch den Phasenraum gleich
mäßiger verteilt sind als Terme erster Ordnung, und dies er
höht ferner die Codierungskapazität.
Durch die Verfügbarkeit von Termen höherer Ordnung wird der
Entwurf eines holographischen Neuronennetzes auf die Auswahl
gerichtet, welche Terme höherer Ordnung in dem Stimulusvek
tor umfaßt werden. Diese Auswahl kann extrem schwierig sein,
und dieselbe ist eine wesentliche Entwurfsherausforderung
bei der Schaffung von nützlichen holographischen Neuronen
netzen.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
Verfahren und eine elektronische Vorrichtung zum Auswählen
von optimalen Termen zum Einschluß in den Stimulusvektor
eines holographischen Neuronennetzes zu schaffen, wobei das
Verfahren einen Algorithmus eines evolutionären Typs ent
hält.
Diese Aufgabe wird durch ein Verfahren zum Auswählen von
Termen gemäß Anspruch 1 gelöst.
Diese und andere Ziele der vorliegenden Erfindung werden
durch das Verfahren und durch die Vorrichtung zum Auswählen
von Termen zur Anwendung in einem holographischen Neuronen
netz hierin offenbart.
Bei einem Ausführungsbeispiel der vorliegenden Erfindung ist
ein Verfahren offenbart, das die Schritte des Schaffens ei
ner Mehrzahl von Stimulusvektoren, wobei jeder Stimulus
vektor mindestens einen Term höherer Ordnung aufweist; das
Auswerten der Mehrzahl von Stimulusvektoren, um ein rela
tives Passen zu bestimmen; das Auswählen eines Teilsatzes
der Mehrzahl von Stimulusvektoren basierend auf dem rela
tiven Passen derselben; das Modifizieren des Inhalts von
mindestens einem der Stimulusvektoren in dem Teilsatz; und
das Auswählen eines Endstimulusvektors aus dem modifizierten
Teilsatz umfaßt. Dieses Verfahren kann ferner den Schritt
des Modellierens jedes Stimulusvektors als ein Chromosom
umfassen, das eine Mehrzahl von Genen enthält, die einzeln
auf einen Term in einem entsprechenden Stimulusvektor zei
gen. Der Teilsatz-auswählende Schritt kann die Schritte des
Löschens des am wenigsten passenden Stimulusvektors der
Mehrzahl von Stimulusvektoren und das Duplizieren eines am
besten passenden Stimulusvektors der Mehrzahl der Stimu
lusvektoren umfassen. Der modifizierende Schritt kann die
Schritte des Tauschens der Gene zwischen zwei Chromosomen
oder des Ersetzens von Genen in einem Chromosom durch neue
Gene umfassen.
Bei einem weiteren Ausführungsbeispiel der vorliegenden Er
findung ist ein Verfahren zum Bilden eines holographischen
Neuronennetzes offenbart. Dieses Verfahren weist einige oder
alle der oben erwähnten Schritte auf, und dasselbe umfaßt
ferner die Bereitstellung von Eingangsdaten erster Ordnung
und die Bildung einer Matrix X, mit der der Stimulusvektor
multipliziert wird, um einen Reaktionsausgangsvektor zu er
zeugen.
Bei noch einem weiteren Ausführungsbeispiel der vorliegenden
Erfindung ist eine Vorrichtung offenbart, die einen Stimu
lusvektortermauswahlalgorithmus ausführt. Diese Vorrichtung
kann einen Prozessor, Speicher, eine Einrichtung zum Emp
fangen von Stimulusvektoreingangsdaten und eine Einrichtung
zum Erzeugen und zum Ausgeben eines Reaktionsvektorausgangs
signals umfassen.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen näher erläutert. Es zeigen:
Fig. 1 ein Diagramm eines holographischen Neuronennetzes,
das die Termauswahl gemäß der vorliegenden Erfin
dung enthält; und
Fig. 2 ein Blockdiagramm der Beziehung zwischen einem
Chromosom und einem Stimulusvektor gemäß der vor
liegenden Erfindung; und
Fig. 3 ein Blockdiagramm eines elektronischen Geräts zum
Ausführen des Verfahrens gemäß der vorliegenden Er
findung.
Bezugnehmend auf Fig. 1 ist ein Blockdiagramm eines hologra
phischen Neuronennetzes gezeigt. Die Eingangsterme erster
Ordnung werden in einem eindimensionalen Array 10 (im fol
genden als Array erster Ordnung 10 bezeichnet) bereitge
stellt, und jeder Term ist durch einen sequentiellen Index
1-j spezifiziert, wobei j = Anzahl der Terme erster Ordnung
ist. Die Eingangsterme erster Ordnung sind vorverarbeitete
Datenpunkte, aus denen das holographische Netz versucht,
eine Struktur zu erkennen. Die Struktur kann sich auf jedes
einer Anzahl von Gebieten beziehen, die die Wettervorher
sage, die Börsenkurs- und Zinssatzvorhersage, die Gesichts
erkennung, die Stimmenerkennung, die Röntgenstrahlanalyse
und Computeranwenderschnittstellen etc. umfassen. Ein Ver
fahren der vorliegenden Erfindung, das durch die Bezugs
ziffer 20 dargestellt ist, wirkt auf ein Array 10 um Terme
höherer Ordnung für einen Stimulusvektor 60 eines holo
graphischen Neuronennetzes 70 zu schaffen. Der Stimulus
vektor 60 wird mit der Matrix X 80 multipliziert, was be
kannterweise einen Reaktionsvektor 90 erzeugt. Der Stimulus
vektor, die Matrix X und der Reaktionsvektor bilden das
holographische Neuronennetz.
Die vorliegende Erfindung verwendet einen Algorithmus eines
evolutionären Typs zur Auswahl von Termen höherer Ordnung
aus einem Array erster Ordnung 10. Potentielle Lösungen (po
tentielle Kombinationen von Termen höherer Ordnung) werden
vorzugsweise als Chromosomen modelliert, die aus Genen (aus
gewählte Terme höherer Ordnung) bestehen, die Teile der
Lösung beschreiben. Eine Übereinstimmung wird zwischen den
Chromosomen (auf die als Genotyp Bezug genommen werden kann)
und der Lösung (auf die als Phenotyp Bezug genommen werden
kann), die durch die Chromosomen dargestellt wird, einge
richtet. Eine Paßfunktion zum Auswerten des Phenotyps und
ein Verfahren zum Auswählen von Eltern, basierend auf dem
Passen, werden geschaffen. Zusätzlich werden Techniken zur
Chromosomenpaarung, -mutation und -fortpflanzung definiert.
Eine problemorientierte Beschreibung eines bevorzugten Aus
führungsbeispiels des evolutionären Optimierungsprozesses
der vorliegenden Erfindung sieht wie folgt aus:
Erzeugen einer Anfangspopulation von N zufälligen Chro mosomen, die N mögliche Lösungen darstellen.
Initialisieren des Beste_Lösung-Chromosoms auf einen un gültigen Wert.
Schleife {
Auswerten jedes Chromosoms in der Population bezüglich des Passens; wenn ein Chromosom besser paßt als das ak tuelle Beste_Lösung-Chromosom oder, wenn das aktuelle Beste_Lösung-Chromosom ungültig ist, Kopieren desselben zu dem Beste_Lösung-Chromosom.
Auswählen eines Pools von N Chromosomen zur Fortpflan zung gemäß dem Passen; Darstellen der am besten pas senden Chromosomen mehr als einmal in dem Pool, d. h., Duplizieren der am besten passenden Chromosomen, und Nicht-Darstellen der am wenigsten passenden Chromosomen, d. h., Entfernen der am wenigsten passenden Chromosomen.
Zufälliges Auswählen von P Paaren von Chromosomen aus dem Pool zur Überkreuzung oder "Crossover" (Paarung) aus. Für jedes Paar, Erzeugen von zwei neuen Chromosomen durch Anlegen eines Überkreuzungsoperators.
Für jedes der verbleibenden N-2P Chromosomen in dem Pool, Modifizieren eines vordefinierten Prozentsatzes der Chromosomen und der Gene, die darin enthalten sind, durch Anlegen eines Mutationsoperators.
Definieren der neuen Population als die N Chromosomen, die durch den obigen Überkreuzungsschritt und den Muta tionsschritt erzeugt werden.
}
Erzeugen einer Anfangspopulation von N zufälligen Chro mosomen, die N mögliche Lösungen darstellen.
Initialisieren des Beste_Lösung-Chromosoms auf einen un gültigen Wert.
Schleife {
Auswerten jedes Chromosoms in der Population bezüglich des Passens; wenn ein Chromosom besser paßt als das ak tuelle Beste_Lösung-Chromosom oder, wenn das aktuelle Beste_Lösung-Chromosom ungültig ist, Kopieren desselben zu dem Beste_Lösung-Chromosom.
Auswählen eines Pools von N Chromosomen zur Fortpflan zung gemäß dem Passen; Darstellen der am besten pas senden Chromosomen mehr als einmal in dem Pool, d. h., Duplizieren der am besten passenden Chromosomen, und Nicht-Darstellen der am wenigsten passenden Chromosomen, d. h., Entfernen der am wenigsten passenden Chromosomen.
Zufälliges Auswählen von P Paaren von Chromosomen aus dem Pool zur Überkreuzung oder "Crossover" (Paarung) aus. Für jedes Paar, Erzeugen von zwei neuen Chromosomen durch Anlegen eines Überkreuzungsoperators.
Für jedes der verbleibenden N-2P Chromosomen in dem Pool, Modifizieren eines vordefinierten Prozentsatzes der Chromosomen und der Gene, die darin enthalten sind, durch Anlegen eines Mutationsoperators.
Definieren der neuen Population als die N Chromosomen, die durch den obigen Überkreuzungsschritt und den Muta tionsschritt erzeugt werden.
}
Die drei anwenderspezifizierten Parameter in der obigen Be
schreibung sind die Populationsgröße N, die Anzahl der Chro
mosomenpaare P, die für die Überkreuzung ausgewählt werden
sollen, und der Prozentsatz der Chromosomen und der Gene,
die darin enthalten sind, um zu mutieren. Der Wert von N
wird abhängig von der Anwendung sehr weit variieren, und
derselbe ist vorzugsweise groß genug, um eine Aufrechterhal
tung der Verschiedenheit zu fördern. Ein Entwickler/Anwender
kann N durch Ausprobieren basierend auf Verhaltensmessungen
auswählen. P und der Mutationsprozentsatz werden auf eine
Art und Weise variieren, die ähnlich zu N ist. Das obige
Verfahren ist vorzugsweise konfiguriert, um ständig die
beste aktuelle Lösung zu suchen, und um bei einer anwender
spezifizierten Bedingung (wie z. B. dem Überschreiten eines
Lösungsqualitäts- oder Berechnungszeit-Schwellenwerts) abzu
brechen. Aspekte des Stimulusvektoroptimierungsverfahrens
werden nun detaillierter erörtert.
Bezugnehmend auf Fig. 2 ist ein Blockdiagramm der Beziehung
zwischen einem Chromosom und einem Stimulusvektor gemäß der
vorliegenden Erfindung gezeigt.
Eine Funktion 30 (die im folgenden erörtert wird), die Term
indizes höherer Ordnung erzeugt, wirkt auf den Array erster
Ordnung 10. Diese Funktion 30 kombiniert Indizes von Termen
erster Ordnung in dem Array 10 auf eine vordefinierte Art
und Weise, um Indizes von Termen in einer anwenderspezifi
zierten Ordnung k zu schaffen, was durch den Block 25 dar
gestellt ist. Um beispielsweise einen Termindex zweiter Ord
nung zu bilden, kann die Funktion 30 die Indizes der Terme
erster Ordnung 2 und 17 kombinieren. Bei einem Term dritter
Ordnung können die Indizes der Terme erster Ordnung 2, 17
und 32 durch die Funktion 30 kombiniert werden. Somit bildet
die Funktion 30 wirkungsvoll einen virtuellen Pool von Term
indizes k-ter Ordnung, in den eingetaucht werden kann, wenn
ein neuer Termindex, wie z. B. bei der Chromosomenbildung,
dem Duplikatersetzungsschritt des Überkreuzungsoperators
oder während der Mutation benötigt wird (wie es im folgenden
erörtert ist).
Ein Chromosomenbildungsalgorithmus (der im folgenden erör
tert ist) bildet ein Chromosom 40, das jedes der Chromosomen
der N Chromosomen, die hierin beschrieben sind, darstellt.
Das Chromosom 40 umfaßt eine Mehrzahl von L Genen 45.0 bis
45.L-1, und jedes Gen enthält eine ganze Zahl, die eindeutig
einen Term höherer Ordnung indiziert, der durch die Funktion
30 geschaffen wurde. Der Term höherer Ordnung, auf den ein
Gen in dem Chromosom 40 zeigt, ist vorzugsweise in einer
entsprechenden Position in dem Stimulusvektor 70 vorgesehen.
Die Terme in dem Stimulusvektor 70 sind mit 70.0 bis 70.L-1
bezeichnet.
Nimmt man an, daß j Stimulusterme erster Ordnung vorliegen,
so wird die Anzahl der möglichen eindeutigen Terme k-ter
Ordnung (im folgenden als k_Terme bezeichnet) durch die
Gleichung k_Terme = (j+k-1)!/k!(j-1)!, wobei k = Termordnung
ist, geliefert. Durch Aufzählen der möglichen eindeutigen
Produkte kann ein Gen einen Term k-ter Ordnung als eine gan
ze Zahl in dem Bereich von 0 bis k_Terme darstellen. Das
folgende C++-Codefragment stellt ein iteratives Verfahren
der Funktion 30 zum Erzeugen des Terms k-ter Ordnung für die
Gennummer q (wobei q ε [0,k_Terme-1]) des komplexen Arrays
10 mit der Länge j, das die Terme erster Ordnung enthält,
dar. Dieses iterative Verfahren wird für jedes Gen 45 in dem
Chromosom 40 aufgerufen.
Das Chromosom 40 ist vorzugsweise als ein eindimensionales
Array (womit das biologische Analogon desselben modelliert
wird) konfiguriert, obwohl man an andere Anordnungen, wie z. B.
einem zweidimensionalen Array, denken kann. Die Länge des
Chromosoms 40 wird durch einen Anwender spezifiziert, und
dieselbe ist abhängig von der gewünschten Kapazität des
holographischen Netzes. Diese Abhängigkeit kommt daher, weil
die Länge des Chromosoms die Länge des Stimulusvektors be
stimmt, was seinerseits die Kapazität des Netzes bestimmt.
Allgemeine Kriterien für die Chromosomenlängenbestimmung um
fassen, daß der resultierende Stimulusvektor nicht zu kurz
sein sollte, so daß sich das Netz sättigt, und derselbe
nicht zu lang sein sollte, so daß das resultierende Netz
sich nicht gut verallgemeinert. Techniken zur Stimulusvek
torlängenauswahl sind in der Technik bekannt.
Es sei bemerkt, daß die Länge des Chromosoms 40 eine ein
heitliche, nicht einheitliche, feste oder variierende Länge
sein kann. Es sollte ferner angemerkt werden, daß die Chro
mosomen Terme variierender Ordnung (einschließlich Terme
erster Ordnung) oder identischer Ordnung enthalten können.
Eine problemorientierte Beschreibung der Erzeugung eines An
fangschromosoms sieht allgemein wie folgt aus:
Unter Verwendung der Funktion 30, zufälliges Erzeugen von L Termen und Zuweisen von jedem derselben zu einer von L Genpositionen in dem Chromosom 40.
Unter Verwendung der Funktion 30, zufälliges Erzeugen von L Termen und Zuweisen von jedem derselben zu einer von L Genpositionen in dem Chromosom 40.
Dieser Schritt erzeugt ein Chromosom, das Indizes in jeder
Kombination von Termen (jede mögliche Lösung) codieren kann.
Um ein besseres Verstehen der Chromsomenzusammensetzung zu
erleichtern, ist das folgende Beispiel vorgesehen. Bei gege
benen j = 200 Eingaben erster Ordnung und einem Chromosom,
das gänzlich Terme zweiter Ordnung (k = 2) indiziert, ist
die Anzahl, k_Terme genannt, der eindeutigen Terme höherer
Ordnung, zu denen die Funktion 30 Indizes erzeugen kann,
(j+k-1)!/k!(j-1)! = (200+2-1)!/2!(200-1)! = 201!/2!199! =
200 × 201/2 = 20100. Wenn die gewünschte Chromosomenlänge
L=50 ist, dann wählt der vorhergehende Schritt zufällig 50
der 20100 k_Terme Indizes aus, um eine Anfangskonfiguration
eines Chromosoms zu bilden.
Dieser Bildungsprozeß wird N mal wiederholt, um die N An
fangschromosomen zu bilden.
Sobald ein Chromosom 40 aufgebaut wurde, muß festgestellt
werden, ob die Stimulusvektorkomponenten, die darin codiert
sind, gut geeignet sind, um ein holographisches Neuronennetz
aufzubauen, das genau die Stimulusreaktionsabbildung co
diert. Ferner muß bestimmt werden, welcher der Pools von N
Chromosomen sich am besten verhält. Diese Bestimmung wird
vorzugsweise unter Verwendung von zwei Sätzen von Stimulus- und
Reaktionsdaten durchgeführt, bei denen ein erwarteter
Reaktionsvektor für die entsprechenden Stimuluseingangsdaten
bekannt ist. Auf jeden Stimuluseingangsdatenvektor und den
entsprechenden Reaktionsvektor wird als ein Stimulus-Reak
tions-Vektorpaar in der folgenden Erörterung Bezug genommen.
Die zwei Datensätze sind der Trainingssatz und der Optimie
rungssatz. Ein Anwender codiert das Netz mit der Mehrzahl
von Stimulus-Reaktions-Vektorpaaren in dem Trainingssatz,
und derselbe untersucht dann, wie gut das resultierende Netz
sich mit dem Optimierungssatz generalisiert. Die beobachtete
Generalisierungsfähigkeit ist das Maß des Passens.
Das Codieren wird wie folgt erreicht. Die Stimuluseingangs
daten werden verarbeitet, um die Terme, die durch das gete
stete Chromosom spezifiziert sind, zu bilden. Der entspre
chende Stimulusvektor wird mit der Matrix X multipliziert,
um einen Reaktionsvektor zu erzeugen, und der Wert dieses
Reaktionsvektors wird von seinem zu erwartenden Wert abgezo
gen, um einen Differenzwert zu erzeugen. Die Matrix X, die
einen Anfangswert von 0 aufweist, wird dann basierend auf
dem Differenzwert eingestellt, derart, daß folgende Multi
plikationen des betreffenden Stimulusvektors mit der Matrix
X näherungsweise den erwarteten Reaktionsvektor oder einen
zugeordneten Wert erzeugen. Das Codieren ist in der Technik
bekannt, und der Codierungsprozeß wird für jedes Stimulus-
Reaktion-Vektorpaar in dem Trainingssatz ausgeführt.
Der Optimierungssatz ist ähnlich dem Trainingssatz dahinge
hend, daß derselbe eine Mehrzahl von bekannten Stimulus-Re
aktions-Vektorpaaren umfaßt. Der Optimierungssatz wird je
doch nicht dazu verwendet, um das Netz zu trainieren, son
dern um zu testen, wie gut sich die Matrix verallgemeinert.
Der erzeugte Reaktionsvektor (der "Erinnerungsreaktion" ge
nannt wird) wird mit seinem erwarteten Wert verglichen, und
der Betrag der Differenz wird gespeichert. Die Differenz von
folgenden Optimierungssatz -Stimulus-Reaktions-Vektorpaaren
wird zu dem vorher gespeicherten Wert addiert, um eine End
differenz oder ein "Summenfehler"-Signal zu erreichen. Die
ses Signal kann mit ähnlichen Signalen von anderen Chromoso
menanordnungen verglichen werden, um das relative Passen zu
bestimmen.
Der Summenfehler charakterisiert die Fähigkeit des Netzes,
sich an den Optimierungssatz zu generalisieren. Das Ver
fahren zum Berechnen der Fehlermaße, die den Summenfehler
bilden, liegt im Ermessen des Anwenders, liegt jedoch im
allgemeinen innerhalb bekannter Kriterien. Beispielsweise
kann das Maß einfach der Betrag der Differenz zwischen zwei
komplexen Vektoren (der Erinnerungsreaktion und der erwarte
ten Reaktion) sein, obwohl dieses Maß das Risiko mit sich
bringt, daß ein Fehler in einem Term des komplexen Reak
tionsvektors nicht annähernd so wesentlich sein könnte, wie
ein großer Fehler in einem anderen Term. Der Anwender kann
ein bedeutungsvolleres Fehlermaß durch Nachbearbeiten der
zwei Ausgänge und Berechnen eines Fehlerterms basierend auf
der Genauigkeit der nachverarbeiteten Reaktion erhalten.
Der Summenfehler zeigt das Passen eines Netzes an, das einen
betreffenden Stimulusvektor enthält. Nachdem ein Summenfeh
ler für jedes der N Chromosomen erzeugt wurde, werden die
Gesamtsummenfehler in der Rangfolge geordnet. Es werden
eines oder mehrere Chromosomen mit dem am wenigsten vorzu
ziehenden Summenfehlerwerten entfernt, während eines oder
mehrere Chromosomen mit den günstigsten Summenfehlerwerten
dupliziert werden. Chromosomen mit sehr günstigen Summen
fehlerwerten können mehr als einmal dupliziert werden. Chro
mosomen werden entfernt und dupliziert, derart, daß eine
neue angereicherte Gruppe von N Chromosomen erreicht wird.
Sobald die angereicherte Gruppe von N Chromosomen einge
richtet ist, ist es wünschenswert, neue Kombinationen oder
neue Materialien in diese Chromosomen einzuführen, um zu
sehen, ob das Verhalten verbessert werden kann. Somit wird
die Zusammensetzung der N Chromosomen vor einer folgenden
Auswertung modifiziert. Bei einem bevorzugten Ausführungs
beispiel wird diese Modifikation durch einen Überkreuzungs
operator und einen Mutationsoperator, wie es im folgenden
beschrieben ist, vorgesehen. Das vor der Modifikation am
besten passende Chromosom wird vorzugsweise gesichert und
mit dem Chromosom nach der Modifikation verglichen, um
sicherzustellen, daß die Modifikationen nicht das Verhalten
verschlechtert haben.
Die vorliegende Erfindung stellt einen Überkreuzungsoperator
und einen Mutationsoperator bereit. Obwohl bei diesem vor
liegenden Ausführungsbeispiel diese Operatoren auf Chromo
somen mit fester Länge angewendet werden können, die Terme
mit gleicher Ordnung enthalten, ist es offensichtlich, daß
die Operatoren so konfiguriert werden könnten, daß dieselben
auf Chromosomen mit variabler Länge oder auf Terme mit ge
mischter Ordnung durch einen Fachmann, dem die hierin er
wähnten Lehren vermittelt wurden, angewendet werden könnten.
Der Überkreuzungsoperator funktioniert vorzugsweise wie
folgt. P Paare von N Chromosomen, die Eltern genannt werden,
werden zur Fortpflanzung ausgewählt. Für jedes Elternpaar
werden die folgenden Schritte durchgeführt: (1) ein Über
kreuzungspunkt wird zufällig ausgewählt, (2) es werden Gene
nach dem Überkreuzungspunkt vertauscht und (3) doppelte Gene
werden durch zufällig durch die Funktion 30 erzeugte Gene
ersetzt.
Unter Bezugnahme auf den Mutationsoperator spezifiziert ein
Anwender einen Prozentsatz der verbleibenden Chromosomen,
die zu modifizieren sind. Allgemeine Kriterien zur Auswahl
dieses Prozentsatzes umfassen, daß die resultierende Muta
tion ausreichend genug sein sollte, um eine meßbare Änderung
zu erreichen, während dieselbe nicht zu groß sein sollte, so
daß dieselbe eine Instabilität bewirkt. Empirische Beweise
haben gezeigt, daß das Auswählen von fünf Prozent des N
großen Chromosomenpools zur Mutation, und das Mutieren von
fünf Prozent der Gene innerhalb des ausgewählten Chromoso
menpools dieses Ziel erreicht, obwohl der fünf Prozent Stan
dard abhängig von der Anwendung variieren kann. Es ist fer
ner offensichtlich, daß zur Verbesserung der Verschiedenheit
der Lösungen das Produkt der Überkreuzungsoperationen mu
tiert werden kann.
Eine problemorientierte Beschreibung des Mutationsprozesses
umfaßt die folgenden Schritte:
Auswählen eines vordefinierten Prozentsatzes der N-2P Chromosomen zur Mutation.
Zufälliges Entfernen eines vordefinierten Prozentsatzes der Gene in den ausgewählten Chromosomen.
Ersetzen jedes entfernten Gens durch ein zufällig er zeugtes Gen (aus Funktion 30).
Auswählen eines vordefinierten Prozentsatzes der N-2P Chromosomen zur Mutation.
Zufälliges Entfernen eines vordefinierten Prozentsatzes der Gene in den ausgewählten Chromosomen.
Ersetzen jedes entfernten Gens durch ein zufällig er zeugtes Gen (aus Funktion 30).
Obwohl die vorliegende Erfindung vorzugsweise sowohl einen
Überkreuzungs- als auch einen Mutationsoperator umfaßt, kann
die Erfindung mit lediglich einem dieser Operatoren mit oder
ohne zusätzliche Verschiedenheitsgeneratoren umgesetzt wer
den. Obwohl ein Überkreuzungs- und ein Mutationsoperator be
schrieben wurden, ist es offensichtlich, daß andere Verfah
ren zum Erzeugen der Verschiedenheit und der Fortpflanzung
ebenfalls innerhalb der vorliegenden Erfindung liegen.
Die Auswertungsschritte, die oben erörtert wurden, (d. h.
der Trainingssatz und der Optimierungssatz) werden für diese
modifizierte Gruppe von Chromosomen (einschließlich der vor
her besten Chromosomen) wiederholt, um das relative Passen
zu bestimmen. Wenn ein Ereignis zur Beendigung des Stimulus
vektorentwicklungsprozesses (dem genetischen Algorithmus)
aufgetreten ist, wird das am besten passende Chromosom zum
Definieren des Stimulusvektors des holographischen Neuronen
endnetzes ausgewählt. Wenn eine Beendigung nicht angefordert
wird, werden die sequentiellen Auswahl-, Modifizierungs- und
Auswertungsschritte fortgefahren.
Der genetische Algorithmus wird, basierend auf einigen an
wenderspezifischen Kriterien, beendet. Mögliche Kriterien
umfassen neben anderen Kriterien die Berechnungszeit, das
Überschreiten eines gewissen Paßpegels durch eine beste
Lösung und die Konvergenz (d. h. die beste Lösung wird bei
weiteren Erzeugungen nicht verbessert). Das Resultat des
Algorithmusses ist ein Chromosom, das den optimalen Stimu
lusvektor höherer Ordnung zum Aufbau eines verwertbaren
holographischen Neuronennetzes darstellt.
Um das holographische Endnetz zu schaffen, ruft der Anwender
eine Codierungs- und Optimierungsprozedur auf, die abbricht,
wenn das Maß der Generalisierung sich verschlechtert. Diese
Codierungs- und Optimierungsprozedur funktioniert vorzugs
weise wie folgt. Es wird ein holographisches Neuronennetz
eingerichtet, das den ausgewählten Stimulusvektor und eine
Null-Matrix X umfaßt. Dieses Netz wird vorzugsweise mit den
gleichen Sätzen von Stimulus-Reaktions-Vektorpaaren und Op
timierungs-Stimulus-Reaktions-Vektorpaaren trainiert und ge
testet, die in der Paßmeßprozedur verwendet werden, die oben
beschrieben wurde. Es wird dementsprechend ein Summenfehler
erzeugt. Das Netz wird dann mit den gleichen Vektor-Reakti
ons-Paaren neu trainiert, und neu getestet, um einen neuen
Summenfehlerwert zu erzeugen. Empirische Beweise zeigen, daß
ein iteratives Neutrainieren des Netzes mit dem gleichen
Trainingssatz die Verallgemeinerung bis zu einer gewissen
Anzahl von Neutrainings verbessert, wonach sich die Genera
lisierung abbaut. Daher werden die Prozesse des sequentiel
len Neutrainierens und Neutestens vorzugsweise solange fort
gefahren, bis der folgende Summenfehler größer als der Feh
ler des vorhergehenden Netzes ist. An diesem Punkt wird das
vorhergehende Netz (das den besseren Summenfehler aufwies)
wieder hergestellt, und als das holographische Neuronen
endnetz implementiert.
Bezugnehmend auf Fig. 3 ist ein Blockdiagramm eines elektro
nischen Geräts 110 zum Ausführen des Verfahrens, das oben
beschrieben ist, gezeigt. Das Gerät kann viele Formen, ein
schließlich eines Computers, eines Personalkommunikators,
einer elektronischen Steuerung zur Anwendung zu Hause, im
Auto oder anderswo etc. annehmen. Das Gerät umfaßt vorzugs
weise eine verarbeitende Einheit 120 und einen Speicher 130
zum Ausführen der oben beschriebenen Schritte in einer ma
schinenausführbaren Form. Bei den hierin angegebenen Lehren
ist das Schreiben eines Programms, z. B. in C++, um diese
Schritte zu erreichen, Fachleuten offensichtlich.
Eingabedaten für das Array 10 werden vorzugsweise über eine
Dateneingabe 140 bereitgestellt, die einen Sensor, einen
Scanner, eine Tastatur, ein Modem/einen Adapter zum Herun
terladen von Daten oder andere Werkzeuge zum Empfangen von
Eingabedaten für holographische Neuronennetze umfassen kann.
Ein Ausgabegerät 150 liefert vorzugsweise die Reaktions
vektordaten in einem anwendererkennbaren Format. Das Aus
gabegerät 150 kann einen Monitor, ein Herstellungsgerät,
einen Lautsprecher, einen Signalgenerator oder andere Geräte
zum Kommunizieren der Ausgabe eines holographischen Neu
ronennetzes umfassen.
Claims (10)
1. Verfahren zum Auswählen von Termen zur Verwendung in
einem holographischen Neuronennetz (70), mit folgenden
maschinenausführbaren Schritten:
Schaffen einer Mehrzahl von Stimulusvektoren (60), wo bei jeder Stimulusvektor mindestens einen Term höherer Ordnung aufweist;
Auswerten der Mehrzahl der Stimulusvektoren (60), um ein relatives Passen jedes der Stimulusvektoren zu be stimmen;
Auswählen eines Teilsatzes der Mehrzahl von Stimulus vektoren (60) basierend auf dem relativen Passen der selben;
Modifizieren des Inhalts von mindestens einem der Sti mulusvektoren (60) in dem Teilsatz; und
Auswählen eines Endstimulusvektors (60) aus dem modifi zierten Teilsatz.
Schaffen einer Mehrzahl von Stimulusvektoren (60), wo bei jeder Stimulusvektor mindestens einen Term höherer Ordnung aufweist;
Auswerten der Mehrzahl der Stimulusvektoren (60), um ein relatives Passen jedes der Stimulusvektoren zu be stimmen;
Auswählen eines Teilsatzes der Mehrzahl von Stimulus vektoren (60) basierend auf dem relativen Passen der selben;
Modifizieren des Inhalts von mindestens einem der Sti mulusvektoren (60) in dem Teilsatz; und
Auswählen eines Endstimulusvektors (60) aus dem modifi zierten Teilsatz.
2. Verfahren gemäß Anspruch 1, bei dem der schaffende
Schritt folgenden Schritt aufweist:
Erzeugen einer Mehrzahl von Chromosomen (40), wobei je
des Chromosom einen der Mehrzahl von Stimulusvektoren
(60) darstellt, wobei jedes Chromosom eine Mehrzahl von
Genen (45) enthält, wobei jedes Gen einen Term in einem
entsprechenden Stimulusvektor anzeigt.
3. Verfahren gemäß Anspruch 1 oder 2, bei dem der Teil
satzauswahlschritt folgende Schritte aufweist:
Löschen des am wenigsten passenden Stimulusvektors der Mehrzahl von Stimulusvektoren; und
Duplizieren eines am besten passenden Stimulusvektors der Mehrzahl von Stimulusvektoren.
Löschen des am wenigsten passenden Stimulusvektors der Mehrzahl von Stimulusvektoren; und
Duplizieren eines am besten passenden Stimulusvektors der Mehrzahl von Stimulusvektoren.
4. Verfahren gemäß Anspruch 1, 2 oder 3, bei dem der Modi
fizierungsschritt folgenden Schritt aufweist:
Tauschen von Abschnitten von zwei Stimulusvektoren (60)
in dem Teilsatz.
5. Verfahren gemäß Anspruch 1, 2 oder 3, bei dem der Modi
fizierungsschritt folgenden Schritt aufweist:
Ersetzen eines vordefinierten Prozentsatzes von Termen
in einem Stimulusvektor (60) in dem Teilsatz durch ei
nen neuen Term.
6. Verfahren gemäß Anspruch 2 oder 3, bei dem der Modifi
zierungsschritt den Schritt des Ersetzens eines Gens
(45) in mindestens einem der Chromosomen (40) aufweist.
7. Verfahren gemäß einem der vorhergehenden Ansprüche, das
ferner folgende Schritte aufweist:
Mehrmaliges sequentielles Wiederholen der Auswertungs-,
Teilsatzauswahl- und Modifizierungsschritte, wobei
jeder folgende Auswertungsschritt auf den modifizierten
Teilsatz wirkt, der in dem vorhergehenden Durchlauf
durch diese drei Schritte erzeugt wurde.
8. Verfahren gemäß Anspruch 7, bei dem der Endstimulusvek
torauswahlschritt folgende Schritte aufweist:
Anhalten der sequentiell sich wiederholenden Auswer tungs-, Teilsatzauswahl- und Modifizierungsschritte beim Auftreten eines vordefinierten Ereignisses; und
Auswählen eines Stimulusvektors (60), der das beste re lative Passen aus dem letzten modifizierten Teilsatz von Stimulusvektoren aufweist.
Anhalten der sequentiell sich wiederholenden Auswer tungs-, Teilsatzauswahl- und Modifizierungsschritte beim Auftreten eines vordefinierten Ereignisses; und
Auswählen eines Stimulusvektors (60), der das beste re lative Passen aus dem letzten modifizierten Teilsatz von Stimulusvektoren aufweist.
9. Verfahren gemäß einem der vorhergehenden Ansprüche, bei
dem der Schritt des Auswählens eines Endstimulusvektors
folgende Schritte aufweist:
Trainieren eines holographischen Neuronennetzes (70) für mindestens zwei der Mehrzahl von Stimulusvektoren in dem modifizierten Teilsatz mit bekannten Stimulus- und Reaktionsdaten;
Erzeugen eines Werts für jeden der mindestens zwei Sti mulusvektoren, der anzeigt, wie gut sich dieselben an bekannte Stimulus- und Reaktionsdaten generalisieren; und
Auswählen des einen, sich besser generalisierenden Sti mulusvektors der zwei Stimulusvektoren (60) als Endsti mulusvektor.
Trainieren eines holographischen Neuronennetzes (70) für mindestens zwei der Mehrzahl von Stimulusvektoren in dem modifizierten Teilsatz mit bekannten Stimulus- und Reaktionsdaten;
Erzeugen eines Werts für jeden der mindestens zwei Sti mulusvektoren, der anzeigt, wie gut sich dieselben an bekannte Stimulus- und Reaktionsdaten generalisieren; und
Auswählen des einen, sich besser generalisierenden Sti mulusvektors der zwei Stimulusvektoren (60) als Endsti mulusvektor.
10. Verfahren gemäß Anspruch 9, das ferner den Schritt des
Erzeugens eines holographischen Endnetzes aufweist:
Trainieren eines holographischen Neuronennetzes (70) das den besser generalisierenden Stimulusvektor (60) enthält, mit einem ersten Satz von bekannten Stimulus- und Reaktionsdaten;
Erzeugen eines Optimierungswerts für das Netz, das mit dem ersten Satz trainiert wurde;
Trainieren eines holographischen Neuronennetzes (70), das den besser generalisierenden Stimulusvektor (60) enthält, mit einem zweiten Satz von bekannten Stimulus- und Reaktionsdaten;
Erzeugen eines Optimierungswerts für das Netz, das mit dem zweiten Satz trainiert wurde; und
Auswählen des Netzes, das mit dem ersten Satz trainiert wurde, als das holographische Neuronenendnetz, wenn der Optimierungswert für den zweiten Satz eine schlechtere Generalisierung anzeigt als der Optimierungswert für den ersten Satz.
Trainieren eines holographischen Neuronennetzes (70) das den besser generalisierenden Stimulusvektor (60) enthält, mit einem ersten Satz von bekannten Stimulus- und Reaktionsdaten;
Erzeugen eines Optimierungswerts für das Netz, das mit dem ersten Satz trainiert wurde;
Trainieren eines holographischen Neuronennetzes (70), das den besser generalisierenden Stimulusvektor (60) enthält, mit einem zweiten Satz von bekannten Stimulus- und Reaktionsdaten;
Erzeugen eines Optimierungswerts für das Netz, das mit dem zweiten Satz trainiert wurde; und
Auswählen des Netzes, das mit dem ersten Satz trainiert wurde, als das holographische Neuronenendnetz, wenn der Optimierungswert für den zweiten Satz eine schlechtere Generalisierung anzeigt als der Optimierungswert für den ersten Satz.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/789,673 US5864832A (en) | 1997-01-24 | 1997-01-24 | Method and apparatus for selecting higher order terms for a holographic neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19731499A1 true DE19731499A1 (de) | 1998-07-30 |
Family
ID=25148348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19731499A Withdrawn DE19731499A1 (de) | 1997-01-24 | 1997-07-22 | Verfahren und Vorrichtung zur Auswahl von Termen höherer Ordnung für ein holographisches Neuronennetz |
Country Status (3)
Country | Link |
---|---|
US (1) | US5864832A (de) |
DE (1) | DE19731499A1 (de) |
FR (1) | FR2758899B1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3254393B2 (ja) * | 1996-11-19 | 2002-02-04 | 三菱電機株式会社 | 遺伝的アルゴリズムマシン及び遺伝的アルゴリズムマシンの製造方法及び遺伝的アルゴリズムの実行方法 |
US6539366B1 (en) * | 1998-04-30 | 2003-03-25 | Intel Corporation | Codec with genetic adaptation |
US6553357B2 (en) * | 1999-09-01 | 2003-04-22 | Koninklijke Philips Electronics N.V. | Method for improving neural network architectures using evolutionary algorithms |
JP2007504576A (ja) * | 2003-01-17 | 2007-03-01 | アヤラ,フランシスコ,ジェイ | 人工知能を開発するためのシステム及び方法 |
US7493295B2 (en) * | 2003-01-17 | 2009-02-17 | Francisco J. Ayala | Method, system and computer program for developing cortical algorithms |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5140530A (en) * | 1989-03-28 | 1992-08-18 | Honeywell Inc. | Genetic algorithm synthesis of neural networks |
WO1996024033A1 (en) * | 1995-01-31 | 1996-08-08 | Matsushita Electric Industrial Co., Ltd. | Proportion predicting system and method of making mixture |
-
1997
- 1997-01-24 US US08/789,673 patent/US5864832A/en not_active Expired - Fee Related
- 1997-06-27 FR FR9708108A patent/FR2758899B1/fr not_active Expired - Fee Related
- 1997-07-22 DE DE19731499A patent/DE19731499A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US5864832A (en) | 1999-01-26 |
FR2758899A1 (fr) | 1998-07-31 |
FR2758899B1 (fr) | 2001-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69014613T2 (de) | Genetische synthese von neuronalen netzwerken. | |
DE68928612T2 (de) | Verfahren zur bestimmung der inferenzregel sowie inferenzmotor | |
DE212020000731U1 (de) | Kontrastives Vortraining für Sprachaufgaben | |
DE202019106182U1 (de) | Neuronenarchitektursuche mit faktorisiertem hierarchischem Suchraum | |
DE112020004471T5 (de) | Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren | |
DE69124231T2 (de) | Künstliche neuronale anlage | |
WO2020187591A1 (de) | Verfahren und vorrichtung zum ansteuern eines roboters | |
EP0901658A1 (de) | Verfahren zur optimierung eines fuzzy-regelsatzes durch einen rechner | |
DE19731499A1 (de) | Verfahren und Vorrichtung zur Auswahl von Termen höherer Ordnung für ein holographisches Neuronennetz | |
EP3785178B1 (de) | Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes | |
DE60311468T2 (de) | Bestimmung der Eigenschaften einer mittels Röntgenstreuung untersuchten Probe durch Anwendung eines genetischen Algorithmus, dessen Mutations-Operator bei den letzten Generationen nicht verwendet wird | |
DE102019204118A1 (de) | Verfahren zum Übertragen eines Merkmals eines ersten Bilds an ein zweites Bild | |
WO2020030477A1 (de) | Verfahren zum ausführen einer simulation auf einem quantensimulator | |
DE102021121264A1 (de) | System zum Darstellen innerer Belastungszustände eines mechanischen Bauteils | |
WO1998007100A1 (de) | Rechnergestütztes verfahren zur auswahl von trainingsdaten für ein neuronales netz | |
WO2020193481A1 (de) | Verfahren und vorrichtung für training und herstellung eines künstlichen neuronalen netzes | |
DE19610849C1 (de) | Verfahren zur iterativen Ermittlung einer optimierten Netzarchitektur eines Neuronalen Netzes durch einen Rechner | |
DE19734905C1 (de) | Resynthesizer | |
EP1114398B1 (de) | Verfahren zum trainieren eines neuronalen netzes, verfahren zur klassifikation einer folge von eingangsgrössen unter verwendung eines neuronalen netzes, neuronales netz und anordnung zum trainieren eines neuronalen netzes | |
DE102023203460B3 (de) | Computerimplementiertes Verfahren zum Betrieb einer Bildgebungseinrichtung, Bildgebungseinrichtung, Computerprogramm und elektronisch lesbarer Datenträger | |
DE102020133654B3 (de) | Computerimplementiertes Verfahren zur Modifizierung einer Komponente eines computergenerierten Modells eines Kraftfahrzeugs | |
DE102019214308B4 (de) | Schnelles quantisiertes Training trainierbarer Module | |
WO2022069275A1 (de) | Vorrichtung und computerimplementiertes verfahren für eine netzwerkarchitektursuche | |
DE102021205934A1 (de) | Verfahren zum Trainieren einer Steuerungsstrategie | |
DE102021207936A1 (de) | Verdichtung eines Datensatzes in einen Funktionsterm mit Hilfe von Transformernetzwerken |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |