EP3712823A1 - Method and device for controlling a technical appliance using a program code - Google Patents

Method and device for controlling a technical appliance using a program code Download PDF

Info

Publication number
EP3712823A1
EP3712823A1 EP19164272.7A EP19164272A EP3712823A1 EP 3712823 A1 EP3712823 A1 EP 3712823A1 EP 19164272 A EP19164272 A EP 19164272A EP 3712823 A1 EP3712823 A1 EP 3712823A1
Authority
EP
European Patent Office
Prior art keywords
layers
program
execution device
program code
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP19164272.7A
Other languages
German (de)
French (fr)
Inventor
Daniel SCHALL
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.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to EP19164272.7A priority Critical patent/EP3712823A1/en
Publication of EP3712823A1 publication Critical patent/EP3712823A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • the invention relates to a method and a device for controlling a technical device by means of a program code.
  • Neural networks in particular Deep Neural Networks (DNNs) or Deep Convolutional Neural Networks (CNNs) are used in numerous applications, for example in the field of computer vision. These applications sometimes generate enormous amounts of data because they are directly connected to sensors such as cameras, microphones, gyroscopes that record a large amount of input data, for example in the form of streaming data, and are processed using machine learning.
  • DNNs Deep Neural Networks
  • CNNs Deep Convolutional Neural Networks
  • IoT Internet of Things
  • classification with simple machine learning (ML) models such as a linear support vector machine (SVM)
  • SVM linear support vector machine
  • DDNNs Distributed deep neural networks over distributed computing hierarchies are known, including cloud, edge and geographically distributed end devices (devices).
  • sections of a single DNN are often assigned to a distributed computing hierarchy, which can be trained together.
  • a DDNN can use so-called binary neural networks (BNNs).
  • BNNs binary neural networks
  • the object is achieved by a method for controlling a technical device by means of a program code, which program code is executed by a system, and the system comprises a multilayered neural network with layers and a cloud execution device and a device execution device, and the program code is formed by a first program part and a third program part, and the first program part forms a first set of layers of the neural network and is executed by the cloud execution device and controls the device execution device, and the third program part forms a third set of layers of the neural network and is executed by the device execution device and controls the technical device, and the system further executes a configuration method which redefines the first and the third set of layers and the respective program part accordingly, determines the first and third program part therefrom and loads it into the associated execution device, and the system executes the program code and that controls technical device, wherein the configuration method is determined by at least one property of the program code or at least one property of the technical device.
  • the flexibility achieved can take into account both the current data traffic in the network as a whole, as well as the Improve service quality (QoS, "quality of service”) of individual services which are made available by or to technical devices.
  • QoS Improve service quality
  • the distribution in communication can be improved, latency times reduced, the data protection of user or sensor data and the system accuracy can be improved.
  • Hierarchically distributed computing structures including cloud, edge and devices, have inherent advantages, such as the support of coordinated central and local decisions and the scalability of the system for extensive intelligent tasks based on geographically distributed IoT devices.
  • An example of such a distributed approach is the combination of a small NN model (fewer parameters) on end devices and a larger NN model (more parameters) in the cloud.
  • the small model on a terminal can quickly carry out an initial feature extraction and also a classification if the model is convinced (English "confidence"). Otherwise, the end device can transfer the result of the small model (e.g. extracted features) to the large NN model in the cloud, which carries out further processing and the final classification.
  • This approach has the advantage of lower communication costs compared to submitting NN inputs to the cloud and can achieve higher accuracy compared to a simple device model.
  • the system could also offer better privacy protection.
  • Reinforcement learning stands for a series of machine learning methods in which an agent independently learns a strategy in order to maximize the rewards received.
  • the agent is not shown which action is best in which situation, but instead receives a reward at certain times, which can also be negative. Using these rewards, he approximates a utility function that describes the value of a certain state or action.
  • a neural network is defined as a computer system which consists of a number of simple but highly interconnected elements or nodes called “neurons" organized in layers that process information using dynamic state responses to external inputs.
  • patterns can be found in an efficient manner, which are too complex for manual extraction and can be recognized by the machine.
  • patterns are introduced into the neural network in that the input layer has a neuron for each component present in the input data and communicates to one or more hidden layers present in the network.
  • Deep learning refers to a class of optimization methods of artificial neural networks that have numerous intermediate layers ("hidden layers”) between the input layer and the output layer and thus have an extensive internal structure or no intermediate layers, as with the single-layer perceptron, the deep learning methods enable stable learning success even with numerous intermediate layers.
  • hidden layers numerous intermediate layers
  • the deep learning methods enable stable learning success even with numerous intermediate layers.
  • the partial programs of individual layers can also be referred to as instances.
  • the instances used must work according to defined rules on both the sending and receiving side of a layer in order to enable the processing of data.
  • the definition of these rules is described in a protocol and forms a logical, horizontal connection between two instances of the same layer.
  • Each instance provides services that can be used by an instance directly above it. To provide the service, an instance itself uses the services of the instance immediately below. The real data flow is therefore vertical.
  • the instances of a layer are exchangeable if they can be exchanged at both the sender and the recipient.
  • the first and the third set of layers together form the layers of the multilayer neural network.
  • two sets of layers are included, which supports a simple yet dynamically configurable architecture.
  • the object according to the invention is also achieved by a method for controlling a technical device by means of a program code, which program code is executed by a system, and the system has a multilayer neural network with layers and a cloud execution device, an edge execution device and a device execution device and the program code is formed by a first program part, a second program part and a third program part, and the first program part forms a first set of layers of the neural network and is executed by the cloud execution device and controls the edge execution device, and the second program part forms a second set of layers of the neural network and is executed by the edge execution device and controls the device execution device, and the third program part forms a third set of layers of the neural network and is executed by the device execution device and controls the technical device, and a configuration method is carried out which determines the first, second and third set of layers, determines the first, second and third program parts therefrom and loads them into the associated execution device, and the system executes the program code and controls the technical device , wherein the configuration method is determined by at least one property of the
  • an edge section is also provided between the cloud and the terminal, which can be used for greater flexibility.
  • the first, the second and the third set of layers together form the layers of the multi-layer neural network.
  • three sets of layers are included, which supports a particularly efficient yet flexibly configurable architecture.
  • the properties of the program code relate to the properties of the technical device or the properties of the program code relate to the properties when the technical device is activated, preferably quality of service, latency, bandwidth for data transmission.
  • the configuration method is based on the principle of machine learning, preferably on the application of the principle of "reinforcement learning" to DDNN. A particularly efficient determination of the configuration is thereby achieved.
  • the configuration method is carried out continuously and the first, second and third set of layers and the respective program part are redefined accordingly.
  • the configuration method is carried out again when a predetermined point in time is reached or a predetermined event is present.
  • a time specification for a QoS can be supported. This can be schedule-controlled or event-controlled.
  • the program code has more than 10 layers, preferably more than 20 layers, particularly preferably more than 50 layers, more than 100 layers, and in particular more than 150 layers.
  • more than 10 layers, more than 20 layers, more than 50 layers, more than 100 layers, more than 150 layers or even more layers can be provided .
  • VGGNet with 19 layers
  • GoogLeNet with 22 layers
  • ResNet with 152 layers.
  • the object according to the invention is also achieved by a system for controlling a technical device by means of a program code, the system being a multi-layer neural network with layers, as well as a cloud execution device and a device execution device, and the program code is formed by a first program part and a third program part, and the first program part forms a first set of layers of the neural network and the cloud execution device is set up to execute the first program part to control the device execution device, and the third program part forms a third set of layers of the neural network and the device execution device is set up to execute the third program part and to control the technical device, and a configuration device is set up to execute a configuration method which determines the first and the third set of layers, determines the first and third program part therefrom and loads it into the associated execution device, and the system is set up to execute the program code and to control the technical device, wherein the configuration method is determined by at least one property of the program code or at least one property of the technical device.
  • the object according to the invention is also achieved by a system for controlling a technical device by means of a program code, the system having a multilayer neural network with layers as well as a cloud execution device, an edge execution device and a device execution device, and the program code is formed by a first program part, a second program part and a third program part, and the first program part forms a first set of layers of the neural network and sets up a cloud for this purpose is to execute the cloud execution device and control the edge execution device, and the second program part forms a second set of layers of the neural network and an edge execution device is set up to execute the second program part and control the device execution device, and the third program part forms a third set of layers of the neural network and the device execution device is set up to execute the third program part and to control the technical device, and a configuration device is set up to execute a configuration method which determines the first, the second and the third set of layers, determines the first, second and third program part therefrom and loads it into the associated execution device, and the system is set up to do
  • an edge section is also provided between the cloud and the terminal, which can be used for greater flexibility.
  • the edge execution device is provided in the form of a cloud service.
  • a flexible but also powerful implementation of the edge execution device can be achieved.
  • the cloud execution device and / or the configuration device is provided in the form of a cloud service. This allows a flexible, but also powerful Realization of the cloud execution device or the configuration device can be achieved.
  • the method according to the invention can be used as a computer program on a computer platform or a computer system and the system may have a local or distributed system architecture.
  • IoT device that is to say several IoT devices, can be controlled by the method or the system according to the invention.
  • a device is, for example, an IoT device / IoT device or a technical device in general.
  • Fig. 1 shows a general illustration of a cloud-based DNN with a cloud 100.
  • the cloud 100 is accessible via a cloud output 101, at which samples from the cloud can be classified.
  • Fig. 2 shows a general representation of a DDNN via a cloud 200 and a device 250.
  • the cloud 200 is accessible via a cloud output 201, at which samples from the cloud can be classified.
  • the method has a local output 203 at which samples can be classified in front of the cloud.
  • Fig. 3 shows a general representation of a DDNN via a cloud 300 and geographically distributed devices 350.
  • the cloud 300 is accessible via a cloud output 301, at which samples from the cloud can be classified.
  • the method has a local output 303 at which samples can be classified in front of the cloud.
  • Fig. 4 shows a general representation of a DDNN via a cloud 400, an edge 420 and a device 450.
  • the cloud 400 is accessible via a cloud output 401, at which samples from the cloud can be classified.
  • the method also has an edge output 402, at which samples can be classified before the cloud.
  • the method has a local output 403 at which samples can be classified before the edge.
  • Fig. 5 shows a general representation of a DDNN via a cloud 500, an edge 520 and geographically distributed devices 550.
  • the cloud 500 is accessible via a cloud output 501, at which samples from the cloud can be classified.
  • the method also has an edge output 502 at which samples can be classified before the cloud.
  • the method has a local output 503 at which samples can be classified before the edge.
  • FIG. 11 shows a general representation of a DDNN via a cloud 600, geographically distributed edges 620 and devices 650.
  • the cloud 600 is accessible via a cloud output 601, at which samples from the cloud can be classified.
  • the method also has an edge output 602 at which samples can be classified before the cloud.
  • the method has a local output 603 at which samples can be classified before the edge.
  • FIGS. 1 to 6 are known from the prior art.
  • Fig. 7 represents an application of "reinforcement learning" on DDNN.
  • a service 10 records sensor values 1 by means of one or more sensors 11 which are arranged in an environment 20 and determines the current status 12.
  • one or more actions 13 are derived from the status 12 which actuate one or more actuators 15 2.
  • the service 10 which describes the behavior between the sensor data acquisition 1 and the actuator actuation 2, can be implemented by the method according to the invention or by the system according to the invention and an improved QoS according to the invention can be achieved.
  • Fig. 8 shows the system architecture according to Fig. 6 to which the method according to the invention is applied.
  • the method is used to control a technical device 650 by means of a program code 800 according to FIG Fig. 9 and a program code 900 according to FIG Fig. 10 which is carried out by a system.
  • the system has a multilayered neural network with layers 801-813, 901-914, as well as a cloud execution device 605, edge execution devices 625, 626 and device execution devices 655, 656.
  • the program code 800, 900 is formed by a first program part 851, 951, a second program part 852, 952 and a third program part 853, 953.
  • the first program part 851, 951 forms a first set of layers 821, 921 of the neural network and is executed by the cloud execution device 605 and controls the edge execution device 625, 626.
  • the second program part 852, 952 forms a second set of layers 822, 922 of the neural network and is executed by the edge execution device 625, 626 and controls the device execution device 655, 656.
  • the third program part 853, 953 forms a third set of layers 823, 923 of the neural network and is executed by the device execution device 655, 656 and controls the technical device 650.
  • the program codes 800, 900 are provided for various device execution devices 655, 656 of the technical device 650. This means two different, geographically distributed devices.
  • the program code 800 is provided for controlling a first device by means of the edge execution device 625 and the device execution device 655.
  • the program code 900 is provided for controlling a further device by means of the edge execution device 626 and the device execution device 656.
  • a configuration method 700 is performed and determines the first, second, and third sets of layers 821-823, 921-923.
  • the configuration method 700 determines the first program part 851, 951 for the cloud execution device 605 from the first set of layers 821, 921 and loads it into the associated execution device 605.
  • step 720 the configuration method 700 determines the second program part 852, 952 for the edge execution device 625 from the second set of layers 822, 922 and loads it into the associated execution device 625.
  • step 730 the configuration method 700 determines the third program part 853, 953 for the device execution device 655 from the third set of layers 823, 923 and loads it into the associated execution device 655.
  • the system executes the program code 800, 900 and controls the technical device 650.
  • the configuration method 700 is determined by at least one property of the program code 800, 900 or at least one property of the technical device 650.
  • the first, second and third sets of layers 821-823, 921-923 together form layers 801-813, 901-914 of the multilayer neural network.
  • the properties of the program code 800, 900 and / or the properties of the technical device relate to the properties when the technical device 650 is activated, for example a quality of service, a latency or a bandwidth for data transmission.
  • the configuration method 700 is based on the principle of machine learning, the principle of “reinforcement learning” also being applied to DDNN in order to obtain a particularly efficient configuration.
  • the configuration method 700 is carried out continuously and the configuration of the layers is dynamically adapted to system parameters such as the current data traffic in the network, requirements for communication, latency times, data protection of user or sensor data, and system accuracy.
  • the configuration method 700 can also be carried out again when a predetermined point in time is reached or a predetermined event, such as in the form of an interrupt, is present.
  • the configuration method can adapt both the amount of layers and the program code in such a way that the total number of layers is modified in order to make the program code more efficient overall.
  • the current program code can be a subset of the original program code and thus have fewer layers than originally if a device is used that does not support all functions of the original program code or is temporarily deactivated. This aspect is not shown in the figures.
  • the first, the second and the third set of layers 821-823, 921-923, as well as the respective program part 851-853, 951-953 are correspondingly continuously redefined.
  • the program code 800, 900 in the figure has more than ten layers 801-813, 901-914, but can also include more layers.
  • Samples from the cloud 600 can be classified via the cloud output 601 and used for configuration.
  • Samples of the device 650 can be classified via the local output 602 and used for the configuration.
  • samples of the Edge 620 can be classified via the Edge output 603 and used for the configuration.
  • a system according to the invention implements the method according to the invention, for example according to the system architecture of FIG Fig. 8 .
  • Device 650 can be understood to mean one or more independent IoT devices. For a better overview, only one device 650 is shown.
  • the edge 620 has two edge execution devices 625, 626, which are controlled by means of two program codes 800, 900.
  • the device 650 has four device execution devices, two device execution devices 655, 656 which are controlled by means of the two program codes 800, 900.
  • a dynamic configuration between the cloud 300 and the distributed device 350 according to FIG Fig. 3 can be used according to the invention, that is to say without the use of an edge.
  • Fig. 9 shows an illustration of a first exemplary embodiment for a program code 800.
  • the first program part 851 forms the first set of layers 821 of the neural network with six layers 801-806.
  • the second program part 852 forms the second set of layers 822 of the neural network with four layers 807-810.
  • the third program part 853 forms the third set of layers 823 of the neural network with three layers 811-813.
  • the program code 800 is provided to a device 650, i. to control a device execution device 655, which via the Edge 620, i. the edge execution device 625, with the cloud 600, i. the cloud execution device 605.
  • Fig. 10 shows an illustration of a second exemplary embodiment for a program code 900.
  • the first program part 951 forms the first set of layers 921 of the neural network with six layers 901-906, which correspond to the six layers 801-806 of the program codes 800.
  • the second program part 952 forms the second set of layers 922 of the neural network with two layers 907-908.
  • the third program part 953 forms the third set of layers 923 of the neural network with six layers 909-914.
  • the program code 900 is provided to control a device 650, ie a device execution device 656, which is connected to the cloud 600, ie the cloud execution device 605, via the edge 620, ie the edge execution device 626.

Abstract

Verfahren zur Steuerung eines technischen Geräts (650) mittels einem Programmcode, welcher durch ein System ausgeführt wird und das System ein mehrschichtiges neuronales Netzwerk aufweist und der Programmcode von einem ersten, einem zweiten und einem dritten Programmteil (851-853, 951-953) gebildet ist,und der erste Programmteil eine erste Menge an Schichten (821, 921) des neuronalen Netzwerks bildet und die Edge-Ausführungsvorrichtung (625, 626) ansteuert,und der zweite Programmteil eine zweite Menge an Schichten (822) des neuronalen Netzwerks bildet und die Device-Ausführungsvorrichtung (655, 656) ansteuert,und der dritte Programmteil eine dritte Menge an Schichten (823) des neuronalen Netzwerks bildet und das technische Gerät (650) ansteuert,und ein Konfigurations-Verfahren (700) ausgeführt wird, welches die erste, die zweite und die dritte Menge an Schichten (821-823, 921) bestimmt, daraus den ersten, zweiten und dritten Programmteil bestimmt und das System den Programmcode ausführt und das technische Gerät (650) ansteuert,wobei das Konfigurations-Verfahren (700) von einer Eigenschaft des Programmcodes oder des technischen Geräts (650) bestimmt ist.Method for controlling a technical device (650) by means of a program code which is executed by a system and the system has a multilayer neural network and the program code is formed by a first, a second and a third program part (851-853, 951-953) , and the first program part forms a first set of layers (821, 921) of the neural network and controls the edge execution device (625, 626), and the second program part forms a second set of layers (822) of the neural network and the Device execution device (655, 656) controls, and the third program part forms a third set of layers (823) of the neural network and controls the technical device (650), and a configuration method (700) is carried out, which the first, the second and the third set of layers (821-823, 921) are determined, the first, second and third program parts are determined therefrom and the system executes the program code t and controls the technical device (650), the configuration method (700) being determined by a property of the program code or of the technical device (650).

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Steuerung eines technischen Geräts mittels einem Programmcode.The invention relates to a method and a device for controlling a technical device by means of a program code.

Neural Netwerke (NNs), insbesondere Deep Neural Networks (DNNs) oder Deep Convolutional Neural Networks (CNNs) werden in zahlreichen Anwendungen eingesetzt, zum Beispiel im Bereich Computer Vision. Durch diese Anwendungen werden teilweise enorme Datenmengen erzeugt, da sie direkt mit Sensoren, wie beispielsweise Kameras, Mikrofone, Gyroskope verbunden sind, die eine große Menge von Eingangsdaten, beispielsweise in Form von Streaming-Daten erfassen und mittels maschinellen Lernens verarbeitet werden.Neural networks (NNs), in particular Deep Neural Networks (DNNs) or Deep Convolutional Neural Networks (CNNs) are used in numerous applications, for example in the field of computer vision. These applications sometimes generate enormous amounts of data because they are directly connected to sensors such as cameras, microphones, gyroscopes that record a large amount of input data, for example in the form of streaming data, and are processed using machine learning.

Gleichzeitig hat die Anzahl der Endgeräte, einschließlich Internet of Things (IoT) Geräte, dramatisch zugenommen.At the same time, the number of end devices, including Internet of Things (IoT) devices, has increased dramatically.

Der aktuelle Stand der Technik bei Machine-Learning-Systemen auf Endgeräten führt häufig jedoch zu wenig zufriedenstellenden Einschränkungen:
Einerseits kann das Verlagern von Eingangssensordaten an große NN-Modelle (wie DNNs) in der Cloud zu damit verbundenen hohen Kommunikationskosten, Latenzproblemen und/oder Datenschutzproblemen führen.
However, the current state of the art in machine learning systems on end devices often leads to less than satisfactory restrictions:
On the one hand, moving input sensor data to large NN models (such as DNNs) in the cloud can lead to associated high communication costs, latency problems and / or data protection problems.

Andererseits kann eine Klassifizierung mit einfachen Machine Learning (ML)-Modellen, wie einer linearer Support Vector Machine (SVM), direkt auf dem Endgerät durchgeführt werden, wobei die Systemgenauigkeit jedoch häufig gering ist.On the other hand, classification with simple machine learning (ML) models, such as a linear support vector machine (SVM), can be carried out directly on the end device, although the system accuracy is often low.

Es sind verteilte tiefe neuronale Netze (DDNNs) über verteilte Rechenhierarchien bekannt, umfassend Cloud, Edge und geografisch verteilte Endgeräte (Devices).Distributed deep neural networks (DDNNs) over distributed computing hierarchies are known, including cloud, edge and geographically distributed end devices (devices).

Bei der Implementierung eines DDNN werden häufig Abschnitte eines einzelnen DNN einer verteilten Rechenhierarchie zugeordnet, welche gemeinsam trainiert werden können.When implementing a DDNN, sections of a single DNN are often assigned to a distributed computing hierarchy, which can be trained together.

Darüber hinaus kann ein DDNN sogenannte binäre neuronale Netze (BNNs) nutzen.In addition, a DDNN can use so-called binary neural networks (BNNs).

Es ist Aufgabe der Erfindung, die genannten Unzulänglichkeiten zu verbessern.It is the object of the invention to improve the shortcomings mentioned.

Die Aufgabe wird durch ein Verfahren zur Steuerung eines technischen Geräts mittels einem Programmcode gelöst, welcher Programmcode durch ein System ausgeführt wird,
und das System ein mehrschichtiges neuronales Netzwerk mit Schichten, sowie eine Cloud-Ausführungsvorrichtung und eine Device-Ausführungsvorrichtung aufweist,
und der Programmcode von einem ersten Programmteil und einem dritten Programmteil gebildet ist,
und der erste Programmteil eine erste Menge an Schichten des neuronalen Netzwerks bildet und von der Cloud-Ausführungsvorrichtung ausgeführt wird und die Device-Ausführungsvorrichtung ansteuert,
und der dritte Programmteil eine dritte Menge an Schichten des neuronalen Netzwerks bildet und von der Device-Ausführungsvorrichtung ausgeführt wird und das technische Gerät ansteuert,
und vom System ferner ein Konfigurations-Verfahren ausgeführt wird, welches die erste und die dritte Menge an Schichten und den jeweiligen Programmteil entsprechend neu bestimmt, daraus den ersten und dritten Programmteil bestimmt und in die zugehörige Ausführungsvorrichtung lädt, und das System den Programmcode ausführt und das technische Gerät ansteuert,
wobei das Konfigurations-Verfahren von zumindest einer Eigenschaft des Programmcodes oder zumindest einer Eigenschaft des technischen Geräts bestimmt ist.
The object is achieved by a method for controlling a technical device by means of a program code, which program code is executed by a system,
and the system comprises a multilayered neural network with layers and a cloud execution device and a device execution device,
and the program code is formed by a first program part and a third program part,
and the first program part forms a first set of layers of the neural network and is executed by the cloud execution device and controls the device execution device,
and the third program part forms a third set of layers of the neural network and is executed by the device execution device and controls the technical device,
and the system further executes a configuration method which redefines the first and the third set of layers and the respective program part accordingly, determines the first and third program part therefrom and loads it into the associated execution device, and the system executes the program code and that controls technical device,
wherein the configuration method is determined by at least one property of the program code or at least one property of the technical device.

Dadurch wird erreicht, dass die Konfiguration der einzelnen Programmteile, beziehungsweise deren Verteilung auf einzelne Schichten, dynamisch anpassbar ist.This means that the configuration of the individual program parts or their distribution over individual layers can be dynamically adapted.

Die erreichte Flexibilität kann sowohl den aktuellen Datenverkehr im Netz insgesamt berücksichtigen, sowie auch die Servicequalität (QoS, "quality of service") einzelner Dienste, welche von oder zu technischen Geräten zur Verfügung gestellt werden, verbessern.The flexibility achieved can take into account both the current data traffic in the network as a whole, as well as the Improve service quality (QoS, "quality of service") of individual services which are made available by or to technical devices.

Ferner kann Verteilung in der Kommunikation verbessert, Latenzzeiten reduziert, der Datenschutz von Nutzer- oder Sensordaten, sowie die Systemgenauigkeit verbessert werden.Furthermore, the distribution in communication can be improved, latency times reduced, the data protection of user or sensor data and the system accuracy can be improved.

Es wird der Ansatz eines verteilten Rechnens in Betracht gezogen. Hierarchisch verteilte Rechenstrukturen, umfassend Cloud, Edge und Geräte, haben inhärente Vorteile, wie beispielsweise die Unterstützung koordinierter zentraler und lokaler Entscheidungen und die Skalierbarkeit des Systems für umfangreiche intelligente Aufgaben basierend auf geografisch verteilten IoT-Geräten.The distributed computing approach is considered. Hierarchically distributed computing structures, including cloud, edge and devices, have inherent advantages, such as the support of coordinated central and local decisions and the scalability of the system for extensive intelligent tasks based on geographically distributed IoT devices.

Ein Beispiel für einen solchen verteilten Ansatzes ist die Kombination eines kleinen NN-Modells (weniger Parameter) auf Endgeräten und eines größeren NN-Modells (mehr Parameter) in der Cloud. Das kleine Modell an einem Endgerät kann schnell eine anfängliche Merkmalsextraktion und auch eine Klassifizierung durchführen, wenn das Modell überzeugt ist (englisch "confidence"). Andernfalls kann das Endgerät das Resultat des kleinen Modells (z.B. extrahierte Merkmale) an das große NN-Modell in der Cloud übergeben, welches die weitere Verarbeitung und die endgültige Klassifizierung vornimmt. Dieser Ansatz hat den Vorteil niedriger Kommunikationskosten im Vergleich zur Abgabe von NN-Eingaben in die Cloud und kann im Vergleich zu einem einfachen Gerätemodell eine höhere Genauigkeit erzielen.An example of such a distributed approach is the combination of a small NN model (fewer parameters) on end devices and a larger NN model (more parameters) in the cloud. The small model on a terminal can quickly carry out an initial feature extraction and also a classification if the model is convinced (English "confidence"). Otherwise, the end device can transfer the result of the small model (e.g. extracted features) to the large NN model in the cloud, which carries out further processing and the final classification. This approach has the advantage of lower communication costs compared to submitting NN inputs to the cloud and can achieve higher accuracy compared to a simple device model.

Da eine Zusammenfassung, die auf extrahierten Merkmalen aus dem Endgerätemodell basiert, anstelle von Sensorrohdaten gesendet wird, könnte das System darüber hinaus einen besseren Schutz der Privatsphäre bieten.Since a summary based on features extracted from the terminal model is sent instead of raw sensor data, the system could also offer better privacy protection.

Diese Art des verteilten Ansatzes über eine Computerhierarchie hinweg ist jedoch aus mehreren Gründen herausfordernd:

  • Endgeräte wie eingebettete Sensorknoten haben oft ein begrenztes Speicher- und Batteriebudget. Dies macht es problematisch, Modelle an die Geräte anzupassen, die die geforderten Genauigkeits- und Energieeinschränkungen erfüllen.
  • Eine unkomplizierte Partitionierung von NN-Modellen über eine Berechnungshierarchie kann für die Übertragung von Zwischenergebnissen zwischen den Berechnungsknoten zu hohe Kommunikationskosten verursachen.
However, this type of distributed approach across a computer hierarchy is challenging for several reasons:
  • End devices such as embedded sensor nodes often have limited storage and battery budgets. This makes it problematic Adapt models to devices that meet the required accuracy and energy restrictions.
  • An uncomplicated partitioning of NN models via a calculation hierarchy can lead to excessive communication costs for the transmission of intermediate results between the calculation nodes.

Bestärkendes Lernen oder verstärkendes Lernen (englisch "reinforcement learning") steht für eine Reihe von Methoden des maschinellen Lernens, bei denen ein Agent selbständig eine Strategie erlernt, um erhaltene Belohnungen zu maximieren. Dabei wird dem Agenten nicht vorgezeigt, welche Aktion in welcher Situation die beste ist, sondern er erhält zu bestimmten Zeitpunkten eine Belohnung, die auch negativ sein kann. Anhand dieser Belohnungen approximiert er eine Nutzenfunktion, die beschreibt, welchen Wert ein bestimmter Zustand oder Aktion hat.Reinforcement learning stands for a series of machine learning methods in which an agent independently learns a strategy in order to maximize the rewards received. The agent is not shown which action is best in which situation, but instead receives a reward at certain times, which can also be negative. Using these rewards, he approximates a utility function that describes the value of a certain state or action.

Ein neuronales Netzwerk wird als Computersystem definiert, welches aus einer Anzahl einfacher, aber stark miteinander verbundener Elemente oder Knoten besteht, die als "Neuronen" bezeichnet werden und in Schichten organisiert sind, die Informationen unter Verwendung dynamischer Zustandsantworten auf externe Eingaben verarbeiten.A neural network is defined as a computer system which consists of a number of simple but highly interconnected elements or nodes called "neurons" organized in layers that process information using dynamic state responses to external inputs.

Ein künstliches Neuron j kann durch vier Basiselemente beschrieben werden:

  1. 1. Gewichtung: Gewichte wij bestimmen den Grad des Einflusses, den die Eingaben des Neurons in der Berechnung der späteren Aktivierung einnehmen. Abhängig von den Vorzeichen der Gewichte kann eine Eingabe hemmend (inhibitorisch) oder erregend (exzitatorisch) wirken. Ein Gewicht von 0 markiert eine nicht existente Verbindung zwischen zwei Knoten.
  2. 2. Übertragungsfunktion: eine Übertragungsfunktion ∑ berechnet anhand der Gewichtung der Eingaben die Netzeingabe des Neurons.
  3. 3. Aktivierungsfunktion: Die Ausgabe des Neurons wird schließlich durch die Aktivierungsfunktion ϕ bestimmt. Die Aktivierung wird beeinflusst durch die Netzeingabe aus der Übertragungsfunktion sowie einem Schwellenwert.
  4. 4. Schwellenwert: Das Addieren eines Schwellenwerts θ j zur Netzeingabe verschiebt die gewichteten Eingaben. Die Bezeichnung bestimmt sich aus der Verwendung einer Schwellenwertfunktion als Aktivierungsfunktion, bei der das Neuron aktiviert wird, wenn der Schwellenwert überschritten ist. Mathematisch gesehen wird die Trennebene, die den Merkmalsraum auftrennt, durch einen Schwellenwert mit einer Translation verschoben.
An artificial neuron j can be described by four basic elements:
  1. 1. Weighting: Weights w ij determine the degree of influence that the inputs of the neuron have in the calculation of the later activation. Depending on the sign of the weights, an input can have an inhibitory or exciting (excitatory) effect. A weight of 0 marks a nonexistent connection between two nodes.
  2. 2. Transfer function: a transfer function ∑ uses the weighting of the inputs to calculate the network input of the neuron.
  3. 3. Activation function: The output of the neuron is finally determined by the activation function ϕ . The activation is influenced by the network input from the transfer function and a threshold value.
  4. 4. Threshold: Adding a threshold θ j to the network input shifts the weighted inputs. The designation is determined from the use of a threshold value function as an activation function, in which the neuron is activated when the threshold value is exceeded. From a mathematical point of view, the parting plane that separates the feature space is shifted by a threshold value with a translation.

Durch einen Verbindungsgraphen werden folgende Elemente festgelegt:

  1. 1. Eingaben: Eingaben xi können einerseits aus dem beobachteten Prozess resultieren, dessen Werte dem Neuron übergeben werden, oder wiederum aus den Ausgaben anderer Neuronen stammen.
  2. 2. Aktivierung oder Ausgabe: Das Ergebnis der Aktivierungsfunktion wird analog zur Nervenzelle als Aktivierung o j des künstlichen Neurons j bezeichnet.
The following elements are defined by a connection graph:
  1. 1. Inputs: Inputs x i can on the one hand result from the observed process, the values of which are transferred to the neuron, or in turn come from the outputs of other neurons.
  2. 2. Activation or output: The result of the activation function is referred to as activation o j of artificial neuron j , analogous to the nerve cell.

Damit können auf effiziente Weise Muster gefunden werden, welche für eine manuelle Extraktion zu komplex sind und der Maschine erkannt werden können. Im Zusammenhang mit dieser Struktur werden Muster in das neuronale Netzwerk eingeführt, indem die Eingabeschicht ein Neuron für jede in den Eingabedaten vorhandene Komponente aufweist und an eine oder mehrere im Netzwerk vorhandene verborgene Schichten kommuniziert.In this way, patterns can be found in an efficient manner, which are too complex for manual extraction and can be recognized by the machine. In connection with this structure, patterns are introduced into the neural network in that the input layer has a neuron for each component present in the input data and communicates to one or more hidden layers present in the network.

Das tiefgehende Lernen (englisch "Deep Learning" bezeichnet eine Klasse von Optimierungsmethoden künstlicher neuronaler Netze, die zahlreiche Zwischenschichten (englisch "hidden layers") zwischen Eingabeschicht und Ausgabeschicht haben und dadurch eine umfangreiche innere Struktur aufweisen. In Erweiterungen der Lernalgorithmen für Netzstrukturen mit sehr wenigen oder keinen Zwischenlagen, wie beim einlagigen Perzeptron, ermöglichen die Methoden des Deep Learnings auch bei zahlreichen Zwischenlagen einen stabilen Lernerfolg.Deep learning refers to a class of optimization methods of artificial neural networks that have numerous intermediate layers ("hidden layers") between the input layer and the output layer and thus have an extensive internal structure or no intermediate layers, as with the single-layer perceptron, the deep learning methods enable stable learning success even with numerous intermediate layers.

Die Teilprogramme einzelner Schichten können auch als Instanzen bezeichnet werden. Die verwendeten Instanzen müssen sowohl auf der Sender- als auch auf der Empfängerseite einer Schicht nach festgelegten Regeln arbeiten, um die Verarbeitung von Daten zu ermöglichen. Die Festlegung dieser Regeln wird in einem Protokoll beschrieben und bildet eine logische, horizontale Verbindung zwischen zwei Instanzen derselben Schicht.The partial programs of individual layers can also be referred to as instances. The instances used must work according to defined rules on both the sending and receiving side of a layer in order to enable the processing of data. The definition of these rules is described in a protocol and forms a logical, horizontal connection between two instances of the same layer.

Jede Instanz stellt Dienste zur Verfügung, die eine direkt darüberliegende Instanz nutzen kann. Zur Erbringung der Dienstleistung bedient sich eine Instanz selbst der Dienste der unmittelbar darunterliegenden Instanz. Der reale Datenfluss erfolgt daher vertikal. Die Instanzen einer Schicht sind genau dann austauschbar, wenn sie sowohl beim Sender als auch beim Empfänger ausgetauscht werden können.Each instance provides services that can be used by an instance directly above it. To provide the service, an instance itself uses the services of the instance immediately below. The real data flow is therefore vertical. The instances of a layer are exchangeable if they can be exchanged at both the sender and the recipient.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass die erste und die dritte Menge an Schichten zusammen die Schichten des mehrschichtigen neuronalen Netzwerks bilden. Somit sind zwei Mengen an Schichten umfasst, was eine einfache und dennoch dynamisch konfigurierbare Architektur unterstützt.In a preferred development of the invention, it is provided that the first and the third set of layers together form the layers of the multilayer neural network. Thus, two sets of layers are included, which supports a simple yet dynamically configurable architecture.

Die erfindungsgemäße Aufgabe wird auch durch ein Verfahren zur Steuerung eines technischen Geräts mittels einem Programmcode gelöst, welcher Programmcode durch ein System ausgeführt wird,
und das System ein mehrschichtiges neuronales Netzwerk mit Schichten sowie eine Cloud-Ausführungsvorrichtung, eine Edge-Ausführungsvorrichtung und eine Device-Ausführungsvorrichtung aufweist und der Programmcode von einem ersten Programmteil, einem zweiten Programmteil und einem dritten Programmteil gebildet ist,
und der erste Programmteil eine erste Menge an Schichten des neuronalen Netzwerks bildet und von der Cloud-Ausführungsvorrichtung ausgeführt wird und die Edge-Ausführungsvorrichtung ansteuert,
und der zweite Programmteil eine zweite Menge an Schichten des neuronalen Netzwerks bildet und von der Edge- Ausführungsvorrichtung ausgeführt wird und die Device-Ausführungsvorrichtung ansteuert,
und der dritte Programmteil eine dritte Menge an Schichten des neuronalen Netzwerks bildet und von der Device-Ausführungsvorrichtung ausgeführt wird und das technische Gerät ansteuert,
und ein Konfigurations-Verfahren ausgeführt wird, welches die erste, die zweite und die dritte Menge an Schichten bestimmt, daraus den ersten, zweiten und dritten Programmteil bestimmt und in die zugehörige Ausführungsvorrichtung, lädt, und das System den Programmcode ausführt und das technische Gerät ansteuert,
wobei das Konfigurations-Verfahren von zumindest einer Eigenschaft des Programmcodes oder zumindest einer Eigenschaft des technischen Geräts bestimmt ist.
The object according to the invention is also achieved by a method for controlling a technical device by means of a program code, which program code is executed by a system,
and the system has a multilayer neural network with layers and a cloud execution device, an edge execution device and a device execution device and the program code is formed by a first program part, a second program part and a third program part,
and the first program part forms a first set of layers of the neural network and is executed by the cloud execution device and controls the edge execution device,
and the second program part forms a second set of layers of the neural network and is executed by the edge execution device and controls the device execution device,
and the third program part forms a third set of layers of the neural network and is executed by the device execution device and controls the technical device,
and a configuration method is carried out which determines the first, second and third set of layers, determines the first, second and third program parts therefrom and loads them into the associated execution device, and the system executes the program code and controls the technical device ,
wherein the configuration method is determined by at least one property of the program code or at least one property of the technical device.

In dieser Verfahrens-Variante der Erfindung ist zusätzlich ein Edge-Abschnitt zwischen der Cloud und dem Endgerät vorgesehen, was für eine höhere Flexibilität genutzt werden kann.In this method variant of the invention, an edge section is also provided between the cloud and the terminal, which can be used for greater flexibility.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass die erste, die zweite und die dritte Menge an Schichten zusammen die Schichten der mehrschichtigen neuronalen Netzwerks bilden. Somit sind drei Mengen an Schichten umfasst, was eine besonders effiziente und dennoch flexibel konfigurierbare Architektur unterstützt.In a preferred development of the invention it is provided that the first, the second and the third set of layers together form the layers of the multi-layer neural network. Thus, three sets of layers are included, which supports a particularly efficient yet flexibly configurable architecture.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass die Eigenschaften des Programmcodes die Eigenschaften des technischen Geräts oder die Eigenschaften des Programmcodes die Eigenschaften bei der Ansteuerung des technischen Geräts betreffen, vorzugsweise Quality-of-Service, Latenzzeit, Bandbreite für eine Datenübertragung. Dadurch kann auf einfache Weise ein effizientes und flexibles Verfahren zur Steuerung des technischen Geräts geschaffen werden. In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass das Konfigurations-Verfahren auf dem Prinzip des maschinellen Lernens beruht, vorzugsweise auf der Anwendung des Prinzips des "Reinforcement Learnings" auf DDNN. Dadurch wird eine besonders effiziente Bestimmung der Konfiguration erreicht.In a preferred development of the invention, it is provided that the properties of the program code relate to the properties of the technical device or the properties of the program code relate to the properties when the technical device is activated, preferably quality of service, latency, bandwidth for data transmission. In this way, an efficient and flexible method for controlling the technical device can be created in a simple manner. In a preferred development of the invention it is provided that the configuration method is based on the principle of machine learning, preferably on the application of the principle of "reinforcement learning" to DDNN. A particularly efficient determination of the configuration is thereby achieved.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass das Konfigurations-Verfahren fortlaufend ausgeführt wird und die erste, die zweite und die dritte Menge an Schichten und den jeweiligen Programmteil entsprechend neu bestimmt.In a preferred development of the invention, it is provided that the configuration method is carried out continuously and the first, second and third set of layers and the respective program part are redefined accordingly.

Dadurch wird erreicht, dass das Verfahren dynamisch mit Änderungen des Systems in einer Cloud beziehungsweise einem Netzwerk anpassbar ist.This ensures that the method can be dynamically adapted with changes to the system in a cloud or a network.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass das Konfigurations-Verfahren erneut ausgeführt wird, wenn ein vorbestimmter Zeitpunkt erreicht ist oder ein vorbestimmtes Ereignis vorliegt. Dadurch kann beispielsweise eine zeitliche Vorgabe an ein QoS unterstützt werden. Dies kann Zeitplan-gesteuert oder auch Anlass-gesteuert erfolgen.In a preferred development of the invention, it is provided that the configuration method is carried out again when a predetermined point in time is reached or a predetermined event is present. In this way, for example, a time specification for a QoS can be supported. This can be schedule-controlled or event-controlled.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass der Programmcode mehr als 10 Schichten, bevorzugt mehr als 20 Schichten, besonders bevorzugt mehr als 50 Schichten, mehr als 100 Schichten, und insbesondere mehr als 150 Schichten aufweist.In a preferred development of the invention it is provided that the program code has more than 10 layers, preferably more than 20 layers, particularly preferably more than 50 layers, more than 100 layers, and in particular more than 150 layers.

Es können in komplexen Software-Systemen, insbesondere für Steuer- und Messaufgaben mittels verteilter IoT-Geräte, mehr als 10 Schichten, mehr als 20 Schichten, mehr als 50 Schichten, mehr als 100 Schichten, mehr als 150 Schichten oder noch mehr Schichten vorgesehen sein.In complex software systems, in particular for control and measurement tasks using distributed IoT devices, more than 10 layers, more than 20 layers, more than 50 layers, more than 100 layers, more than 150 layers or even more layers can be provided .

Beispiele dafür sind VGGNet mit 19 Schichten, GoogLeNet mit 22 Schichten oder ResNet mit 152 Schichten.Examples are VGGNet with 19 layers, GoogLeNet with 22 layers or ResNet with 152 layers.

Die erfindungsgemäße Aufgabe wird auch durch ein System zur Steuerung eines technischen Geräts mittels einem Programmcode gelöst, wobei das System ein mehrschichtiges neuronales Netzwerk mit Schichten, sowie eine Cloud-Ausführungsvorrichtung und eine Device-Ausführungsvorrichtung aufweist,
und der Programmcode von einem ersten Programmteil und einem dritten Programmteil gebildet ist,
und der erste Programmteil eine erste Menge an Schichten des neuronalen Netzwerks bildet und die Cloud-Ausführungsvorrichtung dazu eingerichtet ist, den ersten Programmteil auszuführen die Device-Ausführungsvorrichtung anzusteuern,
und der dritte Programmteil eine dritte Menge an Schichten des neuronalen Netzwerks bildet und die Device-Ausführungsvorrichtung dazu eingerichtet ist, den dritten Programmteil auszuführen und das technische Gerät anzusteuern,
und eine Konfigurations-Vorrichtung dazu eingerichtet ist, ein Konfigurations-Verfahren auszuführen, welches die erste und die dritte Menge an Schichten bestimmt, daraus den ersten und dritten Programmteil bestimmt und in die zugehörige Ausführungsvorrichtung lädt, und das System dazu eingerichtet ist, den Programmcode auszuführen und das technische Gerät anzusteuern,
wobei das Konfigurations-Verfahren von zumindest einer Eigenschaft des Programmcodes oder zumindest einer Eigenschaft des technischen Geräts bestimmt ist.
The object according to the invention is also achieved by a system for controlling a technical device by means of a program code, the system being a multi-layer neural network with layers, as well as a cloud execution device and a device execution device,
and the program code is formed by a first program part and a third program part,
and the first program part forms a first set of layers of the neural network and the cloud execution device is set up to execute the first program part to control the device execution device,
and the third program part forms a third set of layers of the neural network and the device execution device is set up to execute the third program part and to control the technical device,
and a configuration device is set up to execute a configuration method which determines the first and the third set of layers, determines the first and third program part therefrom and loads it into the associated execution device, and the system is set up to execute the program code and to control the technical device,
wherein the configuration method is determined by at least one property of the program code or at least one property of the technical device.

Die erfindungsgemäße Aufgabe wird auch durch ein System zur Steuerung eines technischen Geräts mittels einem Programmcode gelöst, wobei das System ein mehrschichtiges neuronales Netzwerk mit Schichten, sowie eine Cloud-Ausführungsvorrichtung, eine Edge-Ausführungsvorrichtung und eine Device-Ausführungsvorrichtung aufweist,
und der Programmcode von einem ersten Programmteil, einem zweiten Programmteil und einem dritten Programmteil gebildet ist,
und der erste Programmteil eine erste Menge an Schichten des neuronalen Netzwerks bildet und eine Cloud dazu eingerichtet ist, die Cloud-Ausführungsvorrichtung auszuführen und die Edge-Ausführungsvorrichtung anzusteuern,
und der zweite Programmteil eine zweite Menge an Schichten des neuronalen Netzwerks bildet und eine Edge-Ausführungsvorrichtung dazu eingerichtet ist, den zweiten Programmteil auszuführen und die Device-Ausführungsvorrichtung anzusteuern,
und der dritte Programmteil eine dritte Menge an Schichten des neuronalen Netzwerks bildet und die Device-Ausführungsvorrichtung dazu eingerichtet ist, den dritten Programmteil auszuführen und das technische Gerät anzusteuern,
und eine Konfigurations-Vorrichtung dazu eingerichtet ist, ein Konfigurations-Verfahren auszuführen, welches die erste, die zweite und die dritte Menge an Schichten bestimmt, daraus den ersten, zweiten und dritten Programmteil bestimmt und in die zugehörige Ausführungsvorrichtung lädt, und das System dazu eingerichtet ist, den Programmcode auszuführen und das technische Gerät anzusteuern,
wobei das Konfigurations-Verfahren von zumindest einer Eigenschaft des Programmcodes oder zumindest einer Eigenschaft des technischen Geräts bestimmt ist.
The object according to the invention is also achieved by a system for controlling a technical device by means of a program code, the system having a multilayer neural network with layers as well as a cloud execution device, an edge execution device and a device execution device,
and the program code is formed by a first program part, a second program part and a third program part,
and the first program part forms a first set of layers of the neural network and sets up a cloud for this purpose is to execute the cloud execution device and control the edge execution device,
and the second program part forms a second set of layers of the neural network and an edge execution device is set up to execute the second program part and control the device execution device,
and the third program part forms a third set of layers of the neural network and the device execution device is set up to execute the third program part and to control the technical device,
and a configuration device is set up to execute a configuration method which determines the first, the second and the third set of layers, determines the first, second and third program part therefrom and loads it into the associated execution device, and the system is set up to do this is to execute the program code and control the technical device,
wherein the configuration method is determined by at least one property of the program code or at least one property of the technical device.

In dieser System-Variante der Erfindung ist zusätzlich ein Edge-Abschnitt zwischen der Cloud und dem Endgerät vorgesehen, was für eine höhere Flexibilität genutzt werden kann.In this system variant of the invention, an edge section is also provided between the cloud and the terminal, which can be used for greater flexibility.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass die Edge-Ausführungsvorrichtung in Form eines Cloud-Service vorgesehen ist. Dadurch kann eine flexible, aber auch leistungsfähige Realisierung der Edge-Ausführungsvorrichtung erreicht werden.In a preferred development of the invention, it is provided that the edge execution device is provided in the form of a cloud service. As a result, a flexible but also powerful implementation of the edge execution device can be achieved.

In einer bevorzugten Weiterbildung der Erfindung ist es vorgesehen, dass die Cloud-Ausführungsvorrichtung und/oder die Konfigurations-Vorrichtung in Form eines Cloud-Service vorgesehen ist. Dadurch kann eine flexible, aber auch leistungsfähige Realisierung der Cloud-Ausführungsvorrichtung bzw. der Konfigurations-Vorrichtung erreicht werden.In a preferred development of the invention it is provided that the cloud execution device and / or the configuration device is provided in the form of a cloud service. This allows a flexible, but also powerful Realization of the cloud execution device or the configuration device can be achieved.

Die Erfindung wird nachfolgend anhand eines in den beigeschlossenen Zeichnungen dargestellten Ausführungsbeispiels näher erläutert. In den Zeichnungen zeigt:

Fig. 1
eine allgemeine Darstellung eines Cloud-basierten DNN,
Fig. 2
eine allgemeine Darstellung eines DDNN über eine Cloud und ein Device,
Fig. 3
eine allgemeine Darstellung eines DDNN über eine Cloud und geographisch verteile Devices,
Fig. 4
eine allgemeine Darstellung eines DDNN über eine Cloud, eine Edge und ein Device,
Fig. 5
eine allgemeine Darstellung eines DDNN über eine Cloud, eine Edge und geographisch verteile Devices,
Fig. 6
eine allgemeine Darstellung eines DDNN über eine Cloud, geographisch verteile Edges und Devices,
Fig. 7
eine Darstellung einer Anwendung von "Reinforcement Learning" auf DDNN,
Fig. 8
ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens,
Fig. 9
eine Darstellung eines ersten Ausführungsbeispiels für einen Programmcode,
Fig. 10
eine Darstellung eines zweiten Ausführungsbeispiels für einen Programmcode.
The invention is explained in more detail below with reference to an exemplary embodiment shown in the accompanying drawings. In the drawings shows:
Fig. 1
a general representation of a cloud-based DNN,
Fig. 2
a general representation of a DDNN via a cloud and a device,
Fig. 3
a general representation of a DDNN via a cloud and geographically distributed devices,
Fig. 4
a general representation of a DDNN via a cloud, an edge and a device,
Fig. 5
a general representation of a DDNN via a cloud, an edge and geographically distributed devices,
Fig. 6
a general representation of a DDNN via a cloud, geographically distributed edges and devices,
Fig. 7
a representation of an application of "reinforcement learning" on DDNN,
Fig. 8
an embodiment of the method according to the invention,
Fig. 9
a representation of a first embodiment of a program code,
Fig. 10
a representation of a second embodiment for a program code.

Es ist klar, dass weitere nicht gezeigte Verfahrensschritte beziehungsweise Komponenten für den Betrieb des Systems erforderlich sind, wie beispielsweise Mittel zur Kommunikation, IO, Speicherung oder Verarbeitung. Zum besseren Verständnis werden diese Teile nicht dargestellt und beschrieben.It is clear that further method steps or components, not shown, are required for the operation of the system, such as means for communication, IO, storage or processing. For a better understanding these parts are not shown and described.

Das Verfahren gemäß der Erfindung kann als ein Computerprogramm auf einer Computerplattform oder einem Computersystem ausgeführt werden, wobei das System eine lokale oder verteilte Systemarchitektur aufweisen kann.The method according to the invention can be used as a computer program on a computer platform or a computer system and the system may have a local or distributed system architecture.

Darüber hinaus ist es klar, dass mehr als ein IoT-Gerät, das heißt mehrere IoT-Geräte, durch das Verfahren beziehungsweise das System gemäß der Erfindung gesteuert werden können.In addition, it is clear that more than one IoT device, that is to say several IoT devices, can be controlled by the method or the system according to the invention.

Im Weiteren wird mit einem Device beispielsweise ein IoT-Device/ IoT-Gerät oder allgemein ein technisches Gerät bezeichnet.In the following, a device is, for example, an IoT device / IoT device or a technical device in general.

Fig. 1 zeigt eine allgemeine Darstellung eines Cloud-basierten DNN mit einer Cloud 100. Die Cloud 100 ist über einen Cloud-Ausgang 101 zugänglich, an dem Proben der Cloud klassifiziert werden können. Fig. 1 shows a general illustration of a cloud-based DNN with a cloud 100. The cloud 100 is accessible via a cloud output 101, at which samples from the cloud can be classified.

Fig. 2 zeigt eine allgemeine Darstellung eines DDNN über eine Cloud 200 und ein Device 250. Fig. 2 shows a general representation of a DDNN via a cloud 200 and a device 250.

Die Cloud 200 ist über einen Cloud-Ausgang 201 zugänglich, an dem Proben der Cloud klassifiziert werden können.The cloud 200 is accessible via a cloud output 201, at which samples from the cloud can be classified.

Das Verfahren weist einen lokalen Ausgang 203 auf, an dem Proben vor der Cloud klassifiziert werden können.The method has a local output 203 at which samples can be classified in front of the cloud.

Fig. 3 zeigt eine allgemeine Darstellung eines DDNN über eine Cloud 300 und geographisch verteile Devices 350. Fig. 3 shows a general representation of a DDNN via a cloud 300 and geographically distributed devices 350.

Die Cloud 300 ist über einen Cloud-Ausgang 301 zugänglich, an dem Proben der Cloud klassifiziert werden können.The cloud 300 is accessible via a cloud output 301, at which samples from the cloud can be classified.

Das Verfahren weist einen lokalen Ausgang 303 auf, an dem Proben vor der Cloud klassifiziert werden können.The method has a local output 303 at which samples can be classified in front of the cloud.

Fig. 4 zeigt eine allgemeine Darstellung eines DDNN über eine Cloud 400, eine Edge 420 und ein Device 450. Fig. 4 shows a general representation of a DDNN via a cloud 400, an edge 420 and a device 450.

Die Cloud 400 ist über einen Cloud-Ausgang 401 zugänglich, an dem Proben der Cloud klassifiziert werden können.The cloud 400 is accessible via a cloud output 401, at which samples from the cloud can be classified.

Ferner weist das Verfahren einen Edge-Ausgang 402 auf, an dem Proben vor der Cloud klassifiziert werden können.The method also has an edge output 402, at which samples can be classified before the cloud.

Das Verfahren weist einen lokalen Ausgang 403 auf, an dem Proben vor der Edge klassifiziert werden können.The method has a local output 403 at which samples can be classified before the edge.

Fig. 5 zeigt eine allgemeine Darstellung eines DDNN über eine Cloud 500, eine Edge 520 und geographisch verteile Devices 550. Fig. 5 shows a general representation of a DDNN via a cloud 500, an edge 520 and geographically distributed devices 550.

Die Cloud 500 ist über einen Cloud-Ausgang 501 zugänglich, an dem Proben der Cloud klassifiziert werden können.The cloud 500 is accessible via a cloud output 501, at which samples from the cloud can be classified.

Ferner weist das Verfahren einen Edge-Ausgang 502 auf, an dem Proben vor der Cloud klassifiziert werden können.The method also has an edge output 502 at which samples can be classified before the cloud.

Das Verfahren weist einen lokalen Ausgang 503 auf, an dem Proben vor der Edge klassifiziert werden können.The method has a local output 503 at which samples can be classified before the edge.

Fig. 6 zeigt eine allgemeine Darstellung eines DDNN über eine Cloud 600, geographisch verteile Edges 620 und Devices 650. Fig. 6 FIG. 11 shows a general representation of a DDNN via a cloud 600, geographically distributed edges 620 and devices 650.

Die Cloud 600 ist über einen Cloud-Ausgang 601 zugänglich, an dem Proben der Cloud klassifiziert werden können.The cloud 600 is accessible via a cloud output 601, at which samples from the cloud can be classified.

Ferner weist das Verfahren einen Edge-Ausgang 602 auf, an dem Proben vor der Cloud klassifiziert werden können.The method also has an edge output 602 at which samples can be classified before the cloud.

Das Verfahren weist einen lokalen Ausgang 603 auf, an dem Proben vor der Edge klassifiziert werden können.The method has a local output 603 at which samples can be classified before the edge.

Fig. 1 bis Fig. 6 sind aus dem Stand der Technik bekannt. FIGS. 1 to 6 are known from the prior art.

Fig. 7 stellt einer Anwendung von "Reinforcement Learning" auf DDNN dar. Fig. 7 represents an application of "reinforcement learning" on DDNN.

Ein Dienst 10 erfasst Sensorwerte 1 mittels eines oder mehrerer Sensoren 11, welche in einer Umgebung 20 angeordnet sind und bestimmt den aktuellen Status 12.A service 10 records sensor values 1 by means of one or more sensors 11 which are arranged in an environment 20 and determines the current status 12.

Aus situationsabhängigen Bedingungen 14 werden aus dem Status 12 eine oder mehrere Aktionen 13 abgeleitet, welche einen oder mehrere Aktuatoren 15 betätigen 2.From the situation-dependent conditions 14, one or more actions 13 are derived from the status 12 which actuate one or more actuators 15 2.

Der Dienst 10, der das Verhalten zwischen der Sensor-Datenerfassung 1 und der Aktuator-Betätigung 2 beschreibt, kann durch das erfindungsgemäße Verfahren beziehungsweise durch das erfindungsgemäße System implementiert werden und ein erfindungsgemäß ein verbesserter QoS erreicht werden.The service 10, which describes the behavior between the sensor data acquisition 1 and the actuator actuation 2, can be implemented by the method according to the invention or by the system according to the invention and an improved QoS according to the invention can be achieved.

Fig. 8 zeigt die Systemarchitektur gemäß Fig. 6, auf welche das erfindungsgemäße Verfahren angewendet ist. Fig. 8 shows the system architecture according to Fig. 6 to which the method according to the invention is applied.

Das Verfahren dient zur Steuerung eines technischen Geräts 650 mittels einem Programmcode 800 gemäß der Fig. 9 und einem Programmcode 900 gemäß der Fig. 10, welcher durch ein System ausgeführt wird.The method is used to control a technical device 650 by means of a program code 800 according to FIG Fig. 9 and a program code 900 according to FIG Fig. 10 which is carried out by a system.

Das System weist ein mehrschichtiges neuronales Netzwerk mit Schichten 801-813, 901-914, sowie eine Cloud-Ausführungsvorrichtung 605, Edge-Ausführungsvorrichtungen 625, 626 und Device-Ausführungsvorrichtungen 655, 656 auf.The system has a multilayered neural network with layers 801-813, 901-914, as well as a cloud execution device 605, edge execution devices 625, 626 and device execution devices 655, 656.

Der Programmcode 800, 900 ist von einem ersten Programmteil 851, 951, einem zweiten Programmteil 852, 952 und einem dritten Programmteil 853, 953 gebildet.The program code 800, 900 is formed by a first program part 851, 951, a second program part 852, 952 and a third program part 853, 953.

Der erste Programmteil 851, 951 bildet eine erste Menge an Schichten 821, 921 des neuronalen Netzwerks und wird von der Cloud-Ausführungsvorrichtung 605 ausgeführt und steuert die Edge-Ausführungsvorrichtung 625, 626 an.The first program part 851, 951 forms a first set of layers 821, 921 of the neural network and is executed by the cloud execution device 605 and controls the edge execution device 625, 626.

Der zweite Programmteil 852, 952 bildet eine zweite Menge an Schichten 822, 922 des neuronalen Netzwerks und wird von der Edge-Ausführungsvorrichtung 625, 626 ausgeführt und steuert die Device-Ausführungsvorrichtung 655, 656 an.The second program part 852, 952 forms a second set of layers 822, 922 of the neural network and is executed by the edge execution device 625, 626 and controls the device execution device 655, 656.

Der dritte Programmteil 853, 953 bildet eine dritte Menge an Schichten 823, 923 des neuronalen Netzwerks und wird von der Device-Ausführungsvorrichtung 655, 656 ausgeführt und steuert das technische Gerät 650 an.The third program part 853, 953 forms a third set of layers 823, 923 of the neural network and is executed by the device execution device 655, 656 and controls the technical device 650.

Die Programmcodes 800, 900 sind für verschiedene Device-Ausführungsvorrichtung 655, 656 des technischen Geräts 650 vorgesehen. Somit zwei verschiedene, geographisch verteilte Geräte gemeint.The program codes 800, 900 are provided for various device execution devices 655, 656 of the technical device 650. This means two different, geographically distributed devices.

Der Programmcode 800 ist zur Ansteuerung eines ersten Geräts mittel der Edge-Ausführungsvorrichtung 625 und der Device-Ausführungsvorrichtung 655 vorgesehen.The program code 800 is provided for controlling a first device by means of the edge execution device 625 and the device execution device 655.

Der Programmcode 900 ist zur Ansteuerung eines weiteren Geräts mittel der Edge-Ausführungsvorrichtung 626 und der Device-Ausführungsvorrichtung 656 vorgesehen.The program code 900 is provided for controlling a further device by means of the edge execution device 626 and the device execution device 656.

Ein Konfigurations-Verfahren 700 wird ausgeführt und bestimmt die erste, die zweite und die dritte Menge an Schichten 821-823, 921-923.A configuration method 700 is performed and determines the first, second, and third sets of layers 821-823, 921-923.

Ferner bestimmt das Konfigurations-Verfahren 700 im Schritt 710 für die Cloud-Ausführungsvorrichtung 605 aus der ersten Menge an Schichten 821, 921 den ersten Programmteil 851, 951 und in die zugehörige Ausführungsvorrichtung 605 lädt.Furthermore, in step 710, the configuration method 700 determines the first program part 851, 951 for the cloud execution device 605 from the first set of layers 821, 921 and loads it into the associated execution device 605.

Ferner bestimmt das Konfigurations-Verfahren 700 im Schritt 720 für die Edge-Ausführungsvorrichtung 625 aus der zweiten Menge an Schichten 822, 922 den zweiten Programmteil 852, 952 und in die zugehörige Ausführungsvorrichtung 625 lädt.Furthermore, in step 720, the configuration method 700 determines the second program part 852, 952 for the edge execution device 625 from the second set of layers 822, 922 and loads it into the associated execution device 625.

Ferner bestimmt das Konfigurations-Verfahren 700 im Schritt 730 für die Device-Ausführungsvorrichtung 655 aus der dritten Menge an Schichten 823, 923 den dritten Programmteil 853, 953 und in die zugehörige Ausführungsvorrichtung 655 lädt.Furthermore, in step 730 the configuration method 700 determines the third program part 853, 953 for the device execution device 655 from the third set of layers 823, 923 and loads it into the associated execution device 655.

Das System führt den Programmcode 800, 900 aus und steuert das technische Gerät 650 an.The system executes the program code 800, 900 and controls the technical device 650.

Das Konfigurations-Verfahren 700 ist dabei von zumindest einer Eigenschaft des Programmcodes 800, 900 oder zumindest einer Eigenschaft des technischen Geräts 650 bestimmt.The configuration method 700 is determined by at least one property of the program code 800, 900 or at least one property of the technical device 650.

Die erste, die zweite und die dritte Menge an Schichten 821-823, 921-923 bilden zusammen die Schichten 801-813, 901-914 des mehrschichtigen neuronalen Netzwerks.The first, second and third sets of layers 821-823, 921-923 together form layers 801-813, 901-914 of the multilayer neural network.

Die Eigenschaften des Programmcodes 800, 900 und/oder die Eigenschaften des technischen Geräts betreffen die Eigenschaften bei der Ansteuerung des technischen Geräts 650, beispielsweise ein Quality-of-Service, eine Latenzzeit oder eine Bandbreite für eine Datenübertragung.The properties of the program code 800, 900 and / or the properties of the technical device relate to the properties when the technical device 650 is activated, for example a quality of service, a latency or a bandwidth for data transmission.

Das Konfigurations-Verfahren 700 beruht auf dem Prinzip des maschinellen Lernens, wobei auch das Prinzip des "Reinforcement Learning" auf DDNN angewandt wird, um eine besonders effiziente Konfiguration zu erhalten.The configuration method 700 is based on the principle of machine learning, the principle of “reinforcement learning” also being applied to DDNN in order to obtain a particularly efficient configuration.

Das Konfigurations-Verfahren 700 wird fortlaufend ausgeführt und die Konfiguration der Schichten dynamisch an Systemparameter wie der aktuelle Datenverkehr im Netz, Anforderungen an Kommunikation, Latenzzeiten, Datenschutz von Nutzer- oder Sensordaten, sowie Systemgenauigkeit angepasst.The configuration method 700 is carried out continuously and the configuration of the layers is dynamically adapted to system parameters such as the current data traffic in the network, requirements for communication, latency times, data protection of user or sensor data, and system accuracy.

Das Konfigurations-Verfahren 700 kann auch erneut ausgeführt werden, wenn ein vorbestimmter Zeitpunkt erreicht ist oder ein vorbestimmtes Ereignis, wie in Form eines Interrupts, vorliegt.The configuration method 700 can also be carried out again when a predetermined point in time is reached or a predetermined event, such as in the form of an interrupt, is present.

Das Konfigurations-Verfahren kann sowohl die Menge an Schichten wie auch den Programmcode derart anpassen, dass die Gesamtanzahl an Schichten modifiziert wird, um den Programmcode insgesamt effizienter zu machen. Mit anderen Worten kann der jeweils aktuelle Programmcode eine Teilmenge des ursprünglichen Programmcodes sein und somit weniger Schichten aufweisen, als ursprünglich, falls ein Gerät verwendet wird, welches nicht alle Funktionen des ursprünglichen Programmcodes unterstützt oder vorübergehend deaktiviert werden. Dieser Aspekt ist in den Figuren nicht dargestellt.The configuration method can adapt both the amount of layers and the program code in such a way that the total number of layers is modified in order to make the program code more efficient overall. In other words, the current program code can be a subset of the original program code and thus have fewer layers than originally if a device is used that does not support all functions of the original program code or is temporarily deactivated. This aspect is not shown in the figures.

Die erste, die zweite und die dritte Menge an Schichten 821-823, 921-923, sowie der jeweiligen Programmteil 851-853, 951-953 werden entsprechend fortlaufend neu bestimmt.The first, the second and the third set of layers 821-823, 921-923, as well as the respective program part 851-853, 951-953 are correspondingly continuously redefined.

Der Programmcode 800, 900 weist in der Figur mehr als zehn Schichten 801-813, 901-914 auf, kann aber durchaus auch mehr Schichten umfassen.The program code 800, 900 in the figure has more than ten layers 801-813, 901-914, but can also include more layers.

In manchen Anwendungen sind mehr als 150 Schichten des neuronalen Netzwerks vorgesehen.In some applications there are more than 150 layers of the neural network.

Proben der Cloud 600 können über den Cloud-Ausgang 601 klassifiziert und für die Konfiguration herangezogen werden.Samples from the cloud 600 can be classified via the cloud output 601 and used for configuration.

Proben des Geräts 650 können über den lokalen Ausgang 602 klassifiziert und für die Konfiguration herangezogen werden.Samples of the device 650 can be classified via the local output 602 and used for the configuration.

Ferner können Proben der Edge 620 über den Edge-Ausgang 603 klassifiziert werden und für die Konfiguration herangezogen werden.Furthermore, samples of the Edge 620 can be classified via the Edge output 603 and used for the configuration.

Ein erfindungsgemäßes System implementiert das erfindungsgemäße Verfahren beispielsweise gemäß der Systemarchitektur der Fig. 8.A system according to the invention implements the method according to the invention, for example according to the system architecture of FIG Fig. 8 .

Unter dem Gerät 650 kann ein oder mehrere unabhängige IoT-Devices verstanden werden. Zur besseren Übersicht ist nur ein Gerät 650 eingezeichnet.Device 650 can be understood to mean one or more independent IoT devices. For a better overview, only one device 650 is shown.

Die Edge 620 weist in diesem Beispiel zwei Edge-Ausführungsvorrichtungen 625, 626 auf, welche mittels zweier Programmcodes 800, 900 angesteuert werden.In this example, the edge 620 has two edge execution devices 625, 626, which are controlled by means of two program codes 800, 900.

Das Gerät 650 weist in diesem Beispiel vier Device-Ausführungsvorrichtungen auf, wobei zwei Device-Ausführungsvorrichtungen 655, 656, welche mittels der zwei Programmcodes 800, 900 angesteuert werden.In this example, the device 650 has four device execution devices, two device execution devices 655, 656 which are controlled by means of the two program codes 800, 900.

Dadurch soll beispielhaft gezeigt werden, dass unterschiedliche Geräte von einem Verfahren in derselben Cloud 600 aus angesteuert werden können. Es ist klar, dass auch gleichartige Geräte 650 verwendet werden können, wodurch die Pfade der Programmcodes eine gleiche Länge aufweisen, wie in Fig. 6 dargestellt.This is intended to show by way of example that different devices can be controlled by one method in the same cloud 600. It is clear that devices 650 of the same type can also be used, as a result of which the paths of the program codes have the same length as in FIG Fig. 6 shown.

Es können die Software-Systemarchitekturen gemäß der Fig. 2 bis 5 als Basis der Erfindung verwendet werden.The software system architectures according to the Figs. 2 to 5 can be used as the basis of the invention.

Beispielsweise kann eine dynamische Konfiguration zwischen der Cloud 300 und dem verteilten Gerät 350 gemäß der Fig. 3 erfindungsgemäß verwendet werden, das heißt ohne die Verwendung einer Edge.For example, a dynamic configuration between the cloud 300 and the distributed device 350 according to FIG Fig. 3 can be used according to the invention, that is to say without the use of an edge.

Fig. 9 zeigt eine Darstellung eines ersten Ausführungsbeispiels für einen Programmcode 800. Fig. 9 shows an illustration of a first exemplary embodiment for a program code 800.

Der erste Programmteil 851 bildet die erste Menge an Schichten 821 des neuronalen Netzwerks mit sechs Schichten 801-806.The first program part 851 forms the first set of layers 821 of the neural network with six layers 801-806.

Der zweite Programmteil 852 bildet die zweite Menge an Schichten 822 des neuronalen Netzwerks mit vier Schichten 807-810.The second program part 852 forms the second set of layers 822 of the neural network with four layers 807-810.

Der dritte Programmteil 853 bildet die dritte Menge an Schichten 823 des neuronalen Netzwerks mit drei Schichten 811-813.The third program part 853 forms the third set of layers 823 of the neural network with three layers 811-813.

Der Programmcode 800 ist dazu vorgesehen, ein Gerät 650, d.h. eine Device-Ausführungsvorrichtung 655 anzusteuern, welches über die Edge 620, d.h. der Edge-Ausführungsvorrichtung 625, mit der Cloud 600, d.h. der Cloud-Ausführungsvorrichtung 605, verbunden ist.The program code 800 is provided to a device 650, i. to control a device execution device 655, which via the Edge 620, i. the edge execution device 625, with the cloud 600, i. the cloud execution device 605.

Fig. 10 zeigt eine Darstellung eines zweiten Ausführungsbeispiels für einen Programmcode 900. Fig. 10 shows an illustration of a second exemplary embodiment for a program code 900.

Der erste Programmteil 951 bildet die erste Menge an Schichten 921 des neuronalen Netzwerks mit sechs Schichten 901-906, welche den sechs Schichten 801-806 der Programmcodes 800 entsprechen.The first program part 951 forms the first set of layers 921 of the neural network with six layers 901-906, which correspond to the six layers 801-806 of the program codes 800.

Der zweite Programmteil 952 bildet die zweite Menge an Schichten 922 des neuronalen Netzwerks mit zwei Schichten 907-908.The second program part 952 forms the second set of layers 922 of the neural network with two layers 907-908.

Der dritte Programmteil 953 bildet die dritte Menge an Schichten 923 des neuronalen Netzwerks mit sechs Schichten 909-914.The third program part 953 forms the third set of layers 923 of the neural network with six layers 909-914.

Der Programmcode 900 ist dazu vorgesehen, ein Gerät 650, d.h. eine Device-Ausführungsvorrichtung 656 anzusteuern, welches über die Edge 620, d.h. der Edge-Ausführungsvorrichtung 626, mit der Cloud 600, d.h. der Cloud-Ausführungsvorrichtung 605, verbunden ist.The program code 900 is provided to control a device 650, ie a device execution device 656, which is connected to the cloud 600, ie the cloud execution device 605, via the edge 620, ie the edge execution device 626.

Bezugszeichenliste:List of reference symbols:

11
Erfassen von SensordatenAcquisition of sensor data
22
Betätigung von AktuatorenOperation of actuators
1010
Dienstservice
1111
Sensor(en)Sensor (s)
1212
Statusstatus
1313
AktionenActions
1414th
Bedingungenconditions
1515th
Aktuator(en)Actuator (s)
2020th
UmgebungSurroundings
100, 200, 300, 400, 500, 600100, 200, 300, 400, 500, 600
CloudCloud
101, 201, 301, 401, 501, 601101, 201, 301, 401, 501, 601
Cloud AusgangCloud output
402, 502, 602402, 502, 602
Edge AusgangEdge exit
203, 303, 403, 503, 603203, 303, 403, 503, 603
Lokaler AusgangLocal exit
250, 350, 450, 550, 650250, 350, 450, 550, 650
Geräteequipment
420, 520, 620420, 520, 620
EdgeEdge
605605
Cloud-AusführungsvorrichtungCloud execution device
625625
Edge-AusführungsvorrichtungEdge execution device
655655
Device-AusführungsvorrichtungDevice execution device
700700
Konfigurations-VerfahrenConfiguration procedure
710, 720, 730710, 720, 730
Konfiguration der einzelnen ProgrammteileConfiguration of the individual program parts
800, 900800, 900
ProgrammcodeProgram code
801-813, 901-914801-813, 901-914
Schichten des ProgrammcodeLayers of program code
821-823, 921-923821-823, 921-923
Menge an SchichtenAmount of layers
851-853, 951-953851-853, 951-953
ProgrammteilPart of the program

Claims (13)

Verfahren zur Steuerung eines technischen Geräts (650) mittels einem Programmcode (800, 900), welcher durch ein System ausgeführt wird, und das System ein mehrschichtiges neuronales Netzwerk mit Schichten (801-813, 901-914), sowie eine Cloud-Ausführungsvorrichtung (605) und eine Device-Ausführungsvorrichtung (655, 656) aufweist, und der Programmcode (800, 900) von einem ersten Programmteil (851, 951) und einem dritten Programmteil (853, 953) gebildet ist,
und der erste Programmteil (851, 951) eine erste Menge an Schichten (821, 921) des neuronalen Netzwerks bildet und von der Cloud-Ausführungsvorrichtung (605) ausgeführt wird und die Device-Ausführungsvorrichtung (655, 656) ansteuert,
und der dritte Programmteil (853, 953) eine dritte Menge an Schichten (823, 923) des neuronalen Netzwerks bildet und von der Device-Ausführungsvorrichtung (655, 656) ausgeführt wird und das technische Gerät (650) ansteuert,
und vom System ferner ein Konfigurations-Verfahren (700) ausgeführt wird, welches die erste und die dritte Menge an Schichten (821, 823, 921, 923) und den jeweiligen Programmteil (851, 853, 951, 953) entsprechend neu bestimmt, daraus den ersten und dritten Programmteil (851, 853, 951, 953) bestimmt und in die zugehörige Ausführungsvorrichtung (605, 655) lädt, und das System den Programmcode (800, 900) ausführt und das technische Gerät (650) ansteuert,
wobei das Konfigurations-Verfahren (700) von zumindest einer Eigenschaft des Programmcodes (800, 900) oder zumindest einer Eigenschaft des technischen Geräts (650) bestimmt ist.
Method for controlling a technical device (650) by means of a program code (800, 900) which is executed by a system, and the system is a multi-layer neural network with layers (801-813, 901-914), as well as a cloud execution device ( 605) and a device execution device (655, 656), and the program code (800, 900) is formed by a first program part (851, 951) and a third program part (853, 953),
and the first program part (851, 951) forms a first set of layers (821, 921) of the neural network and is executed by the cloud execution device (605) and controls the device execution device (655, 656),
and the third program part (853, 953) forms a third set of layers (823, 923) of the neural network and is executed by the device execution device (655, 656) and controls the technical device (650),
and the system furthermore executes a configuration method (700) which redefines the first and the third quantity of layers (821, 823, 921, 923) and the respective program part (851, 853, 951, 953) accordingly, therefrom the first and third program parts (851, 853, 951, 953) are determined and loaded into the associated execution device (605, 655), and the system executes the program code (800, 900) and controls the technical device (650),
wherein the configuration method (700) is determined by at least one property of the program code (800, 900) or at least one property of the technical device (650).
Verfahren nach dem vorhergehenden Anspruch, wobei die erste und die dritte Menge an Schichten (821, 823, 921, 923) zusammen die Schichten (801-806, 811-813, 901-906, 909-914) des mehrschichtigen neuronalen Netzwerks bilden.A method according to the preceding claim, wherein the first and third sets of layers (821, 823, 921, 923) together form the layers (801-806, 811-813, 901-906, 909-914) of the multilayer neural network. Verfahren zur Steuerung eines technischen Geräts (650) mittels einem Programmcode (800, 900), welcher durch ein System ausgeführt wird, und das System ein mehrschichtiges neuronales Netzwerk mit Schichten (801-813, 901-914), sowie eine Cloud-Ausführungsvorrichtung (605), eine Edge-Ausführungsvorrichtung (625, 626) und eine Device-Ausführungsvorrichtung (655, 656) aufweist und der Programmcode (800, 900) von einem ersten Programmteil (851, 951), einem zweiten Programmteil (852, 952) und einem dritten Programmteil (853, 953) gebildet ist,
und der erste Programmteil (851, 951) eine erste Menge an Schichten (821, 921) des neuronalen Netzwerks bildet und von der Cloud-Ausführungsvorrichtung (605) ausgeführt wird und die Edge-Ausführungsvorrichtung (625, 626) ansteuert,
und der zweite Programmteil (852, 952) eine zweite Menge an Schichten (822, 922) des neuronalen Netzwerks bildet und von der Edge- Ausführungsvorrichtung (625, 626) ausgeführt wird und die Device-Ausführungsvorrichtung (655, 656) ansteuert,
und der dritte Programmteil (853, 953) eine dritte Menge an Schichten (823, 923) des neuronalen Netzwerks bildet und von der Device-Ausführungsvorrichtung (655, 656) ausgeführt wird und das technische Gerät (650) ansteuert,
und ein Konfigurations-Verfahren (700) ausgeführt wird, welches die erste, die zweite und die dritte Menge an Schichten (821-823, 921-923) bestimmt, daraus den ersten, zweiten und dritten Programmteil (851-853, 951-953) bestimmt und in die zugehörige Ausführungsvorrichtung (605, 625, 655) lädt, und das System den Programmcode (800, 900) ausführt und das technische Gerät (650) ansteuert,
wobei das Konfigurations-Verfahren (700) von zumindest einer Eigenschaft des Programmcodes (800, 900) oder zumindest einer Eigenschaft des technischen Geräts (650) bestimmt ist.
Method for controlling a technical device (650) by means of a program code (800, 900) which is executed by a system, and the system is multilayered neural network with layers (801-813, 901-914), as well as a cloud execution device (605), an edge execution device (625, 626) and a device execution device (655, 656) and the program code (800, 900 ) is formed by a first program part (851, 951), a second program part (852, 952) and a third program part (853, 953),
and the first program part (851, 951) forms a first set of layers (821, 921) of the neural network and is executed by the cloud execution device (605) and controls the edge execution device (625, 626),
and the second program part (852, 952) forms a second set of layers (822, 922) of the neural network and is executed by the edge execution device (625, 626) and controls the device execution device (655, 656),
and the third program part (853, 953) forms a third set of layers (823, 923) of the neural network and is executed by the device execution device (655, 656) and controls the technical device (650),
and a configuration method (700) is carried out which determines the first, the second and the third quantity of layers (821-823, 921-923), from this the first, second and third program parts (851-853, 951-953) ) and loads it into the associated execution device (605, 625, 655), and the system executes the program code (800, 900) and controls the technical device (650),
wherein the configuration method (700) is determined by at least one property of the program code (800, 900) or at least one property of the technical device (650).
Verfahren nach dem vorhergehenden Anspruch, wobei die erste, die zweite und die dritte Menge an Schichten (821-823, 921-923) zusammen die Schichten (801-813, 901-914) des mehrschichtigen neuronalen Netzwerks bilden.A method as claimed in the preceding claim, wherein the first, second and third sets of layers (821-823, 921-923) together form the layers (801-813, 901-914) of the multilayer neural network. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Eigenschaften des Programmcodes (800, 900) die Eigenschaften des technischen Geräts oder die Eigenschaften des Programmcodes (800, 900) die Eigenschaften bei der Ansteuerung des technischen Geräts betreffen, vorzugsweise Quality-of-Service, Latenzzeit, Bandbreite für eine Datenübertragung.Method according to one of the preceding claims, wherein the properties of the program code (800, 900) the properties of the technical device or the properties of the program code (800, 900) relate to the properties when controlling the technical device, preferably quality of service, latency, bandwidth for data transmission. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Konfigurations-Verfahren (700) auf dem Prinzip des maschinellen Lernens beruht, vorzugsweise auf der Anwendung des Prinzips des "Reinforcement Learning" auf DDNN.Method according to one of the preceding claims, wherein the configuration method (700) is based on the principle of machine learning, preferably on the application of the principle of "reinforcement learning" to DDNN. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Konfigurations-Verfahren (700) fortlaufend ausgeführt wird und die erste, die zweite und die dritte Menge an Schichten (821-823, 921-923) und den jeweiligen Programmteil (851-853, 951-953) entsprechend neu bestimmt wird.Method according to one of the preceding claims, wherein the configuration method (700) is carried out continuously and the first, second and third set of layers (821-823, 921-923) and the respective program part (851-853, 951- 953) is redefined accordingly. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Konfigurations-Verfahren (700) erneut ausgeführt wird, wenn ein vorbestimmter Zeitpunkt erreicht ist oder ein vorbestimmtes Ereignis vorliegt.Method according to one of the preceding claims, wherein the configuration method (700) is carried out again when a predetermined point in time is reached or a predetermined event is present. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Programmcode (800, 900) mehr als 10 Schichten (801-813, 901-914), bevorzugt mehr als 20 Schichten, besonders bevorzugt mehr als 50 Schichten, mehr als 100 Schichten, und insbesondere mehr als 150 Schichten aufweist.Method according to one of the preceding claims, wherein the program code (800, 900) has more than 10 layers (801-813, 901-914), preferably more than 20 layers, particularly preferably more than 50 layers, more than 100 layers, and in particular more than 150 layers. System zur Steuerung eines technischen Geräts (650) mittels einem Programmcode (800, 900), wobei das System ein mehrschichtiges neuronales Netzwerk mit Schichten (801-813, 901-914), sowie eine Cloud-Ausführungsvorrichtung (605) und eine Device-Ausführungsvorrichtung (655, 656) aufweist, und der Programmcode (800, 900) von einem ersten Programmteil (851, 951) und einem dritten Programmteil (853, 953) gebildet ist,
und der erste Programmteil (851, 951) eine erste Menge an Schichten (821, 921) des neuronalen Netzwerks bildet und die Cloud-Ausführungsvorrichtung (605) dazu eingerichtet ist, den ersten Programmteil (851, 951) auszuführen die Device-Ausführungsvorrichtung (655, 656) anzusteuern,
und der dritte Programmteil (853, 953) eine dritte Menge an Schichten (823, 923) des neuronalen Netzwerks bildet und die Device-Ausführungsvorrichtung (655, 656) dazu eingerichtet ist, den dritten Programmteil (853, 953) auszuführen und das technische Gerät (650) anzusteuern,
und eine Konfigurations-Vorrichtung dazu eingerichtet ist, ein Konfigurations-Verfahren (700) auszuführen, welches die erste und die dritte Menge an Schichten (821-823, 921-923) bestimmt, daraus den ersten und dritten Programmteil (851, 951, 853, 953) bestimmt und in die zugehörige Ausführungsvorrichtung (605, 655) lädt, und das System dazu eingerichtet ist, den Programmcode (800, 900) auszuführen und das technische Gerät (650) anzusteuern,
wobei das Konfigurations-Verfahren (700) von zumindest einer Eigenschaft des Programmcodes (800, 900) oder zumindest einer Eigenschaft des technischen Geräts (650) bestimmt ist.
System for controlling a technical device (650) by means of a program code (800, 900), the system being a multi-layer neural network with layers (801-813, 901-914), as well as a cloud execution device (605) and a device execution device (655, 656), and the program code (800, 900) is formed by a first program part (851, 951) and a third program part (853, 953),
and the first program part (851, 951) forms a first set of layers (821, 921) of the neural network and the cloud execution device (605) is set up to execute the first program part (851, 951) the device execution device (655) , 656) to control,
and the third program part (853, 953) forms a third set of layers (823, 923) of the neural network and the device execution device (655, 656) is set up to execute the third program part (853, 953) and the technical device (650) to control,
and a configuration device is set up to execute a configuration method (700) which determines the first and the third set of layers (821-823, 921-923), from this the first and third program parts (851, 951, 853 , 953) and loads it into the associated execution device (605, 655), and the system is set up to execute the program code (800, 900) and to control the technical device (650),
wherein the configuration method (700) is determined by at least one property of the program code (800, 900) or at least one property of the technical device (650).
System zur Steuerung eines technischen Geräts (650) mittels einem Programmcode (800, 900), wobei das System ein mehrschichtiges neuronales Netzwerk mit Schichten (801-813, 901-914), sowie eine Cloud-Ausführungsvorrichtung (605), eine Edge-Ausführungsvorrichtung (625, 626) und eine Device-Ausführungsvorrichtung (655, 656) aufweist und der Programmcode (800, 900) von einem ersten Programmteil (851, 951), einem zweiten Programmteil (852, 952) und einem dritten Programmteil (853, 953) gebildet ist,
und der erste Programmteil (851, 951) eine erste Menge an Schichten (821, 921) des neuronalen Netzwerks bildet und eine Cloud dazu eingerichtet ist, die Cloud-Ausführungsvorrichtung (605) auszuführen und die Edge-Ausführungsvorrichtung (625, 626) anzusteuern,
und der zweite Programmteil (852, 952) eine zweite Menge an Schichten (822, 922) des neuronalen Netzwerks bildet und eine Edge-Ausführungsvorrichtung (625, 626) dazu eingerichtet ist, den zweiten Programmteil (852, 952) auszuführen und die Device-Ausführungsvorrichtung (655, 656) anzusteuern,
und der dritte Programmteil (853, 953) eine dritte Menge an Schichten (823, 923) des neuronalen Netzwerks bildet und die Device-Ausführungsvorrichtung dazu eingerichtet ist, den dritten Programmteil (853, 953) auszuführen und das technische Gerät (650) anzusteuern,
und eine Konfigurations-Vorrichtung dazu eingerichtet ist, ein Konfigurations-Verfahren (700) auszuführen, welches die erste, die zweite und die dritte Menge an Schichten (821-823, 921-923) bestimmt, daraus den ersten, zweiten und dritten Programmteil (851-853, 951-953) bestimmt und in die zugehörige Ausführungsvorrichtung (605, 625, 655) lädt, und das System dazu eingerichtet ist, den Programmcode (800, 900) auszuführen und das technische Gerät (650) anzusteuern,
wobei das Konfigurations-Verfahren (700) von zumindest einer Eigenschaft des Programmcodes (800, 900) oder zumindest einer Eigenschaft des technischen Geräts (650) bestimmt ist.
System for controlling a technical device (650) by means of a program code (800, 900), the system being a multi-layer neural network with layers (801-813, 901-914), as well as a cloud execution device (605), an edge execution device (625, 626) and a device execution device (655, 656) and the program code (800, 900) from a first program part (851, 951), a second program part (852, 952) and a third program part (853, 953 ) is formed,
and the first program part (851, 951) forms a first set of layers (821, 921) of the neural network and a cloud is set up to execute the cloud execution device (605) and to control the edge execution device (625, 626),
and the second program part (852, 952) forms a second set of layers (822, 922) of the neural network and an edge execution device (625, 626) is set up to execute the second program part (852, 952) and the device Control the execution device (655, 656),
and the third program part (853, 953) forms a third set of layers (823, 923) of the neural network and the device execution device is set up to execute the third program part (853, 953) and to control the technical device (650),
and a configuration device is set up to carry out a configuration method (700) which determines the first, second and third set of layers (821-823, 921-923), from which the first, second and third program parts ( 851-853, 951-953) and loads it into the associated execution device (605, 625, 655), and the system is set up to execute the program code (800, 900) and to control the technical device (650),
wherein the configuration method (700) is determined by at least one property of the program code (800, 900) or at least one property of the technical device (650).
Vorrichtung nach dem vorhergehenden Anspruch, wobei die Edge-Ausführungsvorrichtung (625, 626) in Form eines Cloud-Service vorgesehen ist.Apparatus according to the preceding claim, wherein the edge execution apparatus (625, 626) is provided in the form of a cloud service. Vorrichtung nach einem der Ansprüche 9 bis 11, wobei die Cloud-Ausführungsvorrichtung (605) und/oder die Konfigurations-Vorrichtung in Form eines Cloud-Service vorgesehen ist.Device according to one of Claims 9 to 11, the cloud execution device (605) and / or the configuration device being provided in the form of a cloud service.
EP19164272.7A 2019-03-21 2019-03-21 Method and device for controlling a technical appliance using a program code Withdrawn EP3712823A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP19164272.7A EP3712823A1 (en) 2019-03-21 2019-03-21 Method and device for controlling a technical appliance using a program code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19164272.7A EP3712823A1 (en) 2019-03-21 2019-03-21 Method and device for controlling a technical appliance using a program code

Publications (1)

Publication Number Publication Date
EP3712823A1 true EP3712823A1 (en) 2020-09-23

Family

ID=65894924

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19164272.7A Withdrawn EP3712823A1 (en) 2019-03-21 2019-03-21 Method and device for controlling a technical appliance using a program code

Country Status (1)

Country Link
EP (1) EP3712823A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3139314A1 (en) * 2015-09-04 2017-03-08 Baidu USA LLC Systems and methods for efficient neural network deployments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3139314A1 (en) * 2015-09-04 2017-03-08 Baidu USA LLC Systems and methods for efficient neural network deployments

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KO JONG HWAN ET AL: "Edge-Host Partitioning of Deep Neural Networks with Feature Space Encoding for Resource-Constrained Internet-of-Things Platforms", 2018 15TH IEEE INTERNATIONAL CONFERENCE ON ADVANCED VIDEO AND SIGNAL BASED SURVEILLANCE (AVSS), IEEE, 27 November 2018 (2018-11-27), pages 1 - 6, XP033518237, DOI: 10.1109/AVSS.2018.8639121 *
LI HE ET AL: "Learning IoT in Edge: Deep Learning for the Internet of Things with Edge Computing", IEEE NETWORK, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 32, no. 1, 1 January 2018 (2018-01-01), pages 96 - 101, XP011676330, ISSN: 0890-8044, [retrieved on 20180125], DOI: 10.1109/MNET.2018.1700202 *
TEERAPITTAYANON SURAT ET AL: "Distributed Deep Neural Networks Over the Cloud, the Edge and End Devices", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, IEEE COMPUTER SOCIETY, US, 5 June 2017 (2017-06-05), pages 328 - 339, XP033122945, ISSN: 1063-6927, [retrieved on 20170713], DOI: 10.1109/ICDCS.2017.226 *
ZHAO ZHUORAN ET AL: "DeepThings: Distributed Adaptive Deep Learning Inference on Resource-Constrained IoT Edge Clusters", IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 37, no. 11, 1 November 2018 (2018-11-01), pages 2348 - 2359, XP011692619, ISSN: 0278-0070, [retrieved on 20181017], DOI: 10.1109/TCAD.2018.2858384 *

Similar Documents

Publication Publication Date Title
EP1183619B1 (en) Situation-dependent operating semantic n-order network
DE10341574A1 (en) Configuration and viewing display for an integrated predictive model control and optimization function block
DE10341573A1 (en) Integrated model-based predictive control and optimization within a process control system
DE102005046747B3 (en) Computer-aided learning of neural networks involves changing cross-links between first and second layers of neurons of neural network based on variable state of neural network which is determined using feature instances and categories
EP3575890B1 (en) Assistance system for supporting planning of automation systems
DE102016117560A1 (en) TOOL MACHINE FOR PRODUCING A SPEED DISTRIBUTION
EP3785178A1 (en) Method and device for determining a network configuration of a neural network
WO2020114739A1 (en) Control device for controlling a manufacturing plant, manufacturing plant and method
EP3712823A1 (en) Method and device for controlling a technical appliance using a program code
DE102019216973A1 (en) LEARNING PROCEDURES FOR NEURAL NETWORKS BASED ON EVOLUTIONARY ALGORITHMS
WO2021063572A1 (en) Device and method for processing data from a neural network
DE102020208765A1 (en) Image classifier with variable receptive fields in convolutional layers
DE102019115092A1 (en) Determining an object recognition rate of an artificial neural network for object recognition for an automated motor vehicle
DE102021207753A1 (en) EFFICIENT SECOND-ORDER PRUNING OF COMPUTER-IMPLEMENTED NEURAL NETWORKS
Lindemann Datengetriebene Kompensation anomaler Prozessdynamiken in Automatisierungssystemen auf Basis adaptiver LSTM-Netze
EP3343476A1 (en) Method and device for computer-aided design of a production process for producing a product
DE102021207754A1 (en) GENERATION OF COMPUTER-IMPLEMENTED NEURAL NETWORKS WITH ELIMINATED ARCHITECTURAL BOTTLES
WO2020193481A1 (en) Method and device for training and producing an artificial neural network
DE102005045120A1 (en) Dynamic information selection device, has neuron network with neuron pools, which are networked with one another and have neurons, where global background signal is applied to part of neuron pools and can be adjusted to number of set values
WO2020229407A1 (en) Classifier system and method for generating classification models in a distributed manner
DE102012011194A1 (en) Method for training an artificial neural network
DE102022107276A1 (en) System, method and computer program product for constructing and/or designing at least one component of a body that is optimally adapted to a specified configuration of a sensor set
DE102021124252A1 (en) Neural network systems for abstract thinking
DE102022209037A1 (en) Method for configuring a quantum circuit and device for configuring a quantum circuit
DE102021119818A1 (en) Computer-implemented method for producing a software image suitable for a numerical simulation of at least part of a real control unit

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20210324