Methods for training and running multi-tasking artificial neural networks, multi-tasking artificial neural networks and devices.
By introducing coupling paths between the input layer and cross-task intermediate layers, as well as task-specific paths, into multi-task-capable artificial neural networks, the problem of task adaptation difficulties is solved, achieving both resource saving and efficient task-specific adaptation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-01-10
- Publication Date
- 2026-04-03
AI Technical Summary
Existing multi-task artificial neural networks suffer from correlation problems during task adaptation, leading to difficulties in task-specific adaptation. This necessitates verification for all tasks, wasting computational resources and time.
A first path coupled with a cross-task intermediate layer and a task-specific second path are adopted. Cross-task parameters are shared through the first path, and specific tasks are trained and adapted separately through the second path. Unidirectional information flow is used to ensure that other tasks are not affected.
This technology enables multi-task capability neural networks to save computational resources and time, improve task-specific adaptation efficiency, reduce verification costs, and improve production operation efficiency.
Smart Images

Figure CN113330459B_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to the fields of artificial intelligence and machine learning. In particular, the invention relates to a method for training a multi-tasking artificial neural network, the multi-tasking artificial neural network itself, and an apparatus having such an artificial neural network. The invention also relates to computer programs and storage media. Background Technology
[0002] Artificial neural networks, particularly kinematic neural networks (KNNs), are frequently used in the field of artificial intelligence, especially in machine learning. These KNNs can perform a wide range of technical tasks and extend to numerous technological fields, including, in particular, automation, robotics, and subfields such as image recognition.
[0003] Here, a multi-tasking KNN can also be used, which is configured to execute multiple, i.e., at least two different tasks in parallel, especially simultaneously, synchronously, or alternately, based on the input data fed to the KNN. Compared to the operation of multiple parallel KNNs with (only) single-tasking capabilities, a multi-tasking KNN can share at least a portion of the inherent functions, intermediate computations, etc., of the KNN for multiple tasks, where the single-tasking KNNs can only execute one specific task individually based on separately fed input data. Thus, compared to using multiple KNNs, each with only single-tasking capabilities, computational resources such as computation time, storage space, and storage bandwidth can be saved. Even during the training of such a multi-tasking KNN, shared information can be used to train the best possible overall performance for multiple tasks to be performed. However, it has been shown to be disadvantageous that the shared use of KNN's functionality, intermediate computations, information, etc., can create correlations between different missions or tasks, making task-specific adaptation of multi-task-capable KNNs difficult, for example, by making (new) validation for all missions or tasks necessary. For instance, in cases where adaptation should actually only involve a single mission or task, unintended co-adaptation of other missions or tasks may occur, requiring not only the missions or tasks actually to be adapted, but also those unintendedly co-adapted, to be revalidated. Summary of the Invention
[0004] Embodiments of the present invention provide improved possibilities for applying the multi-tasking artificial neural network KNN. Advantageous improvements of the invention are derived from the dependent claims, the specification, and the drawings.
[0005] A first aspect of the present invention provides a method for training a multi-task-capable artificial neural network KNN. The method comprises the following steps:
[0006] A first path is provided for a first information flow through a KNN. This first path couples the input layer of the KNN (e.g., Input Layer) to at least one cross-task intermediate layer of the KNN (e.g., Hidden Layer), wherein the at least one cross-task intermediate layer may also be referred to as a cross-task KNN segment. The intermediate layer is common to multiple KNNs, as at least two different tasks, or shared by or for the tasks, such that the task can also be further designated from the hidden layer to the shared layer. Furthermore, the first path couples the at least one cross-task intermediate layer to corresponding task-specific KNN segments from multiple tasks from different tasks. Thus, a corresponding KNN segment is assigned to exactly one unique task, wherein multiple, particularly hierarchically arranged, KNN segments can also be set for each task. Here, at least one KNN segment may be or include a task-specific output layer (e.g., Output Layer) for performing the task-specific KNN. Correspondingly, the task-specific output layer can generate or provide output data and / or output signals.
[0007] First training data for training cross-task parameters is fed through the input layer and / or the first path. These cross-task parameters are common to multiple tasks in different tasks of the KNN, and therefore can be shared, reused, etc., for example, between tasks. Cross-task parameters can be understood in particular as the weights, distortion, activation function, etc. of the KNN.
[0008] In addition to the first path, at least one task-specific second path is provided for a second information flow different from the first information flow through the KNN. The second path couples the input layer of the KNN to only a portion of task-specific KNN segments from multiple tasks that are different from each other. In other words, the information flow caused by the second path does not go to all the different tasks, but only to a portion of them. Exemplarily, in the case of a KNN where, exemplarily, a total of two different tasks should be executed, the second path can allow an information flow to only one unique task, while the other task is decoupled from the second path.
[0009] Second training data for training task-specific parameters is delivered via a second path. Preferably, the second training data is at least task-specific, i.e., assigned to at least one of multiple different tasks.
[0010] This method improves the application of multi-task-capable KNNs by individually modifying and / or improving only one or a subset of tasks across multiple task-specific domains. In this context, modification and / or improvement can be understood, in particular, as retraining, adapting, correcting, fine-tuning, etc., of the single task or subset of tasks across multiple task-specific domains. However, the proposed method ensures that the remaining tasks are unaffected, particularly the task-specific parameters assigned to those remaining tasks, such as their weights, distortion, activation functions, etc. Needless to say, this retraining, adapting, correcting, fine-tuning, etc., is performed via a second path based on second training data.
[0011] The proposed method can, on the one hand, advantageously utilize the commonalities or correlations of expectations between different tasks to save computational resources by sharing functions, intermediate computations, and information; on the other hand, it can achieve a certain degree of decoupling between different tasks to allow for individual adaptation of each task. If KNN is to be validated for its application to be released in production operations, such as in automation or robotics, the proposed method can significantly reduce the cost required for this, because, in principle, only the task coupled with it must be validated via the second path, since the remaining tasks remain unchanged (no longer change) from the final validation.
[0012] KNN can be understood in particular as a directed graph, where nodes represent multiple neurons arranged in the aforementioned layers, and edges represent connections between them. The parameters to be trained can significantly influence the strength of the information flow along these connections.
[0013] Correspondingly, the first path can allow information along all nodes and / or edges, but the second path can only allow information along a subset of these nodes and / or edges. In this regard, a task can be understood, in particular, as a self-contained task represented, if necessary, by at least a part of, a computer program.
[0014] Different tasks can be performed separately in automation technology, robotics, etc., for example, for tasks of robots that are at least partially automated, i.e., partially autonomous. Exemplary applications of such KNNs are also found, for example, in vehicle technology, particularly for vehicles that are at least partially automated. Exemplary tasks could be, for example, traffic sign recognition, semantic scene segmentation, etc. Therefore, a multi-tasking KNN could, for example, perform traffic sign recognition as a first task and semantic scene segmentation as a separate second task. Furthermore, other applications in automation technology and, for example, in vehicle technology are also conceivable.
[0015] One improved approach allows information flow from at least one cross-task intermediate layer towards the second path, but prevents reverse information flow from the second path towards the cross-task intermediate layer. In other words, tasks coupled to the second path can use common parameters, which cannot be changed through the second path and therefore remain unchanged for the remaining tasks. Regarding the cross-task intermediate layer, the information flow of the second path is unidirectional. This allows for adaptation of individual tasks in a computationally efficient manner.
[0016] Another improvement specifies that at least one task-specific KNN segment is constructed in multiple layers, i.e., using correspondingly multiple hierarchically arranged, task-specific (intermediate) layers (i.e., task-specific hidden layers if necessary). It should be noted that the number of task-specific task layers in one task may differ from the number of task-specific task layers in another task. Regarding representing the KNN as a graph, at least one task-specific KNN segment can therefore have multiple task-specific nodes, which are interconnected only within the same task-specific KNN segment via corresponding task-specific edges.
[0017] In one improved approach, a task-specific KNN segment can be modified or adapted via a second path. Specifically, multiple task-specific layers within that KNN segment can be modified. For example, other task-specific layers can be added to the task-specific KNN segment, or existing task-specific layers can be removed. Alternatively, the number of neurons in one or more task-specific layers of the task-specific KNN segment can be changed, i.e., reduced or increased. This allows for particularly good adaptation to individual tasks without affecting other tasks. According to one improved approach, the second training data delivered via the second path can consist of input data fed to the input layer and intermediate layer data derived from at least one cross-task intermediate layer. This allows for adaptation to individual tasks in a computationally efficient manner.
[0018] In one improvement, intermediate layers that support the training of task-specific parameters can be selected from multiple cross-task intermediate layers for combination with the second path. For example, it's possible to connect only task-adaptation-related, helpful, or meaningful intermediate layers coupled to the second path from multiple, especially hierarchically arranged, cross-task intermediate layers. This further improves the task-specific quality of KNN.
[0019] According to an improved approach, validation of at least a portion of the tasks that can be performed by a KNN can be performed between the delivery of first training data and the delivery of second training data. The delivery of the second training data can be used to adapt to at least one specific task, excluding adaptation to at least one other specific task different from this. Since other task-specific validations have already been performed after the delivery of training data and, if necessary, test runs, and are no longer altered by the delivery of second training data due to decoupling from the second path, further validations for other task-specific tasks can be discarded. This allows for the adaptation of KNN with minimal validation overhead.
[0020] A second aspect of the invention provides a multi-task-capable artificial neural network, KNN. As described above, KNN can be understood, in particular, as a directed graph, where nodes represent multiple neurons arranged in the aforementioned layer, and edges represent connections between them. The proposed KNN has an input layer, multiple task-specific KNN segments (i.e., a number corresponding to the number of tasks assigned to the KNN that are different from each other), and at least one cross-task intermediate layer arranged between the input layer and the multiple task-specific KNN segments and including multiple parameters usable across tasks.
[0021] Furthermore, the proposed KNN has a first path that couples the input layer to multiple task-specific KNN segments via at least one cross-task intermediate layer for a first information flow through the KNN.
[0022] Additionally, the proposed KNN has at least one task-specific second path that couples the input layer to only a portion of multiple task-specific KNN segments for passing through a task-specific second information stream that is different from the first information stream of the KNN.
[0023] This KNN enables the adaptation of one or more task-specific KNNs in a computationally conscious manner. Advantageously, parameters common to all (or at least many) tasks, such as weights, distortion, activation functions, etc., can be trained first via a first path. However, if it must be demonstrated during KNN validation or production runs that task-specific aspects or their execution must be modified in any way, this can be done without affecting the remaining task-specific aspects. Thus, the advantages of multi-task-capable KNNs in the common use of specific parts of the KNN can be combined with the advantages of simple task-specific adaptations similar to single-task-capable KNNs.
[0024] According to one improvement, the number of layers in the second path can differ from the number of intermediate layers across tasks. In other words, the second path can have a different number of nodes and / or edges than the first path, particularly in terms of intermediate layers across tasks. Here, the nodes and / or edges of the second path can be connected to one or more of the nodes and / or edges of the first path. This allows for the free configuration of KNN to improve and / or modify one or more task-specific features using the lowest possible computational resources.
[0025] In one improved embodiment, the KNN can have multiple second paths. Each second path can be configured to direct a sub-number of task-specific information flows only toward the multiple task-specific KNN segments. In other words, the KNN can have multiple second paths, each assigned (only) to one task-specific segment, such that the different second paths are decoupled from each other in their respective information flows. Thus, even if the KNN is to perform three or more tasks that are different from each other and, for example, should change and / or improve only two of the three different tasks or at least three of the four different tasks, the aforementioned advantages for changing and / or improving the individual task-specific aspects can be achieved.
[0026] According to an improved scheme, KNN may have at least one recursive cross-task intermediate layer, which is configured to direct information flow toward the second path. The recursive cross-task intermediate layer can be understood as having direct feedback, indirect feedback, or lateral feedback, where in the case of direct feedback, a node uses its output as a re-input; in the case of indirect feedback, a node's output is used as an input node in the preceding cross-task intermediate layer; and in the case of lateral feedback, a node's output is used as an input node in the same cross-task intermediate layer.
[0027] In another improved embodiment, the second path may also have at least one recursive layer. As mentioned above, this recursive layer may be one of multiple nodes in the second path, if necessary. In this regard, the recursive layer can be understood as having direct feedback, indirect feedback, or lateral feedback, where in the case of direct feedback, the node uses its output as a re-input; in the case of indirect feedback, the node's output is used as an input node in a preceding cross-task intermediate layer; and in the case of lateral feedback, the node's output is used as an input node in the same cross-task intermediate layer.
[0028] A third aspect of the invention provides an apparatus comprising at least one multitasking artificial neural network (KNN) as described above. Here, the KNN can be implemented in software, hardware, or a hybrid of both.
[0029] This device can be configured, for example, as a computer, an electronic control device, or a combination of control devices. Furthermore, the device may have at least one processor, memory such as volatile or non-volatile memory, one or more data interfaces and communication interfaces to detection devices such as sensors, actuators of automated devices, robots, etc. The device may also be configured to receive input data, for example, in the form of signals, transmit said input data to the input layer of the aforementioned KNN, and provide its output data. Therefore, this device can be used in, for example, automation technology, robotics, etc., where it can modify and / or improve task-specific aspects as described above.
[0030] A fourth aspect of the invention provides a method for running a multi-tasking artificial neural network KNN. KNN can be implemented, for example, in the aforementioned devices, such as computers, electronic control devices, etc.
[0031] The proposed method sets up the following steps:
[0032] In the first phase, multiple distinct tasks of the KNN are jointly trained by delivering first training data via a first path, which allows for a first information flow through the KNN. This can be particularly accomplished in one or more of the aforementioned implementation variations.
[0033] In the second stage, one or more tasks from the trained KNN can be performed. These could be different tasks in automation, robotics, etc.
[0034] In the third stage, at least one of the tasks of the KNN can be trained and / or corrected independently of at least one other task from a plurality of tasks by delivering second training data via a second path different from the first path, wherein the second path allows a second information flow through the KNN that is different from the first information flow. This can be carried out in particular by the method described above in one or more of the implementation variations.
[0035] This allows for the retrospective modification and / or improvement of at least one individual task of KNN without unintentionally altering other tasks as well.
[0036] The fourth aspect of the invention relates to a computer program comprising instructions that, when executed by a computer, cause the computer to perform one of the methods described above, i.e., the method according to the first or third aspect, in one or more of the described embodiments.
[0037] The fifth aspect of the invention relates to a machine-readable storage medium having a computer program stored thereon according to the fourth aspect.
[0038] Computer-readable storage media can be, in particular, but not necessarily, a non-volatile medium suitable for storing and / or distributing computer programs. Computer-readable storage media can be CD-ROMs, DVD-ROMs, optical storage media, solid-state media, etc., provided together with or as part of other hardware. Additionally or alternatively herein, computer-readable storage media can also be distributed or sold in other forms, such as via data networks, the Internet, or other wired or wireless telecommunications systems. For this purpose, computer-readable storage media can be implemented, for example, as one or more data packets.
[0039] Other measures to improve the invention are shown in more detail below with reference to the figures and the description of preferred embodiments of the invention. Attached Figure Description
[0040] Advantageous embodiments of the invention are described in detail below with reference to the accompanying drawings. Wherein:
[0041] Figure 1 A block diagram illustrates a device with an artificial neural network according to an embodiment of the present invention.
[0042] Figure 2 A block diagram illustrates a device with an artificial neural network according to an embodiment of the present invention.
[0043] Figure 3 A block diagram illustrates a device with an artificial neural network according to an embodiment of the present invention.
[0044] Figure 4 A block diagram illustrates a device with an artificial neural network according to an embodiment of the present invention, and
[0045] Figure 5 To better illustrate the concept of a directed acyclic graph, the following is presented: Figure 4 The implementation method.
[0046] These figures are schematic only and are not drawn to scale. In the figures, identical, identical, or similar elements are usually equipped with the same reference numerals. Detailed Implementation
[0047] Figure 1Device 100 is illustrated in block diagram form. This device can be implemented, for example, in a robot that is at least partially automated (not shown). Device 100 is exemplary herein as a computer in the form of an electronic control device, which can be configured, for example, as an embedded system to perform, for example, the automation and / or control tasks of the robot. By way of example only, the robot can be a vehicle that is at least partially automated, such as a motor vehicle. Device 100 (at least in production operation) is further configured to receive input signals from, for example, sensors of the robot, process the input signals, and generate output signals in response to the input signals, and provide the output signals, for example, to the actuators of the robot. Referring to the example of a vehicle, device 100 can control some functions of the vehicle, at least based on incoming sensor signals, by manipulating actuators and / or vehicle drives, etc.
[0048] Device 100 includes an artificial neural network 110, hereinafter abbreviated as KNN, and hereby illustrated for better clarity as a directed graph with multiple nodes and edges. Nodes represent layers or multiple neurons arranged in layers. Edges represent layers or connections between neurons arranged in layers.
[0049] KNN 110 is multitasking capable, meaning it is configured to execute multiple tasks in parallel, such as synchronously or alternately. In this embodiment, KNN 110 is configured to execute at least two distinct tasks. Figure 1 The tasks described below are distinguished from each other by reference numerals A and B. By way of example only, the KNN 110 can be configured for image processing, such as for detecting different objects in sensor data. Specifically, traffic sign recognition can be set as task A and semantic scene segmentation as task B, in particular, by way of example only. Since the KNN 110 is, in principle, a machine learning system, it can also be configured or set up for a wide range of other technical tasks.
[0050] like Figure 1 As shown, KNN 110 is constructed as a multi-layered network, having an input layer 120, at least one cross-task intermediate layer 130, and multiple task-specific KNN segments 140, corresponding to the number of tasks A and B. Figure 1 In this context, multiple KNN segments 140 thus involve two tasks A and B, such that KNN 110 exemplary has two KNN segments 140. In principle, each of the KNN segments 140 can represent the output layer of KNN 110. For example... Figure 1As shown in the diagram, each of the KNN segments 140 can also be constructed in a multi-layered manner using correspondingly multiple hierarchically arranged task-specific task layers, wherein only three task-specific task layers are shown here for each of tasks A and B, and the number of such task layers can differ upwards and downwards. The number of intermediate layers 130 is shown here as five, wherein more or fewer intermediate layers 130 can also be provided.
[0051] Cross-task intermediate layer 130, such as in Figure 1 As indicated by the corresponding nodes and edges, this layer is common to both tasks A and B. Therefore, it is a shared layer for tasks A and B. Specifically, parameters usable across tasks can be shared, such as the weights of individual nodes, i.e., layers or neurons, activation functions, etc. For example, the complexity of the intermediate layer 130 can be increased layer by layer.
[0052] according to Figure 1 The input layer 120 is coupled to the intermediate layer 130 via an edge, and the intermediate layer is in turn coupled to task-specific KNN segments 140 via edges, making it possible for information to flow from the input layer 120 through the intermediate layer 130 toward the KNN segments 140 assigned to tasks A and B, which function as corresponding output layers. Figure 1 In the diagram, arrows indicate the input signal S that triggers the corresponding information flow. During the training phase, the input signal S can represent training data, while during the production operation of device 100, data such as sensor data is fed in.
[0053] like Figure 1 As shown, KNN 110 has a first path P1 that couples the input layer 120 to the task-specific KNN segment 140 via a cross-task intermediate layer 130 for a first information flow traversing KNN 110 in the direction indicated by the arrows on the edges. Correspondingly, the edges of the last intermediate layer 130 in the direction of the information flow couple the intermediate layer to the first layer of the corresponding task-specific KNN segment 140 in the direction of the information flow. That is, the information flow of the first path P1 branches off from the last of the intermediate layers 130 in the direction of the first task A and the direction of the second task B.
[0054] For example, further Figure 1As shown, KNN 110 additionally has a second path P2, the second information flow of which differs from the first information flow described above. Therefore, the second path P2 itself includes other nodes 170, which are connected to each other via other edges. Nodes 170 can also be understood as layers or neurons arranged within layers. The second path P2 leads only to one of the two tasks, namely, to the first task A in this embodiment. Therefore, path P2 represents a task-specific side path that, while allowing the second information flow to a single task within the tasks, here the first task A, is decoupled from at least one other task, here task B. Correspondingly, the second information flow along the second path P2 also only affects the task assigned to the second information flow, i.e., the first task A in this case, while the other task, here task B, remains unaffected.
[0055] According to Figure 1 In this embodiment, the second path P2 exemplaryly has only a number of nodes corresponding to the number of intermediate layers 130 across tasks. However, this number can also be different. The last node or layer in the information flow direction of the nodes or layers 170 of the second path P2 is coupled to the KNN segment 140 assigned to the first task A. Exemplarily, for example, the KNN segment of task A here has three task-specific task layers, wherein the first task layer in the information flow direction is coupled to the last node or layer in the nodes or layers 170 of the second path P2. It should be noted that the information flow of the second path P2 toward the first task A can be performed using at least one operator, such that the information flow of the second path P2 toward the first task A can be, for example, additive, subtractive, cascaded, etc. Figure 1 As shown, one or all layers 170 of the second path P2 can be combined with intermediate layer data, i.e., the aforementioned parameters that can be used across tasks, which are derived from the cross-task intermediate layer 130. In other words, there can be an information flow along an edge that couples one or more of the cross-task intermediate layers 130 to the second path P2, for example, with an edge or node of the second path. Thus, cross-task usable data, especially parameters, can be delivered to the second path P2 along this edge. It should be noted that this information flow is preferably unidirectional (i.e., only from the cross-task intermediate layer 130 toward the second path P2) so that the information flow via the second path P2 does not change the parameters, data, etc., of the cross-task intermediate layer 130.
[0056] Figure 2 Another embodiment of device 100 or KNN 110 is illustrated in block diagram. This embodiment is similar to... Figure 1The embodiment shown differs substantially in that the second path P2 has a number of layers 170, which is different from the number of cross-task intermediate layers 130 in the first path P1. For illustrative purposes only, the number of layers 170 in the second path P2 is less than the number of cross-task intermediate layers 130 in the first path P1, where this is also possible in reverse. However, because corresponding edges are provided from the first path P1 towards the second path P2, all parameters usable across tasks can also be supplied to the second path P2.
[0057] Figure 3 Another embodiment of device 100 or KNN 110 is illustrated in block diagram. This embodiment differs substantially from the one described above in that it also provides an additional second path P2' for the second information flow through KNN 110 for the second task B. In principle, the above description of the second path P2 applies to the other second paths P2'. It should be noted that the second path P2' (as in...) Figure 3 As visually illustrated, it can only affect the second task B, but not the first task A.
[0058] Figure 4 and 5 Another embodiment of device 100 or KNN 110 is illustrated in block diagrams. According to this embodiment, some, or if necessary, all, of the inter-task intermediate layers 130 can be implemented as recurrent layers. Correspondingly, the information flow between the inter-task intermediate layers 130 and / or toward the second path P2 may be more complex here than in the embodiments described above. To illustrate the correspondingly more complex exemplary information flow through KNN 110, KNN 110 according to this embodiment... Figure 5 The input signal S is shown as a directed acyclic graph at different time points, where t=0, t=1 and t=2.
[0059] According to the block diagram shown Figure 1 The following example illustrates how device 100 or KNN 110 can be trained to perform different tasks A and B.
[0060] As described above, KNN 110 has a first path P1 for the first information flow through KNN 110. In one phase, first training data is transmitted via this first path P1. This first training data is used to train cross-task parameters common to tasks A and B in the cross-task intermediate layer 130, wherein, in this training, for example, the weights of each layer or the neurons arranged therein are set so that the corresponding task A or B can be performed with the desired quality. In this way, different tasks A and B can also be trained progressively. After training, KNN 110 is then, in principle, adapted or trained for production operation. It should be noted that here, for better clarity, this training data is represented by input signal 120.
[0061] Typically, KNN 110 is still validated before production operation. However, if validation indicates that the task, for example, is based on... Figure 1 If the first task A does not provide the expected performance, the above-described architecture of KNN 110 can achieve retraining, fine-tuning, correction, or generally adaptation of a specific task A by means of a second path P2 for the second information flow through KNN 110. To this end, task-specific second training data is delivered via the task-specific second path P2, which enables adaptation of one task, here the first task A, without affecting another task, here the second task B. It should be noted that, for clarity, this training data is represented by the input signal 120. Since only the parameters, settings, etc. of task A are changed by delivering task-specific training data via the second path P2 (which also applies to other second paths P2'), i.e., without changing the parameters of the cross-task intermediate layer 130 and the task-specific parameters, settings, etc. assigned to task B, the subsequent verification overhead is significantly reduced. It goes without saying that since the parameters, settings, etc., common to tasks A and B have not changed, while task B remains unchanged, it is only necessary to verify task A as changed by delivering the second training data via the second path P2 or P2'.
[0062] The above principles of training, especially task-specific training, can be applied accordingly to all embodiments of this application.
Claims
1. A computer-implemented method for training a multi-task-capable artificial neural network (110) KNN, KNN is configured to process the images fed to it in order to perform multiple different tasks with the help of KNN. The plurality of different tasks include at least one first task (A) and a second task (B). The first task (A) is traffic signs and the second task (B) is semantic scene segmentation. The method comprises the following steps: - Provides a first path (P1) for a first information flow through a KNN (110), wherein the first path (P1) couples the input layer (120) of the KNN (110) to at least one cross-task intermediate layer (130) of the KNN (110), the cross-task intermediate layer being common to multiple different tasks of the KNN (110), and the first path (P1) couples the at least one cross-task intermediate layer (130) to corresponding task-specific KNN segments (140) from multiple different tasks (A, B), - First training data for training cross-task parameters is fed via the input layer (120) and the first path (P1), the cross-task parameters being common to multiple different tasks of the KNN (110). - Provide at least one task-specific second path (P2) for a second information flow different from the first information flow through the KNN (110), wherein the second path (P2) couples the input layer (120) of the KNN (110) with only a portion of task-specific KNN segments (140) from multiple tasks that are different from each other, and - The second training data is delivered via the second path (P2) and only task-specific parameters are trained based on the second training data.
2. The method of claim 1, wherein information flow from the at least one cross-task intermediate layer toward the second path (P2) is permitted, but reverse information flow from the second path (P2) toward the cross-task intermediate layer (130) is prevented.
3. The method according to claim 1 or 2, wherein the second training data delivered via the second path (P2) is composed of input data delivered to the input layer (120) and intermediate layer data derived from the at least one cross-task intermediate layer (130).
4. The method according to any one of claims 1 to 2, wherein those cross-task intermediate layers (130) that support training of task-specific parameters are selected from a plurality of cross-task intermediate layers (130) for combination with the second path (P2).
5. The method according to any one of claims 1 to 2, wherein between the delivery of the first training data and the delivery of the second training data, verification of at least a portion of tasks (A, B) that can be performed by the KNN (110) is performed, and the delivery of the second training data is performed to adapt to at least one specific task (A, B), excluding adaptation to at least one other specific task (A, B) different from this.
6. A computer-implemented or computer-implemented multi-tasking artificial neural network (110) KNN product, said KNN product being trained using the method according to any one of claims 1 to 5, said KNN product having -Input layer (120) - Multiple task-specific KNN segments (140), the task-specific KNN segments being assigned to multiple distinct tasks of the KNN (110), - At least one cross-task intermediate layer (130) is arranged between the input layer (120) and the plurality of task-specific KNN segments (140), and includes a plurality of parameters that can be used across tasks. - A first path (P1) that couples the input layer (120) to the plurality of task-specific KNN segments (140) via at least one cross-task intermediate layer (130) for a first information flow through the KNN (110), and - At least one task-specific second path (P2) that couples the input layer (120) to only a portion of a plurality of task-specific KNN segments (140) for a task-specific second information flow that is different from the first information flow through the KNN (110).
7. The KNN product with multi-task capability according to claim 6, wherein the number of layers in the second path (P2) is different from the number of the cross-task intermediate layers.
8. The multi-tasking KNN product according to claim 6 or 7, wherein the multi-tasking KNN has a plurality of second paths (P2) and each second path (P2) is configured for a sub-number of task-specific information flows directed only toward the plurality of task-specific KNN segments (140).
9. The multitasking KNN product according to any one of claims 6 to 7, wherein the multitasking KNN has at least one recursive cross-task intermediate layer (130) configured for information flow toward the second path (P2).
10. An apparatus having at least one multitasking artificial neural network (110) KNN product according to any one of claims 6 to 9.
11. A computer-implemented method for running a multitasking artificial neural network (110) KNN product according to any one of claims 6 to 9, wherein - In the first stage, multiple distinct tasks (A, B) of the KNN (110) are jointly trained by transmitting first training data via a first path (P1), the first path allowing a first information flow through the KNN (110). - In the second phase, one or more of the tasks (A, B) of the trained KNN (110) are performed, and - In the third stage, the KNN (110) is adapted to at least one task (A, B) by delivering second training data via a second path (P2) different from the first path (P1) and independent of at least one other task (A, B) of the plurality of tasks (A, B), the second path allowing a second information flow through the KNN (110) that is different from the first information flow.
12. A computer program product having a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 5 or 11.
13. A machine-readable storage medium having a computer program stored thereon, the computer program including instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 5 or 11.