Method and system for processing input values
The method integrates a working and evaluation level in an artificial learning system to process input values, incorporating non-technical factors, enhancing decision-making in machine control systems by adapting to various conditions without full retraining, addressing the limitations of specialized AI systems.
Patent Information
- Application Number
- JP2023529925
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-19
- Filing Date
- 2021-11-19
- Publication Date
- 2026-01-28
- Estimated Expiration
- 2041-11-19
AI Technical Summary
Existing artificial intelligence systems are typically trained for specialized tasks and are ineffective in other domains, requiring retraining for different applications, leading to inefficiencies and impracticality in real-time responses due to exponentially increasing training and testing data sets, especially when considering multidimensional or high-dimensional spaces.
A method involving an artificial learning system with a working level and an evaluation level, where input values are processed through an operation level and an evaluation level, allowing for the influence of one unit's output on the other, incorporating moral, ethical, and economic considerations alongside technical conditions, using interconnected artificial learning units and neural networks to adapt and make decisions.
Enables the integration of non-technical aspects like moral and economic factors into machine control systems, enhancing decision-making capabilities and improving adaptability without the need for complete retraining, thereby addressing the limitations of specialized AI systems.
Smart Images

Figure 0007808108000001 
Figure 0007808108000002 
Figure 0007808108000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an entire system comprising a working level and an evaluation level that is an artificial learning system, and in particular to the method implemented therein for processing input values in the control system of a machine. [Background technology]
[0002] Artificial intelligence is currently playing an increasingly important role in countless application fields. This was initially understood to mean the automation of intelligent behavior and machine learning. However, such systems are typically intended and trained for specialized tasks. This form of artificial intelligence (AI) is often referred to as "weak AI" and essentially relies on the application of calculations and algorithms to simulate intelligent behavior in a fixed domain. Examples include systems that can recognize specific patterns, such as vehicle safety systems, or systems that can learn and implement specific rules, such as chess. At the same time, these systems are essentially useless in other domains and may need to be completely retrained for other applications or even trained using an entirely different approach.
[0003] Neural networks are used, among others, for the practical implementation of such artificial / artificial learning units. In principle, these networks replicate the functionality of biological neurons at an abstract level. There are several artificial neurons, or nodes, connected to each other, which can receive, process, and send signals to other nodes. Then, for each node, functions, weights, and thresholds are defined, which determine, for example, whether a signal is passed to the node and with what strength.
[0004] Typically, nodes are considered in each layer, so each neural network has at least one output layer. Before that, further layers can exist as so-called hidden layers, forming a multi-layer network. Input values or features can also be considered layers. The connections between nodes in different layers are called edges, and they are usually assigned a fixed processing direction. The network topology can specify which nodes in one layer are linked to which nodes in the next layer. In this case, all nodes can be connected, but learned weights with a value of 0, for example, mean that signals cannot be further processed through that particular node.
[0005] The processing of signals in neural networks can be described by various functions. In the following, we will explain this principle for a single neuron or node of a neural network. From several different input values arriving at the node, the network input is formed by a propagation function (which is also the input function). Often, this propagation function consists of a simple weighted sum, which specifies the associated weight for each input value. However, in principle, other propagation functions are also possible. The weights can be specified as a weight matrix for the network.
[0006] An activation function, which may depend on a threshold, is applied to the network input of the node thus formed. This function describes the relationship between the network input and the neuron's activity level. Various activation functions are known, such as a simple binary threshold function (whose output is therefore zero below the threshold and identical above the threshold); a sigmoid function; or a piecewise linear function with a given gradient. These functions are specified during the design of the neural network. The result of the activation function forms the activation state. Optionally, an additional output function can be specified. This is applied to the output of the activation function and determines the node's final output value. However, in many cases, the result of the activation function is simply passed directly as the output value; that is, the ID is used as the output function. Depending on the terminology used, the activation function and output function can also be combined as a transfer function.
[0007] The output values of each node are then passed to the next layer of the neural network as input values for each node in the layer, where the corresponding steps are repeated to process each of the node's functions and weights. Depending on the topology of the network, there may also be backward edges to previous layers or backward edges back to the output layer, resulting in a recurrent network.
[0008] Meanwhile, the weights with which each input value is weighted can be changed by the network, thereby adjusting the output value and the overall network function. This is considered "learning" for a neural network. For this purpose, networks typically use error backpropagation: they compare the output value with an expected value and use that comparison to adapt the input values with the aim of minimizing the error. Through error feedback, various parameters of the network can be adjusted accordingly, such as the step size (learning rate) and the weights of the input values at the nodes. Similarly, the input values can also be reevaluated.
[0009] The network can then be trained in training mode. The learning strategy used is also crucial for the possible use of neural networks. In particular, the following variants are distinguished:
[0010] In supervised learning, an input pattern or training data set is given and the output of the network is compared to an expected value.
[0011] In unsupervised learning, only the patterns to learn are specified, leaving the discovery of correlations and rules to the system. An intermediate variant is semi-supervised learning, which can also use data sets without predefined classifications.
[0012] In reinforcement learning or Q-learning, an agent is created that is able to receive rewards and punishments for its actions, and based on this, tries to maximize the rewards it receives and adapt its actions accordingly.
[0013] An important application of neural networks is to classify input data or inputs into specific categories or classes, i.e., to recognize correlations and assignments. Classes can be trained based on known data and be at least partially predefined, or they can be developed or learned independently by the network.
[0014] The basic functionality and further specific details of such neural networks are known from such subjects as, for example, R. Schwaiger, J. Steinwender, Neuronale Netze programmieren mit Python, Rheinwerk Computing, Bonn 2019.
[0015] Universally applicable AI systems that are not trained for only one specific task require exponentially increasing training and testing data sets, leading to multidimensional or high-dimensional spaces. Real-time responses therefore quickly become impossible. Therefore, attempts are generally made to reduce the dimensionality and complexity of such systems. Various approaches have been pursued to solve this problem. For example, complexity can be reduced by linking data sets, reducing degrees of freedom, and / or providing known knowledge to the system. Another approach is to at least partially separate correlated or interdependent data sets, using methods such as principal component analysis. Applying filtering methods to features, such as statistical tests like the chi-square test, can filter out inconspicuous or negatively salient data when training the network. Finally, the selection of training data itself can be implemented as an optimization problem for the AI network. In this case, training data is combined to train a new network as quickly and appropriately as possible.
[0016] More advanced approaches include so-called "convolutional neural networks," which, instead of simple matrix transformations, apply convolutions in at least one layer of a fully connected, multilayer network. For example, the so-called "deep dream" method is well-known, particularly in the field of image recognition. In this method, the weights of the trained network remain optimal, but instead, input values (e.g., input images) are modified as a feedback loop depending on the output values. In this way, for example, what the system believes it is identifying is faded in. The name comes from the fact that dreamlike images are created in the process. In this way, it is possible to track the internal processes of a neural network and its direction.
[0017] It is clear that these methods still show significant differences from human intelligence. While databases, text files, images, and audio files can, in principle, be compared to how facts, language, speech logic, sounds, images, and event sequences are stored and processed in the brain, human intelligence differs significantly in linking all this data in the context of, for example, emotions and unconscious "soft" classifications. Summary of the Invention [Problem to be solved by the invention]
[0018] According to the invention, a method for processing input values implemented in a control system of a machine, the entire system having a working level and an evaluation level being an artificial learning system, and a corresponding system having the features of the independent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description. [Means for solving the problem]
[0019] a method (or methods, as the case may be) implemented in a machine control system for processing input values, including sensor data (or values or measurements, as the case may be) detected by one or more sensors in an overall system having an operation level and an evaluation level, the overall system being an artificial learning system; a) inputting a first input value into an operation level, and determining a first output value from the first input value by the operation level according to a first classification; b) forming first situation data based on the first output value; c) inputting the initial situation data into an evaluation level, and determining an initial evaluation by the evaluation level indicating whether or to what extent the initial situation data meets the predetermined initial conditions; d) influencing a determination of a first output value at an operation level based on the first assessment; As a result, steps a) to d) are repeatedly executed, e) inputting a second input value into the operation level according to the second classification, and determining a second output value from the second input value according to the operation level, wherein the determination of the second output value is influenced by the first output value; f) forming second situation data based on the second output value; and g) inputting second situation data into an evaluation level and determining a second evaluation by the evaluation level indicating whether or to what extent the second situation data meets a predetermined second condition, wherein the determination of the second evaluation is influenced by the first evaluation; h) influencing a determination of a second output value at the operation level based on the second evaluation; Thereby, steps e) to h) are repeatedly performed, The first and / or second output values are used as an overall output value of the overall system, and the overall output value is used as a control parameter and / or a state parameter of the machine.
[0020] In particular, an "artificial learning system" within the meaning of the present application may include two (or more) artificial learning units coupled to each other. See the descriptions of Figures 1-6. An "artificial learning unit" can be considered as a unit implementing a machine learning-based algorithm, such as an artificial neural network. A machine learning-based algorithm can be trained using training data to build a model and make predictions or decisions based on input values, which are output in the form of output values. The task-level and evaluation-level artificial learning units can be trained to obtain first and second output values from first and second input values, and first and second evaluations from first and second situation data, respectively. The coupling of the artificial learning units within the artificial learning system is particularly implemented so that the first unit or its output value influences the processing of the second unit or its input value, but the second unit does not influence the first unit.
[0021] An artificial learning system or unit can be implemented as a computer program running on a computational unit (e.g., a processor, a computer, a server system, an accelerator card). An artificial learning system or unit can also be implemented at least partly in hardware, for example as an FPGA (Field Programmable Gate Array). In particular, it is also possible to implement an artificial learning system by interconnected artificial learning units that can also run on different computational units.
[0022] The machine may be, for example, an industrial machine, an industrial plant (a system of interacting machines), a mobile work machine, and / or a vehicle, particularly an autonomous or semi-autonomous vehicle. The control system may comprise one or more control or computing units (e.g., in one or more control units of the machine). In particular, it may be envisaged that the operation level and the evaluation level are implemented in different computing units (e.g., different control units) that are separate from each other. Each control or computing unit may comprise one or more processors, volatile memory, non-volatile memory, communication interfaces (for data communication with sensors, machine components, other control units, or external devices), and / or the like. Hardware accelerator elements (AI accelerators for accelerating the evaluation calculation steps of the artificial learning system or artificial learning unit) may also be provided in the control unit. In particular, the program for implementing the method and / or data generated during the implementation of the method may be or are stored in the non-volatile memory.
[0023] On the one hand, sensors (preferably mounted on the machine) can be provided to determine or measure characteristics or variables of the machine or machine components, such as pressure sensors (e.g., for determining hydraulic fluid pressure), current and / or voltage sensors (e.g., for electric actuators or electric motors / generators), temperature sensors, speed sensors, rotational speed sensors, light sensors, position sensors, sensors for determining the position of actuators, etc. On the other hand, additionally or alternatively, sensors (preferably mounted on the machine) can be provided to determine or measure characteristics or quantities affecting the machine's environment, such as cameras, radar, lidar or infrared sensors, microphones, etc. In addition to sensor data, input values can also include other data or values, such as user input, data transmitted from other devices, requests or specifications, previous values of control or state parameters, etc.
[0024] The term "control parameter" is intended to refer to a parameter or quantity used to control a machine, e.g., a parameter / quantity based on which component of the machine is controlled. The term "status parameter" refers to a parameter that indicates the state of the machine, e.g., which of various possible operational evaluation states exists, whether a dangerous condition exists, or whether the machine is functioning properly, or whether a fault condition exists.
[0025] The influence of the first or second evaluation on the determination of the first or second output value (step d) or h)) refers to the next iteration of the determination of the first or second output value from the first or second input value, respectively, i.e., the next iteration of steps a)-d) or e)-h). In particular, in the first iteration, the determination of the first or second output value is not yet influenced. This can be achieved, for example, by initializing with a neutral first or second evaluation.
[0026] The input values can remain constant during the repetition of steps a)-d) or e)-h), or they can be variable, thereby allowing both to be used simultaneously. For example, sensor data (measurements) determined at a relatively high rate, such as current intensity, voltage, temperature, or speed sensors, can change at least slightly during the repetition. In the case of a large change, e.g., greater than a predetermined threshold, the existence of a new situation can be assumed (if a new situation exists, the first output value can be used initially as the total output value, and then, e.g., after a certain time period or if another condition is met, the second output value can be used as the total output value). Other sensor data, such as camera data, can remain constant even when evaluating images captured at a relatively low rate (e.g., 30, 60, or <100 Hz). In this case, the (first / second) time interval that is maximally available for the repetition can be selected according to this low rate. For example, if images are captured at a frequency of 30 Hz, which corresponds to a time interval of approximately 33 ms between two consecutive images, the time interval can be selected to be less than 33 ms. A newly captured image is evaluated at each time interval, e.g., 30 ms. If simultaneously acquired data at a higher frequency are used as input values, these may change during this time interval (e.g., 30 ms). Here, this change is assumed to be relatively small, so no fundamentally new situations arise.
[0027] In particular, the input values may be time-dependent. For example, the input values may be a time series of sampled signals. Therefore, due to such time-dependence, the input value input to a second operational unit may differ (in its current value) from the (previous) input value input to a first operational unit, or if the input value is repeatedly used by one operational unit in further steps of the method, this one operational unit may process a different current input value. However, for simplicity, we will always refer to "input value" without explicitly mentioning the time-dependence.
[0028] The first or second condition may be of a purely technical nature: for example, if the method is used in a machine control system and the total output value represents a control parameter, e.g., a motor, one of the conditions may be that the control parameter must be within a technically specified range, e.g., below the maximum speed of the controlled motor.
[0029] In particular, the conditions may also be, at least in part, of a non-technical nature: they may relate to moral, ethical or economic aspects.
[0030] Moral and ethical aspects are relevant, for example, for autonomous vehicles in which an artificial learning system is used as a control system. For example, if the control system determines, based on, for example, camera or lidar images captured by the autonomous vehicle and evaluated by the control system, that a collision with another vehicle can no longer be avoided by fully braking without steering corrections, it determines various possible steering corrections that could avoid the collision. For example, one possible steering correction could endanger pedestrians, while another possible steering correction could lead to a collision with a wall. One of the first conditions is that human life must not be directly endangered. This condition allows steering movements that endanger pedestrians to be excluded or suppressed compared to other solutions. Such a basic evaluation can lead to an interaction between the first output value and the first evaluation. In the remaining two options in this example (steering correction and no collision with another vehicle, steering correction and collision with a wall), moral and ethical aspects can also play a role, for example, because endangering other vehicles and their occupants must be avoided. This is the second condition considered in this example, for example, in the case of a more detailed analysis that forms the basis for the second output value. In this example, the first condition represents an absolute consideration, and the second condition represents a relative consideration.
[0031] Such moral, ethical, or economic considerations can be codified in an appropriate way as conditions, such as a contract that implements certain tradeoffs in the form of an automatically executed program. In this sense, the conditions constitute a moral contract, so to speak.
[0032] The conditions are "normative codes" - rules that should be strived for, but not necessarily achieved in all cases. Therefore, these conditions are not absolute requirements that must be met in all cases. Therefore, the overall output is determined by the level of work, and by influencing the level of work through the evaluation level of each input value, the overall output is determined so that the conditions are met as much as possible.
[0033] The invention therefore makes it possible to take into account aspects that are not of a directly technical nature in the technical system that is controlled or monitored by the method according to the invention for processing input values.
[0034] An example of an economic consideration is the use of a system to control machines in a production plant: on the one hand, it is necessary to produce as many products as possible as quickly as possible (i.e., to generate high revenue), but on the other hand, this leads to higher wear and tear. So, in principle, this is a mixture of economic and technical considerations.
[0035] Preferably, steps a) to d) are performed repeatedly until a first predetermined time period has elapsed and / or until the first output value does not change between successive iterations within a first predetermined tolerance range and / or until the first evaluation indicates that the first condition has been met at least to some extent, and the first output value is preferably used as the total output value when the iterations are completed.
[0036] Steps e) to h) are preferably repeated until a second predetermined time period has elapsed and / or the second output value does not change between successive iterations within a second predetermined tolerance range and / or the second evaluation indicates that the second condition has been met at least to some extent, and the second output value is preferably used as the total output value when the iterations are completed.
[0037] The method preferably comprises storing in a total or total sequence memory a total sequence of total records comprising mutually corresponding input values and / or first output values and / or first situation data and / or first evaluations and / or second output values and / or second situation data and / or second evaluations, and the total records and / or values or data comprised in the total records are preferably provided with respective time information and / or numbering.
[0038] The method includes supplementing the first and second conditions, such that for each of the first and / or second situation data, the first and second conditions, respectively, were not satisfied before supplementation, and the supplemented first and second conditions, respectively, are preferably satisfied or at least partially satisfied, and preferably only the second condition is modified, while the first condition remains unchanged.
[0039] When the repetition of steps e) to h) is stopped because the second time period has expired or, preferably, because the second output value no longer changes within the second tolerance range, the second condition is supplemented so that the situation data present at the time of suspension satisfies the supplemented second condition.
[0040] Completion or supplementation of the first and / or second condition is preferably based on the total stored sequences in which the first or second condition is not met (or is not met to some extent).
[0041] Preferably, the overall system includes a projection level, and the formation of the first and / or second situation data is performed by the projection level.
[0042] Preferably, the second classification divides at least one class of the first classification into multiple subclasses, and / or for at least one of the first conditions, one first condition is implied by multiple second conditions.
[0043] Preferably, the first condition is given in the form of a rule, and the second condition is given in the form of a rule classification. Each rule is assigned a rule classification that represents a subdivision of the respective rule, in particular a division into several levels. A memory is preferably provided in which the rules and rule classifications are stored. Furthermore, it is preferred that the rule classifications are subdivided into levels linked by a blockchain, and that the rules and / or rule classifications are in each case implemented in the form of smart contracts and / or further levels of subdivision are added, if necessary, when supplementing the second condition.
[0044] The working level is preferably designed so that the determination of the first output value in step a) requires a shorter period of time and the determination of the second output value in step e) requires a longer period of time, and / or the evaluation level is designed so that the determination of the first evaluation in step c) requires a shorter period of time and the determination of the second evaluation in step g) requires a longer period of time, in both cases the longer period is preferably at least twice, in particular at least five times, longer than the shorter period of time.
[0045] The first and second input values are preferably provided as continuous-time input signals or discrete time series, and further preferably the first and second input values are wholly or partly identical.
[0046] Preferably, the operational level includes first and second artificial learning units, where the first artificial learning unit is configured to receive first input values and determine first output values, and the second artificial learning unit is configured to receive second input values and determine second output values. In the operational level, one or more first modulation functions are formed based on the first output values and / or values derived therefrom, and the formed one or more first modulation functions are applied to one or more parameters of the second artificial learning unit, which affect the processing of the input values and the obtaining of the output values in the second artificial learning unit.
[0047] In the simplest case, the situation data may be, for example, the respective output values themselves. The first and second situation data may be formed according to the dominance within the work level formed by the first and second work units. That is, if the first work unit is dominant, the first situation data is formed based on at least the first output value of the first work unit (e.g., the output value of the first work unit and / or a value derived therefrom is used as the situation data). On the other hand, if the second work unit is dominant, the second situation data is formed based on at least the second work unit (e.g., the output value of the second work unit and / or a value derived therefrom is used as the situation data).
[0048] Preferably, the first evaluation and / or values derived therefrom are used as evaluation input values for a first artificial learning task unit, and / or one or more second modulation functions are formed based on the first evaluation and / or values derived therefrom, and the formed one or more second modulation functions are applied to one or more parameters of the first artificial learning task unit, which one or more parameters affect the processing of input values and the obtaining of output values in the first artificial learning task unit, and / or the second evaluation and / or values derived therefrom are used as evaluation input values for a second artificial learning task unit.
[0049] Since the evaluation input values are part of the input values and are additional input values to the input values being analyzed, the first output value can be changed accordingly. If, prior to the first execution of step a), the input values have changed significantly, indicating a new situation, the first evaluation can be initialized to indicate that all first conditions are met.
[0050] The evaluation layer preferably includes first and second artificial learning evaluation units, where the first artificial learning evaluation unit is configured to receive first situation data and determine a first evaluation, and the second artificial learning evaluation unit is configured to receive second situation data and determine a second evaluation. In the evaluation layer, one or more third modulation functions are formed based on the first evaluation and / or values derived therefrom, and the formed one or more second modulation functions are applied to one or more parameters of the second artificial learning evaluation unit, which one or more parameters affect the processing of input values and the obtaining of output values in the second artificial learning evaluation unit.
[0051] The method preferably comprises storing in a first sequence memory a first evaluation sequence of a first evaluation set comprising input values of a first evaluation unit and associated first evaluations, the first evaluation set being provided in particular with respective time information and / or numbering, and / or storing in a second sequence memory a second evaluation sequence of a second evaluation record comprising input values of a second evaluation unit and associated second evaluations, the second evaluation record being provided in particular with respective time information and / or numbering. Preferably, the first and / or second evaluations are further determined taking into account the stored first or second evaluation sequence.
[0052] Saving the first and second evaluation sequences allows the "decisions" of the evaluation unit to be tracked and, if necessary, the evaluation sequences can be used to perform further training, for example if they do not work as desired.
[0053] Preferably, the storage is performed in a cryptographically protected manner, whereby preferably one blockchain is used in each case, whereby each blockchain block contains at least one of the first evaluation record, the second evaluation record or the aggregate record.
[0054] Preferably, the method includes receiving an output value from the other system, forming first and / or second situation data from the received output value, determining first and / or second ratings according to rating levels based on the first and second situation data formed from the received output value, respectively, and determining that the other system is compatible if the determined first and / or second ratings indicate that the first and second conditions, respectively, are met.
[0055] Systems whose evaluation units generally test different conditions are referred to here as "compatible" if the systems do not contradict each other in their evaluation, i.e., input values (situational data) of the evaluation unit that one system classifies as in accordance with its condition are not classified by the other system as unacceptable with respect to that (other) condition, taking into account tolerances where necessary, especially in the case of graded evaluations.
[0056] The system according to the invention comprises a working level and an evaluation level and is adapted to carry out the method according to the invention, wherein the working level is preferably adapted to receive input values and the evaluation level is preferably not capable of receiving input values.
[0057] Preferably, the operation level and the evaluation level are each implemented in at least one computing unit (as hardware and / or computer program), and the at least one computing unit on which the operation level is implemented is further preferably different, in particular separate, from the at least one computing unit on which the evaluation level is implemented. If the at least one computing unit on which the operation level or the evaluation level is implemented comprises multiple computing units, it can also be referred to as a respective computing system. The at least one computing unit (or computing system) is connected to each other via corresponding (wired and / or wireless) interfaces for data exchange. The operation level and the evaluation level can be implemented, for example, in different control devices (computing units or computing systems). Different mobile wireless devices are also conceivable. It is also possible that the operation level is implemented by a control device (computing unit / computing system) permanently installed on the machine, and the evaluation level is implemented by a mobile computing unit (e.g., a mobile wireless device).
[0058] The system preferably comprises a projection level and / or total sequence memory.
[0059] In the system, the working plane preferably includes first and second artificial learning operation units, the evaluation level preferably includes first and second artificial learning evaluation units, and the artificial learning operation units and / or the evaluation units preferably each include a neural network having a plurality of nodes, and further, each of the one or more parameters preferably is at least one of node weights, node activation functions, node output functions, and node propagation functions of the neural network.
[0060] Preferably, a classification memory is assigned to each of the first operational unit, the second operational unit, the first evaluation unit, and the second evaluation unit, and the first operational unit, the second operational unit, the first evaluation unit, and the second evaluation unit are configured to perform classification of input values or evaluations when generating output values or evaluations. The first operational unit, the second evaluation unit, and the second evaluation unit are configured to classify input values or situation data into one or more classes when generating output values or evaluations, and these classes are stored in the respective classification memories, and each class is structured with one or more subordinate levels. Preferably, the number of classes and / or levels in the classification memory of the first operational unit and / or the first evaluation unit is smaller than the number of classes and / or levels in the classification memory of the second operational unit, and / or the number of classes and / or levels in the classification memory of the second evaluation unit is also preferably greater than the number of classes and / or levels in the classification memory of the first evaluation unit.
[0061] In the system, the first and second artificial learning processing units are preferably implemented and / or executed as hardware and / or computer programs in the first and second computing units, respectively, which are interconnected by a first interface. Optionally, the first interface is configured to generate one or more first modulation functions. Independently, in the system, the first and second artificial learning evaluation units are preferably implemented and / or executed as hardware and / or computer programs in the third and fourth computing units, respectively, which are interconnected by a third interface. Optionally, the third interface is configured to generate one or more third modulation functions. The third computing unit and the first computing unit are preferably interconnected by a second interface. Optionally, the second interface is configured to generate one or more second modulation functions. The first, second, third, and / or fourth computing units may be completely or partially separate (separate) from each other. In particular, the at least one computing unit on which the task level is implemented includes a first computing unit and a second computing unit, i.e., the first and second computing units can be considered as a computing system on which the task level is implemented. Similarly, the at least one computing unit on which the evaluation level is implemented includes a third computing unit and a fourth computing unit, i.e., the third and fourth computing units can be considered as a computing system on which the evaluation level is implemented. Here, it is also conceivable that the first computing unit is a different (separate) computing unit from the second computing unit and / or that the third computing unit is a different (separate) computing unit from the fourth computing unit.
[0062] Preferably, at least one, and preferably all, of the computing units are associated with a memory connected to or included in the respective computing unit, and further preferably, the memory associated with the first computing unit is configured to store the first classification, and / or the memory associated with the second computing unit is configured to store the second classification, and / or the memory associated with the third computing unit is configured to store the first condition, and / or the memory associated with the fourth computing unit is configured to store the fourth condition.
[0063] Preferably, the system may further comprise at least one output module for outputting the first and / or second output values to a user, the output module comprising at least one of a screen, a touch screen, a speaker, a projection module.
[0064] Further advantages and embodiments of the invention are apparent from the description and accompanying drawings.
[0065] It is understood that the features mentioned above and those to be explained below can be used not only in the combination indicated in each case, but also in other combinations or alone, without departing from the scope of the invention.
[0066] The invention is illustrated diagrammatically by way of example of an embodiment in the drawings and will be explained below with reference to the drawings. [Brief explanation of the drawings]
[0067] [Figure 1] 1 shows the combination of two artificial learning units coupled together. [Figure 2] 1A-1C illustrate various exemplary modulation functions. [Figure 3] We demonstrate the application of a dropout procedure in two coupled neural networks. [Figure 4] 2 shows a system similar to that of FIG. 1 with an additional timer. [Figure 5]2 shows schematically a system similar to that of FIG. 1 with an associated classification memory; [Figure 6] An alternative system with three coupled artificial learning units is shown. [Figure 7] 1 illustrates an exemplary overall system according to the present invention, having a working level, an evaluation level, and a projection level. [Figure 8] 1 shows an exemplary overall system according to the present invention, having two artificial learning task units, two artificial learning evaluation units, and a projection level. DETAILED DESCRIPTION OF THE INVENTION
[0068] Figures 1-6 and their following descriptions relate to both the artificial learning task unit and the artificial learning evaluation unit. Therefore, in the descriptions of Figures 1-6, the terms "artificial learning unit" or "artificial learning unit" are used, which can refer to both the "artificial learning task unit" and the "artificial learning evaluation unit." Artificial learning units combined as described in connection with Figures 1-6 are referred to as an "artificial learning system."
[0069] 1 shows an exemplary embodiment with two linked artificial learning units 110, 120, which will be described in more detail below. Together, the artificial learning units 110, 120 form an artificial learning system. In the following description, the artificial learning units are exemplarily designed as neural networks, and in particular, feedback is provided by using output values, indicated for example by arrows 112, 122, as inputs to the respective networks.
[0070] In this case, a first artificial learning unit 110, here in the form of a first neural network, is provided, which essentially learns the input signal X iThe first neural network 110 can categorize or classify the inputs and use the results of this categorization or classification to influence a second artificial learning unit 120, here a second neural network. In doing so, the results of the first neural network are preferably not used as inputs to the second neural network, but are instead used to influence the network's existing weights, step sizes, and functions. In particular, these parameters of the second neural network can be influenced so that they are not completely redefined, but rather the original parameters of the second network 120 are modulated or superimposed based on the output signals of the first neural network 110. This means that the two neural networks can preferably operate independently and differently. For example, they can be trained on their own basis, but can also be combined by superposition. In this regard, the two neural networks can be designed to be substantially similar to each other, but differ significantly in their level of complexity, e.g., the number of layers and classifications present. Furthermore, each of the neural networks can include its own memory.
[0071] In a possible embodiment, the first neural network 110 can be used as a classification network, which serves to roughly and quickly classify the input values, while based on the classification results the second network is influenced accordingly by modulating the parameters of the second network. For this purpose, the first neural network can be a relatively low-level network, which can classify several classes K1, K2, ... K nPreferably, the first neural network has a memory with a high level of abstraction to achieve a rough classification. For example, this first neural network can be limited to 10, 50, 100, or 500 classes, whereby these numbers should of course be understood as rough examples only. In particular, training of the first neural network can be performed individually and independently of further coupled neural networks. However, additionally or alternatively, a training phase in conjunction with one or more coupled neural networks can also be used.
[0072] Therefore, the first neural network must provide usable output within a short time period, so that the second neural network can be meaningfully influenced. Weights and functions can be generated from the output values, Output1, of the first neural network 110, which can be superimposed on the self-generated weights and functions of the second neural network 120. This means that the second neural network initially functions independently and does not fully adopt the output values or parameters derived from the first network. The second neural network 120 can also initially be trained independently in the usual way, thereby having self-generated weights.
[0073] The second neural network may be significantly more complex than the first neural network, particularly having more levels and / or memory classes. The degree of increase in the complexity of the second neural network compared to the first network can be determined in different ways depending on the application. The input values or input data for the second neural network are preferably the same as those for the first neural network, so that more complex analyses can be performed using the same data. However, instead, the output values of the first neural network can be used at least partially as input values for the second network. In particular, if the complexity of the second network is significantly different, a second network can be provided to which the original input values that also serve as input values for the first network are supplied as input values, and the output values of the first network are used as input values for the second network.
[0074] Figure 2 shows various modulation functions f that can be superimposed on one or more parameters of the second neural network. mod In principle, the superposition or modulation can be done in any way. i2 modulation function f mod_w Applying the weighting matrix w of the second network 120 may be used as an argument to the modulation function, for example, or the weighting matrix w may be used as an argument to the modulation function. i2 We can provide a one-dimensional (also different) function for each of the modulation functions f mod_f is applied to one of the describing functions of the second neural network, i.e., the transfer function f of network 120. trans2 , activation function f akt2 , the propagation function or output function f out2 This can be done by linking the two functions, again using the modulation function f mod_f is used to calculate only some or all of the relevant describing functions (e.g., all activation functions fakt2 ) can be applied to either the first or second neural network. Similarly, the parameters of the function of the second neural network can be varied by a modulation function. The modulation can be applied equally to all nodes of the network, or alternatively to only a subset of nodes, or different nodes can be modulated in different ways. Similarly, for example, modulation can be applied separately to each layer of the network, or in different ways, alternating between them.
[0075] In particular, the modulation function f mod may be a time-dependent function, and consequently the weights w of the second neural network i2 Alternatively, the function may vary in a time-dependent manner. However, static modulation functions for modulating the second neural network are also conceivable. In this case, the modulation is applied to parameters of the second network 120 that were already initially defined for this second network (such as propagation and activation functions) or to parameters obtained independently during the training phase, such as adaptive self-generated weights.
[0076] As an example of this, eight different time-dependent modulation functions are shown in Figure 2. The modulation functions are obtained by multiplying the original parameter by a value, as shown in Figure 2. Example a) shows a simple binary step function, in which the value zero is assigned until a specified time, and then a value greater than zero is assigned. Here, the second value can, in principle, be 1, but it can also be another value, so that an additional coefficient is assigned to the original parameter. In this way, for example, weighting can be switched on or off in a time-dependent manner, or time-dependent amplification can be achieved. Example b) shows a similar situation, in which a step function with a second value less than zero is assigned. Similarly, as an alternative to the variations of examples a) and b), step functions with two or more different values not equal to 0 can be considered, resulting in an increase or decrease in level as a function of time.
[0077] Example c) shows a periodic modulation function that can also be applied to any parameter of the second network. In this way, certain elements are periodically amplified or attenuated depending on time. For example, different amplitudes and / or periods can be selected for such a function for different nodes and / or different layers. At this point, any periodic function can be used, such as a sinusoidal function or a non-stationary function. Depending on the type of connection between the function and the self-generating function of the second network, only positive or negative function values can be selected.
[0078] Example d) shows a slow, continuous, and transient increase and decrease in level. Meanwhile, example e) shows a brief, roughly rectangular high level with an otherwise low function value that can optionally be zero. Similarly, example f) shows irregularly distributed, very short peaks or spikes, resulting in a very short period of level increase or change. Here, the peaks have different amplitudes and can take both positive and negative values (relative to the base value). Variations on examples e) and f) can include both regular, periodic, and completely irregular (e.g., stochastically determined) distributions of peaks or amplitudes. For example, a short level increase can be within the time of a second neural network's decision cycle, while a longer level change can span several decision cycles.
[0079] Example g) of Figure 2 further shows a damped oscillation, which can also be designed arbitrarily with different damping and amplitude. Finally, example h) shows a time series of different oscillations around a base value, whereby in particular the length of the oscillation period differs, but the amplitude remains the same. This combination of different oscillations can also be designed as an additive superposition, i.e., a beat.
[0080] In general, any modulation function is possible, and the functions shown in Figure 2 should be understood as merely examples. In particular, any combination of the functions in the examples shown is possible. It is also understood that the baseline shown in all examples can be implemented with 0 or another base value, depending on the desired effect of the modulation function. In the case of a pure concatenation of the modulation function and each modulated function, a base value of 0 and the corresponding increase in function value can ensure that each node contributes to processing only in a time-dependent manner and is switched off otherwise. On the other hand, if the base value is 1, for example, in the example of Figure 2a), the modulation function initially applied to the weights can be realized to reproduce the self-generated weights of the modulated network as base values, starting from a stepwise higher value and increasing the weights accordingly. Therefore, such functions can also be used to modulate functions such as activation functions.
[0081] As already explained, the modulation function can be formed based on the output values of the first artificial learning unit, i.e., the first neural network in this example. The relationship between the output values and the modulation function formed therefrom can be designed arbitrarily. For example, this relationship can be at least partially generated during a joint training phase of the combined networks. In other embodiments, the dependency between the modulation function and the output values of the first network can be predefined. For example, the modulation function can be one of the functions shown in the figure, with the magnitude of the level excursion determined by the output value. Optionally, it can be determined that certain output values initially do not trigger modulation of the second network.
[0082] Instead of, or in addition to, applying a modulation function to the weights and functions of a second neural network, we can also apply the connected dropout technique shown in Figure 3. This is a traditional neural network training procedure in which only a portion of the neurons in the hidden and input layers are used in each training cycle, while the rest are not used ("dropped out"). To this end, prior art techniques typically set a dropout rate based on the network's feedback error, which determines what percentage of the overall network consists of turned-off neurons. Similarly, instead of neurons, we can turn off some of the edges or connections between neurons.
[0083] In an exemplary embodiment, such partial cutting of neurons and / or edges is also used in the second neural network, whereby the dropout parameters are not based on the network's own error feedback, but rather, as in the case of time-dependent modulation, depend on the output values of the first neural network. For example, the dropout rate of the second neural network can be determined based on the output value, Output1, of the first neural network 310 applied to the second network. This figure again shows two coupled networks 310, 320, as in Figure 1, whereby the neurons or nodes 326, 328 of the second network 320 are shown schematically as circles. Connecting edges are not shown, and the illustrated neuron arrangement is not intended to bear any persuasive relationship to the actual topology. The dropout rate deactivates some of the existing neurons, rendering them unused. The active neurons 326 of the second network are shown hatched in the figure, while the hollow neurons are intended to represent the inactive dropout neurons 328.
[0084] In general, the joint dropout described here uses 0 or 1 as a modulation function for the weights, and the modulation function f modThe dropout rate can be understood as a function of the rate of the first network's output, or as an output function of an individual node, for example. In this case, it is possible to determine which neurons 326, 328 are turned off based on the output value of the first network, or by specifying only a rate, which neurons are turned off via a probability function. Again, the dropout rate can be determined based on the output value, Output1, of the first network 310. Optionally, the dropout modulation function can also cause a time-dependent shutdown. This corresponds, for example, to the concatenation of a dropout function and a modulation function, as shown in FIG. 2. Similarly, a sequence of pattern cutoffs proven in previous training can also be used, for example, to use a cyclic pattern change for the cutoff in the second neural network 320.
[0085] In general, dropout can reliably improve the speed of neural networks. It also prevents the behavior of neighboring neurons from becoming too similar. The above-mentioned combined dropout can be used both in the joint training phase, where two networks are combined, and in networks that have already been trained.
[0086] To ensure that coupled neural networks complement each other in a meaningful way, it is possible to determine which neural network dominates the overall system at any given time. A network whose output value determines the output of the overall system can be described as a dominant network or dominance. In the following, we assume that only one network in a group of two or more coupled networks is dominant, and that the output of the dominant network is equal to the output of the overall system. However, other embodiments are in principle conceivable, so that, for example, in the case of two or more dominant nets, rules describing the processing of the output values of the dominant nets into a final total output value are specified.
[0087] In an exemplary embodiment, a timer or timing element can be implemented for this purpose, which sets a time limit for one or more of the coupled neural networks. This time specification should preferably be understood as a maximum or temporary upper limit within which the output value of each network must be available in order to make the output available sooner. At the latest, the output value of a particular network is evaluated after the time specified for that network has elapsed. Thus, the timer can control and / or change the dominance between the coupled nets based on a fixed time specification.
[0088] An exemplary embodiment of this type is shown in Figure 4. The design and coupling of the two neural networks 410, 420 can correspond to the example already described in Figure 1. A timer 440 now ensures that the output of the first neural network 410 is evaluated at the latest after a predetermined time, defined by a predetermined time parameter value. The required time can be, for example, a time period equal to the input value X iThe time can be measured from the time it takes for a given network to receive a given result. The selection of the predefined time parameters for the networks can be performed, particularly depending on the network's complexity, so that usable results can be expected within the predefined time. In the aforementioned example, where the first neural network 410 is preferably formed by a network with only a few hidden layers and a few classifications, a correspondingly short time can be selected for this first network. Similarly, when selecting the network's time parameters, such as existing hardware, additional considerations can be taken into account, which crucially affect the network's computation time and / or the application domain considered by the combined network. Furthermore, the predefined time parameters may be variable and, for example, may be changed or redefined depending on the results from at least one of the combined neural networks. It is understood that such time specifications should at least include the time interval required as the minimum time for a single traversal of each network 410, 420. In Figure 4, a time interval of 30 ms is specified for the example first network, so that during the process execution, this network will prevail from 0 ms to 30 ms from the start of the process. However, of course, other appropriate values for this time interval can also be selected.
[0089] For the period specified by the time parameter of the first network 410 (here 30 ms), the first neural network performs a i is processed in the usual way. After a predetermined time has elapsed, a function can be generated from the output, Output1, of the first neural network 410, which is used to convolve or modulate the weights and function of the second neural network itself. Furthermore, the output values of the first neural network can be used to influence the second network 420, and may be processed independently, for example, as an alternative to being used as a high-speed output for the overall system.
[0090] Modulation function f mod_f , fmod_w is applied to the second neural network 420, the timer 440 may start a new timing measurement, now applying predetermined second timing parameters to the second neural network 420.
[0091] In this case, the second neural network 420 optionally generates the resulting modulation function f mod_f , f _modw Before modulation by the input value X i may already be processed independently, so that, for example, the input values may also be passed to the second neural network 420 before the start of the second predetermined period and thus processed there. After the first period has elapsed, the corresponding modulation function f mod_f , f _modw By applying the modulation function, the parameter values and functions of the second neural network are superimposed. One or more modulation functions can be formed for different parts of the second neural network 420, such as the weights, output function, propagation function, and / or activation function of the second neural network. If the second neural network 420 is designed to be significantly more complex than the first neural network 410, for example, by having more layers and nodes and / or by having more memory classes, the second neural network will require a relatively higher computational load and therefore more time; in this case, the second period can be selected to be correspondingly longer.
[0092] Optionally, each of the networks 410, 420 can continue to process and evaluate input values even while the current time interval determines that another network is the dominant network in the overall system. In particular, in the example of two coupled nets shown, the first net can continue to evaluate input values even if it dominates the output values of the second net and the overall system, thus corresponding to the output values of the second net after a second time period has elapsed and a solution has been found by the second net. In this way, a high-speed classification network, such as the first network 410 described herein, can evaluate available input values throughout and perform short-term interventions as long as the discovered output values find their way to the overall output. Such embodiments are described in more detail below.
[0093] As a result of this time control using a predefined timer period, the entire system can make decisions early and function, for example, without completing a final evaluation and detailed analysis by a second neural network. Consider, for example, a situation in an automated driving system evaluated by such a system with at least two coupled networks. An early classification of "danger" can be achieved through the first unit or first neural network, which does not yet include further evaluation of the type of danger, but can already lead to an immediate reaction, such as slowing down the vehicle or activating the braking system or sensor system. At the same time, based on the classification, i.e., under the influence of modulation by the output value of the first network, the second neural network performs a more detailed analysis of the situation. This can lead to further reactions or changes in the entire system based on the output value of the second network.
[0094] Rather than specifying a time limit for each of the combined networks, it is also possible to specify a time limit for only one of the networks (or, if more than one network is combined, for only a subset of the combined networks). For example, in the above example, a timer could be used for the first fast-classifying neural network, while the second network could have no fixed time limit, or vice versa. Such an embodiment could also be combined with additional methods for determining the currently dominant network, as described in more detail below.
[0095] In all embodiments where a timer is inserted, the output value of the neural network with the currently active timer can be used as the output of the overall system. Because of the time required for the network to reach a first solution for a particular input value, there is a certain waiting period during which the previous output value (of either the first or second network) remains available as the overall output value.
[0096] If a timer or timing is defined only for some of the coupled nets, e.g., the timer is only active for the first net, it can be defined as follows: The output of the overall system will usually always correspond to the output of the second net, and will only be replaced by the output of the first net if the timer is active for the first net, i.e., if the predefined period has been actively running and has not yet expired.
[0097] In systems with two or more nets, proper synchronization of the nets with each other can also be achieved by aligning predefined time intervals and modifying timers, especially when multiple nets with different tasks reach a result simultaneously, which then affects one or more other nets. Similarly, synchronization can be achieved between multiple separate whole systems, each consisting of multiple coupled networks, by adapting specified periods and processes. For example, the systems can be synchronized by time alignment and then run independently but synchronously according to their respective timer specifications.
[0098] In addition to or instead of changing the dominant neural network of the overall system based on the timer, the neural networks themselves can also make cooperative decisions regarding the transfer of dominance. This could mean, for example, that a first neural network of the overall system processes input values and arrives at a specific first solution or a specific output value. For example, it achieves classification of the input values into a specific class according to the classification trained in the training phase, and then transfers dominance to a second neural network of the overall system once this classification is achieved.
[0099] As with using timers to change the center of gravity, it is now possible to specify that the output value of the entire network corresponds in each case to the output value of the currently dominant network.
[0100] For this purpose, for example, changes in input values can be evaluated. As long as the input values remain essentially unchanged, the dominance distribution between the coupled networks will also remain essentially unchanged and / or be determined solely based on timers. However, if the input values suddenly change, a predetermined dominance can be set that overrides the dominance behavior of other coupled networks. For example, it can be determined that if the input values suddenly change, dominance will always revert to the first neural network first. This will also restart an optionally available timer for this first neural network, and the process will continue as described above. Significant changes in input values can occur, for example, if sensor values detect a new environment or if a previously evaluated process is completed and a new process is triggered.
[0101] The thresholds can be specified in the form of significance thresholds, which can be used to determine whether a change in an input value is considered significant and leads to a change in importance. Individual significance thresholds can also be specified for different input values or for each input value. Alternatively, a general value, for example in the form of a percentage deviation, can be provided as a basis for evaluating changes in input values. Similarly, instead of fixed significance thresholds, there can be thresholds that can be adaptively changed in time or depending on the situation, or they can be functions, matrices, or patterns based on which the significance of a change can be evaluated.
[0102] Alternatively or additionally, the shift in dominance between the combined networks can be based on the output values found for each network. Depending on the embodiment, for example, the first neural network can evaluate the input values and / or their changes. In this case, a significance threshold can be predefined for each class available to the first neural network for classification. Therefore, if the results of the first neural network result in a significant change in the class found for the input data, a shift in dominance to the first neural network can occur immediately, allowing for a rapid reassessment of the situation and, if necessary, a reaction. In this way, it is possible to prevent the second neural network from continuing an unnecessarily long, detailed analysis without taking the change into account, despite the significantly changed input situation recognized by the first, quickly classifying network.
[0103] In all the above examples, the output values of the overall system can be further used in any way, for example as direct or indirect control signals for actuators, as data stored for future use, or as signals passed to an output unit. In any case, the output values may first be further processed by additional functions or evaluations and / or combined with additional data or values.
[0104] FIG. 5 again shows a simple implementation similar to FIG. 1, with two unidirectionally coupled networks 510, 520, whereby classification memories 512, 522 are shown diagrammatically for each network. The type of classification, Ki, used is initially of secondary importance here and will be explained in more detail below. In particular, the dimensions and structure of the two classification memories, the first network 512 and the second network 522, can be significantly different, resulting in two neural networks with different speeds and focuses. Thus, for example, as already briefly described, one can realize the interaction of a fast, coarse-grained classification network with a slower, more detailed analysis network to form a combined overall system.
[0105] In this example, the first neural network 510 generates a relatively small number of classifications K1, K2, ···· , Kn, and may follow a flat hierarchy, for example, so that classification is performed in only one dimension. Such a first network 510 may also preferably have a relatively simple topology, i.e., the number of neurons and hidden layers n is not too large. However, in principle, the network topology may be essentially independent of the classification.
[0106] The second neural network 520 can then have a significantly larger and / or more complex classification system. For example, this memory 522 or the underlying classification can be hierarchically structured with several levels 524, as shown in Figure 5. The classes K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K50, K51 ···· The total number m of Km can be very large, and in particular can be significantly larger than the number n of classes used by the first neural network 510. For example, the number of classes m, n can differ by an order of magnitude or more, resulting in an asymmetric distribution of the individual networks in the overall system.
[0107] The input values can then be quickly classified using high-speed classification by the first neural network 510. For this purpose, abstracted summary classes can preferably be used. Classification of the detected situation (e.g., based on sensor data such as images or audio data) can then be initially performed by the first neural network 510, in one example, as a "large, possibly dangerous animal" without further evaluation. This means that further classification, for example, by animal species (wolf, dog) or as a dangerous predator, is not performed by the first network. Instead, classification is performed only according to the broadest possible general characteristics, such as size, tooth detection, attack posture, and other characteristics. This data, which essentially corresponds to the "danger" output, can optionally be passed to an appropriate external system for a preliminary and rapid reaction, such as a user warning system or a specific actuator in an automation system. Furthermore, the output, Output1, of the first neural network 510 is used to generate a modulation function for the second neural network 520, as described above.
[0108] Same input value X iThe second neural network 520 is also provided with the aforementioned sensor values. In this case, the input values can be input immediately, i.e., essentially simultaneously with the first network, or delayed, so that, depending on the embodiment, they are already input before or when the modulation function is applied, i.e., only when the results of the first network are available. To avoid delays, especially in time-critical processes, they should not be provided or passed to the second neural network later. The second neural network then calculates a solution, whereby the original self-generated weights and their basis functions (e.g., designated activation and output functions) from this second network can be superimposed, respectively, based on the modulation function formed from the output values of the first network. This allows the second network to skip numerous iterations that may not have time in the event of a critical situation (e.g., a dangerous situation) quickly detected by the first network. Although the analysis of the second neural network is slower, possible responses can already be implemented based on the first neural network, as described above. This corresponds to the initial instinctive response in biological systems. The hierarchical nature of the second network, with its significantly larger memory compared to the first, allows for a more precise analysis of the input values. The example shows a detailed classification of dogs into classes, their breeds, and behavioral characteristics indicative of dangerous or harmless situations. If necessary, after the second neural network reaches a result, it can override the previous reaction of the entire system, for example by downgrading the first classification of "dangerous" again.
[0109] In the case of such a combined overall system using asymmetric classification, for example, the class Kn of the first network 510, which quickly classifies events, can be expected to primarily perform abstract classifications, such as new / known situations, dangerous / non-dangerous events, interesting / uninteresting features, and necessary / unnecessary decisions, without going into too much detail. This first classification does not necessarily correspond to the final result ultimately discovered by the second unit 520. However, the two-stage classification by at least one fast and one deep analysis unit enables a sensory or instinctive response from the overall artificial learning system. For example, if an object that may be a snake is identified through image recognition, the "worst case scenario" would preferably be the result of the first classification, regardless of whether this classification is likely correct. In the case of human intelligence, what exist as evolutionary knowledge and instinctive responses can be replaced by a fast first classification based on pre-programmed knowledge, so that the corresponding standard responses (keep distance, initiate movement, increase attention) can also be executed by the overall system and its actuators. The additional modulation of the second learning unit based on this first classification can then be understood in a similar way to the superposition related to emotions, i.e., corresponding to, for example, a fear response that automatically initiates a conscious analysis of a situation that differs from one understood as harmless. Thus, the superposition of the parameters of the second neural network carried out by the modulation function can produce a necessary shift into other classification spaces that would otherwise not be reached by default or immediately.
[0110] Such systems can therefore be used in a variety of application areas, for example in all applications where critical decision-making situations arise: examples are drive systems, rescue or warning systems for various types of danger, surgical systems, and generally complex, non-linear tasks.
[0111] In the embodiments described so far, only two artificial learning units have been coupled together, but the idea can in principle be applied to more than two units, so that, for example, three or more artificial learning units can be coupled in a corresponding way, thereby determining which units can modulate the parameters of a particular other unit or several other units.
[0112] 6 shows an example in which three neural networks 610, 620, 630 (and / or other artificial learning units) can be provided, whereby the output values of the first network 610 generate a modulation function of the weights and / or functions of the second network 620, whereby the output values of the second network in turn generate a modulation function of the weights and / or functions of the third network 630. In this way, a chain of artificial learning units of any length can be formed, which influence each other in a coupled way by superposition.
[0113] As with the previous example with two neural networks, in one embodiment, all connected networks can receive the same input values, and processing can be combined solely through modulation of the respective networks. However, other embodiments are also possible, such as those shown in FIG. 1, where two neural networks are followed by a third neural network that receives the output values of the first and / or second networks as input values. Optionally, the functions and / or weights of this third neural network can be modulated, for example, by a modulation function formed from the output values of the first network. These can be the same or different modulation functions as those formed for the second network. Alternatively, for example, the output values of the third network can be used to form additional modulation functions, which are then recursively applied to the first and / or second networks.
[0114] It will be understood that various further combinations of correspondingly coupled learning units are possible, where at least two of the connected units are coupled by forming a modulation function of the descriptive parameters of the units, particularly in the case of neural networks of the network weights and / or functions. As the number of coupled units increases, more complex variations of modulation and coupling are also possible.
[0115] As already mentioned at the beginning, the embodiments described herein have been described as examples relating to neural networks, but in principle, they can also be applied to other forms of machine learning. All variations that can be influenced by a first artificial learning unit on at least a second artificial learning unit through superposition or modulation based on output values are taken into account. The modification of neural network weights and functions through superposition with a modulation function from the previous example can be replaced by a corresponding modulation of any appropriate parameters that control or describe the behavior of such learning units. In each example, the term "learning unit" can be replaced by the specific case of a neural network; conversely, the described neural networks of the exemplary embodiments can also be implemented in a generalized form in the form of artificial learning units, even if not explicitly stated in each example.
[0116] In addition to neural networks, known examples include evolutionary algorithms, support vector machines (SVMs), decision trees, and specialized forms such as random forests and genetic algorithms.
[0117] Similarly, neural networks and other artificial learning units can be combined with each other. In particular, for example, the first neural network in the previous example, shown as a fast classification unit, can be replaced by another artificial learning unit. It is also possible to select a method that is particularly suited to fast classification of coarse features. The output values of such a first learning unit can also be used to form a modulation function for a second artificial learning unit, which can again be a neural network, as described for two neural networks.
[0118] As mentioned above, a system comprising several coupled artificial learning units forms an "artificial learning system."
[0119] In addition to or as an alternative to the described variants, an artificial learning system consisting of or including two or more coupled artificial learning units can be further improved by adding instances that perform an evaluation or validation of the results of the artificial learning system and influence the results obtained by the artificial learning system according to this evaluation. According to the invention, another artificial learning system is used for this purpose. In the following, the structure and functioning of the overall system including the two artificial learning systems will be described.
[0120] Such artificial learning units that evaluate / verify the results of other artificial learning units or their results are called evaluation units. In contrast, artificial learning units that process or analyze input values and arrive at corresponding results that are confirmed by the evaluation unit are called operational units. The function, i.e., the mapping of input values to output values of an artificial learning unit, which is in particular a neural network, is determined by parameters such as the functions and / or weights mentioned above.
[0121] Basic structure and function of the entire system 7 shows the basic structure of the overall system (or processing and evaluation system) including a working level 710 and an evaluation level 730, both of which are artificial learning systems, i.e., contain coupled artificial learning units, constructed or functioning as described above. Furthermore, the overall system comprises a projection level 750 and an overall sequence memory 760.
[0122] The entire system is input data or input value X i Process the input data or input value X i are, for example, time series sensor data or data obtained by pre-processing, which results in output data or output values that form the overall output of the entire system.
[0123] The operation level 710 is determined by the first and second input values X i (t1) and X i Input value X entered in the form of (t2) i On the one hand, the first output value (output11) is a first classification, i.e., a first input value X according to the first classification, i.e., the activity level. i (t1), which is an artificial learning system trained to perform a corresponding classification of the first input value, while the second output value (output12) is determined from the second input value X according to the second classification. i (t2), i.e., the working level is trained accordingly.
[0124] Preferably, the determination of the first output value is performed in a short period of time relative to the time required to determine the second output value, and the first classification therefore includes a smaller number of classes than the second classification, and the first output value is therefore based on a coarse analysis of the input values, while the second output value is based on a fine analysis of the input values.
[0125] In the projection level 750, first situation data Y(t3) and second situation data Y(t4) are formed based on the first and / or second output values. Thus, the first situation data is based at least in part on the first output value, and the second situation data is based at least in part on the second output value. For example, in the simplest case, the situation data can be the respective output values themselves. Furthermore, the situation data can also be formed at least in part on other values. However, it is preferred that the first situation data is formed based on the first output value, and the second situation data is formed based on the second output value. Furthermore, an optional memory element can be allocated to the projection level as a projection memory (not shown in FIG. 7, see FIG. 8) for storing data generated at the projection level.
[0126] The projection level 750 can be designed as a software and / or hardware unit, or as a combination of several such units. In particular, the projection level can form a complex of several units, which may also include an artificial learning unit and its memory elements. The projection level 750 can form a central unit by which at least the outputs of the working levels are processed and linked, such as a multiplexer unit, a unit for generating sequences from data, and a unit for imprinting an identifier or label on stored data or sequences after a positive or negative evaluation, for example, to eliminate a decision when comparing new data with stored data. These functions can also be performed in whole or in part by program modules. The projection layer can also include input and / or output units, such as a screen or an audio unit, which allow communication with a user or users, for example, supporting the system's training phase, for example, and to evaluate the current processing state.
[0127] The first / second situation data formed in the projection level 750 form the input of the evaluation level 730. The operation level 730 is configured to determine as outputs a first evaluation (output 21) and a second evaluation (output 22) indicating whether or to what extent the first situation data satisfies a predetermined first condition, or whether or to what extent the second situation data satisfies a predetermined second condition. Thus, the evaluation level, as an artificial learning system, is trained to determine output values, referred to as first / second evaluations, indicating whether or to what extent the first / second situation data satisfies the predetermined first / second condition. The evaluations can independently be simple yes / no evaluations (e.g., the evaluation can only take on the value 0 or 1) or graded evaluations indicating the degree to which the conditions are met (e.g., the evaluation can take on all values from 0 to 1). Thus, in the context of the present application, the phrase "whether a condition is met" or similar phrases is intended to also include, although not always explicitly stated, cases where the condition is met to some extent, and should therefore be understood to mean "whether a condition is met, or to what extent it is met", etc. The system can here be configured to reject or differently modify output values of operational units based on the evaluation, in order to affect the processing of input values by operational level, among other things.
[0128] The determination of the first evaluation is preferably performed in a short period of time relative to the period required for determining the second evaluation. Therefore, a relatively small number of first conditions (particularly less than 1000, preferably less than 100) and a relatively large number of second conditions are provided. Thus, the first evaluation indicates whether or to what extent the general conditions are met, while the second evaluation indicates whether or to what extent the specific second conditions are met relative to the first conditions.
[0129] The first and second evaluations (output21, output22) are i (t1), X iIn particular, the first evaluation influences the determination of a first output value from a first input value, and the second evaluation influences the determination of a second output value from a second input value.
[0130] The total or overall output is, in any case, based on the first and / or second output values of the operation level 710. Whether the first or second output value is considered the total output at a particular time is preferably determined by the operation level, but can also be controlled by a timer, which can be considered a component of the operation level. Here, it is also conceivable to use a combination of the first and second output values as the total output. Therefore, the influence of the operation level 710 by the evaluation level 730 only has an indirect effect on the total output. In this sense, the first and second conditions do not represent absolute limitations.
[0131] Therefore, when processing the input value, the first / second output value (output11, output12) is the first / second input value X i (t1), X i From (t2), the first / second situation data Y(t3), Y(t4) are determined by the projection level 750 from the first / second output values, and the working level 710 from the first / second situation data, the first / second evaluation (Output21, Output22), which in turn affects the working level. The total or overall output is determined from the first / second output values.
[0132] This process is repeated for several iterations, and the working levels affected by the evaluation of the evaluation levels attempt to determine the overall output or first and / or second output values that comply with the first / second conditions. In general, for any input value X, it is not possible to find an overall output (or first and / or second output value) that satisfies all conditions. imay occur. In this case, the iteration process can be stopped if it is determined that the total output (or the first and / or second output values) does not change significantly from iteration to iteration or over a certain period of time, i.e., only changes within a specified tolerance. The last total output of the system is then used as the final total output. The final total output forms, so to speak, the best possible total output that the working level can find under the influence or advice of the evaluation level. Termination can also be time-controlled by a timer (e.g., in real-time systems). In this case, the last total output is also used.
[0133] Each iteration / repetition generates corresponding data, which may include first and second input values, first and second output values, first and second situational data, first and second evaluations, and total output. It is specifically contemplated that some, or preferably all, of these elements form a data set, referred to as a total or overall set.
[0134] A total or complete sequence of records, or a total or complete sequence, is generated according to the repetitive sequence. The total set or sequence of sets can be stored in the total sequence memory 760. This is indicated by the dashed lines connecting the total sequence memory to the three levels. During storage, the total records are preferably time-stamped and / or numbered and / or organized according to their order or sequence. It is preferable to initiate the storage of a new sequence of total records whenever the input values change significantly, i.e., beyond a predetermined tolerance. The stored sequence of complete sets can be used, among other things, to track the processing of the input values by the entire system.
[0135] Description of the conditions and their impact on the overall system The (primary / secondary) conditions can be simple, for example checking whether the situation data is within a certain range of values, but the (primary / secondary) conditions can also be more complex, for example in the form of prescriptive rules R1 to Rn.
[0136] The (first / second) condition can be a technical condition. For example, a machine can check whether the motor speed (analyzed by the work level, etc., based on the data and output of a vibration sensor) is within the permitted speed range. A further rule is to make such a speed check dependent on the operating state (which is also recorded by the work level using sensor data).
[0137] Furthermore, rules can be non-technical in nature, such as "Thou shalt not kill a person" (R1), or "Thou shalt not restrict a person's freedom" (R2), or "Thou shalt not lie" (R3). Rule fulfillment or violation can be manipulated through one of the usual parameterizations. For example, 0 = no rule violation, 1 = rule violation, or progressively more refined. These rules can be implemented as first conditions. The parameterization of rule fulfillment or violation then corresponds to the first evaluation. Second conditions can then represent the refinement of rules R1 to Rn by rule classifications K1 to Kn. These are exceptions, additions, or modifications to the rules. These are exceptions, additions, and alternatives to these rules. These rule classifications are initially structured such that exceptions to R1 are given to rule classification K1, exceptions to R2 are given to K2, and so on. In the situations named in the rule classifications, the corresponding rule Rx may be broken. An example of rule classification K1y for rule R3 could be "Lying is permissible if telling the truth would seriously harm a person." The rule still applies in principle, but only prima facie unless the rule classification requires it to apply. Thus, the second conditions (rule classifications K1 through Kn) represent finer refinements of the first conditions (rules R1 through Rn).
[0138] A memory may be provided for storing the first and second conditions. The structuring of the memory or rules R1 to Rn and rule classifications may in particular correspond to that shown in Figure 5, whereby the relatively coarse rules R1 to Rn are stored in memory 512 and the relatively finer rule classifications K1 to Kn and their subdivision into levels 524 are stored in memory 522, whereby m is preferably equal to n.
[0139] The rules and / or rule categories, i.e. the first and especially the second conditions, are preferably stored on the blockchain and the rules are implemented in the form of so-called smart contracts, which can be seen as computer protocols that map the rules or rule categories and check their compliance.
[0140] If rule classification is used, the conditions are documented and stored in a separate memory (specifically, the overall sequence memory 760) depending on the situation. This is preferably done on the blockchain to ensure that this documentation cannot be altered. In this way, the entire sequence or the entire evaluation sequence is stored. The validity of Rule R3 is not called into question by rule classification. At the operational level or the overall system's operational mode, a recursive chain of adjustments and evaluations occurs between the operational level and the evaluation level for each sequence of actions, and thus the sequence of adjustments and solutions associated with the situation is stored on the blockchain. Here, the evaluation level points out conflicts with rules to the operational level and proposes their correction, but does not determine future actions. The decision on the behavior, i.e., the overall system output, is made solely through the operational level, since it is directly related to the external situation and solution strategy, while the evaluation level is preferably only indirectly informed by information already summarized through the projection level.
[0141] As an extension of this basic principle, the evaluation level also includes the entire sequence of searches (preferably blockchain decision paths) in competitive situations where there is a risk of violating rules R1...n, as well as the confirmation of previously executed solutions. Therefore, for self-learning systems, it is essential that the success or failure of the executed actions is also recorded in each document of the entire sequence (preferably blockchain documents) in order to avoid recommitting errors.
[0142] Extending the principle further, in the case of a conflict with rule R1, for example, not only can rule classification K1 and its subclassifications be searched for links or couplings, changes, etc., but also all priority classifications can be searched to see if there are any previously unknown combinations to resolve the situation, even if the other rule classifications do not actually belong to rule R1.
[0143] Extending the principle further, the rule classification memory can be modified in the event of success or failure by inserting new successful rule classifications and, if necessary, removing existing rule classifications that are no longer in effect or have proven undesirable. This allows for a self-learning evaluation system (the overall system) with a rigid set of rules, and at the same time a flexible classification system. These variations allow for the implementation of "hard AI systems" in particular.
[0144] Specific design examples for the entire system FIG. 8 shows an exemplary embodiment of the overall system, where the task level is formed by a first artificial learning task unit 810 and a second artificial learning task unit 820 coupled thereto, and the evaluation level is formed by a first artificial learning evaluation unit 830 and a second artificial learning evaluation unit 840 coupled thereto. The artificial learning task and evaluation units each have a function whose function depends on parameters, in particular a function (transfer function f trans , activation function f akt , the propagation function, and the output function f outetc.) and weights / weightings can be determined by the neural network.
[0145] The first operational unit 810 receives a first input value X i The function of the first operational unit is set to determine a first output value (output11) from (t1), i.e., the operational unit is trained accordingly as an artificial learning unit. ... outA1 (propagation function and output function), f aktA1 (activation function), f transA1 (transfer function), and weight w iA1 The second operational unit 820 receives the second input value X i The function of the second operational unit is set to determine a second output value (output12) from (t2), i.e., trained accordingly. The function of the second operational unit is set to determine a second output value (output12) from (t2), i.e., trained accordingly. outA2 , f aktA2 , f transA2 or weight w iA2 The first evaluation unit 830 is configured to determine a first evaluation (output 21) from the first situation data Y(t3). The function of the first evaluation unit depends on parameters, in particular the function f outB1 , f aktB1 , f transB1 or weight w iB1 The second evaluation unit 840 is configured to determine a second evaluation (output 22) from the second situation data Y(t4). The function of the second evaluation unit depends on parameters, in particular the function f outB2 , f aktB2 , f transB2 or weight w iB2 is determined by.
[0146] The coupling between the two operational units 810, 820 or between the two evaluation units 830, 840 corresponds to that described in connection with Figures 1 to 6. Therefore, based on the first output value (output11) of the first operational unit 810, the modulation function f mod1_f , f mod1_wis formed, thereby determining the parameters of the second operational unit 820 (function f outA2 , f aktA2 , f transA2 and / or weight w iA2 ) is modulated, which influences the function or extraction of the output value (output12, second output value) of the second evaluation unit. Similarly, based on the first evaluation (output21) of the first evaluation unit 830, the third modulation function f mod3_f , f mod3_w is formed, whereby the parameters of the second evaluation unit 840 (function f outB2 , f aktB2 , f transB2 , or weight w iB2 ) is modulated, as a result of which the function or determination of the output value of the second evaluation unit (Ouput22, second evaluation) is influenced.
[0147] The overall system preferably also includes a projection level 850, to which the description in connection with FIG. 7 applies. Furthermore, an optional memory element is assigned to the projection level 850 as a projection memory 852, in which data, particularly situation data, as well as first and second output values from or by the projection level, can be stored at least temporarily. The storage period of this data can be determined, for example, generally, but also by one of the units, for example, by the first evaluation unit. Depending on the embodiment, the projection level memory can essentially function as a short-term memory, and its contents can be checked, deleted, overwritten, and / or transferred, as needed, to other memories, such as memory elements of the respective neural networks or units. Thus, the projection memory 852 can be designed, for example, as a ring memory, in which the memory becomes "full" after a certain number of entries or a certain amount of data in each case, so that previous data is overwritten from the beginning, corresponding to a ring structure.
[0148] Likewise, the embodiment shown again includes a total sequence memory 860, to which again what was said in relation to figure 7 applies. The dashed lines indicate that the total sequence memory 860 can receive data from or exchange data with both working units, both the evaluation unit and the projection level, which units can preferably also access the data stored in the total sequence memory.
[0149] The influence of the working level (i.e., the first and second working units) or the first and second output values formed thereby is implemented by the evaluation level (i.e., the first and second evaluation units) or the first and second evaluations formed therein as follows:
[0150] According to the embodiment shown in FIG. 8, it is intended to influence the first work unit 810 by the first evaluation (output 21) of the first evaluation unit 830. This means, on the one hand, that the (X i This can be achieved by using the first evaluation or values derived therefrom as additional input values (in addition to t), which can be referred to as first evaluation input values. In this case, the first evaluation is i At the beginning of the analysis of (t), it should be initialized with a neutral value, e.g., a value that indicates that all first conditions are met. Such initialization with a neutral value may be performed again in the next process, and may also be considered for temporary control, e.g., when input values change significantly or when dominance shifts from one operational unit to another (e.g., from the second operational unit to the first operational unit).
[0151] Additionally or alternatively, the first evaluation unit 830 can preferably be coupled to the first working unit 810, in particular according to the couplings described above in relation to Figures 1 to 6. Thus, based on the first evaluation (output 21) of the first evaluation unit 830, the second modulation function f mod2_f , f mod2_w, whereby the parameters of the first operational unit 810, i.e., the function f outA1 , f aktA1 , f transA1 and / or weight w iA1 is modulated, which affects the function or the acquisition of the output value (Ouput11) of the first operational unit.
[0152] Furthermore, the second evaluation affects the function of the second work unit 820. This means that the second evaluation, or a value derived from it, is added to the additional (X i (in addition to t) as an input value (second evaluation input value). In this case, the corresponding second evaluation is i At the start of processing (t), it must be initialized with a neutral value, e.g., a value indicating that all secondary conditions are met. Such initialization with a neutral value can be performed again in the next step, e.g., when the input values change significantly or when dominance shifts from one task unit to another (e.g., from the first task unit to the second task unit), and time control is also possible.
[0153] Furthermore (not shown), based on the second evaluation (output 22) of the second evaluation unit 840, a fourth modulation function f mod4_f , f mod4_w , whereby the parameters of the second operational unit 820, i.e., the function f outA2 , f aktA2 , f transA2 and / or weight w iA2are modulated to affect the function or output value (Ouput12) of the second operational unit. However, the set of parameters (functions and / or weights) of the second operational unit modulated by the fourth modulation function should be decoupled from the set of parameters (functions and / or weights) of the second operational unit modulated by the first modulation function. Therefore, the second evaluation unit should only modulate the parameters (functions and / or weights) of the second operational unit that are not modulated by the first operational unit. This is advantageous for preventing instability. If the second operational unit is a neural network containing several hidden layers, such as those used in so-called "deep learning," for example, one or more input layers can be modulated by the first modulation function (i.e., the functions and / or weights of the neurons of the layer are modulated), while one or more output layers are modulated by the fourth modulation function. Figuratively speaking, a first working unit with a first output value according to a first modulation function then influences the basic analysis of the input values of a second working unit, while a second evaluation unit with a second evaluation according to a fourth modulation function influences the classification of the results obtained by this basic analysis in the second working unit.
[0154] The working units 810, 820 and the evaluation units 830, 840 may each have a memory, in particular a classification memory, in which the classifications or conditions are stored. The corresponding memory structure is described in detail in connection with Fig. 5. In Fig. 8, a memory 842 is depicted only for the second evaluation unit 840 by way of example. The memory can be designed separately from the units or can be included in the respective units.
[0155] The memory 842 of the second evaluation unit (and the corresponding memory of the first evaluation unit) may also include a sequence memory (in addition to the classification memory), more specifically, a second sequence memory used to store sequences of evaluations. In the case of the second evaluation unit, this includes storing one or more second evaluation sequences, each including a second evaluation set, each including a set of input values (second situation data) for the second evaluation obtained therefrom by the second evaluation unit. The evaluation sets may be provided with respective time information and / or numbered and / or organized according to their order. Similarly, the memory of the first evaluation unit 830 (not shown) may include a first sequence memory, which also functions to store first evaluation sequences, each including a first evaluation set, each including a set of input values (first situation data) for the first evaluation obtained therefrom by the first evaluation unit.
[0156] Both the task level and the evaluation level can include additional artificial learning units, each coupled as shown in FIG. 6. Thus, the task level can include a third (possibly fourth, fifth, ...) task unit, which is coupled to the second task unit (or each preceding task unit) by a modulation function determined by the output value of the second (or preceding) task unit. Similarly, the evaluation level can include a third (possibly fourth, fifth, ...) evaluation unit, which is coupled to the second task unit (or each preceding task unit) by a modulation function determined by the evaluation of the second (or preceding) task unit. The interaction between the corresponding nth task unit and the evaluation unit can then occur in the same way as the interaction between the second task unit and the second evaluation unit. That is, the nth evaluation unit in particular affects the nth task unit.
[0157] Example of input value processing The processing or analysis of the resulting input data is described below by way of example. The input data forms input values for the operational units 810, 820. The input values can be the same for both operational units or can be different, such as at different times in the time series. The input values X i (t) may depend on time, e.g., a time series of sensor measurements or a video / audio stream, whereby the operational unit calculates an input value X at a particular point in time, e.g., controlled by a timer or dominance transition, or even continuously, especially in the case of recurrent neural networks. i (t1), X i (t2) The processing unit may perform continuous processing of the input values or may perform processing that starts at a specific point in time, for example under timer control, or on a specific event, for example a dominance transition.
[0158] The first operational unit 810 receives an input value X i From (t1) a first output value (output11) is determined, from which first situation data (e.g. the first output value itself or a part thereof or a value derived therefrom) are formed by the projection level 850, which then serve as input to the first evaluation unit 830, which evaluates them (i.e. the first situation data), i.e. checks whether a first condition is fulfilled and generates a corresponding first evaluation (output21). Based on the first evaluation, the first working unit 810 or the output (output11) is affected.
[0159] If it is determined (based on the first evaluation) that the first condition is not met or is met only to some extent, then the input value X i(t) can be processed again by a first evaluation unit 810, which takes into account the influence of the first evaluation (e.g., by a second modulation function determined from the first evaluation, or by using the first evaluation or a value derived therefrom as an additional input value), resulting in a generally modified first output value (output11) that is influenced by the first evaluation, in particular by appropriate training of the first working unit.
[0160] This may be repeated several times until it is determined that the first condition is met, at which point the first output value may be used as the (total) output or total output value of the system. The input values may then be processed by the second evaluation unit 820 and / or a dominance may be passed to the second evaluation unit. The second output value thus generated may additionally or alternatively become the total or overall output, possibly depending on the dominance.
[0161] Alternatively or additionally, if the first condition cannot be met in full, for example in a real-time system, or if only a limited time period is available, the processing by the second operational unit 820 and / or the dominance of the second operational unit may preferably be terminated after a predetermined time period (controlled by a timer) after a predetermined number of iterations has been reached, if the first output value does not change within a predetermined tolerance between two successive iterations, or if the first evaluation does not change within a predetermined tolerance between two successive iterations. Combinations of these are also possible.
[0162] If priority returns to the first operational unit 810, e.g., input value X i If V has changed significantly, this process or evaluation can be performed again by the first evaluation unit 830 after initializing the first evaluation, if necessary.
[0163] Optionally, in particular when the second operational unit 820 is dominant, situation data may also be formed by the projection level 850 based on the second output value (output12) of the second operational unit 820 and evaluated by the first evaluation unit 830, i.e., it is checked whether the second output value complies with the first condition. If this is not the case, or if it is only partially the case, the second operational unit may also be influenced by the (altered) first evaluation, just as the first evaluation influences the first operational unit, which may result in a change in the modulation function, in particular the parameters of the second operational unit 820 that are modulated by the first modulation function, i.e., the function f outA2 , f aktA2 , f transA2 and / or weight w iA2 Modulations of the
[0164] The first estimate formed by the first evaluation unit 830 is also obtained via combination, i.e., the third modulation function f mod3_f , f mod3_w , thereby indirectly influencing the function of the second evaluation unit 840.
[0165] The second evaluation unit 840 receives as input the second situation data formed at the projection level 850 (which need not be identical to the first situation data received by the first evaluation unit 830). This second situation data is preferably formed based on at least the second output values (output 12) of the second artificial learning unit 820, i.e., the second situation data may also include some or all of the second output values or values derived therefrom. Thereby, furthermore, the situation data may also be formed at least partly based on the first output values (output 11) or other values of the first artificial learning unit 810.
[0166] A second operational unit 820 receives an input value X iWhen processing (t2) and / or when priority is passed to the second operational unit, second situation data is formed by a projection level 850 based at least in part on a second output value (output 12) of the second operational unit 820. This second situation data serves as an input value for a second evaluation unit 840, which forms a second evaluation therefrom. If the second evaluation indicates that all second conditions are met, the second output value can be used, for example, as a total / overall output of the system.
[0167] By influencing the second working unit by the second evaluation, generally, at least if the second evaluation indicates that not all second conditions are met and the second working unit is trained accordingly, a modified second output value (output12) is obtained, from which modified situation data is formed, if necessary by the projection level, which is confirmed by the second evaluation unit and leads to a modified second evaluation.
[0168] This may be repeated several times, for example, until a predefined number of iterations is reached, a predefined period of time has elapsed, or the second output value does not change within a predefined tolerance between two successive iterations. Combinations of these or other conditions are also contemplated.
[0169] Therefore, the interaction between the second evaluation unit 840 and the second operational unit 820 corresponds to the interaction between the first evaluation unit 830 and the first operational unit 810. However, in addition, due to the coupling of the two evaluation units, the evaluation by the second evaluation unit 840, i.e., the second evaluation, is influenced by the first evaluation obtained by the first evaluation unit 810. Therefore, the timing is preferably controlled so that the interaction between the first operational unit and the first evaluation unit occurs first, followed by the interaction between the second operational unit and the second evaluation unit.
[0170] Although the processing of input values has been presented above as a process of a series of processing steps in individual artificial learning units, it should be noted that the units (first and second working units, first and second evaluation units) can in principle operate asynchronously with each other. That is, each unit can operate at its own speed, using currently available input data or modulations (partly the output of other units). Time synchronization can be provided, but does not have to be. The units can operate in parallel with each other accordingly.
[0171] training An exemplary training of the overall system is described below. As explained above, in supervised learning, input values and corresponding (i.e., associated with each input value) desired output values (i.e., known training data) are given, and during training, the error is minimized in terms of an error measure indicating the deviation between the output values determined by the artificial learning unit and the desired output values. A typical error measure used is the average (possibly weighted) squared error. To minimize the error, the parameters (e.g., weights) of the artificial learning unit are modified during training. This procedure is known to those skilled in the art.
[0172] The system is first trained so that the task level and the evaluation level are trained separately. These represent "artificial / artificial learning systems," and their training is explained in relation to Figures 1-5. Thus, in the supervised learning described above, when training the task level, input values (including sensor data) are used as input values, and corresponding (known) objective output values (control parameters, state parameters) are used as output values. When training the evaluation level, situation data (formed from output values or control parameters / state parameters) are used as input values, and corresponding (known) objective evaluations (indicating the degree to which the conditions are met) are used as output values.
[0173] Furthermore, conditions can be adapted or supplemented during the combined operation of the task and evaluation levels (see below). This process can be seen as joint learning of the task and evaluation levels, i.e., the whole system.
[0174] With respect to the working level and the evaluation level, referring to the embodiment shown in FIG. 8, each of the two levels includes a first artificial learning unit 810, 830 and a second artificial learning unit 820, 840, which are coupled in the same manner as in FIGS. 1-5. Here, specifically, within a level, independent training of each of the two (first / second) units (i.e., independently of the individually coupled unit) is first performed, allowing both units to use the same training data set of input values or different training data sets of input values. The difference between the first and second units is the associated desired output value (which corresponds to the input value, i.e., preferably achieved during training), whereby the desired output value of the second unit preferably represents some kind of improvement over the desired output value of the first unit. For example, it may be assumed that the desired output value of the first unit is a true (non-trivial) subset of the desired output value of the second unit. It may also be assumed that different weights for deviations of specific output values are used in the error measurement. Furthermore, joint training of the coupled (first / second) units can be performed, where the errors of the first and second units can be included, allowing the errors of the first and second units to be weighted differently. Joint training can also generate a correlation between the output value of the first unit and the modulation function that influences the second unit.
[0175] 1st / 2nd sequence memory Storing the first and second evaluation sequences allows the "decisions" of the evaluation unit to be tracked and, if necessary, further training can be performed using the evaluation sequences, for example if it does not operate or function as intended.
[0176] Furthermore, the evaluation units 830, 840 can compare the input situation data Y(t3), Y(t4) with the evaluation records stored in the sequence memory of the evaluation sequence or evaluation set before or in parallel with determining the evaluation (output21, output22). That is, the input situation data is compared with the corresponding situation data in the stored evaluation records. If they are found to be identical or similar, i.e., if the same or similar situation data occurred previously, the previous evaluation can be read from the scoring sequence and used as output, i.e., as an evaluation of the current situation data. In particular, the evaluation record in which the same or similar situation data occurred and, if applicable, the evaluation record following it in the corresponding evaluation sequence can be skipped. Thus, the previous evaluation is used as the current evaluation of the input situation data Y(t3), Y(t4). These are taken from evaluation records occurring later in the respective evaluation sequence (for this purpose, they are advantageously provided with a timestamp numbered and / or configured in the order of their occurrence). "Similar" should be understood in the sense of a tolerance appropriately selected in each case.
[0177] A maximum number of evaluation records can be skipped until the evaluation indicates that a predefined number of skipped evaluation records has been reached and / or time information indicates that a predefined period has elapsed within the evaluation sequence and / or that, in each evaluation sequence, the input values (status data) of the evaluation units have not changed within a predefined tolerance compared to the previous entry in the evaluation sequence. This procedure can lead to an acceleration of the process flow.
[0178] The storage of the first and / or second rating sequence in the first or second sequence memory is preferably performed in a cryptographically protected form to protect it from manipulation. In particular, the use of a blockchain is provided for this purpose, whereby the sequence entries (e.g., one or more rating records of the first rating sequence) form blocks of the blockchain. Thus, a block contains in each case at least one rating record and, in accordance with blockchain principles, is linked to the series of previous rating records stored in previous blocks.
[0179] Complex structure It is preferable that the complex structure of the working levels and evaluation levels is designed as described in particular in relation to Figures 1 and 5, i.e., the first working unit performs a relatively coarse analysis or division of input values into a relatively small number of classes, and in comparison, the second working unit performs a relatively fine analysis or division into a relatively large number of classes or subclasses and further hierarchical levels, the first evaluation unit also checks whether the first situation data or the first output value meets the relatively coarse conditions, the second evaluation unit checks whether the first situation data or the first output value meets the relatively coarse conditions, the first evaluation unit also checks whether the first situation data or the first output value meets the relatively coarse conditions, and the second evaluation unit checks whether the second situation data or the second output value meets the relatively fine conditions in comparison.
[0180] The first evaluation unit 830 may be assigned a classification memory (not shown) designed with a relatively small number of levels and classes. In this example, the number of levels and / or classes of the first evaluation unit 830 is assumed to be significantly smaller than the number of levels and / or classes of the second operational unit 820, which serves as the analysis unit. For example, it may be smaller by one or more orders of magnitude. Similarly, the number of levels and / or classes of the second evaluation unit 840 may be significantly larger than the number of levels and / or classes of the first evaluation unit 830. Also, the number of levels and / or classes of the second operational unit 820 may be significantly larger than the number of levels and / or classes of the first operational unit 810. The memory may also be different, but in this case, the obvious asymmetry between memory size and complexity usually prevails.
[0181] Adjustment or supplementation of conditions As explained in relation to Figure 7, the overall system may not be able to find the first / second output value, i.e., the overall output, such that the first / second situation data are derived that match all the first and second conditions, respectively. Due to the dominance transition from the first operational unit to the second operational unit and correspondingly from the first operational unit to the second operational unit, this particularly concerns the second output value or second situation data that represents the final overall output of the system.
[0182] Therefore, it is preferable to intend to carry out a modification or supplementation of the condition, preferably a second condition, so that for at least some of these cases the corresponding output value or situation data is considered to fulfill the supplemented condition, thus resulting in an adaptation of the system that affects the processing of future input values.
[0183] However, it is preferable that such addition of conditions is not performed in all cases where all conditions cannot be met, but only when certain conditions are met. One possible condition is that only a certain number or percentage (e.g., 20%, 10%, or 5%) of all conditions cannot be met while other conditions are met.
[0184] The addition of a condition can be performed during normal processing of input values and / or at specific time intervals using total sequences stored in the total sequence memory. If a stored total sequence is used, it can be used as a precondition for supplementing the condition that the condition was not fulfilled (within a certain tolerance) for a certain minimum number of total sequences of the same type (for example, 10, 50, or 100). That is, the condition is considered fulfilled if the condition is supplemented with a supplementary condition (depending on the type of failure, including the possible tolerance) for these total sequences.
[0185] In a simple example of an evaluation unit, a neural network, when a condition is added or changed, a range of values can be added to the output of the neuron corresponding to the condition. Therefore, here, a neuron is assigned to one of the conditions. For example, the neuron has an output function, so that its numerical output ranges from -1 to +1. During initial training, the network can be trained so that if the condition is met, the neuron outputs a value in the interval between -0.1 and 0.1, and if the condition is not met, it outputs a value outside this range. If the condition for the output of the working level is not met, that is, if the neuron outputs a value R that is not in the interval [-0.1; +0.1], then to supplement the condition, the value R can be added to the interval as a valid value. It is preferable to add not only the value R itself, but also a small range around the value R, e.g., R ± 0.01. The reason for adding this condition could be that one of the above conditions is met, e.g., it is the only or one of several conditions that is not met, or that an output in the range R ± 0.01 occurred in some total sequences.
[0186] In that case, there are two intervals: [-0.1;+0.1] and [R-0.01;R+0.01]. If, when processing future input values, the neuron's output is in one of these two intervals, the corresponding condition is considered fulfilled. If more intervals are added, they can be added to these two intervals, so the condition is represented by a set of intervals. These intervals can be stored in the classification memory of the evaluation unit.
[0187] Of course, as in this example, a condition can be associated with multiple neurons, in which case the neuron outputs lie within a total value range that is a subset of n-dimensional space, where n is equal to the number of neurons associated with the condition. The condition is considered satisfied if the outputs of these multiple neurons lie within one or more subsets (corresponding to the intervals in the previous example) of the total value range. These subsets can then be completed in the same manner.
[0188] The original condition and each addition to the condition may additionally provide an indication of a level S that may be stored together with the condition / addition in the classification memory of the evaluation unit. The original may for example be at the 0th level, S=0. The addition then has a higher level, S>0. The associated evaluation may further indicate to what extent the condition is fulfilled, for example by specifying the level. S (or another real value less than 1 instead of 0.9). Thus, a value of 1 corresponds to a complete fulfillment of the condition, so to speak, if the original condition is fulfilled. An addition (S>1) can be made to some extent (0.9) depending on its level. S <1) meet the conditions.
[0189] The level of the addition can depend on which and / or how many of the conditions that cause the addition are met. For example, if the prerequisite is that only one or several conditions are not met, the level can be equal to the highest level of the conditions that are met plus one.
[0190] Through stages or levels, a hierarchy of conditions is introduced, so to speak, and the original state is increasingly refined or branched. Depending on the level or corresponding degree, certain output values are then prioritized through evaluation, influencing the working level.
[0191] In principle, such a procedure can be performed for both the first and second conditions. However, it is preferable to supplement or modify only the second condition, while the first condition should not be modified. These represent, so to speak, basic and immutable conditions. In the example of conditions as a moral contract above (in the invention disclosure section), the first absolute consideration is accordingly immutable, while the second relative consideration may change over time depending on the actual total output value. Using this method for machine control, the machine's morality evolves, so to speak.
[0192] Check compatibility with other systems Furthermore, when two holistic systems communicate with each other, the first holistic system can evaluate how well the holistic output values and / or assessments of the second holistic system match its own assessments, i.e., whether they are consistent with the first and second conditions.
[0193] According to the first embodiment, the second ensemble system transmits an ensemble sequence, typically including several ensemble records, to the first ensemble system. The first system then uses the input values and / or situation data contained in the ensemble set as input values / situation data for its own operation or evaluation level and compares the first / second evaluation and / or first / second output values obtained therefrom with the corresponding values contained in the transmitted ensemble sequence. If they at least partially match, the first ensemble system can consider the second ensemble system reliable or compatible (i.e., not contradicting the first / second conditions) and, for example, classify the analytical data received therefrom (i.e., data acquired by the operation units) as correct or compatible and use them in its own processing. Otherwise, the received data is classified as incorrect or incompatible and is not used or is used only to a certain extent. The received data can be used as input values in the ensemble system. For example, if the two ensemble systems are included as control systems for two autonomous vehicles, the data can include speed, braking, etc. When a vehicle is traveling a certain distance behind another vehicle, this distance may be selected depending on the reliability / compatibility of the overall system of the vehicle in front (conditions checked by the evaluation unit here include, for example, vehicle-specific braking deceleration during hard braking, which may vary from vehicle to vehicle).
[0194] According to another alternative or additional embodiment, compatibility verification can be performed in a question-answering process. In this alternative, the second holistic system does not need to have a holistic sequence memory; it simply needs to be a system that generates output values from input values. For this purpose, the first holistic system retrieves one or preferably several holistic sequences from its holistic sequence memory and sends the input values (questions) contained therein for each holistic sequence to the second holistic system. The second holistic system processes these and, based on them, determines an output value and sends it to the first holistic system (answer). The first holistic system then sends this answer to its projection level or, in some cases, directly to the evaluation level, which determines a first / second evaluation through the evaluation level. This process is repeated for all holistic sequences. If the evaluation of all holistic sequences indicates that the first / second conditions are met, the second holistic system is classified as compatible. Alternatively or additionally, a comparison can be performed between the assessment determined from the response of the second overall system and the corresponding assessment included in the overall sequence, whereby the second overall system is classified as compatible if only minor differences are found in the comparison, for example within a predefined tolerance range.
[0195] A major advantage of these approaches is also that the conditions themselves are not disclosed to other systems. This is advantageous, for example, when the conditions codify moral and ethical rules that themselves should not be publicly accessible, especially when adapted or supplemented as described above. The same applies to economic aspects that may involve, for example, trade secrets.
[0196] The above mentioned possibility of compatibility checking, of course, presupposes that the meaning of the input and output values of the second overall system is known to the first overall system so that it can assign them to the inputs / outputs of its own operating and evaluation units. In the case of autonomous vehicles, this assignment can, for example, be manufacturer-specific, specified in a standardized form as a specification, or implemented as an interface.
[0197] More information about projection levels The evaluation unit is trained to evaluate situation data present in or formed by the projection level 850. The situation data can be, for example, input and / or output data from one of the two working units 810, 820, and / or further data, as already mentioned. For example, only output data, optionally containing additional information, can be processed in the projection level 850. However, the input values X i Preferably, (t) is not used at the projection level. It is further preferred that only the output values (Output11, Ouput12) of the operational units 810, 820, i.e., the operational level, are used to form the situation data. In this way, the projection level achieves a separation of the evaluation level from the operational plane, whereby the input values X(t) of the operational units are not visible to the evaluation unit, and the evaluation of the output values of the operational units by the evaluation unit can be performed in an independent manner.
[0198] Furthermore, it is also possible to process or for example simplify the data in some way before the projection level. In response to the processing of the situation data by the evaluation unit corresponding to the classification or evaluation, various actions can be performed, in particular influencing the working level and influencing the final output values of the overall system and related signals to actions that influence the further operation of actuators, output interfaces etc. and / or the overall system, in particular other units included in the system.
[0199] It is also conceivable that the data at the projection level can be linked together to provide at least one additional piece of information. Furthermore, there may be temporal parameters, for example, indicating when a particular output value was output. Such temporal parameters may include an absolute time indication, but also a relative time indication depending on the current evaluation time or another reference time. Similarly, a fixed point in time cannot be specified, but rather a temporal section to which one or more input and / or output values of a unit are assigned. In addition to or instead of the actual temporal parameters, a sequence may be associated with at least part of the data, so that, even without an explicit time indication at the projection level, it is possible to recognize in what sequence several existing data values were generated or processed, for example in the form of a numbering scheme assigned to the output values at the projection level.
[0200] In this way, the data present at the projection level, particularly the output values of the operational units, can form, for example, a time sequence. Optionally, such a sequence can also be marked, thereby, for example, specifying that a particular time period or a specified output value belongs to a defined sequence. The sequence thus formed can be processed as a whole for further processing, storage, or evaluation. Alternatively, different input and / or preferably output values belonging to the same time period or the same sequence can be processed together and, for example, compared with each other. By arranging the data at the projection level in time and grouping them into specific processes and sequences so that they can be accessed again, a memory-like structure can be enabled. To control the priority between operational units, a timer (not shown) can also be used in this system, following the idea described in connection with FIG. 4.
[0201] The memory 852 provided in the projection level 850 can be designed as a volatile memory element or as a non-volatile memory element, for example, in the form of a ring memory or another short-term memory. Data processed in the projection level 850 can be stored in this projection memory. The data storage period and the selection of data to be stored can be designed in very different ways. For example, a fixed storage period can be initially specified. After this period has elapsed, the data in the projection memory can be discarded and / or overwritten. Additionally or alternatively, one or both of the system's evaluation units, such as the evaluation units 830 and 840, can make a decision as to whether the data in the projection memory should be at least partially passed to another element of the system. To prevent data loss, this decision can be made before the expiration of the predetermined storage period. For example, one of the evaluation units can determine that some or all of the data stored in the projection level 850 or the projection memory needs to be passed to another storage element for long-term storage. This could be, for example, one of the memory elements of a working unit. By storing new situations in the memory of another unit in the system that will later evaluate them, already evaluated situations can be incorporated into experiences created in a similar manner. However, in principle, separate memory modules (not shown) could also be provided as long-term memories, which could be fixed or definable depending on which units have access to the data stored therein and to what extent.
[0202] Further details and embodiments of the present invention are described below. Based on the first evaluation and / or the second evaluation, it can be determined whether the first and / or second output values of the first and / or second operational units are within a valid range or parameter, or whether they satisfy certain normative rules, i.e., whether they are acceptable as a valid solution (in the sense of a condition or rule), or whether they are at least somewhat acceptable. For example, if the current output value of the first and / or second operational unit, determined in the previous example as the total output value of the system, is outside the acceptable range, a reaction of the entire system can be prevented or stopped based on this evaluation, so that the previously obtained first / second output value of the first / second operational unit is not passed to, for example, an actuator or an interface. Output values evaluated as unacceptable or invalid can be discarded, but can also be saved together with this evaluation to allow for a fallback in later situations, such as comparisons. In this way, the evaluation of later detected situations can be simplified or accelerated by not pursuing solutions already recognized as invalid, or by pursuing them with a lower priority. Alternatively, for example, if no solution is found that satisfies all conditions, the first / second output value can be used as the overall output, thereby ensuring that the interaction between the work level and the evaluation level according to the present invention finds the best possible solution.
[0203] Output values and solutions can be checked not only for their acceptability, but also for their particularly good correspondence to certain conditions and specifications, i.e., for their representation of the ideal possible solution. The output values obtained in this way can be used as the overall output of the entire system or, preferably, can be stored, for example, in a long-term memory, allowing for a fast retrieval of the best solution found in the future. Conversely, output values that are evaluated as particularly unfavorable or favorable can be provided with corresponding evaluation parameters that can be linked to these values and stored and / or further transmitted. These evaluation options can be implemented individually or in combination with each other.
[0204] For example, a decision to transfer and store data from the aforementioned projection levels 750, 850 can be made based on such an evaluation by the evaluation unit.
[0205] In a further embodiment, initially, only the system input values used as input values for the first and second operational units may be stored in the projection level or its associated memory 752, 852. This can be considered an unprocessed image of the current situation. At the same time, the first and second operational units begin processing these input values as described above, using various possibilities, such as changing the priority between the operational units or modulating the decision parameters and functions of the second operational unit.
[0206] The solutions found, i.e. the output values of the first and / or second operational unit, can be transferred to the projection level. This allows them to overwrite the respective associated input values or to preserve and link them together. For example, depending on the transformation, a new result obtained from the same input values may overwrite the old result. In other cases, the old solution may be retained and the result transferred to the projection layer, so that, for example, a comparison of the current solution with the previous one can be used to evaluate whether the later or the previous result better corresponds to the specifications or conditions of the evaluation system. As an example of linking, for example, as far as photographs are concerned, simultaneously superimposed or overlapping elements can also be taken into account.
[0207] Optionally, the aforementioned dominance between the coupled units can also be taken into account, so that, for example, only the output values of the currently dominant network are processed and stored at the projection level or in its memory. In this process, temporal parameters can again be linked to values. For example, time segments of the same or different lengths can be defined, to which the respective input and output values are then appropriately assigned to recreate the chronological sequence of the situation. For example, input values can be stored in a first period, output values of the first operational unit in the next period, and then values of the second operational unit can be output. Furthermore, improved or at least modified output values can be stored in further sections. A period can be specified for each block of output values, which can optionally be marked as belonging together to clarify the order of the recognized situation.
[0208] In an exemplary embodiment, control over the storage of data in or from the projection memory can also be at least partially assumed by some units of the system. For example, in a system where unit priorities are defined, a check is made to see if input values change beyond a predefined level, thereby assuming a new situation. In this case, the priorities are passed to a first operational unit, which can create a new rough classification of input values. At the same time, the first operational unit can send a signal to the projection memory indicating whether the data stored there (corresponding to the previous situation) needs to be transferred to another memory element, such as long-term memory, or whether it can be overwritten later. Similarly, depending on the current processing operation, the first and / or second operational units can adjust the storage period in the projection memory to accommodate different situations or goals. For example, if a long and detailed solution search is required, a longer storage period in the projection layer can be set, but a quick decision can lead to a quick change in the stored data.
[0209] Optionally, one of the units can also decide, for example, on the storage period, so that, for example, a decision by a first operating unit to discard previous data in the projection memory can be confirmed or blocked by a second operating unit, with the respective data nevertheless being stored, for example in the case of repeated input values. Furthermore, it is also conceivable that, at least to a limited extent, one of the units can modify the classification memory of another unit, for example by creating new categories. However, it is also possible to define a protected area in which all defaults are stored that cannot be modified or deleted by any unit.
[0210] If a timer is specified that can measure time intervals and pass this information to the units, as in the system shown in Figure 4, this timer can also monitor the specified storage period. In this way, the storage period can be adjusted or synchronized with the dominance distribution between different units of the system. Alternatively, however, a separate part of the system can be provided for this purpose. In principle, the evaluation unit can also modify and redefine the predefined storage period. In this case, different storage period specifications can be defined for different values. For example, it is possible to specify that the output values of a first operational unit, which is a high-speed classification unit, are stored at the projection level for only a short time, so a first storage period specification is defined for them, while a longer storage period specification is provided for the output values of a second operational unit. It is also possible for the output values of the first operational unit to be stored only until the output values of the second operational unit are available. Optionally, the evaluation unit can first wait for confirmation of the output values. If the output values of the second unit are determined to be invalid because they do not correspond to the predefined conditions, the storage of these values can be canceled, but the rough output values of the first operational unit will still be retained.
[0211] Additionally or alternatively, the evaluation unit may further modify the modulation detailed between the first and second units based on the evaluation performed.
[0212] The system can be designed so that the evaluation system does not determine the validity or invalidity of results and output values alone, but in combination with other units of the system, for example by influencing processing parameters, storage times, and other factors.
[0213] To the extent that evaluation units, i.e., evaluation levels, are designed as evaluation or verification units, they can include classifications that essentially include features such as prohibitions, priorities, normative rules, and values. Evaluating the output values of the operational levels at such evaluation levels ensures that only solutions that comply with these specifications are approved for the overall system. These can be simple, fixed boundary conditions of the system. However, they can also be further developed into modules such as ethics that guide the development and decisions of the overall system in the direction given by values and rules. These boundary conditions are preferably predefined, inter alia, by the classification of the evaluation levels, and are firmly defined and stored for the first evaluation unit without being changed by the system, and are preferably modifiable for the second evaluation unit starting from predefined conditions. Therefore, it is conceivable that the system can learn these classifications at least partially by itself through the interaction of the operational and evaluation units. That is, to accommodate unsupervised learning, an at least partially unique value system or learning set of boundary conditions is formed. A design with a predefined base system of unchangeable boundary conditions can also be used. This system can be supplemented during a training phase, during operation, and / or by external data input.
[0214] The conditions specified by the evaluation unit can be applied both during the joint training phase of the combined network and during subsequent evaluation phases of previously trained systems. Optionally, the classification memory of the evaluation unit can contain several separate preset settings corresponding to several closed groups of classifications. One of these groups can be selected as needed, for example, depending on the current situation. The recognition of each current situation and the assignment of the applicable classification group can again be based on the results of the first and / or second operational units. In this way, for example, different risk preferences or "basic moods" of the system can be implemented. In this case, basic settings that are changed only in specific cases can also be predefined. It is also conceivable that new classification groups with additional or flexible evaluation boundary conditions will be actively formed from the unchangeable basic settings of the evaluation level during the training and operational phases of the combined system.
[0215] For example, in the case of autonomous vehicles or aircraft (e.g., aerial drones) used to rescue people, a more risky driving style may be permitted unless a passenger is being carried, especially if the vehicle needs to arrive at a predetermined location quickly. After a rough recognition of the situation, e.g., an "alarm situation," which can be performed by the first operational unit, a corresponding classification group can be selected for the first evaluation unit, and based on this, solutions or output values are preferably evaluated by the first and / or possibly the second operational unit. Similarly, possible finer classification groups are selected by the second evaluation unit, whereby this selection is influenced by the first evaluation by the third modulation function. In this way, basic boundary conditions, such as avoiding accidents, can still be observed, while other boundary conditions (e.g., high-speed cornering, damage tolerance, etc.) can be relaxed. As soon as the system detects a new situation, e.g., the presence of a passenger in the vehicle, different classification groups can be applied to the first and second evaluation units, respectively, thereby allowing for a greater focus on the passenger's health or even on rescued casualties. In an extended embodiment, further criteria catalogs can also be created. This can be used to classify specific situations, such as cargo transport, firefighting, reconnaissance flights or trips, etc. If the situation can be classified as such a known situation, the evaluation level is limited to maintaining the validity of boundary conditions and remains passive unless a contradiction occurs. However, if a more complex or unknown situation arises that may result in damage or other undesirable consequences, the evaluation level can also intervene more actively in the solution search of the task level, for example by specifying a new search space, changing or modulating parameters of task units, or supporting the search for other suitable solutions.
[0216] Thus, the framework conditions of the entire system, such as prohibitions, priorities, and value systems, are preferably placed in the memory of the evaluation level, permanently programmed for the first evaluation unit and somewhat modifiable for the second evaluation unit. Speeding up processing can also be achieved by excluding certain solutions. The evaluation level can actively intervene in the solution search of the work level through actions such as rewards and punishments or by inducing new step sizes. Therefore, the output values of the work level are also influenced by the evaluation level through a special type of feedback.
[0217] As a further option, the evaluation level can influence the timer and thus the associated dominance decision of individual units in the system. This is preferable for systems with several coupled units, as already explained in connection with Figure 4. For example, the evaluation level can check whether the time parameters specified for the dominance transition lead to the appropriate result or whether a different distribution or specification of the duration is required. This allows for flexible response to situations where, for example, a more coarse classification than usual is required and a decision needs to be made in a shorter time. Therefore, if necessary, signals from the evaluation level to the timer module can be used to set one or more new time parameters for each of the coupled artificial learning units, based on which further dominance decisions are made, as already explained. Similarly, after a time evaluation of the situation data, the evaluation level can determine whether the input values, and therefore the situation being evaluated, change significantly very quickly or whether the situation remains quasi-static for a long time, and define other time parameters for processing accordingly.
[0218] The elements and process steps described in Figures 7 and 8 are, of course, not intended to be limited to the embodiment shown with four artificial learning units. In all embodiments, it should be understood that individual elements, such as memory elements, artificial learning units (neural networks), connections between these elements, and so on, can be implemented differently than shown here. For example, other memory elements not shown in these schematic diagrams could, of course, be present, or some or all of these memories could take the form of a single physical memory element, subdivided, for example, by addressing.
[0219] The various sub-approaches described above, especially when combined with each other, can lead to associative and independently functioning systems. Such systems can cover a much wider range of applications than intelligent systems trained solely in one area of expertise. In traditional systems, data processing corresponds to finding the minimum error or maximum success in a multidimensional space. The more dimensional this space is (through classifications, choices, and hierarchical levels), the greater the chance that the system will get stuck in a local minimum or maximum. On the other hand, the coupling and influence of the second unit by the first unit, in the form of modulation functions applied to weights, step sizes, functions, etc., as described above, allows the first unit to jump, depending on the defined step size, into initially unexplored areas of the search space that would never otherwise be reached. During this process, the task may briefly change, as each time a new solution space is quickly checked for relevance.
[0220] For example, if a potentially dangerous but unidentifiable animal is recognized from the input and neither the first nor the second task unit can find a suitable image pattern, the system can jump to sound analysis with a modulated step size (e.g., stochastically induced) to find a suitable sound recorded by the unidentifiable animal. The second task unit, modulated in this way, can then check whether the found solution can be applied to the previously unclassifiable image. This corresponds to associative performance.
[0221] Similarly, the introduction of the projection level allows for associative behavior to be replicated here. For example, decisions (in the form of output values) can be compared with previous decisions and optionally evaluated. Thus, instead of abstract learning capabilities based on positive or negative rewards, the evaluation system is completed associatively. For example, if the system cannot find a better solution in the jump region, it can jump back to the region of the previous best solution, determined by evaluation at the projection level and optionally saved, to start a new jump transformation. This allows, for example, for the first unit to always modulate from a suitable starting point found based on evaluation at the evaluation level.
[0222] As a possible application, consider a personal AI system adapted to the user. Ideally, such a system would develop intelligent behavior in the sense of hard artificial intelligence by combining several artificial learning units. This would include, among other things, modulated explained feedback and evaluation levels with corresponding saved options. Preferably, such a system would be able to freely associate and individually classify problems. Furthermore, to enable the AI system to respond individually to the user, it should be capable of user-specific behavior, i.e., be able to detect and / or learn, among other things, the user's interests, idiosyncrasies, moods, emotions, personality traits, and knowledge level.
[0223] Herein, such and other externally collected data can be added to the system. Updating the entire system is also possible. For example, the work level or classification and / or evaluation level or conditions can be changed within certain limits. However, it is preferable to implement a mechanism to completely prevent data export from the system, since it operates on a particularly personal level. Therefore, personal data should not be disclosed to the outside world and should not be accessible at will. For example, it is conceivable that an AI system will operate primarily offline, i.e., without connecting to external communication networks or other interfaces. A time-limited secure connection can be established to update the system or load background knowledge or other data. This can be fully controlled by the user, for example. For example, the source of the added data can be specified and the user can be given the option of consenting to the connection.
[0224] An initial training phase of the system can be provided, during which learning communication takes place with foreign, predefined training data sets and / or data that does not originate from actual users of the system. This training phase can help provide a general baseline of topics, knowledge, experience, and expertise, and later rely on external data only in special cases. Predefined communication characters can also be set, as well as the initial depth of the learning process and general state associations. Furthermore, problem recognition and appropriate response to situations, associative communication processes, can be trained during the training phase.
[0225] After completing this initial training phase, which may be performed by the manufacturer, for example, a second training phase may be performed by the end user. Here, for example, time parameters may be configured by the user (synchronization). A previously configured communication character may be adapted to the end user by having the system learn and adapt from the connected network (by mirroring or complementing). Similarly, the characteristics and interests of a character previously configured for a general user may now be adapted to a specific end user. Furthermore, in exemplary embodiments, particularly those involving visual evaluation, the projection level may generate a current image of its state and display it on the screen. This superimposed image may then be used by an external user or trainer to evaluate the system during the work phase, particularly the training phase, and determine how the system approximately assesses the current situation. In this way, the training phase may be accelerated by early recognition of how the system is functioning and, if necessary, intervening to correct or change certain aspects.
[0226] After these training phases, the system is preferably ready for use, although supplemental training phases can be used at a later time.
[0227] Depending on the embodiment, the AI system may have different interfaces for registering environmental conditions and actions performed by the user, as well as the user's emotional and mental state. Various sensors can be used for this purpose: cameras, microphones, motion sensors, infrared sensors, compound sensors ("artificial noses"), ultrasonic sensors, etc. These can be individually located, distributed, and / or combined on appropriate moving or static objects to enable the most comprehensive analysis possible. Furthermore, other interfaces can be provided through which the AI system can communicate with the user, such as speakers or screens for audio output and other display means for visual and textual representations.
[0228] In one possible embodiment, an object integrated with such an AI system is provided for the user. This can be a mobile object such as a technological device (e.g., a smartphone), but it can also be an item of furniture or an object of everyday use, such as a lamp, a vase, a screen, a mirror, or any other object that already has a fixed place in the home. The task of this system is to become the user's personal, artificial, intelligent companion. The system verifies the user's identity and communicates with him / her, for example, via voice and / or images, if a screen or projection is installed in the room. Therefore, the output is connected to an interface (e.g., speakers, a screen, a projector).
[0229] Based on the above-mentioned elements of the invention, the system is able to classify situations, capture and associate stored and learned knowledge. The purpose is to provide inspiration, make suggestions, bridge the user's loneliness and depression, and also act as a coach or professional advisor / problem solver. Fields of use include: as a leisure companion (helping with boredom, providing impulse to conversation, entertaining people, and helping with life); as an inspirer of intellectual, scientific, and artistic impulses; as a coach or advisor offering psychological or intellectual support, especially to those with mental disabilities; as an advisor in various everyday situations (fashion, hygiene, health, work, care); as a personal assistant (allowing it to create and use an extensive knowledge database); as a playing partner in the most diverse games, etc.
[0230] In particular, such a system can adapt to the user both in the short term, e.g., to their current mood, and in the long term, e.g., to their personality type. Among other things, information processed via the projection level and stored in long-term memory can be used for this purpose. Ideally, for this purpose, the system can be equipped with codes, biometric user recognition (image, voice, fingerprint, tone of voice, or other characteristics), and other access control options.
[0231] A moral and ethical system can be implemented with such a system and the process steps described. For example, a personal intelligent companion can encourage actions that are satisfying and useful to the user and their environment. It can draw attention to moral and ethical issues adapted to the user's type, personality, situation, and mood, and can promote specific virtues (helpfulness, generosity, kindness, courage, wisdom, etc.).
[0232] By appropriately conditioning the evaluation level, the system can be configured to avoid harm, pain, and suffering not only for the user but for all those affected by its decisions. If a serious wrong decision is predicted, the personal attendant can initiate a discussion. In particular, they can discuss the consequences of a particular course of action and offer constructive suggestions for alternatives. The priority is not to prescribe actions, but to idealize how actions should or could be. The personal attendant can identify dilemmas and point them out to the user, while simultaneously searching for alternative solutions or the most appropriate solution to choose. Especially in the context of the user's artistic creations, a personal intelligent companion offers the possibility of supporting the user solely through pre-programmed and learned evaluations. In this context, reflection can already be adapted to the user. Here, the system's associative abilities play a key role.
[0233] As a further example of implementation, we will discuss "intelligent mirrors." We already have mirrors in entrance or bathroom areas. The input and output interfaces already described in the previous general example, such as various sensors, can be easily integrated into the mirror. By using objects that users pass through frequently but for short periods of time, various possibilities for implementing such an AI system can be realized.
[0234] For example, various information about the user, their general situation, and their habits can be collected without their active input using appropriate cameras, microphones, motion detectors, ultrasonic sensors, artificial noses, infrared sensors, etc. Access control can also be implemented, especially in entrance areas.
[0235] In this way, an intelligent AI system can, for example, alert the user to clothing issues and provide clothing recommendations; detect expected weather and necessary tools when they are missing, point them out; record and recognize items the user carries; and, if necessary, interact with the user (via voice or other input means) to clarify questions, e.g., if something is needed, forgotten, or lost.
[0236] Comments recorded by the microphone can also be included, allowing the user to actively support these processes, for example by commenting on situations or objects or actively pointing them out for recording. After a while, the AI system can know almost all objects, clothing items and their whereabouts in the flat in this way. If something is being searched for or the user has questions about their clothes, food stock, book stock, etc., the system can provide hints. For example, it can tell the user that they were wearing glasses when they entered the flat and can conclude that the glasses must be inside the flat.
[0237] Daily life assistance such as appointment diaries and lists will also be managed interactively by the AI system, making the system particularly useful for the elderly, sick, or generally those with some limitations in their daily activities.
[0238] By appropriate evaluation of the recorded data, for example, by recognizing facial expressions and evaluating voice pitch or other data, the system can also record the user's mood in a short period of time and give corresponding instructions based on this, for example, if someone wants to hurry up and start a long journey. For example, the detected mood can be included in the evaluation made by the evaluation level in the above example embodiment.
[0239] In this context, detection options and interaction are not necessarily bound to an object (i.e., in this case, an intelligent mirror). To avoid the user having to converse with the AI system for long periods in inappropriate locations, the system can initiate or continue a dialogue with the user via speakers, microphones, and other devices distributed in appropriate locations within the flat. Components of the AI system itself can also be distributed across several modules, which can be connected to each other, for example, via appropriate wireless or wired communication interfaces.
[0240] It is preferable to apply for all AI systems presented here that recorded and stored data, especially personal data, are strictly protected, in particular that cryptographically protected storage of data is provided. For this purpose, it is also possible to integrate an identification system that can reliably identify a user not only from images and sounds, but also from movement characteristics, evaluation of voice enhancements, or other biometric characteristics. This will prevent personal information from being disclosed to guests or other unauthorized persons during interactions.
[0241] Further possible embodiments that can be implemented individually or in any combination with each other and with the above embodiments are summarized below.
[0242] For example, according to one embodiment, the method may be implemented in a system of multiple artificial learning units, including inputting input values to at least a first artificial learning unit and a second artificial learning unit, thereby obtaining a first output value of the first artificial learning unit. Based on the output value of the first artificial learning unit, one or more modulation functions may be formed and then applied to one or more parameters of the second artificial learning unit. The one or more parameters may in some way affect the processing of the input value and obtaining the output value in the second artificial learning unit. Furthermore, output values of the second artificial learning unit are obtained, which may represent, for example, modulated output values of the second unit.
[0243] In this way, two artificial learning units are coupled to form an artificial learning system without using direct feedback of input or output values. Instead, one of the units is used to influence the function of the second unit by modulating specific functionally related parameters. This results in new connections that lead to different results or output values than traditional learning units. Furthermore, processing input values through two coupled units can produce results in less time and with more detailed analysis than traditional systems, thereby increasing overall efficiency. In particular, the problem at hand can be quickly classified and rapid changes taken into account.
[0244] In an exemplary embodiment, at least one of the artificial learning units (the working unit and the evaluation unit) may comprise a neural network having multiple nodes, particularly one of the artificial learning units to which a modulation function is applied. In this case, the one or more parameters may be at least one of the following: node weights, node activation functions, node output functions, and node propagation functions of the neural network. These are important components of the neural network that determine data processing within the network. Instead of defining new node weights or functions, the modulation function can be used to superimpose existing self-trained and / or predefined functions of the modulation network depending on the results of the first artificial learning unit. This application of the modulation function can therefore be performed, in particular, even outside the network training phase, thus achieving active coupling of two or more networks in processing input values.
[0245] According to an exemplary embodiment, at least one, and preferably each, of the artificial learning units (operational unit and evaluation unit) can be assigned a classification memory, each of which classifies input values into one or more classes stored in the classification memory, each class being structured with one or more subordinate levels, the number of classes and / or levels in the first classification memory of a first artificial learning unit (first operational / evaluation unit) being less than the number of classes and / or levels in the second classification memory of a second artificial learning unit (second operational / evaluation unit). The asymmetric classification memories of two coupled artificial learning units in this way allow for parallel or time-dependent alternating evaluation of input values with different objectives, for example, a combination of fast classification of input values and a slower, more detailed analysis of input values.
[0246] Alternatively, or in addition to, an asymmetric design of the classification memory, the first and second artificial learning units can be designed to have different complexities, such that, for example, the first artificial learning unit (first task / evaluation unit) has significantly lower complexity than the second artificial learning unit (first task / evaluation unit). In the case of neural networks, for example, the first neural network can have significantly fewer nodes, layers, and / or edges than the second neural network.
[0247] In a possible embodiment, the application of at least one modulation function can cause a time-dependent superposition of the parameters of the second artificial learning unit, where the at least one modulation function can have one of the following characteristics: periodic function, step function, function with temporarily increased amplitude, damped oscillatory function, beat function as a superposition of several periodic functions, continuously increasing function, continuously decreasing function. Combinations or time series of such functions are also conceivable. In this way, the relevant parameters of the learning unit can be superposed in a time-dependent manner, so that, for example, output values "jump" into the search space due to modulations that would not be possible without superposition.
[0248] Optionally, the second artificial learning unit may comprise a second neural network having multiple nodes, and applying at least one modulation function deactivates at least some of the nodes. This type of deactivation can be considered as a "dropout" based on the output values of the first artificial learning unit, and it not only opens up new search areas for classification, but also reduces the amount of computation and accelerates the execution of the method.
[0249] In an exemplary embodiment, the method can further include determining a currently dominant artificial learning unit in the system and forming an overall output value for the system from the output value of the currently dominant unit. In this manner, two or more artificial learning units in the system can be meaningfully coupled and synchronized.
[0250] For example, a first artificial learning unit (especially a first operational unit) can be set as a dominant unit at least until one or more output values of a second artificial learning unit (especially a second operational unit) are available. In this way, it can be ensured that the system is always decision-safe, i.e., that a reaction of the system is always possible (after the first execution of the first operational unit) even before a complete classification of the input values has been performed by all existing artificial learning units of the system.
[0251] A comparison of the current input value with a previous input value can also be applied by at least one of the artificial learning units of the system, so that if the comparison results in a deviation exceeding a predefined input threshold, the first artificial learning unit is set as the dominant unit. In this way, it can be ensured that substantially changed input values (e.g., detection of a new situation by a sensor) are immediately reacted to with a new analysis of the input values.
[0252] Additionally or alternatively, a comparison can be made between the current output value of the first artificial learning unit and the previous output value of the first artificial unit (especially the first working unit), whereby if the comparison results in a deviation exceeding a predetermined output threshold, the first artificial learning unit is determined to be the dominant unit. Evaluating the deviation of the output values can also make a new classification meaningful, for example, if a deviation class exists as a result of a comparison with a previous run, indirectly detecting changes in input values of particular importance.
[0253] In certain embodiments, the system may further comprise at least one timer that stores one or more predetermined time periods associated with one or more of the artificial learning units, the timer being configured to measure the passage of the predetermined time period associated with that unit, one artificial learning unit at a time. Such an element, for example, allows for the synchronization of various units of the system and the possibility of controlling when the output value of a particular unit is expected and when it is further processed. Thus, the timer can be used to define an adjustable latency of the overall system, within which a decision can be made as to the overall output value of the system. This time period may be, for example, a few milliseconds, for example 30 or 50 milliseconds, and may depend, among other things, on the existing topology of the computing units and the available computing units (processors or other data processing means).
[0254] For example, the measurement of a predefined period assigned to one of the artificial learning units can begin as soon as this artificial learning unit is determined to be the dominant unit, thus ensuring that the unit develops a solution within a predetermined time, or optionally even allowing data processing to cease.
[0255] In one possible embodiment, if a first period of a predetermined timer has elapsed for a first artificial learning unit, a second artificial learning unit (particularly a second working unit) can be set as the dominant unit, thereby ensuring that a reaction based on the first artificial learning unit is already possible before the input values are analyzed by further artificial learning units, after which the data is evaluated in more detail by the second unit.
[0256] In any embodiment, the input values may include, for example, one or more of the following: measurements detected by one or more sensors, data detected by a user interface, data retrieved from memory, data received via a communications interface, data output by a computing unit, etc. For example, it may be image data captured by a camera, audio data, position data, physical measurements such as speed, distance measurements, resistance values, and general values captured by appropriate sensors. Similarly, a user may enter or select data via a keyboard or screen, optionally linked to other data such as sensor data.
[0257] It will be appreciated that the above examples can be combined in any way. For example, in any of the described embodiments, the timer described in relation to Figure 4 may also be present. Likewise, in all examples, the learning unit may have a classification memory as described in relation to Figure 5. All these variations are again applicable to the combination of more than three or four artificial learning units.
Claims
1. The overall system, which is implemented in the machine controller and has an operational level (710) and an evaluation level (730), is an artificial learning system. The input values (X i ) a method for treating the The task level includes first and second artificial learning task units (810, 820), the evaluation level includes first and second artificial learning evaluation units (830, 840), and the first and second artificial learning task units and the first and second artificial learning evaluation units each include a neural network having a plurality of nodes and one or more parameters, and the one or more parameters are at least one of node weights, node activation functions, node output functions, and node propagation functions of the neural network, respectively; The method comprises: a) The first input value (X i (t1)) into the operation level, and determining a first output value (Output11) from the first input value by the first artificial learning operation unit (810) according to a first classification; b) generating first situation data (Y(t3)) based on the first output value (Output11); c) inputting the first situation data into the evaluation level and determining by the first artificial learning evaluation unit (830) a first evaluation (Output21) indicating whether or to what extent the first situation data meets a predetermined first condition; d) forming a second modulation function based on the first evaluation and applying the second modulation function to the one or more parameters of the first artificial learning operational unit (810) to affect the determination of the first output value at the operational level based on the first evaluation; Including, steps a) to d) are repeatedly performed until a predetermined first time period has elapsed, and / or until a change in the first output value between successive iterations is within a predetermined first tolerance range, and / or until the first evaluation indicates that the first condition has been met; The method comprises: e) the second input value (X i (t2)) into the operation level, and determining a second output value (Output12) from the second input value by the second artificial learning operation unit (820) according to a second classification, wherein the determination of the second output value is influenced by the first output value by forming a first modulation function based on the first output value and applying the first modulation function to the one or more parameters of the second artificial learning operation unit (820); f) generating second situation data (Y(t4)) based on the second output value; g) inputting the second situation data into the evaluation level and determining by the second artificial learning evaluation unit (840) a second evaluation (output 22) indicating whether or to what extent the second situation data meets a predetermined second condition, wherein the determination of the second evaluation is influenced by the first evaluation by forming a third modulation function based on the first evaluation and applying the third modulation function to the one or more parameters of the second artificial learning evaluation unit (840); h) forming a fourth modulation function based on the second evaluation and applying the fourth modulation function to the one or more parameters of the second artificial learning operational unit (820) to affect the determination of the second output value at the operational level based on the second evaluation; Including, steps e) to h) are repeatedly performed until a second predetermined time period has elapsed, and / or until a change in the second output value between successive iterations is within a second predetermined tolerance range, and / or until the second evaluation indicates that the second condition has been met; The method, wherein the first and / or second output values are used as an overall output value (Output) of the overall system, and the overall output value is used as a control parameter and / or a state parameter of the machine.
2. The method described in claim 1, wherein the first output value is used as the overall output value when the repeated execution of steps a) to d) is completed.
3. A method described in any one of claims 1 to 2, wherein the second output value is used as the overall output value when the repeated execution of steps e) to h) is completed.
4. 4. The method according to claim 1, further comprising storing in an overall sequence memory (760, 860) an entire sequence of entire records each comprising mutually corresponding input values and / or first output values and / or first situation data and / or first evaluations and / or second output values and / or second situation data and / or second evaluations.
5. 5. The method according to claim 1, further comprising supplementing the first and / or second conditions, such that for each of the first and second situation data, the first and second conditions were not satisfied before the supplementation, and the supplemented first and second conditions are satisfied, respectively.
6. 6. The method of claim 5, wherein when the repetitions of steps e) through h) are stopped because the second time period has expired or because a change in the second output value between successive repetitions is within the second tolerance range, the second condition is supplemented such that the situation data present at the time of cessation satisfies the supplemented second condition.
7. 7. The method of claim 5 or 6, wherein the supplementation of the first and / or second condition is performed based on the total number of stored sequences that failed to satisfy the first or second condition, respectively.
8. 8. The method according to any one of claims 1 to 7, wherein the overall system comprises a projection level, and the formation of the first and / or second situation data is performed by the projection level.
9. The method of claim 1 , wherein the second classification classifies at least one class of the first classification into a plurality of subclasses.
10. 10. The method of claim 1, wherein the first conditions are given in the form of rules and the second conditions are given in the form of rule classifications, each rule being assigned a rule classification that represents a subdivision of the respective rule to several levels.
11. 11. The method according to claim 1, wherein the working level is designed such that the determination of the first output value in step a) requires a shorter period of time and the determination of the second output value in step e) requires a longer period of time, and / or the evaluation level is designed such that the determination of the first evaluation in step c) requires a shorter period of time and the determination of the second evaluation in step g) requires a longer period of time.
12. 12. The method of claim 1, wherein the first and second input values are provided as time-continuous input signals or discrete time series.
13. storing in a first sequence memory a first evaluation sequence of a first evaluation set comprising input values of said first artificial learning evaluation unit and associated first evaluations; and / or storing in a second sequence memory (832) a second evaluation sequence of a second evaluation set including input values of the second artificial learning evaluation unit and associated second evaluations; 13. The method according to any one of claims 1 to 12, wherein the determination of the first and / or second assessment is performed taking into account the stored first or second assessment sequence.
14. 14. The method of claim 4 or 13, wherein said storing is in a cryptographically protected form.
15. 15. A system in a controller of a machine configured to perform the method of any one of claims 1 to 14, comprising an operating level (710) and an evaluation level (730), wherein the operating level is configured to receive the input values and the evaluation level is not capable of receiving the input values.
16. The system of claim 15 , wherein the performance level and the evaluation level are each implemented in at least one computing unit.
17. The system of claim 16 , wherein the at least one computing unit on which the effort level is implemented is different from the at least one computing unit on which the evaluation level is implemented.
18. 18. The system according to any one of claims 15 to 17, further comprising a projection level and / or overall sequence memory (760, 860).
19. 19. The system of claim 15, wherein the operation level includes first and second artificial learning task units (810, 820), the evaluation level includes first and second artificial learning evaluation units (830, 840), and the first and second artificial learning task units and the first and second artificial learning evaluation units each include a neural network having a plurality of nodes and one or more parameters, wherein the one or more parameters are at least one of node weights, node activation functions, node output functions, and node propagation functions of the neural network, respectively.
20. the first and second artificial learning evaluation units are implemented and / or executed as hardware and / or computer programs in first and / or second computing units, the first and second computing units being interconnected by a first interface, the first interface being configured to generate the one or more first modulation functions; and / or the first and second artificial learning evaluation units are implemented and / or executed as hardware and / or computer programs in a third and / or fourth computing unit, the third and fourth computing units being interconnected by a third interface, the third interface being configured to generate the one or more third modulation functions; and / or 20. The system of claim 19, wherein the third computing unit and the first computing unit are interconnected by a second interface, the second interface configured to form the one or more second modulation functions.
21. 21. The system of claim 20, wherein at least one computing unit is assigned a memory connected to or included in the at least one computing unit, and wherein the memory assigned to the first computing unit is configured to store the first classification, and / or the memory assigned to the second computing unit is configured to store the second classification, and / or the memory assigned to the third computing unit is configured to store the first condition, and / or the memory assigned to the fourth computing unit is configured to store the second condition.
Citation Information
Patent Citations
Shovel
JP2020092447A
Intelligent control with hierarchical stacked neural networks
US9015093B1