Method, device and computer program for creating a neural network
By providing different unit types and utilizing BOHB optimization methods, the problem of difficult to optimize complex neural network architectures in the prior art is solved, and efficient optimization of encoder and decoder neural networks is achieved to support higher-demand tasks.
Patent Information
- Application Number
- CN202080029390.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-08
- Filing Date
- 2020-04-08
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2040-04-08
AI Technical Summary
The prior art has difficulty using a single GPU to optimize complex neural network architectures including encoders and decoders within a reasonable time, resulting in expert design or automation optimization of small neural networks.
A method is proposed to alternately optimize the architecture and parameterization of the neural network by providing different unit types (such as reduction units and upsampling units) and using a combination of gradient descent and Bayesian optimization method (BOHB).
Efficient optimization of complex neural network architectures with encoders and decoders is achieved, enabling optimization with a single GPU within reasonable time, supporting higher demanding tasks such as depth estimation and semantic segmentation.
Smart Images

Figure CN113646775B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a method for optimizing the architecture and parameterization of a neural network. The invention also relates to a device and a computer program, each of which is configured to carry out the method. Background Art
[0002] Liu, Hanxiao, Karen Simonyan, and Yiming Yang: “DARTS: Differentiable architecture search.” arXiv preprint arXiv:1806.09055 (2018) discloses a method for optimizing the architecture of a neural network using gradient descent.
[0003] Falkner, Stefan, Aaron Klein, and Frank Hutter: “BOHB: Robust and efficient hyperparameter optimization at scale.” arXiv preprint arXiv:1807.01774 (2018) discloses a method for optimizing hyperparameters of neural networks with the help of a combination of Bayesian optimization and hyperband optimization algorithms.
[0004] Olaf Ronneberger, Philipp Fischer, and Thomas Brox: “U-Net: Convolutional Networks for Biomedical Image Segmentation.” arXiv preprint arXiv: 1505.04597 (2018) disclose the architecture of a neural network with convolutional layers and skip connections, which is called U-Net.
[0005] Advantages of the present invention
[0006] Currently, it is extremely complex or even impossible to optimize the architecture of a neural network including an encoder and a decoder. This is because known methods do not allow to perform this complex optimization in a reasonable time using only a graphics card (GPU). Therefore, the architecture of the neural network is either designed by experts or only small neural networks are optimized automatically. However, it is desirable to also optimize the architecture of complex neural networks with encoders and decoders so that these complex neural networks can also perform more demanding tasks, such as depth determination of an object from two stereo images or semantic segmentation of an image. It is also impossible to optimize the architecture of the above-mentioned U-Net.
[0007] Correspondingly, the method having the features of independent claim 1 has the advantage that it allows for the first time a computer resource-efficient optimization of the architecture of a complex neural network having an encoder and a decoder and possibly having cross-connections. Summary of the invention
[0008] In a first aspect of the invention, a method, in particular a computer-implemented method, for creating a neural network according to independent claim 1 is proposed, the neural network comprising an encoder connected to a decoder.
[0009] The method mainly includes the following steps: providing the resolution of the input parameters and output parameters of the encoder and decoder respectively. Then, different cell types are provided. Each cell type includes a plurality of nodes, which are connected in a predeterminable order starting from at least one input node and ending at an output node. Each node is connected to all the nodes before it by means of directed edges. Directed edges can be understood as: these edges process information only in one direction. Each edge is assigned a plurality of parameterizable operations and all operations are respectively assigned a first parameter. These edges are set up to: process the intermediate parameter by means of each operation of the intermediate parameter assigned to the previous node, and perform weighted addition on the intermediate parameter according to the first parameter assigned to the corresponding operation and provide the intermediate parameter to the next connected node as the intermediate parameter of the node. The first cell type (reduction cell in English) is set up to reduce the resolution of its output parameter relative to the resolution of its input parameter. The second cell type (upsampling cell in English) is set up to increase the resolution of its output parameter relative to the resolution of its input parameter. A plurality of cells of different cell types are then strung together in such a way that the provided resolution is achieved. Training data are then provided, which include training input variables and training output variables respectively assigned to the training input variables. The first variable and the parameterization of the parameterizable operation are then adapted alternately. The adaptation is performed such that the difference between the output variable determined by means of the propagation of the training input variable along the strung-together cells and the training output variable is optimized, in particular until a predeterminable criterion is met. One of the side operations is then selected in each case based on the adapted first variable. A neural network is then created based on the strung-together cells and the selected operation.
[0010] An encoder may be understood to be a predeterminable sequence of first layers of a neural network, wherein the sequence is designed to determine an output variable of the encoder as a function of an input variable of the encoder, wherein the resolution of the output variable is lower than the resolution of the input variable.
[0011] The decoder can be understood as the second layer sequence of the neural network, which is connected to the first layer sequence. The second layer sequence is set up to determine the output variable of the decoder based on the input variable of the decoder, that is, the output variable of the encoder, wherein the resolution of the output variable of the decoder is higher than the resolution of the input variable of the decoder.
[0012] Resolution can be understood as the spatial resolution of the corresponding input variable or intermediate variable. Preferably, the resolution characterizes the number of data points that encompass the input or intermediate variable. If the input variable is at least one image, the resolution can be given by the number of pixels.
[0013] Alternating adaptation may be understood to mean that the parameterization and the first variable are optimized successively, in particular successively with one or more iterations.
[0014] The difference may be understood as a mathematical distance measure which characterizes the difference between the determined output variable and the training output variable, in particular the difference between the determined output variable and the training output variable according to the parameterization and the first variable. The difference is preferably determined by means of a loss function.
[0015] Propagation can be understood as: the input parameters are processed by these units in sequence.
[0016] It is conceivable that in addition to the resolution, further information is provided, such as a predeterminable arrangement of the layers of the neural network or the structure of the neural network.
[0017] A cell may be understood to be a directed graph without cycles having a predeterminable number of nodes.
[0018] More than one input node per unit type is also conceivable. The advantage in this case is that neural networks with a plurality of cross-connections can also be optimized.
[0019] An advantage of the method of the first aspect is that the second unit type enables optimization of a neural network having an encoder and a decoder in a scalable manner.
[0020] It is proposed that the neural network is additionally created using an adapted parameterization of selected operations.
[0021] The intermediate parameter of a node may be the sum of all intermediate parameters provided to the corresponding node, in particular the sum of the edges connected to the node. The output parameter of an output node may contain each provided intermediate parameter of the nodes connected to the output node. Preferably, all intermediate parameters of the nodes connected to the output node are combined into the output parameter of the output node.
[0022] It is also proposed that the second unit type is also configured to interpolate input variables of the input node, in particular by means of a parameterizable operation, such as a transposed convolution. In the following, interpolation may be understood as an increase in resolution, in particular spatial resolution, for example by a factor of two.
[0023] The reduction in resolution of the second unit type can be achieved by removing information from the intermediate variables, preferably by means of a discarding operation (max- / average-) pooling.
[0024] It is also proposed that the neural network has at least one skip connection, which forwards the intermediate variable of the encoder to the decoder. The second unit type additionally has a third input node, and the second unit type is also configured to interpolate the input variable of the third input node, in particular by means of a parameterizable operation, such as bilinear interpolation.
[0025] Advantageously, the resolution of the output variable used as input variable of the third input node has the same resolution as the input variable of the cell of the third cell type.
[0026] It is also proposed that each first variable is dependent on another first variable of another operation of the corresponding edge, in particular is relaxed by means of a softmax function. Preferably, when selecting the operation, the operation of the edge to which the largest first variable is assigned is selected.
[0027] The advantage in this case is that the optimization can now be performed by means of the gradient descent method via the relaxed first variable.
[0028] It is also proposed that, when adapting the first variable and the parameterization, the difference is optimized by means of a gradient descent method and the parameterization is optimized by means of a gradient descent method. Advantageously, the learning rate of the gradient descent method for optimizing the parameterization is determined by means of a probabilistic optimization such as BOHB. If the neural network has already been created, the parameterization can be adapted again, in particular optimized, so that the difference is minimized.
[0029] The advantage of the gradient descent method is that it is scalable. The advantage of BOHB is that it can be implemented in parallel.
[0030] It is also proposed to create a plurality of identical neural networks, then connect these neural networks in series, and then jointly optimize these series-connected NNs with respect to the parameterization.
[0031] It is also proposed that the neural network receives two stereo images from two cameras and is set up to determine a depth estimate of an object imaged in the images from these stereo images. The neural network processes these stereo images by means of a further encoder or a filter and then a correlation layer before processing them by means of an encoder and a decoder.
[0032] Cameras can detect the same scene from different perspectives.
[0033] Advantageously, the neural network is a U-Net or an autoencoder or a neural network set up to perform semantic segmentation or depth estimation.
[0034] In a further aspect of the invention it is proposed that the neural network created according to the first aspect is used in a technical system.
[0035] The technical system comprises a detection unit (e.g. a camera) which is connected to a neural network and provides the detected variable (e.g. a camera image) to the neural network as an input variable. The actuator of the technical system is controlled as a function of the determined output variable of the neural network. Alternatively, a control variable can be determined as a function of the output variable of the technical system. The actuator can then be controlled as a function of the control variable.
[0036] The technical system can be, for example, an at least partially autonomous machine, an at least partially autonomous vehicle, a robot, a tool, a factory machine or an aerial vehicle such as a drone.
[0037] In another aspect, a computer program is provided. The computer program is configured to implement one of the methods mentioned above. The computer program comprises instructions which, when the computer program is run on a computer, cause the computer to implement the method with all the steps of one of the methods mentioned. A machine-readable storage module is also provided, on which the computer program is stored. A device is also provided, which is configured to implement one of the methods of the first aspect.
[0038] Embodiments of the above-described aspects are shown in the accompanying drawings and are further explained in the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Here:
[0040] Figure 1 Schematic diagram showing known units for DARTS and the newly proposed upsampling unit;
[0041] Figure 2 A schematic diagram showing a flow chart for optimizing the architecture and parameterization of a neural network having an encoder and a decoder;
[0042] Figure 3 A schematic diagram of an at least partially autonomous robot is shown;
[0043] Figure 4 A schematic diagram of an apparatus for optimizing a neural network is shown. DETAILED DESCRIPTION
[0044] A neural network with an encoder and a decoder is characterized in that an input parameter, such as an image, with a high resolution, such as 940 x 512 pixels, is mapped to an intermediate parameter with the aid of a decoder when propagating through the neural network, and the resolution of the intermediate parameter is lower than the resolution of the input parameter. In the case of a U-Net, for example, the resolution of the intermediate parameter can be 32 x 32 pixels. The intermediate parameter is then further propagated through the decoder of the neural network until an output parameter exists. The output parameter can have the same, higher or lower resolution as the input parameter, but the resolution of the output parameter is higher than the resolution of the intermediate parameter. The resolution of the output parameter of a U-Net can be 388 x 388 pixels.
[0045] The encoder can be constructed in the form of a plurality of successively connected "downsampling" layers of a neural network, which are characterized in that they reduce the resolution of their input parameters. The reduction in the resolution of the input parameters can be predetermined by the "downsampling" factor. By way of example, the "downsampling" layers can each have a plurality of 3x3 filters, the intermediate parameters of which are processed by an activation function, and then a maximum pooling with a step size of 2 is applied. In addition, a layer whose resolution of its input parameters is not changed, such as a fully connected layer, can be inserted after each "downsampling" layer.
[0046] The decoder can be constructed by multiple series-connected "upsampling" layers of the neural network. The number of "upsampling" layers can depend on the "downsampling" factor. The "upsampling" layer can first perform an upsampling of its input parameters and then perform one or more convolutions using 2x2 or 3x3 filters.
[0047] The neural network including the encoder and the decoder can additionally have skip connections (skip connections in English), which respectively connect one of the "downsampling" layers to one of the "upsampling" layers. If the resolution of the input variable provided by the skip connection does not correspond to the resolution of the input variable of the "upsampling" layer, the input variable provided by the skip connection can be adapted to the resolution of the input variable of the "upsampling" layer by means of bilinear interpolation.
[0048] A neural network having the described structure, ie having an encoder and a decoder, cannot be optimized using current architecture optimization methods, such as the DARTS method known from the prior art. This will be explained below.
[0049] However, the optimization of the architecture using DARTS is highly desirable, since the advantage of DARTS is that the method uses the gradient descent method and is thereby scalable. In addition, the architecture and the parameterization of the neural network can be optimized alternately with the aid of DARTS. The parameterization can be understood as all parameters of the network, from which the neural network determines the output variables of the neural network, especially in the case of inference. The parameterization of the neural network preferably includes the weights of the neural network and the filter coefficients of the filters of the neural network.
[0050] In the case of DARTS, the architecture of the neural network is represented by a plurality of cells, which are connected to one another in a predeterminable order. These connected cells describe a so-called search network, by which the optimization is to be performed. A cell is a directed acyclic graph with N different nodes. The cell has at least one input node, preferably two or more input nodes. The cells also include a plurality of intermediate nodes and an output node. Each of these nodes is an intermediate parameter. , in other words, the activation map of the neural network, and each edge in the edge (i, j) is an operation , especially the transformation, which converts the intermediate parameters of node i Mapped to the intermediate parameter x(j) of node j. All nodes are connected to all nodes in front of them. The output node is also connected to all previous nodes, where the output parameter of the output node is determined by the combination (concatening) of the intermediate parameters of all previous nodes.
[0051] The intermediate result x(j) of the jth node is determined as follows:
[0052]
[0053] in and is the set of all possible operations.
[0054] The following possible operations are conceivable: skip connection, 3x3 average pooling, 3x3 max pooling, 3x3 and 5x5 convolutions (dilated separable convolutions, e.g. with a dilation factor of 2) and “zero” connections (zero operation), which indicate that no connection exists between these nodes.
[0055] The input nodes are connected to the output nodes of the previous unit of the search network respectively.
[0056] DARTS uses two different types of cells. There are normal cells, which maintain the resolution of their input parameters, and there are reduction cells, which reduce the resolution of their input parameters, preferably by a factor of two. Figure 1 The normal unit is schematically represented by reference numeral (101) above. For example, the normal unit (101) includes 6 nodes, of which there are 2 input nodes. , 3 intermediate nodes (0, 1, 2) and an output node .
[0057] In order to be able to perform different operations To optimize, especially by gradient descent, the function to be optimized must be continuous. and these variables This is achieved by relaxing the edge (i, j). Assign a variable .variable The relaxation can be done by applying the possible operations on the edges This is achieved by using the Softmax function of all variables:
[0058]
[0059] This leads to the following equation:
[0060]
[0061] Equation (1) can now be rewritten using equation (3):
[0062]
[0063] The optimization of the architecture can now be performed alternately by means of a gradient descent method via the variable α of the neural network and via the parameterization w of the neural network.
[0064] With the aid of the above-described method DARTS, only neural networks with one encoder can be optimized. Since with two different cell types according to DARTS, the architecture of a neural network consisting of an encoder and a decoder cannot be optimized, since no suitable cell type is available for the decoder.
[0065] Therefore, a new unit type is proposed in the following to also optimize the architecture of neural networks with encoder and decoder.
[0066] For this purpose, the so-called upsampling unit is proposed. Figure 1 In the embodiment, the upsampling unit is schematically represented by the reference numeral (102). The upsampling unit (102) is different from other unit types (101) in that the upsampling unit (102) has an input node in addition to the input node in the embodiment. There are two other input nodes , and each of these input nodes is connected to an upsampling node, which interpolates the input parameters, especially interpolates the resolution of the corresponding input parameters to twice.
[0067] In another embodiment, the upsampling unit (102) has only one input node and has only one other input node .
[0068] In the search network, these two input nodes Likewise, they are each connected to the output node of the previous unit.
[0069] Other input nodes Connected to the output node of the previous upsampling unit in the search network. Other input nodes Connect to the previous normal unit or the previous reduction unit.
[0070] The interpolation of the input parameters of the upsampling unit can be performed by means of a transposed convolution. Preferably, the interpolation of the input nodes is performed by linear interpolation. Interpolation of the input parameters.
[0071] The intermediate nodes of the upsampling unit are used as described above for other unit types, in particular using the same possible operations .
[0072] The output node of the upsampling unit is also connected to all preceding nodes of the unit. Preferably, the results of all preceding nodes are combined and then optionally processed by means of convolution and then output as output variables.
[0073] Figure 2 A schematic flow chart for optimizing the architecture and parameterization of a neural network with an encoder and a decoder is shown.
[0074] The method (20) starts at step 2000. In this step, the architecture of the network is predetermined. The architecture can be predetermined, for example, by the resolution of the input and output variables of the neural network, the number of input variables. The architecture of the neural network can also be predetermined by the minimum resolution of the intermediate variables of the neural network or the number of layers of the neural network, etc.
[0075] In one embodiment of the method (20), the architecture of the neural network is given by an encoder having 6 (convolutional) layers, each of which halves the resolution of its input variable and has a doubled number of filters compared to the number of filters of the layer immediately preceding it. In this example, the decoder of the neural network is given by three (convolutional) layers, each of which doubles the resolution of its input variable.
[0076] For depth estimation with deep neural networks, a Siamese network can process input variables of the neural network and forward them to a relevant layer, which then supplies its intermediate variables to an encoder, for example.
[0077] Likewise, in step 2000, the characteristics of the unit type may be limited, for example, each unit type has only three intermediate nodes. Likewise, in step 2000, the set of all possible operations for each edge may be specified.
[0078] Then, a search network is created according to the predetermined architecture and the defined units. To this end, the three different unit types, namely normal units, reduction units and upsampling units, are arranged one after another so that the predetermined architecture is realized. That is, after the end of step 2000, there is a search network, which includes different units arranged one after another, which should then be optimized in the next step.
[0079] In an embodiment of the method, in which the neural network has an encoder comprising 6 layers and a decoder comprising 3 layers, the search network can be created as follows: The encoder of the search network is created by an alternating arrangement of normal units and reduction units, for example 6 units of both types. In this embodiment, the decoder of the search network includes 3 units of the upsampling unit type. It should be noted that the reduction / increase in resolution of these layers is consistent with the reduction / increase in resolution of the reduction units and upsampling units.
[0080] In the next step 2100, training data are provided, which include training input variables and respectively assigned training output variables. The training data are divided into two sets, which preferably each include the same number of training input variables and respectively assigned training output variables.
[0081] After step 2100 has been completed, an optional step 2200 follows. In this step, the parameterization w of the search network can be optimized in advance based on the training data or one of the two sets of training data. For this purpose, the training input data are propagated through the search network. Then, a cost function is determined based on the determined output variables of the search network and the corresponding training output variables, which cost function depends on the parameterization w and the variable α. Then, with the help of a gradient descent method, for example S tochastic G radient D escent (Stochastic Gradient Descent, SGD), by parameterizing w, the cost function can be optimized, in particular, the cost function can be minimized or maximized. It should be noted that the parameterization w does not have to be completely optimized. It is sufficient when the parameterization is only optimized through multiple iterations without convergence.
[0082] After optional step 2200 or step 2100 is completed, step 2300 follows. In this article, the search network is optimized according to the DARTS optimization algorithm. That is, the search network is optimized alternately by means of the gradient descent method through the variable α and through the parameterization w.
[0083] The optimization of the variable α is performed on one of the two sets of training data in step 2100. After the optimization has been completed, the optimization of the parameterization w is performed on the second set of these training data. This alternating optimization of the variable α and the parameterization is performed multiple times, in particular until a predeterminable abort criterion is met.
[0084] For example, the learning rate of the gradient descent method can be optimized separately with the help of BOHB in order to obtain better convergence properties. Parameters can be optimized using BOHB, for which see the document "BOHB: Robust and efficient hyperparameter optimization at scale" mentioned at the beginning.
[0085] In the next step 2400, the optimal architecture, in particular the optimal operation, of the neural network predefined in step 2000 is determined as a function of the variable α. For this purpose, the variable α is relaxed in a backward manner according to the DARTS method. This can be done, for example, by selecting the strongest operation for each edge as a function of the variable α:
[0086]
[0087] (zero: zero).
[0088] After the optimal operations have been determined in step 2400, the neural network is initialized in step 2500 according to the selected operations and the architecture predefined in step 2000. Furthermore, the parameterization w optimized in step 2300 is also used for the initialization of the neural network.
[0089] It is also conceivable that the initialized neural network is connected in series multiple times, similar to AutoDispNet-CSS.
[0090] Then, in step 2500 , the parameterization w of the initialized neural network is repeatedly optimized as a function of the provided training data. For this purpose, the training input variables are propagated through the initialized neural network and the parameterization is adapted as a function of the determined output variables and the training output variables, in particular according to step 2100 .
[0091] In the next optional step 2600, the neural network initialized in step 2500 is used for the robot. For example, the neural network in step 2500 can be used to determine an output variable from the input variables provided, wherein the robot is then controlled by means of a control unit as a function of the output variable.
[0092] This ends the method (20).
[0093] Figure 3 A schematic diagram of an at least partially autonomous robot is shown, which in a first embodiment is represented by an at least partially autonomous vehicle (300). In another embodiment, the at least partially autonomous robot can be a service robot, an assembly robot or a stationary production robot, alternatively an autonomous aerial vehicle, such as a drone.
[0094] The at least partially autonomous vehicle (300) may include a detection unit (30). The detection unit (30) may be, for example, a camera that detects the surroundings of the vehicle (300). The detection unit (30) may be connected to a neural network (40) obtained after step 2600. The neural network (40) determines an output variable as a function of a provided input variable, for example an input variable provided by the detection unit (30) and as a function of a plurality of parameters of the neural network (40). The output variable may be forwarded to a control unit (50).
[0095] The control unit (50) controls the actuators according to the output variables of the neural network (40), preferably in such a way that the vehicle (300) performs a collision-free maneuver. In a first embodiment, the actuators can be motors or brake systems of the vehicle (300). In another embodiment, the partially autonomous robot can be a tool, a factory machine or a manufacturing robot. The material of the workpiece can be classified with the aid of the neural network (40). In this case, the actuators can be, for example, motors driving a grinding head.
[0096] The vehicle (300), in particular the partially autonomous robot, further comprises a computing unit (60) and a machine-readable storage element (60). A computer program can be stored on the storage element (60), the computer program comprising instructions which, when executed on the computing unit (60), cause the computing unit (60) to execute the following operations: Figure 2 The method is carried out with all its steps, or only step 2600 is carried out. Alternatively, the neural network (40) can be stored on the storage element (60) and the computing unit carries out the calculation of the neural network (40).
[0097] Figure 4 A schematic diagram of a device (400) for optimizing, in particular teaching a neural network (40), in particular for implementing steps for optimizing a neural network (40) is shown. The device (400) comprises a training data module (410) and a difference module (420). The difference module (420) generates a training output parameter y according to the training output parameter y. s The difference is determined from the determined output variable y of the neural network (40), in particular by means of a cost function. The training data module (410) contains training data. The training data advantageously include a plurality of training input variables, which are respectively labeled. During optimization, the optimization module (430) determines a change θ' of the parameterization w or the variable α as a function of the difference determined by the difference module (420). Subsequently, an adaptation is performed in a memory P in which the parameterization w and the variable α are stored, as a function of the change θ'.
Claims
1. A method for creating a neural network, the neural network comprising an encoder, the encoder being connected to a decoder, wherein the created neural network is used in a technical system, wherein the technical system comprises a camera, which is connected to the neural network and provides the neural network with a camera image as an input variable, wherein the method comprises the following steps: Providing resolutions of input parameters and output parameters of the encoder and decoder, respectively; Different unit types are available, Each cell type comprises a plurality of nodes which are connected in a predeterminable sequence starting from at least one input node and ending at an output node, Each node is connected to all previous nodes by directed edges. Each edge is assigned a number of parameterizable operations O and all operations are assigned a first parameter α. wherein the edge is configured to process the intermediate variable by means of each of the operations of the intermediate variable assigned to the preceding node, to perform weighted addition of the intermediate variable according to the first variable α assigned to the corresponding operation, and to provide the intermediate variable to the next connected node as the intermediate variable of the node, wherein the first unit type is designed such that the resolution of its output variable is reduced relative to the resolution of its input variable, wherein the second unit type is designed to increase the resolution of its output variable relative to the resolution of its input variable; Multiple units of different unit types are strung together so that the resolution provided by the encoder and decoder is achieved, The input nodes of the units are respectively connected to the output nodes of the immediately preceding units; Providing training data, the training data comprising training input parameters and training output parameters respectively assigned to the training input parameters; alternatingly adapting the first variable α and the parameterization w of the parameterizable operation o, wherein the adaptation is performed in such a way that a difference between an output variable determined by means of the propagation of the training input variable along the connected units and the training output variable is optimized; According to the adapted first parameter α, one of the operations of the edge is selected respectively; The neural network is created as a function of the connected units and the selected operations, wherein the actuators of the technical system are controlled as a function of the determined output variables of the neural network.
2. The method according to claim 1, wherein the method is used to automatically create a neural network. The method of claim 1 , wherein the first unit type is a reduce unit. The method of claim 1 , wherein the second cell type is an upsampling cell. 5 . The method according to claim 1 , wherein the second unit type is further configured to interpolate input variables of the input nodes. 6 . The method according to claim 5 , wherein the input variables of the input nodes are interpolated by means of parameterizable operations.
7. The method according to claim 1 , wherein the second cell type additionally has a second input node I_pred_k-1, The second unit type is further configured to interpolate the input parameter of the second input node I_pred_k-1, and Wherein, in the case of connecting a plurality of cells in series, the second input node I_pred_k-1 of the cell of the second cell type is connected to the output terminal of the previous cell of the second cell type. 8 . The method according to claim 7 , wherein the input variable of the second input node I_pred_k-1 is interpolated by means of a parameterizable operation.
9. The method according to claim 1 , wherein the neural network has at least one crossover connection, which forwards intermediate parameters of the encoder to the decoder, The second cell type additionally has a third input node I_skip, and the second cell type is further configured to interpolate an input variable of the third input node I_skip, and Wherein, when a plurality of cells are connected in series, the third input node I_skip is connected to an output node of one of the first type of cells. 10 . The method according to claim 9 , wherein the input variable of the third input node I_skip is interpolated by means of a parameterizable operation.
11. The method according to claim 1 , wherein the third unit type is configured to process an input variable of the third unit type such that a resolution of the input variable of the third unit type corresponds to a resolution of an output variable of the third unit type. Where a plurality of cells are strung together, a cell of the third type is inserted between at least one of the cells of the first or second cell type.
12. The method according to any one of claims 1 to 4, wherein the training data is divided into a first training data set D_train and a second training data set D_val, The parameterization w is optimized by means of the first training data set D_train, and the first parameter α is optimized by means of the second training data set D_val.
13. The method according to claim 1, wherein each first parameter α depends on another first parameter α of another operation of the corresponding edge, When selecting the operation, the operation of the edge to which the largest first parameter α is assigned is selected. The method according to claim 13 , wherein each first parameter α is relaxed by means of a softmax function.
15. The method according to claim 13, wherein, when adapting the first variable α and the parameterization w, the difference is optimized by means of a gradient descent method and the parameterization is optimized by means of the gradient descent method, wherein the learning rate of the gradient descent method for optimizing the parameterization w is determined by means of probabilistic optimization, If the neural network has already been created, the parameterization w is adapted again.
16. A method according to any one of claims 1 to 4, wherein a first factor is pre-given for the first unit type, the first factor characterizing how much the resolution of the output parameter of the first unit type is reduced, and wherein a second factor is pre-given for the second unit type, the second factor characterizing how much the resolution of the output parameter of the second unit type is improved.
17. The method according to claim 1 , wherein the neural network receives two stereo images from two cameras and the neural network is configured to determine a depth estimate of an imaged object of the image from the stereo images, Therein, the neural network processes the stereo images with the aid of a further encoder, these are then processed by the relevant layers and only then are processed with the aid of the encoder and the decoder. 18 . A computer program product, comprising a computer program with instructions, wherein the instructions are configured to cause a computer to carry out the method according to claim 1 when the instructions are executed.
19. A machine-readable storage element on which a computer program with instructions is stored, wherein the instructions are designed to cause a computer to carry out the method according to any one of the preceding claims 1 to 17 when the instructions are executed.
20. An apparatus configured to carry out the method according to any one of the preceding claims 1 to 17.
Citation Information
Patent Citations
Neural network model construction method and device, and storage medium
CN109615073A