This patent application claims priority to German Application No. DE 102020210795.5 filed on Aug. 26, 2020, which is hereby incorporated by reference in its entirety.
Artificial neural networks (ANN) are networks of artificial neurons. These neurons (or node points) of an artificial neural network are arranged in layers, and are usually connected to one another in a fixed hierarchy. The neurons here are in most cases connected between two layers, but also, in less usual cases, within one layer.
The use of a trained artificial neural network here offers the advantage of benefiting from its ability to learn, its parallel operation, its fault tolerance and its robustness in regard of malfunctions.
Artificial neural networks, such as recurrent neural networks, can thus make highly accurate predictions. Artificial neural networks that, in contrast to feedforward neural networks, are characterized by connections from neurons of one layer to neurons of the same or to a preceding layer, are referred to as recurrent neural networks (RNN).
With this kind of multilayer recurrent neural network the accuracy can be increased further if enough data is available. Particularly during the training, however, such artificial neural networks demand particularly high computing power, and have problems with a vanishing gradient.
There is thus a need to indicate ways in which the need for high computing power can be reduced.
The present disclosure relates to an artificial neural network. The artificial neural network includes an input layer, a first intermediate layer and at least one further intermediate layer, as well as an output layer, wherein the input layer comprises a plurality of neurons, the first intermediate layer a first number of neurons and the further intermediate layer a further number of neurons, wherein the first number is greater than the further number.
If the artificial neural network comprises two intermediate layers, the first intermediate layer is the layer that directly interfaces with the first intermediate layer in the direction of the output layer. The further intermediate layer, which interfaces with the output layer, then follows as the second intermediate layer. In other words, the first intermediate layer is disposed immediately adjacent to the input layer, and the further intermediate layer is disposed immediately adjacent to the output layer. If, on the other hand, the artificial neural network comprises more than two intermediate layers, the first intermediate layer can be any desired intermediate layer except for the last intermediate layer before the output layer. The further intermediate layer can interface in the direction of the output layer directly or indirectly, i.e., there can be further intermediate layers in between. The further intermediate layer can moreover also be the last intermediate layer before the output layer.
An artificial neural network with a non-uniform distribution of neurons is thus provided which, in comparison with an artificial neural network having a uniform distribution of neurons, comprises a reduced number of neurons. This reduces the need for computing power, in particular during the training of the artificial neural network.
According to one embodiment, the artificial neural network is a recurrent neural network. Artificial neural networks that, in contrast to feedforward neural networks, are characterized by connections from neurons of one layer to neurons of the same or to a preceding layer, are referred to as recurrent neural networks (RNN). In an intermediate layer that comprises fewer neurons than the previous intermediate layer, information can thus be transmitted from a neuron in this intermediate layer to a further neuron that is in this same layer. A loss of information is counteracted in this way.
According to a further embodiment, the artificial neural network has a long short-term memory (LSTM). The training results can thus be improved. In an artificial neural network with a long short-term memory of this sort, each neuron of the artificial neural network is designed as an LSTM cell with an input logic gate, a forget logic gate and an output logic gate. These logic gates store values over periods of time, and control the information flow that is provided in sequences.
According to a further embodiment, the output layer comprises a plurality of neurons. Since the input layer already comprises a plurality of neurons, the artificial neural network can also be regarded as a multivariable-to-multivariable system with a many-to-many architecture. A multivariable output signal, or a multidimensional output signal, can thus be provided with the artificial neural network.
According to a further embodiment, the output layer comprises one neuron. The artificial neural network can thus also be regarded as a multivariable-single variable system with a many-to-single architecture. A single-variable output signal, or a one-dimensional output signal, can thus be provided with the artificial neural network.
According to a further embodiment, at least one neuron of the first intermediate layer is directly connected to at least one neuron of the output layer. Information is thus transmitted directly to the output layer, circumventing further intermediate layers, without this resulting in a loss of information.
According to a further embodiment, the number of neurons falls at an essentially constant rate from the first intermediate layer to a further intermediate layer, and from the further intermediate layer to a further intermediate layer. An essentially constant rate here means a rate whose value is an integer, and the value of which is determined, if necessary, by rounding up and/or rounding down. In other words, the artificial neural network tapers in a consistent manner toward the output layer. The number of neurons, and thereby the computing effort, can thus be held particularly small, in particular when training, at the same time having an unchanged performance of the artificial neural network.
A computer program product for an artificial neural network of this type, a control unit with an artificial neural network of this type, and a motor vehicle with a control unit of this type furthermore belong to the present disclosure.
The present disclosure will now be explained with reference to drawings, in which:
Reference is first made to
An artificial neural network 2 is illustrated having, in the present exemplary embodiment, an input layer 4, a first intermediate layer 6a, a second intermediate layer 6b and an output layer 8.
The artificial neural network 2 can be formed of hardware and/or software components in this example.
In the exemplary embodiment illustrated in
The artificial neural network 2 is thus designed as a multivariable-multivariable system with a many-to-many architecture.
The neurons of the artificial neural network 2 here in the present exemplary embodiment are designed as LSTM cells, each having an input logic gate, a forget logic gate and an output logic gate.
The artificial neural network 2 in the present exemplary embodiment is furthermore designed as a recurrent neural network (RNN), and therefore has connections from neurons of one layer to neurons of the same layer or to neurons of a previous layer.
In operation, after the artificial neural network 2 has been subjected to training, input data tm are applied to the input layer 4 at time points t1, t2, t3 . . . tk and output data a are provided.
Reference is now additionally made to
A further exemplary embodiment is illustrated, differing from the exemplary embodiment shown in
In the exemplary embodiment shown in
Reference is now additionally made to
A further exemplary embodiment is illustrated, differing from the exemplary embodiment shown in
Reference is now additionally made to
A further exemplary embodiment is illustrated, differing from the exemplary embodiment shown in
The artificial neural network 2 according to this exemplary embodiment is thus designed as a multivariable-single-variable system with a many-to-single architecture.
Reference is now additionally made to
The method can be executed here on a computer or similar computing equipment in the context of a CAE (computer-aided engineering) system that can comprise hardware and/or software components for this purpose.
The method starts in a first step S100.
Whether the artificial neural network 2 is to be designed as a multivariable-multivariable system with a many-to-many architecture, or as a multivariable-single variable system with a many-to-single architecture is specified in a further step S200.
A length k of the artificial neural network 2 is specified in a further step S300. The length k can be regarded as the number of neurons of the input layer 4.
A number n of the layers (including the input layer 4 and the output layer 8) of the artificial neural network 2 is specified in a further step S400.
A rate s by which the number of neurons should reduce from one layer to the next is specified in a further step S500.
The number cc of neurons for each of the layers, i.e. for the input layer 4, the intermediate layers 6a, 6b, 6c, 6d and the output layer 8, is specified in a further step S600.
The procedure is, for example, as follows:
Let there be cc, n, k∈Z+, where the set of integers Z comprises the number of neurons of a layer, k is the length, and n the number of layers.
The number of neurons of the first layer: cc (n=1)=length (k), n=1
The number of neurons of further layers: cc (n)=((cc(n−1)−2)/s+2), n≠1, cc (n−1)>2
For the artificial neural network 2 shown in
Since 3½ or 2½ layers are not possible, an integer conversion is provided which, in the present exemplary embodiment, results in rounding 3½ down to 3, and 2½ down to 2. Varying from the present exemplary embodiment, a rounding up can also be provided.
For the artificial neural network 2 shown in
For the artificial neural network 2 shown in
In a further step S700, the respective first and last neurons for each layer, i.e. for the input layer 4, the intermediate layers 6a, 6b, 6c, 6d and the output layer 8, are specified, and the further neurons of each layer are arranged.
The artificial neural network 2 is trained in a further step S800, as is explained later in more detail.
In a further step S900, the trained artificial neural network 2 is then brought into operation. If, however, it is found that the performance capability of the artificial neural network 2 is insufficient, a return is made to step S400 of the method. Otherwise, the method ends with a further step S1000.
The training of the artificial neural network 2 in step S800 is now explained with reference to
The training of the artificial neural network 2 starts in a first step S2000.
The artificial neural network 2 is configured in a further step S2100, for example according to the results of the method described with reference to
Training data is applied to the artificial neural network 2 in a further step S2200.
Weighting factors of the neurons of the artificial neural network 2 are optimized in a further step S2300.
The artificial neural network 2 is thus modified during the training, so that it generates associated output data for specific input data tm. This can take place by means of supervised learning, unsupervised learning, reinforcing learning or stochastic learning.
Teaching the artificial neural network 2 by changing weighting factors of the neurons of the artificial neural network 2 in order to achieve the most reliable possible mapping of given training data with input data to given output data takes place, for example, by means of the method of back propagation, also known as back propagation of error.
The training can take place in a cloud environment, or off-line in a high-performance computer environment.
The artificial neural network 2, which is now trained, is provided to the application in a further step S2400.
The trained artificial neural network 2 is brought into operation, for example in a control unit 10, in a further step S2500.
The structure of the control unit 10 is now explained with reference to
The control unit 10 (or ECU: electronic control unit, or ECM: electronic control module) is an electronic module that is predominantly installed at places where something must be controlled or regulated. In the present exemplary embodiment, the control unit 10 is employed in a motor vehicle 12, such as a passenger car, and can functions of a driver assistance system or of an adaptive headlamp controller.
In the present exemplary embodiment, the control unit 10 comprises a CPU 14, a GPU 16, a main memory 18 (e.g. RAM), a further memory 20 such as SSD, HDD, flash memory and so forth, and an interface 22 such as CAN, Ethernet or Wi-Fi, as well as a CPU memory 24 as hardware components.
During a journey, i.e. when the motor vehicle 12 is operating and moving, the input data tm, provided, for example, by environmental sensors such as radar, lidar or ultrasonic sensors or cameras of the vehicle 2, are applied to the input layer 4 of the trained artificial neural network 2. Output data are provided by the output 8 and are forwarded via the interface 22 in order, for example, to drive actuators of the motor vehicle 2.
The need for computing power, in particular on the part of a control unit 10 for a motor vehicle 12, can thus be reduced.
Number | Date | Country | Kind |
---|---|---|---|
102020210795.5 | Aug 2020 | DE | national |