Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SELECTIVE DEACTIVATION OF COMPUTING UNITS FOR ARTIFICIAL NEURAL NETWORKS
Document Type and Number:
WIPO Patent Application WO/2019/243029
Kind Code:
A1
Abstract:
A hardware architecture (10) for an artificial neural network, KNN (1), wherein the KNN (1) comprises a juxtaposition of an input layer (2), multiple processing layers (3a, 3b) and an output layer (4), wherein each layer (2, 3a, 3b, 4) maps a set of input variables onto a set of output variables and wherein output variables of the input layer (2) and of each processing layer (3a, 3b) are input variables of the particular layer (3a, 3b, 4) that follows in the juxtaposition, wherein the hardware architecture (10) comprises a multiplicity of computing units (5a-5h), wherein the realization of each layer (2, 3a, 3b, 4) is distributed over at least two of the computing units (5a-5h) and wherein there is provision for at least one resettable disconnection device (6a-6h) by means of which at least one computing unit (5a-5h) is selectively deactivable independently of the input variables supplied thereto such that at least one other computing unit (5a-5h) remains activated in all layers (2, 3a, 3b, 4) that this computing unit (5a-5h) helps to realize. A corresponding method (100) for operating an artificial neural network, KNN (1), wherein computing units (5a-5h) are selectively deactivated (130) and later reactivated (140). An associated computer program.

Inventors:
GUNTORO ANDRE (DE)
RUNGE ARMIN (DE)
SCHIRMER JUERGEN (DE)
TOPP JAROSLAW (DE)
SCHORN CHRISTOPH (DE)
VOGEL SEBASTIAN (DE)
Application Number:
PCT/EP2019/064307
Publication Date:
December 26, 2019
Filing Date:
June 03, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06N3/063; G06F1/26; G06K9/00
Foreign References:
US20160379109A12016-12-29
US20170277183A12017-09-28
US20060095911A12006-05-04
US20150033054A12015-01-29
GB2552242A2018-01-17
Other References:
SRIMAT CHAKRADHAR ET AL: "A dynamically configurable coprocessor for convolutional neural networks", PROCEEDINGS OF THE 37TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, ISCA '10, ACM PRESS, NEW YORK, NEW YORK, USA, 19 June 2010 (2010-06-19), pages 247 - 257, XP058174461, ISBN: 978-1-4503-0053-7, DOI: 10.1145/1815961.1815993
WEIZHE HUA ET AL: "Channel Gating Neural Networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 29 May 2018 (2018-05-29), XP080884351
JI LIN ET AL: "Runtime Neural Pruning", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, vol. 31, 4 December 2017 (2017-12-04), pages 2181 - 2191, XP055534354
LANLAN LIU ET AL: "Dynamic Deep Neural Networks: Optimizing Accuracy-Efficiency Trade-offs by Selective Execution", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 2 January 2017 (2017-01-02), XP081308326
Download PDF:
Claims:
Ansprüche

1. Hardwarearchitektur (10) für ein künstliches neuronales Netzwerk, KNN

(1), wobei das KNN (1) eine Aneinanderreihung aus Schichten (2, 3a, 3b, 4) umfasst,

wobei jede der Schichten (2, 3a, 3b, 4) seine Eingangsgröße auf eine Ausgangsgröße abbildet und wobei jeweils die Ausgangsgrößen der Schichten

(2) Eingangsgrößen der jeweils in der Aneinanderreihung folgenden Schicht (3a, 3b, 4) sind,

wobei die Hardwarearchitektur (10) eine Vielzahl von Recheneinheiten (5a- 5h) umfasst,

wobei eine Realisierung einer jeden Schicht (2, 3a, 3b, 4) auf mindestens zwei der Recheneinheiten (5a-5h) aufgeteilt ist, und

wobei die Hardwarearchitektur (10) mindestens eine rücksetzbare

Abschalteinrichtung (6a-6h) umfasst, die eingerichtet ist, mindestens eine Recheneinheit (5a-5h) selektiv zu deaktivieren, insbesondere unabhängig von den ihr zugeführten Eingangsgrößen, sodass in allen Schichten (2, 3a, 3b, 4), zu deren Realisierung diese Recheneinheit (5a-5h) beiträgt, mindestens noch eine weitere Recheneinheit (5a-5h) aktiviert bleibt.

2. Hardwarearchitektur (10) nach Anspruch 1, wobei die Schichten die Eingangsgrößen auf die Ausgangsgrößen mittels einer Mehrzahl von Neuronen abbilden, wobei beim Aufteilen der Realisierung, die Berechnung der Mehrzahl der Neuronen auf zumindest zwei Recheneinheiten aufgeteilt wird,

wobei wenigstens eine der Recheneinheiten einen Anteil der Realisierung mehrere Schichten hat, und wobei eine Steuereinheit (7) für die selektive Deaktivierung von Recheneinheiten (5a-5h) vorgesehen ist und wobei die Abschalteinrichtung (6a-6h) mindestens einen durch die Steuereinheit (7) betätigbaren Schalter umfasst.

3. Hardwarearchitektur (10) nach Anspruch 2, wobei der Schalter so angeordnet ist, dass er die Zuführung eines Taktsignals, und/oder einer

