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 Neuronennetz

Info

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
Application number
DE19731499A
Other languages
English (en)
Inventor
Meyers Nathan Kallmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE19731499A1 publication Critical patent/DE19731499A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning 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.
}
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.
Genetische Darstellung
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.
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.
Messen des Passens eines Chromosoms
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.
Überkreuzung und Mutation
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).
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.
Erzeugung des Endnetzes
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.
Geräteimplementation
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.
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.
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.
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.
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.
DE19731499A 1997-01-24 1997-07-22 Verfahren und Vorrichtung zur Auswahl von Termen höherer Ordnung für ein holographisches Neuronennetz Withdrawn DE19731499A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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