Method and system for processing input values
By introducing coupled artificial learning units at the working and evaluation levels into the machine control system, processing sensor data and combining non-technical factors, the problem of insufficient multi-task adaptability and real-time response capability in existing artificial intelligence systems is solved, achieving more efficient machine control and decision optimization.
Patent Information
- Application Number
- CN202180087971.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-11-19
- Filing Date
- 2021-11-19
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2041-11-19
AI Technical Summary
Existing artificial intelligence systems are inadequate in terms of multi-task adaptability and real-time response capabilities, especially in terms of training data requirements and complexity, making it difficult to adapt quickly and operate effectively in different application domains.
A holistic system approach is adopted, which processes sensor data by coupling the working level and the evaluation level, uses artificial learning units to classify and evaluate input values, and combines sensor data with non-technical conditions such as ethics and economics to optimize the machine control system.
It improves the adaptability and real-time response capability of machine control systems, and can optimize output while taking into account non-technical factors, thereby achieving more efficient machine control and decision-making.
Smart Images

Figure CN116685912B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an overall system comprising a working layer and an evaluation layer as an artificial learning system, and more particularly to a method for processing input values in a control system for a machine implemented therein. Background Technology
[0002] Artificial intelligence is playing an increasingly important role in countless application areas today. This was initially understood as any automation of intelligent behavior and machine learning. However, such systems are typically designed and trained for specific tasks. This form of artificial intelligence (AI) is often called "weak AI" and is essentially based on applying computation and algorithms to simulate intelligent behavior in a fixed area. Examples include systems that can recognize certain patterns, such as safety systems in vehicles, or systems that can learn and implement certain rules, such as systems in chess. At the same time, these systems are largely useless in other areas and must be completely retrained for different applications, or even trained using entirely different methods.
[0003] Neural networks are particularly used for the practical implementation of such artificial / human-made learning units. In principle, these networks replicate the function of biological neurons at an abstract level. Several artificial neurons or nodes exist, interconnected, and capable of receiving, processing, and sending signals to other nodes. Then, for each node, functions, weights, and thresholds are defined to determine, for example, whether and at what strength a signal is transmitted to the node.
[0004] Typically, nodes are considered hierarchically, ensuring that each neural network has at least one output layer. Prior to this, other layers may exist as so-called hidden layers, forming a multi-layered network. Input values or features can also be considered layers. Connections between nodes in different layers are called edges, and these are usually assigned a fixed processing direction. Depending on the network topology, it can be specified which node in one layer links to which node in the next layer. In this case, all nodes can be connected; however, for example, a learning weight with a value of 0 means that the signal cannot be further processed via a particular node.
[0005] Signal processing in neural networks can be described using various functions. In the following text, this principle is described in the context of a single neuron or node in a neural network. The network input is formed by a propagation function (i.e., the input function) from several different input values reaching a node. Typically, this propagation function consists of a simple weighted sum, thereby assigning an associated weight to each input value. However, in principle, other propagation functions are also possible. The weights can be specified as the network's weight matrix.
[0006] An activation function, which may depend on a threshold, is applied to the network input of nodes formed in this way. This function represents the relationship between the network input and the level of neuronal activity. Various activation functions are known, such as a simple binary thresholding function, whose output is therefore zero below the threshold and an identity above the threshold; a sigmoid function; or a piecewise linear function with a given slope. These functions are specified when designing the neural network. The result of the activation function forms the activation state. Optionally, an additional output function can be specified, which is applied to the output of the activation function and determines the final output value of the node. However, typically, the result of the activation function is simply passed directly as the output value; that is, the identity is used as the output function. Depending on the naming used, the activation function and the output function can also be combined into a pass function.
[0007] The output value of each node is then passed as the input value of the corresponding node in that layer to the next layer of the neural network, where the corresponding steps are repeated to process the data with the node's individual functions and weights. Depending on the network topology, there may also be backward edges to previous layers or back to the output layer, resulting in a recursive network.
[0008] On the other hand, the weights assigned to each input value can be altered by the network, thereby adjusting the output value and the overall function of the network—this is considered the "learning" of the neural network. For this purpose, backpropagation is typically used in the network; that is, the output value is compared to the expected value, and this comparison is used to adapt the input values to minimize the error. Through error feedback, various parameters of the network, such as the step size (learning rate) or the weights of the input values at nodes, can then be adjusted accordingly. Similarly, the input values can be re-evaluated.
[0009] The network can then be trained in training mode. The learning strategy used is also crucial to the possible applications of the neural network. In particular, distinguish the following variants:
[0010] In supervised learning, an input pattern or training dataset is given, and the network's output is compared with the expected value.
[0011] Unsupervised learning leaves the discovery of correlations or rules to the system, thus specifying only the patterns to be learned. An intermediate variation is semi-supervised learning, in which datasets without predefined classifications can also be used.
[0012] In reinforcement learning, or Q-learning, an agent is created that receives rewards and penalties for actions and, based on this, attempts to maximize the received rewards and thus adjust its behavior.
[0013] One important application of neural networks is classifying input data or inputs into certain categories or classes, i.e., identifying correlations and assignments. These classes can be trained based on known data and are at least partially predefined, or they can be developed or learned independently by the network.
[0014] The basic functions and further specific details of such neural networks are known in this subject, for example from R. Schwaiger and J. Steinwender, “Programming Neural Networks with Python”, Rheinville Computing, Bonn 2019.
[0015] No general-purpose AI system trained solely on a single task will generate a multi-dimensional or high-dimensional space, thus requiring an exponential increase in training and testing datasets. Real-time response quickly becomes impossible. Therefore, attempts are typically made to reduce the dimensionality and complexity of such systems. Different approaches are being explored to address this problem. For example, complexity can be reduced by linking datasets, reducing degrees of freedom, and / or by feeding known knowledge into the system. Another approach is, for example, to at least partially separate related or interdependent datasets using methods such as principal component analysis. Data that is not prominent or negatively prominent during network training can be eliminated by applying filtering methods to features, such as applying chi-square tests or other statistical tests. Finally, the selection of the training data itself can be addressed as an optimization problem within the AI network. In this case, the training data is combined in such a way that it can train new networks as quickly as possible.
[0016] More advanced methods include so-called "convolutional neural networks," which apply convolutions instead of simple matrix transformations in at least one layer of a multi-layered fully connected network. For example, the so-called "deep-dream" method is known, particularly in the field of image recognition, where the weights in the trained network are optimal, but instead, the input values (e.g., the input image) are modified into feedback loops based on the output values. Thus, for example, the system believes that the content to be recognized is faded in. The name refers to the fact that a dreamlike image is created in this process. In this way, the internal processes of the neural network and its direction can be traced.
[0017] Clearly, these methods still exhibit a significant difference from human intelligence. While one can theoretically compare databases, text files, images, and audio files to how facts, language, phonological logic, sounds, images, and sequences of events are stored and processed in the brain, human intelligence differs significantly, for example, because it links all this data within sensory and unconscious “soft” categorization contexts. Summary of the Invention
[0018] According to the present invention, a method for processing input values in an overall system having working and evaluation levels as an artificial learning system, executed in a machine control system, and a corresponding system having the features of the independent claims are proposed. Advantageous embodiments are the subject matter of the dependent claims and the following description.
[0019] A method (or methods, as appropriate) executed in a control system for processing input values including sensor data (or values or measurements, as appropriate) detected by one or more sensors in an overall system having working and evaluation levels as an artificial learning system, comprising:
[0020] a) Input the first input value into the working level, and determine the first output value from the first input value by the working level according to the first category;
[0021] b) Generate first-case data based on the first output value;
[0022] c) Input the first case data into the evaluation level, and the evaluation level determines the first evaluation, which indicates whether or to what extent the first case data meets the predetermined first condition;
[0023] d) Determination of the first output value in the work level based on the first evaluation influence;
[0024] Therefore, repeat steps a)-d);
[0025] e) Based on the second classification, the second input value is input to the working level, and the working level determines the second output value from the second input value, wherein the determination of the second output value is affected by the first output value;
[0026] f) Generate second-case data based on the second output value;
[0027] g) Input the second case data into the evaluation level, and the evaluation level determines the second evaluation. The second evaluation indicates whether or to what extent the second case data meets the predetermined second condition. The determination of the second evaluation is influenced by the first evaluation.
[0028] h) Determination of the second output value in the work level based on the second evaluation influence;
[0029] Therefore, repeat steps e)-h);
[0030] The first and / or second output values are used as the overall output values of the whole system, and the overall output values are used as the control parameters and / or status parameters of the machine.
[0031] In particular, the term "artificial learning system" as used in this application can include two (or more) artificial learning units coupled to each other, see [link to relevant documentation].Figures 1 to 6 The description is as follows: An "artificial learning unit" can be considered a unit that implements machine learning-based algorithms, such as artificial neural networks. Training data can be used to train machine learning-based algorithms to build models that make predictions or decisions based on input values, which are then output as output values. Artificial learning units at the working level and the evaluation level can be trained separately to obtain first / second output values from first / second input values and first / second evaluations from first / second case data. The coupling of artificial learning units within an artificial learning system is specifically achieved in such a way that the first unit or its output value influences the processing of the second unit or its input values, but the second unit does not influence the first unit.
[0032] Artificial learning systems or units can be implemented as computer programs that execute in computing units (e.g., processors, computers, server systems, or accelerator cards). Artificial learning systems or units can also be implemented at least partially as hardware, such as FPGAs (Field-Programmable Gate Arrays). In particular, artificial learning systems can also be implemented via interconnected artificial learning units that can also execute in different computing units.
[0033] The machine can be, for example, an industrial machine, an industrial plant (a system of interactive machines), a mobile work machine, and / or a vehicle, particularly an autonomous or semi-autonomous vehicle. The control system may include one or more control units or computing units (e.g., within one or more control units of the machine). In particular, it is conceivable to implement the working level and the evaluation level in separate computing units (e.g., different control units). Each control unit or computing unit may include one or more processors, volatile memory, non-volatile memory, communication interfaces (for data communication with sensors, machine parts, other control units, or external devices), and / or similar components. Hardware accelerator elements (AI accelerators for evaluation computation steps of artificial learning systems or artificial learning units) may be provided in the control unit. In particular, the non-volatile memory may store the program for implementing the method and / or the data generated during the implementation of the method.
[0034] On the one hand, sensors (preferably mounted on the machine) can be provided to determine or measure characteristics or variables of a machine or machine components, such as pressure sensors (e.g., to determine the pressure of hydraulic fluid), current and / or voltage sensors (e.g., on electrically operated actuators or motors / generators), temperature sensors, speed sensors, rotational speed sensors, light sensors, position sensors, sensors for determining actuator positions, etc. On the other hand, additionally or optionally, sensors (preferably on the machine) can be provided to determine or measure characteristics or quantities affecting the machine environment, such as cameras, radar, lidar, or infrared sensors, microphones, etc. In addition to sensor data, input values may also include other data or values, such as user input, data sent from other devices, requests or specifications, previous values of control parameters or status parameters, or the like.
[0035] The term "control parameter" refers to the parameters or quantities used to control a machine, such as the parameters / quantities on which machine components are controlled. The term "status parameter" refers to parameters that indicate the state of a machine, such as which of several possible operational evaluations exists, whether a dangerous condition exists, or whether the machine is operating correctly or whether a fault condition exists.
[0036] The effect of the first or second evaluation on the determination of the first or second output value (step d) or h) refers to the next repetition that determines the first or second output value from the first or second input value, i.e., the next repetition of steps a)–d) or e)–h). In particular, the determination of the first or second output value has not been affected in the first repetition. This can be achieved, for example, by initializing with a neutral first or second evaluation.
[0037] The input values can remain constant during the repetition of steps a)–d) or e)–h), or they can be variable, thus making it possible to use both simultaneously. For example, sensor data (measurements) determined at a relatively high rate can change at least slightly during the repetition of, for example, current intensity, voltage, temperature, or velocity sensors. In the case of large changes, such as those exceeding a predetermined threshold, a new condition can be assumed to exist (if a new condition exists, the first output value can be used as the total output value first, and then, for example, after a certain period of time, or if another condition is met, the second output value can be used as the total output value). Other sensor data can again remain constant, such as the camera's constant, evaluating the captured images at a relatively low rate (e.g., 30, 60, or <100 Hz). In this case, the maximum (first / second) time span used for repetition can be selected based on 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 span can be selected to be less than 33 ms, such as 30 ms, so that newly captured images are evaluated in each time span. If data acquired simultaneously at a higher frequency is used as input values, these values may change during that time span (e.g., 30ms). Here, we assume that such changes are relatively small, so no new cases arise at all.
[0038] In particular, the input value can also be time-dependent; for example, the input value can be a time series of the sampled signal. Therefore, due to this time dependence, the input value input to the second working unit (at its current state) may differ from the input value input to the first working unit (previously), or, further in the process of this method, when the input value is reused by a working unit that processes a different current input value. However, for simplicity, "input value" is always referred to without explicitly mentioning any time dependence.
[0039] The first or second condition can be purely technical in nature. For example, if the method is used in a machine control system and the total output value represents, for example, control parameters for an electric motor, then one condition could be that the control parameters must be within a technically specified range, such as below the maximum speed of the controlled electric motor.
[0040] In particular, the conditions can also be at least partly non-technical in nature. This may involve ethical or economic aspects.
[0041] For example, ethical considerations are relevant for autonomous vehicles that use artificial learning systems as control systems. For instance, if the control system determines, for example, based on camera or lidar images captured by the autonomous vehicle and evaluated by the control system, that even with full braking without steering correction, it is no longer possible to avoid a collision with another vehicle, then the control system will determine various possible steering corrections that could avoid the collision. For example, one possible steering correction might endanger a pedestrian, while another might lead to a collision with a wall. One of the first conditions could be that human life should not be directly endangered, and due to this condition, steering movements that endanger pedestrians can be excluded or suppressed relative to other solutions. This basic evaluation can lead to an interaction between a first output value and a first evaluation. Ethical considerations can also play a role in the two remaining options in this example (no steering correction and a collision with another vehicle; steering correction and a collision with a wall), because, for example, endangering other vehicles and their occupants should be avoided. In this example, this would be a possible second condition, for example, based on a more detailed analysis of the second output value. In this example, the first condition represents an absolute consideration, while the second condition represents a relative consideration.
[0042] Such moral or economic considerations can be encoded as conditions in an appropriate way; for example, as contracts that make certain compromises in the form of automatically running procedures. In this sense, conditions constitute moral contracts.
[0043] Conditions are "normative criteria," meaning rules that are desirable but not achievable in every situation. Therefore, these conditions are not absolute conditions that must be met in every situation. Thus, the total output is determined by the work level, which in turn influences the work level through the evaluation levels of each input value, determining the total output in a way that best observes the conditions.
[0044] Therefore, the present invention makes it possible to consider aspects that do not have direct technical characteristics in a technical system controlled or monitored by the method for processing input values according to the present invention.
[0045] An example of economic considerations is the use of this system in the machine control of a production plant. On the one hand, as many products as possible should be produced as quickly as possible (i.e., high revenue should be generated), but on the other hand, this leads to higher wear and tear. Therefore, in principle, it is a mixture of economic and technological considerations.
[0046] Preferably, steps a)-d) are repeated until a predetermined first time period has elapsed and / or the first output value no longer changes between consecutive repetitions within a predetermined first tolerance and / or the first evaluation indication has at least partially satisfied the first condition; preferably, when the repetition is completed, the first output value is used as the total output value.
[0047] Preferably, steps e)-h) are repeated until the predetermined second time period has passed and / or the second output value no longer changes between consecutive repetitions within the predetermined second tolerance and / or the second evaluation indication has at least partially satisfied the second condition; preferably, when the repetition is completed, the second output value is used as the total output value.
[0048] Preferably, the method includes storing a total sequence of total records in a total or total sequence memory, each total record including corresponding input values and / or first output values and / or first case data and / or first evaluation and / or second output values and / or second case data and / or second evaluation; wherein, preferably, corresponding time information and / or numbering is provided for the total records and / or values or data included in the total records.
[0049] Preferably, the method includes supplementing a first and / or a second condition such that, for the first and second case data respectively, the first and second conditions were not satisfied before the supplementation, and the supplemented first and second conditions are satisfied or at least partially satisfied; wherein preferably only the second condition is changed while the first condition remains unchanged.
[0050] Preferably, when the repetition of steps e)-h) is stopped because the second time period has passed, or more preferably, when the second output value no longer changes within the second tolerance, a second condition is added so that the data present at the time of suspension satisfies the supplementary second condition.
[0051] Preferably, the completion or supplementation of the first and / or second conditions is based on the total sequence of storage where the first or second conditions cannot be met (or cannot reach a certain level).
[0052] Preferably, the overall system includes a projection hierarchy, wherein the formation of the first and / or second case data is performed by the projection hierarchy.
[0053] Preferably, the second classification divides at least one category of the first classification into multiple subcategories and / or for at least one of the first conditions, a first condition is implied by multiple second conditions.
[0054] 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; wherein each rule is assigned a rule classification, which represents a sub-part of the corresponding rule, particularly divided into multiple levels; wherein preferably a memory is provided in which the rules and rule classifications are stored; wherein more preferably, the rule classifications are subdivided into levels linked by a blockchain, wherein the rules and / or rule classifications are implemented in the form of smart contracts in each case, and / or wherein, if necessary, further subdivisions are added when the second condition is supplemented.
[0055] The working level is preferably designed such that determining the first output value in step a) requires a shorter time period and determining the second output value in step e) requires a longer time period; and / or wherein the evaluation level is designed such that determining the first evaluation in step c) requires a shorter time period and determining the second evaluation in step g) requires a longer time period; wherein in both cases, in each case, the longer time period is preferably at least twice as long as the shorter time period, particularly at least five times.
[0056] Preferably, the first and second input values are given as continuous-time input signals or as discrete-time time series, and more preferably, the first and second input values are all or partly the same.
[0057] The working hierarchy preferably includes first and second artificial learning working units; wherein the first artificial learning working unit is configured to receive a first input value and determine a first output value; wherein the second artificial learning working unit is configured to receive a second input value and determine a second output value; and wherein, in the working hierarchy, one or more first adjustment functions are formed based on the first output value and / or values derived from the first output value, and the formed one or more first adjustment functions are applied to one or more parameters of the second artificial learning working unit, the one or more parameters affecting the processing of input values and the acquisition of output values in the second artificial learning working unit.
[0058] In the simplest case, the situation data can be, for example, the corresponding output value itself. The formation of the first and second situation data depends on the dominance within the work hierarchy formed by the first and second work units. That is, if the first work unit is dominant, the first situation data is formed at least based on the first output value of the first work unit (e.g., the output value of the first work unit and / or values derived therefrom are used as situation data); on the other hand, if the second work unit is dominant, the second situation data is formed at least based on the second work unit (e.g., the output value of the second work unit and / or values derived therefrom are used as situation data).
[0059] Preferably, the first evaluation and / or the value derived therefrom are used as evaluation input values for the first artificial learning working unit; and / or one or more second adjustment functions are formed based on the first evaluation and / or the value derived therefrom, the formed one or more second adjustment functions are applied to one or more parameters of the first artificial learning working unit, the one or more parameters affecting the processing of input values and the acquisition of output values in the first artificial learning working unit; and / or the second evaluation and / or the value derived therefrom are used as evaluation input values for the second artificial learning working unit.
[0060] The evaluation input value is a part of the input value and an additional input value to the input value to be analyzed, thereby changing the first output value accordingly. Before the first execution of step a), and if the input value changes significantly, indicating the existence of a new situation, the first evaluation can be initialized to indicate that all first conditions are met.
[0061] The evaluation layer preferably includes first and second artificial learning evaluation units; wherein the first artificial learning evaluation unit is configured to receive first situation data and determine a first evaluation; wherein the second artificial learning evaluation unit is configured to receive second situation data and determine a second evaluation; and wherein, in the evaluation layer, one or more third adjustment functions are formed based on the first evaluation and / or values derived therefrom, and the formed one or more second adjustment functions are applied to one or more parameters of the second artificial learning evaluation unit, the one or more parameters affecting the processing of input values and the acquisition of output values in the second artificial learning evaluation unit.
[0062] The method preferably includes storing a first evaluation sequence of a first evaluation set in a first sequence memory, the first evaluation set including the input value of the first evaluation unit and the associated first evaluation, the first evaluation set being provided with corresponding time information and / or numbering; and / or storing a second evaluation sequence of a second evaluation record in a second sequence memory, the second evaluation record including the input value of the second evaluation unit and the associated second evaluation, the second evaluation record being provided with corresponding time information and / or numbering; the first and / or second evaluations are further preferably determined taking into account the stored first or second evaluation sequences.
[0063] Saving the first / second evaluation sequence makes it possible to track the "decision" of the evaluation units and use the evaluation sequence to perform further training if necessary, such as if they do not work as required.
[0064] Preferably, the storage is performed in a cryptographically protected manner; wherein preferably, a blockchain is used in each case, whereby the blocks of the corresponding blockchain contain at least one of a first evaluation record, a second evaluation record, or a total record.
[0065] Preferably, the method includes: receiving output values from another system; forming first and / or second case data from the received output values; determining first and / or second evaluations by an evaluation hierarchy based on the first and second case data formed from the received output values, respectively; and determining that the other system is compatible when the determined first and / or second evaluations indicate that the first and second conditions are met, respectively.
[0066] If the systems do not contradict each other in their evaluations, that is, if the input values (conditional data) of the evaluation units of one system, classified according to its conditions, take tolerances into account where appropriate, especially in the case of stepwise evaluation, are not classified as unacceptable by another system according to its (other) conditions, then their evaluation units are typically tested under different conditions. The systems are referred to here as "compatible".
[0067] The system according to the invention includes a working layer and an evaluation layer, and is adapted to perform the method according to the invention; wherein the working layer is adapted to receive input values, and wherein preferably the evaluation layer cannot receive input values.
[0068] The working layer and the evaluation layer are preferably implemented in at least one computing unit (as hardware and / or computer program), wherein the at least one computing unit implementing the working layer is further preferably different from, in particular separate from, the at least one computing unit in which the evaluation layer is implemented. If the corresponding at least one computing unit implementing the working layer or the evaluation layer comprises multiple computing units, it can also be referred to as the corresponding computing system. The corresponding at least one computing unit (or computing system) is connected to each other via a corresponding (wired and / or wireless) interface for data exchange. The working layer and the evaluation layer can be implemented, for example, in different control devices (computing units or computing systems). Different mobile wireless devices are also conceivable. The working layer can also be implemented by a control device (computing unit / computing system) permanently installed in the machine, and the evaluation layer implemented in a mobile computing unit (e.g., a mobile wireless device).
[0069] The system preferably includes a projection hierarchy and / or a total sequence memory.
[0070] Preferably, in the system, the working surface includes first and second artificial learning working units, and the evaluation level includes first and second artificial learning evaluation units; wherein the artificial learning working unit and / or evaluation unit preferably each include a neural network with multiple nodes, and further preferably the one or more parameters are at least one of the following: the weighting of the nodes of the neural network, the activation function of the node, the output function of the node, and the propagation function of the node.
[0071] Preferably, a classification memory is allocated to each of the first working unit, the second working unit, the first evaluation unit, and the second evaluation unit, wherein the first working unit, the second working 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 working unit, the second evaluation unit, and the second evaluation unit are configured to classify input values or situational data into one or more categories when generating output values or evaluations, and the categories are stored in their respective classification memories, each of which is constructed as one or more dependency hierarchies; and the number of categories and / or hierarchies in the classification memories of the first working unit and / or the first evaluation unit is preferably less than the number of categories and / or hierarchies in the classification memories of the second working unit, and the number of categories and / or hierarchies in the classification memories of the second evaluation unit is further preferably greater than the number of categories and / or hierarchies in the classification memories of the first evaluation unit.
[0072] Preferably, in the system, the first and second artificial learning processing units are implemented and / or executed as hardware and / or computer programs in the first and second computing units, respectively, and the first and second computing units are interconnected via a first interface; optionally, the first interface is configured to form one or more first adjustment functions. Independently, preferably in the system, the first and second artificial learning evaluation units are implemented and / or executed as hardware and / or computer programs in the third and fourth computing units, respectively, and the third and fourth computing units are interconnected via a third interface; optionally, the third interface is configured to form one or more third adjustment functions. Preferably, the third computing unit and the first computing unit are interconnected via a second interface; optionally, the second interface is configured to form one or more second adjustment functions. The first, second, third, and / or fourth computing units may be completely or partially different from each other (separate). In particular, the above-mentioned at least one computing unit in which the working level is implemented includes the first and second computing units, that is, the first and second computing units can be considered as computing systems in which the working level is implemented. Similarly, the above-mentioned at least one computing unit in which the evaluation level is implemented specifically includes the third and fourth computing units, that is, the third and fourth computing units can be considered as computing systems in which the evaluation level is implemented. It is also conceivable that the first computing unit is a (separate) computing unit different from the second computing unit and / or the third computing unit is a (separate) computing unit different from the fourth computing unit.
[0073] Preferably, at least one, preferably all, computing units are associated with a memory, which is connected to or included in the respective computing unit; wherein, more preferably, the memory associated with the first computing unit is arranged to store a first category, and / or the memory associated with the second computing unit is arranged to store a second category, and / or the memory associated with the third computing unit is arranged to store a first condition, and / or the memory associated with the fourth computing unit is arranged to store a fourth condition.
[0074] The system may preferably further include: at least one output module for outputting a first and / or a second output value to a user, wherein the output module includes at least one of the following: a screen, a touch screen, a speaker, and a projection module.
[0075] Other advantages and embodiments of the present invention will be apparent from the description and accompanying drawings.
[0076] It should be understood that the above-described features and the features to be explained below can be used not only in the combinations indicated in each case, but also in other combinations or individually, without departing from the scope of the invention.
[0077] The invention is illustrated schematically by way of examples of embodiments in the accompanying drawings, and the invention is described below with reference to the accompanying drawings. Attached Figure Description
[0078] Figure 1 This illustrates a combination of two artificial learning units that are coupled to each other;
[0079] Figure 2 Various exemplary control functions are illustrated schematically;
[0080] Figure 3 The application of the dropout process in two coupled neural networks is shown;
[0081] Figure 4 An example with an additional timer is shown. Figure 1 The system shown;
[0082] Figure 5 It schematically shows, as Figure 1 The system shown has associated classification memories;
[0083] Figure 6 An alternative system with three coupled artificial learning units is shown.
[0084] Figure 7 An exemplary overall system having a working level, an evaluation level, and a projection level according to the present invention is shown; and
[0085] Figure 8An exemplary overall system according to the present invention is shown, having two artificial learning work units, two artificial learning evaluation units, and a projection hierarchy. Detailed Implementation
[0086] Figures 1 to 6 The descriptions below them relate to artificial learning working units and artificial learning evaluation units. Figures 1 to 6 Therefore, the term "artificial learning unit" or "artificially learned unit" is used in the description, which can represent both "artificial learning work unit" and "artificial learning evaluation unit." (As in...) Figures 1 to 6 Artificial learning units coupled in that manner are called “artificial learning systems”.
[0087] Figure 1 An exemplary embodiment of artificial learning units 110 and 120 with two links is shown, which will be described in more detail below. The artificial learning units 110 and 120 together form an artificial learning system. In the following explanation, the artificial learning units are exemplarily designed as neural networks, which, in particular, for example, use output values as inputs to the respective networks by means of output values as indicated by arrows 112 and 122.
[0088] In this case, a first artificial learning unit (in the form of a first neural network 110) is provided, which can be substantially used to process the input signal X. i The first neural network 110 performs a classification or categorization process, and the result of this classification or categorization influences the second artificial learning unit 120 (here, the second neural network). In doing so, the results of the first neural network are preferably not used as input values for the second neural network, but rather influence the network's existing weights, step size, and function. In particular, these parameters of the second neural network can be influenced in such a way that they are not completely redefined, but rather the original parameters of the second network 120 are adjusted or superimposed based on the output signal of the first neural network 110. This means that the two neural networks preferably operate independently, for example, by training their basic values themselves, but can be coupled through superposition. In this respect, the two neural networks can be designed to be substantially similar to each other, but have significantly different levels of complexity, such as the number of layers and the classifications present. Furthermore, each neural network may include its own memory.
[0089] In a possible embodiment, the first neural network 110 can be used as a classification network to coarsely and quickly classify the input values, and then, based on the classification results, the parameters of the second network are adjusted accordingly to influence the second network. For this purpose, the first neural network can be a network with relatively few layers, having several categories K1, K2…K… nThe memory, in order to achieve coarse classification, preferably contains highly abstract categories. For example, the first neural network may be limited to 10, 50, 100, or 500 categories, whereby these numbers are of course only understood as coarse examples. In particular, the training of the first neural network can be performed separately and independently of further coupled neural networks. However, additionally or alternatively, a training phase in a coupled state of one or more coupled neural networks may also be used.
[0090] Therefore, the first neural network should deliver a usable output within a short time, which can be used to meaningfully influence the second neural network. Weights and functions can be generated from the output value of 1 in the first neural network 110, and these can be superimposed on the self-generated weights and functions of the second neural network 120. This means that the second neural network initially operates independently and does not entirely adopt the output values of the first network or the parameters obtained from it. The second neural network 120 can also initially be trained independently in the usual manner, thus possessing self-generated weights.
[0091] The second neural network can be significantly more complex than the first neural network, particularly by having more layers and / or memory classes. The degree of increased complexity of the second neural network compared to the first network can be determined differently depending on the application. The input values or input data of the second neural network are preferably the same as those of the first neural network, so that more complex analyses can now be performed with the same data. However, alternatively, the output values of the first neural network can also be used, at least partially, as input values to the second network. This is particularly relevant when the complexity of the second network is significantly different; for example, the second network can be provided with the original input values, which are also used as input values to the first network, fed into the second network, and additionally, the output values of the first network can be used as input values to the second network.
[0092] Figure 2 Various adjustment functions f are shown. mod For example, these functions can be used to superimpose one or more parameters of a second neural network. In principle, superposition or adjustment can be done in any way. If the adjustment function f... mod_w Weights w applied to nodes i2 Then, for example, the weighting matrix of the second network 120 can be provided as the independent variable of the adjustment function, or for each weighting value w i2 Provide a one-dimensional (and different) function. If the adjustment function f... mod_f_is One of the descriptive functions applied to the second neural network, namely the transfer function f applied to network 120. trans2 Activation function f akt2 , propagation function or output function f out2 This can be accomplished by linking these two functions and adjusting the function f. mod_fIt can be applied again to some or all of the relevant descriptive functions (e.g., all activation functions f applied to the second neural network 120). akt2 Similarly, the parameters of the second neural network's function are changed by a conditioning function. The conditioning can be applied equally to all nodes of the network, or alternatively to only a subset of nodes, or different conditioning can be applied to each node. Likewise, for example, for each layer of the network, the conditioning can be applied individually or interleaved in different ways.
[0093] In particular, the adjustment function f mod It could also be a time-dependent function, causing the weights w of the second neural network to... i2 The function may change in a time-dependent manner. However, a static tuning function for tuning the second neural network is also conceivable. In this case, tuning is applied to the parameters of the second network 120, which were originally defined for the second network (e.g., a propagation function or activation function) or obtained independently during the training phase, such as adapted self-generated weights.
[0094] As an example, Figure 2 The diagram shows eight different time-dependent adjustment functions, where the original parameters are multiplied by, for example... Figure 2 The values shown are used to give the adjustment function. Example a) shows a simple binary step function where the value zero is specified up to a specified time, and then values greater than zero are specified. Here, the second value can in principle be 1, but it can also have different values, so that the original parameter is additionally factored. Thus, for example, weighted on and off in a time-dependent manner, or amplified in a time-dependent manner. Example b) shows a similar case where a step function with a second value less than zero is specified. Similarly, as an alternative to variations of examples a) and b), it is conceivable that the step function includes two or more distinct values not equal to 0, such that the level rises or falls accordingly over time.
[0095] Example c) illustrates a periodic adjustment function that can also be applied to any parameter of the second network, thus amplifying or attenuating certain elements periodically over time. For example, different amplitudes and / or periods can be chosen for this function at different nodes and / or different layers. Any periodic function, such as a sine function or even an unstable function, can be used in this case. Depending on the connection type between the function and the self-generating function of the second network, only positive or negative function values can be chosen.
[0096] Example d) illustrates slow, continuous, temporary increases and decreases in hierarchy. On the other hand, example e) describes a high hierarchy with a short, approximately rectangular structure and low function values, which may optionally be zero. Similarly, example f) shows irregularly distributed and very short peaks or spikes that thus cause increases or changes in hierarchy over very short time periods. Here, the peaks have different amplitudes and can take on both positive and negative values (relative to the base value). Variations of examples e) and f) can exist with regular, periodic, and temporally completely irregular (e.g., randomly determined) distributions of peaks or amplifications. For example, shorter increases in hierarchy may occur within the timeframe of a decision cycle in the second neural network, while longer changes in hierarchy may extend over several decision cycles.
[0097] Figure 2 Example g) also illustrates a damped oscillation, which can also be arbitrarily designed with different damping and amplitudes. Finally, example h) shows a time series of different oscillations around a base value, where, in particular, the oscillations have different period lengths while the amplitudes remain the same. Such combinations of different oscillations can also be designed as additive superpositions, i.e., beat frequencies.
[0098] Typically, any regulation function can be conceived, and Figure 2 The functions shown are for illustrative purposes only. In particular, any combination of the example functions shown is possible. It should also be understood that, depending on the desired effect of the regulating function, the baseline shown in all examples can be run with 0 or with another base value. In the case of a pure cascade of regulating functions with corresponding regulating functions, the base value of 0 and the corresponding increase in the function value ensure that each node contributes to the processing only in a time-dependent manner and is cut off at other times. On the other hand, with a base value of 1, for example, using… Figure 2 In example a), the adjustment function applied to the weights first reproduces the self-generated weights of the network as base values, and then increases the weights accordingly, starting from higher values in the ladder. Therefore, such a function acts as a modulator for functions such as activation functions.
[0099] As described, a modulation function can be formed based on the output value of the first artificial learning unit, i.e., based on the first neural network in this example. The relationship between the output value and the resulting modulation function can be arbitrarily designed. For example, this relationship can be generated at least partially during the joint training phase of the coupled networks. In other embodiments, the correlation between the modulation function and the output value of the first network can be predefined; for example, the modulation function can be given as one of the functions shown in the figure, where the magnitude of the hierarchical shift is determined by the output value. Optionally, it can also be determined that at certain output values, modulation of the second network does not occur initially.
[0100] Alternatively, or in addition to applying the adjustment function to the weights and functions of the second neural network, a coupling dropout method can be applied, such as... Figure 3 As shown. This is typically the process used for training neural networks, where only a small number of neurons present in the hidden and input layers are used in each training epoch, while the remaining neurons are not used (“dropped out”). For this purpose, existing techniques typically set the dropout rate based on the network’s feedback error, which determines how much of the total network is composed of neurons that are turned off. Similarly, instead of neurons, some edges or connections between neurons can be turned off.
[0101] This partial disconnection of neurons and / or edges can now also be used in the second neural network of the exemplary embodiment, whereby the dropout parameter is no longer used based on the error feedback of the network itself, but rather as in the case of time-related adjustment that depends on the output value of the first neural network. Thus, for example, the dropout rate of the second neural network can be determined based on the output value of 1 of the first neural network 310, and then applied to the second network. The figure again illustrates... Figure 1 Two coupled networks 310 and 320 are shown in the diagram, thus the neurons or nodes 326 and 328 of the second network 320 are now schematically represented as circles. Connection edges are not shown, and the arrangement of the neurons shown is not intended to have any mandatory relationship with its actual topology. Due to the dropout rate, a portion of the existing neurons are now deactivated and therefore not used. Active neurons 326 of the second network are shown in shaded lines in the diagram, while unfilled neurons are intended to represent inactive, dropped neurons 328.
[0102] In a general sense, the coupling dropout described here can also be understood as an adjustment function f, using either 0 or 1 as the weights or, for example, the output function of each individual node. mod In this case, which of neurons 326 and 328 is turned off can be determined based on the output value of the first network, or only the rate can be specified, and the neuron turned off can be determined via a random function. Similarly, the dropout rate can be determined based on the output value of the first network 310, which is 1. Optionally, the dropout adjustment function can also induce time-dependent shutdown, which would correspond to, for example, ... Figure 2 The cascade of the dropout function and the adjustment function is shown. Similarly, pattern cutoff sequences proven in previous training can be used, such as cyclic pattern changes, for example, to cutoff in the second neural network 320.
[0103] Typically, dropout can ensure increased speed for neural networks. It also prevents neighboring neurons from becoming too similar in their behavior. Coupled dropout, as described above, can be used in joint training phases of two coupled networks and in already trained networks.
[0104] To ensure that coupled neural networks complement each other in a meaningful way, it can be determined which neural network dominates the overall system at any given time. The network whose output value determines the output of the overall system can be described as the dominant network or the dominant network. In the following, it is assumed that only one network in a group of two or more coupled networks is dominant, and the output of the dominant network is equal to the output of the overall system. However, other embodiments are also conceivable in principle, thereby specifying rules describing the processing of the output values of the dominant networks into the final total output value, for example, in the case of more than one dominant network.
[0105] In an exemplary embodiment, a timer or timing element may be implemented for this purpose, which sets a time limit for one or more coupled neural networks. This time specification should preferably be understood as a maximum value or time limit after which the output value of the corresponding network must be available, and thus the output can be available earlier. Finally, after the time specified for a particular network has elapsed, the output value of that network is evaluated. Therefore, the timer can control and / or change the dominance between coupled networks based on a fixed time specification.
[0106] exist Figure 4 An exemplary embodiment of this type is shown. The design and coupling of the two neural networks 410, 420 can correspond to Figure 1 The example has already been described. Timer 440 now ensures that the output of the first neural network 410 is evaluated no later than a predetermined time defined by a predetermined time parameter value. The required time can, for example, be derived from the input value X. i The time it takes for the feed to the corresponding network begins to be measured. In particular, the predetermined time parameters of the network can be selected based on the complexity of the network, thus allowing usable results to be practically expected within a predetermined time. In examples such as those described previously, where the first neural network 410 is preferably formed by a network with only a few hidden layers and a small number of classifications, a correspondingly short time can also be selected for this first network. Similarly, when selecting the time parameters of the network, further considerations can be taken into account, such as existing hardware, which decisively affects the computation time of the network, and / or the application domain considered by the coupled networks. Furthermore, the predetermined time parameters can be variable and can, for example, be modified or redefined based on results from at least one coupled neural network. It should be understood that such a time specification should at least include the time span required as the minimum time required for a single traversal of the corresponding networks 410, 420. Figure 4 In this example, a 30ms time span is specified, such that the network dominates the time from 0ms to 30ms during the process execution. However, other suitable values for this time span can certainly be chosen.
[0107] During the time period specified by the time parameter of the first network 410 (here, 30ms), the first neural network will process the input value X in the usual manner. i After a predetermined time, a function can be generated from the output of the first neural network 410. This function is used to superimpose or adjust the weights and functions of the second neural network itself. Furthermore, the output value of the first neural network can also be processed independently, either as a replacement or in addition to influencing the second network 420, and as a fast output of, for example, the overall system.
[0108] Once the adjustment function f has been set mod_f f mod_w When applied to the second neural network 420, timer 440 can begin a new timing measurement, now applied to the second timing parameters pre-defined for the second neural network 420.
[0109] In this case, the second neural network 420 can also optionally adjust the obtained adjustment function f. mod_f f mod_w The input value X has been processed independently before adjustment. i This allows, for example, input values to be passed to the second neural network 420 before the start of the second predetermined time period, and to be processed accordingly there. After the first time period has passed, the corresponding adjustment function f is then applied. mod_f f mod_w The parameter values and functions of the second neural network are superimposed. One or more adjustment 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. In the case of a second neural network 420 that is designed to be significantly more complex than the first neural network 410, for example by having significantly more layers and nodes and / or by having a greater number of memory classes, the second neural network will require a relatively higher computational workload and therefore also more time, so in this case, the second time period can be selected to be correspondingly longer.
[0110] Optionally, each of networks 410, 420 can continue to process and evaluate input values continuously, even when another network is determined to be the dominant network in the overall system due to the current time span. In particular, in the example of the two coupled networks shown, the first network can continuously evaluate input values even when the second network is dominant, and thus the output value of the overall system corresponds to the output value of the second network after a second time period has passed and the second network has found a solution. In this way, a fast classification network such as the first network 410 described here (which thoroughly evaluates the available input values) can also perform short-term interventions, as long as the found output values find their paths into the overall output. These embodiments are described in more detail below.
[0111] As a result of this time control via a predetermined time period in a timer, the overall system can make decisions earlier and, for example, can act without having to complete the final evaluation and detailed analysis of the second neural network. As an example, consider a situation in an autonomous driving system, which would be evaluated by such a system having at least two coupled networks. An early classification of "hazard" can be achieved through the first unit or the first neural network. This early classification does not yet include further evaluation of the hazard type, but may already lead to immediate reactions such as slowing down and braking the vehicle and activating sensor systems. Simultaneously, based on the classification, i.e., under the influence of the adjustment made by the output value of the first network, the second neural network performs a more in-depth analysis of the situation, which can then cause further reactions or changes in the overall system based on the output value of the second network.
[0112] Another approach conceivable is to specify a time limit only for one network, rather than for each coupled network (or, if more than two networks are coupled, to specify a time limit only for a subset of the coupled networks). For example, in the example above, a timer could be used for the first fast classification neural network, while the second network is not given a fixed time limit, and vice versa. Such embodiments can also be combined with other methods for determining the currently dominant network, which will be described in more detail below.
[0113] In all embodiments with inserted timers, it can be provided that the output value of the neural network currently having the active timer is used as the output of the overall system. Since the network needs time to reach a first solution for a given input value, there is a certain delay time during which the previous output value (of the first or second network) can still be used as the total output value.
[0114] If a timer or timing mechanism is defined only for some coupled networks, such as a timer that is only valid for the first network, then it can be defined that, for example, the output of the overall system usually always corresponds to the output of the second network, and if the timer is valid for the first network, i.e., it is valid for a predetermined time period and has not yet expired, then it is replaced only by the output of the first network.
[0115] In systems with more than two networks, perceptible synchronization between networks can be made possible by aligning predetermined time spans and altering timers, particularly if multiple networks with different tasks will achieve results simultaneously, thus affecting one or more other networks. Similarly, synchronization can be achieved in multiple separate monolithic systems, each comprising multiple coupled networks, by adjusting specified time periods and processes. For example, systems can be synchronized via time alignment and then run independently but synchronously according to corresponding timer specifications.
[0116] In addition to altering the corresponding dominant neural network in the overall system based on a timer, or as an alternative, each neural network itself can also collaboratively decide on the transfer of dominance. This could mean, for example, that the first neural network of the overall system processes the input value and reaches a certain first solution or a certain output value, such as classifying the input value into a certain category based on a classification trained during the training phase, and, upon achieving that classification, transfers dominance to the second neural network of the overall system.
[0117] Similar to the change in the center of gravity using a timer, it can be specified here that the output value of the entire network corresponds to the output value of the currently dominating network.
[0118] For this purpose, for example, changes in the input value can be evaluated. As long as the input value remains substantially constant, the dominance distribution between the coupled networks can also remain substantially constant, and / or be determined solely based on timers. However, if the input value changes abruptly, predetermined dominance can be set for other dominance behaviors that transcend the coupled networks. For example, for a suddenly changing input value, it can be determined that dominance will first return to the first neural network in any case. This also restarts an optional available timer for that first neural network, and the process is executed as before. For example, a significant change in the input value may occur if the sensor value detects a new environment, or if a previously evaluated process has been completed and a new process is now being triggered.
[0119] Thresholds can be specified as significance thresholds, which can be used to determine whether a change in an input value should be considered significant and result in a dominant change. Individual significance thresholds can also be specified for different input values or for each input value, or a general value, such as a percentage deviation, can be provided as the basis for evaluating the change in input values. Similarly, instead of fixed significance thresholds, thresholds can exist that can change over time or adaptively and depending on the circumstances, or they can be functions, matrices, or patterns upon which the significance of the change can be evaluated.
[0120] Alternatively or additionally, the dominance between coupled networks can be altered depending on the output values found by each network. For example, depending on the embodiment, the first neural network can evaluate input values and / or their variations. In this case, for each category that the first neural network can classify, an importance threshold can be predefined, such that if the result of the first neural network causes a significant change in the category found for the input data, a shift in dominance to the first neural network occurs immediately, allowing for rapid re-evaluation of the situation and, if necessary, reactive measures. In this way, it also prevents the second neural network from continuing to perform unnecessarily long-term depthwise analysis without considering the significant change in the input situation identified by the first fast classification network.
[0121] In all the examples above, the overall system output value can be further used in any way, such as as a direct or indirect control signal for the actuator, as data stored for future use, or as a signal passed to the output unit. In all cases, the output value can also be further processed by additional functions and evaluations and / or combined with other data and values.
[0122] Figure 5 It was shown again as follows Figure 1 The example shown is a simplified implementation of two unidirectionally coupled networks 510, 520, from which classification memories 512, 522 are now schematically illustrated for each network. The classification type Ki used here is initially minor and will be described in more detail below. In particular, the sizes and structures of the two classification memories of the first network 512 and the second network 522 can be significantly different, thus forming two neural networks with different speeds and focuses. Therefore, for example, as already briefly described, it is possible to achieve the interaction of a fast, coarse classification network and a slower but more detailed analysis network to form a coupled overall system.
[0123] In this example, the first neural network 510 is formed with a relatively small number of classifications K1, K2, ..., Kn, which may, for example, simply follow a flat hierarchical structure, such that classification is performed in only one dimension. Preferably, such a first network 510 can also be relatively simple in its topology, i.e., having a relatively small number of neurons and hidden layers n. However, in principle, the network topology can also be substantially independent of classification.
[0124] The second neural network 520 can then have a significantly larger and / or more complex classification system. For example, the memory 522 or the underlying classification can also be constructed hierarchically in multiple layers 524, such as... Figure 5 As shown. The total number m of classes K1, K2...Km in the second network 520 can be very large, especially significantly larger than the number n of classes used by the first neural network 510. For example, the number of classes m and n can differ by one or more orders of magnitude. This achieves an asymmetric distribution of individual networks in the overall system.
[0125] Then, the rapid classification of the first neural network 510 can be used to quickly classify the input values. Abstract, summary categories are preferably used for this purpose. Then, in one example, the classification of a detected situation (e.g., based on sensor data such as image and audio data) can initially be performed by the first neural network 510 as "a large, potentially dangerous animal" without any further evaluation. This means, for example, that no further classification is made in the first network based on animal species (wolf, dog) or as a dangerous predator, but only on the broadest possible general characteristics such as size, detected teeth, attack posture, and other features. This data, essentially corresponding to the output "dangerous," can then optionally be passed to an appropriate external system for initial and rapid response, such as a warning system for a user or a specific actuator in an automated system. Furthermore, the output 1 of the first neural network 510 is used to generate the regulation function of the second neural network 520 as described above.
[0126] Same input value X i For example, the sensor values described above are also provided to the second neural network 520. In this case, the input values can be input immediately, i.e., substantially simultaneously with the first network, or with a delay, whereby, depending on the embodiment, they are input before the application of the regulation function or only when the regulation function is applied, i.e., when the results of the first network are available. Preferably, to avoid delays, they should be given or passed to the second neural network, especially in the case of time-critical processes. The second neural network then also computes solutions, whereby the original self-generated weights from the second network and their basis functions (such as specified activation and output functions) can be superimposed based on regulation functions formed from the output values of the first network, respectively. This allows the iterative work of the second network to omit a large number of possible variations, without time for these variations if the first network quickly detects critical situations (e.g., dangerous situations). Although the analysis performed on the second neural network is slower, possible responses can already be performed based on the first neural network, as described above. This corresponds to the initial instinctive response in a biological system. Compared to the first network, the hierarchical and significantly larger memory of the second network allows for precise analysis of the input values, in the mentioned example, where the input values are classified in detail into categories such as "dog," corresponding breeds, behavioral characteristics indicating dangerous or harmless situations, etc. If necessary, the previous responses of the overall system can be rewritten after the second neural network has reached its result, for example by downgrading the first category to "danger" again.
[0127] In general, for such a coupled holistic system with asymmetric classification, it can be envisioned that, for example, the category Kn of the first network 510 for rapid classification primarily performs abstract classifications, such as new / known situations, dangerous / non-dangerous events, interesting / uninteresting features, required / unnecessary decisions, etc., without delving into depth. This first classification does not necessarily correspond to the final result ultimately found by the second unit 520. However, the two-level classification through at least one rapid and one deep analysis unit thus allows for artificial learning of the sensory or instinctive reactions of the holistic system. For example, if an object is identified by image recognition that might be a snake, the "worst-case scenario" can preferably be the result of the first classification, regardless of whether that classification is likely correct. The content existing as evolutionary knowledge and instinctive reactions in the case of human intelligence can be replaced by a rapid first classification with pre-programmed knowledge, such that the corresponding standard reactions (keeping distance, initiating movement, activating increased attention) can also be performed by the holistic system and its actuators. Then, the additional modulation of the second learning unit based on this first classification can be similarly understood as an emotion-related superposition, i.e., for example, a fear response corresponding to the automatic initiation of a conscious situation analysis that differs from a situation understood as harmless. The superposition of parameters of the second neural network, which is executed by the regulation function, can thus cause the necessary shift to other classification spaces, which would otherwise be defaulted to or not immediately reached.
[0128] Therefore, such systems can be used in a wide range of applications, including all applications where critical decision-making occurs. Examples include drive systems, rescue or warning systems for different types of hazards, surgical systems, and tasks that are typically complex and non-linear.
[0129] In the embodiments described so far, only two artificial learning units are coupled together. However, this idea is also applicable in principle to more than two units, such that, for example, three or more artificial learning units can be coupled in a corresponding manner, thereby determining which units can adjust the parameters of specific other units or several other units.
[0130] Figure 6 An example is shown where three neural networks 610, 620, 630 (and / or other artificial learning units) can be provided, whereby the output value of the first network 610 generates a modulation function for the weights and / or function of the second network 620, and thus the output value of the second network generates a modulation function for the weights and / or function of the third network 630. In this way, chains of artificial learning units of any length can be formed, which influence each other in a coupled manner through stacking.
[0131] Similar to earlier examples with two neural networks, in one embodiment, all coupled networks can receive the same input value and are coupled only through the tuning of each network. However, embodiments such as those described above are also conceivable, where, for example, in... Figure 1 A third neural network is provided after the two neural networks shown, which 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 also be adjusted by a modulation function, which is formed, for example, by the output values of the first network. These modulation functions can be the same as or different from the modulation function formed for the second network. Alternatively, for example, the output values of the third network can be used to form an additional modulation function, which is then recursively applied to the first and / or second networks.
[0132] It should be understood that various further combinations of correspondingly coupled learning units are possible, where at least two connected units are coupled by forming a tuning function for the descriptive parameters of the unit, especially for neural networks used for the weights and / or functions of the network. More complex variations in tuning and coupling are also conceivable as the number of coupled units increases.
[0133] As initially noted, the embodiments described herein are examples relating to neural networks, but in principle, they can also be transferred to other forms of machine learning. Consider all variations in which it is possible for a first artificial learning unit to influence at least one second artificial learning unit by superposition or adjustment based on output values. The modification of the weights and functions of the neural network by means of superposition of adjustment functions from the foregoing examples can be replaced by appropriate adjustment of any suitable parameters controlling or describing the operation of such learning units. In each example, the term "learning unit" can be replaced by a specific case of a neural network, and conversely, the neural networks described in the exemplary embodiments can also be implemented in a general form as artificial learning units, even if not explicitly stated in the respective examples.
[0134] Besides neural networks, known examples include evolutionary algorithms, support vector machines (SVM), decision trees, and special forms such as random forests or genetic algorithms.
[0135] 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 with any other artificial learning unit. Methods particularly suited to fast, coarse feature classification can also be selectively chosen. The output value of such a first learning unit can then be used, as described for two neural networks, to form a conditioning function for a second artificial learning unit, which in turn can be a neural network.
[0136] As mentioned above, a system comprising multiple coupled artificial learning units forms an "artificial learning system".
[0137] In addition to the variations described, or alternatively, an artificial learning system consisting of or including two or more coupled artificial learning units can be further improved by adding instances that evaluate or validate the results of the artificial learning system and influence the results obtained by the artificial learning system based on the evaluation. According to the invention, another artificial learning system is used for this purpose. The structure and function of the overall system comprising two artificial learning systems are explained below.
[0138] An artificial learning unit that evaluates / verifies the results of other artificial learning units or their results is called an evaluation unit. Conversely, an artificial learning unit that processes or analyzes input values and obtains the corresponding results checked by the evaluation unit is called a working unit. The function of an artificial learning unit (especially a neural network), i.e., the mapping from input values to output values, is determined by parameters, such as the functions and / or weights described above.
[0139] Basic structure and function of the overall system
[0140] Figure 7 The basic structure of the overall system (or processing and evaluation system) including working layer 710 and evaluation layer 730 is shown. Both working layer 710 and evaluation layer 730 are artificial learning systems, i.e., they include coupled artificial learning units and are constructed or function as described above. Furthermore, the overall system includes projection layer 750 and overall sequence memory 760.
[0141] The overall system processes input data or input value X i This includes, for example, time series of sensor data or data obtained from it through preprocessing, thereby obtaining output data or output values (output), which form the entire output of the whole system.
[0142] Set working level 710 to process or analyze input value X i It uses the first and second input values X i (t1) and X i The input is in the form of (t2), for example, continuous sensor data at times t1 and t2. On one hand, it is based on the first classification from the first input value X. i (t1) Determine the first output value (output 11), i.e., train the working layer as an artificial learning system to perform the corresponding classification of the first input value. On the other hand, determine the second output value (output 12) from the second input value X1 (t2) according to the second classification, i.e., train the working layer accordingly.
[0143] The determination of the first output value is preferably completed within a short time period relative to the time required to determine the second output value. Thus, the first classification includes fewer classes compared to the second classification. Therefore, the first output value is based on a coarse analysis of the input values, while the second output value is based on a fine analysis of the input values.
[0144] In projection level 750, first case data Y(t3) and second case data Y(t4) are formed based on the first and / or second output values. Therefore, the first case data is at least partially based on the first output value, and the second case data is at least partially based on the second output value. For example, in the simplest case, the case data itself can be the corresponding output value. Further, the case data can also be formed at least partially based on other values. However, preferably, the first case data is formed based on the first output value, and the second case data is formed based on the second output value. Additionally, optional storage elements can be allocated to the projection level as a projection memory. Figure 7 Not shown in the image; see also Figure 8 ), which can store data that appears in the projection hierarchy.
[0145] Projection layer 750 can be designed as a software and / or hardware unit or a combination of multiple such units. In particular, the projection layer can form a combination of multiple units, which may also include artificial learning units and their storage elements. Thus, projection layer 750 can form a central unit in which at least the outputs of the working layers are processed and linked, such as a multiplexer unit, a unit for generating sequences from data, and a unit for imprinting identifiers or labels on the stored data or sequences after positive or negative evaluation, which, for example, can simplify decision-making when comparing new data with stored data. These functions can also be performed wholly or partially by program modules. The projection layer may also include input and / or output units, such as screens or acoustic units, which enable communication with the user or a user supporting, for example, the training phase of the system, and, for example, evaluation of the current processing status.
[0146] The first / second case data formed in projection layer 750 forms the input to evaluation layer 730. Working layer 730 is configured to determine a first evaluation (output 21) and a second evaluation (output 22) as outputs, indicating whether or to what extent the first case data satisfies a predetermined first condition, or whether or to what extent the second case data satisfies a predetermined second condition. The evaluation layer, as an artificial learning system, is thus trained to determine output values, referred to as the first / second evaluations, which indicate whether or to what extent the first / second case data satisfies the predetermined first / second condition. Evaluations can be independent of simple yes / no evaluations (e.g., evaluations may only take values 0 or 1) or stepwise evaluations indicating the degree to which the condition is satisfied (e.g., evaluations may take all values from 0 to 1). Therefore, in the context of this application, the phrase "whether the condition is satisfied" or similar phrases, although not always explicitly mentioned, are intended to include cases where the condition is satisfied to some extent, and should therefore be understood as "whether the condition is satisfied or to what extent the condition is satisfied" or similar meanings. The system can now be configured to reject or otherwise modify the output values of these work units based on these evaluations, in particular to influence the processing of these input values through this work level.
[0147] The determination of the first evaluation is preferably carried out within a short time period relative to the time period required to determine the second evaluation. Therefore, relatively few first conditions (particularly less than 1000, preferably less than 100) and relatively many second conditions are given. Thus, the first evaluation indicates whether or to what extent the coarse conditions are met, while the second evaluation indicates whether or to what extent the fine second conditions are met relative to the first conditions.
[0148] The first and second evaluations (output 21, output 22) now affect the first and second input values X. i (t1), X i The processing of (t2). In particular, the first evaluation influences the determination of the first output value from the first input value, while the second evaluation influences the determination of the second output value from the second input value.
[0149] The total or overall output is based in any case on the first and / or second output values of working level 710. The first or second output value is considered to be the total output at a specific time, preferably determined by the working level, but it can also be controlled by a timer, which can be considered a component of the working level. It is also conceivable to use a combination of the first and second output values as the total output. Therefore, the influence of working level 710 on evaluation level 730 has only an indirect effect on the total output; in this sense, the first and second conditions do not represent absolute limitations.
[0150] Therefore, when processing input values, the first / second output values (output 11, output 12) are obtained from the first / second input value X by working level 710.i (t1), X i (t2) is determined, and the first / second case data Y(t3) and Y(t4) are determined from the first / second output values by projection level 750, and also from the first / second case data first / second evaluation (output 21, output 22), which in turn affects the working level. The total output or total output is determined from the first / second output values.
[0151] This process repeats itself iteratively or repeatedly, where the working levels influenced by the evaluation of the evaluation levels attempt to determine the total output or the first and / or second output value based on the first / second conditions. Typically, it may be impossible to find an input value X that satisfies all the conditions for such a total output (or the first and / or second output value). i In this scenario, the repetition process can be terminated if it is determined that the total output (or the first and / or second output values) no longer changes significantly from one repetition to another or within a certain time period (i.e., only within the specified tolerance). The final total output of the system is then used as the final total output. The final total output is then formed, that is, the best possible total output that the working level can find under the influence or recommendation of the evaluation level. Termination can also be time-controlled by a timer (e.g., in a real-time system), in which case the final total output is also used.
[0152] Each repetition / iteration produces corresponding data, which may include first and second input values, first and second output values, first and second case data, first and second evaluations, and a total output. In particular, it is envisioned that some or preferably all of these elements will form a dataset called a set or ensemble.
[0153] In summary, a total record or overall record sequence or total sequence or overall sequence is generated based on the iterative sequence. The total set or overall set sequence can be stored in the total sequence memory 760. This is represented by the dashed lines connecting the total sequence memory to three levels. During storage, the total records are preferably timestamped and / or numbered and / or arranged according to their order or sequence. Preferably, a new total record sequence is started to be stored each time the input value changes significantly, i.e., exceeding a predetermined tolerance. The stored sequence of complete sets can be used in particular to track the overall system's processing of input values.
[0154] Interpretation of conditions and their impact on the overall system
[0155] The (first / second) condition can be a simple condition, such as checking whether the data falls within a certain value range. However, the (first / second) condition can also be more complex, such as having a canonical rule R1 to Rn form.
[0156] (First / Second) Conditions can be technical conditions. For example, the speed of the motor in the machine (which is analyzed, for example, by the operating level based on vibration sensor data and output) can be checked to see if it is within the permissible speed range. Another rule is to perform this speed check depending on the operating conditions (which are also recorded by the operating level using sensor data).
[0157] Furthermore, rules can also be non-technical, such as "No one shall be killed" (R1), "No one's freedom shall be restricted" (R2), or "No lying" (R3). Rule implementation or rule violation can be designed via one of the usual parameterizations, such as 0 = no rule violation, 1 = rule violation, or hierarchical refinement. These rules can be implemented as first conditions, and the parameterization of rule implementation or rule violation corresponds to the first evaluation. Second conditions can then represent a finer subdivision of rules R1 to Rn to rule categories K1 to Kn. These are exceptions, additions, or changes to the rules. These rule categories are initially constructed in such a way that exceptions to R1 are given in rule category K1, exceptions to R2 are given in K2, and so on. In some cases named in the rule categories, the corresponding rule Rx can be violated. An exemplary rule category K1y for rule R3 could be: "Lying is permitted if people are seriously harmed when telling the truth." These rules still apply in principle, but are simply simplified, as long as the rule categories are not applied. Therefore, the second condition (rule classification K1 to Kn) represents a finer detail of the first condition (rule R1 to Rn).
[0158] A memory can be provided to store the first and second conditions. The structure of the memory or rules R1 to Rn, and the rule classification, can be specifically corresponding to... Figure 5 The structure shown indicates that relatively coarse rules R1 to Rn are stored in memory 512, and relatively fine rule classifications K1 to Kn and their further fine subdivisions to level 524 are stored in memory 522, where m is preferably equal to n.
[0159] Preferably, the rules and / or rule classifications, i.e., the first and especially the second condition, will be stored in the blockchain, where the rules are implemented in the form of so-called smart contracts. A smart contract can be viewed as a computer protocol that maps rules or rule classifications and checks their compliance.
[0160] If rule classification is used, the condition is recorded and stored in another memory (specifically, the entire sequence memory 760), which is preferably done in the blockchain to ensure that the record cannot be modified. Therefore, the overall sequence or overall evaluation sequence is stored. The validity of the principle of rule R3 is not discussed in the rule classification. In the working mode of the working level or the overall system, in the case of an action sequence, it will generate an iterative chain of adjustments and evaluations between the working level and the evaluation level, thereby storing a sequence of coordinated solutions related to the situation in the blockchain, where the evaluation level points out rules that conflict with the working level and suggests modifications to them, but does not determine future actions. Action decisions, i.e., the overall output of the system, are made only through the working level because it directly involves external situations and solution strategies, while the evaluation level preferably only provides information that has already been compressed through the projection level.
[0161] An exemplary extension of this basic principle is that the evaluation hierarchy also includes the overall sequence (preferably the blockchain decision path) in its search that carries the risk of violating rule R1…n in the event of conflict, and examines previously adopted solutions. In the case of a self-learning system, to avoid resubmitting errors, attention must also be paid to the success or failure of the actions taken by each document (preferably the blockchain document) in the entire sequence.
[0162] In a further extension of this principle, for example, in the case of a conflict with rule R1, not only can links or couplings, modifications, etc. be searched in rule category K1 and its subcategories, but also all preferred categories can be searched to see if there are previously unknown combinations to resolve the situation, even if other rule categories do not actually belong to rule R1.
[0163] In a further extension of this principle, the rule classification memory can be modified in the case of success or failure by inserting new, successful rule classifications and, if necessary, deleting existing rule classifications that are no longer current or have proven to be unfavorable. This produces a self-learning evaluation system (the holistic system) with a rigid set of rules, while simultaneously generating a flexible classification system. These variations are particularly capable of realizing “hard AI systems.”
[0164] Exemplary Specific Design of the Overall System
[0165] Figure 8 An exemplary embodiment of the overall system is shown, wherein the working hierarchy is formed by a first artificial learning working unit 810 and a second artificial learning working unit 820 coupled thereto, and the evaluation hierarchy is formed by a first artificial learning evaluation unit 830 and a second artificial learning evaluation unit 840 coupled thereto. The artificial learning working and evaluation units can each be neural networks, whose functions are determined by parameters, particularly by functions (e.g., transfer functions f). trans Activation function fakt Propagation function and output function f out And weights / weighting are determined.
[0166] The first working unit 810 is configured to operate according to the first input value X. i (t1) Determine the first output value (output 11), i.e., the working unit is trained accordingly as an artificial learning unit. The function of the first working unit is determined by parameters, specifically by the function f. outA1 (propagation and output functions), f aktA1 (activation function), f transA1 (Transfer function) and weight w iA1 Confirmed. The second working unit 820 is set to input the second input value X. i (t2) Determine the second output value (output 12), that is, train it accordingly. The function of the second working unit is determined by parameters, specifically the function f. outA2 f aktA2 f transA2 Or weight w iA2 The first evaluation unit 830 is set up to determine the first evaluation (output 21) from the first case data Y(t3). The function of the first evaluation unit is determined by parameters, especially the function f. outB1 f aktB1 f transB1 Or weight w iB1 A second evaluation unit 840 is set up to determine a second evaluation (output 22) from the second case data Y(t4). The function of the second evaluation unit is determined by parameters, specifically the function f. outB2 f aktB2 f transB2 Or weight w iB2 .
[0167] The coupling between two working units 810 and 820 or between two evaluation units 830 and 840 corresponds to the combination. Figures 1 to 6 The connection is explained. Therefore, based on the first output value (output 11) of the first working unit 810, the adjustment function f is formed. mod1_f f mod1_w The parameters of the second working unit 820 are adjusted using these adjustment functions (function f). outA2 f aktA2 f transA2 and / or weight w iA2 This influences the function or extraction of the output value (output 12, second output value) of the second evaluation unit. Similarly, based on the first evaluation (output 21) of the first evaluation unit 830, a third adjustment function f is formed. mod3_f f mod3_w By adjusting the parameters (function f) of the second evaluation unit 840.outB2 f aktB2 f transB2 Or weight w iB2 This makes the function that affects the output value of the second evaluation unit (output 22, second evaluation) determined.
[0168] The overall system preferably includes a projection layer 850 again, combined with Figure 7 The content is applied to the projection layer 850. Additionally, an optional memory element is allocated to the projection layer 850 as a projection memory 852, in which data (especially situation data) from or provided by the projection layer, as well as the first and second output values, can be stored at least temporarily. For example, the storage period for this data can typically be determined, but it can also be determined by one of the units, such as the first evaluation unit. According to embodiments, the projection layer memory can essentially be used as a short-term memory, the contents of which can be checked, deleted, rewritten, and / or transferred to other memories, such as the storage elements of individual neural networks or units, as needed. Therefore, the projection memory 852 can be designed, for example, as a ring memory, in which, in each case, after a certain number of entries or a certain amount of data, the memory is "full" and thus the previous data is rewritten from the beginning, corresponding to a ring structure.
[0169] Similarly, the illustrated embodiment again includes an overall sequence memory 860, combined with Figure 7 The content again applies to the overall sequence memory. The dashed line again indicates that the overall sequence memory 860 can receive or exchange data with the two working units, the two evaluation units, and the projection hierarchy, and these units can also preferably access the data stored in the overall sequence memory.
[0170] The working levels (i.e., the first and second working units) or the first and second output values formed therefrom are affected by the evaluation levels (i.e., the first and second evaluation units) or the first and second evaluations formed therefrom, as follows.
[0171] according to Figure 8 The illustrated embodiment aims to influence the first working unit 810 through the first evaluation (output 21) of the first evaluation unit 830. This can be achieved by using the first evaluation or value derived from them as an additional (besides X) value of the first working unit 810. i (t) is implemented using input values, which can be referred to as the first evaluation input values. In this case, the input value X should be... iThe analysis of (t) begins with initializing the first evaluation with a neutral value, such as a value representing that all the first conditions are met. This initialization with a neutral value can also be performed again in further processes, for example, if the input values change significantly or if the dominance is transferred from one work unit to another (especially from the second work unit to the first work unit), in which case time control is also conceivable.
[0172] Alternatively, the first evaluation unit 830 may preferably be based on the coupling described above, especially in conjunction with Figures 1 to 6 Coupled to the first working unit 810. Therefore, based on the first evaluation (output 21) of the first evaluation unit 830, a second adjustment function f can be formed. mod2_f f mod2_w The parameters of the first working unit 810 are adjusted through these adjustment functions, i.e., function f. outA1 f aktA1 f transA1 and / or weight w iA1 This affects the function or result of the output value (output 11) of the first working unit.
[0173] Furthermore, the second evaluation affects the function of the second working unit 820. This can be achieved by using the second evaluation or value derived from them as an additional function of the second working unit 820 (besides X). i (t) other than the input value (second evaluation input value) to complete the evaluation. In this case, the corresponding second evaluation should be based on the input value X. i The processing of (t) begins with a neutral value initialization, such as a value indicating that all second conditions are met. This initialization with a neutral value can also be performed again in further processes, for example, if the input value changes significantly or if control is transferred from one work unit to another (especially from the first work unit to the second work unit), and time control can be re-envisioned.
[0174] Furthermore (not shown in the figure), based on the second evaluation (output 22) of the second evaluation unit 840, a fourth adjustment function f can be formed. mod4_f f mod4_w Through this fourth adjustment function, the parameters of the second working unit 820, i.e., the function f outA2 f aktA2 f transA2 and / or weight w iA2The second evaluation unit is adjusted to influence the acquisition or function of the output value (output 12) of the second working unit. However, the set of parameters (functions and / or weights) of the second working unit adjusted by the fourth adjustment function should not intersect with that set of parameters (functions and / or weights) of the second working unit adjusted by the first adjustment function. Therefore, the second evaluation unit should only adjust the parameters (functions and / or weights) of the second working unit that are not adjusted by the first working unit. This helps prevent instability. If the second working unit is a neural network with multiple hidden layers, such as a neural network that can be used in so-called "deep learning", one or more input-side layers can be adjusted by means of the first adjustment function (i.e., the functions and / or weights of the neurons in the layer are adjusted), while one or more output-side layers can be adjusted by means of the fourth adjustment function. Symbolically speaking, the first working unit with the first output value by means of the first adjustment function will then influence the basic analysis of the input values in the second working unit, while the second evaluation unit with the second evaluation by means of the fourth adjustment function will influence the classification of the results obtained through the basic analysis in the second working unit.
[0175] Working units 810 and 820 and evaluation units 830 and 840 may each have a memory, particularly a classification memory, which stores classifications or conditions. Figure 5 A detailed explanation of the corresponding memory structure is provided. Figure 8 In the example shown, memory 842 is depicted only for the second evaluation unit 840. Memory may be designed separately from the unit, or it may be included in the corresponding unit.
[0176] The memory 842 of the second evaluation unit (and the corresponding memory of the first evaluation unit) may include (in addition to the classification memory) a sequence memory, more specifically, a second sequence memory for storing evaluation sequences. In the case of the second evaluation unit, this involves storing one (or more) second evaluation sequences comprising second evaluation sets, each second evaluation set comprising a set of input values (second case data) of the second evaluation unit and second evaluations obtained from it by the second evaluation unit. The evaluation sets may be provided with corresponding time information and / or numbered by numbering and / or arranged according to their order. Similarly, the memory of the first evaluation unit 830 (not shown) may include a first sequence memory similarly used to store first evaluation sequences comprising a first evaluation set comprising a set of input values (first case data) of the first evaluation unit and a first evaluation set obtained from it by the first evaluation unit.
[0177] Both the work level and the evaluation level can include additional artificial learning units, and each artificial learning unit is like... Figure 6The coupling is illustrated. Therefore, the working hierarchy may include a third (and possibly a fourth, fifth…) working unit, which is coupled to the second (or corresponding preceding) working unit via a regulation function determined by the output value of the second (or preceding) working unit. Similarly, the evaluation hierarchy may include a third (and possibly a fourth, fifth…) evaluation unit, which is coupled to the second evaluation unit (or to a corresponding preceding one) via a regulation function determined by the evaluation of the second (or preceding) evaluation unit. The interaction between the corresponding nth working unit and the evaluation unit can then occur in the same way as the interaction between the second working unit and the second evaluation unit; that is, in particular, the nth evaluation unit influences the nth working unit.
[0178] Exemplary processing of input values
[0179] The following example illustrates the processing or analysis of input data. The input data forms the input values for working units 810 and 820. The input values can be the same or different for the two working units, for example, at different times in a time series. Input value X i (t) can be time-dependent, such as a time series of sensor measurements or a video / audio stream, allowing the working unit to receive or accept the input value X at a specific point in time. i (t1), X i (t2), for example, controlled by a timer or dominant transition, or it can continuously receive or accept input value X. i (t1), X i (t2), especially in the case of recurrent neural networks. The processing unit can perform continuous processing of the input values, or perform processing that begins at certain points in time, such as timer-controlled processing, or processing that occurs at certain events, such as dominance transitions.
[0180] The first working unit 810, based on the input value X, i (t1) A first output value (output 11) is determined. Projection layer 850 forms first case data from this first output value (e.g., the first output value itself, a portion thereof, or a value derived therefrom). The projection layer is then used as input to the first evaluation unit 830, which evaluates these (i.e., the first case data), checking whether a first condition is met, and generates a corresponding first evaluation (output 21). Based on the first evaluation, the first working unit 810 or its output (output 11) is affected.
[0181] If (based on the first evaluation) it is determined that the first condition is not met or is only met to a certain extent, then the input value X i(t) can be processed again by the first evaluation unit 810, thereby now taking into account the influence of the first evaluation (e.g., by a second adjustment function determined from the first evaluation, or by using the first evaluation or a value derived therefrom as an additional input value), so that, in particular, with appropriate training of the first working unit, a first output value (output 11) that is usually modified is produced (which is affected by the first evaluation).
[0182] This can be iterated multiple times until the first condition is determined to be met, at which point the first output value can be used as the (total) output or total output value of the system. Subsequently, the input value can then be processed by the second evaluation unit 820 and / or the dominance can be passed to the second evaluation unit. The resulting second output value can then additionally or alternatively become the total or overall output, possibly depending on the dominance.
[0183] Alternatively or additionally, if, for example, it is impossible to satisfy all the first conditions or only a limited time period is available, such as in a real-time system, the processing and / or domination of the second working unit 820 may preferably terminate after a predetermined time period (controlled by a timer), after a predetermined number of iterations has been reached, when the first output value no longer varies within a predetermined tolerance between two consecutive iterations, or when the first evaluation no longer varies within a predetermined tolerance between two consecutive iterations. Combinations of these are also conceivable.
[0184] If the control returns to the first working unit 810, for example, in the input value X i In the event of significant changes, if necessary, the process or evaluation can be re-executed by the first evaluation unit 830 after the first evaluation initialization.
[0185] Optionally, especially if the second working unit 820 is dominant, the situation data can also be formed by the projection layer 850 based on the second output value (output 12) of the second working unit 820, and evaluated by the first evaluation unit 830, i.e., checking whether the second output value meets the first condition. If this is not the case or only partially the case, the second working unit may also be affected by the (now changed) first evaluation, similar to the effect of the first evaluation on the first working unit. Therefore, the adjustment function should not be used here, especially the parameters of the second working unit 820 adjusted by the first adjustment function, i.e., the function f. outA2 f aktA2 f transA2 and / or weight w iA2 .
[0186] The first evaluation formed by the first evaluation unit 830 is also coupled, i.e., by means of the third adjustment function f mod3_f f mod3_w The function that indirectly affects the second evaluation unit 840.
[0187] The second evaluation unit 840 receives second situation data (which need not be the same as the first situation data received by the first evaluation unit 830) formed in the projection layer 850 as input values. Preferably, the second situation data is formed based on at least the second output value (output 12) of the second artificial learning unit 820, that is, the second situation data may include some or all of the second output value or values derived therefrom; in addition, the situation data may also be formed at least partially based on the first output value (output 11) of the first artificial learning unit 810 or other values.
[0188] When the second working unit 820 processes the input value X i When (t2) and / or the dominance has been passed to the second working unit, second case data is formed by projection level 850, which is at least partially based on the second output value (output 12) of the second working unit 820. This second case data is used as the input value of the second evaluation unit 840, which thereby forms the second evaluation. If the second evaluation indicates that all the second conditions are met, the second output value can be used as, for example, the total / overall output of the system.
[0189] By influencing the second working unit through these second evaluations, generally, at least if not all the second conditions are met and the second working unit has been trained accordingly, a modified second output value (output 12) is generated. From this modified second output value, the projection hierarchy further forms modified case data. If necessary, this modified case data is checked by the second evaluation unit and a modified second evaluation is generated.
[0190] This can be repeated in multiple iterations until, for example, a predetermined number of iterations is reached, a predetermined time period has elapsed, or the second output value no longer changes within a predetermined tolerance between two consecutive iterations. Combinations of these or other conditions are also conceivable.
[0191] Therefore, the interaction between the second evaluation unit 840 and the second working unit 820 corresponds to the interaction between the first evaluation unit 830 and the first working unit 810. However, due to the coupling of the two evaluation units, the evaluation of the second evaluation unit 840, i.e., the second evaluation, is influenced by the first evaluation obtained by the first evaluation unit 810. Thus, it is preferable to control the timing in such a way that the interaction between the first working unit and the first evaluation unit occurs first, and then the interaction between the second working unit and the second evaluation unit occurs.
[0192] Although the processing of input values has been presented above as a series of sequential processing steps within individual artificial learning units, it should be noted that the units (first and second working units, first and second evaluation units) can, in principle, work asynchronously with each other. That is, each unit can use the currently available input data or adjustments (which are partial outputs of other units) at its own pace. Time synchronization is possible, but not necessary. Therefore, these units can work in parallel with each other.
[0193] train
[0194] The following describes an exemplary training of the overall system. As illustrated above, in supervised learning, given input values and corresponding (i.e., associated with the respective input values) desired output values (i.e., known training data), the error is minimized during training relative to 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. During training, the parameters (e.g., weights) of the artificial learning unit are varied to minimize the error. This method itself is known to those skilled in the art.
[0195] The system is trained in such a way that the job level and the evaluation level are trained separately first. These represent "artificial / artificially learned systems," combined with... Figure 1 - Figure 5 Explain its training. Therefore, in the above supervised learning, when training the working level, input values (including sensor data) are used as input values, and the corresponding (known) expected output values (control parameters, state parameters) are used as output values. When training the evaluation level, status data (formed from output values or control parameters / state parameters) are used as input values, and the corresponding (known) expected evaluation (indicating the degree to which conditions are met) is used as output values.
[0196] Furthermore, conditions can be modified or supplemented during the coupled operations of the work and evaluation levels (see below). This process can be viewed as joint learning of the work and evaluation levels, i.e., joint learning of the overall system.
[0197] Regarding job levels and evaluation levels, please refer to... Figure 8 The embodiments shown include, in each of the two layers, first artificial learning units 810, 830 and second artificial learning units 820, 840, which are similar to Figures 1-5The coupling is performed in a specific manner. Here, particularly within a layer, independent training (i.e., separately and independently of the coupled units) is initially performed on each of the two (first / second) units, allowing the same training dataset of input values to be used for both units, or different training datasets of input values to be used. The difference between the first and second units lies in the associated expected output value (which corresponds to the input value, i.e., which should preferably be realized during training), whereby the expected output value of the second unit preferably represents a refinement of the expected output value of the first unit. For example, it can be envisioned that the expected output value of the first unit is a true (non-trivial) subset of the expected output value of the second unit, and it can also be envisioned that different weights are used for the biases of certain output values in the error measurement. Furthermore, joint training of the coupled (first / second) units can be performed. Here, the errors of the first and second units can be included, thereby allowing the errors of the first and second units to be weighted differently. In joint training, the correlation between the output value of the first unit and the adjustment functions can also be generated, through which the second unit is influenced.
[0198] First / Second Sequence Memory
[0199] Saving the first / second evaluation sequence makes it possible to track the "decision" of the evaluation units and use the evaluation sequence to perform further training if necessary, such as if they do not work or function as expected.
[0200] Furthermore, evaluation units 830 and 840 can compare the input situation data Y(t3), Y(t4) with evaluation records stored in a sequence memory as an evaluation sequence or set before or in parallel with determining the evaluation (output 21, output 22). That is, they can compare the input situation data with the corresponding situation data in the stored evaluation records. If these data are found to be the same or similar, i.e., the same or similar situation data appeared at an earlier time, the earlier evaluation can be read from the scoring sequence and used as the output, i.e., the evaluation of the current situation data. In particular, evaluation records in which the same or similar situation data appears can be skipped, and if applicable, evaluation records that follow it in the corresponding sequence can be skipped. Thus, the earlier evaluation is used as the current evaluation of the input situation data Y(t3), Y(t4), the input situation data being taken from evaluation records that appear at a later time in the corresponding evaluation sequence (for this purpose, the evaluation records are advantageously provided with timestamps, numbered and / or arranged according to their order of appearance). "Similar" should be understood as having a tolerance that is appropriately selected in each case.
[0201] A maximum number of evaluation records can be skipped until the evaluation indication has reached a predetermined number of skipped evaluation records and / or the time information indication has reached a predetermined time period within and / or in the corresponding evaluation sequence, and the input values (condition data) of the evaluation unit remain unchanged within a predetermined tolerance compared to previous entries in the evaluation sequence. This process can accelerate the process flow.
[0202] The storage of the first and / or second evaluation sequences in the first or second sequence memory is preferably performed in a cryptographically protected manner to protect them from manipulation. In particular, the use of a blockchain is provided for this purpose, wherein the entries of the sequence (e.g., one or more evaluation records of the first evaluation sequence) form blocks of the blockchain. Thus, a block in each case includes at least one valuation record and is linked, according to blockchain principles, to a sequence of previous valuation records stored in previous blocks.
[0203] Complex structures
[0204] Preferably, the complexity structure of the working level and the evaluation level is specifically combined as follows: Figure 1 and Figure 5 The design, as described, involves a first working unit performing a relatively coarse analysis or classifying the input values into a relatively small number of categories, while a second working unit performs a relatively fine analysis or classifies them into a relatively large number of classes or subclasses and further hierarchies. The first evaluation unit also checks whether the first case data or the first output value meets the relatively coarse conditions, and the second evaluation unit checks whether the second case data or the second output value meets the relatively fine conditions.
[0205] The first evaluation unit 830 may be allocated a classification memory (not shown) designed to have a relatively small number of levels and categories. In this example, it is assumed that the number of levels and / or categories in the first evaluation unit 830 is significantly smaller than the number of levels and / or categories in the second working unit 820 provided as an analysis unit, for example, by one or more orders of magnitude. Similarly, the number of levels and / or categories in the second evaluation unit 840 can be significantly larger than the number of levels and / or categories in the first evaluation unit 830. Furthermore, the number of levels and / or categories in the second working unit 820 can be significantly larger than the number of levels and / or categories in the first working unit 810. The memory may also be further different, but in this case, a significant asymmetry between memory size and complexity will generally prevail.
[0206] Adjust or supplement conditions
[0207] Such as about Figure 7 The explanation suggests that there may be situations where the overall system fails to find a first / second output value, i.e., the entire output, such that first / second case data are derived that are consistent with all first and second conditions, respectively. This particularly relates to the second output value or second case data representing the final total output of the system, due to the dominant shift from the first working unit to the second working unit and correspondingly from the first working unit to the second working unit.
[0208] Therefore, the intended action is to modify or supplement the execution conditions, and more preferably, to modify or supplement the second conditions, such that for at least some of these cases, the corresponding output value or situation data is considered to satisfy the supplementary conditions. Thus, system adjustments occur that affect the processing of future input values.
[0209] However, preferably, such condition addition is not performed for all cases where not all conditions can be satisfied, 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 satisfied, while the other conditions are satisfied.
[0210] Conditions can be added using a total sequence stored in the total sequence memory during normal processing of input values and / or during certain time intervals. If a stored total sequence is used, it can serve as a prerequisite for a supplementary condition that is not met in a minimum number (e.g., 10, 50, or 100) of the same type of total sequence (within a certain tolerance). That is, for these total sequences, the condition is considered met when a supplementary condition (depending on the type of unmet condition, including possible tolerances) is used to supplement the condition.
[0211] In a simple example of an evaluation unit for a neural network, a range of values can be added to the output of the neuron corresponding to that condition when a condition is added / changed. Thus, the neuron is assigned one of the conditions. For example, the neuron has an output function such that its output is a value between -1 and +1. During initial training, the network may have been trained such that if the condition is met, the neuron outputs a value in the range from -0.1 to 0.1, and if the condition is not met, the value is outside that range. If now a condition arises where the output of the working layer is not satisfied—that is, the neuron outputs a value R outside the range [-0.1; +0.1]—and if the condition is to be supplemented, the value R can be added to the range as a valid value. Preferably, not only the value R itself is added, but also a small range around the value R, such as R ± 0.01. The reason for adding this condition could be that one of the above conditions is satisfied, for example, that the condition is one of the only one or more that is not satisfied, or that the output appears in the range R ± 0.01 in multiple total sequences.
[0212] There are two intervals: [-0.1; +0.1] and [R-0.01; R+0.01]. If the neuron's output falls within one of these two intervals when processing future input values, the corresponding condition is considered satisfied. Further additions can be made to these two intervals, so that the condition is represented by a set of intervals. These intervals can be stored in the classification memory of the evaluation unit.
[0213] Of course, similar to this example, a condition can also be associated with multiple neurons, in which case the outputs of the neurons lie within the range of the total values, which is a subset of an n-dimensional space, where n equals 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 of the total range (corresponding to the intervals in the previous example). These subsets can then be processed in the same way.
[0214] The original conditions and each addition to the conditions can additionally provide an indication of a level S, which can be stored together with the conditions / additions in the classification memory of the evaluation unit. The original can be, for example, level 0, S = 0. Thus, the additions will have a higher level, S > 0. Then, for example, by specifying the level, the associated evaluation can additionally indicate the degree to which the conditions are met, or specify a corresponding value, such as 0.9. S (Or another real value less than 1 instead of 0.9); therefore, the value 1 would correspond to the case where the original condition is satisfied, that is, the condition is fully satisfied. Depending on their hierarchy, adding (S>1) will only satisfy the condition (0.9) to a certain extent. S <1).
[0215] The level to be added can be determined by which and / or how many conditions are met that trigger the addition. For example, if the prerequisite is that only one or more conditions are not met, the level can be equal to the highest level of the met conditions plus one.
[0216] These stages or levels introduce a hierarchical structure of conditions. It can be said that, using this hierarchical structure, the original conditions become increasingly refined or branching. Depending on the level or degree of correspondence, certain output values are optimized through evaluation, again influencing the working level.
[0217] This process can, in principle, be carried out under both the first and second conditions. However, it is preferable to supplement or modify only the second condition. On the other hand, the first condition should remain unchanged; that is, these represent fundamental, unchanging conditions. In the example of the conditions of the ethical contract described above (in the disclosure portion of the invention), the first absolute consideration would therefore be immutable, while the second relative consideration could change over time, depending on the actual total output value. It can be said that when this method is used in machine control, machine ethics will evolve.
[0218] Compatibility check with other systems
[0219] Furthermore, when the two overall systems communicate with each other, the first overall system is able to evaluate the overall output value of the second overall system and / or the degree to which its evaluation is compatible with its own evaluation, i.e., consistent with the first and second conditions.
[0220] According to the first embodiment, the second overall system sends an overall sequence, typically comprising several overall records, to the first overall system. The first system then uses the input values and / or situational data included in the overall set as input values / situational data for its own working or evaluation level, and compares the first / second evaluation and / or first / second output values obtained therefrom with the corresponding values included in the sent overall sequence. If these match at least partially, the first overall system can consider the second overall system reliable or compatible (i.e., not contradicting the first / second conditions), and classifies, for example, the analytical data received from it (i.e., data obtained from the working unit) as correct or compatible, and uses them in its own processing. Otherwise, the received data is classified as incorrect or incompatible and is not used or only partially used. The received data can be data used as input values in the overall system. For example, if two overall systems are included as control systems in two autonomous vehicles, the data can include speed, braking, etc. If a vehicle is traveling at a certain distance behind another vehicle, that distance can be selected based on the reliability / compatibility of the overall system in the vehicle ahead (the conditions checked by the evaluation unit here will include, for example, vehicle-specific braking deceleration in the event of sudden braking, which can vary from vehicle to vehicle).
[0221] According to another embodiment, which may be used alternatively or additionally, a compatibility check can be performed during the question-and-answer process. In this alternative, the second overall system does not need to have an overall sequence memory, but only needs to be a system that generates output values from input values. For this purpose, the first overall system retrieves one or preferably multiple overall sequences from its overall sequence memory and sends the input values (questions) contained therein to the second overall system for each overall sequence. The second overall system processes these and determines an output value based on them, which is sent to the first overall system (response). The first overall system feeds the answer to its projection level, or possibly directly to the evaluation level, and determines a first / second evaluation through the evaluation level. This is repeated for all overall sequences. If the evaluations of all overall sequences show that the first / second condition is met, the second overall system is classified as compatible. Alternatively or additionally, a comparison can also be performed between the evaluation determined from the response of the second overall system and the corresponding evaluation contained in the overall sequence, thereby classifying the second overall system as compatible if only minor differences are found in the comparison, for example, within a predetermined tolerance.
[0222] A significant advantage of these methods is that the conditions themselves are not disclosed to other systems. This is advantageous, for example, if the conditions are used to formulate ethical rules, which should not be publicly accessible, especially if they have been modified or supplemented as described above. The same applies to economic aspects, such as those involving trade secrets.
[0223] Of course, the aforementioned compatibility checks presuppose 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 working and evaluation units. In the case of autonomous vehicles, this assignment may, for example, be manufacturer-specific or given as a specification in a standardized form or implemented as an interface.
[0224] Further information on projection hierarchy
[0225] The evaluation unit is trained to evaluate situational data present in or formed by the projection hierarchy 850. Situational data can be, for example, input data as already mentioned, and / or output data from one of the two working units 810, 820, and / or additional data. For example, only output data may be processed in the projection hierarchy 850, optionally with additional information. However, preferably, the input value X of the working hierarchy is not used in the projection hierarchy. i(t). More preferably, only the output values (input 11, input 12) of working units 810 and 820, i.e., the working hierarchy, are used to form the situation data. In this way, the projection hierarchy achieves the separation of the evaluation hierarchy from the working plane, so that the input values X(t) of these working units are not visible to these evaluation units, thus allowing these evaluation units to evaluate the output values of these working units independently.
[0226] Furthermore, it is possible to process or, for example, the data in some way before the projection level. In response to the evaluation unit's processing of the situation data corresponding to classification or evaluation, various actions can be performed, especially those affecting the working level. These actions have an impact on the final output value of the overall system and the associated signals leading to actuators, output interfaces, etc., and / or affect the further behavior of the overall system and, in particular, other units included in the system.
[0227] It is also conceivable to link data in the projection hierarchy to each other to generate at least one piece of additional information. Furthermore, there can be a time parameter indicating, for example, when a certain output value is output. This time parameter can include an absolute time indication or a relative time indication depending on the current evaluation time or another reference time. Similarly, instead of specifying a fixed point in time, the time interval in which one or more input and / or output values of a unit are assigned can be specified. As a supplement or replacement to the actual time parameter, a sequence can be associated with at least a portion of the data so that even without an explicit time specification in the projection hierarchy, it is possible to identify in which sequence multiple data values are generated or processed, for example, in the form of assignment numbers for output values in the projection hierarchy.
[0228] In this way, the data present in the projection hierarchy, especially the output values of the work units, can form, for example, a time series. Optionally, such sequences can also be labeled such that, for example, a specific time period or a specified output value belongs to a defined sequence. For further processing, storage, or evaluation, the sequences formed in this way can then be processed as a whole. Alternatively, different inputs and / or preferred output values belonging to the same time period or the same sequence can be processed together, for example, by comparison. By placing data temporally in the projection hierarchy and grouping them into specific processes and sequences that can be accessed again, a memory-like construction becomes possible. A timer (not shown) can be provided to control the dominance between these work units, and this timer can also be configured according to the combination Figure 4 The ideas described are used in this system.
[0229] The memory 852, preferably provided by projection layer 850, can be designed as a volatile memory element or a non-volatile memory element in the form of a ring memory or another short-term memory. Data to be processed in projection layer 850 can be stored in this projection memory. The storage duration of the data and the selection of the 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 optionally, a part of the system, such as one or both of evaluation units 830 and 840, can make a decision about whether the data in the projection memory should be at least partially transferred to another element of the system. To prevent data loss, this decision can be made before the predetermined storage period expires. For example, one of the evaluation units can decide that some or all of the data stored in projection layer 850 or the projection memory should be transferred to another storage element for long-term storage. This could also be, for example, one of the storage elements of a working unit. By storing the data in the memory of other units in the system that will later evaluate new situations, the evaluated situations can thus be merged in a manner similar to experience. However, in principle, a separate memory module (not shown) can also be provided as long-term memory, which can be fixed or defined by one of the units that can access the data stored there and to what extent.
[0230] Further details and embodiments of the invention are explained below. Based on the first and / or second evaluation, it can be determined whether the first and / or second output values of the first and / or second working units are within a valid range or parameter, or whether they satisfy certain specification rules, i.e., whether they are allowed as valid (in the sense of conditions or rules), or at least allowed to some extent. If it is determined here, for example, that the current output value of the first and / or second working unit (which in the previous example was determined to be the total output value of the system) is outside the permissible range, the reaction of the overall system can be prevented or stopped based on the evaluation, thereby, for example, not passing the first / second output value of the previously obtained first / second working unit to the actuator or interface. Output values evaluated as disallowed or invalid can then be discarded, but can also be stored along with the evaluation so that they can be rolled back in later situations, for example, by comparison. In this way, by not pursuing solutions that have already been identified as invalid or only pursuing solutions with lower priority, the evaluation of situations detected later can be simplified or accelerated. Alternatively, the first / second output value can also be used as the total output, for example, if a solution that satisfies all conditions cannot be found, thereby ensuring that the interaction between the working and evaluation levels according to the invention finds the best possible solution.
[0231] Not only can the permissibility of output values and solutions be checked, but also whether they correspond particularly well to certain conditions or specifications, representing the most ideal possible solution. Output values found in this way can then preferably be used as the overall output of the system, or can be stored, for example, in long-term memory for quick retrieval of future optimal solutions. Conversely, output values evaluated as particularly unfavorable or favorable can also be provided with corresponding evaluation parameters, which can be stored and / or further transmitted as links to these values. These evaluation options can be implemented individually or in combination with each other.
[0232] For example, decisions on transmitting and storing data from the previously described projection levels 750 and 850 can be made based on such evaluations by the evaluation unit.
[0233] In another embodiment, the input values of the system used as input values for the first and second working units may initially be stored only in the projection layer or its associated memory 752, 852. This can be considered as the unprocessed image of the current situation. Simultaneously, the first and second working units begin processing these input values as previously described, i.e., using different possibilities, such as changing the dominance between working units and adjusting the determined parameters and functions of the second working unit.
[0234] The solutions found, i.e., the output values of the first and / or second working units, can then be passed to the projection layer, whereby they can either rewrite the corresponding related input values or be stored and linked together. For example, depending on the variant, each newer result obtained from the same input values can rewrite an older result. In other cases, results can be passed to the projection layer while older solutions are retained, such that comparisons between current and previous solutions can also be used to evaluate whether later or earlier results better correspond to the specifications or conditions of the evaluation system. As an example of linking, for example, in the case of images, simultaneously superimposed elements or superimposed elements can be considered.
[0235] Alternatively, dominance between the previously described coupled units can be considered, such as processing only the output value of the currently dominating network and storing it in the projection hierarchy or its memory. In this process, time parameters can be linked to these values again. For example, time periods of the same or different lengths can be defined, and the corresponding input and output values can be appropriately assigned to these time periods to reproduce a time series of events. For example, input values can be stored in the first time period, while the output value of the first working unit can be stored in the next time period, and then the output value of the second working unit can be stored. Furthermore, improved or at least altered output values can then be stored in additional sections. Time periods can be specified for each block of output values, and they can optionally be marked as belonging together to clarify the sequence of identified events.
[0236] In exemplary embodiments, control over the storage of data in or from the projection memory can also be undertaken, at least in part, by multiple units of the system. For example, a scenario has been described where, in a system with defined dominance, an input value is checked to see if it has changed beyond a predetermined level, thus assuming a new scenario. In this case, dominance can be passed to a first working unit to create a new coarse classification of the input value. Simultaneously, the first working unit can then signal the projection memory whether the data stored there (corresponding to the previous scenario) should 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 working units can adjust the storage duration in the projection memory in response to different scenarios or objectives. For example, a longer storage duration can be set in the projection layer if a long, in-depth solution search is required, while a rapid decision can cause rapid changes to the stored data.
[0237] Alternatively, it is also possible that one of the units can preferentially determine, for example, the storage duration, such that the decision of the first working unit to discard previous data in the projection memory can be checked or prevented by the second working unit, so that the corresponding data is still stored, for example in the case of repeated input values. Furthermore, it is conceivable that, at least to a limited extent, one of these units can modify the classification memory of another unit and, for example, create new categories. However, a protected area can also be defined, where all default values that cannot be changed or deleted by any unit are stored.
[0238] As in Figure 4 In the system shown, if a timer capable of measuring time intervals and transmitting this information to the units is specified, the timer can also monitor, for example, a specified storage duration. Thus, the storage time can also be coordinated or synchronized with the dominance distribution among different units of the system. Alternatively, however, another part of the system can be provided for this purpose. In principle, the evaluation unit can also change and redefine predefined storage time periods. In doing so, different specifications for the storage duration can also be defined for different values. For example, it can be specified that the output values of the first working unit (e.g., a fast classification unit) are stored only for a short time in the projection hierarchy, thus defining a first time specification for their storage duration, while the output values of the second working unit have a longer time specification for their storage duration. It is also possible to store only the output values of the first working unit until the output values of the second working unit are available. Alternatively, the evaluation unit can be allowed to check the output values first. If it is determined that the output values of the second unit are invalid because they do not correspond to predetermined conditions, the storage of these values can be cancelled, while the coarse output values of the first working unit are retained.
[0239] Alternatively, the evaluation units may further modify the detailed adjustments between the first and second units based on the evaluations they perform.
[0240] The system can be designed such that the evaluation system does not determine the validity or invalidity of results and output values alone, but rather in conjunction with other units of the system, such as by influencing processing parameters, storage time, and other elements.
[0241] When evaluation units (i.e., evaluation levels) are designed as evaluation or verification units, these can, for example, include classifications that essentially contain features such as prohibitions, priorities, normative rules, and value-like norms. By having such evaluation levels evaluate the output values of the working levels, it can be ensured that only those solutions are approved for use in the overall system that conforms to these norms. These can be simple, fixed boundary conditions for the system; however, they can also be further developed into ethical-like modules that keep the development and decision-making of the overall system in the direction given by values and rules. These boundary conditions are predefined, in particular, through classifications in the evaluation levels, which can preferably be firmly defined and stored for the first evaluation unit without being changed by the system, and preferably can be changed starting from the predefined conditions for the second evaluation unit. Thus, it is also conceivable that the system learns these classifications at least partially on its own during the interaction between the working and evaluation units, corresponding to unsupervised learning, thereby at least partially forming its own value system or a set of learned boundary conditions. It is also possible to use a design in which a basic system of immutable boundary conditions is predefined, and these conditions can then be supplemented during the training phase or during operation and / or through external data input.
[0242] The conditions specified by the evaluation unit can be applied both during the joint training phase of the coupled network and during the subsequent evaluation phase of the previously trained system. Optionally, the classification memory of the evaluation unit can contain multiple individual preset settings corresponding to multiple closed classification groups. If needed, one of these groups can be selected, for example, depending on the situation at hand. The corresponding situation at hand and the classification group to be applied can be identified again based on the results of the first and / or second working units. In this way, for example, different risk preferences or "basic sentiments" of the system can be realized. In this case, the basic settings can also be predefined, which only change under certain conditions. It is also conceivable that new classification groups with additional or flexible boundary conditions for the evaluation level can be actively formed based on the immutable basic settings of the evaluation level during the training and operation phases of the coupled system.
[0243] As an example, in the case of autonomous vehicles or aircraft (e.g., drones) used for rescuing people, more dangerous driving methods can be permitted as long as no passengers are carried, especially if the vehicle needs to reach a predetermined location quickly. After a coarse identification of situations (e.g., "alarm situations") that can be performed by, for example, the first working unit, a corresponding classification group can be selected for the first evaluation unit, and then the solution or output value is evaluated based on that classification group, preferably by the first working unit and / or possibly by the second working unit. Similarly, a potentially more refined classification group is selected in the second evaluation unit, whereby this selection is influenced by the first evaluation due to a third adjustment function. In this way, basic boundary conditions, such as avoiding accidents, can continue to be observed, but other boundary conditions (e.g., sharp turns, accepting damage, or others) can be relaxed at the same time. Once the system detects a new situation, such as the presence of passengers in the vehicle, different classification groups can be applied to the first and second evaluation units respectively, which can now be more focused on the health of the passengers or even the rescued victims. In extended embodiments, additional standard catalogs can also be created, which can be used for classification in specific situations, such as during loading and transportation, during firefighting, during reconnaissance flights or reconnaissance trips, and other situations. If the situation can be categorized into such known cases, the evaluation level can be limited to maintaining the validity of the boundary conditions and remaining passive as long as no contradictions occur. However, if more complex or unknown situations arise that could lead to damage or other undesirable consequences, the evaluation level can also intervene more actively in the solution search at the work level, for example, by specifying new search spaces, changing or adjusting the parameters of the work units, or otherwise supporting the search for appropriate solutions.
[0244] Thus, the overall system's framework conditions, such as prohibitions, priorities, and value systems, are stored in the memory of the evaluation level, preferably permanently programmed for the first evaluation unit and modifiable to some extent for the second evaluation unit. Processing acceleration can also be achieved by excluding certain solutions. The evaluation level can actively intervene in the solution discovery of the working level through actions such as rewards and penalties or by introducing new step sizes. Therefore, the output value of the working level is also influenced by the evaluation level through special types of feedback.
[0245] As a further option, the evaluation level can influence the determination of the correlation between the timer and the dominance of various units in the system, preferably at the working level, where it has already been combined with Figure 4The system described is implemented in a way that involves multiple coupled units. For example, the evaluation hierarchy can examine whether a specified time parameter used for dominance transfer results in a perceptible outcome, or whether a different distribution or specification should be specified for a time period. This allows for flexibility in responding to situations requiring coarser classification than is typically possible, and for making decisions, for example, in a shorter timeframe. Thus, if needed, signals from the evaluation hierarchy to the timer module can be used to set one or more new time parameters for each coupled artificial learning unit, upon which further determination of dominance can be performed as already described. Similarly, after the time evaluation of the situation data, the evaluation hierarchy can determine whether the input values and the situation to be evaluated change very rapidly and significantly, or whether the situation remains constant in a quasi-static manner for a long time, and on this basis, specify other time parameters for processing.
[0246] Figure 7 and Figure 8 The elements and processing steps described herein are certainly not intended to be limited to the embodiment shown with four artificial learning units. In all embodiments, it should be understood that the individual elements, such as memory elements, artificial learning units (neural networks), and the connections between these elements, may be implemented differently than those shown herein. For example, other memory elements not shown in these diagrams may also be present, or some or all of these memories may be in the form of a single physical memory element, e.g., subdivided accordingly by addressing.
[0247] The various sub-methods described above can, in particular, be combined with each other to induce correlated and independent action systems. Such systems can cover a wider range of applications compared to intelligent systems trained only in a single specialized domain. In traditional systems, data processing corresponds to finding the minimum of error or the maximum of success in a multidimensional space. The more dimensions this space has (through classification, options, hierarchical levels), the more likely the system is to get stuck in local minima or maxima. On the other hand, the coupling and influence of the first unit on the previously described second unit, with the form of weights, step sizes, functions, and more conditioning functions, allows for leaps in the search space to initially unchecked regions that would otherwise not be reached, depending on the defined step size. In this process, the task can also change rapidly, such as by quickly checking whether the new solution space is relevant in each case.
[0248] For example, if a potentially dangerous but unidentifiable animal is identified from the input values, and neither the first nor second working units can find a suitable image pattern for that input value, the system can now jump to sound analysis by adjusting the step size (e.g., randomly generated) and find the suitable sound recorded by the unidentifiable animal there. The second working unit, adjusted in this way, can then check whether the found solution is applicable to the previously unclassifiable image, which corresponds to the execution of the association.
[0249] Similarly, the introduction of a projection hierarchy can replicate associative behavior because, for example, decisions (in the form of output values) can now be compared with previous decisions, and optionally evaluated as well. Thus, instead of abstract learning capabilities based on positive or negative rewards, the evaluation system is performed in an associative manner. For example, if the system does not find a better solution in a jump region, it can jump back to the region of the best solution so far, which is determined and optionally stored by the evaluation in the projection hierarchy, and can initiate new jump variants. In this way, for example, adjustments made by the first unit can always be made from a suitable starting point found based on the evaluation made by the evaluation hierarchy.
[0250] As a possible application example, a user-specific AI system should be considered. Ideally, such a system could develop intelligent behavior in the sense of hard AI by coupling multiple artificial learning units, which in particular include modulated feedback and evaluation hierarchies with corresponding storage options. Such a system should preferably be able to freely correlate and independently classify problems. Furthermore, user-specific behavior should be possible, enabling the AI system to respond to the user individually; that is, in particular, it should be able to detect and / or learn the user's interests, traits, emotions, feelings, role characteristics, and knowledge level.
[0251] Here, such and other externally collected data can be added to the system. Updates to the overall system are also possible, such as changing the level of work or classification and / or evaluation level or conditions within certain constraints. However, preferably, mechanisms are in place to completely prevent data from being output from the system, especially since it operates at a highly personal level. Therefore, personal data should not be disclosed externally and may optionally be inaccessible. For example, it is also conceivable that the AI system operates primarily offline, i.e., without connection to external communication networks or other interfaces. To update the system or load background knowledge and other data, a time-limited secure connection can then be established, for example, one that can be entirely controlled by the user. For example, the source of the added data can be specified, and the user can be given the option to consent to the connection.
[0252] An initial training phase can be provided for the system, during which learning communication occurs with foreigners, predefined training datasets, and / or data not originating from the system's actual users. This training phase can be used to provide a general, basic setup for topics, knowledge, experience, and expertise, so that external data can only be used later in specific situations. Predefined communication features, as well as the initial depth of the learning process and associations for general states, can also be set. Furthermore, problem identification and appropriate responses to situations, as well as the associated communication processes, can be trained during the training phase.
[0253] After the initial training phase, which can be performed by the manufacturer, is completed, a second training phase can be performed by the end user, for example. Here, for example, time parameters can now be set for the user (synchronization). By learning and adapting the system from the coupled network, the communication characteristics initially set can be adapted to the end user (via mirroring or supplementation). Similarly, role characteristics and interests previously set for a general user can now be adapted to a specific end user. Furthermore, in exemplary embodiments, particularly those including visual evaluation, the projection hierarchy can generate a current image of its state and display it on a screen. This overlaid image then allows an external user or trainer to evaluate it during the working phase, and especially during the training phase, using the image to determine how the system approximates the current situation. In this way, it is possible to identify how the system is working at an early stage, or, if necessary, intervene to correct or modify certain aspects and thus accelerate the training phase.
[0254] After these training phases, the system is preferably available at any time. However, supplementary training phases may also be used later.
[0255] Depending on this embodiment, the AI system may have different interfaces to record environmental conditions and actions performed by the user, as well as the user's emotions and mental state. Various sensors can be used for this purpose, such as cameras, microphones, motion sensors, infrared sensors, sensors for chemical compounds (“artificial nose”), ultrasonic sensors, and any other sensors. These can be arranged individually, distributed, and / or combined in appropriate moving or static objects to enable the most comprehensive analysis. Additionally, other interfaces may be provided for the AI system to communicate with the user, such as speakers for voice output or screens and other display devices for visual display and text representation.
[0256] In one possible embodiment, an object is provided for integrating such an AI system into a user. This can be a mobile object, such as a technological device (e.g., a smartphone), but more specifically, it can be furniture or everyday objects, such as lamps, vases, screens, mirrors, or other objects that already have a fixed location in the home. The system's task is to provide an artificial personal intelligent companion for the user. The system establishes the user's identity and communicates with him or her, for example, via voice and / or images, if a screen or projector is installed in the room. Therefore, the output is connected to an interface (e.g., a speaker, screen, projector).
[0257] Based on the aforementioned inventive elements, this system can categorize situations, incorporate and correlate stored and learned knowledge. Its purpose is to provide inspiration, offer advice, bridge user loneliness and depression, act as a coach, or even a professional advisor / problem solver. Applications include serving as a leisure companion (helping with boredom, providing conversational support, entertainment, and assistance with daily life); as an encourager of intellectual, scientific, and artistic impulses; providing psychological or intellectual support to coaches or advisors, especially for those with mental illness; as an advisor for various daily situations (fashion, hygiene, health, duties, care); as a personal secretary, capable of creating and utilizing a wide range of knowledge databases; as a gaming partner for the most diverse games; and others.
[0258] In particular, such a system can adapt to the user in the short term (e.g., current mood) and long term (e.g., user's role type). Information processed via projection hierarchy and stored in long-term memory can be used for this purpose. Ideally, the system can be equipped with codes, biometric user identification (image, voice, fingerprint, voice tone, or other features), and other access control options for this purpose.
[0259] Preferably, such a system and the described processing steps can be used to implement an ethical system. For example, a personal intelligent companion can encourage the user and his / her environment to meet their needs for fulfillment and usefulness; it can draw attention to ethical issues appropriate to the user's type, role, situation, and mood, and, for example, promote certain virtues (helping, generosity, kindness, courage, wisdom).
[0260] By employing appropriate conditions within the evaluation hierarchy, a system can be configured to avoid harm, pain, and suffering, not only for the user but also for all those affected by their decisions. In cases where seriously flawed decisions are anticipated, a personal assistant can initiate discussions, particularly debating the consequences of certain actions, and offering constructive suggestions for alternatives. The focus is not on prescribing actions, but rather on idealizing how actions should or could be. The personal assistant can identify predicaments and point them out to the user, while simultaneously seeking alternative solutions or selecting the most advantageous one. Particularly in the case of user artwork, the possibility exists that the personal intelligent companion can provide support solely through pre-programmed and learned evaluations. In this context, reflection may have already been adapted to the user. The system's associative capabilities play a crucial role here.
[0261] As another example of implementation, a "smart mirror" is described. A mirror already exists in the entrance area or bathroom area. The input and output interfaces described in the preceding general examples, such as various sensors, can be easily integrated into the mirror. A variety of possibilities can be realized in this AI system by using objects that are briefly but frequently passed by the user.
[0262] For example, suitable cameras, microphones, motion detectors, ultrasonic sensors, artificial noses, infrared sensors, etc., can be used to collect various information about users, key situations, and user habits without requiring active input. Especially in entrance areas, entry and exit controls can also be implemented.
[0263] In this way, for example, a smart AI system can warn users about clothing issues and offer clothing suggestions; it can indicate the expected weather and point out necessary items if it detects a lack. The items the user carries can be recorded and identified. If needed, issues can be clarified in conversation with the user (via voice or other input methods), such as whether something is needed, forgotten, or lost.
[0264] It can also include comments recorded by the microphone, allowing users to actively support these processes, for example, by annotating situations or objects or proactively pointing them out for recording. Over time, the AI system can thus learn about almost all objects, clothing, and their locations within the apartment. If searching for something, or if a user has questions about their clothes, food inventory, book inventory, etc., the system can provide prompts to help. For example, when a user enters the apartment, it can inform them that they are wearing glasses and determine that the glasses must be inside the apartment.
[0265] Appointment logs, lists, and other support aids for daily life can also be managed by the AI system through dialogue. Therefore, the system is particularly suitable for the elderly and sick, or those who are generally restricted in some way in their daily lives.
[0266] By appropriately evaluating the recorded data, such as facial expression recognition and evaluation of voice tone or other data, the system can record a user's emotions in a short period of time and provide corresponding instructions based on this, such as if someone wants to rush off on a long trip. For example, the detected emotions can be included in the evaluation performed by the evaluation hierarchy in the above-described embodiment example.
[0267] In this scenario, the detection options and dialogue do not need to be tied to an object, in this case, a smart mirror. To prevent users from having to engage in lengthy conversations with the AI system in inappropriate locations, the system can therefore initiate or continue the conversation with the user via speakers, microphones, and other devices distributed appropriately throughout the apartment. The components of the AI system itself can also be distributed across multiple modules and can connect to each other, for example, via suitable wireless or wired communication interfaces.
[0268] For all the AI systems proposed herein, it is preferable to implement strict protection for the recorded and stored data, especially personal data, and particularly password-protected data storage. To this end, an identification system can also be integrated, which can reliably identify users from images, voice, and from motion features, evaluation of voice emphasis, or any other biometric features. This prevents personal information from being disclosed to guests or other unauthorized persons during conversations.
[0269] Other possible embodiments, which may be implemented individually or in combination with each other and with the above embodiments, are summarized below:
[0270] For example, according to one embodiment, a method can be implemented in a system having 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 regulation functions can be formed and then applied to one or more parameters of the second artificial learning unit. The one or more parameters can be parameters that affect the processing of input values and the acquisition of output values in the second artificial learning unit in some way. Furthermore, the output values of the second artificial learning unit are obtained. These can represent, for example, the regulated output values of the second unit.
[0271] In this way, two artificial learning units are coupled together to form an artificial learning system without using direct feedback of input or output values. Instead, one of these units influences the function of the second unit by adjusting certain functionally related parameters, resulting in a novel coupling that produces different results or output values compared to conventional learning units. Furthermore, by processing input values in two coupled units, results can be achieved in a shorter time or with more in-depth analysis than in conventional systems, thereby improving overall efficiency. In particular, the current problem is rapidly classified and takes into account rapid changes.
[0272] In an exemplary embodiment, at least one of the artificial learning units (working units and evaluation units) may include a neural network with multiple nodes, particularly one of the artificial learning units to which a conditioning function is applied. In this case, the one or more parameters may be at least one of the following: weights of the nodes of the neural network, activation functions of the nodes, output functions of the nodes, and propagation functions of the nodes. These are fundamental components of a neural network that determine data processing within the network. The conditioning function may be used to superimpose existing, self-learned, and / or predefined functions of the network to condition the nodes, rather than defining new weights or functions for the nodes, depending on the results of the first artificial learning unit. Therefore, this application of the conditioning function can also occur, in particular, outside the training phase of the network, thereby enabling active coupling of two or more networks in the processing of input values.
[0273] According to an exemplary embodiment, at least one, preferably each, of these artificial learning units (working and evaluation units) may be allocated a classification memory, wherein each of these artificial learning units classifies the input values into one or more categories stored in the classification memory, wherein these categories are respectively structured into one or more dependency hierarchies, and wherein the number of classes and / or hierarchies in the first classification memory of the first artificial learning unit (first working / evaluation unit) is less than the number of classes and / or hierarchies in the second classification memory of the second artificial learning unit (second working / evaluation unit). By making the classification memories of the two coupled artificial learning units asymmetric in this way, parallel or time-dependent alternating evaluations of input values with different objectives can be performed, such as a combination of rapid classification of input values and deep, slower analysis of input values.
[0274] Alternatively, or in addition to the asymmetric design of the classification memory, the complexity of the first and second artificial learning units can also be designed differently, such that, for example, the first artificial learning unit (first working / evaluation unit) has a significantly lower complexity than the second artificial learning unit (first working / evaluation unit). For example, in the case of neural networks, the first neural network can have significantly fewer nodes and / or layers and / or edges than the second neural network.
[0275] In one possible embodiment, the application of the at least one adjustment function can cause a time-dependent superposition of the parameters of the second artificial learning unit, wherein the at least one adjustment function can include one of the following characteristics: a periodic function, a step function, a function with a transiently increasing amplitude, a damped oscillation function, a beat frequency function as a superposition of multiple periodic functions, a continuously increasing function, or a continuously decreasing function. Combinations or time series of these functions are also conceivable. In this way, the relevant parameters of the learning unit can be superimposed in a time-dependent manner, such that, for example, the output value "jumps" into the search space due to adjustment, which would not be achieved without superposition.
[0276] Optionally, the second artificial learning unit may include a second neural network with multiple nodes, wherein applying at least one adjustment function causes at least a portion of the nodes to be deactivated. This type of deactivation can also be considered as "discarding" based on the output values of the first artificial learning unit, and can also provide newly opened search regions in classification and reduced computational workload, thereby accelerating the execution of the method.
[0277] In an exemplary embodiment, the method may further include determining the currently dominant artificial learning unit in the system, and forming the system's total output value from the output value of the currently dominant unit. In this way, two or more artificial learning units in the system can be meaningfully coupled and synchronized.
[0278] For example, the first artificial learning unit (especially the first working unit) can be set as the dominant unit at least until one or more output values of the second artificial learning unit (especially the second working unit) are available. In this way, it can be ensured that the system is decision-safe at all times, that is, the system's response is possible at all times (after the first run of the first working unit), even before all existing artificial learning units of the system have fully classified these input values.
[0279] The system can further apply the comparison between the current input value and the previous input value through at least one artificial learning unit, whereby the first artificial learning unit is set as the dominating unit if the comparison causes a deviation higher than a predetermined input threshold. In this way, it can be ensured that substantially changed input values (e.g., detection of new situations by sensors) immediately respond to new analysis of the input values.
[0280] Additionally or alternatively, the current output value of the first artificial learning unit can be further compared with the previous output value of the first artificial unit (especially the first working unit). If the comparison results in a deviation exceeding a predetermined output threshold, the first artificial learning unit is identified as the dominant unit. By evaluating the deviation in the output value, for example, if a deviation category exists compared to previous runs, changes in the input values can also be indirectly detected, possessing a certain significance and thus making the new classification meaningful.
[0281] In some embodiments, the system may further include at least one timer that stores one or more predetermined time periods associated with one or more artificial learning units, the timer being configured to measure the passage of the predetermined time period associated with each artificial learning unit, one at a time. For example, such an element creates the possibility of synchronizing different units of the system and the possibility of control when the output value of a particular unit is desired or further processed. Thus, a timer can be used to define an adjustable delay time for the entire system within which a determination of the overall output value of the system can be obtained. This time can be, for example, a few milliseconds, such as 30 or 50 milliseconds, and can be particularly dependent on the existing topology of the computing units and available computing units (processors or other data processing devices).
[0282] For example, once the artificial learning unit is identified as the dominant unit, measurements can begin for a predetermined time period allocated to one of the artificial learning units. In this way, it can be ensured that the unit develops a solution within the predetermined time, or alternatively, that data processing can even be suspended.
[0283] In one possible embodiment, if a first time period in a timer scheduled for the first artificial learning unit has elapsed, the second artificial learning unit (specifically, the second working unit) can be set as the dominant unit. This ensures that the response based on the first artificial learning unit is possible before the input values are analyzed by another artificial learning unit, and the data is subsequently evaluated in more detail by the second unit.
[0284] In any embodiment, the input value may include 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 communication interface, and data output by a computing unit. For example, it could be image data captured by a camera, audio data, location data, physical measurements such as speed, distance measurements, resistance values, and any values typically captured by suitable sensors. Similarly, data may be input or selected by a user via a keyboard or screen and may optionally be linked to other data such as sensor data.
[0285] It should be understood that the above examples can be combined in any way. For example, in any of the embodiments described, there may also be combinations... Figure 4 The timer described. Similarly, in all examples, the learning unit can have, as in combination Figure 5 The classification memory is described as an example. All these variations are equally applicable to couplings of more than three or four artificial learning units.
Claims
1. A mechanism for processing input values (X) executed in the controller of a machine. i The method, wherein the input values include sensor data detected by one or more sensors in an overall system having a working level (710) and an evaluation level (730) as an artificial learning system, the method comprising: a) Transfer the first input value (X) i (t1) is input to the working level, and the working level determines the first output value (output 11) from the first input value according to the first category. b) Based on the first output value (output 11), form the first case data (Y(t3)); c) Input the first situation data into the evaluation level, and determine the first evaluation (output 21) by the evaluation level. The first evaluation indicates whether or to what extent the first situation data meets a predetermined first condition. d) Influencing the determination of the first output value in the work level based on the first evaluation; Therefore, repeat steps a)-d). e) The second input value (X) i (t2) is input to the working level, and the working level determines the second output value (output 12) from the second input value according to the second classification, wherein the determination of the second output value is affected by the first output value; f) Based on the second output value, form the second case data (Y(t4)); g) Input the second situation data into the evaluation level, and determine the second evaluation by the evaluation level (output 22). The second evaluation indicates whether or to what extent the second situation data meets a predetermined second condition. The determination of the second evaluation is influenced by the first evaluation. h) Influencing the determination of the second output value in the work level based on the second evaluation; Therefore, repeat steps e)-h). Wherein, the first output value and / or the second output value are used as the overall output value (output) of the overall system, wherein the overall output value is used as the control parameters and / or status parameters of the machine.
2. The method according to claim 1, wherein, Steps a)-d) are repeated until a predetermined first time period has elapsed and / or the first output value no longer changes between consecutive repetitions within a predetermined first tolerance and / or the first evaluation indication at least partially satisfies the first condition; wherein, when the repetition is completed, the first output value is used as the overall output value.
3. The method according to any one of the preceding claims, wherein, Steps e)-h) are repeated until the predetermined second time period has passed and / or the second output value no longer changes between consecutive repetitions within the predetermined second tolerance and / or the second evaluation indication at least partially satisfies the second condition; wherein, when the repetition is completed, the second output value is used as the overall output value.
4. The method according to claim 1, comprising: The overall sequence is stored in the overall sequence memory (760, 860), and each overall record includes corresponding input values and / or first output values and / or first situation data and / or first evaluation and / or second output values and / or second situation data and / or second evaluation; wherein the overall record and / or the values or data included in the overall record are provided with corresponding time information and / or numbering.
5. The method according to claim 1, comprising: Supplement the first condition and / or the second condition such that, for the first case data and the second case data respectively, before the supplementation, the first condition and the second condition were not satisfied, and the supplemented first condition and the second condition are satisfied or at least satisfied to some extent; wherein, only the second condition is changed and the first condition remains unchanged.
6. The method according to claim 1, wherein, The overall system includes a projection layer, and the formation of the first case data and / or the second case data is performed by the projection layer.
7. The method according to claim 1, wherein, The second classification divides at least one category of the first classification into multiple subclasses and / or wherein for at least one of the first conditions, a first condition is implied by a plurality of second conditions.
8. The method according to claim 1, wherein, The first condition is given in the form of a rule and the second condition is given in the form of a rule classification; wherein each rule is assigned a rule classification, the rule classification representing a sub-part of the corresponding rule; wherein a memory is provided for storing the rules and the rule classifications; wherein the rule classifications are further subdivided into layers linked by a blockchain, and wherein the rules and / or the rule classifications are implemented in the form of smart contracts.
9. The method according to claim 1, wherein, The working hierarchy is designed such that determining the first output value in step a) requires a shorter time period and determining the second output value in step e) requires a longer time period; and / or wherein the evaluation hierarchy is designed such that determining the first evaluation in step c) requires a shorter time period and determining the second evaluation in step g) requires a longer time period; wherein, in both independent cases, the longer time period is at least twice as long as the shorter time period.
10. The method according to claim 1, wherein, The first input value and the second input value are given as a time-continuous input signal or as a time-discrete time series, wherein the first input value and the second input value are all or partly the same.
11. The method according to claim 1, wherein, The working hierarchy includes a first artificial learning working unit and a second artificial learning working unit (810, 820); wherein, the first artificial learning working unit (810) is adapted to receive the first input value (X). i (t1)) and determine the first output value; wherein, the second artificial learning working unit (820) is adapted to receive the second input value (X) i (t2)) and determine the second output value; and wherein, in the working level, one or more first regulation functions (f) are formed based on the first output value and / or values derived from the first output value. mod1_f f mod2_w The resulting one or more first adjustment functions are applied to one or more parameters (f) of the second artificial learning working unit (820). outA2 f aktA2 f transA2 w iA2 ), wherein one or more parameters affect the processing of input values and the acquisition of output values in the second artificial learning working unit.
12. The method according to claim 11, wherein, One or more second regulation functions (f) are formed based on the first evaluation and / or values derived from the first evaluation. mod2_f f mod2_w ), wherein one or more second adjustment functions are formed and applied to one or more parameters (f) of the first artificial learning working unit (810). outA1 f aktA1 f transA1 w iA1 ), where one or more parameters affect the processing of input values and the acquisition of output values in the first artificial learning working unit.
13. The method according to claim 11, wherein, The first evaluation and / or the value derived from the first evaluation are used as the evaluation input value of the first artificial learning working unit (810); and / or the second evaluation and / or the value derived from the first evaluation are used as the evaluation input value of the second artificial learning working unit (820).
14. The method according to claim 1, wherein, The evaluation hierarchy includes a first artificial learning evaluation unit and a second artificial learning evaluation unit (830, 840); wherein the first artificial learning evaluation unit (830) is configured to receive the first situation data (Y(t3)) and determine the first evaluation; wherein the second artificial learning evaluation unit (840) is configured to receive the second situation data (Y(t4)) and determine the second evaluation; and In the evaluation hierarchy, one or more third adjustment functions (f) are formed based on the first evaluation and / or values derived from the first evaluation. mod3_f f mod3_w ), wherein one or more second adjustment functions are applied to one or more parameters (f) of the second artificial learning evaluation unit (840). outB2 f aktB2 f transB2 w iB2 ), wherein one or more parameters affect the processing of input values and the acquisition of output values in the second artificial learning evaluation unit.
15. The method of claim 14, further comprising: A first evaluation set of a first evaluation sequence is stored in a first sequence memory. The first evaluation set includes the input value of the first evaluation unit and the associated first evaluation. The first evaluation set is provided with corresponding time information and / or a number; and / or The second evaluation set of the second evaluation sequence is stored in the second sequence memory (832). The second evaluation set includes the input value of the second evaluation unit and the associated second evaluation. The second evaluation set is provided with corresponding time information and / or number. The determination of the first evaluation and / or the second evaluation is made with reference to the stored first evaluation sequence or the second evaluation sequence.
16. The method according to claim 4 or 15, wherein, The storage is performed in a cryptographically protected manner; wherein, a blockchain is used, and the blocks of the respective blockchains contain at least one of a first evaluation set, a second evaluation set, and an overall set.
17. The method of claim 1, comprising: Receive output values from other systems; The first case data and / or the second case data are formed from the received output values; The first evaluation and / or the second evaluation are determined by the evaluation level based on the first situation data or the second situation data formed from the received output values; If the determined first evaluation and / or second evaluation indications satisfy the first condition or the second condition respectively, then the other systems are determined to be compatible.
18. A system in a machine controller, comprising a working layer (710) and an evaluation layer (730) and arranged to perform the method according to any one of the preceding claims; wherein, The working layer is configured to receive the input value, while the evaluation layer cannot receive the input value.
19. The system according to claim 18, wherein, The working level and the evaluation level are each implemented in at least one computing unit.
20. The system according to claim 19, wherein, The at least one computing unit implementing the said working level is different from the at least one computing unit implementing the said evaluation level.
21. The system according to any one of claims 18 to 20, further comprising a projection hierarchy and / or an overall sequence memory (760, 860).
22. The system according to any one of claims 18 to 20, wherein, The working layers include a first artificial learning working unit and a second artificial learning working unit (810, 820), and the evaluation layers include a first artificial learning evaluation unit and a second artificial learning evaluation unit (830, 840); wherein the artificial learning working unit and / or the artificial learning evaluation unit each include a neural network with multiple nodes, and further wherein the one or more parameters are at least one of the following: the weighting of the nodes of the neural network, the activation function of the nodes, the output function of the nodes, and the propagation function of the nodes.
23. The system according to claim 22, wherein, The first artificial learning evaluation unit and the second artificial learning evaluation unit are implemented and / or executed as hardware and / or computer programs in the first computing unit and / or the second computing unit, wherein the first computing unit and the second computing unit are interconnected through a first interface; and / or Wherein, the first artificial learning evaluation unit and the second artificial learning evaluation unit are implemented and / or executed as hardware and / or computer programs in the third computing unit and / or the fourth computing unit, and the third computing unit and the fourth computing unit are interconnected through a third interface; and / or The third computing unit and the first computing unit are interconnected through a second interface.
24. The system according to claim 23, wherein, At least one computing unit is provided with memory connected to or included in the respective computing unit; wherein the memory allocated to the first computing unit is arranged to store the first category, and / or the memory allocated to the second computing unit is arranged to store the second category, and / or the memory allocated to the third computing unit is arranged to store the first condition, and / or the memory allocated to the fourth computing unit is arranged to store the second condition.
Citation Information
Patent Citations
Neural network classification
US20180350069A1
Device for the autonomous generation of useful information
US5659666A