Versorgungsspannung, zu der Recheneinheit (5a-5h) zu unterbrechen vermag.

4. Hardwarearchitektur (10) nach einem der Ansprüche 2 bis 3, wobei die Steuereinheit (7) mindestens eine von mindestens einer Recheneinheit (5a-5h) abgehende Ausgangsgröße, ein Maß für die Schaltaktivität mindestens einer Recheneinheit (5a-5h), ein Maß für den Energieverbrauch mindestens einer Recheneinheit (5a-5h), und/oder ein Maß für die Temperatur mindestens einer Recheneinheit (5a-5h), als Eingabe erhält.

5. Hardwarearchitektur (10) nach einem der Ansprüche 1 bis 4, wobei mindestens eine Recheneinheit (5a-5h) eine Abschalteinrichtung (6a-6h) enthält, die die Recheneinheit (5a-5h) bei Erfüllung einer ersten Bedingung für die Temperatur der Recheneinheit (5a-5h), und/oder für den Zeitverlauf dieser Temperatur, und/oder für den Zeitverlauf der Schaltaktivität der Recheneinheit (5a-5h), selbsttätig deaktiviert und bei Erfüllung einer zweiten Bedingung für die Temperatur der Recheneinheit (5a-5h), und/oder für den Zeitverlauf dieser Temperatur, und/oder für den Zeitverlauf der Schaltaktivität der Recheneinheit (5a-5h), selbsttätig wieder aktiviert.

6. Verfahren (100) zum Betreiben eines künstlichen neuronalen Netzwerks, KNN (1), wobei das KNN (1) eine Aneinanderreihung aus Schichten (2, 3a, 3b, 4) umfasst,

wobei jede der Schichten (2, 3a, 3b, 4) seine Eingangsgröße auf eine Ausgangsgröße abbildet und

wobei jeweils Ausgangsgrößen der Schichten (2) Eingangsgrößen der jeweils in der Aneinanderreihung folgenden Schicht (3a, 3b, 4) sind,

wobei das KNN (1) in einer Vielzahl von Recheneinheiten (5a-5h) dergestalt realisiert ist, dass eine Realisierung einer jeden Schicht (2, 3a, 3b, 4) auf mindestens zwei der Recheneinheiten (5a-5h) aufgeteilt ist,

wobei mindestens eine Recheneinheit (5a-5h) bei Erfüllung einer

vorgegebenen deaktivierenden Bedingung (110) während des Betriebes des KNN (1), insbesondere unabhängig von den ihr zugeführten Eingangsgrößen, so selektiv deaktiviert wird (120), dass in allen Schichten (2, 3a, 3b, 4), zu deren Realisierung diese Recheneinheit (5a-5h) beiträgt, mindestens noch eine weitere Recheneinheit (5a-5h) aktiviert bleibt,

wobei die deaktivierte Recheneinheit (5a-5h) bei Erfüllung einer

vorgegebenen aktivierenden Bedingung (130) während des Betriebes des KNN (1) wieder aktiviert wird (140).

7. Verfahren (100) nach Anspruch 6, wobei die deaktivierende Bedingung (110), und/oder die aktivierende Bedingung (130), ein Maß für die Qualität mindestens einer Eingangsgröße, ein Maß für die zeitliche und/oder räumliche Änderungsrate mindestens einer Eingangsgröße, ein Maß für eine

Qualitätsanforderung an mindestens eine Ausgangsgröße, und/oder ein Maß für eine Relevanz mindestens einer Ausgangsgröße, beinhaltet.

8. Verfahren (100) nach einem der Ansprüche 6 bis 7, wobei die deaktivierende Bedingung (110), und/oder die aktivierende Bedingung (130), die Temperatur mindestens einer Recheneinheit (5a-5h), und/oder die Temperatur mindestens einer an diese Recheneinheit (5a-5h) gekoppelten Wärmesenke, und/oder den Zeitverlauf der Schaltaktivität dieser Recheneinheit (5a-5h), beinhaltet.

9. Verfahren (100) nach einem der Ansprüche 6 bis 8, wobei das KNN (1) der Erkennung von Objekten und/oder Situationen (la-ld) anhand von

Eingangsgrößen dient, wobei anhand einer Kontextinformation ermittelt wird (105), dass das Vorhandensein einer ersten Teilmenge (8a) der Objekte und/oder Situationen (la-ld) unwahrscheinlicher ist als das Vorhandensein einer zweiten Teilmenge (8b) der Objekte und/oder Situationen (la-ld), und wobei die Deaktivierung (120) von Recheneinheiten (5a-5h), die überwiegend der

Erkennung von Objekten und/oder Situationen (la, lb) aus der ersten Teilmenge (8a) dienen, gegenüber der Deaktivierung (120) von Recheneinheiten (5a-5h), die überwiegend der Erkennung von Objekten und/oder Situationen (lc, ld) aus der zweiten Teilmenge (8b) dienen, bevorzugt wird (125).

10. Verfahren (100) nach Anspruch 9, wobei das KNN (1) der Erkennung von Objekten und/oder Situationen (la-ld) im Umfeld eines Fahrzeugs dient und wobei die zusätzliche Kontextinformation die Position des Fahrzeugs, und/oder die Straßenkategorie einer aktuell von dem Fahrzeug befahrenen Straße, umfasst.

11. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Steuergerät, ausgeführt werden, den Computer, und/oder das Steuergerät, dazu veranlassen, ein Verfahren (100) nach einem der Ansprüche 6 bis 10 auszuführen.

Description:
Beschreibung

Titel

Selektive Deaktivierung von Recheneinheiten für künstliche neuronale Netzwerke

Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben künstlicher neuronaler Netzwerke, das eine selektive und rücksetzbare Deaktivierung von Hardwarekomponenten zur Laufzeit des Netzwerks vorsieht, sowie eine zugehörige Hardwarearchitektur.

Stand der Technik

Ein künstliches neuronales Netzwerk, KNN, umfasst eine Eingangsschicht, mehrere Verarbeitungsschichten und eine Ausgangsschicht. Eingangsgrößen werden an der Eingangsschicht in das KNN eingelesen und auf ihrem Weg durch die Verarbeitungsschichten zur Ausgangsschicht anhand einer

Verarbeitungskette verarbeitet, die in der Regel parametrisiert ist. Beim Training des KNN werden diejenigen Werte für die Parameter der Verarbeitungskette ermittelt, mit denen die Verarbeitungskette einen Satz Lern-Werte für die Eingangsgrößen optimal auf einen zugehörigen Satz Lern-Werte für die

Ausgangsgrößen abbildet.

Die Stärke von KNN liegt darin, dass sie sehr hochdimensionale Daten, wie etwa hochauflösende Bilder, massiv parallel verarbeiten können, indem in jeder Schicht mehrere physische Recheneinheiten Zusammenwirken. Ein Beispiel für eine aus vielen Recheneinheiten zusammengesetzte Hardwarearchitektur für ein KNN ist in der GB 2 552 242 A offenbart. Diese Schrift beschäftigt sich damit, den Hardwareaufwand und den Stromverbrauch für die Realisierung des KNN zu reduzieren. Zu diesem Zweck wird die in einer Schicht anfallende Rechenarbeit in zwei Teilschritte aufgeteilt, und die in diesen Teilschritten jeweils erhaltenen Teilergebnisse werden zum Endergebnis kombiniert. Offenbarung der Erfindung

Im Rahmen der Erfindung wurde eine Hardwarearchitektur für ein künstliches neuronales Netzwerk, KNN, entwickelt. Das KNN umfasst eine

Aneinanderreihung aus einer Eingangsschicht, mehreren Verarbeitungsschichten und einer Ausgangsschicht. Jede Schicht bildet einen Satz Eingangsgrößen auf einen Satz Ausgangsgrößen ab. Dabei sind Ausgangsgrößen der

Eingangsschicht und einer jeden Verarbeitungsschicht Eingangsgrößen der jeweils in der Aneinanderreihung folgenden Schicht. Die Eingangsgrößen der Eingangsschicht sind zugleich auch die Eingangsgrößen des KNN als Ganzes. Die Ausgangsgrößen der Ausgangsschicht sind zugleich auch die

Ausgangsgrößen des KNN als Ganzes.

Die Hardwarearchitektur umfasst eine Vielzahl von Recheneinheiten, wobei die Realisierung einer jeden Schicht auf mindestens zwei der Recheneinheiten aufgeteilt ist. So kann beispielsweise eine Hälfte der Eingangsgrößen der Schicht nur der ersten Recheneinheit und die andere Hälfte der Eingangsgrößen nur der zweiten Recheneinheit zugeführt sein. Ebenso kann beispielsweise in einer Ausgangsschicht, die eine Klassifikation vornimmt, die Zuständigkeit für bestimmte Klassen, also etwa für die Erkennung bestimmter Objekte oder Situationen, auf die unterschiedlichen Recheneinheiten aufgeteilt sein. Auf diese Weise können Daten mit sehr hoher Dimensionalität parallel verarbeitet werden.

Dabei ist es auch möglich, dass ein und dieselbe Recheneinheit einen Anteil an der Realisierung mehrerer, beispielsweise aufeinanderfolgender, Schichten hat. So können etwa drei aufeinanderfolgende Schichten mit zwei parallel

arbeitenden Recheneinheiten realisiert sein. Eine Eingangsgröße der ersten Schicht, die einer der Recheneinheiten zugeführt wird, kann dann beispielsweise innerhalb dieser Recheneinheit alle drei Schichten durchlaufen und schließlich von dieser Recheneinheit als Ausgangsgröße der dritten Schicht ausgegeben werden.

Der Begriff der Recheneinheit ist nicht darauf beschränkt, dass verschiedene Recheneinheiten sich auf physisch getrennten Bausteinen befinden müssen, die bei der Herstellung der Hardwarearchitektur zusammengefügt werden. Vielmehr kann beispielsweise eine Anordnung aus einer Vielzahl von Recheneinheiten in ein und demselben anwendungsspezifischen Schaltkreis, ASIC,

zusammengefasst sein. Somit bezeichnet der Begriff der Recheneinheit allgemein eine Einheit, Schaltung oder Baugruppe, die zur Realisierung mindestens einer Schicht des KNN beiträgt und selektiv deaktivierbar ist.

