[go: up one dir, main page]

DE69130253T2 - Neuronales rechnernetzwerk zum messen und steuern eines prozesses und verfahren dafür - Google Patents

Neuronales rechnernetzwerk zum messen und steuern eines prozesses und verfahren dafür

Info

Publication number
DE69130253T2
DE69130253T2 DE69130253T DE69130253T DE69130253T2 DE 69130253 T2 DE69130253 T2 DE 69130253T2 DE 69130253 T DE69130253 T DE 69130253T DE 69130253 T DE69130253 T DE 69130253T DE 69130253 T2 DE69130253 T2 DE 69130253T2
Authority
DE
Germany
Prior art keywords
neural network
data
module
control
training
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.)
Expired - Fee Related
Application number
DE69130253T
Other languages
English (en)
Other versions
DE69130253D1 (de
Inventor
Richard D. Newark De 19711 Skeirik
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.)
Rockwell Automation Pavilion Inc
Original Assignee
EI Du Pont de Nemours and 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24249095&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69130253(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by EI Du Pont de Nemours and Co filed Critical EI Du Pont de Nemours and Co
Publication of DE69130253D1 publication Critical patent/DE69130253D1/de
Application granted granted Critical
Publication of DE69130253T2 publication Critical patent/DE69130253T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/903Control
    • Y10S706/906Process plant

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Description

    IN BEZUG GENOMMENE WEITERE DOKUMENTE
  • In Ihrer Gesamtheit werden die folgenden US-Patente und Patentanmeldungen (bei denen Richard D. Skeirik als einzigen oder einen der Erfinder genannt ist) durch Bezugnahme aufgenommen:
  • US-A-4,920,499 vom 24. April 1990;
  • US-A-4,884,217 vom 28. November 1989;
  • US-A-4,907,167 vom 6. März 1990;
  • US-A-4,910,691 vom 20. Mai 1990;
  • die genehmigte US-Patentanmeldung mit der Seriennummer 07/103,014, eingereicht am 30. September 1987;
  • die genehmigte US-Patentanmeldung mit der Seriennummer 07/103,047, eingereicht am 30. September 1987 und
  • die anhängige US-Patentanmeldung mit der Seriennummer 07/333,536, eingereicht am 5. April 1989.
  • HINTERGRUND DER ERFINDUNG 1. Erfindungsgebiet
  • Die Erfindung betrifft allgemein die Überwachung und Steuerung von Herstellungsprozessen, insbesondere chemischer Prozesse und, genauer gesagt, neuronale Netzwerke, die bei der Prozeß-Steuerung solcher Prozesse verwendet werden.
  • II. Stand der Technik
  • Die Produktqualtität ist in zunehmendem Maße wichtig. Die Steuerung der Qualität und die Reproduzierbarkeit der Qualität stehen im Brennpunkt vieler Anstrengungen. Beispielsweise in Europa ist die Qualität im Brennpunkt des ISO 9000 Standards (International Standard Organization, Genf, Schweiz). Diese rigorosen Standards liefern eine Qualitätssicherung bei der Herstellung, der Installation, der Endinspektion und der Kontrolle. Sie liefern auch Richtlinien für die Qualitätssicherung zwischen Zulieferer und Kunde. Von diesen Standards wird erwartet, daß sie eine effektive Anforderung für die Teilnehmer der EC (European Community) nach dem Wegfall der Handelsbarrieren 1992 werden.
  • Die Qualität eines hergestellten Produkts ist eine Kombination aller Eigenschaften des Produkts, welche seine Nützlichkeit für den Benutzer beeinflussen. Die Prozeß-Steuerung ist die Ansammlung aller Verfahren, die zur Herstellung der bestmöglichen Produkteigenschaften in einem Herstellungsprozeß verwendet werden.
  • Die Prozeß-Steuerung ist sehr wichtig bei der Herstellung von Produkten. Eine ungeeignete Prozeß-Steuerung kann zu einem Produkt führen, das für den Benutzer vollständig nutzlos ist, oder zu einem Produkt, das für den Benutzer einen geringeren Wert hat. Wenn eine dieser Situationen auftritt, leidet der Hersteller darunter, daß er (1) die Kosten für die Herstellung der nutzlosen Produkte bezahlt, (2) während dieser Zeit die Möglichkeit verliert, mit Profit ein Produkt herzustellen und (3) durch den verringerten Verkaufspreis der schlechten Produkte Einnahmen einbüßt. Bei der Endanalyse kann die Effektivität der von einem Hersteller benutzten Prozeß-Steuerung darüber entscheiden, ob das Geschäft des Herstellers überlebt oder Bankrott macht.
  • A. Qualität und Prozeßbedingungen
  • Fig. 19 zeigt in Form eines Blockdiagramms die Schlüsselkonzepte bezüglich Produkten, die in einem Herstellungsprozeß hergestellt werden. In Fig. 19 werden Ausgangsmaterialien 1222 unter (gesteuerten) Prozeßbedingungen 1906 in einem Prozeß 1212 zur Herstellung eines Produkts 1216 mit, den Produkteigenschaften 1904 verarbeitet. Beispiele für Rohmaterialien 1222, Prozeßbedingungen 1906 und Produkteigenschaften 1904 sind in Fig. 19 gezeigt. Es ist zu verstehen, daß dies nur Beispiele zum Zwecke der Darstellung sind.
  • Fig. 20 zeigt ein detaillierteres Blockdiagramm der verschiedenen Aspekte der Herstellung von Produkten 1216 unter Verwendung des Prozesses 1212. In den Fig. 19 und 20 ist das Produkt 1216 durch einen oder mehrere Produkteigenschaftszielwerte 2006 seiner Produkteigenschaften 1904 definiert. Die Produkteigenschaftszielwerte 2006 der Produkteigenschaften 1904 sind jene, die das Produkt benötigt, um für die beabsichtigte Endbenutzung ideal zu sein. Die Aufgabe bei der Durchführung des Prozesses 1212 ist es, Produkte 1216 herzustellen, die Produkteigenschaften 1904 haben, welche exakt dem Produkteigenschaftszielwert/-zielwerten 2006 entsprechen.
  • Das folgende einfache Beispiel eines Prozesses 1212 wird nur zum Zwecke der Darstellung vorgestellt. Der Beispielsprozeß 1212 ist das Backen eines Kuchens. Ausgangsmaterialien 1222 (wie etwa Mehl, Milch, Backpulver, Zitronenaroma usw.) werden in einem Backprozeß 1212 unter (gesteuerten) Prozeßbedingungen 1906 verarbeitet. Beispiele der (gesteuerten) Prozeßbedingungen 1906 sind: Rühren des Teigs bis zur Gleichförmigkeit, Backen des Teigs in einer Form bei einer vorgegebenen Ofentemperatur über eine vorgegebene Zeit, Entfernen des gebackenen Kuchens aus der Form und Abwarten, daß der entnommene Kuchen auf Raumtemperatur abkühlt.
  • Das in dem Beispiel hergestellte Produkt 1216 ist ein Kuchen mit gewünschten Eigenschaften 1904. Beispielsweise können die gewünschten Produkteigenschaften 1904 ein Kuchen sein, der vollständig gebacken aber nicht verbrannt, braun von außen, gelb im Inneren ist, ein angenehmes Zitronenaroma hat usw.
  • Im allgemeinen Fall wieder, werden die Produkteigenschaften 1904 des Produkts 1216, das in einem Prozeß 1212 hergestellt wird, durch die Kombination aller Prozeßbedingungen 1906 des Prozesses 1212 und der verwendeten Ausgangsmaterialien 1222 bestimmt. Prozeßbedingungen 1906 können beispielsweise die Eigenschaften der Ausgangsmaterialien 1222, die Geschwindigkeit, mit der der Prozeß 1212 läuft (auch als Herstellungsrate des Prozesses 1212 bezeichnet), die Prozeßbedingungen 1906 in jedem Schritt oder Stufe des Prozesses 1212 (wie etwa die Temperatur, der Druck usw.), die Dauer jedes Schritts oder Stufe usw. sein.
  • B. Steuern der Prozeßbedingungen
  • Fig. 20 zeigt ein detaillierteres Blockdiagramm der verschiedenen Aspekte der Herstellung von Produkten 1216 unter Verwendung des Prozesses 1212. Die folgende Beschreibung bezieht sich auf die Fig. 19 und 20.
  • Um den Prozeß 1212 effektiv zu betreiben, müssen die Prozeßbedingungen 1906 auf einen oder mehrere Prozeßbedingungseinstellpunkte oder Zielwert/-werte 1404 (im Beispiel aus Fig. 14 als Regelsteuersetzpunkte bezeichnet) gehalten werden, so daß das hergestellte Produkt 1216 die Produkteigenschaften 1904 hat, welche mit den gewünschten Produkt eigenschaftszielwert/-werten 2006 übereinstimmen. Diese Aufgabe kann für die Erläuterung in drei Teile oder Aspekte unterteteilt werden.
  • In dem ersten Teil oder Aspekt muß der Hersteller Ausgangseinstellungen der Prozeßbedingungseinstellpunkt/-einstellpunkte (oder Zielwert/-werte) 1404 setzen (Schritt 2008), damit der Prozeß 1212 ein Produkt 1216 mit den gewünschten Produkteigenschaftszielwerten 2006 herstellt. In dem oben genannten Beispiel ist dies analog der Entscheidung, die Temperatur des Ofens auf eine bestimmte Einstellung zu setzen, bevor das Backen des Kuchenteigs beginnt.
  • Der zweite Schritt oder Aspekt schließt die Messung und die Einstellung des Prozesses 1212 ein. Insbesondere Prozeßbedingungen 1906 müssen zur Erzeugung einer Prozeßbedingungsmessung/-messungen 1224 gemessen werden. Die Prozeßbedingungsmessung/-messungen 1224 muß/müssen zur Erzeugung einer Einstellung/Einstellungen 1208 (im Beispiel aus Fig. 12 als Steuerungsausgabedaten bezeichnet) zu einem steuerbaren Prozeßzustand/-zuständen 2202 verwendet werden, um so die Prozeßbedingungen 1906 so nah wie möglich an dem Prozeßbedingungseinstellpunkt 1404 zu halten. In dem oben genannten Beispiel ist dies analog der Art, in der der Ofen die Temperatur mißt und das Heizelement an- oder ausschaltet, um so die Temperatur des Ofens auf dem gewünschten Temperaturwert zu halten.
  • Die dritte Stufe oder Aspekt enthält das Halten einer Produkteigenschaftsmessung/-messungen der Produkteigenschaften 1904 so nah wie möglich an den Produkteigenschaftszielwert/-zielwerten 2006. Dies schließt die Erzeugung einer Produkteigenschaftsmessung/-messungen 1304 beruhend auf den Produkteigenschaften 1904 des Produkts 1216 ein. Von diesen Messungen ausgehend muß die Einstellung des Prozeßbedingungseinstellpunkts 1402 auf die Prozeßbedingungseinstell punkt-einstellpunkte 1404 so durchgeführt werden, um die Prozeßbedingung/-bedingungen 1906 beizubehalten. In dem oben genannten Beispiel wäre dies analog der Messung, wie gut der Kuchen gebacken ist. Dies kann getan werden, indem beispielsweise ein Zahnstocher in den Kuchen gestochen wird und in dem die Temperatur während des Backschrittes so eingestellt wird, daß der Zahnstocher schließlich sauber wieder herrauskommt.
  • Es ist aus der vorangehenden Beschreibung zu verstehen, daß diese nur vorgesehen ist, um allgemeine Bedingungen der Prozeß-Steuerung und die damit verbundenen Probleme bei der Herstellung von Produkten mit vorgegebener Qualität und Eigenschaften zu zeigen. Es kann leicht verstanden werden, daß es viele Änderungen und Kombinationen von Aufgaben gibt, die in einer vorgegebenen Prozeß-Situation gefunden werden. Prozeß-Steuerprobleme können oft sehr komplex sein.
  • Ein Aspekt eines gesteuerten Prozesses ist die Geschwindigkeit, mit der der Prozeß anspricht. Obwohl Prozesse in ihren Ansprechverhalten sehr komplex sein können, ist es oft hilfreich, eine Zeitkonstante für die Steuerung eines Prozesses zu definieren. Die Zeitkonstante ist einfach eine Abschätzung, wie schnell Steuerhandlungen ausgeführt werden müssen, um effektiv den Prozeß zu steuern.
  • In den letzten Jahren gab es einen großen Schritt vorwärts bei der Automatisation der Prozeß-Steuerung. Der Grund für dies ist, daß diese Automatisation zu der Herstellung von Produkten mit gewünschten Produkteigenschaften führt, wenn der verwendete Herstellungsprozeß zu komplex, zu zeitaufwendig oder beides ist, um von Menschen per Hand gehandhabt zu werden.
  • Somit kann die Prozeß-Steuerungsaufgabe verallgemeinert werden, als aus fünf Grundschritten oder Stufen bestehend, nämlich:
  • (1) die Ausgangseinstellung 2008 des/der Prozeßbedingungseinstellpunktes/-punkte;
  • (2) Erzeugung der Prozeßbedingungsmessung/-messungen 1224 der Prozeßbedingung/-bedingungen 1906;
  • (3) Einstellen 1208 des steuerbaren Prozeßzustandes/- zustände 2002 in Abhängigkeit von der Prozeßbedingungseinstellung/-einstellungen 1224;
  • (4) Erzeugung der Produkteigenschaftsmessung/-messungen 1304 beruhend auf den Produkteigenschaften 1904 des hergestellten Produkts 1216; und
  • (5) Einstellen 1402 des/der Prozeßbedingungseiristellpunktes/-punkte 1404 in Abhängigkeit von der Produkteigenschaftsmessungen 1304.
  • Die folgende Erläuterung stellt die mit dem Erfüllen und Optimieren dieser fünf Schritte verbundenen Probleme dar.
  • C. Das Meßproblem
  • Wie es vorangehend gezeigt wurde, schließen der zweite und der vierte Schritt oder Aspekt der Prozeß-Steuerung die Messung 1224 von Prozeßbedingungen 1906 und die Messung 1304 von Produkteigenschaften 1904 ein. Solche Messungen sind gelegentlich sehr schwierig, wenn nicht gar unmöglich, um effektiv für die Prozeß-Steuerung durchgeführt zu werden.
  • Für viele Produkte betreffen wichtige Produkteigenschaften 1904 die Endverwendung des Produktes und nicht die Prozeßbedingungen 1906 des Prozesses 1212. Eine Verdeutlichung hiervon schließt die Herstellung von Teppichfasern ein. Eine wichtige Produkteigenschaft 1904 der Teppichfaser ist es, wie gleichmäßig die Faser die Farbe annimmt, die durch den Teppichfärber aufgebracht wird. Ein weiteres Beispiel schließt das Kuchenbeispiel ein, das vorangehend erläutert wurde. Eine wichtige Produkteigenschaft 1904 des gebackenen Kuchens ist es, wie gut der Kuchen dem Auseinanderbrechen widersteht, wenn er gefroren wird. Typischerweise ist die Messung solcher Produkteigenschaften 1904 schwierig und/oder zeitaufwendig und/oder teuer bei der Durchführung.
  • Ein Beispiel dieses Problems kann im Zusammenhang mit dem Teppichfaserbeispiel gezeigt werden. Die Fähigkeit der Faser zur gleichmäßigen Farbannahme kann durch ein Labora (Lab) gemessen werden, in dem Farbproben der Teppichfaser verwendet werden. Solche Messungen sind jedoch unzuverlässig. Beispielsweise kann es eine Anzahl von Test benötigen, bevor ein zuverlässiges Ergebnis erhalten werden kann. Des weiteren können solche Messungen langsam sein. In diesem Beispiel kann es eine so lange Zeit benötigen, den Farbtest durchzuführen, daß sich der Herstellungsprozeß wesentlich geändert hat und andere Produkteigenschaften 1904 herstellt, bevor die Labortestergebnisse zur Verwendung zur Steuerung des Prozesses 1212 erhältlich sind.
  • Es sei jedoch angemerkt, daß einige Prozeßbedingungsmessungen 1224 preiswert, schnell und recht zuverlässig sind. Die Temperatur kann typischerweise leicht, kostengünstig, schnell und zuverlässig gemessen werden. Beispielsweise kann die Temperatur von Wasser in einem Tank oft leicht gemessen werden. Aber gelegentlich machen Prozeßbedingungen 1906 solche einfachen Messungen schwieriger zu erzielen. Beispielsweise kann es schwierig sein, den Pegel einer schäumenden Flüssigkeit in einem Kessel zu bestimmen. Darüber hinaus kann ein korrosiver Prozeß die Meßsensoren, wie jene, die zur Messung des Drucks verwendet werden, zerstören.
  • Unabhängig davon, ob die Messung einer bestimmten Prozeßbedingung 1906 oder Produkteigenschaft 1904 leicht oder schwierig zu erzielen ist, sind solche Messungen lebenswichtig für die effektive und nötige Steuerung des Prozesses 1212. Es kann gesehen werden, daß es vorzuziehen wäre, wenn eine direkte Messung einer bestimmten Prozeßbedingung 1906 und/oder Produkteigenschaft 1904 in einer preiswerten, zuverlässigen, kürzeren Zeit und auf effektive Art erhalten werden könnte.
  • D. Bekannte Computermodelle als Voraussagen der gewünsch- ten Messungen
  • Wie vorangehend ausgeführt, ist die direkte Messung der Prozeßbedingungen 1906 und der Produkteigenschaft 1904 oft schwierig, wenn nicht gar unmöglich, effektiv durchzuführen.
  • Eine Antwort auf diesen Nachteil bei der Prozeß-Steuerung war die Entwicklung von Computermodellen (nicht gezeigt) zur Voraussage gewünschter Messungen. Diese Computermodelle werden zur Erzeugung von zur Steuerung des Prozesses 1212 verwendeter Werte beruhend auf Eingaben, die nicht identisch mit den für die Steuerung des Prozesses 1212 kritischen, zu bestimmenden Prozeßbedingungen 1906 und/oder Produkteigenschaften 1904 sind, verwendet. Anderes gesagt, diese Computermodelle werden verwendet, um Voraussagen (Abschätzungen) bestimmter Prozeßbedingungen 1906 oder Produkteigenschaften 1904 zu entwickeln. Diese Voraussagen werden zur Einstellung des steuerbaren Prozeßzustandes 2002 oder des Prozeßbedingungseinstellpunktes 1404 verwendet.
  • Solche bekannten Computermodelle, wie es anschließend erläutert wird, haben ihre Grenzen. Zum besseren Verständnis dieser Grenzen und wie die Erfindung diese überwindet, wird eine kurze Beschreibung dieser bekannten Computermodellen gegeben.
  • 1. Fundamental-Modelle
  • Ein computerbasiertes Fundamental-Modell (nicht gezeigt) verwendet bekannte Information bezüglich des Prozesses 1212 zur Voraussage gewünschter unbekannter Information, wie etwa der Prozeßbedingungen 1906 und der Produkteigenschaften 1904. Ein Fundamental-Modell beruht auf wissenschaftlichen und ingenieurwissenschaftlichen Prinzipien. Solche Prinzipien schließen die Material- und Energieersparnis, das Kräftegleichgewicht usw. ein. Diese grundlegenden wissenschaftlichen und ingenieurwissenschaftlichen Prinzipien werden als Gleichungen ausgedrückt, die mathematisch oder numerisch - für gewöhnlich unter Verwendung von Computerprogrammen - gelöst werden. Sind diese Gleichungen einmal gelöst, geben sie die gewünschte Voraussage der unbekannten Information.
  • Herkömmliche Fundamental-Computermodelle haben wesentliche Grenzen, wie etwa:
  • (1) sie sind schwer zu erzeugen, da der Prozeß 1212 auf dem Niveau wissenschaftlichen Verständnisses beschrieben werden muß, was für gewöhnlich sehr detailliert ist;
  • (2) nicht alle Prozesse 1212 werden in den grundlegenden ingenieurwissenschaftlichen und wissenschaftlichen Prinzipien in einer solchen Art verstanden, daß sie vom Computer modelliert werden können;
  • (3) einige Produkteigenschaften 1904 werden nicht in geeigneter Weise durch die Ergebnisse der Fundamental-Computermodelle beschrieben; und
  • (4) die Zahl der fachkundigen Entwickler von Computermodellen ist beschränkt, und die mit dem Herstellen solcher Computermodelle verbundenen Kosten sind sehr hoch.
  • Diese Probleme führen dazu, daß Fundamental-Computermodelle nur in einigen Fällen praktikabel sind, in denen Messungen schwierig oder unmöglich zu erzielen sind.
  • 2. Empirische statistische Modelle
  • Ein weiterer bekannter Ansatz zur Lösung von Meßproblemen ist die Verwendung eines computerbasierten statistischen Modells (nicht gezeigt)
  • Solch ein computerbasiertes statistisches Modell verwendet bekannte Informationen bezüglich des Prozesses 1212 zur Bestimmung gewünschter Informationen, die nicht effektiv gemessen werden können. Ein statistisches Modell beruht auf der Korrelation von meßbaren Prozeßbedingungen 1906 oder Produkteigenschaften 1904 des Prozesses 1212.
  • Um ein Beispiel eines computerbasiertes statistischen Modells zu verwenden, sei angenommen, daß es gewünscht wird, in der Lage zu sein, die Farbe eines Kunststoffproduktes 1216 vorauszusagen. Dies ist sehr schwierig direkt zu messen und benötigt beachtliche Zeit für die Durchführung. Um ein computerbasiertes statistisches Modell zu schaffen, das diese gewünschte Produkteigenschaftsinformation 1904 liefert, muß der Modellbilder eine Erfahrungsbasis haben, die bekannte Information und tatsächliche Messung der gewünschten Information einschließt. Zum Beispiel sind bekannte Informationen solche Dinge, wie die Temperatur, bei der der Kunststoff verarbeitet wird. Tatsächliche Messungen der gewünschten Informationen sind die tatsächlichen Messungen der Farbe des Kunststoffs.
  • Eine mathematische Beziehung (auch Gleichung genannt) zwischen der bekannten Information und der gewünschten unbekannten Information muß durch den Entwickler des empirischen statistischen Modells erzeugt werden. Die Beziehung enthält eine oder mehrere Konstanten (denen numerische Werte zugeordnet werden), welche den Wert der vorausgesagten Information ausgehend von einer bekannten Information beeinflussen. Ein Computerprogramm verwendet viele verschiedene Messung der bekannten Information mit ihren entsprechenden tatsächlichen Messungen der gewünschten Information, um diese Konstanten so einzustellen, daß die bestmöglichen Voraussageergebnisse durch das empirische statistische Modell erzielt werden. Solche Computerprogramme können beispielsweise eine nichtlineare Regression verwenden.
  • Computerbasierte statistische Modelle können gelegentlich Produkteigenschaften 1904 voraussagen, die nicht gut durch Computerbasismodelle beschrieben werden können. Jedoch gibt es beachtliche Probleme, die mit statistischen Computermodellen verbunden sind, welche die folgenden enthalten:
  • (1) computerbasierte statistische Modelle benötigen ein gutes Design der Modellbeziehungen (das heißt der Gleichung), oder die Voraussage wird schlecht;
  • (2) zur Einstellung der Konstanten verwendete statistische Verfahren sind typischerweise schwierig zu handhaben;
  • (3) eine gute Einstellung der Konstanten kann in solchen statistischen Modellen nicht immer erreicht werden; und
  • (4) wie im Fall der Basismodelle ist die Zahl der erfahrenen statistischen Modellbilder begrenzt, und somit sind die Kosten zur Erzeugung und zur Aufrechterhaltung solcher statistischen Modelle hoch.
  • Das Ergebnis dieser Nachteile ist, daß empirische computerbasierte statistische Modelle nur in einigen Fällen praktisch sind, in denen die Prozeßbedingungen 1906 und/oder Produkteigenschaften 1904 nicht effektiv gemessen werden können.
  • E. Nachteile des Standes der Technik
  • Wie vorangehend erwähnt, gibt es beachtliche Nachteile bei den bekannten Ansätzen, um gewünschte Messungen für Prozeßbedingungen 1906 und Produkteigenschaften 1904 unter Verwendung bekannter direkter Messung, grundlegender Computermodelle und statistischer Computermodelle zu erhalten. Einige dieser Nachteile sind die folgenden:
  • (1) Die Produkteigenschaften 1904 sind oft schwierig zu messen.
  • (2) Die Prozeßbedingungen 1906 sind oft schwierig zu messen.
  • (3) Die Bestimmung des Anfangswertes oder der Einstellungen der Prozeßbedingungen 1906 bei der Herstellung eines neuen Produktes 1216 sind oft schwierig.
  • (4) Bekannte Computermodelle arbeiten nur in einem geringen Prozentsatz der Fälle, wenn sie zum Ersatz von Messungen eingesetzt werden.
  • Diese und andere Nachteile der bekannten Technik werden durch das System und Verfahren der Erfindung überwunden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Entsprechend einem Aspekt der Erfindung wird eine Vorrichtung zur Steuerung eines Prozesses zur Erzeugung eines Produkts mit zumindest einer gewünschten Produkteigenschaft geschaffen, wobei die Vorrichtung aufweist:
  • Sensormittel zum Erfassen und Ausgeben einer Messung von zumindest einer Prozeßbedingung;
  • Steuermittel zum Liefern von Steuerausgabedaten in Abhängigkeit von Steuereingabedaten, die für die Produkteigenschaft repräsentativ sind und in Abhängigkeit von Einstellpunktdaten, die für einen gewünschten Zustand von zumindest einer Prozeßbedingung repräsentativ sind; und
  • Stellgliedmittel, die angeordnet sind, um die Steuerausgabedaten zu empfangen, und die angeordnet sind, um in Abhängigkeit von den empfangenen Steuerausgabedaten zumindest eine Prozeßbedingung zu ändern, welche die zumindest eine Produkteigenschaft berührt;
  • gekennzeichnet durch ein neuronales Netzwerk, das zum Empfang der Eingabedaten angeordnet ist, welche für die Messungen der Prozeßbedingungen durch die Sensormittel repräsentativ sind, und das angeordnet ist, um Voraussagewerte der zumindest einen Produkteigenschaft in Abhängigkeit von den Eingabedaten auszugeben, und
  • Übertragungsmittel zum Übertragen der für den Voraussagewert repräsentativen Daten an das Steuermittel zur Verwendung als Steuereingabedaten.
  • Entsprechend einem weiteren Aspekt schafft die Erfindung ein Verfahren zur Steuerung eines Prozesses zur Herstellung eines Produkts mit zumindest einer gewünschten Produkteigenschaft, wobei das Verfahren die Schritte aufweist:
  • Erfassen einer Messung von zumindest einer Prozeßbedingung;
  • Liefern von Steuerausgabedaten in Abhängigkeit von Steuereingabedaten, die für die Produkteigenschaft repräsentativ sind, und in Abhängigkeit von Einstellpunktdaten, die für einen gewünschten Zustand von zumindest einer Prozeßbedingung repräsentativ sind; und
  • Ändern der zumindest einen Prozeßbedingung, welche diese zumindest eine gewünschte Produkteigenschaft berührt, in Abhängigkeit von den empfangenen Steuerausgabedaten;
  • gekennzeichnet durch die Schritte:
  • Voraussagen unter Verwendung eines neuronalen Netzwerks des Wertes von zumindest einer Produkteigenschaft in Abhängigkeit von Eingabedaten, die für Messungen der Prozeßbedingungen in dem Sensorschritt repräsentativ sind, und Verwendung des Voraussagewertes als Steuereingabedaten.
  • Das neuronale Netzwerk ist durch einen Entwickler ausgestaltet, der die neuronale Netzwerkkonfigurationsinformation zuführt. Der Aspekt der neuronalen Netzwerkkonfiguration der Erfindung ermöglicht es dem Entwickler, sehr leicht das neuronale Netzwerk unter Verwendung eines Schablonenansatzes zu konfigurieren.
  • Das Trainieren des neuronalen Netzwerks wird unter Verwendung von Trainingseingabedaten durchgeführt, die zugehörige Zeitmarken aufweisen. Die Trainingseingabedaten (welche zum Beispiel von einem Labora oder Lab geliefert werden) werden mit den zugehörigen Zeitmarken gespeichert und von der historischen Datenbank wiederhergestellt, die auch Eingabedaten mit zugehörigen Zeitmarken speichert. Zeitmarken werden verwendet, um zu bestimmen, welche in der historischen Datenbank gespeicherten Trainingsdaten den Eingabedaten zugeordnet sind.
  • Die Trainingsdaten werden mit den vom neuronalen Netzwerk aus den gespeicherten Eingabedaten erzeugten, vorausgesagten Ausgabedatenwerten verglichen, deren Zeitmarken mit den Zeitmarken der Trainingsdaten korrespondieren. Der Fehler zwischen den Ausgabedaten und Trainingseingabedaten wird zum Trainieren des Netzwerks verwendet. Wenn das Netzwerk einmal trainiert ist, das heißt, wenn der Fehlerwert kleiner als ein akzeptiertes Maß ist, werden die vorausgesagten Ausgabedaten von dem neuronalen Netzwerk über die histori sche Datenbank der Steuerung zur Verwendung bei der Steuerung des Prozesses zugeführt, der das Produkt herstellt. Solange der Fehler kleiner als ein akzeptables Maß ist, werden die Ausgabedaten von dem neuronalen Netzwerk durch die historische Datenbank der Steuerung zugeführt, um bei der Steuerung des Prozesses verwendet zu werden. Auf diese Art werden die Ausgabedaten durch die Steuerung zur Steuerung des Prozesses anstelle der tatsächlichen Messung verwendet.
  • Der Fehler zwischen den vorausgesagten Ausgabedaten und den Trainingseingabedaten wird also zur Umschulung bzw. zum Neutrainieren des Netzwerks in vorgegebenen Intervallen verwendet. Diese kontinuierliche Umschulung des neuronalen Netzwerks ermöglicht es, das Netzwerk an Änderungen in dem Prozeß und dem Produkt anzupassen. Auf diese Art erzeugt das neutrainierte Netzwerk Voraussageausgabedaten, die sich näher an die Trainingseingabedaten, die periodisch zugeführt werden, annähern.
  • Wenn die Fehlerdaten ein akzeptables Maß übersteigen, kann die Erfindung veranlassen, daß die vorausgesagten Ausgabedaten nicht länger durch die Steuerung verwendet werden. Zusätzlich kann die Erfindung eine Beendigung der Umschulung verursachen, und kann die Steuerung zur Unterbrechung des Prozesses veranlassen. Andere Steuerfunktionen können vorgesehen sein.
  • Ein modularer Ansatz kann für das neuronale Netzwerk verwendet werden. Insbesondere kann ein begrenzter Satz von neuronalen Netzwerkmodultypen vorgesehen sein. Des weiteren können ein begrenzter Satz neuronaler Netzwerkprozeduren und ein begrenzter Satz neuronaler Netzwerkparameterspeicherbereiche vorgesehen sein. Die neuronalen Netzwerkmodule können Prozedurzeiger und Parameterzeiger enthalten, die verwendet werden, um auf Netzwerktypparameter und Netzwerkparameterspeicherbereiche zu zeigen. Dieser modulare Ansatz erhöht beachtlich die Robustheit der Erfindung.
  • Schablonen werden verwendet, um es dem Entwickler (oder Benutzer) zu erlauben, das neuronale Netzwerk zu konfigurieren. Die Schablonen ermöglichen, daß die Größe und die Anordnung des Netzwerks, Parameter, welche den Betrieb des Netzwerks steuern, und die Speicherorte der Eingabedaten, der Ausgabedaten, der Fehlerdaten und anderer Werte, die mit der Erfindung verbunden sind, durch den Entwickler festgelegt werden können. Darüber hinaus, da die Schablonen Standards in natürlicher Sprache verwenden, wird keine Computererfahrung seitens der das Netzwerk konfigurierenden Personen benötigt. Auf diese Art muß ein Prozeß-Steuerexperte nicht notwendigerweise einen neuronalen Netzwerkexperten beim Konfigurieren, Neukonfigurieren und Verwenden der Erfindung einsetzen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung, wie sie in den Ansprüchen festgelegt ist, wird besser mit dem im Zusammenhang mit den folgenden Zeichnungen gelesenen Text verstanden. In den Zeichnungen zeigt:
  • Fig. 1 ein hochgradiges Blockdiagramm der sechs breiten Schritte, die das erfindungsgemäße Steuerungssystem und Verfahren für den neuronalen Computerntzwerkprozeß ausmachen;
  • Fig. 2 ein Zwischen-Blockdiagramm wichtiger Schritte und Module, die den "Eingabedaten und-Trainingseingabedaten-Speicher"-Schritt oder -Modul 102 aus Fig. 1 ausmachen;
  • Fig. 3 ein Zwischen-Blockdiagramm der wichtigen Schritte und Module, die die Bauweise und die Schrittfolge des neuronalen Netzwerks und Moduls 104 aus Fig. 1 ausmachen;
  • Fig. 4 ein Zwischen-Blockdiagramm der Eingabeschritte und Module, die den "Voraussageausgabedaten unter Verwendung des neuronalen Netzwerks"-Sschritt und - Modul 106 aus Fig. 1 ausmachen;
  • Fig. 5 ein Zwischen-Blockdiagramm der mittleren Schritte und Module, die den "Neutrainieren des-neuronalen-Netzwerks"-Schritt oder -Modul 108 aus Fig. 1 ausmachen;
  • Fig. 6 ein Zwischen-Blockdiagramm der wichtigen Schritte und Module, die den "Freigabe/Sperren-Steuer"- Schritt oder -Modul 110 aus Fig. 1 ausmachen;
  • Fig. 7 ein Zwischen-Blockdiagramm der wichtigen Schritte und Module, die den "unter-Verwendung der-Ausgabedaten-Prozeß-Steuer"-Schritt oder -Modul 112 aus Fig. 1 ausmachen;
  • Fig. 8 ein detailliertes Blockdiagramm "Neuronalen-Netzwerks-Konfigurations"-Schritts oder -Moduls 302 zur Ausbildung des neuronalen Netzwerks aus der Beziehung aus Fig. 3;
  • Fig. 9 ein detailliertes Blockdiagramm des "Neue-Trainingseingabedaten?"-Schritts oder -Moduls 306 aus Fig. 3;
  • Fig. 10 ein detailliertes Blockdiagramm des "Neuronalen- Netzwerk-Trainings"-Schritts oder -Moduls 308 zum aus Fig. 3;
  • Fig. 11 ein detailliertes Blockdiagramm des "Fehler-Akzeptierbar?"-Schritts oder -Moduls 310 aus Fig. 3;
  • Fig. 12 eine Darstellung der Architektur einer erfindungsgemäßen Ausführungsform;
  • Fig. 13 eine Darstellung der Architektur einer erfindungsgemäßen Ausführungsform mit der zusätzlichen Fähigkeit der Verwendung von Laborwerten aus der historischen Datenbank 1210;
  • Fig. 14 eine Ausführungsform der Steuervorrichtung 1202 aus den Fig. 12 und 13 mit einer Überwachungssteuerung 1408 und einer Regelsteuerung 1406.
  • Fig. 15 verschiedene Ausführungsformen der Steuervorrichtung 1202 der Fig. 14, die in der Architektur aus Fig. 12 verwendet wird;
  • Fig. 16 eine modulare Version des Blocks 1502 aus Fig. 15, die verschiedene unterschiedliche Typen der Module zeigt, die in einem modularen neuronalen Netzwerk 1206 verwendet werden können;
  • Fig. 17 zeigt eine Architektur eines Blocks 1502 mit einer Mehrzahl modularer neuronaler Netzwerke 1702- 1702n mit Zeigern 1710-1710n, die auf einen beschränkten Satz neuronaler Netzwerkprozeduren 1704-1704n zeigen;
  • Fig. 18 eine weitere Architektur für den Block 1502 mit einer Mehrzahl modularer neuronaler Netzwerke 1702-1702m mit Zeigern 1710-1710 m, die auf einen beschränkten Satz neuronaler Netzwerkprozeduren 1704-1704n zeigen, und mit einem Parameterzeiger 1802-1802", die auf einen beschränkten Satz Netzwerkparameterspeicherbereiche 1806-1806n zeigen;
  • Fig. 19 ein hochgstufiges Blockdiagramm, das die Schlüsselaspekte des Prozesses 1212 mit den Prozeßbedingungen 1906 zeigt, der zur Herstellung eines Produkts 1216 mit den Produkteigenschaften 1904 aus den Ausgangsmaterialien 1222 verwendet wird;
  • Fig. 20 die verschiedenen Schritte und Parameter, die zur Steuerung des Prozesses 1212 zur Herstellung des Produkts 1216 aus den Rohmaterialien 1222 verwendet werden können;
  • Fig. 21 ein repräsentatives Beispiel eines voll geschalteten vorwärts zuführenden neuronalen Netzwerks 1206 mit einer Eingabeschicht 2104, einer mittleren (verborgenen) Schicht 2108, einer Ausgabe schicht 2110 und Gewichten 2112 mit der jeweiligen Verschaltung.
  • Fig. 22 ein Explosionsblockdiagramm, das verschiedene Parameter und Aspekte zeigt, die das neuronale Netzwerk 1206 ausmachen können;
  • Fig. 23 Explosionsblockdiagramm der Eingabedatenspezifikation 2204 und der Ausgabedatenspezifikation 2206 des neuronalen Netzwerks 1206 aus Fig. 22;
  • Fig. 24 ein Explosionsblockdiagramm einer Voraussagezeitsteuerung 2212 und einer Trainingszeitsteuerung 2214 des neuronalen Netzwerks 1206 aus Fig. 22;
  • Fig. 25 ein Explosionsblockdiagramm verschiedener Beispiele und Aspekte der Steuerung 1202 aus Fig. 12;
  • Fig. 26 ein repräsentatives Computerdisplay oder "Schirm" einer bevorzugten erfindungsgemäßen Ausführungsform, das Teile der Konfigurationsspezifikation des neuronalen Netzwerkblocks 1206 zeigt;
  • Fig. 27 ein repräsentatives Computerdisplay oder "Schirm" einer bevorzugten erfindungsgemäßen Ausführungsform, die einen Teil der Datenspezifikation des neuronalen Netzwerkblocks 1206 zeigt;
  • Fig. 28 ein Computerschirm, der ein "Pop-up"-Menü zum Spezifizieren des Datensystemelements der Datenspezifikation zeigt;
  • Fig. 29 ein Computerschirm der bevorzugten Ausführungsform, der detailliert die jeweiligen Punkte zeigt, welche das Datenspezifikationsdisplay aus Fig. 27 ausmachen;
  • Fig. 30 ein detailliertes Blockdiagramm einer Ausführungsform des Freigabesteuerschritts und Moduls 602 aus Fig. 6;
  • Fig. 31 ein sehr detailliertes Blockdiagramm der Ausführungsformen der Schritte und Module 802, 804 und 806 aus Fig. 8;
  • Fig. 32 ein sehr detailliertes Blockdiagramm der Ausführungsformen von Schritten und Modulen 808, 810, 812 und 814 aus Fig. 8;
  • Fig. 33 ein Nomenklatur-Diagramm, das auf hohem Pegel die Erfindung zeigt;
  • Fig. 34 ein repräsentatives Beispiel des neuronalen Netzwerks 1206 aus Fig. 21 mit Trainingsfähigkeit.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM Inhaltsverzeichnis I. Überblick über neuronale Netzwerke
  • A. Bauweise neuronaler Netzwerke
  • B. Voraussagen
  • C. Neuronales Netzwerke-Training
  • D. Vorteile neuronaler Netzwerke
  • II. Kurze Übersicht III. Verwendung im Zusammenhang mit Experten- systemen IV. Bevorzugtes Betriebsverfahren
  • A. Schritt und Modul 102 zum Speichern von Eingabedaten und Trainingseingabedaten
  • B. "Neuronales-Netzwerk-Konfigurations"- Schritt und -Modul 104
  • 1. "Neuronaler-Netzwerkskonfigurations"- Schritt und -Modul 302
  • 2. "Warte-Trainingsdatenintervall"- Schritt und -Modul 304
  • 3. "Neue-Trainingseingabedaten?"- Schritt und -Modul 306
  • 4. "Neuronalen-Netzwerk-Trainings"- Schritt und -Modul 308
  • 5. "Fehler-akzeptierbar?"-Schritt und Modul 310
  • C. "Ausgabedatenvoraussage-unter-Verwendung-des-neuronalen-Netzwerks"-Schritt und Modul 106
  • D. "Neutrainieren-des-neuronalen-Netzwerks"- Schritt oder -Modul
  • E. "Freigabe/Sperren-Steuer"-Schritt oder Modul 110
  • F. "Unter-Verwendung der-Ausgabedaten Prozeß-Steuer"-Schritt oder -Modul 112
  • V. Bevorzugte Struktur (Architektur) IV. Benutzerschnittstelle
  • Zur Beschreibung der bevorzugten Ausführungsform wird Bezug auf die Fig. 33 genommen. Diese Figur ist ein Nomenklatur- Diagramm, das die verschiedenen Namen der zur Beschreibung der Erfindung verwendeten Elemente und Handlungen zeigt.
  • Fig. 33 ist nicht zwingend in dem Sinne gedacht, daß sie das erfindungsgemäße Verfahren darstellt, noch daß sie notwendigerweise die Architektur der Erfindung zeigt. Sie liefert jedoch einen Bezugspunkt, mittels dessen konsistente Ausdrücke zur Beschreibung der Erfindung verwendet werden können.
  • In der Fig. 33 bezeichnen die Kästen Elemente in der Architektur, und die gekennzeichneten Pfeile zeigen Handlungen an, die ausgeführt werden. Zusätzlich zeigen Wörter, die mit unterbrochenen Pfeilen außerhalb der Kästen auftauchen, Information oder Daten an, die von einem Element der Erfindung zu ein weiteres übertragen wird.
  • Wie anschließend detaillierter beschrieben wird, verwendet die Erfindung im wesentlichen neuronale Netzwerke, um Voraussagewerte wichtiger und nicht einfach erhaltbarer Prozeßbedingungen 1906 und/oder Produkteigenschaften 1904 zu liefern, die von einer Steuerung 1202 zur Erzeugung von Steuerungsausgabedaten 1208 verwendet werden, welche zur Steuerung des Prozesses 1212 benutzt werden. Wie in Fig. 12 gezeigt ist, arbeitet ein neuronales Netzwerk 1206 im Zusammenhang mit einer historischen Datenbank 1210, die Eingabesensordaten 1220 liefert.
  • In den Fig. 1 und 12 werden Eingabedaten und Zeitsteuerungseingabedaten in einer historischen Datenbank mit zugehörigen Zeitmarken gespeichert, wie es mit dem Schritt oder Modul 102 angezeigt ist. Parallel dazu wird das neuronale Netzwerk 1206 in einem Schritt oder Modul 104 zusammengesetzt und trainiert. Das neuronale Netzwerk 1206 wird zur Voraussage von Ausgabedaten 1218 unter Verwendung der Eingabedaten 1220 verwendet, wie es mit dem Schritt oder Modul 106 angezeigt ist. Das neuronale Netzwerk 1206 wird dann in dem Schritt oder Modul 108 neu trainiert, und eine Steuerung unter Verwendung der Ausgabedaten wird in einem Schritt oder Modul 110 freigeschaltet oder gesperrt. Parallel dazu wird die Steuerung des Prozesses unter Verwendung der Ausgabedaten in einem Schritt oder Modul 112 durchgeführt. Somit sammelt und speichert die Erfindung die geeigneten Daten, konfiguriert und trainiert das neuronale Netzwerk, verwendet das neuronale Netzwerk zur Voraussage von Ausgabedaten und ermöglicht die Steuerung des Prozesses unter Verwendung der vorhergesagten Ausgabedaten.
  • Im Mittelpunkt der vorliegenden Erfindung steht das neuronale Netzwerk 1206. Verschiedene Ausführungsformen des neuronalen Netzwerks 1206 können verwendet werden und werden detailliert im Anschluß beschrieben.
  • I. ÜBERBLICK ÜBER NEURONALE NETZWERKE
  • Um die verschiedenen durch die Erfindung geschaffenen Aspekte und Vorteile voll wahrzunehmen, ist ein gutes Verständnis der Technik neuronaler Netzwerke nötig. Aus diesem Grund diskutiert der folgende Abschnitt die Technik neuronaler Netze, die als neuronales Netzwerk 1206 des erfindungsgemäßen Systems und Verfahrens einsetzbar sind.
  • Künstliche oder Computer-neuronale Netzwerke sind Computersimulationen eines Netzwerks zusammengeschalteter Neuronen. Ein biologisches Beispiel zusammengeschalteter Neuronen ist das menschliche Gehirn. Neuronale Netzwerke sind Computerdarstellungen der Architektur mit dem Modell des arbeitenden Gehirns. Es sei angemerkt, daß die Analogie zum menschlichen Hirn wichtig und nützlich zum Verstehen der Erfindung ist.
  • Die als neuronales Netzwerk 1206 der Erfindung verwendeten neuronalen Netzwerke sind jedoch Computersimulationen (oder möglicherweise analoge Vorrichtungen), die nützliche Voraussagewerte beruhend auf in vorgegebenen Intervallen eingegebenen Eingabedaten liefern.
  • Im wesentlichen ist ein neuronales Netzwerk 1206 eine hierarchische Ansammlung von Elementen, wobei jedes das Ergebnis einer Gleichung (Übertragungsfunktion oder Aktivierungsfunktion) berechnet. Die Berechnung kann einen Schwellwert enthalten. Jede Teilgleichung verwendet mehrere Eingabewerte, erzeugt aber nur einen Ausgabewert. Die Ausgaben der Elemente in einem niedrigeren Pegel (das heißt näher zu den Eingabedaten) werden als Eingabedaten zu den Elementen der höheren Schichten geliefert. Die höchste Schicht erzeugt die Ausgabe/Ausgaben.
  • In Fig. 21 ist ein repräsentatives Beispiel des neuronalen Netzwerks 1206 gezeigt. Es sei angemerkt, daß das in Fig. 21 gezeigte Beispiel nur der Verdeutlichung einer Ausführungsform des neuronalen Netzwerks 1206 dient. Wie im Anschluß diskutiert wird, können andere Ausführungsformen für neuronale Netzwerke 1206 verwendet werden.
  • Die Ausführungsform aus Fig. 21 hat eine Eingabeschicht 2104, eine mittlere (verborgene) Schicht 2108 und eine Ausgabeschicht 2110. Die Eingabeschicht 2104 enthält eine Schicht aus Eingabeelementen 2102, die ihre Eingabewerte von externen Eingabedaten 1220 annehmen. Dies ist die bekannte Information, die zur Erzeugung der Voraussagewerte (Ausgabedaten) als Ausgaben 1218 verwendet werden. Auch wenn die Eingabeschicht 2104 als eine Schicht in dem neuronalen Netzwerk 1206 bezeichnet ist, enthält die Eingabeschicht 2104 keine Verarbeitungselemente, statt dessen ist sie ein Satz aus Speicherplätzen für Eingabewerte an Leitungen 2120.
  • Die nächste Schicht wird mittlere oder verborgene Schicht 2108 genannt. Eine solche mittlere Schicht 2108 ist nicht notwendig, aber für gewöhnlich wird sie verwendet. Sie enthält einen Satz aus Elementen 2106. Die Ausgaben der Eingänge 2102 der Eingabeschicht 2104 werden als Eingaben für jedes Element 2106 verwendet. Somit kann gesehen werden, daß die Ausgaben der vorangehenden Schicht als Zufuhr für die Eingänge der nächsten Schicht verwendet werden.
  • Zusätzliche Mittelschichten 2108 können verwendet werden. Nochmals, diese würden die Ausgaben der vorangehenden Schicht als ihre Eingaben verwenden. Jegliche Zahl mittlerer Schichten 2108 kann verwendet werden.
  • Die Ausgabeschicht 2120 hat einen Satz aus Elementen 2106. Als ihre Eingabewerte nehmen sie die Ausgabe der Elemente 2106 der mittleren Schicht 2108. Die Ausgaben 1218 der Elemente 2106 der Ausgabeschicht 2110 sind die Voraussagewerte (Ausgabedaten genannt), die von dem neuronalen Netz 1206 unter Verwendung der Eingabedaten 1220 erzeugt werden.
  • Für jeden Eingabewert jedes Elements jeder der Schichten 2108 und 2110 ist eine einstellbare Konstante, die als Gewicht 2112 bezeichnet wird, definiert. Nur zum Zweck der Verdeutlichung sind nur zwei Gewichte 2112 gezeigt. Jedoch hat jede Verbindung zwischen den Schichten 2104, 2108 und 2110 ein zugehöriges Gewicht. Die Gewichte bestimmen, welchen relativen Einfluß ein Eingabewert auf den Ausgabewert des fraglichen Elements hat.
  • Wenn jedes mittlere Element mit allen Ausgängen der vorangehenden Schicht in Verbindung steht, und wenn jedes Ausgabeelement mit allen Ausgängen von der vorangehenden Schicht in Verbindung steht, wird das Netzwerk als vollverschaltet bezeichnet. Angemerkt sei, daß wenn alle Elemente Werte von Elemente einer vorangehenden Schicht verwenden, das Netzwerk als Vorratszufuhrnetzwerk bezeichnet wird. Das Netzwerk aus Fig. 21 ist eine solches vollverschaltetes Vorwärtszufuhrnetzwerk. Angemerkt sei, daß, wenn eines der Elemente Ausgabewerte von einem Element in einer späteren Schicht verwendet, gesagt wird, daß das Netzwerk eine Rückkopplung hat. Die meisten neuronalen Netzwerke, die als neuronales Netzwerk 1206 verwendet werden, verwenden die gleiche Gleichung in jedem Element in dem Netzwerk.
  • A. Bauweise neuronaler Netzwerke
  • Das neuronale Netzwerk 1206 wird gebildet, indem die Anzahl, die Anordnung und Verbindung der Elemente, aus denen es besteht, spezifiziert ist. Bei einer hochstrukturierten Ausführungsform des neuronalen Netzwerks 1206 ist die Konfiguration sehr einfach. Zum Beispiel bei einem vollverschalteten Netzwerk mit einer mittleren Schicht (und natürlich einschließlich einer Eingabe- und einer Ausgabeschicht) und ohne Rückkopplung ist die Zahl der Verbindungen und dementsprechend die Zahl der Gewichte durch die Zahl der Elemente in jeder Schicht festgelegt. Dies ist der Fall des in Fig. 21 gezeigten Beispiels. Da bei dieser Art von Netzwerken die gleiche Gleichung für gewöhnlich in allen Elementen verwendet wird, müssen wir die Zahl der Elemente in jeder Schicht kennen. Dies bestimmt die Zahl der Gewichte und somit den gesamten Speicher, der zur Ausbildung des Netzwerks benötigt wird. Der modulare Aspekt der Erfindung aus Fig. 16 nutzt in vorteilhafterweise diesen Weg zur Vereinfachung der Spezifikation eines neuronalen Netzwerks. Angemerkt sei, daß kompliziertere Netzwerke mehr Konfigurationsinformation und deshalb mehr Speicher benötigen.
  • Die Erfindung betrachtet alle anderen Arten neuronaler Netzwerkskonfigurationen zur Verwendung als neuronales Netzwerk 1206. Alles, was für das neuronale Netzwerk 1206 benötigt wird, ist, daß das neuronale Netzwerk in der Lage ist, trainiert und neu trainiert zu werden, um so die benötigten Voraussagewerte zu liefern, die in der Prozeß-Steuerung verwendet werden.
  • B. Voraussage
  • In Fig. 21 ist eine repräsentative Ausführungsform eines vorwärts zuführenden neuronalen Netzwerks beschrieben. Dies ist nur ein Weg zur Veranschaulichung, wie ein neuronales Netzwerk arbeitet.
  • Eingabedaten 1220 werden den Eingabespeicherplätzen, die Eingänge 2102 genannt werden, zugeführt. Die Mittelschichtelemente 2106 empfangen jeweils die Eingabewerte von allen der Eingänge 2102 der Eingabeschicht 2104. Jedes Element hat ein Gewicht 2112, das mit jedem Eingabewert verbunden ist. Jedes Element 2106 multipliziert jeden Eingabewert 2102 mit dem Faktor des zugehörigen Gewichts 2112 und summiert diese Werte für alle Eingänge auf. Diese Summe wird dann als Eingabe für eine Gleichung (auch als Übertragungsfunktion oder Aktivierugsfunktion bezeichnet) verwendet, um eine Ausgabe oder Aktivierung für das Element zu liefern. Die Verarbeitung der Elemente 2106 in der mittleren oder verborgenen Schicht 2108 kann parallel durchgeführt werden, oder sie kann sequentiell durchgeführt werden.
  • Bei dem neuronalen Netzwerk mit nur einer mittleren Schicht, wie es in Fig. 21 gezeigt ist, werden die Ausgabewerte oder Aktivierungen dann berechnet. Für jedes Ausgabeelement 2106 werden die Ausgabewerte oder Aktivierungen von jedem der mittleren Elemente 2106 wieder hergestellt. Jede Ausgabe oder Aktivierung wird mit dem zugehörigen Gewicht 2112 multipliziert und diese Werte werden auch summiert. Diese Summe wird dann als Eingabe für eine Gleichung verwendet, die als Ergebnis die Ausgabedaten 1218 erzeugt. Somit erzeugt unter Verwendung der Eingabedaten 1220 ein neuronales Netzwerk 1206 Voraussagewerte für Ausgabedaten 1218.
  • Eine äquivalente Funktion kann unter Verwendung von analogen Mitteln erzielt werden.
  • C. Neuronales Netzwerk-Training
  • Die Gewichte 2112, die in dem neuronalen Netzwerk 1206 verwendet werden, sind einstellbare Konstanten, welche durch die Werte der vorausgesagten Ausgabedaten für gegebene Eingabedaten bestimmen (für jede gegebene neuronale Netzwerkkonfiguration). Die neuronalen Netzwerke sind bekannten statistischen Modellen überlegen, da neuronale Netzwerke diese Gewichte automatisch einstellen können. Somit sind neuronale Netzwerke in der Lage, die Struktur der Beziehung (oder Modell) zwischen den Eingabedaten 1220 und den Ausgabedaten 1218 durch Einstellen der Gewichte 2112 auszubilden. Während ein bekanntes statistisches Modell den Entwickler benötigt, um die Gleichung/Gleichungen, in denen die einstellbare Konstante/Konstanten verwendet werden, zu definieren, bildet das neuronale Netzwerk 1206 das Äquivalent zu der Gleichung/Gleichungen automatisch.
  • In Fig. 34 betrachtet die Erfindung verschiedene Ansätze für das Training des neuronalen Netzwerks 1206. Ein geeigneter Ansatz ist die Rückausbreitung. Die Rückausbreitung verwendet den Fehler zwischen den vorausgesagten Ausgabedaten 1218 und den zugehörigen Trainingseingabedaten 1306, wie sie durch den Trainingssatz (nicht gezeigt) geliefert werden, um zu bestimmen, wie sehr die Gewichte 2112 in dem Netzwerk 1206 einzustellen sind. Tatsächlich wird der Fehler zwischen den Voraussageausgabedatenwerten und den zugehörigen Trainingseingabedatenwerten rück über die Ausgabeschicht 2110 und über die mittlere Schicht 2108 ausgebreitet. Dies führt zu dem Namen Rückausbreitung.
  • Die korrekten Ausgabedatenwerte werden Trainingseingabedatenwerte genannt.
  • Das neuronale Netzwerk 1204 wird trainiert, indem es mit einem Trainingssatz/Trainingssätzen versorgt wird, die die tatsächliche Geschichte bekannter Eingabedatenwerte und zugehöriger korrigierter Ausgabedatenwerte sind. Wie anschließend beschrieben wird, verwendet die Erfindung die historische Datenbank mit den zugehörigen Zeitmarken zur automatischen Erzeugung eines Trainingssatzes/Trainingssätze.
  • Zum Trainieren des Netzwerks wird das neu konfigurierte neuronale Netzwerk für gewöhnlich initialisiert, indem allen seinen Gewichten 2112 Zufallszahlen zugewiesen werden. In Fig. 34 ist eine repräsentative Ausführungsform eines neuronalen Netzwerks 1206 gezeigt, wie es für den Trainingszweck konfiguriert ist. Während des Trainierens verwendet das neuronale Netzwerk 1206 seine Eingabedaten 1220 zur Erzeugung von Voraussageausgabedaten 1218, wie es im Anschluß in dem Abschnitt I. B., Voraussage, beschrieben wird.
  • Diese Voraussageausgabedatenwerte 1218 werden in Kombination mit Trainingseingabedaten 1306 zur Erzeugung von Fehlerdaten 3404 verwendet. Diese Fehlerdatenwerte 3404 werden dann zurück durch das Netzwerk über die Ausgabeelemente 2106 ausgebreitet und in Übereinstimmung mit der Gleichung oder Funktionen, die in diesen Elementen vorhanden sind, zur Einstellung der Gewichte 2112 zwischen der Ausgabeschicht 2110 und der mittleren oder verborgenen Schicht 2108 verwendet.
  • Entsprechend dem Rückausbreitungsverfahren, das als Trainingsverfahren, das für das neuronale Netzwerk 1206 verwendet werden können, illustrativ ist, wird ein Fehlerwert für jedes Element 2106 in der mittleren oder verborgenen Schicht 2108 durch Aufsummieren der Fehler der Ausgabeelemente 2106 jeweils multipliziert mit dem zugehörigen Gewicht 2112 an der Verbindung zwischen den mittleren Elementen 2166 in der mittleren Schicht 2108 und den entsprechenden Ausgabeelementen in der Ausgabeschicht 2110 berechnet. Diese Abschätzung des Fehlers für jedes Element der mittleren (verborgenen) Schicht wird dann in derselben Art zur Einstellung der Gewichte 2112 zwischen der Eingabeschicht 2104 und der mittleren (verborgenen) Schicht 2108 verwendet.
  • Es kann somit gesehen werden, daß der Fehler zwischen den Ausgabedaten 2118 und den Trainingseingabedaten 1306 rückwärts über das Netzwerk 1206 zur Einstellung der Gewichte 2112 ausgebreitet wird, so daß der Fehler verringert wird. Weitere Details können in "Parallel Distributed Processing. Explorations in the Microstructure of Cognition" von David E. Rumelhart und James L. McClelland, The MIT Press, Cambridge, Massachusetts, USA, 1986, und in "Explorations in Parallel Distributed Processing. A Handbook of Models, Programs, and Exercises" von James L. McClelland und David E. Rumelhart, The MIT Press, Cambridge, MA, 1988, gefunden, die durch Bezugnahme hier eingeschlossen sind.
  • D. Vorteile neuronaler Netzwerke
  • Neuronale Netzwerk sind statistischen Computermodellen überlegen, da neuronale Netzwerke keine Entwickler des neuronalen Netzwerkmodells benötigen, um die Gleichungen zu erzeugen, welche die bekannten Eingabedaten und die Trainingswerte mit den gewünschten Voraussagewerten (Ausgabedaten) verknüpft. Anders gesagt, das neuronale Netzwerk 1206 lernt die Beziehungen automatisch im Trainingsschritt 104.
  • Es ist jedoch anzumerken, daß das neuronale Netzwerk 1206 die Sammlung von Trainingseingabedaten mit den zugehörigen Eingabedaten benötigt, die auch Trainingssatz genannt werden. Der Trainingssatz muß gesammelt und geeignet formatiert sein. Der bekannte Ansatz dies zu tun, ist es, eine Disk-Datei auf einem Computer zu schaffen, auf dem das neuronale Netzwerk läuft.
  • Im Gegensatz dazu, wird dies erfindungsgemäß automatisch unter Verwendung einer historischen Datenbank 1210 (Fig. 12) getan. Dies vermeidet die Fehler und die Zeit, die mit dem bekannten Ansatz verbunden sind. Dies verbessert auch beachtlich die Effektivität der Trainingsfunktion, da sie wesentlich öfter durchgeführt werden kann.
  • II. KURZE ÜBERSICHT
  • In den Fig. 1 und 12 ist die Erfindung ein neuronales Computernetzwerksystem und ein Verfahren, welches Voraussageausgabedatenwerte 1218 unter Verwendung eines trainierten Netzwerks erzeugt, dem Eingabedaten 1220 mit einem vorgegebenen Intervall zugeführt werden. Die Voraussagedaten 1218 werden über eine historische Datenbank 1210 einer Steuerung 1202 zugeführt, die einen Prozeß 1212 steuert, welcher ein Produkt 1216 erzeugt. Auf diese Art werden die Prozeßbedingungen 1906 und Produkteigenschaften 1904 (Fig. 19 und 20) auf einem gewünschten Qualitätsniveau gehalten, auch wenn von diesen wichtige nicht effektiv gemessen oder unter Verwendung bekannter grundlegender oder bekannter statistischer Ansätze modelliert werden können.
  • Die Erfindung kann durch einen Entwickler unter Verwendung eines "neuronalen Netzwerkkonfigurations"-Schritts und Moduls 104 konfiguriert werden. Verschiedene Parameter des neuronalen Netzwerks können ohne Kenntnis spezieller Computersyntax und ohne Training durch den Entwickler unter Verwendung der natürlichen Sprache spezifiziert werden. Auf diese Art ermöglicht es die Erfindung einem Experten bezüglich des Prozesses, der gemessen wird, die Erfindung zu konfigurieren, ohne die Verwendung eines Experten für neuronale Netzwerke.
  • In Fig. 34 wird das neuronale Netzwerk automatisch On-line unter Verwendung von Eingabedaten 1220 und zugehörigen Trainingseingabedaten 1306 mit Zeitmarken (zum Beispiel von einer Uhr 1230) trainiert. Die Eingabedaten und zugehörigen Trainingseingabedaten werden in einer historischen Datenbank 1210 gespeichert, welche diese Daten 1220, 1306 dem neuronalen Netzwerk 1206 zum Training in vorgegeben Intervallen zuführt.
  • Der (vorausgesagte) Ausgabedatenwert 1218, der vom neuronalen Netzwerk erzeugt wird, wird in der historischen Datenbank gespeichert. Der gespeicherte Ausgabedatenwert 1218 wird der Steuerung 1202 zur Steuerung des Prozesses solange zugeführt, solange die Fehlerdaten 1504 zwischen den Ausgabedaten 1218 und den Trainingseingabedaten 1306 unterhalb eines akzeptablen Maßes liegen.
  • Die Fehlerdaten 1504 werden ebenfalls zum automatischen Neutrainieren des neuronalen Netzwerks verwendet. Das Neutrainieren tritt typischerweise auf, während das neuronale Netzwerk die Steuerung über die historische Datenbank mit Ausgabedaten versorgt. Das Neutrainieren des neuronalen Netzwerks führt zu Ausgabedaten, die sich den Trainingseingabedaten so weit wie möglich während des Betriebs des Prozesses annähern. Auf diese Art kann die Erfindung effektiv Änderungen im Prozeß adaptieren, die bei einer kommerziellen Anwendung auftreten können.
  • Ein modularer Ansatz für das neuronale Netzwerk, wie er in Fig. 16 gezeigt ist, wird verwendet, um die Konfiguration zu vereinfachen und um eine größere Robustheit zu erzeugen. Im wesentlichen ist die Modularität unterteilt in das Spezifizieren von Daten und das Aufrufen von Unterroutinen unter Verwendung von Zeigern.
  • Bei der Konfiguration des neuronalen Netzwerks, wie es in Fig. 22 gezeigt ist, werden Datenzeiger 2204 und 2206 spezifiziert. Ein Schablonenansatz, wie er in den Fig. 26 und 27 gezeigt ist, wird verwendet, um den Entwickler bei der Konfiguration des neuronalen Netzwerks zu unterstützen, ohne daß seine tatsächliche Programmierung durchzuführen ist.
  • Die Erfindung ist ein On-line-Prozeß-Steuersystem und Verfahren. Der Begriff "On-line" zeigt an, daß die in der Erfindung verwendeten Daten direkt von den Datenaquisitionssystemen gesammelt werden, die diese Daten generieren. Ein On-line-System kann verschiedene Charakteristika haben. Eine Charakteristik ist die Verarbeitung von Daten, wenn die Daten erzeugt werden. Dies kann auch Echtzeitbetrieb genannt werden. Im allgemeinen erfordert der Echtzeitbetrieb, daß die Daten hinreichend schnell für eine effiziente Antwort auf die Situation detektiert, verarbeitet und umgesetzt werden. Im Zusammenhang mit der Prozeß-Steuerung bedeutet Echtzeit, daß auf die Daten schnell genug reagiert werden kann, um den Prozeß in dem gewünschten Steuerzustand zu halten.
  • Im Gegensatz dazu, können auch Off-line-Verfahren verwendet werden. Bei Off-line-verfahren sind die verwendeten Daten zu einem Zeitpunkt in der Vergangenheit erzeugt worden, und es wird nicht versucht, in irgendeiner Art zu reagieren, die die Situation beeinflußt. Es ist zu verstehen, daß, während die bevorzugte Ausführungsform der Erfindung einen On-line-Ansatz verwendet, alternative Ausführungsformen Off-line-Ansätze in verschiedenen Stufen oder Modulen einsetzen können.
  • III. VERWENDUNG IN KOMBINATION MIT EXPERTENSYSTEMEN
  • Die obige Beschreibung neuronaler Netzwerke und die neuronalen Netzwerke, wie sie erfindungsgemäß verwendet werden, im Zusammenhang mit der Beschreibung des Problems der Messung in einer Prozeß-Steuerumgebung, liefern den Hintergrundabschnitt, der zeigt, daß neuronale Netzwerke eine einzigartige und nützliche Fähigkeit zu Prozeß-Steuersystemen hinzufügen. Sie ermöglichen die preiswerte Bildung von. Voraussagen für Messungen, die schwierig oder unmöglich zu erhalten sind. Diese Fähigkeit öffnet ein neues Spektrum an Möglichkeiten zur Verbesserung der Qualitätssteuerung bei Herstellungsprozessen. Neuronale Netzwerke, wie sie in der Erfindung verwendet werden, dienen als Quelle von Eingabedaten, die von Steuervorrichtungen verschiedener Typen bei der Steuerung des Verfahrens verwendet werden.
  • Expertensysteme schaffen eine vollständig getrennte und vollständig komplementäre Fähigkeit für Prozeß-Steuerungssysteme. Expertensysteme sind im wesentlichen entscheidungstreffende Programme, die ihre Entscheidungen auf die Prozeßkenntnis stützen, die typischerweise in Form von Wenn- Dann-Regeln dargestellt sind. Jede Regel in einem Expertensystem trifft eine kleine Aussage bezüglich der Wahrheit im Zusammenhang mit etwas, das über das Verfahren bekannt ist oder bekannt sein kann, zu etwas, das von diesem Wissen beeinflußt sein kann. Durch Kombination der anwendbaren Regeln gelangt ein Expertensystem zu Schlüssen oder trifft Entscheidungen, die das Entscheidungstreffen menschlicher Experten nachahmt.
  • Die Systeme und Verfahren, die in verschiedenen der US-Patente und Patentanmeldungen, die durch Bezugnahme oben eingeschlossen sind, verwenden Expertensysteme bei der Steuersystemarchitektur und beim Verfahren, um diese Entscheidungsfindungsfähigkeit dem Prozeß-Steuersystem hinzuzufügen. Wie vorangehend beschrieben wurde, liefern in diesen Patenten und Patenanmeldungen Expertensysteme eine sehr vorteilhafte Funktion bei der Implementation von Prozeß- Steuersystemen.
  • Die Erfindung fügt eine unterschiedliche Fähigkeit des Einsatzes neuronaler Netzwerke für Messungen, die schwierig zu erhalten sind, hinzu. Die Vorteile der Erfindung sind sowohl konsistent als auch komplementär zu den Fähigkeiten, die von den oben genannten Patenten und Patentanmeldungen unter Verwendung von Expertensystemen geliefert werden. Tatsächlich liefert die Kombination von neuronalen Netzwerkfähigkeiten mit Expertensystemfähigkeiten in einem Steuersystem noch größere Vorteile als eine der Fähigkeiten allein liefert. Beispielsweise kann ein Prozeß-Steuerproblem eine schwierige Messung und auch die Verwendung von Entscheidungsfindungstechniken bei der Strukturierung oder Implementierung der Steuerantwort erfordern. Durch Kombination der neuronalen Netzwerk- und Expertensystemfähigkeiten in einer einzelnen Steueranwendung können bessere Ergebnisse als unter Verwendung einer der Techniken allein erzielt werden.
  • Es ist somit zu verstehen, daß, obwohl die Erfindung in erster Linie die Verwendung neuronaler Netzwerke für Prozeß- Steuerung betrifft, es sehr vorteilhaft sein kann, dies mit Expertensystemerfindungen zu kombinieren, die in den voran genannten Patenten und Patentanmeldungen beschrieben sind, um eine noch bessere Fähigkeit zur Lösung von Prozeß-Steue rungsproblemen zu haben. Wie vorangehend beschrieben wurde, werden bei der Einrichtung in der modularen Prozeß-Steuerungssystemarchitektur die neuronalen Netzwerkfunktionen leicht mit Expertensystemfunktionen und anderen Steuerfunktionen kombiniert, um solche integrierten Prozeß-Steuerunganwendungen zu erzeugen. Somit liefert, obwohl die Erfindung auch alleine verwendet werden kann, sie einen noch größeren Wert, wenn sie in Kombination mit Expertensystemerfindungen - wie in den obengenannten Patenten oder Patentanmeldungen - verwendet wird.
  • IV. BEVORZUGTES BETRIEBSVERFAHREN
  • Das bevorzugte erfindungsgemäße Betriebsverfahren speichert Eingabedaten und Trainingsdaten, konfiguriert und trainiert ein neuronales Netzwerk, sagt Ausgabedaten unter Verwendung des neuronalen Netzwerks voraus, trainiert das neuronale Netzwerk neu und schaltet die Steuerung unter Verwendung der Ausgabedaten frei oder sperrt sie und steuert den Prozeß unter Verwendung der Ausgabedaten. Wie in Fig. 1 gezeigt ist, werden in dem erfindungsgemäßen Verfahren mehr als ein Schritt oder Modul parallel ausgeführt. Wie mit den auseinanderlaufenden Befehlszeigern 120 gezeigt ist, werden die ersten zwei Schritte oder Module der Erfindung parallel ausgeführt. Zunächst werden in einem Schritt oder Modul 102 Eingabedaten und Trainingseingabedaten in der historischen Datenbank mit zugehörigen Zeitmarken gespeichert. Parallel dazu wird das neuronale Netzwerk im Schritt 104 konfiguriert und trainiert. Als nächstes werden zwei Reihen von Schritten oder Modulen parallel zueinander ausgeführt, wie es in Richtung des Zeiger 122 gezeigt ist. Zunächst wird in einem Schritt oder Modul 106 das neuronale Netzwerk zur Voraussage von Ausgabedaten unter Verwendung von in der historischen Datenbank gespeicherten Eingabedaten verwendet. Als nächstes wird in dem Schritt oder Modul 108 das neuronale Netzwerk unter Verwendung der in der historischen Da tenbank gespeicherten Trainingseingabedaten neu trainiert. Als nächstes wird in dem Schritt oder Modul 110 die Steuerung unter Verwendung der Ausgabedaten freigeschaltet oder gesperrt, wobei parallel in einem Schritt oder Modul 112 die Steuerung des Prozesses unter Verwendung der Ausgabedaten ausgeführt wird, wenn im Schritt oder Modul 110 die Freigabe erfolgt ist.
  • A. Schritt und Modul 102 zum Speichern von Eingabedaten und Trainingseingabedaten
  • Wie in Fig. 1 gezeigt ist, zeigt ein Befehlszeiger 120 an, daß ein Schritt 102 und ein Schritt 104 parallel zueinander ausgeführt werden. Im Schritt 102 wird dieser als Eingabedaten- und Trainingseingabedatenspeicherschritt und Modul bezeichnet. Fig. 2 zeigt den Schritt und Modul 102 detaillierter.
  • In den Fig. 1 und 2 haben der Schritt und das Modul 102 die Funktion des Speicherns von Eingabedaten 1220 und des Speicherns von Trainingseingabedaten 1306. Beide Arten von Daten werden beispielsweise in einer historischen Datenbank 1210 (siehe Fig. 12 und die zugehörigen Strukturdiagramme) gespeichert. Alle gespeicherten Eingabedaten und Trainingseingabedaten, die in die historische Datenbank 1210 gelangen, verwenden eine zugehörige Zeitmarke. Die zugehörige Zeitmarke ermöglicht es dem System und dem Verfahren der Erfindung, die relative Zeit zu bestimmen, die eine bestimmte Messung oder Voraussagewert oder Meßwert benötigt hat, um erzeugt oder abgeleitet zu werden.
  • Ein repräsentatives Beispiel des Schritts und Moduls 102 ist in Fig. 2 gezeigt, die im folgenden beschrieben wird. Der Befehlszeiger 120, wie er in Fig. 2 gezeigt ist, zeigt an, daß Eingabedaten 1220 und Trainingseingabedaten 1306 parallel in der historischen Datenbank 1210 gespeichert sind. Genauer gesagt, die Eingabedaten von den Sensoren 1226 (siehe Fig. 12 und 13) werden durch Abtasten mit bestimmten Zeitintervallen des Sensorsignals 1224, das vom Ausgang des Sensors 1226 erzeugt wird, erzeugt. Die Abtastung erzeugt einen Eingabedatenwert oder Zahl oder Signal. Diese werden alle Eingabedaten 1220 genannt, so wie es in der Erfindung verwendet wird. Die Eingabedaten werden mit einer zugehörigen Zeitmarke in der historischen Datenbank 1210 gespeichert, wie es im Schritt und Modul 202 angezeigt ist. Die zugehörige Zeitmarke, die in der historischen Datenbank mit den Eingabedaten gespeichert wird, zeigt den Zeitpunkt an, zu dem die Eingabedaten erzeugt, abgeleitet, berechnet usw. wurden.
  • Ein Schritt oder Modul 204 zeigt, daß der nächste Eingabedatenwert im Schritt 202 gespeichert wurde, nachdem ein vorgegebenes Eingabedatenspeicherintervall abgelaufen oder in der Zeit vergangen ist. Dieses Eingabedatenspeicherintervall, das durch den Schritt und Modul 204 verwirklicht ist, kann auf jeden bestimmten Wert gesetzt werden. Typischerweise wird es beruhend auf den Charakteristika des gesteuerten Prozesses ausgewählt.
  • Wie es in Fig. 2 gezeigt ist, werden zusätzlich zu der Abtastung und dem Speichern der Eingabedaten zu vorgegebenen Eingabedatenspeicherintervallen auch Trainingseingabedaten 1306 gespeichert. Genauer gesagt, wie es im Schritt und Modul 206 gezeigt ist, werden die Trainingseingabedaten mit zugehörigen Zeitmarken in der historischen Datenbank 1210 gespeichert. Erneut, die im Zusammenhang mit den Trainingseingabedaten verwendeten zugehörigen Zeitmarken zeigen die relative Zeit an, zu der die Trainingseingabedaten abgeleitet, erzeugt oder erhalten werden. Es ist zu verstehen, daß dies für gewöhnlich die Zeit ist, in der die Prozeßbedingung oder das Produkt in geeigneter Weise tatsächlich in dem Prozeß oder Produkt vorliegt. Anders gesagt, da es typischerweise einen relativ langen Zeitabschnitt benötigt, um die Trainingseingabedaten zu erzeugen (aufgrund von Laboranalysen und ähnlichem, was für gewöhnlich durchzuführen ist), ist es genauer, einen Zeitenmarke zu verwenden, welche die tatsächliche Zeit angibt, wenn der gemessene Zustand in dem Prozeß vorliegt, anstatt anzuzeigen, wann die Trainingseingabedaten in die historische Datenbank eingegeben wurden. Dies erzeugt eine wesentlich engere Korrelation zwischen den Trainingseingabedaten 1306 und den zugehörigen Eingabedaten 1220. Diese enge Korrelation wird benötigt, wie es anschließend detalliert diskutiert wird, um effektiver das System und das Verfahren der Erfindung zu trainieren und zu steuern.
  • Die Trainingseingabedaten werden in der historischen Datenbank 1210 in Übereinstimmung mit einem spezifischen Trainingseingabedatenspeicherintervall, wie es im Schritt und Modul 208 angezeigt ist, gespeichert. Während dies ein festes Zeitintervall sein kann, ist es dies typischerweise nicht. Eher ist es ein Zeitintervall, das diktiert wird, wenn die Trainingseingabedaten tatsächlich durch das Labor oder andere Mechanismen, die zur Erzeugung der Trainingseingabedaten 1306 verwendet werden, erzeugt werden. Wie es im Anschluß detailliert diskutiert wird, benötigt dies oft eine variable Zeit zur Bewerkstelligung in Abhängigkeit des Prozesses, des zur Erzeugung der Trainingsdaten verwendeten Mechanismus und anderer Variablen, die sowohl mit dem Prozeß als auch mit der Messung/dem Analyseprozeß verbunden sind, die zur Erzeugung der Trainingseingabedaten verwendet werden.
  • Wichtig ist es hier, zu verstehen ist, daß das spezifische Eingabedatenspeicherintervall für gewöhnlich beachtlich kürzer als das spezifische Trainingseingabedatenspeicherintervall des Schritts und Moduls 204 ist.
  • Es ist zu sehen, daß der Schritt und Modul 102 dazu führt, daß die historische Datenbank 1210 Werte für Eingabedaten und Trainingseingabedaten mit zugehörigen Zeitmarken empfängt. Diese Werte werden zur Verwendung durch das System und das Verfahren der Erfindung in Übereinstimmung mit den Schritten und Modulen gespeichert, die detailliert im Anschluß beschrieben werden.
  • 8. Neuronaler Netzwerkkonfigurations- und Trainings- schritt und Modul 104
  • Wie es in Fig. 1 gezeigt ist, zeigt der Befehlszeiger 120 an, daß ein neuronaler Netzwerkkonfigurations- und Trainingsschritt und Modul 104 parallel mit dem Eingabedaten und Trainingseingabedatenspeicherschritt und Modul 102 ausgeführt wird. Der Zweck des Schritts und Moduls 104 ist es, das neuronale Netzwerk 1206 (siehe Fig. 12) zu konfigurieren und zu trainieren.
  • Insbesondere zeigt der Befehlszeiger 120 an, daß der Schritt und das Modul 104 zuzüglich aller anschließenden Schritte und Module parallel zu dem Schritt und Modul 102 ausgeführt wird.
  • Fig. 3 zeigt ein repräsentatives Beispiel des Schritts und Moduls 104. Wie es in Fig. 3 zu sehen ist, besteht diese repräsentative Ausführungsform aus fünf Schritten und Modulen 302, 304, 306, 308 und 310.
  • In Fig. 3 zeigt ein Befehlszeiger 120 an, daß der erste Schritt und Modul dieser repräsentativen Ausführungsform ein neuronaler Netzwerkkonfigurationsschritt und Modul 302 ist. Der neuronale Netzwerkkonfigurationsschritt und Modul 302 wird verwendet, um die Struktur und die Parameter des neuronalen Netzwerks 1206 festzulegen, das durch das System und das Verfahren der Erfindung verwendet wird. Wie im An schluß detailliert diskutiert wird, sind die tatsächlichen Schritte und Module, die zum Aufbau der Struktur und der Parameter des neuronalen Netzwerks 1206 verwendet werden, in Fig. 8 gezeigt.
  • Nachdem das neuronale Netzwerk 1206 im Schritt und Modul 302 konfiguriert wurde, zeigt der Befehlszeiger 312 an, daß ein Wartetrainingsdatenintervallschritt und Modul 304 auftritt oder verwendet wird. Der Wartetrainingsdatenintervalischritt und Modul 304 spezifiziert, wie oft die historische Datenbank 1210 betrachtet wird, um zu bestimmen, ob irgendwelche neue Trainingsdaten, die zum Trainieren des neuronalen Netzwerks 1206 verwendet werden, vorhanden sind. Es sei angemerkt, daß das Trainingsdatenintervall des Schritts und Moduls 304 nicht der gleiche wie das festgelegte Trainingseingabedatenspeicherintervall des Schritts und Moduls 206 aus Fig. 2 ist. Jeder gewünschte Wert für das Trainingsdatenintervall kann im Schritt und Modul 304 verwendet werden.
  • Ein Befehlszeiger 314 zeigt an, daß der nächste Schritt und Modul ein "neue Trainingseingabedaten"-Schritt und Modul 306 ist. Dieser Schritt und dieses Modul 306 werden verwendet nach dem Ablauf des Trainingsdatenintervalls, das im Schritt und Modul 304 festgelegt wurde. Der Zweck des Schritts und Moduls 306 ist es, die historische Datenbank 1210 zu untersuchen, um festzustellen, ob neue Trainingsdaten in der historischen Datenbank gespeichert wurden seit dem letztenmal, daß die historische Datenbank 1210 nach neuen Trainingsdaten untersucht wurde. Die Anwesenheit neuer Trainingsdaten erlaubt es dem System und dem Verfahren der Erfindung, das neuronale Netzwerk 1206 zu trainieren, wenn weitere Parameter/Bedingungen erfüllt sind. Fig. 9, die anschließend diskutiert wird, zeigt eine spezifische Ausführungsform des Schritts und Moduls 306.
  • Ein Befehlszeiger 318 zeigt an, daß, wenn Schritt und Modul 306 anzeigen, daß keine neuen Trainingsdaten in der historischen Datenbank 1210 vorhanden sind, der Schritt und Modul 306 dem Betrieb des Schritts und Moduls 104 zum Schritt und Modul 304 zurückbringen.
  • Im Gegensatz dazu, wenn neue Trainingsdaten in der historischen Datenbank 1210 vorliegen, veranlaßt der Schritt und das Modul 306, wie es durch den Befehlszeiger 316 angezeigt ist, den Schritt und das Modul 104 zu einem neuronalen Netzwerktrainingsschritt und Modul 308 zu bewegen. Der neuronale Netzwerktrainingsschritt und Modul 308 ist das tatsächliche Trainieren des neuronalen Netzwerks 1206 unter Verwendung der neuen Trainingsdaten, die von der historischen Datenbank 1210 wieder hergestellt wurden. Fig. 10, die anschließend detailliert diskutiert wird, zeigt eine repräsentative Ausführungsform des neuronalen Netzwerktrainingsschritts und Moduls 308.
  • Nachdem das neuronale Netzwerk im Schritt und Modul 308 trainiert wurde, bewegt der Schritt und das Modul 104, wie es durch einen Befehlszeiger 320 angezeigt ist, zu einem "Fehler akzeptierbar?"-Schritt oder -Modul 310. Der "Fehler akzeptierbar?"-Schritt und Modul 310 bestimmt, ob die durch das neuronale Netzwerk 1206 erzeugten Fehlerdaten 1504 innerhalb eines akzeptablen Maßes sind, wobei der Fehler anzeigt, daß das neuronale Netzwerk 1206 Ausgabedaten 1218 liefert, die hinreichend nah an den Trainingseingabedaten 1306 sind, um die Verwendung der Ausgabedaten 1218 von dem neuronalen Netzwerk 1206 zu erlauben. Anders gesagt, ein akzeptabler Fehler zeigt an, daß das neuronale Netzwerk 1206 "trainiert" wurde, wenn Trainieren durch den Benutzer des Systems und des Verfahrens der Erfindung spezifiziert wurde. Ein repräsentatives Beispiel des "Fehler akzeptierbar?"-Schritts und Moduls 310 ist in Fig. 11 gezeigt, die anschließend detailliert diskutiert wird.
  • Wenn ein nichtakzeptabler Fehler durch den "Fehler akzeptierbar?"-Schritt und Modul 310 bestimmt wurde, zeigt ein Befehlszeiger 322 an, daß der Schritt und Modul 104 zu dem Wartetrainingsdatenintervallschritt und Modul 304 zurückkehrt. Anders gesagt, dies bedeutet, daß der Schritt und Modul 104 das Trainieren des neuronalen Netzwerks 1206 nicht beendet hat. Da das neuronale Netzwerk 1206 noch nicht trainiert wurde, muß das Training fortgesetzt werden, bis das System und das Verfahren der Erfindung zu dem Schritt und Modul 106 fortbewegen kann, die anschließend diskutiert sind.
  • Im Gegensatz dazu, wenn der "Fehler akzeptierbar?"-Schritt und Modul 310 bestimmt, daß ein akzeptabler Fehler von dem neuronalen Netzwerk 1206 erhalten wird, dann hat der Schritt und das Modul 104 das neuronale Netzwerk 1206 trainiert. Da das neuronale Netzwerk 1206 nun trainiert ist, ermöglicht der Schritt 104 dem System und dem Verfahren der Erfindung, sich zu den Schritten und Verfahren 106 und 312 zu bewegen, die anschließend diskutiert werden.
  • Die speziellen Ausführungsformen der Schritte und Module 104 werden nun diskutiert.
  • 1. !Neuronaler-Netzwerkkonfigurations!-Schritt und -Modul 302
  • In Fig. 8 ist eine repräsentative Ausführungsform des neuronalen Netzwerkkonfigurationsschritts und Moduls 302 gezeigt. Dieser Schritt und Modul ermöglicht die Verwendung der Erfindung sowohl zum Konfigurieren als auch zum Neukonfigurieren des neuronalen Netzwerks. In Fig. 8 zeigt ein Befehlszeiger 120 an, daß der erste Schritt und Modul ein "Trainingsspezifizierungs- und Voraussagezeitsteuerungs"- Schritt und -Modul 802 ist. Der Schritt und das Modul 802 ermöglichen es der das System und das Verfahren der Erfindung konfigurierenden Person, das Trainingsintervall bzw. die Trainingsintervalle und das Voraussagezeitsteuerungsintervall/-intervalle des neuronalen Netzwerks 1206 zu spezifizieren.
  • Fig. 31 zeigt eine repräsentative Ausführungsform des Schritts und Moduls 802. In Fig. 31 ist der Schritt und das Modul 802 aus vier Schritten und Modulen 3102, 3104, 3106 und 3108 aufgebaut. Der Schritt und das Modul 3102 ist ein "Trainingszeitsteuerungsverfahrensspezifizierungs"-Schritt und -Modul. Der "Trainingszeitsteuerungsverfahrensspezifizierungs"-Schritt und -Modul 3102 ermöglicht es dem die Erfindung konfigurierenden Benutzer, das Verfahren oder die Prozedur zu spezifizieren, der gefolgt wird, wenn das neuronale Netzwerk 1206 trainiert wird. Ein repräsentatives Beispiel hiervon ist, wenn alle Trainingsdaten aufgefrischt wurden. Ein weiteres Beispiel ist der Ablauf eines festen Zeitintervalls. Weitere Verfahren und Prozeduren können verwendet werden.
  • Ein Befehlszeiger zeigt an, daß dann ein "Trainingszeitsteuerungsparameterspezifizierungs"-Schritt und -Modul 3104 durch den Benutzer der Erfindung ausgeführt wird. Dieser Schritt und Modul 3104 ermöglichen es, alle benötigen Trainingszeitsteuerungsparameter zu spezifizieren. Es ist zu beachten, daß das Verfahren oder die Prozedur des Schritts und Moduls 3102 zu null oder mehr Trainingszeitsteuerungsparametern führen kann, die jeweils einen Wert haben. Dieser Wert kann ein Zeitwert, eine Modulnummer (in der modularen Ausführungsform der Erfindung aus Fig. 16) oder ein Datenzeiger sein. Anders gesagt, der Benutzer kann die Erfindung so konfigurieren, daß beachtliche Flexibilität dahingehend erzielt werden kann, wie das Trainieren des neuronalen Netzwerks 1206 beruhend auf dem Verfahren oder der Prozedur des Schritts und Moduls 3102 auftritt.
  • Ein Befehlszeiger zeigt an, daß, wenn der oder die Trainingszeitsteuerungsparameter 3104 spezifiziert sind, ein "Voraussagezeitsteuerungsverfahrensspezifizierungs"- Schritt und -Modul 3106 durch den Benutzer der Erfindung konfiguriert wird. Dieser Schritt und Modul 3106 spezifizieren das Verfahren oder die Prozedur, die durch das neuronale Netzwerk 1206 verwendet werden wird, um zu bestimmen, wann Ausgabedatenwerte 1218 vorausgesagt werden, nachdem es trainiert wurde. Dies steht im Gegensatz zu dem tatsächlichen Trainieren des neuronalen Netzwerks 1206. Repräsentative Beispiele für Verfahren und Prozeduren des Schritts 3106 sind das Ausführen nach einem festen Zeitintervall, das Ausführen nach dem Ausführen eines bestimmten Moduls oder dem Ausführen nach einem Auffrischen eines spezifischen Datenwertes. Weitere Verfahren und Prozeduren können verwendet werden.
  • Ein Richtungsanzeiger in Fig. 31 zeigt an, daß ein Voraussagezeitsteuerungsparameterspezifizerungsschritt und -Modul 3108 dann durch den Benutzer der Erfindung ausgeführt wird. Jeder benötigte Voraussagezeitsteuerungsparameter für das Verfahren oder die Prozedur des Schritts und Moduls 3105 kann spezifiziert werden. Beispielsweise kann das Zeitintervall als ein Parameter für das Ausführen eines "bestimmtes Zeitintervall"-Verfahrens oder -Prozedur spezifiziert werden. Weitere Beispiele sind die Spezifikation eines Modulidentifizierers, wenn "Ausführung nach der Ausführung eines bestimmten Moduls"-Verfahren oder -Prozedur bestimmt wurden. Weitere Beispiele sind ein Datenzeiger, wenn das "Auffrischen eines Datenwertes"-Verfahren oder -Prozedur verwendet wird. Weitere Betriebszeitsteuerungsparameter können verwendet werden.
  • In Fig. 8 wird, nachdem der "Training-Spezifizierungs-und- Voraussage-Zeitsteuerungs"-Schritt oder -Modul 802 spezifiziert wurde, ein "Neuronales-Netzwerk-Größen-Festlegungs"- Schritt oder -Modul 804 ausgeführt. Dieser Schritt oder Modul 804 ermöglicht es dem Benutzer, die Größe und die Struktur des neuronalen Netzwerks 1206, das in der Erfindung verwendet wird, festzulegen.
  • Erneut ist in Fig. 31 speziell ein repräsentatives Beispiel dargestellt, wie die Größe des neuronalen Netzwerks durch den Schritt und das Modul 804 spezifiziert werden kann. Ein Befehlszeiger zeigt an, daß der "Eingangs-Anzahl-Bestimmungs"-Schritt oder -Modul 3110 es dem Nutzer ermöglicht, anzuzeigen, wie viele Eingänge das neuronale Netzwerk 1206 haben soll. Es sei angemerkt, daß die Quelle der Eingabedaten für eine vorgegebene Anzahl von Eingängen durch den Benutzer in diesem Schritt oder Modul 3110 noch nicht spezifiziert wird. Nur der tatsächliche Wert der Eingaben wird in dem Schritt und dem Modul 3110 spezifiziert.
  • Da die Zahl der Eingänge im Schritt oder Modul 3110 spezifiziert wurde, kann der Benutzer die Zahl der mittleren (verborgenen) Schichtelemente in dem neuronalen Netzwerk 1206 zur Verwendung eines Schritts oder Verfahrens 3112 bestsimmen. Mit mittleren Elementen ist jenes von einer oder mehreren internen Schichten 2108 des neuronalen Netzwerks gemeint, die vom Benutzer spezifiziert sind. Die Erfindung betrachtet ein neuronales Netzwerk mit Null oder mehr mittleren Schichten 2108. Typischerweise wird eine mittlere Schicht verwendet, wobei jedoch auch zwei oder mehr mittlere Schichten betrachtet werden.
  • Ein Befehlszeiger zeigt an, daß, wenn einmal die Zahl der mittleren Elemente in dem Schritt oder Modul 3112 spezifiziert wurde, die Zahl der Ausgabedaten der Ausgänge 2106 in dem neuronalen Netzwerks 1206 spezifiziert werden kann, wie es durch einen Schritt oder Modul 3114 angegeben ist. Es sei angemerkt, daß im Schritt oder Modul 3114 nicht angegeben wird, wo die Ausgaben des neuronalen Netzwerks 1206 zu speichern sind. Statt dessen werden nur die Anzahl der Ausgänge in diesem Schritt der Erfindung spezifiziert.
  • Wie diskutiert wurde, betrachtet die Erfindung jegliche momentan bekannte und künftig zu entwickelnde Konfiguration der Struktur des neuronalen Netzwerks 1206. Somit können die Schritte oder Module 3110, 3112 oder 3114 so modifiziert werden, daß sie es dem Benutzer erlauben, die verschiedenen Konfigurationen des neuronalen Netzwerks 1206 festzulegen.
  • In Fig. 8, wenn die Größe des neuronalen Netzwerks im Schritt oder Modul 804 spezifiziert wurde, kann der Benutzer die Trainings- und Voraussagemodi in einem Schritt oder Modul 806 spezifizieren. Der Schritt oder Modul 806 erlaubt sowohl die Festlegung der Trainings- als auch Voraussagemodi. Er erlaubt auch Verwendung der Datenkoordination im Trainingsmodus.
  • Ein repräsentatives Beispiel des "Trainings-und-Voraussagemodi-Spezifizierungs"-Schritts oder -Moduls 806 ist in Fig. 31 gezeigt. Es wird durch die Schritte und Module 3116, 3118 und 3120 gebildet.
  • Wie gezeigt wird, gibt ein Befehlszeiger an, das der Benutzer die Voraussage und Trainingsmodi in dem Schritt oder Modul 3116 spezifizieren kann. Dies sind Ja/Nein oder An/Aus-Einstellungen. Da in diesem Schritt das System und das Verfahren der Erfindung im Trainingsmodus betrieben wird, gehen der Schritt und das Modul 3116 typischerweise nur zu der Fehlereinstellung des Trainingsmodus. Es ist jedoch zu verstehen, daß die Erfindung auch den Fall betrach tet, daß es dem Benutzer ermöglicht wird, unabhängig den Voraussage- oder Trainingsmodus zu steuern.
  • Wenn der Voraussagemodus freigeschaltet oder "AN" ist, sagt das neuronale Netz 1206 die Ausgabedatenwerte 1218 unter Verwendung der wiederhergstellten Eingabedatenwerte 1220 voraus, wie es unten beschrieben wird. Wenn der Trainingsmodus freigeschaltet oder "AN"-geschaltet ist, wird das Netzwerk 1206 die historische Datenbank 1210 für neue Trainingsdaten abfragen und unter Verwendung dieser Trainingsdaten trainieren, wie es anschließend beschrieben wird.
  • Ein Befehlszeiger zeigt an, daß, wenn einmal im Schritt oder Modul 3116 die Voraussage- und Trainingsmodi spezifiziert wurden, der Benutzer die Voraussage- und Trainingsspeichermodi in einem Schritt oder Modul 3118 spezifizieren kann. Dies sind AN/AUS, JA/NEIN-Werte. Sie ermöglichen es dem Benutzer, festzulegen, ob die in den Voraussage- und/oder Trainingsmodi erzeugten Ausgabedaten für mögliche spätere Verwendung gespeichert werden oder nicht. In einigen Fällen wird der Benutzer spezifizieren, daß diese nicht gespeichert werden, und in einer solchen Situation werden sie, nach dem der Voraussage- oder Trainingsmodus durchgeführt wurde, verworfen. Beispiel von Situationen, in denen das Speichern nicht benötigt wird, sind folgende:
  • Zunächst einmal, wenn der "Fehler akzeptierbar"- Maßwert im Trainingsmodus anzeigt, daß die Ausgabedaten schlecht sind und ein Neutraining nötig ist, wird es keinen Grund geben, diese Ausgabedaten zu halten.
  • Ein weiteres Beispiel gibt es im Voraussagemodus, wo die Ausgabedaten nicht gespeichert sondern nur benutzt werden.
  • Weitere Situationen, in denen keine Speicherung benötigt wird, sind möglich.
  • Ein Befehlszeiger zeigt an, daß dann ein "Trainingsdaten- Koordinationsmodus-Spezifizierungs"-Schritt oder Modul 3102 durch den Benutzer spezifiziert wird. Oftmals müssen Trainingseingabedaten 1306 in irgendeiner Art mit Eingabedaten 1220 korreliert werden. Dieser Schritt oder Modul 3120 erlaubt es dem Benutzer, den relativ langen Zeitabschnitt zu handhaben, der zur Erzeugung von Trainingseingabedaten 1306 aus den gemessenen Zustand/Zuständen nötig ist, die im Verfahren existieren. Zunächst kann der Benutzer spezifizieren, ob die letzte Eingabedaten mit den Trainingsdaten verwendet werden, oder ob vorausgehende Eingabedaten mit den Trainingsdaten benutzt werden. Wenn der Benutzer festlegt, daß frühere Eingabedaten benutzt werden, kann das Verfahren zum Bestimmen des Zeitpunkts der früheren Eingabedaten in dem Schritt oder Modul 3120 spezifiziert werden.
  • In Fig. 8 werden, wenn einmal der "Trainings und-Voraussagemodi-Spezifizierungs"-Schritt oder -Modul 806 durch den Benutzer fertig ist, die Schritte und Module 808, 810 und 814 ausgeführt. Genauer gesagt braucht der Benutzer einen "Eingabedaten -Spezifizierungs"-Schritt oder -Modul 808, "Ausgabedaten-Spezifizierungs"-Schritt oder Modul 810, einem "Trainingseingabedaten-Spezifizierungs"-Schritt oder Modul 812 und einem Schritt und "Fehlerdaten-Spezifizierungs"-Schritt oder -Modul 814. Im wesentlichen erlauben diese vier Schritte und Module 808-814 dem Benutzer die Quelle und die Bestimmung der Eingabe- und Ausgabedaten sowohl für den (laufenden) Voraussage- als auch für den Trainingsmodus umd die Speicherplätze der Fehlerdaten festzulegen, die in dem Trainingsmodus bestimmt sind.
  • Fig. 32 zeigt eine repräsentative Ausführungsform, die für die Schritte und Module 808-814 wie folgt verwendet wird.
  • Die Schritte und Module 3202, 3204 und 3206 sind im wesentlichen für die Festlegung der Datenlokalisation für die vom Benutzer spezifizierten Daten bestimmt. Im Gegensatz dazu können die Schritte und Module 3208-3216 optional sein, insoweit sie es dem Benutzer erlauben, bestimmte Optionen oder Fehlerchecks festzulegen, die bezüglich der Daten durchgeführt werden können, wie es anschließend detaillerter beschrieben wird.
  • Zunächst wird beim Spezifizieren des Speicherplatzes der spezifizierten Daten ein Schritt oder Modul 3200 als Festlegungsdatensystem bezeichnet. Typischerweise gibt es in einer chemischen Fabrik mehr als ein Computersystem, das im Zusammenhang mit einem gesteuerten Prozeß verwendet wird. Der Schritt oder das Modul 3202 ermöglichen es dem Benutzer, festzulegen, welches Computersystem/welche Computersysteme die Daten- oder Speicherlokalisation enthält, die spezifiziert sind.
  • Wenn das Datensystem einmal spezifiziert ist, kann der Benutzer den Datentyp unter Verwendung eines "Datentyp-Spezifizierungs"-Schritt oder -Modul 3204 spezifizieren. Der Datentyp zeigt an, welche der vielen Typen von Daten- und/oder Speichermodi gewünscht sind. Beispiele hierfür sind laufende Werte der Messungen (die neuesten), historische Werte, Zeitmittelwerte, Einstellwerte, Grenzen usw. Nachdem der Datentyp spezifiziert wurde, kann der Benutzer die Datenunterpunktnummer oder den Identifizierer unter Verwendung eines Schritts oder Moduls 3206 spezifizieren. Die Datenunterpunktnummer oder der Identifizierer zeigt an, welches der vielen Vorkommen des spezifizierten Datentyps in dem spezifizierten Datensystem gewünscht werden. Beispiele hierfür sind die Messungsnummer, die Steuerschleifennummer, der Steuerzielname usw. Diese drei Schritte und Module 3202-3206 erlauben es dem Benutzer somit, die Quelle oder die Bestimmung der Daten festzulegen (die durch das neuronale Netzwerk benutzt/erzeugt werden).
  • Wenn dies einmal spezifiziert wurde, kann der Benutzer die folgenden zusätzlichen Parameter spezifizieren. Insbesondere wenn Daten, die sich mit der Zeit ändern, spezifiziert werden, kann der Benutzer die älteste Intervallgrenze unter Verwendung eines Schritt oder Moduls 3208 spezifizieren, und er kann die jüngste Zeitintervallgrenze unter Verwendung eines Schritt oder Moduls 3210 spezifizieren. Diese Grenzen können z. B. dort verwendet werden, wo ein zeitgewichteter Mittelwert eines spezifizierten Datentyps benötigt wird. Alternativ dazu kann der Benutzer einfach eine bestimmte Zeit spezifizieren, zu der der festzulegende Datenwert ein historischer Datenpunktwert ist.
  • Fehlerchecks bezüglich der spezifizierten Daten können durch den Benutzer unter Verwendung der Schritte und Module 3212, 3214 und 3216 wie folgt spezifiziert werden. Insbesondere kann der Benutzer einen oberen Grenzwert unter Verwendung eines Schritt oder Moduls 3212 spezifizieren, und er kann einen unteren Grenzwert unter Verwendung eines Schritt oder Moduls 3214 spezifizieren. Da z. B. die Sensoren gelegentlich ausfallen, erlaubt es dieser Fehlercheck dem Benutzer, zu verhindern, daß das System und das Verfahren der Erfindung falsche Daten eines fehlerhaften Sensors verwendet. Weitere Beispiele von fehlerhaften Daten können auch durch Setzen dieser Grenzen detektiert werden.
  • Die oberen und unteren Grenzwerte können zum Skalieren der Eingabedaten verwendet werden. Neuronale Netzwerke werden typischerweise unter Verwendung von Eingabe-, Ausgabe- und Trainingseingabedaten trainiert und betrieben, die in einem festen Rahmen skaliert sind. Die Verwendung der oberen und unteren Grenzwerte erlaubt es, diese Skalierung so durchzuführen, daß die skalierten Werte den Bereich größtenteils ausnutzen. Typische Bereiche sind von Null bis 1 und von -1 bis +1.
  • Zusätzlich weiß der Benutzer oftmals, daß bestimmte Werte normalerweise sich in einem bestimmten Zeitintervall in einem gewissen Ausmaß ändern. Somit können Änderungen, die diese Grenzen überschreiten, als zusätzlicher Fehlercheck verwendet werden. Dies kann bewerkstelligt werden, indem der Benutzer einen maximalen Änderungsbetrag in dem Schritt oder Modul 3216 festlegt.
  • Die Fehlerchecks können in dem erfindungsgemäßen Verfahren Verwendet werden, um fehlerhaftes Trainieren, fehlerhafte Voraussagen und Steuerung zu vermeiden. Jedesmal wenn irgendwelche Datenwerte nicht durch die Fehlerchecks hindurchgelangen, können die Daten auf dem Grenzwert/Grenzwerten gehalten werden, oder der Betrieb/die Steuerung kann gesperrt werden. Diese Tests erhöhen in großem Ausmaß die Robustheit der Erfindung.
  • Es sei angemerkt, daß diese Schritte und Module in Fig. 32 auf die Eingabe-/Ausgabe-/Trainingseingabe- und Fehlerdaten-Schritte und Module 808, 810, 812 und 814 anwendbar sind.
  • Wenn das neuronale Netzwerk vollständig konfiguriert ist, werden die Gewichte normalerweise auf Zufallszahlen in dem erlaubten Rahmen (-1 bis +1) gesetzt, der für gewöhnlich als Gewichtungsrahmen verwendet wird. Dies kann automatisch getan werden, oder es kann auf Anfrage durch den Benutzer geschehen (z. B. unter Verwendung der Software-Tasten 2616 in Fig. 26).
  • 2. "Warte-Trainingsdatenintervall"-Schritt oder -Modul 304
  • In Fig. 3 wird nun der "Warte-Trainingsdatenintervall"- Schritt oder -Modul 304 detaillierter beschrieben.
  • Typischerweise ist das Warte-Trainingseingabedatenintervall wesentlich kürzer als der Zeitabschnitt (Intervall), in dem Trainingseingabedaten erhältlich sind. Dieses Warte-Trainingseingabedatenintervall bestimmt, wie oft die Trainingseingabedaten überprüft werden, um zu bestimmen, ob neue Trainingseingabedaten empfangen wurden. Offensichtlich wird, je öfter die Trainingseingabedaten überprüft werden, das Zeitintervall, beginnend mit der Verfügbarkeit neuer Eingabedaten bis zu dem Auftreten des Neutrainierens, umso kürzer.
  • Es sei angemerkt, daß die Konfiguration des neuronalen Netzwerks 1206 und die Spezifizierung seines Warte-Trainingseingabedatenintervalls vom Benutzer vorgenommen wird. Dieses Intervall kann dem Softwaresystem und Verfahren inhärent sein, welches das erfindungsgemäße neuronale Netzwerk enthält. Vorzugsweise wird es speziell für das gesamte Softwaresystem und Verfahren der Erfindung definiert. Nun wird das neuronale Netzwerk 1206 trainiert.
  • 3. "Neue Trainingseingabedaten?"-Schritt und Modul 306
  • Ein Befehlszeiger 314 zeigt an, daß, wenn einmal das Trainingseingabedatenwarteintervall 304 abgelaufen ist, der "neue Trainingseingabedaten?"-Schritt oder Modul 306 auftritt.
  • Fig. 9 zeigt eine repräsentative Ausführungsform des "Neue-Trainingseingabedaten?"-Schritts oder -Moduls 306. In Fig. 9 ist ein repräsentatives Beispiel gezeigt, um zu bestimmen, ob neue Trainingseingabedaten empfangen wurden.
  • Ein "Laufende-Trainingseingabedaten-Wiederherstellungs"- Schritt oder -Modul 902 aus der historischen Datenbank stellt zuerst die laufenden Trainingseingabedaten Zeitmarke/Zeitmarken von der historischen Datenbank wieder her. Wie es durch den Befehlszeiger angezeigt ist, vergleicht ein "Vergleich-der tatsächlichen-Trainingseingabedaten- Zeitmarke-mit der gespeicherten-Trainingseingabedaten-Zeitmarke"-Schritt oder Modul 804 die tatsächliche Trainingseingabedaten-Zeitmarke/Zeitmarken mit einer gesicherten Trainingseingabedaten-Zeitmarke/Zeitmarken. Es sei angemerkt, daß wenn das erfindungsgemäße System und Verfahren das erstemal gestartet wird, ein Initialisationswert anstelle der gespeicherten Trainingseingabedaten-Zeitmarke verwendet werden muß. Wenn die laufende Trainingseingabedaten-Zeitmarke die gleiche wie die gespeicherte Trainingseingabedaten-Zeitmarke ist, zeigt dies an, daß keine neuen Trainingseingabedaten existieren. Diese Situation mit keinen neuen Trainingseingabedaten ist durch einen Befehlszeiger 318 angezeigt.
  • Dieser Schritt oder Modul 904 arbeitet, um zu bestimmen, ob irgendwelche neuen Trainingseingabedaten zur Verwendung beim Training des neuronalen Netzwerks erhältlich sind. Es sei angemerkt, daß bei verschiedenen erfindungsgemäßen Ausführungsformen die Anwesenheit neuer Trainingseingabedaten auf alternativen Wegen detektiert (bestimmt) werden kann. Ein spezielles Beispiel ist jenes, bei dem nur ein Speicherplatz für Trainingseingabedaten und zugehörige Zeitmarken erhältlich ist. In diesem Fall kann die Detektion (das Bestimmen) der Anwesenheit neuer Trainingseingabedaten durch internes Speichern in dem neuronalen Netzwerk der zugehörigen Zeitmarke der Trainingseingabedaten von dem letzten Mal, zu dem die Trainingseingabedaten überprüft wurden, und durch periodisches Wiederherstellen der Zeitmarke aus dem Speicherplatz der Trainingseingabedaten und Vergleichen derselben mit dem intern gespeicherten Wert der Zeitmarke durchgeführt werden. Andere Verteilungen und Kombinationen der Speicherplätze für Zeitmarken und/oder Datenwerte können zur Detektion (Bestimmung) der Anwesenheit neuer Trainingseingabedaten verwendet werden.
  • Wenn jedoch der Vergleich des Schritts und Moduls 904 anzeigt, daß die tatsächlichen Trainingseingabedaten-Zeitmarken sich von der gespeicherten Trainingseingabedaten-Zeitmarke unterscheidet, zeigt dies an, daß neue Trainingseingabedaten empfangen (detektiert) wurden. Diese neue Trainingseingabedaten-Zeitmarke wird dann in einem Schritt oder Modul 906 zum Speichern der laufenden Trainingseingäbendaten-Zeitmarke gesichert. Nachdem diese laufende Zeitmarke der Trainingseingabedaten gesichert wurde, ist der "Neue- Trainingseingabedaten?"-Schritts oder -Moduls 306 beendet, und die Erfindung bewegt sich zu dem "Neuronalen-Netzwerk- Trainings"-Schritt oder -Modul 308 aus Fig. 3, wie es durch den Befehlszeiger angegeben ist.
  • 4. "Neuronaler-Netzwerk-Trainings"-Schritt und -Modul 308
  • In Fig. 3 ist der "Neuronalen-Netzwerk-Trainings"-Schritt oder -Modul 308, in dem das neuronale Netzwerk 1206 trainiert wird. Fig. 10 zeigt eine repräsentative Ausführungsform des "Neuronalen-Netzwerk-Trainings"-Schritts oder -Moduls 308.
  • In dem in Fig. 10 gezeigten Schritt oder Modul 308 zeigt ein Zeiger 316 an, daß ein "Wiederherstellen-tatsächlicher- Trainingseingabedaten aus der historischen-Datenbank"- Schritt oder -Modul 1002 auftritt. In diesem Schritt oder Modul 1002 werden einer oder mehrere tatsächliche Trainingseingabedatenwerte aus der historischen Datenbank 1210 wiederhergestellt. Die Zahl der tatsächlichen Trainingseingabedatenwerte, die wiederhergestellt werden, ist gleich der Zahl der Ausgänge 2106 des zu trainierenden neuronalen Netzwerks 1206. Die Trainingseingabedaten sind normalerweise skaliert. Diese Skalierung kann unter Verwendung der oberen und unteren Grenzwerte erfolgen, die in dem "neuronalen Netzwerkkonfigurations-und-Trainings"-Schritt oder - Modul 104 bestimmt wurden.
  • Ein Befehlszeiger zeigt, daß ein "Auswahl der-Trainingseingabedaten-Zeit"-Schritt oder -Modul 1004 als nächstes ausgeführt wird. Typischerweise sind, wenn zwei oder mehr tatsächliche Trainingseingabedatenwerte vorhanden sind, die wiederhergestellt werden, deren Daten-Zeiten (wie sie durch ihre zugehörigen Zeitmarken angegeben ist) unterschiedlich. Der Grund hierfür ist, daß typischerweise die Abtastauflistung, die zur Erzeugung der Trainingseingabedaten verwendet wird, für die verschiedenen Trainingseingabedaten unterschiedlich ist. Somit haben Trainingseingabedaten oftmals verschiedene zugehörige Zeitmarken. Um diese Unterschiede aufzulösen, müssen verschiedene Annahmen getroffen werden. In bestimmten Situationen wird ein Mittelwert dieser Zeitmarken verwendet. Alternativ dazu kann die Zeitmarke eines der tatsächlichen Trainingseingabedaten verwendet werden. Andere Ansätze können ebenfalls angewendet werden.
  • Wenn einmal in dem Schritt oder Modul 1004 die Trainingseingabedaten-Zeit ausgewählt wurde, werden die Eingabedaten zur Trainingseingabedaten-Zeit aus der historischen Datenbank 1210 wiederhergestellt, wie es im Schritt oder Modul 1006 angezeigt ist. Die Eingabedaten sind normalerweise skaliert. Die Skalierung kann die oberen und unteren Grenzwerte benutzen, die in dem "neuronalen Netzwerkkonfigurations-und-Trainings"-Schritt oder -Modul 104 spezifiziert wurden. Anschließend sagt das neuronale Netzwerk 1206 Ausgabedaten aus dem wiederhergestellten Eingabedaten voraus, wie es in dem Schritt oder Modul 406 angezeigt ist.
  • Die vorausgesagten Ausgabedaten aus dem neuronalen Netzwerk 1206 werden dann in der historischen Datenbank 1210 gespeichert, wie es mit einem Schritt oder Modul 408 angegeben ist. Die Ausgabedaten wurden normalerweise in einer skalierten Form erzeugt, da alle Eingänge und Trainingseingabedaten skaliert sind. In diesem Fall müssen die Ausgabedaten deskaliert werden. Diese Deskalierung kann die oberen und unteren Grenzwerte benutzen, die bei dem "neuronalen Netzwerkkonfigurations-und-Trainings"-Schritt oder -Moduls 104 spezifiziert wurden. Anschließend werden unter Verwendung der Ausgabedaten aus dem neuronalen Netzwerk 1206 und der Trainingseingabedaten Fehlerdaten berechnet, wie es in dem Schritt oder Modul 1012 angezeigt ist. Es sei angemerkt, daß der Begriff Fehlerdaten 1504, wie er in dem Schritt oder Modul 1012 benutzt wird, ein Satz Fehlerdatenwerte für alle vorausgesagten Ausgaben 2106 des neuronalen Netzwerks 1206 ist. Die Erfindung befaßt sich jedoch auch mit der Verwendung von globalen oder kumulativen Fehlerdaten, um zu berechnen, ob die vorausgesagten Ausgabedatenwerte akzeptierbar sind.
  • Nachdem die Fehlerdaten 1504 in dem Schritt oder Modul 1012 berechnet (kalkuliert) wurden, wird das neuronale Netz 1206 unter Verwendung der Fehlerdaten 1504 und/oder der Trainingseingabedaten 1306 neu trainiert. Die Erfindung bezieht sich auf jedes Verfahren zum Trainieren des neuronalen Netzwerks 1206.
  • Nachdem der Schritt oder Modul 1014 zum Trainieren beendet ist, werden die Fehlerdaten 1504 in der historischen Datenbank 1210 in einem Schritt oder Modul 1016 gespeichert. Es sei angemerkt, daß die Fehlerdaten 1504, die hier gezeigt sind, die individuellen Daten für jede Ausgabe 2106 sind. Diese gespeicherten Fehlerdaten 1504 liefern eine historische Aufzeichnung des Fehlerverhaltens für jede Ausgabe 2106 des neuronalen Netzwerks 1206.
  • Die oben beschriebene Schrittfolge ist eine bevorzugte Ausführungsform, die verwendet wird, wenn das neuronale Netzwerk 1206 effektiv unter Verwendung einer einzelnen Darstellung des Trainingssatzes trainiert werden kann, der für alle neuen Trainingseingabedaten 1306 erzeugt wird.
  • Jedoch können die Verwendung bestimmter Trainingsverfahren oder bestimmte Anwendungen das neuronale Netzwerk 1206 mehrere Darstellungen von Trainingssätzen erfordern, um in geeigneter Weise (in einem akzeptablen Maß) zu trainieren. In diesem Fall können zwei unterschiedliche Ansätze zum Trainieren des neuronalen Netzwerks 1206 verwendet werden.
  • Bei dem ersten Ansatz kann das neuronale Netzwerk 1206 die Trainingssätze (d. h. die Trainingseingabedaten und die zugehörigen Eingabedaten, die in dem Schritt oder Modul 308 wiederhergestellt werden) in einer Datenbank für Trainingssätze speichern, welche dann wiederholt dem neuronalen Netzwerk 1206 vorgesetzt werden, um das neuronale Netzwerk zu trainieren. Der Benutzer kann in der Lage sein, die Zahl der zu speichernden Trainingssätze zu konfigurieren. Wenn neue Trainingsdaten erhältlich werden, werden neue Trainingssätze konstruiert und gespeichert. Wenn die spezifizierte Zahl Trainingssätze gesammelt wurde (in einem "Stapel"), wird der nächste Trainingssatz, der beruhend auf neuen Labordaten erzeugt wird, den ältesten Trainingssatz aus dem Stapel ersetzen. Der älteste Trainingssatz wird verworfen. Das Training bekannter neuronaler Netzwerke erzeugt Trainingssätze, alle auf einmal, Off-line, und wird alle erzeugten Trainingssätze in Benutzung halten.
  • Ein zweiter Ansatz (oder Stapel), der verwendet/werden kann, ist es, eine Zeitgeschichte der Eingabedaten und Trainingseingabedaten in der historischen Datenbank 1210 zu halten, und die historische Datenbank 1210 zu durchsuchen, wobei Trainingseingabedaten lokalisiert und die entsprechenden Trainingssätze durch Wiederherstellen der zugehörigen Eingabedaten gebildet werden.
  • Es ist zu verstehen, daß die Kombination des neuronalen Netzwerks 1206 und der historischen Datenbank 1210, die sowohl die Eingabedaten als auch die Trainingseingabedaten mit ihren zugehörigen Zeitmarken enthält, eine sehr leistungsfähige Plattform zum Bilden, Trainieren und Verwenden neuronaler Netzwerke 1206 schafft. Die Erfindung umfaßt verschiedene andere Modi zur Verwendung der Daten in der historischen Datenbank 1210 und des neuronalen Netzwerks 1206, um Trainingssätze für das Training des neuronalen Netzwerks 1206 vorzubereiten.
  • In Fig. 3 ist der neuronale Netzwerktrainingsschritt und Modul 308 der Schritt und das Modul, in dem das neuronale Netzwerk 1206 trainiert wird. Fig. 10 zeigt eine repräsentative Ausführungsform des neuronalen Netzwerktrainingsschritts und Moduls 308.
  • In dem in Fig. 10 gezeigten Schritt und Modul 308 zeigt ein Befehlszeiger 316 an, daß ein Schritt und Modul 1002 zum Wiederherstellen gegenwärtiger Trainingseingabedaten aus der historischen Datenbank auftritt. In diesem Schritt und Modul 1002 werden eine oder mehrere Trainingseingabedatenwerte aus der historischen Datenbank 1210 wieder hergestellt. Die Zahl der gegenwärtigen Trainingseingabedatenwerte, die wieder hergestellt werden, ist gleich der Zahl der Ausgänge 2106 des neuronalen Netzwerks 1206, das trainiert wird. Die Trainingseingabedaten sind normalerweise skaliert. Diese Skalierung kann die oberen und unteren Grenzwerte verwenden, die beim neuronalen Netzwerkkonfigurier- und Trainierschritt 104 spezifiziert wurden.
  • Ein Befehlszeiger zeigt an, daß als nächstes ein Trainingseingabedatenzeitauswahlschritt und Modul 1004 ausge führt wird. Typischerweise ist, wenn zwei oder mehr gegenwärtige Trainingseingabedatenwerte wieder hergestellt sind, deren Datenzeit (wie es durch ihre zugehörige Zeitmarke angezeigt ist) unterschiedlich. Der Grund hierfür ist, daß typischerweise die verwendeten Abtastungsvorrichtungen zur Erzeugung der Trainingseingabedaten für verschiedene Trainingseingabedaten unterschiedlich sind. Somit haben gegenwärtige Trainingseingabedaten oft verschiedene zugehörige Zeitmarken. Um diese Unterschiede aufzulösen, müssen bestimmte Annahmen getroffen werden. In einigen Situationen wird der Mittelwert zwischen den Zeitmarken verwendet. Alternativ dazu kann die Zeitmarke einer der gegenwärtigen Trainingseingabedaten verwendet werden. Andere Ansätze können ebenfalls angewendet werden.
  • Wenn die Trainingseingabedaten einmal ausgewählt wurden im Schritt und im Modul 1004, werden die Eingabedaten zu der Trainingseingabedatenzeit von der historischen Datenbank 1210 wieder hergestellt, wie es im Schritt und Modul 1006 angezeigt ist. Die Eingabedaten sind normalerweise skaliert. Die Skalierung kann die oberen und unteren Grenzwerte verwenden, die bei dem neuronalen Netzwerkkonfigurier- und Trainierschritt 104 bestimmt wurden. Anschließend sagt das neuronale Netzwerk 1206 Ausgabedaten aus den wieder hergestellten Eingabedaten voraus, wie es im Schritt und Modul 406 angezeigt ist.
  • Die vorausgesagten Ausgabedaten des neuronalen Netzwerks 1206 werden dann in der historischen Datenbank 1210 gespeichert, wie es durch den Schritt und Modul 408 angezeigt ist. Die Ausgabedaten werden normalerweise in einer skalierten Form erzeugt, da alle Eingabe- und Trainingseingabedaten skaliert sind. In diesem Fall müssen die Ausgabedaten deskaliert werden. Dieses Deskalieren kann die oberen und unteren Grenzwerte verwenden, die beim neuronalen Netzwerkkonfigurier- und Trainierschritt 104 verwendet wurden.
  • Anschließend werden Fehlerdaten unter Verwendung der Ausgabedaten des neuronalen Netzwerks 1206 und der Trainingseingabedaten berechnet, wie es im Schritt und Modul 1012 angezeigt ist. Es sei angemerkt, daß der Ausdruck Fehlerdaten 1504, wie er im Schritt und Modul 1012 verwendet wird, ein Satz aus Fehlerdatenwerten für alle vorausgesagten Ausgaben 2106 des neuronalen Netzwerks 1206 ist. Die Erfindung betrachtet jedoch auch die Verwendung von gesamten oder aufsummierten Fehlerdaten, um abzuschätzen, ob die vorausgesagten Ausgabedatenwerte akzeptierbar sind oder nicht.
  • Nachdem die Fehlerdaten 1504 berechnet (kalkuliert) wurden im Schritt und Modul 1012, wird das neuronale Netzwerk 1206 unter Verwendung der Fehlerdaten 1504 und/oder der Trainingseingabedaten 1306 neu trainiert. Die Erfindung betrachtet jedes Verfahren zum Trainieren des neuronalen Netzwerks 1206.
  • Nachdem der Trainingsschritt und Modul 1014 beendet ist, werden die Fehlerdaten 1504 in der historischen Datenbank 1210 im Schritt und Modul 1016 gespeichert. Es sei angemerkt, daß die Fehlerdaten 1504, die hier gezeigt sind, individuelle Daten für jede Ausgabe 2106 sind. Diese gespeicherten Fehlerdaten 1504 liefern eine historische Aufzeichnung des Fehlerverhaltens für jede Ausgabe 2106 des neuronalen Netzwerks 1206.
  • Die oben beschriebene Schrittfolge ist die bevorzugte Ausführungsform, die verwendet wird, wenn das neuronale Netzwerk 1206 effektiv unter Verwendung einer einzelnen Darstellung des Trainingssatzes trainiert werden kann, der für jede neuen Trainingseingabedaten erzeugt wird.
  • Jedoch beim Verwenden bestimmter Trainingsverfahren oder für bestimmte Anwendungen, kann das neuronale Netzwerk 1206 viele Darstellungen von Trainingssätzen für ein geeignetes (akzeptables Maß) Training benötigen. In diesem Fall können zwei alternative Ansätze zum Trainieren des neuronalen Netzwerks 1206 verwendet werden.
  • In dem ersten Ansatz kann das neuronale Netzwerk 1206 die Trainingssätze (das heißt, die Trainingseingabedaten und die dazugehörigen Eingabedaten, die im Schritt und Modul 308 wieder hergestellt werden) in einer Datenbank für Trainingssätze speichern, die dann wiederholt dem neuronalen Netzwerk 1206 zum Trainieren des neuronalen Netzwerks vorgesetzt wird. Der Benutzer kann in der Lage sein, die Zahl der Trainingssätze, die zu speichern sind, zu konfigurieren. Wenn neue Trainingsdaten erhältlich sind, werden neue Trainingssätze konstruiert und gespeichert. Wenn die vorgegebene Zahl Trainingssätze aufsummiert (in einem "Stapel") wurde, wird der nächste auf neuen Labordaten basierende Trainingssatz den ältesten Satz aus dem Stapel "herausheben". Dieser älteste Trainingssatz wird verworfen. Bekanntes neuronales Netzwerktraining erzeugt alle Trainingssätze auf einmal, off-line, und erhält alle erzeugten Trainingssätze in der Benutzung.
  • Ein zweiter (oder Stapel) Ansatz, der verwendet werden kann, ist es, die Zeitgeschichte der Eingabedaten und Trainingseingabedaten in der historischen Datenbank 1210 zu behalten und die historische Datenbank 1210 zu durchsuchen, Trainingseingabedaten anzuordnen und den entsprechenden Trainingssatz durch Wiederherstellen der zugehörigen Eingabedaten zu konstruieren.
  • Es ist zu verstehen, daß die Kombination des neuronalen Netzwerks 1206 und der historischen Datenbank 1210, die sowohl die Eingabedaten als auch die Trainingseingabedaten mit den zugehörigen Zeitenmarken enthält, eine sehr starke Plattform zur Ausbildung, Trainieren und Verwenden des neuronalen Netzwerks 1206 liefert. Die Erfindung betrachtet verschiedene andere Modi der Verwendung der Daten in der historischen Datenbank 1210 und des neuronalen Netzwerks 1206, um Trainingssätze zum Trainieren des neuronalen Netzwerks 1206 vorzubereiten.
  • 5. "Fehler akzeptierbar?"-Schritt und Modul 310
  • In Fig. 3 tritt, wenn einmal das neuronale Netzwerk 1206 im Schritt oder Modul 308 trainiert wurde, ein Schritt oder Modul 310 auf, um zu bestimmen, ob ein Fehler akzeptierbar ist. Fig. 11 zeigt eine repräsentative Ausführungsform des "Fehler-akzeptierbar?"-Schritts oder -Moduls 310.
  • In Fig. 11 zeigt ein Befehlszeiger 320 an, daß ein "Berechnendes-Globalfehlers unter-Verwendung des gespeicherten- Fehlers"-Schritt oder -Modul 1102 auftritt. Der Begriff Globalfehler, wie er hier verwendet wird, bedeutet den Fehler über alle Ausgänge 2106 und/oder über zwei oder mehr Trainingssätze (Zyklen) des neuronalen Netzwerks 1206. Der Globalfehler verringert die Effekte der Variation in dem Fehler von einem Trainingssatz (Zyklus) zum nächsten. Ein Grund für diese Variation ist die inhärente Variation der Labordatentests, die zur Erzeugung der Trainingseingabedaten verwendet werden.
  • Wenn einmal der Globalfehler in dem Schritt oder Modul 1102 berechnet (abgeschätzt) wurde, wird er in einem Schritt oder Modul 1104 gespeichert. Der Globalfehler kann in dem neuronalen Netzwerk 1206 intern gespeichert werden, oder er kann in der historischen Datenbank 1210 gespeichert werden. Das Speichern des Globalfehlers in der historischen Datenbank 1210 erzeugt eine historische Aufzeichnung des Gesamtverhaltens des neuronalen Netzwerks 1206.
  • Anschließend kann, wenn eine geeignete Geschichte des Globalfehlers erhältlich ist (wie im Fall des Neutrainierens), ein Schritt oder Modul 1106 verwendet werden, um zu bestimmen, ob der Globalfehler statistisch von 0 abweicht. Dieser Schritt oder Modul 1106 bestimmt, ob eine Sequenz aus Globalfehlerwerten in den erwarteten Variationsrahmen um den erwarteten Wert = 0 fällt, oder ob der Globalfehler statistisch signifikant von 0 abweicht. Dieser Schritt oder Modul 1106 kann wichtig sein, wenn die zur Berechnung des Globalfehlers verwendeten Trainingseingabedaten signifikante Zufallsschwankungen haben. Wenn das neuronale Netzwerk 1206 genaue Voraussagen liefert, werden die zufälligen Schwankungen der Trainingseingabedaten, z. B. aufgrund von Laborschwankungen, zufällige Schwankungen des Globalfehlers um 0 verursachen. Dieser Schritt oder Modul 1106 verringert die Tendenz zur fehlerhaften Klassifizierung der vorausgesagten Ausgaben des neuronalen Netzwerks 1206 als nicht akzeptierbar.
  • Wenn der Globalfehler statistisch nicht von 0 abweicht, ist der Globalfehler akzeptierbar, und die Erfindung geht zu einem Befehlszeiger 122. Ein durch den Befehlszeiger 122 angezeigter akzeptabler Fehler bedeutet, daß das neuronale Netzwerk 1206 trainiert ist. Dies wird im Schritt oder Modul 104 betrachtet.
  • Wenn jedoch der Globalfehler statistisch von 0 abweicht, geht die Erfindung in den Neutrainier-Modus zu einem Schritt oder Modul 1108, der als "Trainingseingabedatenstatistisch-gültig?" bezeichnet wird. (Angemerkt sei, daß der Schritt oder Modul 1108 in dem Trainingsmodus des Schritt oder Moduls 104 nicht nötig ist. Im Trainingsmodus geht ein Globalfehler, der statistisch von 0 abweicht, direkt zu einem Befehlszeiger 322).
  • Wenn die Trainingseingabedaten in dem Neutrainingsmodus statistisch nicht gültig sind, zeigt dies an, daß die Akzeptierbarkeit des Globalfehlers nicht bestimmt werden kann, und daß die Erfindung zu dem Befehlszeiger 122 geht. Wenn jedoch die Trainingseingabedaten statistisch gültig sind, zeigt dies an, daß der Fehler nicht akzeptierbar ist, und die Erfindung geht zurück in den "Warte-Trainingsdatenintervall"-Schritt oder -Modul 304, wie es in Fig. 3 angezeigt ist.
  • Die hier beschriebenen Schritte und Module zur Bestimmung, ob der Globalfehler akzeptierbar ist, bilden ein Beispiel zur Implementierung eines Globalfehlerakzeptierbarkeit- Maßes. Es ist zu verstehen, daß verschiedene Prozeßcharakteristiken, verschiedene Abtastfrequenzen und verschiedene Meßtechniken (für Prozeßbedingungen und Produkteigenschaften) andere Verfahren zur Bestimmung, ob der Fehler akzeptierbar ist, anzeigen können. Die Erfindung berücksichtigt jedes Verfahren zur Erzeugung eines Fehlerakzeptierbarkeitsmaßes.
  • Somit wurde gezeigt, daß die Erfindung in dem Schritt oder Modul 104 das neuronale Netzwerk 1206 zur Verwendung in der Erfindung konfiguriert und trainiert.
  • C. "Ausaabedatenvoraussage-unter-Verwendung des neuronalen-Netzwerks"-Schritt und Modul 106
  • In Fig. 1 zeigt der Befehlszeiger 122 an, daß zwei parallele Wege vorhanden sind, welche die Erfindung nach "neuronalen Netzwerkkonfigurations-und-Trainings"-Schritt oder - Moduls 104 verwendet. Einer der Wege, von dem der unten beschriebene "Ausgabedatenvoraussage-unter-Verwendung-des- neuronalen-Netzwerks"-Schritt oder -Modul 106 ein Teil ist, wird zur Voraussage von Ausgabedaten unter Verwendung des neuronalen Netzwerks 1206 verwendet, um das neuronale Netzwerk 1206 unter Verwendung dieser vorausgesagten Ausgaben neu zu trainieren und um die Steuerung des gesteuerten Prozesses zu sperren, wenn der (Global-)Fehler des neuronalen Netzwerks 1206 ein vorgegebenes Fehlerakzpetierbarkeitsmaß (Kriterium) übersteigt. Der andere Weg ist die tatsächliche Steuerung des Prozesses unter Verwendung der vorausgesagten Ausgabedaten des neuronalen Netzwerks 1206.
  • In dem "Ausgabedatenvoraussage-unter-Verwendung des neuronalen-Netzwerks"-Schritt oder -Modul 106 nutzt dieser Schritt oder Modul das neuronale Netzwerk 1206 zur Ausgabe von Daten zur Verwendung bei der Steuerung des Prozesses und zum Neutrainieren des neuronalen Netzwerks 1206. Fig. 4 zeigt eine repräsentative Ausführungsform des Schritt oder Moduls 106.
  • In Fig. 4 verwendet ein "Warte-vorgegebenes-Voraussageintervall"-Schritt oder Modul 402 das Verfahren oder die Prozedur, das vom Benutzer in den Schritten oder Modulen 3106 oder 3108 spezifiziert wurde, um zu bestimmen, wann Eingabedaten wiederherzustellen sind. Wenn einmal das vorgegebene Zeitintervall abgelaufen ist, geht die Erfindung zu einem "Eingabedaten zur tatsächlichen-Zeit aus der historischen- Datenbank-Wiederherstellungs"-Schritt oder Modul 404 über. Die Eingabedaten werden zur tatsächlichen Zeit wiederhergestellt. Das heißt, der neueste erhältliche Wert für jeden Eingabedatenwert wird aus der historischen Datenbank 1210 wiederhergestellt.
  • Das neuronale Netzwerk 1206 sagt dann die Ausgabedaten von den wiederhergestellten Eingabedaten voraus, wie es im Schritt oder Modul 406 angezeigt ist. Die Ausgabedaten werden zur Prozeß-Steuerung, zum Neutrainieren und zu Steuerungszwecken verwendet, wie es in den darauffolgenden Abschnitten weiter unten diskutiert wird. Die Voraussage wird unter Verwendung aller tatsächlich bekannten oder zukünftig zu entwickelnden Ansätze ausgeführt. Zum Beispiel kann die Voraussage durchgeführt werden, wie es in dem vorangehenden Abschnitt I. B. ausgeführt ist.
  • D. "Neutrainieren des neuronalen-Netzwerks"-Schritt oder -Modul
  • In Fig. 1 wird, wenn einmal die Voraussageausgabedaten durch das neuronale Netzwerk 1206 erzeugt wurden, ein "Neutrainieren-des neuronalen-Netzwerks"-Schritt oder -Modul 108 durchgeführt.
  • Das Neutrainieren des neuronalen Netzwerks 1206 tritt auf, wenn neue Trainingseingabedaten erhältlich werden. Fig. 5 zeigt eine repräsentative Ausführungsform des "Neutrainieren-des neuronalen-Netzwerks"-Schritts oder -Moduls 108.
  • In Fig. 5 zeigt ein Befehlszeiger 124 an, daß ein "Neue Trainingseingabedaten?"-Schritt oder Modul 306 bestimmt, daß neue Trainingseingabedaten erhältlich wurden. Fig. 9 zeigt eine repräsentative Ausführungsform des "Neue Trainingseingabedaten?"-Schritt oder Moduls 306. Der Schritt oder Modul 306 wurde vorangehend unter Bezug auf Fig. 3 beschrieben. Aus diesem Grund wird er hier nicht erneut beschrieben.
  • Wie durch den Befehlszeiger 126 angezeigt wird, kehrt die Erfindung, wenn keine neuen Trainingsdaten vorhanden sind, zu dem Schritt oder Modul 106 für die Voraussage von Ausgabedaten unter Verwendung des neuronalen Netzes zurück, wie es in Fig. 1 gezeigt ist.
  • Wenn neue Trainingseingabedaten vorhanden sind, wird das neuronale Netzwerk 1206 neutrainiert, wie es durch ein Modul oder Schritt 308 angezeigt ist. Ein repräsentatives Beispiel des Moduls oder Schritt 308 ist in Fig. 10 gezeigt. Da das Trainieren des neuronalen Netzwerks das gleiche wie das Neutrainieren ist und dies bereits im Zusammenhang mit Fig. 3 beschrieben wurde, wird das Modul oder der Schritt 308 hier nicht detailliert diskutiert.
  • Wenn das neuronale Netzwerk 1206 einmal neutrainiert ist, verursacht ein Befehlszeiger 128, daß die Erfindung zu einem Schritt oder Modul 110 zur Freigabe oder zum Sperren der Steuerung übergeht, der anschließend diskutiert wird.
  • E. Freigabe/Sperr-Steuer"-Modul oder Schritt 110
  • In Fig. 1 geht, nachdem das neuronale Netzwerk 1206 einmal neutrainiert wurde, wie es in dem Schritt oder Modul 108 angezeigt ist, zu einem "Freigabe/Sperren-Steuer"-Schritt oder -Modul 110. Der Zweck des "Freigabe/Sperren-Steuer"- Schritts oder -Moduls 110 ist es, die Steuerung des Prozesses unter Verwendung von Ausgabedaten (Voraussagewerten) zu verhindern, die durch das neuronale Netzwerk 1206 erzeugt werden, wenn der Fehler nicht akzeptierbar ist ("poor").
  • Ein repräsentatives Beispiel des "Freigabe/Sperren-Steuer"- Schritts oder -Moduls 110 ist in Fig. 6 gezeigt. In Fig. 6 ist es die Aufgabe des Moduls 110, die Steuerung des zu steuernden Prozesses freizuschalten, wenn der Fehler akzeptierbar ist, und die Steuerung zu sperren, wenn der Fehler nicht akzeptierbar ist. Wie es in Fig. 6 gezeigt ist, bewegt ein Befehlszeiger 128 die Erfindung zu einem "Fehlerakzeptierbar?"-Schritt oder Modul 310. Wenn der Fehler zwischen den Trainingseingabedaten und den vorausgesagten Ausgabedaten nicht akzeptierbar ist, wird die Steuerung des gesteuerten Prozesses durch einen "Steuerungs-Sperr"- Schritt oder Modul 604 gesperrt. Der "Steuerungs-Sperr"- Schritt oder Modul 604 setzt ein Flag (Anzeiger), das durch den "Unter-Verwendung der-Ausgabedaten-Prozeß-Steuer"- Schritt oder -Modul 112 untersucht werden kann, welches anzeigt, daß die Ausgabedaten nicht zur Steuerung verwendet werden sollen.
  • Fig. 30 zeigt eine repräsentative Ausführungsform des "Steuerungs-Freigabe"-Schritts oder Moduls 602. In Fig. 30 veranlaßt ein Befehlszeiger 142 die Erfindung zunächst zu einem "Fehler-oder-Betriebsproblem-der-Ausgabedaten-Anzeige"-Schritt oder Modul 3002 zu bewegen. Wenn die Ausgabedaten kein Sicherheits- oder Betriebsproblem anzeigen, zeigt dies an, daß der Prozeß 1212 sicher weiter betrieben werden kann. Dies wird durch die Tatsache angezeigt, daß die Erfindung zu dem "Steuerungs-Freigabe-unter-Verwendungder-Ausgabedaten"-Schritt oder Modul 3006 weitergeht.
  • Im Gegensatz dazu empfiehlt die Erfindung, wenn die Ausgabedaten nicht die Sicherheit oder Betriebsprobleme erfüllen, daß der Prozeß zur Abschaltung gesteuert wird, wie es durch den Schritt oder Modul 3004 und die Prozeßabschaltempfehlung angezeigt ist. Diese Empfehlung an den Betreiber des Prozesses 1212 kann durch jeden geeigneten Ansatz verwirklicht werden. Ein Beispiel ist ein Bildschirmdisplay oder eine Alarmanzeige. Dieses Sicherheitsmerkmal erlaubt es der Erfindung zu verhindern, daß der gesteuerte Prozeß 1212 eine kritischen Situation erreicht.
  • Wenn die Ausgabedaten nicht die Sicherheit- oder Betriebsprobleme im Schritt oder Modul 3002 anzeigen, oder nachdem die Empfehlung zum Abschalten des Prozesses im Schritt oder Modul 3004 erfolgt ist, geht die Erfindung zu dem Schritt oder Modul 3006 zur Freigabe unter Verwendung der Ausgabedaten über. Dieser Schritt oder Modul 3006 setzt ein Flag (Anzeiger), das durch einen Schritt oder Modul 112 untersucht werden kann, welches anzeigt, daß die Ausgabedaten zur Steuerung des Prozesses verwendet werden können.
  • Somit kann ersehen werden, daß der "Freigabe/Sperren- Steuer"-Schritt oder -Modul 110 der Erfindung die Funktion gibt:
  • (1) die Steuerung des Prozesses 112 unter Verwendung der Ausgabedaten im Schritt oder Modul 112 zu erlauben,
  • (2) die Verwendung der Ausgabedaten zur Steuerung des Prozesses 1212 zu verhindern, aber zu erlauben, daß der Prozeß 1212 in Betrieb gehalten wird, oder
  • (3) aus Sicherheitsgründen den Prozeß 1212 abzuschalten.
  • F. "Unter-Verwendung der-Ausgabedaten-Prozeß-Steuer"- Schritt oder -Modul 112
  • In Fig. 1 zeigt der Befehlszeiger 121 an, daß die Steuerung des Prozesses unter Verwendung der Ausgabedaten des neuronalen Netzwerks 1206 parallel mit der Voraussage von Ausgabedaten unter Verwendung des neuronalen Netzwerks 1206, dem Neutrainieren des neuronalen Netzwerks 1206 und dem Freigeben/Sperren durch Steuerung des Prozesses 1212 läuft.
  • Fig. 7 zeigt eine repräsentative Ausführungsform des "Unter-Verwendung der-Ausgabedaten-Prozeß-Steuer"-Schritts oder -Moduls 112. In Fig. 7 zeigt der Befehlszeiger 122 an, daß sich die Erfindung zu einem "Warte-Steuerintervall"- Schritt oder Modul 702 bewegt. Das Intervall, mit dem die Steuerung arbeitet, kann jeder vorgewählte Wert sein. Dieses Intervall kann ein Zeitwert, ein Ereignis oder das Auftreten eines Datenwertes sein. Andere Intervallsteuerverfahren oder Prozeduren können verwendet werden.
  • Wenn das Steuerintervall einmal auftritt, wie es durch den Befehlszeiger angezeigt ist, bewegt sich die Erfindung zu einem "Steuerung-freigegeben?"-Schritt oder Modul 704. Wenn die Steuerung in dem "Freigabe/Sperren-Steuer"-Schritt oder -Modul 110 gesperrt wurde, steuert die Erfindung den Prozeß 1212 nicht unter Verwendung der Ausgabedaten. Dies wird durch den mit "NO"-markierten Befehlszeiger von dem "Steuerung-freigegeben?"-Schritt oder Modul 704 angezeigt.
  • Wenn die Steuerung freigeschaltet ist, geht die Erfindung zu dem "Ausgabedaten aus-historischer-Datenbank-Wiederherstell"-Schritt oder Modul 706 über. Dieser Schritt oder Modul zeigt, daß die Ausgabedaten 1218 (siehe Fig. 12), die durch das neuronale Netzwerk 1206 erzeugt und in der historischen Datenbank 1210 gespeichert sind, wiederhergestellt oder gesucht (1214) und durch die Steuerung 1202 zur Berechnung der Steuerungsausgabedaten 1208 zur Steuerung des Prozesses 1212 verwendet werden.
  • Diese Steuerung des Prozesses 1212 durch die Steuervorrichtung 1202 wird durch den "Effektive-Steuerung des-Prozesses unter-Verwendung er-Steuervorrichtung-zur-Berechnungvon-Steuerungsausgabe"-Schritt oder Modul 708 in Fig. 7 angezeigt.
  • Es ist somit ersichtlich, daß die Erfindung effektiv den Prozeß unter Verwendung der Ausgabedaten von dem neuronalen Netzwerk 1206 steuert. Es ist zu verstehen, daß die Steuerung des Prozesses 1212 jeder tatsächlich bekannte oder zukünftig zu entwickelnde Ansatz einschließlich der in den Fig. 15 und 16 gezeigten Architektur sein kann.
  • Alternativ dazu kann, wenn die Ausgabedaten des neuronalen Netzwerks 1206 als unakzeptabel bestimmt wurden, der Prozeß 1202 weiterhin durch die Steuervorrichtung ohne Verwendung der Ausgabedaten gesteuert werden.
  • V. BEVORZUGTE STRUKTUR (ARCHITEKTUR)
  • Vorangehend in Abschnitt III wurden die bevorzugten Betriebsverfahren der Erfindung diskutiert. In diesem Abschnitt werden die bevorzugten Strukturen (Architekturen) der Erfindung diskutiert. Es ist jedoch anzumerken, daß in der vorangehenden Beschreibung die modulare Struktur (Architektur) der Erfindung im Zusammenhang mit dem Betrieb diskutiert wurde. Somit wurden bestimmte Abschnitte der Struktur der Erfindung inhärent im Zusammenhang mit der in Abschnitt III ausgeführten Beschreibung dargestellt.
  • Die bevorzugte Ausführungsform der Erfindung enthält ein oder mehrere Softwaresysteme. In diesem Zusammenhang ist ein Softwaresystem eine Ansammlung von einem oder mehrerer ausführbarer Softwareprogramme und einem oder mehreren Speicherbereichen, z. B. einem RAM oder einer Platte. Allgemein gesagt, kann ein Softwaresystem dahingehend verstanden werden, daß es eine voll funktionsfähige Softwareausführungsform einer Funktion enthält, die zu einem existierenden Computersystem hinzugefügt werden kann, um für das Computersystem eine neue Funktion zu schaffen.
  • Softwaresysteme sind im allgemeinen in einer schichtartigen Form ausgebildet. In einem schichtartigen System ist für gewöhnlich ein niedrigster Softwaresystempegel das Computerbetriebssystem, das es der Hardware ermöglicht, Softwarebefehle auszuführen. Zusätzliche Schichten des Softwaresystems können vorhanden sein, z. B. die historische Datenbankfähigkeit. Das historische Datenbanksystem liefert eine Grundschicht, auf der weitere Softwaresysteme aufgebaut sein können. Zum Beispiel kann ein neuronales Netzwerksoftwaresystem auf der historischen Datenbank aufgeschichtet sein. Auch ein Supervisor-Steuersoftwaresystem kann oberhalb des historischen Datenbanksystems aufgeschichtet sein.
  • Ein Softwaresystem wird somit als eine Softwareimplementation einer Funktion verstanden, die in einer schichtartigen Weise zusammengesetzt sein kann, um ein Computersystem zu schaffen, welches eine neue Funktionalität bietet. Im allgemeinen ist auch die von einem Softwaresystem zu einem an deren Softwaresystem geschaffene Schnittstelle gut definiert. Im Zusammenhang mit der Erfindung ist zu verstehen, daß Abweichungen zwischen Softwaresystemen repräsentativ für die bevorzugte Ausführungsform sind. Die Erfindung kann jedoch unter Verwendung jeglicher Kombination oder Aufteilung von Softwaresystemen implementiert werden.
  • Fig. 12 zeigt eine bevorzugte Ausführungsform der erfindungsgemäßen Struktur. In Fig. 12 empfängt der gesteuerte Prozeß 1212 die Ausgangsmaterialien 1222 und erzeugt das Produkt 1216. Sensoren 1226 (von jedem geeigneten Typ) erzeugen Sensorsignale 1221, 1224, die der historischen Datenbank 1210 zugeführt werden, um mit zugehörigen Zeitmarken gespeichert zu werden. Es sei angemerkt, daß jede geeignete Art von Sensor 1226 verwendet werden kann, die Sensorsignale 1221, 1224 liefert.
  • Die historische Datenbank 1210 speichert die Sensorsignale 1224, die ihr mit von einer Uhr 1230 gelieferten zugehörigen Zeitmarken zugeführt werden. Zusätzlich speichert die historische Datenbank, wie es oben beschrieben wird, auch Ausgabedaten 1218 des neuronalen Netzwerks 1206. Diese Ausgabedaten haben ebenfalls zugehörige Zeitmarken, die von den neuronalen Netzwerk 1206 geliefert werden.
  • Jede geeignete Art historischer Datenbank 1210 kann verwendet werden. Eine historische Datenbank ist allgemein in "Historical Data Recording for Process Computers", 77, Chem. Eng'g Progress 38 AICLE, New York, (1981) von Hale und Sellars diskutiert (hier durch Referenz einbezogen).
  • Die hier verwendete historische Datenbank 1210 muß in der Lage sein, die Sensoreingabedaten 1224 mit zugehörigen Zeitmarken und die Voraussageausgabedaten 1218 von dem neuronalen Netzwerk 1206 mit den zugehörigen Zeitmarken zu speichern. Typischerweise wird die historische Datenbank 1210 die Sensordaten 1224 in einer komprimierten Art speichern, um die Anforderungen an den Speicherraum zu verringern, und sie wird die Probendaten (lab) 1304 in unkomprimierter Form speichern.
  • Oftmals wird die historische Datenbank 1210 in einer chemischen Fabrik in dem existierenden Prozeß-Steuerungssystem vorhanden sein. Die Erfindung kann diese historische Datenbank verwenden, um die verbesserte Prozessteuerung zu erreichen, welche durch die Erfindung erhalten wird.
  • Die historische Datenbank ist ein spezieller Typ von Datenbank, in der zumindest einige der Daten mit zugehörigen Zeitmarken gespeichert sind. Für gewöhnlich kann beim Wiederherstellen (Erhalten) von Daten von der historischen Datenbank Bezug auf die Zeitmarken genommen werden.
  • Die historische Datenbank 1210 kann als ein alleinstehendes Softwaresystem implementiert sein, das eine Grundschicht bildet, auf welcher weitere Softwaresysteme, wie etwa das neuronale Netzwerk 1206, aufgeschichtet sind. Ein solches historisches Grundschicht-Datenbanksystem kann verschiedene Funktionen in einer Prozeß-Steuerumgebung unterstützen. Die historische Datenbank kann zum Beispiel als Grundlage für Software dienen, die graphische Anzeigen der historischen Prozeßdaten zur Verwendung durch einen Anlagenbetreiber liefert. Eine historische Datenbank kann auch Daten für die Datenanalyse und die Display-Software liefern, die durch Ingenieure zum Analysieren des Betriebs des Prozesses 1212 verwendet werden. Ein solches historisches Grundschicht-Datenbanksystem wird oftmals eine große Anzahl von Sensordateneingben, möglicherweise eine große Zahl von Labordaten- Eingaben und möglicherweise auch eine ziemlich große Zeitgeschichte dieser Eingaben enthalten.
  • Es ist jedoch zu verstehen, daß die Erfindung einen sehr beschränkten Ausschnitt aus den Funktionen der historischen Datenbank 1212 benötigt. Insbesondere benötigt die Erfindung die Fähigkeit zumindest einen Trainingsdatenwert mit der Zeitmarke zu speichern, welche einen zugehörigen Eingabedatenwert anzeigt, und die Fähigkeit, einen solchen zugehörigen Eingabedatenwert zu speichern. Unter bestimmten Umständen, in denen z. B. ein historisches Grundschicht-Datenbanksystem nicht existiert, kann es wünschenswert sein, die wesentlichen historischen Datenbankfunktionen als Teil der neuronalen Netzwerksoftware zu implementieren. Indem die wesentlichen historischen Datenbankfähigkeiten in die neuronale Netzwerksoftware integriert werden, kann die Erfindung in einem einzelnen Softwaresystem implementiert sein. Es ist zu verstehen, daß verschiedene Unterteilungen zwischen verschiedenen Softwaresystemen, die zur Beschreibung der Erfindung verwendet werden, nur zum Beschreiben der besten tatsächlich angewendeten Art dienen. Jede Unterteilung oder Kombination zwischen verschiedenen Softwaresystemen der Schritte und Elemente der Erfindung kann verwendet werden.
  • Die in der Erfindung verwendete historische Datenbank 1210 kann unter Verwendung einer Anzahl von Verfahren implementiert werden. Zum Beispiel kann die historische Datenbank als Freizugriffsspeicherdatenbank (RAN) ausgebildet sein. Die historische Datenbank kann auch als Platte- oder Diskbasierte Datenbank oder als Kombination aus einem RAM und einer Disk-Datenbank implementiert sein. Wenn ein analoges neuronales Netzwerk 1206 in der Erfindung verwendet wird, kann die historische Datenbank 1210 unter Verwendung einer physikalischen Speichervorrichtungen implementiert sein. Die Erfindung bezieht sich auf jeden Computer oder analoges Mittel zum Durchführen der Funktionen der historischen Datenbank 1210.
  • Das neuronale Netzwerk 1206 stellt die Eingabedaten 1220 mit den zugehörigen Zeitmarken wieder her. Das neuronale Netzwerk 1206 verwendet diese wiederhergestellten Eingabedaten 1220 zur Voraussage von Ausgabedaten 1218. Die Ausgabedaten 1218 mit zugehörigen Zeitmarken werden der historischen Datenbank 1210 zum Speichern zugeführt.
  • Eine repräsentative Ausführungsform des neuronalen Netzwerks 1206 wurde in Abschnitt I beschrieben. Es ist zu verstehen, daß neuronale Netzwerke, wie sie in der Erfindung verwendet werden, auf jede Art implementiert sein können. Zum Beispiel verwendet die bevorzugte Ausführungsform eine Softwareimplementation eines neuronalen Netzwerks 1206. Es ist jedoch zu verstehen, daß jede Art der Implementierung eines neuronalen Netzwerks 1206 erfindungsgemäß verwendet werden kann, einschließlich physikalisch analoger Formen. Insbesondere kann das neuronale Netzwerk, wie es weiter unten diskutiert wird, als Softwaremodul in einem modularen neuronalen Netzwerksteuerungssystem implementiert sein.
  • Es ist bezüglich der Erfindung auch zu verstehen, daß Software und Computerausführungsformen nur eine mögliche Art der Implementation der verschiedenen Elemente in den Systemen und Verfahren sind. Wie vorausgehend erwähnt wurde, kann das neuronale Netzwerk 1206 in analoger oder digitaler Form implementiert sein, und auch die Steuervorrichtung 1202 kann z. B. ebenfalls in analoger oder digitaler Form implementiert sein. Es ist bezüglich der Verfahrensschritte, die für das Funktionieren des in diesem Abschnitt bestimmten Systems oben beschrieben wurden, zu verstehen, daß Betriebsvorgänge, wie etwa das Berechnen (was den Betrieb eines digitalen Computers einschließt) auch mit analogen Äquivalenten oder anderen Verfahren ausgeführt werden können.
  • In Fig. 12 werden die Ausgabedaten 1214 mit zugehörigen Zeitmarken, die in der historischen Datenbank 1210 gespeichert sind, durch einen Weg 1214 der Steuervorrichtung 1202 zugeführt. Diese Ausgabedaten 1214 werden durch die Steuervorrichtung 1202 zur Erzeugung von Steuerungausgabedaten 1208 verwendet, die an ein Stellglied/Stellglieder 1228 gesendet werden, welche zur Steuerung eines steuerbaren Prozeßzustands 2002 in dem Prozeß 1212 verwendet werden. Repräsentative Beispiele der Steuervorrichtung 1202 werden unten diskutiert.
  • Der in Fig. 12 gezeigte Kasten 1205 zeigt an, daß in einer Variation der Erfindung das neuronale Netzwerk 1206 und die historische Datenbank 1210 als ein einziges Softwaresystem implementiert sein können. Das einzige Softwaresystem kann zu einer Computerinstallation geliefert sein, bei der vorher keine historische Datenbank existierte, um die Funktionen der Erfindung zu liefern. Alternativ dazu kann eine neuronale Netzwerkskonfiguration (oder Programm) 1204 auch in diesem Softwaresystem enthalten sein.
  • Zwei zustätzliche Aspekte der in Fig. 12 gezeigten Architektur und Struktur sind die folgenden:
  • 1. Es ist anzumerken, daß die Steuervorrichtung 1202 auch mit Eingabedaten 1221 von Sensoren 1220 versorgt werden kann. Diese Eingabedaten werden direkt der Steuervorrichtung 1202 von diesem Sensor/Sensoren zugeführt.
  • 2. Das Modul 1204 zur Konfiguration des neuronalen Netzwerks ist in einer bidirektionalen Wegkonfiguration mit dem neuronalen Netzwerk 1206 verbunden. Das Modul 1204 zur Konfiguration des neuronalen Netzwerks wird von dem Benutzer (Entwickler) zur Konfiguration und Steuerung des neuronalen Netzwerks 1206 in einer Art verwendet, wie sie im Zusammenhang mit dem Schritt oder Modul 104 (Fig. 1) oben oder im Zusammenhang mit der Benutzerschnittstelle unten diskutiert wird.
  • In Fig. 13 ist eine alternative bevorzugte Ausführungsform der Struktur und Architektur der Erfindung gezeigt. Die einzigen Unterschiede zwischen den Ausführungsformen der Fig. 12 und 13 sind hier diskutiert. Die Unterschiede sind die folgenden.
  • Ein Labor ("lab") 1307 wird mit Proben 1302 versorgt. Diese Proben 1203 können physikalische Exemplare oder irgendeine Art von Daten eines analytischen Tests oder Auslesung sein. Unabhängig von der Form nimmt das Labor dieses Material/Daten und verwendet es zur Erzeugung tatsächlicher Messungen 1304, die der historischen Datenbank 1210 mit zugehörigen Zeitmarken zugeführt werden. Die Werte 1304 werden in der historischen Datenbank 1310 mit ihren zugehörigen Zeitmarken gespeichert.
  • Somit enthält die historische Datenbank nun auch die tatsächlichen Testergebnisse oder tatsächlichen Laborergebnisse zusätzlich zu den Sensoreingabedaten. Es ist zu verstehen, daß ein Labor als Verdeutlichung einer Quelle tatsächlicher Messungen 1304 steht, die als Trainingseingabedaten nützlich sind. Andere Quellen werden durch die Erfindung eingeschlossen. Labordaten können elektronische Daten, gedruckte Daten oder über jegliche Kommunikationsverbindung ausgetauschte Daten sein.
  • Der zweite Unterschied in dieser Ausführungsform ist, daß das neuronale Netzwerk 1206 mit den Labordaten 1304 und den zugehörigen Zeitmarken versorgt wird, die in der historischen Datenbank 1210 gespeichert sind.
  • Eine weitere Hinzufügung zu der Architektur aus Fig. 12 sind Fehlerdaten 1504 (Fig. 15), die von dem neuronalen Netzwerk 1206 mit zugehörigen Zeitmarken der historischen Datenbank 1210 zum Speichern zugeführt werden.
  • Somit kann ersehen werden, daß die Ausführungsform aus Fig. 13 es der Erfindung erlaubt, Labordaten 1304 als Trainingseingabedaten 1306 zum Trainieren des neuronalen Netzwerks zu verwenden.
  • In Fig. 14 ist eine repräsentative Ausführungsform der Steuervorrichtung 1202 gezeigt. Die Ausführungsform verwendet eine Regelsteuerung 1406 zur regelnden Steuerung des Prozesses 1212. Jede Art von Regelsteuerung, die solche Regelsteuerung liefert, wird berücksichtigt. Es gibt viele kommerziell erhältlichen Ausführungsformen für solche Regelsteuerungen. Typischerweise wird die Erfindung unter Verwendung von bereits vorhandenen Regelsteuerungen implementiert. Mit anderen Worten kann die Erfindung in existierende Prozeß-Steuerungssysteme integriert werden.
  • Zusätzlich zu der Regelsteuerung 1406 enthält die in Fig. 14 gezeigte Ausführungsform auch eine Überwachungssteuerung 1408. Die Überwachungssteuerung 1408 berechnet Überwachungssteuerungsausgabedaten, die in Übereinstimmung mit den Voraussageausgabedaten 1214 berechnet werden. Mit anderen Worten verwendet die Überwachungssteuerung 1408 die Voraussageausgabedaten 1204 von dem neuronalen Netzwerk 1206 zur Erzeugung von Überwachungssteuerungsausgabedaten 1402.
  • Die Überwachungssteuerungsausgabedaten 1402 werden der Regelungssteuerung 1406 zum Ändern des Regelsteuerungseinstellpunktes 1404 (oder andere Parameter der Regelungssteuerung 1406) zugeführt. Mit anderen Worten werden die Überwachungssteuerungausgabedaten 1402 zur Änderung des Regelungssteuerungseinstellpunktes 1404 verwendet, um so die von der Regelungssteuerung 1406 durchgeführte Regelungssteuerung zu ändern.
  • Jede geeignete Art von Überwachungssteuerung 1408 kann in der Erfindung verwendet werden, einschließlich kommerziell erhältlicher Ausführungsformen. Die einzige Beschränkung ist, daß die Überwachungssteuerung 1408 in der Lage ist, die Ausgabedaten 1408 zur Berechnung der Überwachungssteuerungsausgabedaten 1402 zu verwenden, welche zur Änderung des Regelungssteuerungseinstellpunktes (Parameter) 1404 verwendet werden.
  • Die Erfindung betrachtet die Überwachungssteuerung 1408 in einem Software- und Hardwaresystem, die physikalisch von der Regelsteuerung 1406 getrennt sind. Beispielsweise ist in vielen chemischen Prozessen die Regelsteuerung 1406 als digital verteiltes Steuersystem (DCS) implementiert. Dieses digital verteilte Steuersystem schafft ein sehr hohes Niveau an Robustheit und Zuverlässigkeit zum Regulieren des Prozesses 1212. Im Gegensatz dazu kann die Überwachungssteuerung 1408 in einem Host-based-Computer implementiert sein, wie etwa einem VAX (VAX ist der Markenname von DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts).
  • In Fig. 15 ist eine detalliertere Ausführungsform der Erfindung gezeigt. In dieser Ausführungsform ist die Überwachungssteuerung 1408 von der Regelsteuerung 1406 getrennt. Die drei Kästen 1501, 1502, 1503, die in Fig. 15 gezeigt sind, schlagen verschiedene Arten vor, in denen die Funktionen der Überwachungssteuerung 1408, des neuronalen Netzwerkskonfigurationsprogramms 1204, des neuronalen Netzwerks 1206 und der historische Datenbank 1210 implementiert sein können. Beispielsweise zeigt der mit 1502 bezeichnete Kasten, wie die Überwachungssteuerung 1408 und das neuronale Netzwerk 1206 zusammen in einem einzelnen Softwaresystem implementiert sein können. Dieses Softwaresystem kann die Form eines modularen Systems annehmen, wie es in Fig. 16 beschrieben wird. Alternativ dazu kann das neuronale Netzwerkkonfigurationsprogramm 1204 als ein Teil des Software- Systems enthalten sein. Diese verschiedenen Softwaresystemgruppierungen zeigen verschiedene Arten an, in denen die Erfindung implementiert sein kann. Jedoch ist zu verstehen, daß jede Kombination der Funktionen in verschiedene Softwaresysteme zur Implementierung der Erfindung verwendet werden kann.
  • In Fig. 16 ist eine repräsentative Ausführungsform 1502 des neuronalen Netzwerks 1205 in Kombination mit der Überwachungssteuerung 1408 gezeigt. Diese Ausführungsform wird als modularer Überwachungssteueransatz bezeichnet. Die gezeigte modulare Struktur verdeutlicht, daß die Erfindung die Verwendung von verschiedenen Arten von Modulen betrachtet, die durch den Benutzer (Entwickler) bei der Konfigurierung des neuronalen Netzwerks/der neuronalen Netzwerke 1206 in Kombination mit den Überwachungssteuerfunktionen implementiert sein kann, um so den überlegenen Prozeß-Steuerbetrieb zu erzielen.
  • Verschiedene Module, die durch den Benutzer der Erfindung implementiert werden können, sind in der Ausführungsform aus Fig. 16 gezeigt. Insbesondere enthält zusätzlich zu dem neuronalen Netzwerkmodul 1206 die modulare Ausführungsform aus Fig. 16 auch ein Rückkopplungssteuermodul 1602, ein Vorwärtssteuermodul 1604, ein Expertensystemmodul 1606, ein Cusum-Modul (Cumulative Summation-Module) 1608, ein Shewhart-Modul 1610, ein Benutzerprogrammmodul 1612 und ein Stapelereignismodul 1614. Jedes von diesen kann/vom Benutzer ausgewählt werden. Der Benutzer kann mehr als eines hiervon zur Konfiguration der Erfindung implementieren. Außerdem können zusätzliche Modultypen verwendet werden.
  • Die Absicht der in Fig. 16 gezeigten Ausführungsform ist es, drei Konzepte zu zeigen. Zunächst kann die Erfindung einen modularen Ansatz verwenden, der die Benutzerkonfiguration der Anwendung der Erfindung erleichtert. Zweitens ermöglicht der modulare Ansatz bei wesentlich komplizierteren Systemen die Konfiguration, da die Module als Grundbaublöcke dienen, die unabhängig voneinander manipuliert und verwendet können.
  • Als drittes zeigt der modulare Ansatz, daß die Erfindung in andere Prozeß-Steuersysteme integriert werden kann. Anders gesagt, die Erfindung kann in dem System und Verfahren der US-Patente und Patentanmeldungen implementiert sein, die durch Bezugnahme einbezogen sind, wie es vorangehend erwähnt wurde.
  • Genauer gesagt, der modulare Ansatz ermöglicht der neuronalen Netzwerkfähigkeit der Erfindung, mit einer Expertensystemfähigkeit, die in den oben genannten Patenten und Patentanmeldungen beschrieben ist, integriert zu sein. Wie vorangehend erwähnt wurde, ermöglicht dies der neuronalen Netzwerkfähigkeit der Erfindung, leicht mit anderen Standardsteuerfunktionen, wie etwa statistischen Tests und Rückkopplungen oder Vorwärtssteuerungen, einstückig ausgebildet zu sein. Darüber hinaus können auch größere Funktionen durch Kombinieren der neuronalen Netzwerkfähigkeiten der Erfindung, wie sie durch die modulare Ausführungsform implementiert ist, mit der Expertensystemfähigkeit der oben beschriebenen Patentanmeldungen erzielt werden, die auch in der modularen Ausführungsform implementiert sind. Diese leichte Kombination und Verwendung von Standardsteuerfunktionen, neuronalen Netzwerksfunktionen und Expertensystemfunktionen ermöglichen das Erzielen einer sehr hohen Kapazität bei der Lösung von Prozeß-Steuerproblemen.
  • Der modulare Ansatz bei der Ausbildung von neuronalen Netzwerken liefert grundsätzlich zwei Vorzüge. Zuerst wird die vom Benutzer benötigte Spezifikation deutlich vereinfacht, so daß nur wenige Daten zum Spezifizieren der Konfiguration und Funktion des neuronalen Netzwerks benötigt werden. Zweitens ermöglicht der modulare Ansatz eine wesentlich leichtere Integration der neuronalen Netzwerkfunktion mit anderen zusammenhängenden Steuerfunktionen, wie etwa Rückkopplungssteuerung, Vorwärtssteuerung usw.
  • Im Gegensatz zu einem Programmansatz zur Ausbildung des neuronalen Netzwerks liefert ein modularer Ansatz im voraus eine Teildefinition bezüglich der Funktionen, die durch das neuronale Netzwerkmodul geliefert werden. Die vordefinierte Funktion für das Modul bestimmt die Prozedur, der zum Ausführen der Modulfunktion gefolgt werden muß, und es bestimmt alle Prozeduren, die zur Überprüfung der geeigneten Konfiguration des Netzwerks zu folgen sind. Die jeweilige Funktion wird durch die Datenanforderungen zur Vervollständigung der Spezifikation des neuronalen Netzwerkmoduls definiert. Die Spezifikation für ein modulares neuronales Netzwerk wird Konfigurationsinformation enthalten, welche die Größe, die Verbindung und das Verhalten des neuronalen Netzwerks im allgemeinen definieren, und von Dateninteraktionen des neuronalen Netzwerks, welche die Quelle und die Bestimmung der Daten definieren, die von dem Netzwerk benutzt und erzeugt werden.
  • Zwei Ansätze können zur Vereinfachung der Benutzerkonfiguration der neuronalen Netzwerke verwendet werden. Zunächst kann ein begrenzter Satz von Prozeduren vorbereitet und in der modularen neuronalen Netzwerksoftware implementiert sein. Diese vordefinierten Funktionen werden natürlich die Spezifikation definieren, die zum Ausführen der Arbeit dieser Prozeduren als neuronale Netzwerkmodule benötigt werden. Beispielsweise wird die Erzeugung eines modularen Netzwerkmoduls, das voll verbunden ist, eine verborgene oder mittlere Schicht hat und keine Rückkopplung aufweist, die Spezifikation der Anzahl der Eingänge, die Zahl der mittleren Fehlerelemente und die Zahl der Ausgänge benötigen. Es wird nicht die Spezifikation der Verbindungen zwischen den Eingängen, den Ausgängen und den Elementen erfordern. Somit wird die benötigte Benutzereingabe für die Spezifikation eines solchen Moduls sehr vereinfacht. Dieser vordefinierte Prozeduransatz ist das bevorzugte Verfahren zur Implementierung des modularen neuronalen Netzwerks.
  • Ein zweiter Ansatz, der zum Erzeugen einer modularen Netzwerkfunktion verwendet werden kann, ist es, die Verwendung eines begrenzten Satzes von Ausdrücken in natürlicher Sprache bei der Definition des neuronalen Netzwerks zu erlauben. Bei einer solchen Implementation wird es dem Benutzer oder Entwickler möglich sein, über die Tastatur oder andere Mittel Definitionen in natürlicher Sprache für das neuronale Netzwerk einzugeben. Beispielsweise kann der Benutzer Text eingeben, der sich liest wie beispielsweise: "I want a fully connected feedforward neutral network.". Diese Benutzereingaben können syntax-überprüft und durchsucht werden, um Spezifikationskombinationen von Ausdrücken oder ihre Äquivalente zu finden, die es der Spezifikationskonfigurationsinformation ermöglichen, aus den beschränkten Eingabee in natürlicher Sprache entnommen zu werden.
  • Durch die Syntaxüberprüfung der gesamten Eingabe, die vom Benutzer in diesem Verfahren geliefert wird, kann die gesamte Spezifikation für das neuronale Netzwerkmodul erhalten werden. Wenn diese Information einmal bekannt ist, können zwei Ansätze zur Erzeugung eines lauffähigen Moduls verwendet werden.
  • Der erste Ansatz wird sein, nach einer vordefinierten Prozedur zu suchen, die mit der Konfigurationsinformation bereinstimmt, wenn die von der Eingabe mit der eingeschränkten natürlichen Sprache versorgt wird. Dies ist nützlich, wenn der Benutzer dazu neigt, die gleichen grundlegenden neuronalen Netzwerkfunktionen für viele Probleme zu spezifizieren.
  • Ein zweiter Ansatz kann eine viel flexiblere Erzeugung der neuronalen Netzwerkfunktion liefern. Bei diesem Ansatz kann die durch Syntaxanalyse der Eingabe natürlicher Sprache erhaltene Spezifikation zur Erzeugung einer neuronalen Netzwerkprozedur durch tatsächliches Erzeugen eines lauffähigen oder kompilierbaren Codes verwendet werden. Bei diesem Ansatz werden die neuronalen Netzwerksfunktionen mit relativ kleinen Inkrementen definiert, im Gegensatz zu dem Ansatz, bei dem eine vollständig vordefinierte neuronale Netzwerkfunktion geliefert wird. Dieser Ansatz kann z. B. eine kleine Funktion kombinieren, die in der Lage ist, Eingabedaten zu erhalten und einen Satz von Eingänge zu bevölkern. Durch Kombination einer Anzahl solcher kleinen Funktions- Stücke und durch Erzeugen von Codes, welche die Benutzerspezifikation wiedergeben und inkorporieren, kann eine vollständige neuronale Netzwerksprozedur erzeugt werden. Dieser Ansatz kann wahlweise die Fähigkeit zur Abfrage des Benutzers bezüglich Spezifikationen enthalten, die bei der Eingabe in natürlicher Sprache vernachlässigt oder weggelassen wurden. Somit kann, wenn beispielsweise der Benutzer vernachlässigt, die Zahl der Ausgänge des Netzwerks festzulegen, der Benutzer nach dieser Information abgefragt werden, und das System kann eine zusätzliche Leitung der Benutzerspezifikation erzeugen, die die Antwort auf die Frage anzeigt.
  • Die Syntaxüberprüfung und die Kodeerzeugung in diesem Ansatz verwenden vordefinierte kleine Unterfunktionen der gesamten neuronalen Netzwerkfunktion. Ein vorgegebenes Schlüsselwort (Ausdruck) entspricht einer bestimmten Unterfunktion der gesamten neuronalen Netzwerkfunktion. Jede Unterfunktion hat einen entsprechenden Satz Schlüsselworte (Ausdruck) und zugehöriger Schlüsselworte und numerischer Werte. Zusammen bilden jedes Schlüsselwort und zugehörige Schlüsselworte und Werte eine symbolische Spezifikation der neuronalen Netzwerkunterfunktion. Die Ansammlung aller symbolischen Spezifikationen bilden eine symbolische Spezifikation der gesamten neuronalen Netzwerkfunktion.
  • Der Sytaxverarbeitungsschritt verarbeitet die wesentlichen Eingäben in natürlicher Sprache. Er entfernt die unnötigen Worte in natürlicher Sprache und gruppiert die verbleibenden Schlüsselworte und numerischen Werte in symbolische Spezifikationen der neuronalen Netzwerkunterfunktionen. Eine Art, diese Syntaxüberprüfung zu implementieren, ist es, die Eingabe in Sätze und Abschnitte aufzubrechen, die durch Semikolons und Kommata verbunden sind, und die Spezifikation auf eine einzelne Unterfunktion pro Absatz zu beschränken. Jeder Absatz wird nach Schlüsselworten, numerischen Werten und zugehörigen Schlüsselworten untersucht. Die verbleibenden Worte werden verworfen. Ein gegebenes Schlüsselwort (Ausdruck) entspricht einer bestimmten Unterfunktion der gesamten neuronalen Netzwerkfunktion.
  • Oder Schlüsselwörter können Beziehungsaufgabenwörter enthalten, wie "in", "mit" usw., die die Beziehung von einem Schlüsselwort zu einem weiteren anzeigt. Beispielsweise bei der Spezifikation "3 nodes in the hidden layer" bezieht sich das Wort "in" auf "3 nodes" zu "hidden layer", so daß die Unterfunktionsspezifikation der verborgenen Schicht angezeigt ist. Unter Verwendung solcher Beziehungsaufgabenwörter können viele Unterfunktionsspezifikationen in demselben Absatz verarbeitet werden.
  • Schlüsselwörter können definiert sein, so daß sie Äquivalente haben. Beispielsweise kann es dem Benutzer möglich sein, bei einer Ausführungsform dieses Aspekts der Erfindung die Übertragungsfunktion (Aktivierungsfunktion) zu spezifizieren, die in den Elementen (Knoten) in dem Netzwerk verwendet wird. Somit kann das Schlüsselwort "Aktivierungsfunktion" sein, und ein Äquivalent könnte sein "Übertragungsfunktion". Dieses Schlüsselwort entspricht einem Satz vordefinierter Unterfunktionen, die verschiedene Arten von Übertragungsfunktionen in den neuronalen Netzwerken implementieren. Die spezifischen Daten, die in Kombination mit dem Ausdruck erlaubt sein können, können beispielsweise sein: der Ausdruck "sigmoidal" oder das Wort "threshold". Diese spezifischen Daten kombinieren das Schlüsselwort, das anzeigt, welche der Unterfunktionen zu verwenden ist, um die Aktivierungsfunktionsfähigkeit in dem neuronalen Netzwerk zu liefern, wenn dieses ausgebildet ist.
  • Weitere Beispiele können das Schlüsselwort "nodes" sein, das als Äquivalent "nodes" oder "elements." haben kann. Die zugehörigen Daten werden ganze Zahlen sein, die die Anzahl der Knoten in einer gegebenen Schicht anzeigen. In einem besonderen Fall kann es vorteilhaft sein, nach numerischen Daten in Kombination mit dem Wort oder dem Ausdruck "in" und dem Schlüsselwort "hidden layer," usw. in Kombination zu suchen. Dies kann die Anzahl der Knoten in der mittleren Schicht festlegen. Somit kann gesehen werden, daß verschiedene Niveaus der Flexibilität bei der Spezifikation mit im wesentlichen natürlicher Sprache geliefert werden können. Steigende Flexibilitätspegel benötigen detailliertere und teurere Spezifikationen der Schlüsselworte und zugehöriger Daten mit zugehörigen Schlüsselworten.
  • Im Gegensatz dazu braucht das Schlüsselwort "fully connected" keine zugehörige Eingabe haben. Es trägt in sich selbst die gesamte Bedeutung.
  • Das neuronale Netzwerk selbst wird unter Verwendung dieses Verfahrens gebildet, in dem die Spezifikation, wie sie aus den im wesentlichen in natürlicher Sprache erfolgten Eingabesyntax analysiert wurden, die wahrscheinlich in einer vorgegebenen Reihenfolge erfolgten, und in dem der volle Funktionsprozedurcode für das neuronale Netzwerk aus den Codefragmenten der Verarbeitungsunterfunktionen erzeugt wird.
  • Ein weiterer Hauptvorteil eines modularen Ansatz ist die Einfachheit der Integration mit anderen Funktionen in der Anwendungsdomain (Problemdomain). Bei der Prozeß-Steuerdomain z. B. kann es wünschenswert oder produktiv sein, die Funktionen eines neuronalen Netzwerks mit anderen - eher Standardsteuerfunktionen - wie etwa statistischen Tests, Rückkopplungssteuerung usw. zu kombinieren. Die Implementation der neuronalen Netzwerke als modulare neuronale Netzwerke in einem größeren Steuerungssystem kann in großem Ausmaß diese Art der Implementierung vereinfachen.
  • Die Inkorporation der modularen neuronalen Netzwerke in ein modulares Steuersystem ist vorteilhaft, da sie es vereinfacht, neuronale Netzwerkvoraussagen in einer Steueranwendung zu erzeugen und zu verwenden. Jedoch ist die Anwendung modularer neuronaler Netzwerke in einem Steuersystem unterschiedlich von den Steuerfunktionen, die typischerweise in einem Steuersystem gefunden werden. Beispielsweise beruhen in einigen der durch die obige Bezugnahme enthaltenen US- Patente und Patentanmeldungen beschriebenen Steuerfunktionen im allgemeinen auf der tatsächlichen Information für ihre Handlungen und sie definieren nicht allgemein ihre Funktionen bezüglich vergangener Daten. Um eine/neuronale Netzwerkfunktion effektiv in einem modularen Steuersystem auszubilden, sind Mittel nötig zum Trainieren und zum Betreiben des neuronalen Netzwerks unter Verwendung von Da ten, die nicht allgemein durch Wiederherstellen gegenwärtiger Datenwerte erhältlich sind. Die Systeme und Verfahren der Erfindung, wie sie vorangehend beschrieben wurden, liefern diese wesentliche Fähigkeit, die eine modulare neuronale Netzwerkfähigkeit ermöglicht, in einem modularen Steuersystem zu implementiern.
  • Ein modulares neuronales Netzwerk hat verschiedene Charakteristika, die seine Integration in andere Steuerfunktionen beachtlich vereinfachen. Als erstes werden die Ausführung der neuronalen Netzwerkfunktionen, Voraussage und/oder Training in der Zeit mit anderen Steuerfunktionen leicht koordiniert. Diese Zeitsteuerungssequentierungsfähigkeiten einer modularen Implementation eines neuronalen Netzwerks liefert diese Fähigkeit. Auch wenn es als modulare Funktion implementiert ist, können neuronale Netzwerke diese Ergebnisse leicht für andere Steuerfunktionen zugänglich machen, die es benötigen. Dies kann beispielsweise ohne Notwendigkeit der Speicherung der Ausgabe des neuronalen Netzwerks in einem externen System, wie einer historischen Datenbank, getan werden.
  • Die modularen neuronalen Netzwerke können entweder synchron oder asynchron mit anderen Funktionen in dem Steuerungssystem laufen. Jede Zahl neuronaler Netzwerke kann innerhalb derselben Steuerungs-Anwendung oder in verschiedenen Steuerungs-Anwendungen innerhalb des Steuerungssystems erzeugt werden. Dies kann in großem Maße die Verwendung neuronaler Netzwerke vereinfachen, um Voraussagen für Ausgabedaten zu machen, dort wo verschiedene kleine neuronale Netzwerke leichter oder schneller trainiert werden können, als ein einziges großes neuronales Netzwerk. Modulare neuronale Netzwerke liefern auch eine konsistente Spezifikation und eine Benutzerschnittstelle, so daß ein Benutzer, der in der Verwendung modularer Netzwerksteuerungssysteme trainiert ist, alle Steuerungsprobleme ohne das Erlernen neuer Software angehen kann.
  • Eine Ausdehnung des modularen Konzepts ist die Spezifikation von Daten unter Verwendung von Zeigern. Hier wiederum werden dem Benutzer (Entwickler) die leichte Spezifikation einer Anzahl von Datenwiederherstellungen oder Datenspeicherfunktionen durch einfache Auswahl der gewünschten Funktion und durch Spezifikation der benötigten Daten zur Implementierung der Funktion angeboten. Zum Beispiel ist die Wiederherstellung eines zeitgewichteten Mittelwertes aus der historischen Datenbank eine solche vordefinierte Funktion. Durch Auswahl eines Datentyps eines solchen gewichteten Mittelwertes muß der Benutzer (Entwickler) nur die gewünschte spezifische Messung und die Start- und Endzeitgrenzen spezifizieren, und die bevorzugte Wiederherstellungsfunktion wird den geeigneten Code oder Funktion zum Wiederherstellen der Daten verwenden. Dies vereinfacht beachtlich den Zugriff durch den Benutzer auf Daten, die in einer Anzahl verschiedener Prozeßdatensysteme vorliegen können. Im Gegensatz dazu würde, ohne den modularen Ansatz, der Benutzer in der zum Schreiben der Aufrufe zum Wiederherstellen der Daten aus den Hilfszuständen benötigten Programmtechniken fachkundig sein müssen.
  • Eine Weiterentwicklung des modularen Ansatz der Erfindung ist in Fig. 17 gezeigt. Fig. 17 zeigt das neuronale Netzwerk 1206 in einer modularen Form.
  • In Fig. 17 ist eine spezifische Softwareausführungsform der modularen Form der Erfindung gezeigt. Bei dieser modularen Ausführungsform ist ein begrenzter Satz neuronaler Netzwerksmodultypen 1702 vorgesehen. Jeder neuronale Netzwerkmodultyp 1702 erlaubt dem Benutzer die Erzeugung und Konfiguration eines neuronalen Netzwerkmoduls, wobei eine spezifische Art neuronalen Netzwerks implementiert wird. Ver schiedene Typen neuronaler Netzwerke können verschiedene Verschaltungsformen, verschiedene Anzahl von Schichten der Elemente, verschiedene Trainingsverfahren usw. haben. Für jeden neuronalen Netzwerkmodultyp kann der Benutzer neuronale Netzwerkmodule erzeugen und konfigurieren. Drei spezifische Abschnitte neuronaler Netzwerkmodule sind mit 1702', 1702" und 1702" ' gezeigt.
  • Bei dieser modularen Softwareausführungsform sind neuronale Netzwerkmodule als Datenspeicherbereiche implementiert, die einen Prozedurzeiger 1710', 1710", 1710''' zu Prozeduren enthalten, die die Funktionen des neuronalen Netzwerktyps ausführen, welcher für das Modul verwendet wird. Die neuronalen Netzwerkprozeduren 1706' und 1706" sind in einem begrenzten Satz neuronaler Netzwerkprozeduren 1704 enthalten. Die Prozeduren 1706', 1706" entsprechen 1 : 1 den neuronalen Netzwerkstypen, die in dem begrenzten Satz neuronaler Netzwerktypen 1702 enthalten sind.
  • Bei dieser modularen Softwareausführungsform können viele neuronale Netzwerkmodule erzeugt werden, die die gleichen neuronalen Netzwerkprozedur verwenden. In diesem Fall enthält jedes der Mehrzahl Module einen Prozedurzeiger zu derselben neuronalen Netzwerkprozedur 1706' oder 1706". Auf diese Art können viele modulare neuronale Netzwerke implementiert werden, ohne daß die Prozeduren oder die Codes verdoppelt würden, die zur Durchführung oder Ausführung der neuronalen Netzwerkfunktionen benötigt werden.
  • In Fig. 18 ist eine spezifischere Softwareausführungsform des modularen neuronalen Netzwerks gezeigt. Diese Ausführungsform ist besonders wertvoll, wenn die neuronalen Netzwerkmodule in dem gleichen modularen Softwaresystem wie die Module implementiert sind, die andere Funktionen ausführen, wie etwa statistische Tests oder Rückkopplungssteuerung.
  • Da die neuronalen Netzwerke eine große Zahl von Eingaben und Ausgaben mit zugehörigen Fehlerwerten und Trainingseingabedatenwerten verwenden können, und da neuronale Netz-. werke eine große Anzahl Gewichtswerte benötigen können, die zu speichern sind, können neuronale Netzwerkmodule beachtlich größere Speicheranforderungen als andere Modultypen in dem Steuerungssystem haben. In diesem Fall ist es vorteilhaft, die Parameter des neuronalen Netzwerks in einem getrennten neuronalen Netzwerkparameterspeicherbereich 1806 zu speichern. Diese Struktur bedeutet, daß Modulimplementierungsfunktionen außer den neuronalen Netzwerkfunktionen nicht den Speicher reservieren müssen, der für die neuronalen Netzwerke ausreicht.
  • Bei dieser modularen Softwareausführungsform enthält jeder Abschnitt des modularen neuronalen Netzwerks 1702' und 1702" zwei Zeiger. Die ersten Zeiger 1710' und 1710" sind Prozedurzeiger, die vorangehend unter Bezug auf Fig. 17 beschrieben wurden. Jedes neuronale Netzwerkmodul enthält auch einen zweiten Zeiger, nämlich die Parameterzeiger 1802' und 1802", die auf einen Speicherbereich 1806' und 1806" für Netzwerkparameter in einem neuronalen Netzwerkparameterspeicherbereich 1804 zeigen. Nur die neuronalen Netzwerkmodule müssen die Parameterzeiger 1802', 1802" zu den neuronalen Netzwerkparameterspeicherbereich 1804 enthalten. Andere Modultypen, wie etwa Steuermodule, die keinen solchen extensiven Speicher erfordern, müssen keinen neben dem Parameterzeiger 1802 angeordneten Speicher haben.
  • Fig. 22 zeigt repräsentative Aspekte der Architektur des neuronalen Netzwerks 1206. Die Darstellung in Fig. 22 ist insbesondere im Zusammenhang mit dem modularen neuronalen Netzwerkansatz wichtig, der in den Fig. 16, 17 und 18 gezeigt und vorangehend diskutiert wurde.
  • In Fig. 22 sind die Komponenten zur Ausbildung und Verwendung einer repräsentativen Ausführungsform des neuronalen Netzwerks 1206 in einem Explosionsformat gezeigt.
  • Das neuronale Netzwerk 1206 muß ein neuronales Netzwerkmodell enthalten. Wie vorangehend ausgeführt wurde, bezieht sich die Erfindung auf alle tatsächlich erhältlichen und in Zukunft zu entwickelnden neuronalen Netzwerkmodelle und Architekturen. Wie in Fig. 22 gezeigt wird, kann das neuronale Netzwerkmodell 2202 einen voll vorgeschalteten Aspekt 2220 oder einen Nicht-Rückkoppelungs-Aspekt 2222 enthalten. Dies sind nur Beispiele. Andere Aspekte oder Architekturen für das neuronale Netzwerkmodell 2202 werden berücksichtigt.
  • Das neuronale Netzwerk 1206 muß Zugriff auf Eingabedaten und Trainingseingabedaten und Zugriff auf Plätze haben, in denen es Ausgabedaten und Fehlerdaten speichern kann. Die bevorzugte Ausführungsform der Erfindung verwendet einen ON-Line-Ansatz. Bei diesem Ansatz werden die Daten nicht in dem neuronalen Netzwerk 1206 gehalten. Stattdessen werden die Datenzeiger in dem neuronalen Netzwerk gehalten, die auf Datenspeicherplätze in einem getrennten Softwaresystem zeigen. Diese Datenzeiger, die auch Datenspezifikationen genannt sind, können eine Vielzahl von Formen annehmen und können verwendet werden, um auf Daten zu zeigen, welche für eine Anzahl von Zwecken verwendet werden.
  • Zum Beispiel müssen der Eingabedatenzeiger 2204 und der Ausgabedatenzeiger 2206 spezifiziert werden. Wie in der Explosionsansicht gezeigt, kann der Zeiger auf ein bestimmtes Datenquellensystem 2224 für die Daten, auf einen Datentyp 2206 und einen Datenunterpunktzeiger 2228 zeigen und diese verwenden.
  • Das neuronale Netzwerk 1206 muß auch eine Datenwiederherstellungsfunktion 2208 und eine Datenspeicherfunktion 2210 haben. Beispiele dieser Funktionen werden als Routinen 2230, Plattenzugriff 2232 und Netzwerkzugriff 2234 bezeichnet. Dies sind nur Beispiele der Aspekte der Wiederherstellungs- und Speicherfunktionen.
  • Das neuronale Netzwerk 1206 muß auch eine Voraussagezeitsteuerung und eine Trainingszeitsteuerung haben. Diese werden durch die Voraussagezeitsteuerungen 2212 und Trainingszeitsteuerungen 2214 spezifiziert. Eine Art dies zu implementieren, ist die Verwendung des Zeitsteuerungsverfahrens 2236 und der zugehörigen Zeitsteuerungsparameter 2238. In Fig. 24 enthalten die Beispiele des Zeitsteuerungsverfahrens 2236 ein festes Zeitintervall 2402, einen neuen Datenzugang 2404, Anknüpfung nach einem anderen Modul 2406, eine Programmanfrage 2408, eine Expertensystemanfrage 2410, das Aktualisieren aller Trainingsdaten 2412 und Stapelsequenzverfahren 2414. Diese sind ausgestaltet, um *die Steuerung über die Zeit, die Daten, Beendigung von Modulen oder andere Methoden und Prozeduren des Trainings und der Funktion des neuronalen Netzwerks 1206 zu erlauben. Diese Beispiele dienen in diesem Zusammenhang nur zur Verdeutlichung.
  • Fig. 24 zeigt auch Beispiele der Zeitsteuerungsparameter 2238. Solche Beispiele enthalten das Zeitintervall 2416, die Modulspezifikation 2420 und die Sequenzspezifikation 2422. Weitere Beispiele sind die Datenunterpunktspezifikation (Zeiger) 2418. Wie in Fig. 24 gezeigt ist, enthalten Beispiele der Datenunterpunktspezifikation das Spezifizieren des Datenquellensystems 2224, des Datentyps 2226 und des Datenunterpunktzeigers 2228, der oben beschrieben wurde.
  • In Fig. 22 kann die vorangehend diskutierte Trainingsdatenkoordination auch von mehreren Anwendungen angefordert wer den. Beispiele für Ansätzen, die für solche Koordination verwendet werden können, sind gezeigt. Eines ist die Verwendung aller gegenwärtigen Werte, wie es durch das Bezugszeichen 2240 dargestellt ist. Ein weiterer ist die Verwendung von laufenden Trainingseingabedatenwerten und von Eingabedaten zur frühesten Trainingseingabedatenzeit, wie es durch das Bezugszeichen 2242 angezeigt ist. Ein weiterer Ansatz ist die Verwendung der gegenwärtigen Trainingseingabedatenwerte mit den Eingabedaten der letzten Trainingszeit, wie es durch das Bezugszeichen 2244 angezeigt ist. Wiederum sind dies nur Beispiele und sollten nicht als Begrenzung im Sinne der Art der Koordination der Trainingsdaten verstanden werden, die erfindungsgemäß verwendet werden können.
  • Das neuronale Netzwerk 1206 muß, wie vorangehend diskutiert wurde, auch trainiert werden. Wie gesagt, werden alle gegenwärtig bekannten oder künftig zu entwickelnden Trainingsverfahren durch die Erfindung betrachtet. Das Trainingsverfahren kann in gewisser Weise auch durch die Architektur des neuronalen Netzwerkmodells, das verwendet wird, diktiert sein. Beispiele der Aspekte von Trainingsverfahren enthalten die Rückausbreitung 2246, das verallgemeinerte Delta 2248 und Gradientenabstieg 2250 - die alle im Stand der Technik bekannt sind. In diesem Zusammenhang wird Bezug auf die Artikelreihe mit dem Titel "Neural Networks Primer" von Maureen Caudill, Al Expert, Dezember 1987 (Teil I), Februar 1988 (Teil II), Juni 1988 (Teil III), August 1988 (Teil IV) und November 1988 (Teil V) genommen, die durch Bezugnahme eingeschlossen sind.
  • In Fig. 23 sind Beispiele der Datenquellensysteme 2224, des Datentyps 2226 und des Datenuntergrundzeigers 2228 zur Verdeutlichung gezeigt.
  • Im Zusammenhang mit dem Datenquellsystem 2224 sind Beispiele einer historischen Datenbank 1210, ein verteiltes Steuersystem 1202, eine programmierbare Steuerung 2302 und eine Netzwerkeinzelschleifensteuerung 2304. Dies dient nur zur Verdeutlichung.
  • Alle Datenquellsysteme können durch die Erfindung verwendet werden. Es ist zu verstehen, daß solche Datenquellsysteme sowohl eine Speichervorrichtung als auch eine tatsächliche Meß- oder Rechenvorrichtung sein können. Alles was nötig ist, ist, daß die Quelle der Daten spezifiziert ist, um das neuronale Netzwerk 1206 mit Eingabedaten 1220 zu versorgen, die zur Erzeugung der Ausgabedaten 1218 benötigt werden. Die Erfindung betrachtet mehr als ein Datenquellsystem, das mit demselben neuronalen Netzwerk 1206 verwendet wird.
  • Das neuronale Netzwerk 1206 muß den Datentyp kennen, der spezifiziert ist. Dies ist insbesondere in einer historischen Datenbank 1210 wichtig, da sie mehr als einen Typ Daten liefern kann. Verschiedene Beispiele sind in Fig. 23 wie folgt gezeigt: laufender Wert 2306, historischer Wert 2308, zeitgewichteter Mittelwert 2310, Steuereinstellpunkt 2312 und Steuereinstellmenge 2314. Andere Typen werden auch betrachtet.
  • Letztlich muß der Datenunterpunktzeiger 2228 spezifiziert werden. Die gezeigten Beispiele sind eine Schleifennummer 2316, eine variable Zahl 2318, eine Meßnummer 2320 und eine Schleifenaufgaben-I. D. 2332. Wiederum sind dies nur Beispiele zur Verdeutlichung, da die Erfindung jede Art von Datenunterpunktzeiger 2228 betrachtet.
  • Es wird somit gesehen, daß das neuronale Netzwerk 1206 so ausgebildet sein kann, daß es die gewünschten Eingabedaten 1220 in jeder beabsichtigten Form erhält oder die Ausgabedaten 1218 liefert. Bei der bevorzugten Ausführungsform der Erfindung wird dies über eine Menüauswahl durch den Benutzer (Entwickler) unter Verwendung eines softwarebasierten Systems auf einer Computerplattform getan.
  • Die Konstruktion der Steuerung 1202 ist in Fig. 25 in einem Explosionsformat gezeigt. Wiederum ist dies nur zum Zweck der Verdeutlichung. Zunächst muß die Steuerung 1202 auf einer Hardwareplattform 2502 implementiert sein. Beispiele für Hartwareplattformen 2502 enthalten pneumatische Einzelschleifensteuerung 2414, elektronische Einzelschleifensteuerung 2516, Netzwerk-Einzelschleifensteuerung 2518, programmierbare Schleifensteuerung 2520, verteiltes Steuersystem 2522 und programmierbare Logiksteuerung 2524. Wiederum sind dies nur Beispiele zur Verdeutlichung. Jede Art von Hardwareplattform 2502 wird durch die Erfindung betrachtet.
  • Zusätzlich zu der Hardwareplattform 2502, benötigt die Steuerung 1202, 1406, 1408 die Implementation oder Verwendung eines Algorithmus 2504. Jede Art von Algorithmus 2504 kann verwendet werden. Die gezeigten Beispiele enthalten: Proportional (P) 2526; Proportional-Integral (PI) 2528; Proportional-Integral-Ableitung (PID) 2530; Internes Modell 2532; Adaptiv 2534 und Nichtlinear 2536. Dies sind nur Beispiele von Rückkopplungsalgorithmen. Jedoch betrachtet die Erfindung auch Vorratszuführungen oder andere Algorithmusansätze.
  • Die Steuerung 1202 enthält inhärent auch die Parameter 2506. Diese Parameter werden durch den Algorithmus 2504 verwendet. Die gezeigten Beispiele enthalten den Einstellpunkt 1404, den Proportional-Verstärkungsfaktor 2538, den Integralverstärkungsfaktor 2540, den Ableitüngsverstärkungsfaktor 2542, den oberen Ausgabegrenzwert 2544, den unteren Ausgabegrenzwert 2546, die oberen Einstellpunktgrenze 2548 und die unteren Einstellpunktgrenze 2550.
  • Die Steuerung 1202 benötigt auch ein Mittel für die Zeitsteuerung ihres Betriebs. Eine Art dies zu tun, ist es, ein Zeitsteuerungsmittel 2508 zu verwenden. Zeitsteuerungsmittel 2508 können zum Beispiel ein Zeitsteuerungsverfahren 2236 mit zugehörigen Zeitsteuerungsparametern 2238 verwenden, wie es vorangehend beschrieben wurde. Erneut ist dies nur eine Verdeutlichung.
  • Die Steuerung 1202 benötigt auch die Verwendung von einem oder mehreren Eingabesignalen 2510 und das Schaffen eines oder mehrerer Ausgabesignale 2512. Dies kann die Form von Drucksignalen 2552, von Spannungssignalen 2554, Amperesignalen (Stromsignalen) 2556 oder digitalen Werten 2558 annehmen. Anders gesagt, Eingabe und Ausgabesignale können entweder Analog- oder Digitalformat haben.
  • VI. BENUTZERSCHNITTSTELLE
  • Die Erfindung verwendet eine schablonen- und menügetriebene Benutzerschnittstelle 2600, 2700, welche es dem Benutzer erlaubt, die Erfindung zu konfigurieren, neu zu konfigurieren und zu betreiben. Dieser Ansatz macht die Erfindung sehr benutzerfreundlich. Er schließt auch die Notwendigkeit für den Benutzer aus, irgendeine Computerprogrammierung durchzuführen, da die Konfiguration, Neukonfiguration und Betrieb der Erfindung in einem Schablonen- und Menüformat ausgeführt werden, das keine tatsächliche Computerprogrammiererfahrung oder Kenntnis benötigt.
  • Das erfindungsgemäße System und Verfahren verwendet Schablonen. Diese Schablonen definieren bestimmte Spezifizierungsfelder, die von dem Benutzer adressiert werden müssen, um die Erfindung zu konfigurieren, neu zu konfigurieren und zu betreiben. Die Schablonen dienen dazu, den Benutzer bei der Verwendung der Erfindung zu leiten.
  • Representative Beispiele der Schablonen für das menügetriebene System der Erfindung sind in den Fig. 26 bis 29 gezeigt. Dies dient nur zum Zweck der Verdeutlichung.
  • Die bevorzugte Ausführungsform der Erfindung verwendet zwei Schablonenspezifikationen 2600, 2700 für ein neuronales Netzwerkmodul. In Fig. 26 ist die erste Schablone 2600 in diesem Satz aus zwei Schablonen gezeigt. Die Schablone 2600 spezifiziert allgemeine Charakteristika, wie das neuronale Netzwerk 1206 arbeiten wird. Der Abschnitt des Schirms innerhalb eines mit 2620 bezeichneten Kastens zeigt beispielsweise, wie die Zeitsteuerungsoptionen für das neuronale Netzwerkmodul 1206 spezifiert werden. Wie vorangehend diskutiert wurde, kann mehr als eine Zeitsteuerungsoption vorgesehen sein. Die Schablone 2600 liefert eine Trainingszeitsteuerungsoption unter dem Begriff "Training" und eine Voraussagezeitsteuerungsspezifikation unter dem Begriff "Laufen". Die Zeitsteuerungsverfahren, die im Druckbuchstaben gezeigt sind, werden von einem Pop-up-Menü aus verschiedenen Zeitsteuerungsverfahren gewählt, die bei der bevorzugten Ausführungsform implementiert sind. Die benötigten Parameter für das ausgewählte Zeitsteuerungsverfahren werden in den schattierten Blöcken unter der Überschrift "Time Interval and Key Block" eingegeben. Diese Parameter werden nur für Zeitsteuerungsverfahren spezifiziert, für die sie benötigt werden. Nicht alle Zeitsteuerungsverfahren benötigen Parameter, und nicht alle Zeitsteuerungsverfahren, welche Parameter benötigen, benötigen alle Parmeter.
  • In einem mit 2606 bezeichneten Kasten mit der Überschrift "Mode and Store Predict Outputs" können die Voraussage- und Zeitsteuerungsfunktionen des neuronalen Netzwerkmoduls gesteuert werden. Indem ein Kreuz in dem Kasten in der Nähe von "Train" oder von der Bezeichnung "Run" unter "Mode" gemacht wird, werden die Trainings- und/oder Voraussagefunk tionen des neuronalen Netzwerkmoduls 1206 freigegeben. Durch Setzen eines Kreuzes in dem Kasten am nächsten zu den "When Training"- und "When Running"-Angaben, wird das Speichern von vorausgesagten Ausgabedaten 1218 freigegeben, wenn das neuronale Netzwerk 1206 beim Trainieren ist beziehungsweise wenn das neuronale Netzwerk 1206 bei der Voraussage (beim Laufen) ist.
  • Die Größe des neuronalen Netzwerk 1206 wird in einem mit 2622 bezeichneten Kasten mit der Überschrift "Network Size" bestimmt. Bei dieser Ausführungsform eines neuronalen Netzwerkmoduls 1206 gibt es nur drei Schichten und der Benutzer kann spezifizieren, wieviel Elemente oder Knoten in jeder Schicht verwendet werden. Bei der bevorzugten Ausführungsform ist die Zahl der Eingänge, Ausgänge und mittleren Knoten auf einen vorgegebenen Wert begrenzt.
  • Die Koordination der Eingabedaten mit den Trainingsdaten wird unter Verwendung des mit 2608 bezeichneten Prüfkastens durchgeführt. Bei der Überprüfung dieses Kastens kann der Benutzer festlegen, daß die Eingabedaten 1220 so wieder hergestellt werden, daß die Zeitmarken der Eingabedaten 1220 den Zeitmarken der Trainingseingabedaten 1306 entsprechen. Die Trainings- oder Lernkonstanten können in einem Feld 2610 eingegeben werden. Diese Konstanten bestimmen, wie aggressiv die Gewichte in dem neuronalen Netzwerk 1206 angepaßt werden, wenn ein Fehler 1504 zwischen den Ausgabedaten 1218 und den Trainingseingabedaten 1306 vorliegt.
  • Durch Drücken der Tastaturtaste mit der Bezeichnung "Dataspec Page" 2624 kann der Benutzer die zweite Schablone 2700 in der neuronalen Netzwerkmodulspezifikation aufrufen. Diese Schablone 2700 ist in Fig. 27 gezeigt. Diese Schablone 2700 ermöglicht dem Benutzer die Spezifikation von (1) den Dateneingaben 1220, 1306 und (2) der Ausgaben 1218, 1504, die von dem neuronalen Netzwerkmodul verwendet wer den. Ein Datenspezifikationskasten 2702, 2704, 2706 und 2708 ist jeweils für jeden der Netzwerkeingänge 1220, der Netzwerktrainingseingänge 1306, der Netzwerkausgänge 1218 und der Summenfehlerausgabe vorgesehen. Diese entsprechen den Eingabedaten, den Trainingseingabedaten, den Ausgabedaten und den Fehlerdaten. Diese vier Kästen verwenden dieselben Datenspezifikationsverfahren.
  • Innerhalb jedes Datenspezifikationskastens werden die Datenzeiger und Parameter spezifiziert. Bei der bevorzugten Ausführungsform enthält die Datenspezifikation einen dreiteiligen Datenzeiger, wie vorangehend beschrieben. Zusätzlich können verschiedene Zeitgrenzen und Beschränkungswerte in Abhängigkeit des spezifizierten Datentyps bestimmt werden.
  • In Fig. 28 ist ein Beispiel eines Pop-up-Menüs gezeigt. In dieser Figur wird die Spezifikation für das Datensystem für die Netzwerkeingabe Nummer 1 spezifiziert, wie es durch das hervorgehobene Feld mit der Bezeichnung "DMT PACE" gezeigt ist. Der Kasten in der Mitte des Schirms ist ein Pop-up- Menü 2802 mit Wahlmöglichkeiten, die zur Betrachtung der Datensystemspezifikation ausgewählt werden können. Die Schablonen bei der bevorzugten Ausführungsform der Erfindung verwenden solche Pop-up-Menüs 2802, wo immer dies möglich ist.
  • Fig. 29 zeigt verschiedene Elemente, die den Datenspezifikationskasten ausmachen. Diese schließen den Datentitel 2902, eine Anzeige, ob der Kasten abrollbar ist 2906, und eine Anzeige der Zahl der Spezifikationen in einem abrollbaren Bereich 2904 ein. Der Kasten enthält auch Pfeilzeiger, die anzeigen, daß zusätzliche Datenspezifikationen in der Liste entweder unterhalb oder oberhalb der angezeigten Spezifikation vorliegen. Diese Zeiger 2922 und 2932 werden als kleiner Pfeil angezeigt, wenn andere Daten vorliegen. Sonst sind sie leer.
  • Die Unterpunkte, die die tatsächliche Datenspezifikation ausmachen, sind: ein Datensystem 2224, ein Datentyp 2226, ein Datenunterpunktzeiger oder Nummer 2228, ein Name und Einheitsbezeichnungen für die Datenspezifikation 2908, ein Etikett 2924, eine Zeitgrenze 2926 für die älteste Zeitintervallgrenze, ein Etikett 2928, eine Zeitspezifikation 2930 für die neueste Zeitintervallsgrenze, ein Etikett 2910, ein oberer Grenzwert 2912 für den Datenwert, ein Etikett 2914, ein unterer Grenzwert 2916 für den unteren Grenzwert des Datenwerts, ein Etikett 2918 und ein Wert 2920 für die maximal erlaubte Änderung in dem Datenwert. Die in Fig. 29 gezeigte Datenspezifikation ist repräsentativ für die bevorzugte Form der Implementierung der Erfindung. Es ist jedoch zu verstehen, daß verschiedene andere Modifikationen der Datenspezfikation verwendet werden können, um mehr oder weniger Flexibilität in Abhängigkeit der Komplexität zu geben, die zur Adressierung der verschiedenen Datenquellen benötigt werden, wenn sie vorhanden sind. Die Erfindung betrachtet jede Variation dieses Datenspezifikationsverfahrens.

Claims (62)

1. Vorrichtung zur Steuerung eines Prozesses (1212) zur Erzeugung eines Produkts mit zumindest einer gewünschten Produkteigenschaft, wobei die Vorrichtung enthält:
ein Sensormittel (1226), um eine Messung (1224) von zumindest einer Prozeßbedingung zu erfassen und auszugeben;
ein Steuermittel (1202), um Steuerausgabedaten in Abhängigkeit von die Produkteigenschaft anzeigenden Steuereingabedaten und in Abhängigkeit von einen gewünschten Zustand von zumindest einer Prozeßbedingung anzeigenden Einstellpunktdaten zu liefern; und
ein Stellgliedmittel (1228), das zum Empfang der Steuerausgabedaten angeordnet ist, und das zur Änderung in Abhängigkeit von den empfangenen Steuerausgabedaten zumindest einer zumindest eine gewünschte Produkteigenschaft betreffende Prozeßbedingung angeordnet ist;
gekennzeichnet durch
ein neuronales Netzwerk (1206), das zum Empfang der für die Messungen der Prozeßbedingungen durch das Sensormittel repräsentativen Eingabedaten angeordnet ist, und das zur Ausgabe eines Voraussagewertes von zumindest einer Produkteigenschaft in Abhängigkeit von den Eingabedaten angeordnet ist, und
durch ein Übertragungsmittel zum Übertragen der für den Voraussagewert repräsentativen Daten an das Steuermittel zur Verwendung als Steuereingabedaten.
2. Vorrichtung nach Anspruch 1, mit einer historischen Datenbank (1210), um die Sensormessung/-messungen (1224) von dem Sensormittel (1226) zusammen mit einer zugehörigen Zeitmarke zu speichern und um den Voraussageprodukteigenschaftswert von dem neuronalen Netzwerk in Abhängigkeit hiervon zu speichern.
3. Vorrichtung nach Anspruch 2,
des weiteren mit einem dem Sensormittel zugeordneten Taktmittel (1230), um die zugehörige Zeitmarke an die historische Datenbank (1210) zu liefern.
4. Vorrichtung nach Anspruch 2 oder 3, bei der die historische Datenbank (1210) ein Software-System enthält, das unabhängig von dem neuronalen Netzwerk (1206) arbeiten kann.
5. Vorrichtung nach Anspruch 2, 3 oder 4, die des weiteren ein Labormittel (1307) enthält, das zu festgelegten Zeitintervallen eine Probe des Produkts von dem Prozeß empfängt, wobei das Labormittel (1307) Produkteigenschaftsmessungen und zugehörige Zeitmarken liefert.
6. Vorrichtung nach Anspruch 5, bei dem die Produkteigenschaftsmessung und die zugehörige Zeitmarke von dem Labormittel (1307) in der historischen Datenbank (1210) gespeichert werden.
7. Vorrichtung nach Anspruch 5 oder 6, mit einem dem Labormittel (1307) zugeordneten Taktmittel (1230), um die zugehörige Zeitmarke zu liefern.
8. Vorrichtung nach einem der Ansprüche 5 bis 7, die des weiteren enthält:
ein Detektormittel, um die Anwesenheit einer neuen Produkteigenschaftsmessung von dem Labormittel (1307) zu detektieren;
ein Wiederherstellungsmittel, um die in der historischen Datenbank (1210) gespeicherten Daten, welche eine der der neuen Produkteigenschaftsmessung zugeordneten Zeitmarke korrespondierende Zeitmarke haben, wieder herzustellen;
einem Trainingsmittel, um - wenn die Fehlerdaten größer oder gleich einem Maß sind - das neuronale Netzwerk (1206), das von aus der neuen Produkteigenschaftsmessung und dem zugehörigen Voraussageprodukteigenschaftswert aus dem neuronalen Netzwerk (1206) berechneten Fehlerdaten abhängig ist, zu trainieren; und
Mittel zum Sperren des Steuermittels (1202), um den Voraussageprodukteigenschaftswert zu verwenden, während die Fehlerdaten größer oder gleich dem Maß sind.
9. Vorrichtung nach Anspruch 8, bei der das neuronale Netzwerk (1206) ein von den Fehlerdaten abhängiges Gewichtungsmittel enthält, um Gewichtungsdaten zu empfangen, die durch das neuronale Netzwerk (1206) bei der Voraussage des Produkteigenschaftswerts verwendet werden.
10. Vorrichtung nach Anspruch 8 oder 9, bei der die neue Produkteigenschaftsmessung an das Steuermittel (1202) als Steuereingabedaten angelegt wird, wenn die Fehlerdaten gleich oder größer als das Maß sind.
11. Vorrichtung nach Anspruch 8, 9 oder 10, bei der die Fehlerdaten die Differenz zwischen der neuen Produkteigenschaftsmessung durch das Labormittel (1307) und den entsprechenden Voraussageprodukteigenschaftswert von dem neuronalen Netzwerk (1206) sind.
12. Vorrichtung nach einem der Ansprüche 8 bis 11, bei der das neuronale Netzwerk (1206) auch mit weiteren in der historischen Datenbank (1210) gespeicherten ·Produkteigenschaftsmessungen und mit entsprechenden in der historischen Datenbank (1210) gespeicherten Sensor- und Voraussageprodukteigenschaftsdaten trainiert wird.
13. Vorrichtung nach einem der Ansprüche 8 bis 12, bei der das Trainingsmittel ein Rückausbreitungsverfahren verwendet.
14. Vorrichtung nach einem der Ansprüche 8 bis 12, bei der das Trainingsmittel ein verallgemeinertes Deltaverfahren verwendet.
15. Vorrichtung nach einem der Ansprüche 8 bis 12, bei der das Trainingsmittel ein Gradientenabstiegsverfahren verwendet.
16. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der das neuronale Netzwerk (1206) ein Softwaresystem enthält, das zum Laufen auf einer Computerplattform angepaßt ist.
17. Vorrichtung nach einem der Ansprüche 1 bis 15, bei der das neuronale Netzwerk (1206) eine Digital-Architektur aufweist.
18. Vorrichtung nach einem der Ansprüche 1 bis 15, bei der das neuronale Netzwerk (1206) eine Analog-Architektur aufweist.
19. Vorrichtung nach einem der vorangehenden Ansprüche, bei der das neuronale Netzwerk (1206) ein voll-verschaltetes neuronales Netzwerk ist.
20. Vorrichtung nach einem der vorangehenden Ansprüche, bei der das neuronale Netzwerk (1206) keine Rückkopplungswege hat.
21. Vorrichtung nach einem der vorangehenden Ansprüche, bei der das Steuermittel (1202) zumindest ein Mittel enthält aus:
einer pneumatischen Einschleifensteuerung,
einer elektronischen Einschleifensteuerung,
einer netzwerkmäßigen Einschleifensteuerung,
einer programmierbaren Schleifensteuerung,
einem verteilten Steuersystem oder
einer programmierbaren logischen Steuerung.
22. Vorrichtung nach einem der vorangehenden Ansprüche, bei der der in dem Steuermittel (1202) verwendete Algorithmus eine oder mehrere der folgenden Strategien verwendet: Proportional, Integral, Ableitung, internes Modell, Adaptiv oder Nicht-Linear.
23. Vorrichtung nach einem der vorangehenden Ansprüche, bei der das Steuermittel (1202) eine Reguliersteuerung ist.
24. Vorrichtung nach einem der Ansprüche 1 bis 22, bei der das Steuermittel (1202) eine Überwachungssteuerung (1408) und eine Reguliersteuerung (1406) enthält.
25. Vorrichtung nach Anspruch 24, bei der die Überwachungssteuerung (1408) eine Mehrzahl Steuermodule (1602, 1604, 1606, 1608, 1610, 1612, 1614) enthält.
26. Vorrichtung nach Anspruch 25, bei der zumindest eines der Steuermodule ein Element enthält aus:
ein Rückkopplungs-Steuermodul (1602),
ein Vorwärtszufuhrsteuermodul (1604) oder,
ein statistisches Testmodul (1610).
27. Vorrichtung nach einem der vorangehenden Ansprüche, bei der das neuronale Netzwerk (1206) in der Struktur modular ist und eine Mehrzahl neuronaler Netzwerkmodule (1702', 1702", 1702''') enthält, die ein Modulzeitsteuerung- und Sequenzierungsmittel aufweisen, wobei jedes Modul von Moduldatenspezifikationen abhängig ist und Triggermittel zum Initialisieren des Betriebs des neuronalen Netzwerkmoduls enthält.
28. Vorrichtung nach Anspruch 27,
die des weiteren eine Benutzerschnittstelle (2600, 2700) aufweist, die eine Schablone zur Eingabe einer Größenspezifikation für die neuronalen Netzwerkmodule und/oder einer Verbindungsspezifikation für die neuronalen Netzwerkmodüle und/oder einer Spezifikation des zum Zuführen von Daten an die neuronalen Netzwerkmodule verwendeten Sensormittels liefert.
29. Vorrichtung nach Anspruch 28, bei der die Schablone einen Datenzeiger enthält, um Daten zu spezifizieren, die von den neuronalen Netzwerkmodulen zu verwenden sind.
30. Vorrichtung nach Anspruch 28 oder 29, bei der die Benutzerschnittstelle (2600, 2700) einen beschränkten Satz an Spezifikationsformaten in natürlicher Sprache verwendet.
31. Vorrichtung nach einem der Ansprüche 25 bis 30, bei der jede der Mehrzahl Module enthält:
ein erstes Speichermittel, um die Modulzeitsteuerungs- und Sequenzierungsspezifikationen zu speichern;
ein zweites Speichermittel, um einen Zeiger auf einen beschränkten Satz an Standardmodulprozeduren zu speichern; und
ein drittes Speichermittel (1804), um Parameter zur Begrenzung von Funktionen der Standardmodulprozeduren zu speichern.
32. Verfahren zur Steuerung eines Prozesses (1212) zur Erzeugung eines Produkts mit zumindest einer gewünschten Produkteigenschaft, wobei das Verfahren die Schritte enthält: Erfassen einer Messung (1224) von zumindest einer Prozeßbedingung;
Liefern von Steuerausgabedaten in Abhängigkeit von die Produkteigenschaft darstellenden Steuereingabedaten und in Abhängigkeit von einen gewünschten Zustand von zumindest einer Prozeßbedingung anzeigenden Einstellpunktdaten; und
Ändern von zumindest einer zumindest die eine gewünschte Produkteigenschaft betreffenden Prozeßbedingung in Abhängigkeit von den empfangenen Steuerausgabedaten;
gekennzeichnet durch die Schritte:
Voraussagen unter Verwendung eines neuronalen Netzwerks des Wertes von zumindest einer Produkteigenschaft in Abhängigkeit von den die Messungen von Prozeßbedingungen in dem Sensorschritt darstellenden Eingabedaten; und
Verwenden des vorausgesagten Wertes als Steuereingabedaten.
33. Verfahren nach Anspruch 32, bei dem eine historische Datenbank (1210) verwendet wird, um die Sensormessung/-messungen (1224) zusammen mit einer zugehörigen Zeitmarke zu speichern und um den Voraussageprodukteigenschaftswert in Abhängigkeit hiervon zu speichern.
34. Verfahren nach Anspruch 33, bei dem ein Takt (1230) verwendet wird, um die zugehörige Zeitmarke zu liefern.
35. Verfahren nach Anspruch 33 oder 34, bei dem die historische Datenbank (1210) ein Softwaresystem verwendet, das unabhängig von dem neuronalen Netzwerk (1206) arbeiten kann.
36. Verfahren nach Anspruch 33, 34 oder 35, das des weiteren den Schritt enthält: Liefern von Produkteigenschaftsmessungen mit einer zugehörigen Zeitmarke von einem Laboratorium, das zu spezifizierten Zeitintervallen Proben des Produkts von dem Prozeß empfängt.
37. Verfahren nach Anspruch 36, bei dem die Produkteigenschaftsmessung und die zugehörige Zeitmarke von dem Laboratorium (1307) in der historischen Datenbank (1210) gespeichert werden.
38. Verfahren nach Anspruch 36 oder 37, bei dem ein dem Laboratorium (1307) zugeordneter Takt (1230) verwendet wird, um die zugehörige Zeitmarke zu liefern.
39. Verfahren nach einem der Ansprüche 36 bis 38, das des weiteren die Schritte enthält:
Detektieren der Anwesenheit einer neuen Produkteigenschaftsmessung von dem Laboratorium (1307);
Wiederherstellen von in der historischen Datenbank (1210) gespeicherten Daten, welche eine der der neuen Produkteigenschaftsmessung zugeordneten Zeitmarke korrespondierende Zeitmarke haben,
Trainieren des neuronalen Netzwerks (1206), wenn die Fehlerdaten größer oder gleich einem Maß sind, in Abhängigkeit von aus der neuen Produkteigenschaftsmessung und dem zugehörigen Voraussageprodukteigenschaftswert aus dem neuronalen Netzwerk (1206) berechneten Fehlerdaten; und
Sperren des Steuerschritts vor der Verwendung des Voraussageprodukteigenschaftswerts, während die Fehlerdaten größer oder gleich dem Maß sind.
40. Verfahren nach Anspruch 39, bei dem das neuronale Netzwerk (1206) einstellbare von den Fehlerdaten abhängige Gewichtungen verwendet, um den Produkteigenschaftswert vorauszusagen.
41. Verfahren nach Anspruch 39 oder 40, bei dem die neue Produkteigenschaftsmessung für die Steuereingabedaten verwendet wird, wenn die Fehlerdaten gleich oder größer als das Maß sind.
42. Verfahren nach Anspruch 39, 40 oder 41, bei dem die Fehlerdaten die Differenz zwischen der neuen Produkteigenschaftsmessung aus dem Laboratorium (1307) und dem entsprechenden Voraussageprodukteigenschaftswert aus dem neuronalen Netzwerk (1206) sind.
43. Verfahren nach einem der Ansprüche 39 bis 42, bei dem das neuronale Netzwerk (1206) auch mit weiteren in der historischen Datenbank (1210) gespeicherten Produkteigenschaftsmessungen und den entsprechenden in der historischen Datenbank (1210) gespeicherten Sensormessung/-messungen und Voraussageprodukteigenschaftsdaten trainiert wird.
44. Verfahren nach einem der Ansprüche 39 bis 43, bei dem der Trainingsschritt ein Rückausbreitungsverfahren verwendet.
45. Verfahren nach einem der Ansprüche 39 bis 43, bei dem der Trainingsschritt ein verallgemeinertes Deltaverfahren verwendet.
46. Verfahren nach einem der Ansprüche 39 bis 43, bei dem der Trainingsschritt ein Gradientenabstiegsverfahren verwendet.
47. Verfahren nach einem der Ansprüche 32 bis 46, bei dem das in dem Voraussageschritt verwendete neuronale Netzwerk (1206) ein Softwaresystem verwendet, welches angepaßt ist, um auf einer Computerplattform zu laufen.
48. Verfahren nach einem der Ansprüche 32 bis 47, bei dem das in dem Voraussageschritt verwendete neuronale Netzwerk (1206) eine digitale Architektur verwendet.
49. Verfahren nach einem der Ansprüche 32 bis 47, bei dem das in dem Voraussageschritt verwendete neuronale Netzwerk (1206) eine analoge Architektur verwendet.
50. Verfahren nach einem der Ansprüche 32 bis 49, bei dem das in dem Voraussageschritt verwendete neuronale Netzwerk (1206) ein voll verschaltetes neuronales Netzwerk ist.
51. Verfahren nach einem der Ansprüche 32 bis 50, bei dem das in dem Voraussageschritt verwendete neuronale Netzwerk (1206) keine Rückkopplungswege verwendet.
52. Verfahren nach einem der Ansprüche 32 bis 51, bei dem der Steuerschritt zumindest ein Mittel verwendet aus:
einer pneumatischen Einzelschleifensteuerung,
einer elektronischen Einzelschleifensteuerung,
einer Netzwerkeinzelschleifensteuerung,
einer programmierbaren Schleifensteuerung,
einem verteilten Steuersystem oder
einer programmierbaren Logiksteuerung.
53. Verfahren nach einem der Ansprüche 32 bis 52, bei dem der in dem Steuerschritt verwendete Algorithmus eine oder mehrere der folgenden Strategien verwendet: Proportional, Integral, Ableitung, internes Modell, Adaptiv oder Nicht-Linear.
54. Verfahren nach einem der Ansprüche 32 bis 53, bei dem der Steuerschritt eine Reguliersteuerung verwendet.
55. Verfahren nach einem der Ansprüche 32 bis 53, bei dem der Steuerschritt eine Überwachungssteuerung (1408) und eine Reguliersteuerung (1406) verwendet.
56. Verfahren nach Anspruch 55, bei dem die Überwachungssteuerung (1408) eine Mehrzahl Steuermodule (1602, 1604, 1606, 1608, 1610, 1612, 1614) verwendet.
57. Verfahren nach Anspruch 56,
bei dem zumindest eines der Steuermodule enthält:
ein Rückkopplungs-Steuermodul (1602);
ein Vorwärtszufuhrsteuermodul (1604) oder
ein statistisches Testmodul (1610).
58. Verfahren nach einem der Ansprüche 32 bis 57, bei dem das in dem Voraussageschritt verwendete neuronale Netzwerk (1206) eine modulare Struktur hat und eine Mehrzahl neuronaler Netzwerkmodule (1702', 1702", 1703''') verwendet, wobei jedes Modul von Moduldatenspezifikationen abhängig ist.
59. Verfahren nach Anspruch 58, bei dem eine Benutzerschnittstelle (2600, 2700) zur Eingabe einer Größenspezifikation für die neuronalen Netzwerkmodule und/oder einer Verbindungspezifikation für die neuronalen Netzwerkmodule und/oder einer Spezifikation der zum Zufüh ren von Daten zu den neuronalen Netzwerkmodulen verwendeten Sensormessung/-messungen aufweist.
60. Verfahren nach Anspruch 59,
bei dem Datenzeiger für die Spezifikation von durch die neuronalen Netzwerkmodule verwendeten Daten verwendet werden.
61. Verfahren nach Anspruch 59 oder 60, bei dem die Benutzerschnittstelle (2600, 2700) einen beschränkten Satz von Formatspezifikationen in natürlicher Sprache verwendet.
62. Verfahren nach einem der Ansprüche 56 bis 61, bei dem jedes der Mehrzahl Module Modulzeitsteuerungs- und Sequenzierungsspezifikationen, einen Zeiger zu einem beschränkten Satz von Standardmodulprozeduren und Parameter speichert, um die Funktionen der Standardmodulprozeduren zu begrenzen.
DE69130253T 1990-08-03 1991-07-25 Neuronales rechnernetzwerk zum messen und steuern eines prozesses und verfahren dafür Expired - Fee Related DE69130253T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/563,095 US5282261A (en) 1990-08-03 1990-08-03 Neural network process measurement and control
PCT/US1991/005259 WO1992002866A1 (en) 1990-08-03 1991-07-25 Computer neural network process measurement and control system and method

Publications (2)

Publication Number Publication Date
DE69130253D1 DE69130253D1 (de) 1998-10-29
DE69130253T2 true DE69130253T2 (de) 1999-05-20

Family

ID=24249095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69130253T Expired - Fee Related DE69130253T2 (de) 1990-08-03 1991-07-25 Neuronales rechnernetzwerk zum messen und steuern eines prozesses und verfahren dafür

Country Status (5)

Country Link
US (1) US5282261A (de)
EP (1) EP0495044B1 (de)
CA (1) CA2066458C (de)
DE (1) DE69130253T2 (de)
WO (1) WO1992002866A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017009428B4 (de) * 2016-10-18 2020-09-10 Fanuc Corporation Maschinenlernvorrichtung, die einen Einstellwert eines Bearbeitungsprogramms einer Werkzeugmaschine lernt, und Bearbeitungssystem

Families Citing this family (235)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3334807B2 (ja) * 1991-07-25 2002-10-15 株式会社日立製作所 ニュ−ラルネットを利用したパタ−ン分類方法および装置
US5396415A (en) * 1992-01-31 1995-03-07 Honeywell Inc. Neruo-pid controller
AU658066B2 (en) * 1992-09-10 1995-03-30 Deere & Company Neural network based control system
US5477444A (en) * 1992-09-14 1995-12-19 Bhat; Naveen V. Control system using an adaptive neural network for target and path optimization for a multivariable, nonlinear process
US5513098A (en) * 1993-06-04 1996-04-30 The Johns Hopkins University Method for model-free control of general discrete-time systems
US5668717A (en) * 1993-06-04 1997-09-16 The Johns Hopkins University Method and apparatus for model-free optimal signal timing for system-wide traffic control
CA2129510C (en) * 1993-10-21 1999-04-13 Sasisekharan Raguram Automatic temporospatial pattern analysis and prediction in a telecommunications network using rule induction
DE4336588C2 (de) * 1993-10-27 1999-07-15 Eurocopter Deutschland Verfahren zur Ermittlung der individuellen Lebensdauer eines Fluggerätes
US5493631A (en) * 1993-11-17 1996-02-20 Northrop Grumman Corporation Stabilized adaptive neural network based control system
US5444820A (en) * 1993-12-09 1995-08-22 Long Island Lighting Company Adaptive system and method for predicting response times in a service environment
US6336106B1 (en) 1994-02-15 2002-01-01 R.R. Donnelley & Sons Company System and method for partitioning a real-valued attribute exhibiting windowed data characteristics
US6507832B1 (en) 1994-02-15 2003-01-14 R.R. Donnelley & Sons Company Using ink temperature gain to identify causes of web breaks in a printing system
US5694524A (en) * 1994-02-15 1997-12-02 R. R. Donnelley & Sons Company System and method for identifying conditions leading to a particular result in a multi-variant system
US6098063A (en) * 1994-02-15 2000-08-01 R. R. Donnelley & Sons Device and method for identifying causes of web breaks in a printing system on web manufacturing attributes
US5486999A (en) * 1994-04-20 1996-01-23 Mebane; Andrew H. Apparatus and method for categorizing health care utilization
DE19518804A1 (de) * 1994-05-27 1995-12-21 Fraunhofer Ges Forschung Verfahren zur Überwachung eines Produktionsprozesses
EP0704775A1 (de) 1994-08-22 1996-04-03 Zellweger Luwa Ag Verfahren und Vorrichtung zur Bestimmung von relevanten Grössen bei einer Verarbeitung von textilen Gebilden
US5570282A (en) * 1994-11-01 1996-10-29 The Foxboro Company Multivariable nonlinear process controller
US5704011A (en) * 1994-11-01 1997-12-30 The Foxboro Company Method and apparatus for providing multivariable nonlinear control
US5566065A (en) * 1994-11-01 1996-10-15 The Foxboro Company Method and apparatus for controlling multivariable nonlinear processes
AT404074B (de) * 1994-11-10 1998-08-25 Kuerzl Hans Dr Verfahren und vorrichtung zur feststellung von erzeugnisspezifischen werten für aufwendungen, abfälle und emissionen bei gleichzeitiger herstellung unterschiedlicher erzeugnisse
US5630159A (en) * 1994-12-29 1997-05-13 Motorola, Inc. Method and apparatus for personal attribute selection having delay management method and apparatus for preference establishment when preferences in a donor device are unavailable
CA2165277C (en) * 1994-12-29 1999-09-21 William Frank Zancho Method and apparatus for personal attribute selection and management using prediction
US5659667A (en) * 1995-01-17 1997-08-19 The Regents Of The University Of California Office Of Technology Transfer Adaptive model predictive process control using neural networks
US5649064A (en) * 1995-05-19 1997-07-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System and method for modeling the flow performance features of an object
US5812992A (en) * 1995-05-24 1998-09-22 David Sarnoff Research Center Inc. Method and system for training a neural network with adaptive weight updating and adaptive pruning in principal component space
DE19519627C2 (de) * 1995-05-29 1999-04-29 Siemens Ag Verfahren zur Optimierung der Prozeßführung von Produktionsvorgängen
US5943660A (en) * 1995-06-28 1999-08-24 Board Of Regents The University Of Texas System Method for feedback linearization of neural networks and neural network incorporating same
US6092919A (en) * 1995-08-01 2000-07-25 Guided Systems Technologies, Inc. System and method for adaptive control of uncertain nonlinear processes
US5946471A (en) * 1995-08-10 1999-08-31 University Of Cincinnati Method and apparatus for emulating laboratory instruments at remote stations configured by a network controller
US5654903A (en) * 1995-11-07 1997-08-05 Lucent Technologies Inc. Method and apparatus for real time monitoring of wafer attributes in a plasma etch process
US5746511A (en) * 1996-01-03 1998-05-05 Rosemount Inc. Temperature transmitter with on-line calibration using johnson noise
JP3412384B2 (ja) * 1996-03-13 2003-06-03 株式会社日立製作所 制御モデル構築支援装置
US7085610B2 (en) 1996-03-28 2006-08-01 Fisher-Rosemount Systems, Inc. Root cause diagnostics
US6907383B2 (en) 1996-03-28 2005-06-14 Rosemount Inc. Flow diagnostic system
US7630861B2 (en) * 1996-03-28 2009-12-08 Rosemount Inc. Dedicated process diagnostic device
US8290721B2 (en) * 1996-03-28 2012-10-16 Rosemount Inc. Flow measurement diagnostics
US7623932B2 (en) 1996-03-28 2009-11-24 Fisher-Rosemount Systems, Inc. Rule set for root cause diagnostics
US6654697B1 (en) 1996-03-28 2003-11-25 Rosemount Inc. Flow measurement with diagnostics
US6539267B1 (en) 1996-03-28 2003-03-25 Rosemount Inc. Device in a process system for determining statistical parameter
US6017143A (en) * 1996-03-28 2000-01-25 Rosemount Inc. Device in a process system for detecting events
US7254518B2 (en) * 1996-03-28 2007-08-07 Rosemount Inc. Pressure transmitter with diagnostics
US7949495B2 (en) * 1996-03-28 2011-05-24 Rosemount, Inc. Process variable transmitter with diagnostics
US6493596B1 (en) 1996-05-06 2002-12-10 Pavilion Technologies, Inc. Method and apparatus for controlling a non-linear mill
US7610108B2 (en) * 1996-05-06 2009-10-27 Rockwell Automation Technologies, Inc. Method and apparatus for attenuating error in dynamic and steady-state processes for prediction, control, and optimization
US8311673B2 (en) * 1996-05-06 2012-11-13 Rockwell Automation Technologies, Inc. Method and apparatus for minimizing error in dynamic and steady-state processes for prediction, control, and optimization
US7058617B1 (en) * 1996-05-06 2006-06-06 Pavilion Technologies, Inc. Method and apparatus for training a system model with gain constraints
US6438430B1 (en) * 1996-05-06 2002-08-20 Pavilion Technologies, Inc. Kiln thermal and combustion control
US7418301B2 (en) * 1996-05-06 2008-08-26 Pavilion Technologies, Inc. Method and apparatus for approximating gains in dynamic and steady-state processes for prediction, control, and optimization
US7149590B2 (en) 1996-05-06 2006-12-12 Pavilion Technologies, Inc. Kiln control and upset recovery using a model predictive control in series with forward chaining
US5933345A (en) 1996-05-06 1999-08-03 Pavilion Technologies, Inc. Method and apparatus for dynamic and steady state modeling over a desired path between two end points
US5822220A (en) * 1996-09-03 1998-10-13 Fisher-Rosemount Systems, Inc. Process for controlling the efficiency of the causticizing process
US7274332B1 (en) 1996-09-09 2007-09-25 Tracbeam Llc Multiple evaluators for evaluation of a purality of conditions
US7903029B2 (en) 1996-09-09 2011-03-08 Tracbeam Llc Wireless location routing applications and architecture therefor
WO1998010307A1 (en) 1996-09-09 1998-03-12 Dennis Jay Dupray Location of a mobile station
US6236365B1 (en) * 1996-09-09 2001-05-22 Tracbeam, Llc Location of a mobile station using a plurality of commercial wireless infrastructures
US6249252B1 (en) 1996-09-09 2001-06-19 Tracbeam Llc Wireless location using multiple location estimators
US7714778B2 (en) * 1997-08-20 2010-05-11 Tracbeam Llc Wireless location gateway and applications therefor
US9134398B2 (en) 1996-09-09 2015-09-15 Tracbeam Llc Wireless location using network centric location estimators
US6449574B1 (en) 1996-11-07 2002-09-10 Micro Motion, Inc. Resistance based process control device diagnostics
US5956663A (en) * 1996-11-07 1999-09-21 Rosemount, Inc. Signal processing technique which separates signal components in a sensor for sensor diagnostics
US5828567A (en) * 1996-11-07 1998-10-27 Rosemount Inc. Diagnostics for resistance based transmitter
US6519546B1 (en) 1996-11-07 2003-02-11 Rosemount Inc. Auto correcting temperature transmitter with resistance based sensor
US6754601B1 (en) 1996-11-07 2004-06-22 Rosemount Inc. Diagnostics for resistive elements of process devices
US6601005B1 (en) 1996-11-07 2003-07-29 Rosemount Inc. Process device diagnostics using process variable sensor signal
US6434504B1 (en) 1996-11-07 2002-08-13 Rosemount Inc. Resistance based process control device diagnostics
DE69714606T9 (de) * 1996-12-31 2004-09-09 Rosemount Inc., Eden Prairie Vorrichtung zur überprüfung eines von einer anlage kommenden steuersignals in einer prozesssteuerung
CA2230882C (en) * 1997-03-14 2004-08-17 Dubai Aluminium Company Limited Intelligent control of aluminium reduction cells using predictive and pattern recognition techniques
US5831524A (en) * 1997-04-29 1998-11-03 Pittway Corporation System and method for dynamic adjustment of filtering in an alarm system
US20020128990A1 (en) * 1997-05-01 2002-09-12 Kaminskas Paul A. Control methodology and apparatus for reducing delamination in a book binding system
BR9812913A (pt) 1997-10-13 2000-08-08 Rosemount Inc Dispositivo processador, programa em um meio legìvel por computador, estrutura de dados incorporada em um dispositivo processador de fluido e método de trasmitir dados em um laço de controle de processo fluido
US6674867B2 (en) 1997-10-15 2004-01-06 Belltone Electronics Corporation Neurofuzzy based device for programmable hearing aids
US6216119B1 (en) 1997-11-19 2001-04-10 Netuitive, Inc. Multi-kernel neural network concurrent learning, monitoring, and forecasting system
AU1799099A (en) 1997-11-26 1999-06-15 Government of The United States of America, as represented by The Secretary Department of Health & Human Services, The National Institutes of Health, The System and method for intelligent quality control of a process
US6850874B1 (en) 1998-04-17 2005-02-01 United Technologies Corporation Method and apparatus for predicting a characteristic of a product attribute formed by a machining process using a model of the process
US6229439B1 (en) 1998-07-22 2001-05-08 Pittway Corporation System and method of filtering
WO2000008599A2 (de) * 1998-08-07 2000-02-17 Siemens Aktiengesellschaft Anordnung miteinander verbundener rechenelemente, verfahren zur rechnergestützten ermittlung einer dynamik, die einem dynamischen prozess zugrunde liegt und verfahren zum rechnergestützten trainieren einer anordnung miteinander verbundener rechenelemente
US7539549B1 (en) 1999-09-28 2009-05-26 Rockwell Automation Technologies, Inc. Motorized system integrated control and diagnostics using vibration, pressure, temperature, speed, and/or current analysis
US7308322B1 (en) * 1998-09-29 2007-12-11 Rockwell Automation Technologies, Inc. Motorized system integrated control and diagnostics using vibration, pressure, temperature, speed, and/or current analysis
US6222456B1 (en) 1998-10-01 2001-04-24 Pittway Corporation Detector with variable sample rate
BR9803848A (pt) 1998-10-08 2000-10-31 Opp Petroquimica S A Sistema para inferência em linha de propriedades fìsicas e quìmicas, sistema para inferência em linha de variáveis de processo, e, sistema de controle em linha
US20030146871A1 (en) * 1998-11-24 2003-08-07 Tracbeam Llc Wireless location using signal direction and time difference of arrival
US8135413B2 (en) * 1998-11-24 2012-03-13 Tracbeam Llc Platform and applications for wireless location and other complex services
US6615149B1 (en) 1998-12-10 2003-09-02 Rosemount Inc. Spectral diagnostics in a magnetic flow meter
US6611775B1 (en) 1998-12-10 2003-08-26 Rosemount Inc. Electrode leakage diagnostics in a magnetic flow meter
US6202007B1 (en) 1999-02-19 2001-03-13 John A. Spicer Exact stability integration in network designs
US8044793B2 (en) * 2001-03-01 2011-10-25 Fisher-Rosemount Systems, Inc. Integrated device alerts in a process control system
US7562135B2 (en) 2000-05-23 2009-07-14 Fisher-Rosemount Systems, Inc. Enhanced fieldbus device alerts in a process control system
US6975219B2 (en) * 2001-03-01 2005-12-13 Fisher-Rosemount Systems, Inc. Enhanced hart device alerts in a process control system
US6298454B1 (en) 1999-02-22 2001-10-02 Fisher-Rosemount Systems, Inc. Diagnostics in a process control system
US6633782B1 (en) 1999-02-22 2003-10-14 Fisher-Rosemount Systems, Inc. Diagnostic expert in a process control system
US7206646B2 (en) 1999-02-22 2007-04-17 Fisher-Rosemount Systems, Inc. Method and apparatus for performing a function in a plant using process performance monitoring with process equipment monitoring and control
US6356191B1 (en) 1999-06-17 2002-03-12 Rosemount Inc. Error compensation for a process fluid temperature transmitter
US7010459B2 (en) * 1999-06-25 2006-03-07 Rosemount Inc. Process device diagnostics using process variable sensor signal
US6473710B1 (en) 1999-07-01 2002-10-29 Rosemount Inc. Low power two-wire self validating temperature transmitter
US6505517B1 (en) 1999-07-23 2003-01-14 Rosemount Inc. High accuracy signal processing for magnetic flowmeter
US6701274B1 (en) 1999-08-27 2004-03-02 Rosemount Inc. Prediction of error magnitude in a pressure transmitter
WO2002000316A1 (en) 1999-09-24 2002-01-03 Goldberg Sheldon F Geographically constrained network services
US6556145B1 (en) 1999-09-24 2003-04-29 Rosemount Inc. Two-wire fluid temperature transmitter with thermocouple diagnostics
BR9906022A (pt) 1999-12-30 2001-09-25 Opp Petroquimica S A Processo para a produção controlada de polietileno e seus copolìmeros
US6618631B1 (en) * 2000-04-25 2003-09-09 Georgia Tech Research Corporation Adaptive control system having hedge unit and related apparatus and methods
US6922706B1 (en) * 2000-04-27 2005-07-26 International Business Machines Corporation Data mining techniques for enhancing shelf-space management
US9875492B2 (en) 2001-05-22 2018-01-23 Dennis J. Dupray Real estate transaction system
US10684350B2 (en) 2000-06-02 2020-06-16 Tracbeam Llc Services and applications for a communications network
US10641861B2 (en) 2000-06-02 2020-05-05 Dennis J. Dupray Services and applications for a communications network
US20020019722A1 (en) * 2000-07-19 2002-02-14 Wim Hupkes On-line calibration process
US6735484B1 (en) 2000-09-20 2004-05-11 Fargo Electronics, Inc. Printer with a process diagnostics system for detecting events
US7092863B2 (en) * 2000-12-26 2006-08-15 Insyst Ltd. Model predictive control (MPC) system using DOE based model
WO2002071172A2 (en) 2001-03-01 2002-09-12 Fisher-Rosemount Systems, Inc. Fiducial technique for estimating and using degradation levels in a process plant
US8073967B2 (en) 2002-04-15 2011-12-06 Fisher-Rosemount Systems, Inc. Web services-based communications for use with process control systems
US7389204B2 (en) * 2001-03-01 2008-06-17 Fisher-Rosemount Systems, Inc. Data presentation system for abnormal situation prevention in a process plant
US6954713B2 (en) 2001-03-01 2005-10-11 Fisher-Rosemount Systems, Inc. Cavitation detection in a process plant
US6795798B2 (en) 2001-03-01 2004-09-21 Fisher-Rosemount Systems, Inc. Remote analysis of process control plant data
US7720727B2 (en) * 2001-03-01 2010-05-18 Fisher-Rosemount Systems, Inc. Economic calculations in process control system
WO2002071173A2 (en) 2001-03-01 2002-09-12 Fisher-Rosemount Systems, Inc. Data sharing in a process plant
US6970003B2 (en) 2001-03-05 2005-11-29 Rosemount Inc. Electronics board life prediction of microprocessor-based transmitters
US6629059B2 (en) 2001-05-14 2003-09-30 Fisher-Rosemount Systems, Inc. Hand held diagnostic and communication device with automatic bus detection
US8082096B2 (en) 2001-05-22 2011-12-20 Tracbeam Llc Wireless location routing applications and architecture therefor
US20020191102A1 (en) * 2001-05-31 2002-12-19 Casio Computer Co., Ltd. Light emitting device, camera with light emitting device, and image pickup method
US7162534B2 (en) * 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
US6665651B2 (en) 2001-07-18 2003-12-16 Colorado State University Research Foundation Control system and technique employing reinforcement learning having stability and learning phases
US6772036B2 (en) 2001-08-30 2004-08-03 Fisher-Rosemount Systems, Inc. Control system using process model
US7117045B2 (en) * 2001-09-08 2006-10-03 Colorado State University Research Foundation Combined proportional plus integral (PI) and neural network (nN) controller
US6944616B2 (en) * 2001-11-28 2005-09-13 Pavilion Technologies, Inc. System and method for historical database training of support vector machines
EP1408384B1 (de) * 2002-10-09 2006-05-17 STMicroelectronics S.r.l. Anordnung zur Steuerung des Betriebs eines physikalischen Systems wie zum Beispiel einer Brennstoffzelle in elektrischen Fahrzeugen
US7600234B2 (en) * 2002-12-10 2009-10-06 Fisher-Rosemount Systems, Inc. Method for launching applications
US7493310B2 (en) 2002-12-30 2009-02-17 Fisher-Rosemount Systems, Inc. Data visualization within an integrated asset data system for a process plant
US8935298B2 (en) 2002-12-30 2015-01-13 Fisher-Rosemount Systems, Inc. Integrated navigational tree importation and generation in a process plant
US7152072B2 (en) 2003-01-08 2006-12-19 Fisher-Rosemount Systems Inc. Methods and apparatus for importing device data into a database system used in a process plant
US20040158474A1 (en) * 2003-02-06 2004-08-12 Karschnia Robert J. Service facility for providing remote diagnostic and maintenance services to a process plant
US7953842B2 (en) 2003-02-19 2011-05-31 Fisher-Rosemount Systems, Inc. Open network-based data acquisition, aggregation and optimization for use with process control systems
US7103427B2 (en) * 2003-02-28 2006-09-05 Fisher-Rosemont Systems, Inc. Delivery of process plant notifications
US6915235B2 (en) * 2003-03-13 2005-07-05 Csi Technology, Inc. Generation of data indicative of machine operational condition
US7634384B2 (en) 2003-03-18 2009-12-15 Fisher-Rosemount Systems, Inc. Asset optimization reporting in a process plant
US20040230328A1 (en) * 2003-03-21 2004-11-18 Steve Armstrong Remote data visualization within an asset data system for a process plant
US6736089B1 (en) 2003-06-05 2004-05-18 Neuco, Inc. Method and system for sootblowing optimization
US7194320B2 (en) * 2003-06-05 2007-03-20 Neuco, Inc. Method for implementing indirect controller
US7299415B2 (en) * 2003-06-16 2007-11-20 Fisher-Rosemount Systems, Inc. Method and apparatus for providing help information in multiple formats
EP1646864B1 (de) * 2003-07-18 2018-11-07 Rosemount Inc. Prozessdiagnostik
US7402635B2 (en) * 2003-07-22 2008-07-22 Fina Technology, Inc. Process for preparing polyethylene
US7018800B2 (en) * 2003-08-07 2006-03-28 Rosemount Inc. Process device with quiescent current diagnostics
US7627441B2 (en) * 2003-09-30 2009-12-01 Rosemount Inc. Process device with vibration based diagnostics
US7523667B2 (en) * 2003-12-23 2009-04-28 Rosemount Inc. Diagnostics of impulse piping in an industrial process
US8214271B2 (en) * 2004-02-04 2012-07-03 Neuco, Inc. System and method for assigning credit to process inputs
US7030747B2 (en) * 2004-02-26 2006-04-18 Fisher-Rosemount Systems, Inc. Method and system for integrated alarms in a process control system
US7676287B2 (en) * 2004-03-03 2010-03-09 Fisher-Rosemount Systems, Inc. Configuration system and method for abnormal situation prevention in a process plant
US7079984B2 (en) * 2004-03-03 2006-07-18 Fisher-Rosemount Systems, Inc. Abnormal situation prevention in a process plant
TWI231481B (en) * 2004-03-11 2005-04-21 Quanta Comp Inc Electronic apparatus
US7515977B2 (en) * 2004-03-30 2009-04-07 Fisher-Rosemount Systems, Inc. Integrated configuration system for use in a process plant
US6920799B1 (en) 2004-04-15 2005-07-26 Rosemount Inc. Magnetic flow meter with reference electrode
US7046180B2 (en) 2004-04-21 2006-05-16 Rosemount Inc. Analog-to-digital converter with range error detection
US20050267709A1 (en) * 2004-05-28 2005-12-01 Fisher-Rosemount Systems, Inc. System and method for detecting an abnormal situation associated with a heater
US7536274B2 (en) * 2004-05-28 2009-05-19 Fisher-Rosemount Systems, Inc. System and method for detecting an abnormal situation associated with a heater
RU2007101229A (ru) 2004-06-12 2008-07-20 Фишер-Роузмаунт Системз Система и способ для обнаружения аномальной ситуации, связанной с развитием процесса контура управления
US7117046B2 (en) * 2004-08-27 2006-10-03 Alstom Technology Ltd. Cascaded control of an average value of a process parameter to a desired value
US7522963B2 (en) * 2004-08-27 2009-04-21 Alstom Technology Ltd Optimized air pollution control
US7323036B2 (en) * 2004-08-27 2008-01-29 Alstom Technology Ltd Maximizing regulatory credits in controlling air pollution
US7500437B2 (en) * 2004-08-27 2009-03-10 Neuco, Inc. Method and system for SCR optimization
US7634417B2 (en) 2004-08-27 2009-12-15 Alstom Technology Ltd. Cost based control of air pollution control
US20060052902A1 (en) * 2004-08-27 2006-03-09 Neuco, Inc. Method and system for SNCR optimization
US7536232B2 (en) * 2004-08-27 2009-05-19 Alstom Technology Ltd Model predictive control of air pollution control processes
US20060047607A1 (en) * 2004-08-27 2006-03-02 Boyden Scott A Maximizing profit and minimizing losses in controlling air pollution
US7113835B2 (en) * 2004-08-27 2006-09-26 Alstom Technology Ltd. Control of rolling or moving average values of air pollution control emissions to a desired value
US7181654B2 (en) * 2004-09-17 2007-02-20 Fisher-Rosemount Systems, Inc. System and method for detecting an abnormal situation associated with a reactor
WO2006047623A2 (en) * 2004-10-25 2006-05-04 Neuco, Inc. Method and system for calculating marginal cost curves using plant control models
US7584024B2 (en) * 2005-02-08 2009-09-01 Pegasus Technologies, Inc. Method and apparatus for optimizing operation of a power generating plant using artificial intelligence techniques
US7421348B2 (en) * 2005-03-18 2008-09-02 Swanson Brian G Predictive emissions monitoring method
US8768664B2 (en) * 2005-03-18 2014-07-01 CMC Solutions, LLC. Predictive emissions monitoring using a statistical hybrid model
US9201420B2 (en) 2005-04-08 2015-12-01 Rosemount, Inc. Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data
US8005647B2 (en) 2005-04-08 2011-08-23 Rosemount, Inc. Method and apparatus for monitoring and performing corrective measures in a process plant using monitoring data with corrective measures data
US8112565B2 (en) * 2005-06-08 2012-02-07 Fisher-Rosemount Systems, Inc. Multi-protocol field device interface with automatic bus detection
WO2007001252A1 (en) * 2005-06-13 2007-01-04 Carnegie Mellon University Apparatuses, systems, and methods utilizing adaptive control
US7272531B2 (en) * 2005-09-20 2007-09-18 Fisher-Rosemount Systems, Inc. Aggregation of asset use indices within a process plant
US20070068225A1 (en) * 2005-09-29 2007-03-29 Brown Gregory C Leak detector for process valve
US8644961B2 (en) 2005-12-12 2014-02-04 Neuco Inc. Model based control and estimation of mercury emissions
US7657399B2 (en) * 2006-07-25 2010-02-02 Fisher-Rosemount Systems, Inc. Methods and systems for detecting deviation of a process variable from expected values
US8606544B2 (en) 2006-07-25 2013-12-10 Fisher-Rosemount Systems, Inc. Methods and systems for detecting deviation of a process variable from expected values
US7912676B2 (en) * 2006-07-25 2011-03-22 Fisher-Rosemount Systems, Inc. Method and system for detecting abnormal operation in a process plant
US8145358B2 (en) * 2006-07-25 2012-03-27 Fisher-Rosemount Systems, Inc. Method and system for detecting abnormal operation of a level regulatory control loop
US7496414B2 (en) * 2006-09-13 2009-02-24 Rockwell Automation Technologies, Inc. Dynamic controller utilizing a hybrid model
US7953501B2 (en) 2006-09-25 2011-05-31 Fisher-Rosemount Systems, Inc. Industrial process control loop monitor
US8788070B2 (en) * 2006-09-26 2014-07-22 Rosemount Inc. Automatic field device service adviser
EP2057517B1 (de) * 2006-09-28 2013-06-12 Fisher-Rosemount Systems, Inc. Vorbeugung einer abnormalen situation in einem wärmeaustauscher
US8489360B2 (en) 2006-09-29 2013-07-16 Fisher-Rosemount Systems, Inc. Multivariate monitoring and diagnostics of process variable data
EP2074385B2 (de) 2006-09-29 2022-07-06 Rosemount Inc. Magnetischer flussmesser mit verifikationsfunktion
US7321846B1 (en) 2006-10-05 2008-01-22 Rosemount Inc. Two-wire process control loop diagnostics
US20080188972A1 (en) * 2006-10-11 2008-08-07 Fisher-Rosemount Systems, Inc. Method and System for Detecting Faults in a Process Plant
US8032341B2 (en) * 2007-01-04 2011-10-04 Fisher-Rosemount Systems, Inc. Modeling a process using a composite model comprising a plurality of regression models
US8032340B2 (en) 2007-01-04 2011-10-04 Fisher-Rosemount Systems, Inc. Method and system for modeling a process variable in a process plant
US7827006B2 (en) * 2007-01-31 2010-11-02 Fisher-Rosemount Systems, Inc. Heat exchanger fouling detection
WO2008115655A1 (en) * 2007-03-19 2008-09-25 Dow Global Technologies Inc. Inferential sensors developed using three-dimensional pareto-front genetic programming
US10410145B2 (en) * 2007-05-15 2019-09-10 Fisher-Rosemount Systems, Inc. Automatic maintenance estimation in a plant environment
US7869887B2 (en) * 2007-08-06 2011-01-11 Rockwell Automation Technologies, Inc. Discoverable services
US8898036B2 (en) * 2007-08-06 2014-11-25 Rosemount Inc. Process variable transmitter with acceleration sensor
US8301676B2 (en) * 2007-08-23 2012-10-30 Fisher-Rosemount Systems, Inc. Field device with capability of calculating digital filter coefficients
US7702401B2 (en) 2007-09-05 2010-04-20 Fisher-Rosemount Systems, Inc. System for preserving and displaying process control data associated with an abnormal situation
US9323247B2 (en) 2007-09-14 2016-04-26 Fisher-Rosemount Systems, Inc. Personalized plant asset data representation and search system
US7590511B2 (en) * 2007-09-25 2009-09-15 Rosemount Inc. Field device for digital process control loop diagnostics
US8340824B2 (en) 2007-10-05 2012-12-25 Neuco, Inc. Sootblowing optimization for improved boiler performance
US8055479B2 (en) 2007-10-10 2011-11-08 Fisher-Rosemount Systems, Inc. Simplified algorithm for abnormal situation prevention in load following applications including plugged line diagnostics in a dynamic process
US20100063829A1 (en) * 2008-09-08 2010-03-11 Dupray Dennis J Real estate transaction system
US7921734B2 (en) * 2009-05-12 2011-04-12 Rosemount Inc. System to detect poor process ground connections
US8666556B2 (en) 2009-12-10 2014-03-04 Alcon Research, Ltd. Systems and methods for dynamic feedforward
ES2401160T3 (es) * 2010-05-06 2013-04-17 Deutsche Telekom Ag Procedimiento y sistema para controlar una comunicación de datos dentro de una red
CA2799167A1 (en) 2010-05-19 2011-11-24 Douglas A. Palmer Neural processing unit
US8821524B2 (en) 2010-05-27 2014-09-02 Alcon Research, Ltd. Feedback control of on/off pneumatic actuators
US9538493B2 (en) 2010-08-23 2017-01-03 Finetrak, Llc Locating a mobile station and applications therefor
US8457767B2 (en) 2010-12-31 2013-06-04 Brad Radl System and method for real-time industrial process modeling
US9207670B2 (en) 2011-03-21 2015-12-08 Rosemount Inc. Degrading sensor detection implemented within a transmitter
US9927788B2 (en) 2011-05-19 2018-03-27 Fisher-Rosemount Systems, Inc. Software lockout coordination between a process control system and an asset management system
US8521670B2 (en) 2011-05-25 2013-08-27 HGST Netherlands B.V. Artificial neural network application for magnetic core width prediction and modeling for magnetic disk drive manufacture
US8844132B2 (en) 2011-07-22 2014-09-30 Pratt & Whitney Canada Corp. Method of machining using an automatic tool path generator adapted to individual blade surfaces on an integrally bladed rotor
US8904636B2 (en) 2011-07-22 2014-12-09 Pratt & Whitney Canada Corp. Method of fabricating integrally bladed rotor using surface positioning in relation to surface priority
US8788083B2 (en) 2011-07-22 2014-07-22 Pratt & Whitney Canada Corp. Compensation for process variables in a numerically-controlled machining operation
US8631577B2 (en) 2011-07-22 2014-01-21 Pratt & Whitney Canada Corp. Method of fabricating integrally bladed rotor and stator vane assembly
US9060841B2 (en) 2011-08-31 2015-06-23 Alcon Research, Ltd. Enhanced flow vitrectomy probe
US10070990B2 (en) 2011-12-08 2018-09-11 Alcon Research, Ltd. Optimized pneumatic drive lines
US9529348B2 (en) 2012-01-24 2016-12-27 Emerson Process Management Power & Water Solutions, Inc. Method and apparatus for deploying industrial plant simulators using cloud computing technologies
US9052240B2 (en) 2012-06-29 2015-06-09 Rosemount Inc. Industrial process temperature transmitter with sensor stress diagnostics
US9082078B2 (en) 2012-07-27 2015-07-14 The Intellisis Corporation Neural processing engine and architecture using the same
US9207129B2 (en) 2012-09-27 2015-12-08 Rosemount Inc. Process variable transmitter with EMF detection and correction
US9602122B2 (en) 2012-09-28 2017-03-21 Rosemount Inc. Process variable measurement noise diagnostic
US9185057B2 (en) 2012-12-05 2015-11-10 The Intellisis Corporation Smart memory
US9027035B2 (en) * 2012-12-17 2015-05-05 Itron, Inc. Non real-time metrology data management
US9395713B2 (en) * 2014-05-05 2016-07-19 IP Research LLC Method and system of protection of technological equipment
US9552327B2 (en) 2015-01-29 2017-01-24 Knuedge Incorporated Memory controller for a network on a chip device
US10061531B2 (en) 2015-01-29 2018-08-28 Knuedge Incorporated Uniform system wide addressing for a computing system
US10027583B2 (en) 2016-03-22 2018-07-17 Knuedge Incorporated Chained packet sequences in a network on a chip architecture
US20170311095A1 (en) * 2016-04-20 2017-10-26 Starkey Laboratories, Inc. Neural network-driven feedback cancellation
DE102016108053A1 (de) 2016-04-29 2017-11-02 Khs Gmbh Verfahren zum Optimieren des Abfüllens eines Behälters
US10346049B2 (en) 2016-04-29 2019-07-09 Friday Harbor Llc Distributed contiguous reads in a network on a chip architecture
WO2018068858A1 (en) * 2016-10-13 2018-04-19 Huawei Technologies Co., Ltd. Method and device in a wireless communication network for downlink power control
US11041644B2 (en) * 2018-05-16 2021-06-22 Distech Controls Inc. Method and environment controller using a neural network for bypassing a legacy environment control software module
KR102607366B1 (ko) * 2018-05-18 2023-11-29 삼성전자주식회사 공기 조화 장치 및 이의 제어 방법
US10992763B2 (en) 2018-08-21 2021-04-27 Bank Of America Corporation Dynamic interaction optimization and cross channel profile determination through online machine learning

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3878379A (en) * 1972-08-14 1975-04-15 Allied Chem Polymer intrinsic viscosity control
US3836834A (en) * 1973-11-13 1974-09-17 Atomic Energy Commission Machine protection system
JPS643705A (en) * 1987-06-26 1989-01-09 Toshiba Corp Process controller
WO1989003092A1 (en) * 1987-09-30 1989-04-06 E.I. Du Pont De Nemours And Company Expert system with process control
US4979126A (en) * 1988-03-30 1990-12-18 Ai Ware Incorporated Neural network with non-linear transformations
US5111531A (en) * 1990-01-08 1992-05-05 Automation Technology, Inc. Process control using neural network
US5142665A (en) * 1990-02-20 1992-08-25 International Business Machines Corporation Neural network shell for application programs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017009428B4 (de) * 2016-10-18 2020-09-10 Fanuc Corporation Maschinenlernvorrichtung, die einen Einstellwert eines Bearbeitungsprogramms einer Werkzeugmaschine lernt, und Bearbeitungssystem

Also Published As

Publication number Publication date
US5282261A (en) 1994-01-25
WO1992002866A1 (en) 1992-02-20
EP0495044B1 (de) 1998-09-23
CA2066458A1 (en) 1992-02-04
CA2066458C (en) 2003-04-22
EP0495044A1 (de) 1992-07-22
DE69130253D1 (de) 1998-10-29

Similar Documents

Publication Publication Date Title
DE69130253T2 (de) Neuronales rechnernetzwerk zum messen und steuern eines prozesses und verfahren dafür
DE69128237T2 (de) Neuronales netzwerk mit datenzeigern für die on-line steuerung eines prozesses
DE69128074T2 (de) Prozesssteuersystem und -verfahren mittels eines neuronalen Netzwerkes und/oder Expertensystems
DE69125809T2 (de) ON-LINE-TRAINIERENDES NEURONALES NETZWERK ZUR PROZEß-STEUERUNG
DE69128071T2 (de) Vorrichtung und verfahren, ausgestattet mit einem computerisierten neuronalen netzwerk, zum überwachen einer prozesssteuerung
DE69130603T2 (de) Neuronales netzwerk für prozesssteuerungssystem
DE69431822T2 (de) Vorrichtung und Verfahren für eine modellbasierende Prozesssteuerung
DE69321952T2 (de) System und verfahren zur steuerung einer anlage
DE3856379T2 (de) Expertensystem mit verfahrenssteuerung
DE69216077T2 (de) Praediktives selbst-organisierendes neuronales netzwerk
DE60212121T2 (de) Erzeugung von prozessverwandten daten
DE102007063915B4 (de) Prozesssteuerungs- und Optimierungstechnik unter Verwendung immunologischer Konzepte
EP2135140B1 (de) Verfahren zur rechnergestützten steuerung und/oder regelung eines technischen systems
DE69217746T2 (de) Methode und Apparat für automatisiertes Lernen und ein System, das einen solchen Apparat enthält
DE102020118259A1 (de) Echtzeitsteuerung unter verwendung der gerichteten vorhersage-simulation innerhalb eines steuerungssystems einer prozessanlage
DE102019112211B4 (de) Vorrichtung zum ändern der bearbeitungsroute bei der bearbeitung eines werkstücks
DE10341764A1 (de) Integrierte Modell-Vorhersagesteuerung und -Optimierung innerhalb eines Prozesssteuerungssystems
DE102018002779A1 (de) Schaltungskonfigurations-Optimierungsvorrichtung und maschinelle Lernvorrichtung
DE102018002781B4 (de) Schaltungskonfigurations-Optimierungsvorrichtung und maschinelle Lernvorrichtung
DE102018126434A1 (de) Testvorrichtung und Maschinenlernvorrichtung
EP1055180B1 (de) Verfahren und anordnung zum entwurf eines technischen systems
DE69118736T2 (de) Operationskontrollapparat
DE102019002506A1 (de) Gerät zum Anpassen von Messvorgangsparametern, maschinelle Lernvorrichtung und System
WO2022043455A1 (de) Verfahren und ein system zum erstellen einer industriellen lösung mit einer künstlichen intelligenz
EP0495082A1 (de) Modularneuronalnetzwerk-prozesssteuerungssystem mit natürlicher sprachkonfiguration

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PAVILION TECHNOLOGIES, INC., AUSTIN, TEX., US

8339 Ceased/non-payment of the annual fee