Es ist mindestens eine rücksetzbare Abschalteinrichtung vorgesehen, mit der mindestens eine Recheneinheit unabhängig von den ihr zugeführten

Eingangsgrößen so selektiv deaktivierbar ist, dass in allen Schichten, zu deren Realisierung diese Recheneinheit beiträgt, mindestens noch eine weitere Recheneinheit aktiviert bleibt.

Es wurde erkannt, dass auf diese Weise zur Laufzeit des KNN ein dynamischer Kompromiss zwischen Rechengenauigkeit einerseits und Energieverbrauch sowie Wärmeentwicklung des KNN andererseits einstellbar ist. In der Regel ist ein Großteil der Berechnungen in KNN robust gegenüber Fehlern, d.h., ein gewisser Anteil an Fehlern in diesen Berechnungen verschlechtert die Qualität der Ausgabe des KNN nur geringfügig. Die Deaktivierung einer Recheneinheit führt dazu, dass bestimmte Zwischenergebnisse vollständig fehlen, was als ein Sonderfall eines Rechenfehlers anzusehen ist.

Die Bedingung, dass in allen Schichten, zu deren Realisierung die deaktivierte Recheneinheit beiträgt, mindestens noch eine weitere Recheneinheit aktiviert bleibt, stellt hierbei sicher, dass das KNN als Ganzes weiterhin funktionsfähig bleibt. Würde eine Schicht des KNN komplett deaktiviert, so wäre die

Verarbeitungskette des KNN an dieser Stelle unterbrochen, und das KNN würde keine Ausgabe mehr liefern.

Die Bedingung, dass die Abschalteinrichtung rücksetzbar ist, stellt sicher, dass sich die Deaktivierung von Recheneinheiten der Betriebssituation anpassen kann. Beispielsweise kann es am dringlichsten sein, die jeweils gerade am stärksten wärmebelasteten Recheneinheiten vorübergehend zu deaktivieren, um die Lebensdauer der Hardware zu erhöhen. Ebenso hängt es von der aktuellen Betriebssituation ab, wie stark sich die Deaktivierung einer bestimmten Recheneinheit auf das vom KNN als Ganzes gelieferte Endergebnis auswirkt.

Die bisherigen„Pruning“-Ansätze zur Entfernung von Neuronen aus dem KNN sind hingegen statisch: Unabhängig davon, ob die zu entfernenden Neuronen vor, während oder nach dem Training des KNN festgelegt werden, ist diese Festlegung für den gesamten späteren Inferenzbetrieb des KNN bindend.

Dass die Recheneinheit unabhängig von den ihr zugeführten Eingangsgrößen deaktivierbar ist, stellt zum Einen sicher, dass die Deaktivierung von einer übergeordneten Instanz zwangsweise durchgesetzt werden kann. Wenn mit der Deaktivierung beispielsweise das Ziel verfolgt wird, eine Wärmebelastung der Recheneinheit zu vermindern, so hat dieses Ziel möglicherweise die höchste Priorität, um Schäden an der Hardware zu vermeiden. Zum Anderen hat eine von den Eingangsgrößen unabhängige Deaktivierung bei gleicher Auswirkung auf die Rechengenauigkeit des KNN ein viel größeres Potential, den Energieverbrauch der Recheneinheit zu vermindern, als ein bloßes Nullsetzen der Eingangsgrößen.

Die Möglichkeit, Recheneinheiten selektiv zu deaktivieren, ist insbesondere förderlich für eine weitere Miniaturisierung der Hardwarearchitektur. Früher galt die als„Dennard’s Scaling“ bekannte empirische Beobachtung, dass eine Reduzierung der Transistorgrößen in integrierten Schaltkreisen den

Energieverbrauch proportional vermindert. Seit einigen Jahren ist die

Reduzierung der Transistorgrößen in Bereiche vorgestoßen, in denen der Energieverbrauch schwächer als proportional sinkt. Je nachdem, welche konkreten Möglichkeiten zur Kühlung zur Verfügung stehen, kann also der Fall eintreten, dass ein gleichzeitiger Dauerbetrieb aller vorhandenen Transistoren nicht mehr möglich ist.

Die selektive Deaktivierung von Recheneinheiten ist aber auch dann sinnvoll, wenn prinzipiell alle vorhandenen Recheneinheiten gleichzeitig betrieben werden könnten. Jede Energieeinsparung spart zugleich auch Kosten und verlängert bei batteriebetriebenen Geräten die Batterielaufzeit. Weiterhin kann es zur Erhöhung der Verfügbarkeit sinnvoll sein, gezielt mehr Recheneinheiten vorzusehen als eigentlich für die Erzielung einer vorgegebenen Genauigkeit benötigt werden. Die überzähligen Recheneinheiten können dann beispielsweise zunächst deaktiviert bleiben und erst dann zugeschaltet werden, wenn andere Recheneinheiten ausfallen.

In einer besonders vorteilhaften Ausgestaltung ist eine Steuereinheit für die selektive Deaktivierung von Recheneinheiten vorgesehen. Die

Abschalteinrichtung umfasst mindestens einen durch die Steuereinheit betätigbaren Schalter. Dieser Schalter kann beispielsweise ein Transistor sein, der auf elektrischem Wege schaltbar ist. Der Schalter kann aber beispielsweise auch ein auf optischem Wege schaltbarer Halbleiterschalter oder

lichtempfindlicher Widerstand sein.

In einer besonders vorteilhaften Ausgestaltung ist der Schalter so angeordnet, dass der die Zuführung eines Taktsignals, und/oder einer Versorgungsspannung, zu der Recheneinheit zu unterbrechen vermag. Die Unterbrechung der

Versorgungsspannung kann den Energieverbrauch der Recheneinheit komplett unterbinden. Wird nur das Taktsignal unterbrochen, wird immer noch der größte Teil des üblichen Energieverbrauchs eingespart. Dabei wird zugleich vermieden, die Recheneinheit bei der späteren Reaktivierung neu initialisieren zu müssen, so dass die Recheneinheit dann schneller wieder zur Verfügung steht.

In der Steuereinheit kann die Deaktivierung und spätere Reaktivierung von Recheneinheiten von beliebigen Bedingungen abhängig gemacht werden.

Beispielsweise kann eine Verteilung der ausgelassenen Berechnungen vorgegeben werden. So kann beispielsweise die Berechnung jedes N-ten Neurons ausgelassen werden, wobei N eine natürliche Zahl ist. Statt einer solchen homogenen Verteilung können die Deaktivierungen aber auch basierend auf einer zur Designzeit des KNN getroffenen Abschätzung der Wichtigkeit der einzelnen Rechenergebnisse erfolgen. Berechnungen mit geringer Relevanz werden dann bevorzugt abgeschaltet. Untersuchungen haben gezeigt, dass die Verschlechterung der Ausgabequalität des KNN in diesem Fall geringer ist als im Fall der homogenen Verteilung.

In einer besonders vorteilhaften Ausgestaltung erhält die Steuereinheit mindestens eine von mindestens einer Recheneinheit abgehende

Ausgangsgröße, ein Maß für die Schaltaktivität mindestens einer Recheneinheit, ein Maß für den Energieverbrauch mindestens einer Recheneinheit, und/oder ein Maß für die Temperatur mindestens einer Recheneinheit, als Eingabe.

Auf diese Weise kann beispielsweise die Beanspruchung mehrerer

Recheneinheiten, die zur Realisierung einer gegebenen Schicht des KNN beitragen, zeitlich und/oder räumlich vergleichmäßigt werden. Somit können Alterungsprozesse der Hardware vermindert werden. Diese Alterungsprozesse sind insbesondere von der Temperatur abhängig. So werden beispielsweise die elektronischen Eigenschaften von Halbleitern durch eine Interdiffusion zwischen benachbarten Bereichen mit verschiedener Dotierung progressiv verschlechtert, wobei die Geschwindigkeit dieser Interdiffusion exponentiell von der Temperatur abhängt.

Die Temperatur der Recheneinheit kann auf beliebige Weise bestimmt werden. Neben einem Temperaturfühler kommt hierfür insbesondere auch beispielsweise eine Wärmebildkamera in Betracht, die die Temperatur vieler Recheneinheiten gleichzeitig in Echtzeit zu erfassen vermag. Eine weitere kostengünstige Möglichkeit ist eine indirekte Bestimmung der Temperatur über die

Schaltaktivität. Hierfür misst man die Schaltaktivität über eine bestimmte Zeit und verwendet ein Modell, welches hieraus die erwartete Temperatur der

Recheneinheit vorhersagt.

Die selektive Abschaltung von Recheneinheiten ist andererseits nicht zwingend auf das Vorhandensein einer Steuereinheit angewiesen. In einer weiteren vorteilhaften Ausgestaltung enthält mindestens eine Recheneinheit eine

Abschalteinrichtung, die die Recheneinheit bei Erfüllung einer ersten Bedingung für die Temperatur der Recheneinheit, und/oder für den Zeitverlauf dieser Temperatur, und/oder für den Zeitverlauf der Schaltaktivität der Recheneinheit, selbsttätig deaktiviert und bei Erfüllung einer zweiten Bedingung für die

Temperatur der Recheneinheit, und/oder für den Zeitverlauf dieser Temperatur, und/oder für den Zeitverlauf der Schaltaktivität der Recheneinheit, selbsttätig wieder aktiviert. Es kann dann insbesondere ein Verdrahtungsaufwand zu der zentralen Steuereinheit eingespart werden. Das KNN entwickelt dann eine Eigendynamik in Bezug auf die Verteilung der insgesamt geleisteten Rechenarbeit, die sich unter anderem danach richtet, welche Recheneinheiten konkret wie stark beansprucht werden.

Die Erfindung bezieht sich auch auf ein Verfahren zum Betreiben eines künstlichen neuronalen Netzwerks, KNN. Das KNN umfasst eine

Aneinanderreihung aus einer Eingangsschicht, mehreren Verarbeitungsschichten und einer Ausgangsschicht. Jede Schicht bildet einen Satz Eingangsgrößen auf einen Satz Ausgangsgrößen ab. Dabei sind Ausgangsgrößen der

Eingangsschicht und einer jeden Verarbeitungsschicht Eingangsgrößen der jeweils in der Aneinanderreihung folgenden Schicht. Die Eingangsgrößen der Eingangsschicht sind zugleich auch die Eingangsgrößen des KNN als Ganzes. Die Ausgangsgrößen der Ausgangsschicht sind zugleich auch die

Ausgangsgrößen des KNN als Ganzes.

Das KNN ist in einer Vielzahl von Recheneinheiten dergestalt realisiert, dass die Realisierung einer jeden Schicht auf mindestens zwei der Recheneinheiten aufgeteilt ist.

Mindestens eine Recheneinheit wird bei Erfüllung einer vorgegebenen deaktivierenden Bedingung während des Betriebes des KNN unabhängig von den ihr zugeführten Eingangsgrößen so selektiv deaktiviert, dass in allen Schichten, zu deren Realisierung diese Recheneinheit beiträgt, mindestens noch eine weitere Recheneinheit aktiviert bleibt. Die deaktivierte Recheneinheit wird bei Erfüllung einer vorgegebenen aktivierenden Bedingung während des

Betriebes des KNN wieder aktiviert.

Analog zum zuvor für die Hardwarearchitektur Beschriebenen wird auf diese Weise zur Laufzeit des KNN ein dynamischer Kompromiss zwischen

Rechengenauigkeit einerseits und Energieverbrauch sowie Wärmeentwicklung des KNN andererseits realisiert.

In einer besonders vorteilhaften Ausgestaltung beinhaltet die deaktivierende Bedingung, und/oder die aktivierende Bedingung, ein Maß für die Qualität mindestens einer Eingangsgröße, ein Maß für die zeitliche und/oder räumliche Änderungsrate mindestens einer Eingangsgröße, ein Maß für eine Qualitätsanforderung an mindestens eine Ausgangsgröße, und/oder ein Maß für eine Relevanz mindestens einer Ausgangsgröße.

Wird beispielsweise eine hohe Qualität der die Eingangsgrößen des KNN repräsentierenden Eingangsdaten festgestellt, können bei gleicher

Ausgabequalität mehr Fehler durch das Deaktivieren interner Rechenschritte des KNN toleriert werden als bei einer schlechten Qualität der Eingangsdaten, da erwartet werden kann, dass die Ausgabequalität des DNNs bei hoher

Eingangsdatenqualität ein höheres Grundniveau hat. Beispielsweise kann ein gutes Signal- Rausch- Verhältnis eines Kamerabildes aufgrund guter

Lichtverhältnisse als ein Anzeichen für eine hohe Qualität der Eingangsdaten gewertet werden.

Die Qualitätsanforderung an Ausgangsgrößen kann beispielsweise davon abhängen, ob für die den Ausgangsgrößen zugrunde liegende Fragestellung weitere Informationsquellen verfügbar sind. Wenn die Unsicherheit in der Ausgabe des KNN durch zusätzliche Informationsquellen wieder kompensiert werden kann, können mehr Recheneinheiten deaktiviert werden. Solche redundanten Informationsquellen können beispielsweise weitere unterschiedliche Sensordatenverarbeitungssysteme sein. Ebenso lässt sich die Ausgabequalität des KNN beim Ausfall von redundanten Informationsquellen durch Reaktivieren der zuvor deaktivierten Recheneinheiten wieder erhöhen.

Die Qualitätsanforderung an Ausgangsgrößen kann beispielsweise auch davon abhängen, inwieweit Ergebnisse aus vorherigen Zeitschriften, oder auch sonstige Kontextinformationen, vorliegen. Wenn das KNN beispielsweise einen zeitlich oder räumlich zusammenhängenden Strom von Eingangsdaten verarbeitet (z.B. eine Videodatensequenz), können Informationen aus der zeitlichen oder räumlichen Nachbarschaft des aktuell zu verarbeitenden Eingangsdatums dazu ausgenutzt werden, die Deaktivierung von Recheneinheiten in bestimmten Teilen des Netzes dynamisch anzupassen. Wird beispielsweise durch das KNN ein Objekt in einer Videosequenz verfolgt, so sind hierfür bestimmte Teile im neuronalen Netz relevant, während andere momentan keinen Beitrag hierzu leisten. Die relevanten Rechenschritte werden durch die Eigenschaften des verfolgten Objektes (Features) sowie die Position des Objektes im Bild bestimmt. Wurden im Zeitschrift t die Features und Position des Objektes durch das KNN bestimmt, dann kann diese Information im darauffolgenden Zeitschrift dazu genutzt werden, in Teilen des Netzes, welche momentan irrelevante Features verarbeiten oder für momentan irrelevante Regionen des Eingangsbildes zuständig sind, mehr Recheneinheiten zu deaktivieren. Bei den momentan irrelevanten Neuronen kann angenommen werden, dass ihr Ausgabewert ohnehin betragsmäßig klein oder null ist, so dass durch das Abschalten der entsprechenden Recheneinheiten kein großer Fehler in der Ausgabe des KNNs entsteht. Das Verfahren kann durch eine Bewegungsprädiktion der

Bildinformationen (z.B. durch Bestimmung des optischen Flusses) unterstützt werden.

Die Relevanzen einzelner Rechenergebnisse innerhalb eines neuronalen Netzes können mit Hilfe verschiedener Methoden abgeschätzt werden.

Eine beispielhafte Möglichkeit besteht darin, das Ausschalten bestimmter Recheneinheiten im KNN für eine Menge an Trainingsdaten zu simulieren, und den Einfluss auf die Ausgabequalität des Netzes zu messen. Die Simulationen können entweder auf der tatsächlichen Hardware, oder in einem virtuellen Prototyp der Hardware, oder in einer reinen Softwaresimulationsumgebung erfolgen. Wird beim Deaktivieren bestimmter Rechenschritte eine starke

Verringerung der Ausgabequalität über die Trainingsdatenverteilung festgestellt, so haben diese Berechnungen eine hohe Relevanz bei diesen Trainingsdaten.

Die Änderungen der Ausgabewerte des DNNs beim Weglassen bestimmter Rechenschritte kann auch beispielsweise analytisch ermittelt werden. Hierfür können z.B. die Gradienten der Ausgabewerte in Bezug auf die

Zwischenergebnisse berechnet werden, oder es kann eine Dekomposition der Ausgabefunktion des neuronalen Netzes in die Beiträge einzelner

Zwischenergebnisse vorgenommen werden.

In beiden beispielhaften Ansätzen können sowohl globale Relevanzen, d.h. Relevanzen die sich über eine komplette (Trainings-) Eingangsdatenverteilung ergeben, bestimmt werden, als auch Relevanzen bestimmter Gruppen von Eingangsdaten. So können z.B. Bilder, die gleiche oder ähnliche Objekte darstellen, oder Bilder, bei denen das relevante Objekt in einer bestimmten Region liegt zusammengefasst werden, um separate Relevanzwerte für diese Gruppen zu bestimmen. Diese Information kann dann eingesetzt werden, um bei einem gegebenen Kontext bestimmte Teile des KNN bevorzugt zu deaktivieren.

In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet die

deaktivierende Bedingung, und/oder die aktivierende Bedingung, die Temperatur mindestens einer Recheneinheit, und/oder die Temperatur mindestens einer an diese Recheneinheit gekoppelten Wärmesenke, und/oder den Zeitverlauf der Schaltaktivität dieser Recheneinheit. Auf diese Weise können nach dem zuvor Beschriebenen insbesondere Alterungsprozesse der Hardware vergleichmäßigt werden. Weiterhin kann beispielsweise die Wärmekapazität einer Wärmesenke genutzt werden, um bei kurzfristig erhöhtem Bedarf die Leistung von mehr Recheneinheiten abzurufen.

In einer weiteren besonders vorteilhaften Ausgestaltung dient das KNN der Erkennung von Objekten und/oder Situationen anhand von Eingangsgrößen. Es wird anhand einer Kontextinformation ermittelt, dass das Vorhandensein einer ersten Teilmenge der Objekte und/oder Situationen unwahrscheinlicher ist als das Vorhandensein einer zweiten Teilmenge der Objekte und/oder Situationen. Dabei kann diese Kontextinformation aus einer beliebigen Quelle stammen. Neben einer externen Quelle kommt alternativ oder in Kombination insbesondere beispielsweise in Betracht, die Kontextinformation aus dem zeitlichen Verlauf der Eingangsgrößen selbst zu ermitteln. Die Deaktivierung von Recheneinheiten, die überwiegend der Erkennung von Objekten und/oder Situationen aus der ersten Teilmenge dienen, wird dann gegenüber der Deaktivierung von Recheneinheiten, die überwiegend der Erkennung von Objekten und/oder Situationen aus der zweiten Teilmenge dienen, bevorzugt.

Auf diese Weise kann die in dem KNN eingesetzte Energie auf die Erkennung derjenigen Objekte und/oder Situationen fokussiert werden, deren

Vorhandensein wahrscheinlicher ist. Insbesondere Systeme für die Erkennung von Objekten und/oder Situationen im Umfeld von Fahrzeugen, beispielsweise für das zumindest teilweise automatisierte Fahren, sind für die Erkennung einer sehr großen Anzahl von Objekten oder Situationen ausgelegt. Beispielsweise muss ein zumindest teilweise automatisiert fahrendes Fahrzeug auf alle aktuell gültigen Verkehrszeichen reagieren können, um regelkonform zu fahren.

Allerdings ist nicht zu jeder Zeit gleichermaßen mit dem Auftreten aller möglichen Verkehrszeichen und Situationen zu rechnen. So gibt es beispielsweise auf Autobahnen weder Ampeln noch Fußgängerüberwege oder Bahnübergänge. Ebenso ist weitab von Gewässern nicht mit einem Warnschild zu rechnen, dass die Straße auf ein Ufer zu führt. Die für die Erkennung solcher

unwahrscheinlichen Objekte oder Situationen zuständigen Recheneinheiten können also bevorzugt deaktiviert werden, ohne dass die Betriebssicherheit des Fahrzeugs leidet.

Somit dient in einer besonders vorteilhaften Ausgestaltung das KNN der Erkennung von Objekten und/oder Situationen im Umfeld eines Fahrzeugs, wobei die zusätzliche Kontextinformation die Position des Fahrzeugs, und/oder die Straßenkategorie einer aktuell von dem Fahrzeug befahrenen Straße, umfasst.

Eine anhand dieser Kontextinformation gesteuerte Deaktivierung von

Recheneinheiten lenkt den Nichtdeterminismus, den die Deaktivierung zwangsläufig in das KNN einführt, in geordnete Bahnen. Es kann dann insbesondere im Hinblick auf die Zulassung für den öffentlichen Straßenverkehr plausibel gemacht werden, dass die Einsparung von Energie und Abwärme, die mit der Deaktivierung von Recheneinheiten bewirkt wird, nicht mit einer

Gefahrerhöhung erkauft wird.

Sofern das KNN hardwaremäßig die Möglichkeit vorsieht, Recheneinheiten selektiv zu deaktivieren, kann das Verfahren ganz oder teilweise

softwaregesteuert ausgeführt werden. Die entsprechende Software kann dann beispielsweise als Update oder Upgrade zu einem bestehenden Steuergerät verkauft werden und ist insofern ein eigenständiges Produkt. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren

Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem

Steuergerät, ausgeführt werden, den Computer, und/oder das Steuergerät, dazu veranlassen, das von der Erfindung bereitgestellte Verfahren auszuführen. Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren

Datenträger oder ein Downloadprodukt mit dem Computerprogramm.

Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.

Ausführungsbeispiele

Es zeigt:

Figur 1 Ausführungsbeispiel der Hardwarearchitektur 10 für ein KNN 1;

Figur 2 Ausführungsbeispiel des Verfahrens 100.

Nach Figur 1 umfasst das beispielhaft vereinfacht skizzierte KNN 1 eine

Eingangsschicht 2, zwei Verarbeitungsschichten 3a und 3b sowie eine

Ausgangsschicht 4. Die Hardwarearchitektur 10 realisiert dieses KNN 1 mit Hilfe von acht Recheneinheiten 5a-5h, die untereinander verbunden sind. Jede Recheneinheit 5a-5h realisiert jeweils drei als ausgefüllte Punkte dargestellte Neuronen. Zur Realisierung jeder der Schichten 2, 3a, 3b, 4 tragen jeweils zwei der Recheneinheiten 5a-5h bei.

Jeder der Recheneinheiten 5a-5h ist eine als Schalter in der Zuführung einer Versorgungsspannung und/oder eines Taktsignals ausgeführte

Abschalteinrichtung 6a-6h zugeordnet, über die die jeweilige Recheneinheit außer Betrieb genommen werden kann. Alle Abschalteinrichtungen 6a-6h werden über eine zentrale Steuereinheit 7 angesteuert.

Das KNN ist zur Erkennung von Objekten im Umfeld eines Fahrzeugs ausgebildet. In Figur 1 sind nur vier Verkehrszeichen als beispielhafte Objekte la-ld eingezeichnet. In einer beispielhaften Fahrsituation auf der Autobahn ist das Vorhandensein eines Verkehrszeichens aus einer ersten Teilmenge 8a, hier eines LKW-Überholverbots la oder einer Geschwindigkeitsbeschränkung lb, denkbar. Ein Verkehrszeichen aus einer zweiten Teilmenge 8b, hier ein Zeichen lc für einen Fußgängerüberweg oder ein Gefahrzeichen ld für die Warnung vor einem Ufer, kommt hingegen auf einer Autobahn regulär nicht vor.

Recheneinheiten, die im Wesentlichen für die Erkennung dieser Verkehrszeichen lc, ld zuständig sind, können daher bei der Fahrt auf der Autobahn ohne Verlust an Verkehrssicherheit deaktiviert werden.

Figur 2 zeigt ein Ausführungsbeispiel des Verfahrens 100. Gemäß dem optionalen Schritt 105 werden anhand einer zusätzlichen Kontextinformation, etwa der Straßenkategorie der aktuell befahrenen Straße, die Teilmenge 8a der eher wahrscheinlich vorkommenden Objekte la, lb und die Teilmenge 8b der eher unwahrscheinlich vorkommenden Objekte lc, ld ermittelt. Gemäß Schritt 110 wird fortwährend überprüft, ob die deaktivierende Bedingung erfüllt ist. Ist dies der Fall (Wahrheitswert 1), so werden in Schritt 120 Recheneinheiten 5a-5h deaktiviert. Sofern in Schritt 105 die Teilmenge 8b eher unwahrscheinlich vorkommender Objekte lc, ld ermittelt wurde, wird gemäß Schritt 125 die Deaktivierung von Recheneinheiten 5a-5h, die überwiegend der Erkennung von Objekten lc, ld aus der Teilmenge 8b dienen, bevorzugt. Gemäß Schritt 130 wird fortwährend geprüft, ob eine aktivierende Bedingung für die Reaktivierung der zuvor deaktivierten Recheneinheiten 5a-5h erfüllt ist. Ist dies der Fall (Wahrheitswert 1), werden diese Recheneinheiten 5a-5h in Schritt 140 wieder aktiviert.