ES3051636T3 - Method and system for processing input values - Google Patents
Method and system for processing input valuesInfo
- Publication number
- ES3051636T3 ES3051636T3 ES21819084T ES21819084T ES3051636T3 ES 3051636 T3 ES3051636 T3 ES 3051636T3 ES 21819084 T ES21819084 T ES 21819084T ES 21819084 T ES21819084 T ES 21819084T ES 3051636 T3 ES3051636 T3 ES 3051636T3
- Authority
- ES
- Spain
- Prior art keywords
- values
- output values
- evaluations
- evaluation
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Manufacturing & Machinery (AREA)
- Primary Health Care (AREA)
- Feedback Control In General (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Image Analysis (AREA)
Abstract
La invención se refiere a un método implementado en un controlador de una máquina para procesar valores de entrada en un sistema global con un nivel de trabajo y un nivel de calificación, que comprende la introducción de primeros valores de entrada en el nivel de trabajo y la determinación de primeros valores de salida; la formación de primeros datos de situación; la introducción de los primeros datos de situación en el nivel de calificación y la determinación de primeras calificaciones que indican si los primeros datos de situación cumplen las primeras condiciones predefinidas; la influencia en la determinación de los primeros valores de salida con base en las primeras calificaciones; la introducción de segundos valores de entrada en el nivel de trabajo y la determinación de segundos valores de salida, donde la determinación de los segundos valores de salida está influenciada por los primeros valores de salida; la formación de segundos datos de situación; la introducción de los segundos datos de situación en el nivel de calificación y la determinación de segundas calificaciones que indican si los segundos datos de situación cumplen las segundas condiciones predefinidas, donde la determinación de las segundas calificaciones está influenciada por las primeras calificaciones; la influencia en la determinación de los segundos valores de salida con base en las segundas calificaciones; donde el primer y/o el segundo valor de salida se utilizan como valores de salida globales del sistema global. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0003] Método y sistema para procesar valores de entrada
[0005] La presente invención se refiere a un sistema global que comprende un plano de trabajo y un plano de evaluación, que son sistemas de aprendizaje artificial, en particular a un método implementado en el mismo para procesar valores de entrada en un control de una máquina.
[0007] Estado de la técnica
[0009] La inteligencia artificial tiene hoy en día un papel cada vez más importante en innumerables áreas de aplicación. En primer lugar, se entiende por ello cualquier automatización del comportamiento inteligente y el aprendizaje automático. Sin embargo, estos sistemas suelen estar previstos y entrenados para tareas especiales. Esta forma de inteligencia artificial (IA, o también AI, por "artificial intelligence") a menudo se denomina "IA débil" y se basa esencialmente en la aplicación de cálculos y algoritmos para simular un comportamiento inteligente en un área específica. Ejemplos de ello son sistemas que pueden reconocer ciertos patrones, como los sistemas de seguridad en los vehículos, o que pueden aprender e implementar ciertas reglas, como cuando se juega al ajedrez. Al mismo tiempo, estos sistemas son esencialmente inútiles en otras áreas y deben reentrenarse por completo para otras aplicaciones o incluso entrenarse con enfoques completamente diferentes.
[0011] Entre otras cosas, se utilizan redes neuronales para implementar tales unidades de aprendizaje artificial en la práctica. En principio, estas redes simulan el funcionamiento de las neuronas biológicas en un nivel abstracto. A este respecto, hay varias neuronas o nodos artificiales que están conectados entre sí y pueden recibir, procesar y transmitir señales a otros nodos. A continuación, se definen funciones, ponderaciones y umbrales, por ejemplo, para cada nodo, que determinan si una señal se transmite a un nodo y con qué intensidad.
[0012] Los nodos generalmente se consideran en planos o capas, de modo que cada red neuronal tiene al menos una capa de salida. Previamente pueden estar presentes capas adicionales denominadas capas ocultas, de modo que se forme una red de múltiples capas. Los valores de entrada, también conocidos como características, también se pueden considerar como una capa. Las conexiones entre los nodos de las distintas capas se denominan aristas, que normalmente tienen asignada una dirección de procesamiento fija. Según la topología de la red, se puede definir qué nodo de una capa está vinculado a qué nodo de la siguiente capa. A este respecto, todos los nodos pueden estar conectados, pero una señal puede no procesarse adicionalmente más allá de un nodo específico, por ejemplo, debido a una ponderación aprendida con el valor 0.
[0014] El procesamiento de señales en la red neuronal se puede describir mediante diversas funciones. Este principio se describe a continuación en una sola neurona o nodo de una red neuronal. Una entrada de red ("input") se forma a partir de los diferentes valores de entrada que llegan a un nodo mediante una función de propagación (también, función de entrada). Esta función de propagación a menudo comprende una suma ponderada simple, en donde una ponderación asociada se especifica para cada valor de entrada. Sin embargo, en principio, también son posibles otras funciones de propagación. A este respecto, las ponderaciones se pueden predefinir como una matriz de pesos para la red.
[0016] Una función de activación, que puede depender de un valor umbral, se aplica a la entrada de red de un nodo formada de esta manera. Esta función representa la relación entre la entrada de red y el nivel de actividad de una neurona. Se conocen diversas funciones de activación, por ejemplo, funciones de umbral binarias simples, cuya salida está, por lo tanto, por debajo del valor umbral cero y por encima del valor umbral de la identidad; funciones sigmoideas; o incluso funciones lineales por tramos con una pendiente predeterminada. Estas funciones se definen al diseñar una red neuronal. El resultado de la función de activación constituye el estado de activación. Opcionalmente, también se puede especificar una función de salida o función "output" adicional, que se aplica a la salida de la función de activación y determina el valor de salida final del nodo. Sin embargo, a menudo, el resultado de la función de activación simplemente se transmite directamente como valor de salida, es decir, se usa la identidad como función de salida. Dependiendo de la nomenclatura utilizada, la función de activación y la función de salida también se pueden combinar como una función de transferencia.
[0018] Los valores de salida de cada nodo se pasan entonces a la siguiente capa de la red neuronal como valores de entrada para los nodos respectivos de la capa, donde se repiten las etapas correspondientes de procesamiento con las funciones y pesos respectivos del nodo. Según la topología de la red, también puede haber aristas que retrocedan hacia capas previas o que vuelvan a la capa de salida, de modo que exista una red recurrente.
[0019] Por el contrario, la red puede cambiar las ponderaciones con las que se ponderan los valores de entrada en cada caso y así adaptar los valores de salida y la funcionalidad de toda la red, lo que se considera el «aprendizaje» de una red neuronal.
[0021] Para ello, se suele utilizar la realimentación de errores (retropropagación) en la red, es decir, una comparación de los valores de salida con los valores esperados y un uso de la comparación para ajustar los valores de
entrada con el objetivo de minimizar los errores. A través de la realimentación de errores, diversos parámetros de la red se pueden ajustar en consecuencia, por ejemplo, el tamaño de paso (tasa de aprendizaje) o los pesos de los valores de entrada en el nodo. Los valores de entrada también se pueden reevaluar.
[0023] A continuación, las redes se pueden entrenar en un modo de entrenamiento. Las estrategias de aprendizaje utilizadas también son decisivas para los posibles usos de una red neuronal. En particular, se diferencian a este respecto las siguientes variantes:
[0025] En el aprendizaje supervisado (en inglés: "supervised learning"), se especifica un patrón de entrada o un conjunto de datos de entrenamiento y la salida de la red se compara con el valor esperado.
[0027] El aprendizaje no supervisado (en inglés: "unsupervised learning") deja que el sistema encuentre relaciones o reglas, de modo que solo se especifican los patrones que se van a aprender. Una variante intermedia es el aprendizaje parcialmente supervisado, en el que también se pueden utilizar conjuntos de datos sin clasificaciones predefinidas.
[0029] El aprendizaje reforzado (en inglés: "reinforced learning") o aprendizaje Q crea un agente que puede recibir recompensas y castigos por sus acciones y, mediante ello, trata de maximizar las recompensas recibidas y así adaptar su comportamiento.
[0031] Una aplicación esencial de las redes neuronales comprende la clasificación de los datos de entrada o entradas en categorías o clases específicas, es decir, el reconocimiento de relaciones y asociaciones. A este respecto, las clases se pueden entrenar sobre la base de datos conocidos y, al menos parcialmente, predefinidos, o se pueden desarrollar o aprender de forma independiente por una red.
[0033] El funcionamiento básico y otros detalles específicos de tales redes neuronales se conocen en el campo, por ejemplo, por R. Schwaiger, J. Steinwender, "Programming Neural Networks with Python", Rheinwerk Computing, Bonn 2019. El documento US 9015093 B1 se refiere a un método para el control inteligente por medio de redes neuronales en capas jerárquicas.
[0035] Un sistema de IA de aplicación universal, es decir, que no esté entrenado para una sola tarea especial, daría como resultado espacios de alta dimensión y, por lo tanto, requeriría un aumento exponencial de los conjuntos de datos de entrenamiento y prueba. Esto hace que sea imposible reaccionar rápidamente en tiempo real. Por lo tanto, generalmente se intenta reducir la dimensionalidad y la complejidad de dichos sistemas. Se están buscando a este respecto diferentes enfoques de solución. Por ejemplo, la complejidad se puede reducir vinculando conjuntos de datos, reduciendo los grados de libertad y/o introduciendo conocimientos conocidos en un sistema. Como otro enfoque, los datos correlacionados o los conjuntos de datos interdependientes se pueden separar al menos parcialmente, por ejemplo, utilizando métodos como el análisis de componentes principales (Principal Component Analysis). Al aplicar métodos de filtrado a las características, se pueden eliminar datos que no se notan o son negativos al entrenar una red, por ejemplo, mediante la aplicación de pruebas estadísticas como la prueba de chi-cuadrado u otras. Por último, los datos de entrenamiento en sí mismos también se pueden seleccionar como un problema de optimización en una red de IA. Los datos de entrenamiento se combinan de tal manera que puedan entrenar una nueva red de la manera más rápida y eficaz posible.
[0037] Otros enfoques incluyen las denominadas redes neuronales convolucionales, que aplican convoluciones en al menos una capa de una red de múltiples capas y totalmente conectada en lugar de simples transformaciones matriciales. Por ejemplo, el denominado método "Deep Dream" (sueño profundo) es conocido por esto, particularmente en el área del reconocimiento de imágenes, en el que los pesos se dejan óptimos en una red entrenada, pero en cambio los valores de entrada (por ejemplo, una imagen de entrada) se modifican como un bucle de retroalimentación en función del valor de salida. Por ejemplo, se muestra así lo que el sistema cree haber identificado. El nombre hace referencia al hecho de que se crean imágenes oníricas. De esta forma, se pueden rastrear los procesos internos de la red neuronal y su dirección.
[0039] Se puede ver así que estos métodos aún difieren mucho de la inteligencia humana. Si bien las bases de datos, los archivos de texto, las imágenes y los archivos de audio generalmente se pueden comparar con la forma en que los hechos, el habla, la lógica del habla, los sonidos, las imágenes y los procesos de eventos también se almacenan y procesan en el cerebro; sin embargo, la inteligencia humana difiere significativamente, por ejemplo, en que combina todos estos datos en relación con los sentimientos y las categorizaciones "débiles" del inconsciente.
[0041] Divulgación de la invención
[0043] Según la invención, se propone un método, que se lleva a cabo en un control de una máquina, para procesar valores de entrada en un sistema global, que presenta un plano de trabajo y un plano de evaluación, que son sistemas de aprendizaje artificial, así como un sistema correspondiente con las características de las
reivindicaciones de patente independientes. Configuraciones ventajosas son objeto de las reivindicaciones dependientes, así como de la descripción que sigue.
[0045] El método llevado a cabo en un control de una máquina (o método en un control de una máquina) para procesar valores de entrada que comprenden datos de sensor (o valores adquiridos o valores medidos) adquiridos por uno o más sensores en un sistema global que presenta un plano de trabajo y un plano de evaluación, que son sistemas de aprendizaje artificial, comprende
[0047] a) introducir primeros valores de entrada en el plano de trabajo y determinar, el plano de trabajo, primeros valores de salida a partir de los primeros valores de entrada, conforme a una primera clasificación;
[0048] b) formar primeros datos de situación basándose en los primeros valores de salida;
[0050] c) introducir los primeros datos de situación en el plano de evaluación y determinar, el plano de evaluación, primeras evaluaciones que indican si los primeros datos de situación cumplen primeras condiciones predefinidas y en qué medida;
[0052] d) influir en la determinación de los primeros valores de salida en el plano de trabajo basándose en las primeras evaluaciones;
[0054] en donde las etapas a) - d) se llevan a cabo repetidamente;
[0056] e) introducir segundos valores de entrada en el plano de trabajo y determinar, el plano de trabajo, segundos valores de salida a partir de los segundos valores de entrada, conforme a una segunda clasificación, en donde la determinación de los segundos valores de salida está influenciada por los primeros valores de salida;
[0058] f) formar segundos datos de situación basándose en los segundos valores de salida;
[0060] g) introducir los segundos datos de situación en el plano de evaluación y determinar, el plano de evaluación, segundas evaluaciones que indican si los segundos datos de situación cumplen segundas condiciones predefinidas y en qué medida, en donde la determinación de las segundas evaluaciones está influenciada por las primeras evaluaciones;
[0062] h) influir en la determinación de los segundos valores de salida en el plano de trabajo basándose en las segundas evaluaciones;
[0064] en donde las etapas e) - h) se llevan a cabo repetidamente;
[0066] en donde los primeros y/o segundos valores de salida se usan como valores de salida globales del sistema global, en donde los valores de salida globales se usan como parámetros de control y/o parámetros de estado de la máquina.
[0068] En particular, los "sistemas de aprendizaje artificial" en el sentido de esta solicitud pueden incluir dos (o más) unidades de aprendizaje artificial que están acopladas entre sí, cf. la descripción de las figuras 1 a 6. Una "unidad de aprendizaje artificial" puede considerarse una unidad que implementa un algoritmo basado en aprendizaje automático, por ejemplo, una red neuronal artificial. Un algoritmo basado en el aprendizaje automático se puede entrenar utilizando datos de entrenamiento para formar un modelo que, basándose en valores de entrada, permita hacer predicciones o tomar decisiones que se generan en forma de valores de salida. Cada una de las unidades de aprendizaje artificial del plano de trabajo y del plano de evaluación puede entrenarse en consecuencia para obtener los primeros/segundos valores de salida a partir de los primeros/segundos valores de entrada o las primeras/segundas evaluaciones a partir de los primeros/segundos datos de situación. El acoplamiento de las unidades de aprendizaje artificial dentro de un sistema de aprendizaje artificial está diseñado en particular de tal manera que la primera unidad o sus valores de salida influyen en la segunda unidad o en su procesamiento de los valores de entrada, pero la segunda unidad no influye en la primera unidad.
[0070] Los sistemas o unidades de aprendizaje artificial pueden implementarse como programas informáticos que se ejecutan en unidades informáticas (por ejemplo, procesadores, ordenadores, sistemas de servidores o incluso tarjetas aceleradoras). Los sistemas o unidades de aprendizaje artificial también pueden implementarse, al menos parcialmente, como hardware, por ejemplo, como una FPGA (en inglés: Field Programmable Gate Array). En particular, también es posible implementar los sistemas de aprendizaje artificial mediante unidades de aprendizaje artificial interconectadas, que también pueden ejecutarse en diferentes unidades informáticas.
[0071] La máquina puede ser, por ejemplo, una máquina industrial, una instalación industrial (sistema de máquinas que interactúan), una máquina de trabajo móvil y/o un vehículo, en particular un vehículo autónomo o
semiautónomo. El control puede comprender una o más unidades de control o unidades informáticas (por ejemplo, en uno o más dispositivos de control de la máquina). En particular, puede estar previsto que el plano de trabajo y el plano de evaluación se implementen en unidades informáticas diferentes y separadas entre sí (por ejemplo, diferentes dispositivos de control). Cada unidad de control o unidades informáticas puede incluir uno o más procesadores, memorias volátiles, memorias no volátiles, interfaces de comunicación (para la comunicación de datos con sensores, con componentes de máquina, con otras unidades de control o con dispositivos externos) y/o similares. También pueden estar previstos elementos aceleradores de hardware (aceleradores de IA, para acelerar las etapas de cálculo de los sistemas de aprendizaje artificial o de las unidades de aprendizaje artificial) en las unidades de control. En particular, los programas con los que se implementa el método y/o los datos generados durante la implementación del método pueden estar almacenados o almacenarse en la memoria no volátil.
[0073] Por un lado, pueden estar previstos sensores (preferiblemente montados en la máquina) que determinen o midan propiedades o magnitudes de la máquina o de los componentes de la máquina, por ejemplo, sensores de presión (por ejemplo, para determinar la presión de un fluido hidráulico), sensores de corriente y/o de tensión (por ejemplo, en actuadores operados eléctricamente o motores/generadores eléctricos), sensores de temperatura, sensores de velocidad, sensores de número de revoluciones, sensores de luz, sensores de posición, sensores que determinan la posición de actuadores, o similares. Por otro lado, también pueden estar previstos sensores (preferiblemente en la máquina) que determinen o midan propiedades o magnitudes relacionadas con el entorno de la máquina, por ejemplo, cámaras, sensores de radar, LIDAR o infrarrojos, micrófonos, o similares. Además de los datos de sensor, los valores de entrada también pueden comprender otros datos o valores, por ejemplo, entradas de usuario, datos transmitidos desde otros dispositivos, solicitudes o especificaciones, valores previos de los parámetros de control o parámetros de estado, o similares.
[0075] El término "parámetro de control" pretende designar parámetros o magnitudes con los que se controla la máquina, por ejemplo, parámetros/magnitudes en función de los cuales se controlan componentes de la máquina. El término "parámetro de estado" se refiere a parámetros que indican un estado de la máquina, por ejemplo, cuál de una pluralidad de estados de funcionamiento posibles está presente, si está presente un estado peligroso, o si la máquina funciona correctamente o si está presente un estado de fallo.
[0077] La influencia en la determinación de los primeros o segundos valores de salida (etapa d) o h)) por parte de las primeras o segundas evaluaciones se refiere a la en cada caso siguiente repetición de la determinación de los primeros o segundos valores de salida a partir de los primeros o segundos valores de entrada, es decir, a la siguiente repetición de las etapas a)-d) o e)-h). En particular, durante la primera repetición, todavía no se produce influencia alguna en la determinación de los primeros o segundos valores de salida. Esto se puede implementar, por ejemplo, inicializando mediante primeras o segundas evaluaciones neutras.
[0079] Los valores de entrada pueden permanecer constantes o pueden ser variables durante las repeticiones de las etapas a)-d) o e)-h), aunque también es posible el uso simultáneo de ambas cosas. Por ejemplo, los datos de sensor (valores medidos), que se determinan a una tasa relativamente alta, pueden variar al menos ligeramente durante las repeticiones, por ejemplo, de un sensor de corriente, de tensión, de temperatura o de velocidad. Si se producen variaciones importantes, por ejemplo, superiores a unos umbrales predefinidos, se puede suponer que existe una nueva situación (si existe una nueva situación, los primeros valores de salida se pueden usar en primer lugar como valores de salida globales y, a continuación, por ejemplo, después de un cierto período de tiempo o cuando se cumpla otra condición, los segundos valores de salida se pueden usar como valores de salida globales). Otros datos de sensor pueden, a su vez, permanecer constantes, por ejemplo, de una cámara, en donde se evalúan imágenes capturadas que se adquieren a una tasa relativamente baja (aproximadamente 30, 60 o <100 Hz). En este caso, se puede seleccionar un (primer/segundo) lapso de tiempo máximo disponible para las repeticiones conforme a esta tasa baja. Si, por ejemplo, se adquieren imágenes a una frecuencia de 30 Hz, que corresponde a un intervalo de tiempo entre dos imágenes consecutivas de aproximadamente 33 ms, el lapso de tiempo se puede seleccionar inferior a 33 ms, por ejemplo de 30 ms, de modo que se evalúe una imagen recién adquirida en cada lapso de tiempo. Si los datos adquiridos con una frecuencia superior se utilizan como valores de entrada al mismo tiempo, estos pueden variar durante este lapso de tiempo (por ejemplo, 30 ms). Se supone en este caso que esta variación es relativamente baja, por lo que no existe una situación fundamentalmente nueva.
[0081] En particular, los valores de entrada también pueden depender del tiempo; por ejemplo, los valores de entrada podrían ser series temporales de señales muestreadas. Por lo tanto, es posible que los valores de entrada que se introducen en la segunda unidad de trabajo difieran de los valores de entrada (previamente) introducidos en la primera unidad de trabajo (en su estado actual) debido a tal dependencia temporal, o que en el transcurso posterior del método, cuando los valores de entrada son utilizados repetidamente por una unidad de trabajo, esta unidad de trabajo procese diferentes valores de entrada actuales. Sin embargo, por motivos de simplicidad, se hace referencia siempre a "valores de entrada" sin mencionar explícitamente ninguna dependencia temporal.
[0082] Las primeras y/o segundas condiciones pueden ser de naturaleza puramente técnica. Si, por ejemplo, el método se usa en un control de máquina y los valores de salida globales representan parámetros de control,
por ejemplo, para un motor, una condición podría ser que los parámetros de control deben estar dentro de rangos técnicamente predeterminados, por ejemplo, por debajo de un número de revoluciones máximo del motor controlado.
[0084] En particular, las condiciones también pueden ser de naturaleza no técnica, al menos en parte. Esto puede referirse a aspectos éticos y morales o económicos.
[0086] Los aspectos éticos y morales son relevantes, por ejemplo, para un vehículo autónomo en el que se utiliza un sistema de aprendizaje artificial como sistema de control. Si este sistema de control determina, por ejemplo, basándose en capturas de cámara o imágenes LIDAR capturadas por el vehículo autónomo y evaluadas por el sistema de control, que ya no se puede evitar una colisión con otro vehículo ni siquiera con un frenado de emergencia sin corregir la dirección, determinará varias posibles correcciones de dirección con las que se pueda evitar la colisión. Una posible corrección de la dirección podría, por ejemplo, poner en peligro a un peatón, mientras que otra posible corrección de la dirección podría provocar una colisión con una pared. Una de las primeras condiciones podría ser que la vida de las personas no corra peligro directo; como resultado de esta condición, el movimiento de dirección que pone en peligro al peatón puede descartarse o suprimirse frente a las demás soluciones. Tal evaluación elemental puede resultar de la interacción de los primeros valores de salida con las primeras evaluaciones. Los aspectos éticos y morales también pueden influir en las dos opciones restantes de este ejemplo (no corregir la dirección y chocar con el otro vehículo, corregir la dirección y chocar contra la pared), ya que, por ejemplo, se debe evitar poner en peligro a otros vehículos y a sus ocupantes. En este ejemplo, esta sería una posible segunda condición, que existe, por ejemplo, para el análisis más preciso en el que se basan los segundos valores de salida. En este ejemplo, la primera condición representa una consideración absoluta, mientras que la segunda condición representa una consideración relativa.
[0088] Estas consideraciones éticas y morales o económicas pueden codificarse de manera apropiada como condiciones, por ejemplo, como contratos que aplican ciertas consideraciones en forma de programas que se ejecutan automáticamente. En este sentido, las condiciones representan, en cierto sentido, contratos morales.
[0089] Las condiciones son "códigos normativos", es decir, reglas a las que debe aspirarse, pero que no siempre son alcanzables.
[0091] Por lo tanto, las condiciones no son condiciones absolutas que deban cumplirse en todos los casos. En consecuencia, la salida global está determinada por el plano de trabajo, en donde, mediante la influencia en el plano de evaluación por parte del plano de trabajo para los valores de entrada respectivos, la salida global se determina de tal manera que las condiciones se cumplan de la mejor manera posible.
[0093] Por lo tanto, la invención permite tener en cuenta aspectos que no son directamente de naturaleza técnica en los sistemas técnicos que se controlan o supervisan por medio de un método según la invención para procesar valores de entrada.
[0095] Un ejemplo de aspectos económicos es el uso del sistema en un control de máquina en una instalación de producción; por un lado, se deben producir tantos productos como sea posible lo más rápido posible (es decir, se deben generar altos ingresos), pero por otro lado esto conduce a un mayor desgaste. En principio, se trata, por lo tanto, de una mezcla de consideraciones económicas y técnicas.
[0097] Las etapas a) - d) se ejecutan repetidamente, preferiblemente hasta que haya transcurrido un primer lapso de tiempo predeterminado y/o los primeros valores de salida ya no varíen entre repeticiones sucesivas dentro de unas primeras tolerancias predeterminadas y/o las primeras evaluaciones indiquen que las primeras condiciones se han cumplido al menos en cierta medida, en donde, preferiblemente, los primeros valores de salida se usan como valores de salida globales una vez concluida esta ejecución repetida.
[0099] Las etapas e) - h) se ejecutan repetidamente, preferiblemente hasta que haya transcurrido un primer lapso de tiempo predeterminado y/o los segundos valores de salida ya no varíen entre repeticiones sucesivas dentro de unas segundas tolerancias predeterminadas y/o las segundas evaluaciones indiquen que las segundas condiciones se han cumplido al menos en cierta medida; en donde, preferiblemente, los segundos valores de salida se usan como valores de salida globales una vez concluida esta ejecución repetida.
[0101] El método comprende, preferiblemente, almacenar, en una memoria de secuencias global, secuencias globales de conjuntos globales, que comprenden valores de entrada y/o primeros valores de salida y/o primeros datos de situación y/o primeras evaluaciones y/o segundos valores de salida y/o segundos datos de situación y/o segundas evaluaciones mutuamente correspondientes en cada caso; en donde, preferiblemente, los conjuntos globales y/o los valores o datos comprendidos en los conjuntos globales se dotan de información de tiempo respectiva y/o de una numeración.
[0103] El método comprende, preferiblemente, complementar las primeras y/o segundas condiciones de modo que, para primeros o segundos datos de situación para los que no se cumplan las primeras o segundas condiciones
antes de la complementación, las primeras o segundas condiciones complementadas se cumplan o se cumplan al menos en cierta medida; en donde, preferiblemente, solo se modifican las segundas condiciones y las primeras condiciones permanecen sin cambios.
[0105] Preferiblemente, si la repetición de las etapas e) - h) se interrumpe, porque ha transcurrido el segundo lapso de tiempo o, más preferiblemente, porque los segundos valores de salida ya no varían dentro de las segundas tolerancias, se complementan las segundas condiciones de modo que los datos de situación existentes en el momento de la interrupción cumplan las segundas condiciones complementadas. Preferiblemente, la complementación de las primeras y/o segundas condiciones se realiza basándose en las secuencias globales almacenadas para las que no se pudieron cumplir las primeras o segundas condiciones (o no se pudieron cumplir en cierta medida).
[0107] El sistema global comprende preferiblemente un plano de proyección, en donde la formación de los primeros y/o segundos datos de situación es realizada por el plano de proyección.
[0109] Preferiblemente, se cumple que la segunda clasificación clasifica al menos una clase de la primera clasificación en varias subclases y/o que, para al menos una de las primeras condiciones, esta primera condición quede implícita por varias de las segundas condiciones.
[0111] Preferiblemente, las primeras condiciones vienen dadas en forma de reglas y las segundas condiciones vienen dadas en forma de clasificaciones de reglas; en donde a cada regla se le asocia una clasificación de reglas, que representa una subdivisión, en particular en varios niveles, de la regla respectiva; en donde, preferiblemente, están previstas memorias en las que se almacenan las reglas y las clasificaciones de reglas; en donde, más preferiblemente, las clasificaciones de reglas se subdividen en niveles que están vinculados mediante una cadena de bloques, en donde las reglas y/o las clasificaciones de reglas están implementadas en cada caso en forma de un contrato inteligente y/o en donde, dado el caso, al complementar las segundas condiciones, se añade un nivel adicional de subdivisión.
[0113] El plano de trabajo está diseñado, preferiblemente, de tal manera que la determinación de los primeros valores de salida en la etapa a) requiere un período de tiempo más corto y la determinación de los segundos valores de salida en la etapa e) requiere un período de tiempo más largo; y/o en donde el plano de evaluación está diseñado de tal manera que la determinación de las primeras evaluaciones en la etapa c) requiere un período de tiempo más corto y la determinación de las segundas evaluaciones en la etapa g) requiere un período de tiempo más largo; en donde, en ambos casos, en cada caso preferiblemente el período de tiempo más largo es, al menos por un factor de 2, en particular al menos por un factor de 5, más largo que el período de tiempo más corto.
[0115] Preferiblemente, los primeros y segundos valores de entrada se proporcionan preferiblemente como señales de entrada continuas en el tiempo o como series temporales discretas en el tiempo, en donde, más preferiblemente, los primeros y segundos valores de entrada son total o parcialmente idénticos.
[0117] El plano de trabajo comprende, preferiblemente, una primera y una segunda unidad de trabajo de aprendizaje artificial; en donde la primera unidad de trabajo de aprendizaje artificial está configurada para recibir los primeros valores de entrada y para determinar los primeros valores de salida; en donde la segunda unidad de trabajo de aprendizaje artificial está configurada para recibir los segundos valores de entrada y determinar los segundos valores de salida; y en donde en el plano de trabajo se forman una o más primeras funciones de modulación sobre la base de los primeros valores de salida y/o valores derivados de los mismos, en donde las una o más primeras funciones de modulación formadas se aplican a uno o más parámetros de la segunda unidad de trabajo de aprendizaje artificial, en donde los uno o más parámetros influyen en el procesamiento de valores de entrada y en la obtención de valores de salida en la segunda unidad de trabajo de aprendizaje artificial.
[0119] En el caso más simple, los datos de situación pueden ser, por ejemplo, los propios valores de salida respectivos. Los primeros y segundos datos de situación se pueden formar en función de la dominancia existente dentro del plano de trabajo formado a partir de la primera y la segunda unidad de trabajo. En otras palabras, si domina la primera unidad de trabajo, los primeros datos de situación se forman sobre la base de al menos los primeros valores de salida de la primera unidad de trabajo (por ejemplo, los valores de salida de la primera unidad de trabajo y/o los valores derivados de los mismos se usan como datos de situación); si, por otro lado, domina la segunda unidad de trabajo, los segundos datos de situación se forman sobre la base de al menos la segunda unidad de trabajo (por ejemplo, los valores de salida de la segunda unidad de trabajo y/o los valores derivados de los mismos se usan como datos de situación).
[0121] Preferiblemente, se cumple que las primeras evaluaciones y/o los valores derivados de las mismas se usen como valores de entrada de evaluación de la primera unidad de trabajo de aprendizaje artificial; y/o que una o más segundas funciones de modulación se formen sobre la base de las primeras evaluaciones y/o los valores derivados de las mismas, en donde las una o más segundas funciones de modulación formadas se aplican a
uno o más parámetros de la primera unidad de trabajo de aprendizaje artificial, en donde los uno o más parámetros influyen en el procesamiento de valores de entrada y en la obtención de valores de salida en la primera unidad de trabajo de aprendizaje artificial; y/o que las segundas evaluaciones y/o los valores derivados de las mismas se usen como valores de entrada de evaluación de la segunda unidad de trabajo de aprendizaje artificial.
[0123] Los valores de entrada de evaluación representan una parte de los valores de entrada y son valores de entrada adicionales a los valores de entrada que se van a analizar, de modo que los primeros valores de salida puedan modificarse en consecuencia. Antes de ejecutar la etapa a) por primera vez y cuando los valores de entrada varíen significativamente, lo que indica que hay una nueva situación, se pueden inicializar las primeras evaluaciones para que indiquen que se han cumplido todas las primeras condiciones.
[0125] El plano de evaluación comprende, preferiblemente, una primera y una segunda unidad de evaluación de aprendizaje artificial; en donde la primera unidad de evaluación de aprendizaje artificial está configurada para recibir los primeros datos de situación y para determinar las primeras evaluaciones; en donde la segunda unidad de evaluación de aprendizaje artificial está configurada para recibir los segundos datos de situación y determinar las segundas evaluaciones; y en donde en el plano de evaluación se forman una o más terceras funciones de modulación sobre la base de las primeras evaluaciones y/o valores derivados de las mismas, en donde las una o más segundas funciones de modulación formadas se aplican a uno o más parámetros de la segunda unidad de evaluación de aprendizaje artificial, en donde los uno o más parámetros influyen en el procesamiento de valores de entrada y en la obtención de valores de salida en la segunda unidad de evaluación de aprendizaje artificial.
[0127] El método comprende, preferiblemente, almacenar, en una primera memoria de secuencias, una primera secuencia de evaluaciones de primeros conjuntos de evaluaciones que comprenden valores de entrada de la primera unidad de evaluación y primeras evaluaciones asociadas, en donde los primeros conjuntos de evaluaciones se dotan en particular de información de tiempo respectiva y/o de una numeración; y/o almacenar, en una segunda memoria de secuencias, una segunda secuencia de evaluaciones de segundos conjuntos de evaluaciones que comprenden valores de entrada de las segunda unidad de evaluación y segundas evaluaciones asociadas, en donde los conjuntos de evaluaciones se dotan en particular de información de tiempo respectiva y/o de una numeración; en donde, más preferiblemente, la determinación de las primeras y/o segundas evaluaciones se realiza teniendo en cuenta las primeras o segundas secuencias de evaluaciones almacenadas.
[0129] Almacenar las primeras/segundas secuencias de evaluaciones permite comprender las "decisiones" de las unidades de evaluación y, dado el caso, llevar a cabo un entrenamiento adicional utilizando las secuencias de evaluaciones, por ejemplo, si no funcionan según lo deseado.
[0131] El almacenamiento se lleva a cabo preferiblemente de forma criptográficamente segura; en donde, preferiblemente, se usa en cada caso una cadena de bloques, en donde los bloques de la cadena de bloques respectiva contienen al menos uno de los primeros conjuntos de evaluaciones, los segundos conjuntos de evaluaciones o los conjuntos globales.
[0133] Preferiblemente, el método comprende: recibir valores de salida de otro sistema; formar primeros y/o segundos datos de situación a partir de los valores de salida recibidos; determinar, el plano de evaluación, primeras y/o segundas evaluaciones basándose en los primeros o segundos datos de situación formados a partir de los valores de salida recibidos; establecer que el otro sistema es compatible cuando las primeras y/o segundas evaluaciones determinadas indican que se cumplen las primeras o segundas condiciones.
[0135] Los sistemas cuyas unidades de evaluación generalmente comprueban diversas condiciones se describen aquí como "compatibles" si los sistemas no se contradicen entre sí en sus evaluaciones, es decir, que los valores de entrada (datos de situación) de las unidades de evaluación que uno de los sistemas clasifica como conformes con sus condiciones no sean clasificados por el otro sistema como inadmisibles en el sentido de sus (otras) condiciones, teniendo en cuenta, dado el caso, tolerancias, en particular en el caso de evaluaciones graduales.
[0137] Un sistema según la invención comprende un plano de trabajo y un plano de evaluación y está configurado para llevar a cabo un método según la invención; en donde el plano de trabajo está configurado para recibir los valores de entrada y en donde, preferiblemente, el plano de evaluación no es capaz de recibir los valores de entrada.
[0139] El plano de trabajo y el plano de evaluación están implementados, preferiblemente, en cada caso al menos en una unidad informática (como hardware y/o programa informático), en donde, más preferiblemente, la al menos una unidad informática en la que está implementado el plano de trabajo está implementada de manera diferente, en particular por separado, de la al menos una unidad informática en la que está implementado el plano de evaluación. Si la al menos una unidad informática respectiva en la que está implementado el plano de
trabajo o el plano de evaluación comprende varias unidades informáticas, también es posible hablar de un sistema informático respectivo. Las al menos una unidades informáticas respectivas (o sistemas informáticos) están conectadas entre sí a través de correspondientes interfaces (por cable y/o inalámbricas) para el intercambio de datos. El plano de trabajo y el plano de evaluación pueden estar implementados, por ejemplo, en varios dispositivos de control (unidades informáticas o sistema informático). También son posibles varios dispositivos de radiotelefonía móvil. También es posible implementar el plano de trabajo mediante un dispositivo de control (unidad informática/sistema informático) instalado permanentemente en la máquina y el plano de evaluación en una unidad informática móvil (por ejemplo, dispositivo de radiotelefonía móvil).
[0141] El sistema comprende, preferiblemente, un plano de proyección y/o una memoria de secuencias global.
[0142] En el sistema, preferiblemente, el plano de trabajo comprende una primera y una segunda unidad de trabajo de aprendizaje artificial y el plano de evaluación comprende una primera y una segunda unidad de evaluación de aprendizaje artificial; en donde las unidades de trabajo y/o unidades de evaluación de aprendizaje artificial comprenden preferiblemente en cada caso una red neuronal con una pluralidad de nodos, en donde, más preferiblemente, los uno o más parámetros son en cada caso al menos uno de los siguientes: una ponderación para un nodo de la red neuronal, una función de activación de un nodo, una función de salida de un nodo, una función de propagación de un nodo.
[0144] Preferiblemente, a cada una de la primera unidad de trabajo, la segunda unidad de trabajo, la primera unidad de evaluación y la segunda unidad de evaluación se asocia una memoria de clasificaciones, en donde la primera unidad de trabajo, la primera unidad de evaluación y la segunda unidad de evaluación están configuradas para, al generar los valores de salida o las evaluaciones, clasificar los valores de entrada o los datos de situación en una o más clases almacenadas en la memoria de clasificaciones respectiva, en donde las clases en cada caso se estructuran en uno o más niveles dependientes; y en donde, preferiblemente, un número de clases y/o niveles en una memoria de clasificaciones de la primera unidad de trabajo y/o de la primera unidad de evaluación es preferiblemente inferior a un número de clases y/o niveles en una memoria de clasificaciones de la segunda unidad de trabajo, en donde, más preferiblemente, un número de clases y/o niveles en una memoria de clasificaciones de la segunda unidad de evaluación es mayor que el número de clases y/o niveles en la memoria de clasificaciones de la primera unidad de evaluación.
[0146] En el sistema, preferiblemente, la primera y la segunda unidad de trabajo de aprendizaje artificial están implementadas como hardware y/o programa informático y/o se ejecutan en una primera o segunda unidad informática, en donde la primera y la segunda unidad informática están conectadas entre sí entre sí mediante una primera interfaz; en donde, dado el caso, la primera interfaz está configurada para formar una o más primeras funciones de modulación. Independientemente de ello, en el sistema, preferiblemente, la primera y la segunda unidad de evaluación de aprendizaje artificial están implementadas como hardware y/o programa informático y/o se ejecutan en una tercera o cuarta unidad informática, en donde la tercera y la cuarta unidad informática están conectadas entre sí entre sí mediante una tercera interfaz; en donde, dado el caso, la tercera interfaz está configurada para formar una o más terceras funciones de modulación. Preferiblemente, la tercera unidad informática y la primera unidad informática están conectadas entre sí mediante una segunda interfaz; en donde, dado el caso, la segunda interfaz está configurada para formar una o más segundas funciones de modulación. La primera, segunda, tercera y/o cuarta unidad informática pueden ser total o parcialmente diferentes entre sí (separadas entre sí). La al menos una unidad informática mencionada anteriormente, en la que está implementado el plano de trabajo, comprende en particular la primera y la segunda unidad informática, es decir, la primera y la segunda unidad informática pueden considerarse como un sistema informático en el que está implementado el plano de trabajo. La al menos una unidad informática mencionada anteriormente, en la que está implementado el plano de evaluación, también comprende en particular la tercera y la cuarta unidad informática, es decir, la tercera y la cuarta unidad informática pueden considerarse un sistema informático en el que está implementado el plano de evaluación. En este sentido, también es concebible que la primera sea una unidad informática (separada) diferente de la segunda unidad informática y/o que la tercera sea una unidad informática (separada) diferente de la cuarta unidad informática.
[0148] Preferiblemente, a al menos a una, preferiblemente a todas las unidades informáticas, está asociada una memoria que está conectada a la unidad informática respectiva o está comprendida en la misma; en donde, más preferiblemente, la memoria asociada a la primera unidad informática está configurada para almacenar la primera clasificación, y/o la memoria asociada a la segunda unidad informática está configurada para almacenar la segunda clasificación, y/o la memoria asociada a la tercera unidad informática está configurada para almacenar las primeras condiciones, y/o la memoria de la cuarta unidad informática está configurada para almacenar las cuartas condiciones.
[0150] El sistema también puede comprender preferiblemente: al menos un módulo de salida para enviar los primeros y/o segundos valores de salida a un usuario, en donde el módulo de salida comprende al menos uno de los siguientes: una pantalla, una pantalla táctil, un altavoz, un módulo de proyección.
[0152] Otras ventajas y configuraciones de la invención se desprenden de la descripción y del dibujo adjunto.
[0153] Se entiende que las características mencionadas anteriormente y las que se explicarán aún a continuación pueden usarse no solo en la combinación especificada en cada caso, sino también en otras combinaciones o individualmente, sin salirse del marco de la presente invención.
[0154] La invención se muestra esquemáticamente en el dibujo mediante un ejemplo de realización y se describe a continuación con referencia al dibujo.
[0155] Descripción de los dibujos
[0156] La figura 1 muestra una combinación de dos unidades de aprendizaje artificial acopladas entre sí;
[0157] La figura 2 muestra esquemáticamente varias funciones de modulación a modo de ejemplo;
[0158] La figura 3 ilustra el uso de un método de abandono en dos redes neuronales acopladas;
[0159] La figura 4 muestra un sistema como el de la figura 1 con un temporizador adicional;
[0160] La figura 5 muestra esquemáticamente un sistema como el de la figura 1 con las memorias de clasificaciones asociadas;
[0161] La figura 6 muestra un sistema alternativo con tres unidades de aprendizaje artificial acopladas;
[0162] La figura 7 muestra un sistema global a modo de ejemplo según la invención con un plano de trabajo, un plano de evaluación y un plano de proyección; y
[0163] La figura 8 muestra un sistema global a modo de ejemplo según la invención con dos unidades de trabajo de aprendizaje artificial, dos unidades de evaluación de aprendizaje artificial y un plano de proyección.
[0164] Descripción detallada de formas de realización
[0165] Las figuras 1 a 6 y su descripción a continuación se refieren tanto a las unidades de trabajo de aprendizaje artificial como a las unidades de evaluación de aprendizaje artificial. Por lo tanto, en la descripción de las figuras 1 a 6, se usa el término "unidad de aprendizaje artificial", que puede referirse tanto a "unidad de trabajo de aprendizaje artificial" como a "unidad de evaluación de aprendizaje artificial". Las unidades de aprendizaje artificial, acopladas como se describe en relación con las figuras 1 a 6, se denominan "sistema de aprendizaje artificial".
[0166] La figura 1 muestra una forma de realización a modo de ejemplo con dos unidades 110, 120 de aprendizaje artificial vinculadas, que se describe con más detalle a continuación. Juntas, las unidades 110, 120 de aprendizaje artificial forman un sistema de aprendizaje artificial. En las siguientes explicaciones, las unidades de aprendizaje artificial están diseñadas como redes neuronales, que en particular se retroalimentan, por ejemplo, utilizando los valores de salida, como indican las flechas 112, 122, como entrada para la red respectiva.
[0167] A este respecto, está prevista una primera unidad de aprendizaje artificial, en este caso en forma de una primera red 110 neuronal, que puede usarse esencialmente para categorizar o clasificar las señales de entrada xí y, como resultado de esta categorización o clasificación, para influir en una segunda unidad 120 de aprendizaje artificial, en este caso una segunda red neuronal. A este respecto, los resultados de la primera red neuronal no se utilizan preferiblemente como valores de entrada para la segunda red neuronal, sino para influir en las ponderaciones, los tamaños de paso y las funciones existentes de la red. En particular, estos parámetros de la segunda red neuronal pueden verse influenciados de tal manera que no se redefinan por completo, sino que los parámetros originales de la segunda red 120 se modulen o se superpongan sobre la base de las señales de salida de la primera red 110 neuronal. Esto significa que, por lo demás, las dos redes neuronales trabajan preferiblemente de forma independiente, por ejemplo, entrenan sus valores básicos por sí mismas, pero pueden acoplarse así mediante una superposición. Las dos redes neuronales se pueden diseñar esencialmente de manera similar entre sí, pero con niveles de complejidad significativamente diferentes, como el número de capas y clasificaciones existentes. Además, cada una de las redes neuronales puede comprender su propia memoria.
[0168] En una posible forma de realización, la primera red 110 neuronal puede usarse, a este respecto, como una red de categorización que sirve para categorizar de manera aproximada y rápida los valores de entrada, mientras que, sobre esta base, el resultado de la categorización se ve influenciado en consecuencia por los parámetros de modulación de la segunda red. Para ello, puede estar prevista como primera red neuronal una red con relativamente pocos niveles, que tiene una memoria con pocas clases K<1>, K<2>,... Kn, que preferiblemente son muy abstractas, a fin de lograr una clasificación aproximada. Por ejemplo, esta primera red neuronal podría
limitarse a 10, 50, 100 o 500 clases, aunque estos números, por supuesto, solo deben entenderse como ejemplos aproximados. A este respecto, la primera red neuronal puede entrenarse, en particular, de forma individual e independiente de otras redes neuronales acopladas. Sin embargo, además o como alternativa, también se puede usar una fase de entrenamiento en un estado acoplado con una o más redes neuronales acopladas.
[0170] Por lo tanto, la primera red neuronal debería entregar una salida utilizable en un corto período de tiempo, que pueda usarse para influir de manera significativa en la segunda red neuronal. Se pueden generar pesos y las funciones a partir de los valores de salida Salida1 de la primera red 110 neuronal, que se pueden superponer a los pesos y funciones autogenerados de la segunda red 120 neuronal. Esto significa que la segunda red neuronal funciona inicialmente de forma independiente y no acepta completamente los valores de salida de la primera red o los parámetros obtenidos de la misma. La segunda red 120 neuronal también puede entrenarse inicialmente de forma independiente de la manera habitual y, por lo tanto, tener pesos autogenerados.
[0172] A este respecto, la segunda red neuronal puede diseñarse significativamente más compleja que la primera red neuronal y, en particular, puede tener más niveles y/o clases de almacenamiento. El grado en el que se incrementa la complejidad de la segunda red en comparación con la primera red se puede definir de manera diferente según la aplicación. Los valores de entrada o datos de entrada para la segunda red neuronal son, a este respecto, preferiblemente los mismos valores de entrada que para la primera red neuronal, de modo que ahora se puede llevar a cabo un análisis más complejo con los mismos datos. Sin embargo, como alternativa, los valores de salida de la primera red neuronal también se pueden usar como valores de entrada de la segunda red, al menos en parte. En particular, cuando la complejidad de la segunda red difiere significativamente, podría estar prevista una segunda red, por ejemplo, a la que se suministren como valores de entrada los valores de entrada originales, que también sirvieron como valores de entrada para la primera red, y además los valores de salida de la primera red también se usen como valores de entrada de la segunda red.
[0174] La figura 2 muestra, a modo de ejemplo, varias funciones de modulación fmod, con las que se pueden superponer uno o más parámetros de la segunda red neuronal. En principio, la superposición o modulación puede tener lugar de cualquier manera. Si se aplica una función de modulación fmod_w a las ponderaciones wi<2>de los nodos, puede estar previsto, por ejemplo, que la matriz de ponderación de la segunda red 120 se utilice como argumento de la función de modulación, o pueden estar previstas funciones unidimensionales (también diferentes) para cada uno de los valores de ponderación wi<2>. Si se aplica una función de modulación fmod_f_ a una de las funciones descriptivas de la segunda red neuronal, es decir, a una función de transferencia ftrans<2>, a una función de activación fakt<2>, a una función de propagación o una función de salida fout<2>de la red 120, esto se puede hacer vinculando ambas funciones, en cuyo caso también se puede aplicar una función de modulación fmod_f o bien a solo algunas o bien a todas las funciones descriptivas relevantes (por ejemplo, a todas las funciones de activación fakt<2>de la segunda red 120 neuronal). Los parámetros de las funciones de la segunda red neuronal también pueden modificarse mediante funciones de modulación. Se pueden aplicar modulaciones por igual a todos los nodos de una red o, alternativamente, solo a algunos de los nodos, o se pueden modular de manera diferente para cada nodo. Del mismo modo, se puede modular por separado o de otra manera escalonada, por ejemplo, para cada capa de una red.
[0176] En particular, las funciones de modulación fmod también pueden ser funciones dependientes del tiempo, de modo que las ponderaciones wi<2>o las funciones de la segunda red neuronal cambien en función del tiempo. Sin embargo, también son posibles las funciones de modulación estáticas para modular la segunda red neuronal. A este respecto, la modulación se aplica a los parámetros de la segunda red 120 que ya están definidos originalmente para esta segunda red (como las funciones de propagación o las funciones de activación), o que se obtuvieron de forma independiente durante la fase de entrenamiento, como los pesos autogenerados ajustados.
[0178] Como ejemplos de esto, en la figura 2 se muestran ocho funciones de modulación diferentes dependientes del tiempo, en donde la función de modulación se proporciona multiplicando un parámetro original por valores, como se ilustra en la figura 2. El ejemplo a) muestra una función escalonada binaria simple en la que el valor cero se especifica hasta un tiempo específico y, a continuación, un valor mayor que cero. A este respecto, el segundo valor puede ser, en principio, 1, pero también podría tener otro valor, de modo que los parámetros originales estén afectados adicionalmente por un factor. De esta manera, por ejemplo, la ponderación se activa y desactiva en función del tiempo o se amplifica en función del tiempo. El ejemplo b) muestra una situación similar en la que está especificada una función escalonada con un segundo valor inferior a cero. Alternativamente a las variantes de los ejemplos a) y b), también son posibles funciones escalonadas que comprendan dos o más valores diferentes distintos de 0, de modo que el nivel aumente o disminuya en consecuencia en función del tiempo.
[0180] El ejemplo c) muestra una función de modulación periódica que también se puede aplicar a cualquier parámetro de la segunda red y de esta manera amplificará o atenuará periódicamente ciertos elementos en función del tiempo. Por ejemplo, a este respecto, también se podrían seleccionar en cada caso diferentes amplitudes y/o períodos para dicha función para diferentes nodos y/o diferentes capas. En este punto se puede usar cualquier
función periódica, como una función sinusoidal o incluso funciones no continuas. Dependiendo de cómo estén encadenadas las funciones a las funciones autogeneradas de la segunda red, solo se pueden seleccionar valores de función positivos o también negativos.
[0182] El ejemplo d) muestra un aumento y una disminución temporales lentos y continuos del nivel. El ejemplo e), por otro lado, describe niveles altos aproximadamente rectangulares y breves con un valor de función por lo demás bajo, que opcionalmente también puede ser cero. Del mismo modo, en el ejemplo f) se pueden observar picos muy cortos y distribuidos de forma irregular, que, por lo tanto, provocan un aumento o cambio de nivel durante un período de tiempo muy corto. A este respecto, los picos tienen diferentes amplitudes y pueden adoptar valores tanto positivos como negativos (con respecto al valor base). Para las variantes de los ejemplos e) y f), puede haber distribuciones regulares, periódicas y completamente irregulares en el tiempo (por ejemplo, determinadas de forma estocástica) de los picos o amplificaciones. A este respecto, los aumentos de nivel cortos pueden situarse aproximadamente dentro del tiempo de un ciclo de decisión de la segunda red neuronal, mientras que los cambios de nivel prolongados pueden extenderse a lo largo de varios ciclos de decisión.
[0183] El ejemplo g) en la figura 2 también muestra una oscilación amortiguada, que también podría diseñarse arbitrariamente con diferentes atenuaciones y amplitudes. Finalmente, en el ejemplo h), se muestra una secuencia temporal de diferentes oscilaciones alrededor del valor base, en donde, en este caso en particular, las longitudes de los períodos de las oscilaciones difieren, mientras que la amplitud permanece igual. Esta combinación de diferentes oscilaciones también se puede diseñar como una superposición aditiva, es decir, como batimiento.
[0185] en general, cualquier función de modulación es concebible y las funciones mostradas en la figura 2 solo deben entenderse como ejemplo. En particular, es posible cualquier combinación de las funciones de ejemplo enumeradas. También se entiende que, en todos los ejemplos, la línea base mostrada puede estar en 0 o en otro valor base, dependiendo del efecto deseado de la función de modulación. Si la función de modulación está meramente encadenada a la función modulada respectiva, un valor base de 0 y los correspondientes aumentos en el valor de la función pueden garantizar que el nodo respectivo solo contribuya al procesamiento en función del tiempo y se desconecte en otros momentos. Con un valor base de 1, en cambio, se puede lograr que, por ejemplo con el ejemplo de la figura 2a), una función de modulación que se aplica a las ponderaciones refleje primero las ponderaciones autogeneradas de la red modulada como valor base y, luego, partiendo del valor más alto graduado, tenga las ponderaciones intensificadas de manera correspondiente. Tal función también tiene un efecto correspondiente en la modulación de las funciones, tal como la función de activación.
[0187] Como ya se ha descrito, se puede formar una función de modulación sobre la base de los valores de salida de una primera unidad de aprendizaje artificial, es decir, en el presente ejemplo, sobre la base de la primera red neuronal. La relación entre los valores de salida y la función de modulación resultante se puede diseñar de cualquier manera. Por ejemplo, esta relación puede generarse al menos en parte en una fase de entrenamiento conjunto de la red acoplada. En otras formas de realización, se puede especificar cómo se estructura la dependencia entre las funciones de modulación y los valores de salida de la primera red; por ejemplo, se podría proporcionar una función de modulación como una de las funciones mostradas en la figura, en donde las fluctuaciones de nivel se determinen mediante un valor de salida. Opcionalmente, también se podría decidir que, dados ciertos valores de salida, la segunda red no se modulará inicialmente.
[0189] Como alternativa o además de la aplicación de funciones de modulación a los pesos y funciones de una segunda red neuronal, también se puede aplicar un método de abandono acoplado, que se muestra en la figura 3. Habitualmente, se trata de un método de entrenamiento para una red neuronal en el que solo una parte de las neuronas existentes en las capas ocultas y la capa de entrada se utilizan en cada ciclo de entrenamiento y las restantes no se utilizan, es decir, se "abandonan" (en inglés: "drop out"). Para ello, en el estado de la técnica se suele establecer una tasa de abandono en función de los errores de la red retroalimentados, lo que determina la magnitud de la proporción de neuronas apagadas en toda la red. En lugar de neuronas, también se podrían desactivar algunas de las aristas o conexiones entre las neuronas.
[0191] En formas de realización a modo de ejemplo, tal desconexión parcial de neuronas y/o aristas ahora también se puede usar en una segunda red neuronal, y los parámetros de abandono ahora no se usan sobre la base de la retroalimentación de errores de la propia red, sino -como en el caso de la modulación dependiente del tiempoen función de los valores de salida de una primera red neuronal. En este caso, por ejemplo, sobre la base de los valores de salida Salidal de la primera red 310 neuronal, se puede definir una tasa de abandono para la segunda red neuronal, que luego se aplica a la segunda red. La figura muestra nuevamente dos redes 310, 320 acopladas, como en la figura 1, en donde las neuronas o nodos 326, 328 de la segunda red 320 se muestran ahora esquemáticamente como círculos. A este respecto, las aristas de conexión no se muestran, y la disposición de las neuronas representadas no tiene por qué guardar relación con su topología real. A través de la tasa de abandono ahora se desactivan algunas de las neuronas existentes que, por lo tanto, no se utilizan. Las neuronas 326 activas de la segunda red se muestran sombreadas en la figura, mientras que las neuronas no sombreadas representarán las neuronas 328 abandonadas inactivas.
[0192] en general, el abandono acoplado descrito en este caso también puede entenderse como una función de modulación del mod utilizando 0 o 1 como función de modulación para el peso o, por ejemplo, la función de salida de cada nodo individual. A este respecto, sobre la base de los valores de salida de la primera red, es posible determinar cuáles de las neuronas 326, 328 están desactivadas, o puede predefinirse solo la tasa y determinarse mediante funciones estocásticas qué neurona está desactivada. La tasa de abandono también se puede establecer así de nuevo sobre la base de los valores de salida Salida1 de la primera red 310. A este respecto, una función de modulación abandono también puede provocar opcionalmente una desconexión dependiente del tiempo, lo que correspondería, por ejemplo, a una encadenación de una función de abandono con una función de modulación, como se muestra en la figura 2. También es posible usar una secuencia de desconexiones en patrón que han demostrado su eficacia en un entrenamiento previo, de modo que, por ejemplo, se usen variaciones de patrón cíclicas para la desconexión en la segunda red neuronal 320.
[0193] en general, el abandono puede aumentar la velocidad de trabajo de una red neuronal. También evita que neuronas vecinas se aproximen demasiado en su comportamiento. El abandono acoplado, tal como se describió anteriormente, se puede usar tanto en una fase de entrenamiento conjunta, en la que las dos redes están acopladas, como en una red ya entrenada.
[0195] Para garantizar que las redes neuronales acopladas se complementen entre sí de manera lógica, es posible establecer cuál de las redes neuronales domina el sistema global en un momento dado. La red cuyos valores de salida determinan la salida del sistema global se puede denominar red dominante o dominancia. A continuación, se asume que solo exactamente una red domina en un grupo de dos o más redes acopladas y que, por lo tanto, la salida de la red dominante es igual a la salida del sistema global. Sin embargo, en principio también son concebibles otras formas de realización, de modo que, por ejemplo, se definan reglas que describan el procesamiento de los valores de salida de las redes dominantes para dar un valor de salida global final en el caso de más de una red dominante.
[0197] En formas de realización a modo de ejemplo, se puede implementar un temporizador o "timer" para este propósito, que establezca una especificación de tiempo para una o más de las redes neuronales acopladas. En este caso, esta especificación de tiempo ha de entenderse preferiblemente como un valor máximo o un límite de tiempo superior después del cual debe estar disponible un valor de salida de la red respectiva, de modo que una salida también pueda estar disponible antes. A más tardar, después de que haya transcurrido el tiempo especificado para una red específica, se evalúa un valor de salida de esta red. Por lo tanto, el temporizador puede controlar y/o cambiar la dominancia entre las redes acopladas sobre la base de requisitos de tiempo establecidos.
[0199] Una forma de realización a modo de ejemplo de este tipo se muestra en la figura 4. A este respecto, el diseño y el acoplamiento de las dos redes 410, 420 neuronales pueden corresponder al ejemplo ya descrito en la figura 1. El temporizador 440 ahora asegura que la salida de la primera red 410 neuronal se evalúe a más tardar después de un tiempo especificado, que se define mediante un valor de parámetro de tiempo especificado. El tiempo requerido se puede medir, por ejemplo, a partir de los valores de entrada Xi que se introducen en la red respectiva. Los parámetros de tiempo especificados para una red se pueden seleccionar en particular en función de la complejidad de una red, de modo que también se puedan esperar resultados realmente utilizables dentro del tiempo especificado. En un ejemplo como el descrito anteriormente, en el que la primera red 410 neuronal está formada preferiblemente por una red con pocas capas ocultas y un pequeño número de clasificaciones, también se puede seleccionar un tiempo correspondientemente corto para esta primera red. Al elegir los parámetros de tiempo para una red, también se pueden tener en cuenta otras consideraciones, como el hardware existente, que influye de manera decisiva en el tiempo de cálculo de las redes, y/o también el área de aplicación considerado por las redes conectadas. Además, los parámetros de tiempo especificados pueden ser variables y pueden modificarse o redefinirse, por ejemplo, en función de los resultados de al menos una de las redes neuronales acopladas. No hace falta decir que dicha especificación de tiempo debe incluir al menos el lapso de tiempo requerido como tiempo mínimo para ejecutar la red 410, 420 respectiva una vez. Como ejemplo, en la figura 4, se define un lapso de tiempo de 30 ms para la primera red, de modo que cuando se ejecuta el método, esta red domine en el período de 0 ms a 30 ms desde el inicio del método. Sin embargo, también se puede seleccionar, por supuesto, otro valor adecuado para este lapso de tiempo.
[0201] Durante el lapso de tiempo especificado por el parámetro de tiempo para la primera red 410 (en este caso, 30 ms), la primera red neuronal procesará los valores de entrada Xi de la manera habitual. Una vez transcurrido el tiempo especificado, se pueden generar funciones a partir de la salida Salida1 de la primera red 410 neuronal, que sirven para superponer o modular los propios pesos y funciones de la segunda red neuronal. Además, como alternativa o además del uso para influir en la segunda red 420, los valores de salida de la primera red neuronal también pueden procesarse de forma independiente y usarse, por ejemplo, como una salida rápida del sistema global.
[0203] Tan pronto como las funciones de modulación fmod_f, fmod_w se hayan aplicado a la segunda red 420 neuronal, el temporizador 440 puede iniciar una nueva medición de tiempo y, a continuación, usar un segundo parámetro de tiempo especificado para la segunda red 420 neuronal.
[0204] A este respecto, la segunda red 420 neurona! también puede evaluar opcionalmente de forma independiente los valores de entrada Xi incluso antes de la modulación mediante las funciones de modulación fmod_f, fmod_w obtenidas, de modo que, por ejemplo, los valores de entrada también se pueden proporcionar a la segunda red 420 neuronal antes del inicio del segundo lapso de tiempo especificado y se pueden procesar allí en consecuencia. Una vez transcurrido el primer lapso de tiempo, los valores de parámetros y las funciones de la segunda red neuronal se superponen utilizando las correspondientes funciones de modulación fmod_f, fmod_w. A este respecto, se pueden formar una o más funciones de modulación para diferentes partes de la segunda red 420 neuronal, por ejemplo, para las ponderaciones, las funciones de salida, las funciones de propagación y/o las funciones de activación de la segunda red neuronal. En el caso de una segunda red 420 neuronal, que está diseñada para ser significativamente más compleja que la primera red 410 neuronal, por ejemplo, con un número significativamente mayor de capas y nodos y/o mediante un mayor número de clases de almacenamiento, la segunda red neuronal requerirá un esfuerzo informático comparativamente mayor y, por lo tanto, también más tiempo, de modo que en este caso se puede seleccionar el segundo lapso de tiempo para que sea correspondientemente más largo.
[0206] A este respecto, cada una de las redes 410, 420 puede continuar procesando y evaluando los valores de entrada de forma continua, incluso mientras otra red se establece como red dominante en el sistema global debido a los lapsos de tiempo en curso. En particular, en el ejemplo mostrado, la primera red puede evaluar continuamente los valores de entrada de dos redes acopladas, incluso cuando la dominancia recae sobre la segunda red y los valores de salida del sistema global corresponden, por lo tanto, a los valores de salida de la segunda red después de que haya transcurrido el segundo lapso de tiempo y después de que la segunda red haya hallado una solución. De esta manera, una red de categorización rápida, como la primera red 410 descrita en este caso, que evalúa de manera consistente los valores de entrada existentes, también puede realizar intervenciones breves, siempre que los valores de salida hallados se incorporen a la salida global. Dichas formas de realización se describen con más detalle a continuación.
[0208] Como resultado de dicho control de tiempos a través de lapsos de tiempo especificados en un temporizador, el sistema global puede tomar decisiones tempranas y, por ejemplo, ya puede actuar sin que sea necesario concluir la evaluación final y el análisis detallado por parte de la segunda red neuronal. Como ejemplo, se puede considerar una situación en un sistema de conducción autónoma que debe ser evaluada por un sistema de este tipo con al menos dos redes acopladas. Con la primera unidad o la primera red neuronal, se puede lograr una clasificación temprana del "peligro", que aún no incluye una estimación adicional del tipo de peligro, pero que ya puede llevar a una reacción inmediata, como una disminución de la velocidad del vehículo y la activación de los sistemas de frenos y sensores. Al mismo tiempo, sobre la base de la categorización, es decir, bajo la influencia de la modulación por parte de los valores de salida de la primera red, la segunda red neuronal lleva a cabo un análisis más detallado de la situación, que luego puede llevar a reacciones adicionales o cambios en el sistema global en función de los valores de salida de la segunda red.
[0210] También es concebible no especificar un límite de tiempo para cada una de las redes acopladas, sino solo para una de las redes (o, si hay más de dos redes acopladas, incluso para solo un subconjunto de las redes acopladas). Por ejemplo, en el ejemplo mencionado anteriormente, se podría usar un temporizador para la primera red neuronal que categoriza rápidamente, mientras que la segunda red no recibe ninguna especificación de tiempo fija, o viceversa. Esta forma de realización también se puede combinar con otros métodos para determinar la red dominante en cada momento, que se describen con más detalle a continuación.
[0211] En todas las formas de realización en las que se utilice un temporizador, puede estar previsto que los valores de salida de la red neuronal que en ese momento tiene un temporizador activo se utilicen como salida del sistema global. Debido al tiempo que tarda una red en llegar a una primera solución para valores de entrada predefinidos, se produce un cierto período de latencia durante el cual los valores de salida previos (de la primera o la segunda red) siguen disponibles como valores de salida globales.
[0213] Si se establecen especificaciones de tiempo solo para algunas de las redes acopladas, por ejemplo, un temporizador solo actúa para una primera red, se puede definir, por ejemplo, que la salida del sistema global generalmente siempre corresponda a la salida de la segunda red y solo se reemplace por la salida de la primera red cuando un temporizador está activo para la primera red, es decir, un lapso de tiempo especificado esté transcurriendo activamente y aún no haya expirado.
[0215] En un sistema con más de dos redes, la armonización de los lapsos de tiempo especificados y el cambio del temporizador también pueden permitir sincronizar las redes entre sí de manera lógica, en particular si varias redes con tareas diferentes quieren lograr un resultado al mismo tiempo, lo que a su vez debería influir en una o más redes adicionales. Al adaptar los lapsos de tiempo y los procesos especificados, también se puede lograr la sincronización entre varios sistemas globales separados, cada uno de los cuales comprende una serie de redes acopladas. Por ejemplo, los sistemas pueden así sincronizarse sincronizando los tiempos y, a continuación, ejecutarse de forma independiente, pero sincrónica conforme a las especificaciones del temporizador respectivo.
[0216] Además, o como alternativa a cambiar la red neuronal en cada caso dominante en el sistema global sobre la base de un temporizador, cada una de las redes neuronales también puede tomar decisiones por sí misma para transferir la dominancia de manera cooperativa. Esto puede significar, por ejemplo, que una primera red neuronal de un sistema global procesa los valores de entrada y llega a una primera solución específica o a valores de salida específicos, por ejemplo, se consigue una clasificación de los valores de entrada en una clase específica de acuerdo con una clasificación entrenada durante una fase de entrenamiento y, al conseguir esta clasificación, transfiere la dominancia a una segunda red neuronal del sistema global.
[0218] Al igual que al cambiar el centro de gravedad con el temporizador, en este caso se puede especificar que los valores de salida de la red global correspondan en cada caso a los valores de salida de la red en ese momento dominante.
[0220] Para ello, por ejemplo, se pueden evaluar variaciones en los valores de entrada. Mientras los valores de entrada permanezcan esencialmente sin cambios, la distribución de dominancia entre las redes acopladas también puede permanecer esencialmente sin cambios y/o determinarse exclusivamente sobre la base de un temporizador. Sin embargo, si los valores de entrada cambian repentinamente, se puede establecer una dominancia especificada, que anule el otro comportamiento de dominancia de las redes acopladas. Por ejemplo, para cambios repentinos en los valores de entrada, se puede determinar que la dominancia siempre se transfiere de nuevo a la de la primera red neuronal. Como resultado, también se reinicia un temporizador opcional para esta primera red neuronal y el proceso se ejecuta como se describió anteriormente. Podría producirse una variación significativa de los valores de entrada, por ejemplo, cuando los valores de sensor detecten un nuevo entorno o cuando haya concluido un proceso previamente evaluado y ahora se vaya a iniciar un nuevo proceso.
[0222] A este respecto, se pueden especificar valores umbral en forma de un umbral de significancia, que se puede usar para determinar si una variación de los valores de entrada debe considerarse significativa y debe llevar a un cambio en la dominancia. También se pueden especificar umbrales de significancia individuales para diferentes valores de entrada o para cada valor de entrada, o puede estar previsto un valor global, por ejemplo, en forma de una desviación porcentual, como base para evaluar una variación de los valores de entrada. En lugar de umbrales de significancia fijos, también podrían existir umbrales que puedan variar con el tiempo o de forma adaptativa y según la situación, o puede tratarse de funciones, matrices o patrones a partir de los cuales se pueda evaluar la significancia de la variación.
[0224] Alternativa o adicionalmente, el cambio de dominancia entre las redes acopladas puede hacerse dependiente de los valores de salida hallados para cada red o red neuronal. Dependiendo de la forma de realización, la primera red neuronal puede, por ejemplo, evaluar los valores de entrada y/o su variación. A este respecto, pueden especificarse umbrales de significancia para cada una de las clases que están disponibles para la clasificación de la primera red neuronal, de modo que cuando la primera red neuronal dé como resultado un cambio significativo en la clase hallada para los datos de entrada, la dominancia se transfiera inmediatamente a la primera red neuronal, de modo que pueda producirse una reevaluación rápida de la situación y, dado el caso, una reacción. De esta manera, también se puede evitar que, a pesar de un cambio significativo en la situación de entrada detectada por la primera red de categorización rápida, la segunda red neuronal continúe analizando en profundidad innecesariamente sin tener en cuenta el cambio.
[0226] En todos los ejemplos anteriores, los valores de salida del sistema global se pueden reutilizar de cualquier manera, por ejemplo, como señales de control directas o indirectas para actuadores, como datos que se almacenan para uso futuro o como una señal que se transmite a unidades de salida. En todos los casos, los valores de salida también pueden procesarse posteriormente primero mediante funciones y evaluaciones adicionales y/o combinarse con otros datos y valores.
[0228] La figura 5 muestra una vez más el ejemplo de realización simple como en la figura 1 con dos redes 510, 520 acopladas unidireccionalmente, en donde ahora se muestra esquemáticamente una memoria 512, 522 de clasificación para cada una de las redes. El tipo de clasificaciones Ki utilizadas es de importancia secundaria aquí y se describirá con más detalle a continuación. En particular, las dimensiones y la estructura de las dos memorias de clasificaciones de la primera red 512 y la segunda red 522 pueden diferir, a este respecto, significativamente, de modo que se forman dos redes neuronales con diferentes velocidades y centros de gravedad. Como ya se ha descrito brevemente, esto permite lograr una interacción entre una red rápida y de categorización aproximada y una red de análisis más lento, pero más detallado, para formar un sistema global acoplado.
[0230] En el presente ejemplo, una primera red 510 neuronal está diseñada con relativamente pocas clasificaciones K1, K2,..., Kn, que, por ejemplo, también pueden seguir solo una jerarquía plana de modo que la categorización se lleve a cabo en una sola dimensión. Preferiblemente, una primera red 510 de este tipo también puede tener una topología relativamente simple, es decir, con un número n no demasiado grande de neuronas y capas ocultas. Sin embargo, en principio, la topología de red también puede ser esencialmente independiente de las clasificaciones.
[0231] La segunda red 520 neurona! puede entonces tener un sistema de clasificación significativamente mayor y/o más complejo. Por ejemplo, esta memoria 522 o la clasificación subyacente también pueden estructurarse jerárquicamente en varios niveles 524, como se muestra en la figura 5. El número total m de clases K1, K2,..., Km de la segunda red 520 puede ser muy grande, en particular significativamente mayor que el número n de clases utilizadas por la primera red 510 neuronal. Por ejemplo, el número m, n de clases podría diferir en uno o más órdenes de magnitud. Esto logra una distribución asimétrica de las redes individuales en el sistema global.
[0233] La clasificación rápida por parte de la primera red 510 neuronal se puede usar entonces para clasificar rápidamente los valores de entrada. Se pueden usar preferiblemente clases abstractas genéricas para este propósito. En un ejemplo, una situación detectada (por ejemplo, sobre la base de datos de sensor, tales como datos de imagen y audio) puede clasificarse entonces como un "animal grande y potencialmente peligroso"» por la primera red 510 neuronal sin llevar a cabo para ello evaluaciones adicionales. Esto significa que, por ejemplo, no hay más clasificación según la especie animal (lobo, perro) o como depredador peligroso en la primera red, sino que solo se clasifica según características globales lo más amplias posible, como el tamaño, la detección de dientes, las posturas de ataque y otras características. Estos datos, que corresponden esencialmente a la salida "peligro", pueden transmitirse opcionalmente a sistemas externos apropiados para una reacción preliminar y rápida, por ejemplo, un sistema de alerta para un usuario o a actuadores específicos de un sistema automatizado. Además, la salida Salida1 de la primera red 510 neuronal se usa, como se ha descrito, para generar funciones de modulación para la segunda red 520 neuronal.
[0235] Los mismos valores de entrada Xi, es decir, por ejemplo, los valores de sensor mencionados, también se transmiten a la segunda red 520 neuronal. A este respecto, los valores de entrada se pueden introducir inmediatamente, es decir, de forma esencialmente simultánea a la primera red, o con retardo, en donde, según la forma de realización, se introducen ya antes o solo al aplicar las funciones de modulación, es decir, cuando el resultado de la primera red está disponible. En particular para los procesos en los que el tiempo es crítico, es preferible que no se envíen no se envíen más tarde a la segunda red neuronal, para evitar retrasos. La segunda red neuronal también calcula entonces una solución, en donde los pesos autogenerados originales de esta segunda red y sus funciones básicas (tales como las funciones de activación y las funciones de salida definidas) pueden superponerse en cada caso sobre la base de las funciones de modulación que se formaron a partir de los valores de salida de la primera red. Como resultado, el trabajo iterativo de la segunda red permite omitir un gran número de posibles variantes para las que no habría tiempo en el caso de una situación crítica identificada rápidamente por la primera red (por ejemplo, una situación peligrosa). Mientras se lleva a cabo el análisis de la segunda red neuronal, como se ha descrito, ya se pueden llevar a cabo posibles reacciones sobre la base de la primera red neuronal. Esto corresponde a una primera reacción instintiva en los sistemas biológicos. La memoria jerárquica de la segunda red, que es significativamente mayor que la de la primera red, permite entonces un análisis preciso de los valores de entrada, en el ejemplo mencionado, una clasificación detallada en la clase "perro", la raza respectiva, las características de comportamiento que sugieren peligros o una situación inofensiva, etc. Si es necesario, una vez que la segunda red neuronal haya obtenido un resultado, se puede sobrescribir la reacción anterior del sistema global, por ejemplo, volviendo a degradar la primera clasificación de "peligro".
[0237] en general, para un sistema global acoplado de este tipo con una clasificación asimétrica puede estar previsto, por ejemplo, que las clases Kn de la primera red 510, que clasifica rápidamente, efectúen principalmente clasificaciones abstractas, tales como situación nueva/conocida, evento peligroso/no peligroso, característica interesante/poco interesante, decisión requerida/no requerida y similares sin entrar en profundidad. Esta primera clasificación no tiene que corresponder necesariamente al resultado final que finalmente halle la segunda unidad 520. Sin embargo, la clasificación en dos etapas mediante al menos una unidad de análisis rápido y otra de análisis profundo permite reacciones similares a las emocionales o instintivas a partir de un sistema global de aprendizaje artificial. Por ejemplo, cuando se identifica un objeto mediante reconocimiento de imágenes que podría ser una serpiente, el "peor de los casos" puede ser preferiblemente el resultado de la primera clasificación, independientemente de si es probable que esta clasificación sea correcta o no. Lo que en el caso de la inteligencia humana existe como conocimiento evolutivo y reacción instintiva puede sustituirse por una clasificación inicial rápida con conocimientos preprogramados, de modo que el sistema global y sus actuadores también puedan llevar a cabo reacciones estándar correspondientes (mantener una distancia, iniciar un movimiento, activar una mayor atención). La modulación adicional de la segunda unidad de aprendizaje sobre la base de esta primera clasificación puede entenderse entonces de manera análoga a una superposición condicionada por las emociones, es decir, por ejemplo, de manera correspondiente a una reacción de miedo que inicia automáticamente un análisis de situación consciente diferente al de una situación entendida como inofensiva. La superposición de los parámetros de la segunda red neuronal, que se lleva a cabo mediante las funciones de modulación, puede provocar así el cambio necesario a otros espacios de clasificación que de otro modo no se alcanzarían de manera estándar o no se alcanzarían de forma inmediata.
[0238] En consecuencia, tales sistemas pueden usarse para una gran variedad de áreas de aplicación, por ejemplo, en todas las aplicaciones en las que surjan situaciones críticas de toma de decisiones. Ejemplos de ello son
los sistemas de conducción, los sistemas de rescate o alerta para diferentes tipos de peligro, los sistemas quirúrgicos y las tareas complejas y no lineales en general.
[0240] En las formas de realización descritas hasta ahora, solo se acoplaban entre sí dos unidades de aprendizaje artificial. Sin embargo, en principio, esta idea también se puede aplicar a más de dos unidades, de modo que, por ejemplo, tres o más unidades de aprendizaje artificial se puedan acoplar de manera correspondiente, siendo posible definir cuál de las unidades puede modular los parámetros de otra unidad específica o de varias otras unidades.
[0242] La figura 6 muestra un ejemplo en el que pueden estar previstas tres redes 610, 620, 630 neuronales (y/u otras unidades de aprendizaje artificial), en donde los valores de salida de la primera red 610 dan como resultado funciones de modulación para los pesos y/o funciones de la segunda red 620, y en donde los valores de salida de la segunda red, a su vez, dan como resultado funciones de modulación para los pesos y/o funciones de la tercera red 630. De esta forma, se podrían formar cadenas de unidades de aprendizaje artificial de cualquier longitud que, acopladas, se influencien mutuamente mediante superposición.
[0244] A este respecto, de manera similar al ejemplo anterior con dos redes neuronales, en una forma de realización, todas las redes acopladas pueden recibir los mismos valores de entrada y el procesamiento solo puede acoplarse modulando las redes respectivas. Sin embargo, también son concebibles formas de realización en las que, por ejemplo, después de dos redes neuronales, como en la figura 1, esté prevista una tercera red neuronal que recibe los valores de salida de la primera y/o la segunda red como valores de entrada. Opcionalmente, las funciones y/o pesos de esta tercera red neuronal también podrían modularse mediante funciones de modulación que se formen, por ejemplo, a partir de los valores de salida de la primera red. A este respecto, puede tratarse de las mismas o diferentes funciones de modulación que las funciones de modulación formadas para la segunda red. Alternativamente, los valores de salida de la tercera red podrían usarse, por ejemplo, para formar funciones de modulación adicionales, que luego se apliquen recursivamente a la primera y/o segunda red.
[0246] Sobra decir que son posibles diversas combinaciones adicionales de unidades de aprendizaje acopladas de manera correspondiente, en las que al menos dos de las unidades conectadas se acoplan formando funciones de modulación para los parámetros descriptivos de las unidades, en particular en el caso de redes neuronales para los pesos y/o funciones de una red. A medida que aumenta el número de unidades acopladas, también son posibles variaciones más complejas de modulaciones y acoplamientos.
[0248] Como ya se indicó al principio, aunque las formas de realización descritas aquí se han descrito a modo de ejemplo con respecto a redes neuronales, en principio también se pueden trasladar a otras formas de aprendizaje automático. A este respecto, se consideran todas las variantes en las que al menos una segunda unidad de aprendizaje artificial puede verse influenciada por una primera unidad de aprendizaje artificial mediante superposición o modulación sobre la base de valores de salida. La alteración de los pesos y funciones de una red neuronal mediante superposición usando las funciones de modulación de los ejemplos anteriores puede reemplazarse por una modulación correspondiente de cada parámetro adecuado que controle o describa el funcionamiento de dicha unidad de aprendizaje. En cada ejemplo, el término "unidad de aprendizaje" puede sustituirse por el caso especial de una red neuronal, y viceversa, las redes neuronales descritas en las formas de realización a modo de ejemplo también pueden implementarse de forma globalizada en forma de una unidad de aprendizaje artificial, incluso aunque no se mencione explícitamente en el ejemplo respectivo.
[0250] Además de las redes neuronales, como ejemplos se conocen algoritmos evolutivos, máquinas vectoriales de soporte (SVM, Support Vector Machines), árboles de toma de decisiones y formas especiales respectivas, como bosques aleatorios o algoritmos genéticos.
[0252] También se pueden combinar entre sí redes neuronales y otras unidades de aprendizaje artificial. En particular, es posible, por ejemplo, reemplazar la primera red neuronal de los ejemplos anteriores, que se presentó como una unidad de categorización rápida, por cualquier otra unidad de aprendizaje artificial. A este respecto, también es posible seleccionar específicamente un método que sea particularmente adecuado para una clasificación rápida y aproximada de las características. Sin embargo, tal como se ha descrito para dos redes neuronales, los valores de salida de dicha primera unidad de aprendizaje pueden usarse entonces para formar funciones de modulación para una segunda unidad de aprendizaje artificial, que en particular puede ser de nuevo una red neuronal.
[0254] Como se mencionó anteriormente, los sistemas que, como se describió anteriormente, comprenden varias unidades de aprendizaje artificial acopladas, forman "sistemas de aprendizaje artificial".
[0256] Además o como alternativa a las variantes descritas, un sistema de aprendizaje artificial que comprenda dos o más unidades de aprendizaje artificial acopladas puede mejorarse aún más añadiendo una instancia que evalúe o valide los resultados del sistema de aprendizaje artificial y, conforme a esta evaluación, influya en la obtención de resultados por parte del sistema de aprendizaje artificial. Según la invención, se recurre a un sistema de
aprendizaje artificial adicional para este propósito. La estructura y la función de un sistema global que comprenda dos sistemas de aprendizaje artificial se explican a continuación.
[0258] Estas unidades de aprendizaje artificial, que llevan a cabo una evaluación/validación de los resultados de otras unidades de aprendizaje artificial o de sus resultados, se denominan unidades de evaluación. Por el contrario, las unidades de aprendizaje artificial que procesan o analizan los valores de entrada y obtienen resultados correspondientes, que son verificados por las unidades de evaluación, se denominan unidades de trabajo. La función, es decir, el mapeo de los valores de entrada con los valores de salida, de las unidades de aprendizaje artificial, que son en particular redes neuronales, se determina mediante parámetros, tales como funciones y/o pesos, tal como se describió anteriormente.
[0260] Estructura y función básicas del sistema global
[0262] La figura 7 muestra la estructura básica de un sistema global (o sistema de procesamiento y evaluación) que comprende un plano 710 de trabajo y un plano 730 de evaluación, que son ambos sistemas de aprendizaje artificial, es decir, que comprenden unidades de aprendizaje artificial acopladas y que se construyen o funcionan como se describió anteriormente. El sistema global también comprende un plano 750 de proyección y una memoria 760 de secuencias global.
[0264] Los datos de entrada o valores de entrada Xi, que son, por ejemplo, una serie temporal de datos de sensor o datos obtenidos a partir de ellos mediante preprocesamiento, son procesados por el sistema global, y se obtienen datos de salida o valores de salida (Salida) que forman la salida global del sistema global.
[0266] El plano 710 de trabajo está configurado para procesar o analizar los valores de entrada Xi, que se introducen en él en forma de primeros y segundos valores de entrada Xi(t1) y Xi(t2), por ejemplo, datos de sensor continuos en los instantes t1, t2. A este respecto, por un lado, a partir de los primeros valores de entrada Xi(t1) se determinan primeros valores de salida (Salida11) conforme a una primera clasificación, es decir, el plano de trabajo, que es un sistema de aprendizaje artificial, se entrena de tal manera que realice una clasificación correspondiente de los primeros valores de entrada. Por otro lado, a partir de los segundos valores de entrada Xi(t2) se determinan segundos valores de salida (Salida12) de acuerdo con una segunda clasificación, es decir, el plano de trabajo se entrena en consecuencia.
[0268] Los primeros valores de salida se determinan preferiblemente en un período de tiempo corto en relación con el período de tiempo requerido para determinar los segundos valores de salida. En consecuencia, la primera clasificación comprende pocas clases en relación con la segunda clasificación. Por lo tanto, los primeros valores de salida se basan en un análisis aproximado de los valores de entrada, mientras que los segundos valores de salida se basan en un análisis detallado de los valores de entrada.
[0270] En el plano 750 de proyección, se forman primeros datos de situación Y(t3) y segundos datos de situación Y(t4) sobre la base de los primeros y/o segundos valores de salida. A este respecto, los primeros datos de situación se basan al menos en parte en los primeros valores de salida y los segundos datos de situación se basan al menos en parte en los segundos valores de salida. Por ejemplo, los datos de situación pueden ser, en el caso más simple, los propios valores de salida respectivos. Además, los datos de situación también se pueden formar, al menos en parte, sobre la base de otros valores. Sin embargo, se prefiere que los primeros datos de situación se formen sobre la base de los primeros valores de salida y que los segundos datos de situación se formen sobre la base de los segundos valores de salida. Además, se puede asociar un elemento de almacenamiento opcional al plano de proyección como memoria de proyección (no se muestra en la figura 7; cf. la figura 8), en la que se pueden almacenar los datos que surgen en el plano de proyección.
[0272] El plano 750 de proyección puede diseñarse como una unidad de software y/o hardware o como una combinación de varias de estas unidades. En este caso, el plano de proyección puede, en particular, formar una composición de varias unidades, que también pueden contener unidades de aprendizaje artificial y sus elementos de almacenamiento. En este caso, el plano 750 de proyección puede formar una unidad central en la que se procesan y vinculan las salidas de al menos el plano de trabajo, por ejemplo, una unidad multiplexora, una unidad que genera secuencias a partir de datos, una unidad que, tras una evaluación positiva o negativa, imprime una identificación o etiqueta con los datos o secuencias almacenados, lo que puede acortar las decisiones al comparar datos nuevos con datos almacenados, por ejemplo. Estas funciones también pueden cumplirse total o parcialmente mediante módulos del programa. El plano de proyección también puede comprender unidades de entrada y/o salida, tales como una pantalla o una unidad acústica, lo que permite comunicarse con un consumidor o usuario que, por ejemplo, presta apoyo a una fase de entrenamiento del sistema, así como evaluar, por ejemplo, el estado de procesamiento actual.
[0274] Los primeros o segundos datos de situación formados en el plano 750 de proyección forman la entrada del plano 730 de evaluación. El plano 730 de trabajo está configurado para determinar como salida primeras evaluaciones (Salida21) y segundas evaluaciones (Salida22), que indican si los primeros datos de situación cumplen las primeras condiciones predefinidas o en qué medida, o si los segundos datos de situación cumplen
las segundas condiciones predefinidas o en qué medida. Por lo tanto, el plano de evaluación como sistema de aprendizaje artificial está entrenado para determinar valores de salida, que se denominan primeras/segundas evaluaciones, que indican si los primeros/segundos datos de situación cumplen con las primeras/segundas condiciones predefinidas o en qué medida. Las evaluaciones pueden ser, independientemente entre sí, en cada caso evaluaciones simples de sí/no (por ejemplo, una evaluación solo puede adoptar los valores 0 o 1) o evaluaciones graduales que indican el grado en que se cumple una condición (por ejemplo, una evaluación puede adoptar todos los valores de 0 a 1). En consecuencia, la expresión "si se cumplen las condiciones" o similar en el marco de esta solicitud, aunque no siempre se mencione explícitamente, también incluirá el caso de que las condiciones se cumplan en cierta medida, por lo que debe entenderse en el sentido de "si se cumplen las condiciones o en qué medida" o similar. El sistema ahora se puede configurar para rechazar o modificar de otro modo los valores de salida de las unidades de trabajo sobre la base de las evaluaciones, en particular para influir en el procesamiento de los valores de entrada por parte del plano de trabajo.
[0276] Las primeras evaluaciones se determinan preferiblemente en un período de tiempo corto en relación con el período de tiempo requerido para determinar las segundas evaluaciones. Por consiguiente, se especifican relativamente pocas primeras condiciones (en particular menos de 1000, preferiblemente menos de 100) y relativamente muchas segundas condiciones. Por lo tanto, las primeras evaluaciones indican si se han cumplido las condiciones aproximadas o en qué medida, mientras que las segundas evaluaciones indican si se han cumplido las segundas condiciones finas en relación con las primeras condiciones o en qué medida.
[0278] Las primeras y segundas evaluaciones (Salida21, Salida22) ahora influyen en el procesamiento de los primeros y segundos valores de entrada Xi(t1), Xi(t2). En particular, las primeras evaluaciones influyen en la determinación de los primeros valores de salida a partir de los primeros valores de entrada y las segundas evaluaciones influyen en la determinación de los segundos valores de salida a partir de los segundos valores de entrada.
[0280] En cualquier caso, la salida global (Salida) se basa en los primeros y/o segundos valores de salida del plano 710 de trabajo. El plano de trabajo determina preferiblemente si el primer o el segundo valor de salida se consideran como salida global en un instante dado, aunque también puede controlarse mediante un temporizador, que puede considerarse como parte del plano de trabajo. También es concebible en este caso utilizar una combinación de los primeros y segundos valores de salida como salida global. La influencia del plano 730 de evaluación en el plano 710 de trabajo, por lo tanto, solo tiene una influencia indirecta en la salida global; en este sentido, las primeras y segundas condiciones no representan restricciones absolutas.
[0282] En el procesamiento de valores de entrada, el plano 710 de trabajo determina, por lo tanto, primeros/segundos valores de salida (Salida11, Salida12) a partir de los primer/segundos valores de entrada Xi(t1), Xi(t2), el plano 750 de proyección determina primeros/segundos datos de situación Y(t3), Y(t4) a partir de los primeros/segundos valores de salida, y el plano 730 de evaluación determina primeras/segundas evaluaciones (Salida21, Salida22) a partir de los primeros/segundos datos de situación, que a su vez influyen en el plano de trabajo. La salida global (Salida) se determina en cada caso a partir de los primeros/segundos valores de salida.
[0283] Este proceso se repite en varias iteraciones o repeticiones, en donde el plano de trabajo intenta, influenciado por las evaluaciones del plano de evaluación, determinar una salida global o primeros/segundos valores de salida que estén en consonancia con las primeras/segundas condiciones. en general, pueden aparecer valores de entrada Xi para los que no sea posible encontrar tal salida global (o primeros y/o segundos valores de salida) que cumpla con todas las condiciones. En este caso, el proceso de repetición puede interrumpirse si se establece que la salida global (o los primeros y/o segundos valores de salida) ya no cambia significativamente de una repetición a otra o durante un período de tiempo específico, es decir, solo dentro de las tolerancias predeterminadas. La última salida global del sistema se utiliza entonces como salida global final. La salida global final constituye entonces, en cierto sentido, la mejor salida global posible que puede hallar por el plano de trabajo con la influencia o el consejo del plano de evaluación. También se puede controlar el momento de una interrupción mediante un temporizador (por ejemplo, en un sistema en tiempo real); en este caso también se utiliza la última salida global.
[0285] Cada repetición/iteración produce datos correspondientes, que pueden incluir los primeros y segundos valores de entrada, los primeros y segundos valores de salida, los primeros y segundos datos de situación, las primeras y segundas evaluaciones y la salida global. En particular, está previsto formar un conjunto de datos, denominado conjunto global, a partir de algunos o, preferiblemente, todos estos elementos.
[0287] en general, conforme a la secuencia de iteraciones se produce una secuencia de conjuntos globales o una secuencia global. Los conjuntos globales o la secuencia de conjuntos globales se pueden almacenar en la memoria 760 de secuencias global. Esto se indica mediante líneas discontinuas que conectan la memoria de secuencias global con los tres planos. Cuando se almacenan, los conjuntos globales se dotan preferiblemente de marcas de fecha y hora y/o de una numeración y/o se disponen conforme a su orden o secuencia. Preferiblemente, está previsto comenzar con el almacenamiento en cada caso una nueva secuencia de conjuntos globales siempre que los valores de entrada cambien significativamente, es decir, más que una
tolerancia predeterminada. Con ayuda de las secuencias almacenadas de conjuntos globales se puede rastrear, en particular, el procesamiento de valores de entrada por parte del sistema global.
[0289] Explicaciones sobre las condiciones y su efecto sobre el sistema global
[0291] Las (primeras/segundas) condiciones pueden ser condiciones simples que, por ejemplo, comprueban si los datos de situación están dentro de un rango de valores específico. Sin embargo, las (primeras/segundas) condiciones también pueden ser más complicadas, por ejemplo, en forma de reglas R1 a Rn normativas.
[0292] Las (primeras/segundas) condiciones pueden ser condiciones técnicas. Por ejemplo, una máquina podría comprobar si el número de revoluciones de un motor (que, por ejemplo, es analizado por el plano de trabajo con ayuda de los datos de sensor de vibración y se emite como salida) está dentro de un rango de número de revoluciones permitido. Otra regla más sería hacer que dicha comprobación del número de revoluciones dependa de un estado operativo (que también es detectado por el plano de trabajo con ayuda de los datos de sensor).
[0294] Además, las reglas pueden ser de naturaleza no técnica, como "No se puede matar a nadie" (R1) o "No se puede restringir la libertad de ninguna persona" (R2) o "No se debe mentir" (R3). El cumplimiento de reglas o el incumplimiento de reglas se pueden diseñar utilizando una de las parametrizaciones habituales, por ejemplo, 0 = no incumplimiento de la regla, 1 = incumplimiento de la regla, o con subdivisiones más precisas. Estas reglas se pueden implementar como primeras condiciones, y la parametrización del cumplimiento o incumplimiento de las reglas corresponde entonces a las primeras evaluaciones. Las segundas condiciones pueden representar entonces un desglose más detallado de las reglas R1 a Rn en clasificaciones de reglas K1 a Kn. Se trata a este respecto de excepciones, complementaciones y alternativas a estas reglas. Estas clasificaciones de reglas se estructuran inicialmente de tal manera que las excepciones a R1 se especifiquen en la clasificación de reglas K1, a R2 en K2, etc. En algunas situaciones que se mencionen en las clasificaciones de reglas se puede infringir la regla Rx correspondiente. Un ejemplo de clasificación de reglas K1 y de la regla R3 podría decir: "Si decir la verdad puede causar un grave perjuicio a alguien, se puede mentir". Las reglas se siguen aplicando en principio, pero solo prima facie, siempre que no sea necesario aplicar ninguna clasificación de reglas. Las segundas condiciones (clasificaciones de reglas K1 a Kn) representan, por lo tanto, una configuración más detallada de las primeras condiciones (reglas R1 a Rn).
[0296] Pueden estar presentes memorias respectivas en las que se guarden o almacenen las primeras o segundas condiciones. La estructuración de las memorias o de las reglas R1 a Rn y las clasificaciones de reglas puede corresponder en particular a la mostrada en la figura 5, en donde las reglas R1 a Rn relativamente aproximadas se almacenan en la memoria 512 y las clasificaciones de reglas K1 a Kn relativamente finas y su subdivisión más fina en niveles 524 se almacenan en la memoria 522, en donde, preferiblemente, m es igual a n.
[0298] Se prefiere almacenar las reglas y/o las clasificaciones de reglas, es decir, las primeras y, en particular, las segundas condiciones, en una cadena de bloques, implementándose las reglas en forma de los denominados contratos inteligentes. Un contrato inteligente puede considerarse como un protocolo informático que describe una regla o clasificación de reglas y verifica su cumplimiento.
[0300] Si se usa una clasificación de reglas, esta condición se documenta y guarda en otra memoria (en particular, la memoria 760 de secuencias global) en función de la situación, preferiblemente en una cadena de bloques, a fin de garantizar que esta documentación no se pueda modificar. Por lo tanto, se almacenan las secuencias globales o las secuencias de evaluaciones globales. La clasificación de reglas no cuestiona la validez básica de la Regla R3. En el modo de trabajo del plano de trabajo o del sistema global, una secuencia de acciones dará como resultado una cadena iterativa de ajustes y evaluaciones entre el plano de trabajo y el plano de evaluación, de modo que se almacena en la cadena de bloques una secuencia de soluciones de conciliación basadas en la situación, en cuyo caso el plano de evaluación advierte al plano de trabajo acerca de conflictos con las reglas y hace sugerencias para su modificación, pero no decide la acción futura. La decisión de actuar, es decir, la salida global del sistema, se toma exclusivamente a través del plano de trabajo, ya que este se encarga directamente de la situación externa y la estrategia de solución, mientras que el plano de evaluación recibe preferiblemente solo de forma indirecta, a través del plano de proyección, la información ya condensada por el plano de trabajo.
[0302] Una ampliación a modo de ejemplo de este principio básico es que el plano de evaluación en situaciones de conflicto con peligro de infracción de las Reglas R1... n también incorpora las secuencias globales (preferiblemente, las rutas de decisión de la cadena de bloques) en su búsqueda y comprueba soluciones adoptadas previamente. En el sentido del sistema de autoaprendizaje, el éxito o el fracaso de la acción emprendida debe registrarse en toda la documentación en secuencias globales (preferiblemente, en la documentación de la cadena de bloques) para no volver a cometer errores.
[0304] En otra ampliación del principio, en caso de conflicto con la Regla R1, por ejemplo, es posible buscar no solo en las clasificaciones de reglas K1 y sus subclasificaciones según vínculos, modificaciones, etc., sino también
en todas las clasificaciones preferidas, si existe una combinación previamente desconocida para resolver la situación, aunque las demás clasificaciones de reglas no pertenezcan a la Regla R1 propiamente dicha.
[0305] En una ampliación adicional del principio, tanto en caso de éxito como de fracaso, se pueden realizar cambios en la memoria de clasificaciones de reglas agregando nuevas clasificaciones de reglas exitosas y eliminando cualquier clasificación de reglas, dado el caso, existente, pero que ya no esté actualizada o que se haya demostrado que es desfavorable. Esto da como resultado un sistema de evaluación de autoaprendizaje (sistema global) con un conjunto rígido de reglas y un sistema de clasificación flexible al mismo tiempo. En particular, estas variantes permiten implementar "sistemas de IA sólida".
[0307] Formas de realización específicas a modo de ejemplo del sistema global
[0309] La figura 8 muestra una forma de realización a modo de ejemplo de un sistema global en el que el plano de trabajo está formado por una primera unidad 810 de trabajo de aprendizaje artificial y una segunda unidad 820 de trabajo de aprendizaje artificial acoplada a la misma, y el plano de evaluación está formado por una primera unidad 830 de evaluación de aprendizaje artificial y una segunda unidad 840 de evaluación de aprendizaje artificial acoplada a la misma. Las unidades de trabajo y de evaluación de aprendizaje artificial pueden ser en cada caso redes neuronales cuya función esté determinada por parámetros, en particular por funciones (como las funciones de transferencia ftrans, las funciones de activación fakt, las funciones de propagación y las funciones de salida fout) y pesos.
[0311] La primera unidad 810 de trabajo está configurada para determinar los primeros valores de salida (Salida11) a partir de los primeros valores de entrada Xi(t1), es decir, la unidad de trabajo se entrena en consecuencia como una unidad de aprendizaje artificial. La función de la primera unidad de trabajo está determinada por parámetros, en particular funciones foutA1(funciones de propagación y de salida), faktA1 (funciones de activación), ftransA<1>(funciones de transferencia) o pesos<wa1>. La segunda unidad 820 de trabajo está configurada para determinar los segundos valores de salida (Salida12) a partir de los segundos valores de entrada X¡(t2) y, por lo tanto, se entrena en consecuencia. La función de la segunda unidad de trabajo está determinada por parámetros, en particular funciones foutA<2>, faktA<2>, ftransA<2>o pesos w¡a<2>. La primera 830 unidad de evaluación está configurada para determinar las primeras evaluaciones (Salida21) a partir de los primeros datos de situación Y(t3). La función de la primera unidad de evaluación está determinada por parámetros, en particular funciones foutB<1>, faktB<1>, ftransB<1>y pesos w¡B<1>. La segunda unidad 840 de evaluación está configurada para determinar las segundas evaluaciones (Salida22) a partir de los segundos datos de situación Y(t4). La función de la segunda unidad de evaluación está determinada por parámetros, en particular funciones foutB2, faktB2, ftransB2 y pesos w¡B2.
[0312] El acoplamiento entre las dos unidades 810, 820 de trabajo o entre las dos unidades 830, 840 de evaluación corresponde al explicado en relación con las figuras 1 a 6. Sobre la base de los primeros valores de salida (Salida11) de la primera unidad 810 de trabajo se forman, por lo tanto, funciones de modulación fmod<1>_f, fmod<1>_w, mediante las cuales se modulan parámetros (funciones foutA2, faktA2, ftransA2 y/o pesos w¡A2) de la segunda unidad 820 de evaluación, de modo que se influye en la función o en la obtención de valores de salida (Salida12, segundos valores de salida) de la segunda unidad de evaluación. Del mismo modo, sobre la base de las primeras evaluaciones (Salida21) de la primera unidad 830 de evaluación, se forman terceras funciones de modulación fmod3_f, fmod3_w, mediante las cuales se modulan parámetros (funciones foutB2, faktB2, ftransB2 o pesos w¡B<2>) de la segunda unidad 840 de evaluación, de modo que se influye en la función o la determinación de valores de salida (Salida22, segundas evaluaciones) de la segunda unidad de evaluación.
[0314] El sistema global comprende preferiblemente de nuevo un plano 850 de proyección, al que se aplica lo que se ha dicho en relación con la figura 7. Además, se asocia un elemento de almacenamiento opcional al plano 850 de proyección como memoria 852 de proyección, en la que pueden almacenarse datos, en particular, datos de situación, pero también los primeros y segundos valores de salida, desde o a través del plano de proyección al menos temporalmente. El período de almacenamiento de estos datos puede establecerse de forma general, por ejemplo, pero también puede establecerlo una de las unidades, por ejemplo, la primera unidad de evaluación. Dependiendo de la forma de realización, la memoria del plano de proyección puede servir esencialmente como una memoria a corto plazo, cuyo contenido puede comprobarse, borrarse, sobrescribirse y/o transferirse a otras memorias, por ejemplo, a los elementos de almacenamiento de las respectivas redes neuronales o unidades. Como resultado, la memoria 852 de proyección puede diseñarse, por ejemplo, como una memoria en anillo en la que la memoria está "llena" después de un número específico de entradas o una cantidad específica de datos y, por lo tanto, los datos previos se sobrescriben desde el principio, lo que corresponde a una estructura de anillo.
[0316] La forma de realización mostrada comprende de nuevo una memoria de 860 secuencias global, a la que se aplica nuevamente lo que se ha dicho en relación con la figura 7. De nuevo, se indica mediante líneas discontinuas que la memoria 860 de secuencias global puede recibir e intercambiar datos de ambas unidades de trabajo, de ambas unidades de evaluación y del plano de proyección; las unidades también pueden acceder preferiblemente a los datos almacenados en la memoria de secuencias global.
[0317] La influencia sobre el plano de trabajo (es decir, las unidades de trabajo primera y segunda) o los primeros y segundos valores de salida formados por ellas por parte del plano de evaluación (es decir, la primera y la segunda unidad de evaluación) o a través de las primeras y segundas evaluaciones formadas en ellas se implementa de la siguiente manera.
[0319] Conforme a la forma de realización mostrada en la figura 8, está previsto con este fin influir en la primera unidad 810 de trabajo a través de las primeras evaluaciones (Salida21) de la primera unidad 830 de evaluación. Por un lado, esto se puede hacer usando las primeras evaluaciones o valores derivados de ellas como valores de entrada adicionales (adicionales a Xi(t)) de la primera unidad 810 de trabajo; estos pueden denominarse primeros valores de entrada de evaluación. En este caso, las primeras evaluaciones deben inicializarse con valores neutros al comienzo del análisis de los valores de entrada Xi(t), por ejemplo, con valores que indiquen que se han cumplido todas las primeras condiciones. Esta inicialización con valores neutros también se puede volver a ejecutar más adelante, por ejemplo, cuando los valores de entrada varíen significativamente o cuando la dominancia cambie de una de las unidades de trabajo a la otra (en particular, de la segunda a la primera unidad de trabajo); también es concebible un control temporal.
[0321] Adicional o alternativamente, la primera unidad 830 de evaluación puede estar acoplada preferiblemente a la primera unidad 810 de trabajo conforme al acoplamiento descrito anteriormente, en particular en relación con las figuras 1 a 6. Sobre la base de las primeras evaluaciones (Salida21) de la primera unidad 830 de evaluación, se pueden formar, por lo tanto, segundas funciones de modulación fmod<2>_f, fmod<2>_w, mediante las cuales se modulan los parámetros, es decir, las funciones foutA1, faktA1, ftransA1 y/o los pesos wa1, de la primera unidad 810 de trabajo, de modo que se influye en la función o la obtención de valores de salida (Salida11) de la primera unidad de trabajo.
[0323] Además, las segundas evaluaciones influyen en la función de la segunda unidad 820 de trabajo. Esto se puede hacer usando las segundas evaluaciones o valores derivados de ellas como valores de entrada adicionales (adicionales a Xi(t)) (segundos valores de entrada de evaluación) de la segunda unidad 820 de trabajo. En este caso, las correspondientes segundas evaluaciones deben inicializarse con valores neutros al comienzo del procesamiento de los valores de entrada Xi(t), por ejemplo, con valores que indiquen que se han cumplido todas las segundas condiciones. Esta inicialización con valores neutros también se puede volver a ejecutar más adelante, por ejemplo, cuando los valores de entrada varíen significativamente o cuando la dominancia cambie de una de las unidades de trabajo a la otra (en particular, de la primera a la segunda unidad de trabajo); también es concebible de nuevo un control temporal.
[0325] Además (aunque no se muestra en la figura), sobre la base de las segundas evaluaciones (Salida22) de la segunda unidad 840 de evaluación, se pueden formar, por lo tanto, cuartas funciones de modulación fmod4_f, fmod4_w, mediante las cuales se modulan los parámetros, es decir, las funciones foutA2, faktA2, ftransA2 y/o pesos wiA<2>, de la segunda unidad 820 de trabajo, de modo que se influye en la función o la obtención de valores de salida (Salida12) de la segunda unidad de trabajo. Sin embargo, el conjunto de parámetros (funciones y/o pesos) de la segunda unidad de trabajo, que son modulados por las cuartas funciones de modulación, será distinto del conjunto de parámetros (funciones y/o pesos) de la segunda unidad de trabajo, que son modulados por las primeras funciones de modulación. Por lo tanto, la segunda unidad de evaluación solo modulará parámetros (funciones y/o pesos) de la segunda unidad de trabajo que no sean modulados por la primera unidad de trabajo. Esto es ventajoso para prevenir inestabilidades. Si la segunda unidad de trabajo es una red neuronal con varias capas ocultas, como se puede usar, por ejemplo, en el denominado "Deep Learning" (aprendizaje profundo), una o más capas del lado de entrada se pueden modular por medio de la primera función de modulación (es decir, se modulan las funciones y/o los pesos de las neuronas de las capas), mientras que una o más capas del lado de salida se pueden modular por medio de las cuartas funciones de modulación. En sentido figurado, la primera unidad de trabajo con los primeros valores de salida influiría entonces en el análisis básico de los valores de entrada en la segunda unidad de trabajo por medio de las primeras funciones de modulación, mientras que la segunda unidad de evaluación con las segundas evaluaciones influye por medio de las cuartas funciones de modulación en la clasificación de los resultados obtenidos mediante este análisis básico en la segunda unidad de trabajo.
[0327] Las unidades 810, 820 de trabajo y las unidades 830, 840 de evaluación pueden tener en cada caso una memoria, en particular una memoria de clasificaciones, en las que se almacenan las clasificaciones o condiciones. La estructura de almacenamiento correspondiente se explicó en detalle en relación con la figura 5. A modo de ejemplo, solo se muestra una memoria 842 para la segunda unidad 840 de evaluación en la figura 8. Cada una de las memorias puede diseñarse por separado de las unidades o también pueden estar contenidas en la unidad respectiva.
[0329] La memoria 842 de la segunda unidad de evaluación (y también una memoria correspondiente de la primera unidad de evaluación) puede incluir (además de una memoria de clasificaciones) una memoria de secuencias, más precisamente una segunda memoria de secuencias, que se usa para almacenar secuencias de evaluaciones. En el caso de la segunda unidad de evaluación, se almacena así una segunda secuencia de evaluaciones (o más de una) que incluye segundos conjuntos de evaluaciones, cada uno de los cuales
comprende conjuntos de valores de entrada (segundos datos de situación) de la segunda unidad de evaluación y las segundas evaluaciones obtenidas a partir de los mismos por la segunda unidad de evaluación. Los conjuntos de evaluaciones pueden dotarse de información de tiempo respectiva y/o numerarse consecutivamente mediante una numeración y/u disponerse conforme a su orden. Una memoria de la primera unidad 830 de evaluación, que no se muestra, también puede incluir una primera memoria de secuencias que se usa de manera análoga para almacenar las primeras secuencias de evaluaciones que comprenden los primeros conjuntos de evaluaciones, cada uno de los cuales comprende conjuntos de valores de entrada (primeros datos de situación) de la primera unidad de evaluación y las primeras evaluaciones obtenidas a partir de ellos por la primera unidad de evaluación.
[0331] Tanto el plano de trabajo como el plano de evaluación pueden comprender otras unidades de aprendizaje artificial, cada una de las cuales está acoplada como en la figura 6. Por lo tanto, el plano de trabajo podría comprender una tercera (y, eventualmente, una cuarta, quinta,...) unidad de trabajo, que esté acoplada a la segunda unidad de trabajo (o a la en cada caso precedente) por medio de funciones de modulación determinadas por los valores de salida de la segunda unidad de trabajo (o la precedente). El plano de evaluación también podría comprender una tercera (y, eventualmente, una cuarta, quinta,...) unidad de evaluación acoplada a la segunda unidad de evaluación (o a la en cada caso precedente) mediante funciones de modulación determinadas por las evaluaciones de la segunda unidad de evaluación (o la precedente). La interacción de las unidades de trabajo y de evaluación mutuamente correspondientes puede tener lugar entonces de la misma manera que la interacción entre la segunda unidad de trabajo y de unidad de evaluación, es decir, en particular, la enésima unidad de evaluación influye en la enésima unidad de trabajo.
[0333] Procesamiento a modo de ejemplo de valores de entrada
[0335] El procesamiento o análisis de datos de entrada resultante se describe a modo de ejemplo a continuación. Los datos de entrada forman valores de entrada para las unidades 810, 820 de trabajo. Los valores de entrada pueden ser idénticos o diferentes para ambas unidades de trabajo, por ejemplo, en diferentes instantes de una serie temporal. Los valores de entrada Xi(t) pueden ser dependientes del tiempo, por ejemplo, una serie temporal de valores medidos de sensor o un flujo de vídeo/audio, en donde las unidades de trabajo pueden recibir o aceptar los valores de entrada Xi(t1), Xi(t2) en instantes específicos, por ejemplo controlados por un temporizador o por un traspaso de la dominación, o incluso de forma continua, en particular en el caso de redes neuronales recurrentes. Las unidades de trabajo pueden ejecutar un procesamiento continuo de los valores de entrada o ejecutar un procesamiento que comience en instantes específicos, por ejemplo, controlados por un temporizador o por eventos específicos, por ejemplo, un traspaso de la dominancia.
[0337] La primera unidad 810 de trabajo determina, a partir de los valores de entrada Xi(t1), los primeros valores de salida (Salida11), a partir de los cuales el plano 850 de proyección forma primeros datos de situación (por ejemplo, los primeros valores de salida en sí mismos o partes de ellos o valores derivados de ellos) que, a su vez, sirven como entrada para la primera unidad 830 de evaluación, que los evalúa (es decir, evalúa los primeros datos de situación), es decir, comprueba si se cumplen las primeras condiciones y crea correspondientes primeras evaluaciones (Salida21). Sobre la base de las primeras evaluaciones, se influye en la primera unidad de trabajo 810 o en la salida (Salida11).
[0339] Si se establece (con ayuda de las primeras evaluaciones) que las primeras condiciones no se cumplen o solo se cumplen en cierta medida, la primera unidad 810 de trabajo puede procesar nuevamente los valores de entrada Xi(t), teniendo ahora en cuenta la influencia de las primeras evaluaciones (por ejemplo, mediante las segundas funciones de modulación determinadas a partir de las primeras evaluaciones o utilizando las primeras evaluaciones o valores derivados de ellas como valores de entrada adicionales), de modo que generalmente se obtengan primeros valores de salida (Salida11) modificados que, en particular cuando la primera unidad de trabajo se entrena correspondientemente, se ven influenciados por las primeras evaluaciones.
[0341] Esto se puede ejecutar varias veces en iteraciones hasta que se determine que se cumplen las primeras condiciones, en cuyo caso los primeros valores de salida se pueden usar como salida (global) o valores de salida globales del sistema. Los valores de entrada pueden procesarse, a continuación, por la segunda unidad 820 de trabajo y/o la dominancia puede transferirse a la segunda unidad de trabajo. Los segundos valores de salida generados de esta manera pueden usarse, adicional o alternativamente, como salida global, eventualmente dependiendo de la dominancia.
[0343] Alternativa o adicionalmente, si no es posible, por ejemplo, cumplir todas las primeras condiciones, o solo se dispone de un período de tiempo limitado, por ejemplo en un sistema en tiempo real, el procesamiento por parte de la segunda unidad 820 de trabajo y/o la dominancia de la segunda unidad de trabajo también se pueden llevar a cabo preferiblemente después de un lapso de tiempo predeterminado (controlado por un temporizador), después de alcanzar un número predeterminado de iteraciones, cuando los primeros valores de salida ya no varían dentro de las tolerancias predeterminadas entre dos iteraciones consecutivas, o cuando las primeras evaluaciones ya no cambian dentro de las tolerancias predeterminadas entre dos iteraciones consecutivas. También son concebibles combinaciones de ello.
[0344] Si la dominancia se transfiere nuevamente a la primera unidad 810 de trabajo, por ejemplo, cuando los valores de entrada Xi han variado significativamente, la primera unidad 830 de evaluación puede llevar a cabo de nuevo este proceso o esta evaluación, dado el caso después de la inicialización de las primeras evaluaciones.
[0345] Opcionalmente, en particular cuando la que domina es la segunda unidad 820 de trabajo, el plano 850 de proyección también podría formar datos de situación sobre la base de los segundos valores de salida (Salida12) de la segunda unidad 820 de trabajo y evaluarlos mediante la primera unidad 830 de evaluación, es decir, se comprueba si los segundos valores de salida están en consonancia con las primeras condiciones. Si este no es el caso o solo lo es en parte, la segunda unidad de trabajo también podría verse influenciada por las primeras evaluaciones (ahora modificadas), de manera análoga a la influencia en la primera unidad de trabajo por las primeras evaluaciones, sin usar funciones de modulación en este caso, en particular ninguna que module los parámetros, es decir, las funciones foutA2, faktA2, ftransA2 y/o los pesos wiA2, de la segunda unidad 820 de trabajo, que se modulan mediante las primeras funciones de modulación.
[0347] Las primeras evaluaciones formadas por la primera unidad 830 de evaluación también influyen indirectamente en la función de la segunda unidad 840 de evaluación a través del acoplamiento, es decir, por medio de las terceras funciones de modulación fmod3_f, fmod3_w.
[0349] La segunda unidad 840 de evaluación recibe como valores de entrada segundos datos de situación formados en el plano 850 de proyección (que no tienen que ser idénticos a los primeros datos de situación que recibe la primera unidad 830 de evaluación). Estos segundos datos de situación se forman preferiblemente sobre la base de los segundos valores de salida (Salida12) de al menos la segunda 820 unidad de trabajo de aprendizaje artificial, es decir, los segundos datos de situación pueden comprender algunos o todos los segundos valores de salida o también valores derivados de los mismos; en donde, además, los datos de situación también pueden formarse, al menos en parte, sobre la base de los primeros valores de salida (Salida11) de la primera unidad 810 de trabajo de aprendizaje artificial u otros valores.
[0351] Cuando la segunda unidad 820 de trabajo procesa los valores de entrada Xi(t2) y/o la dominancia se ha transferido a la segunda unidad de trabajo, el plano 850 de proyección forma segundos datos de situación, que se basan, al menos en parte, en los segundos valores de salida (Salida12) de la segunda unidad 820 de trabajo. Estos segundos datos de situación sirven como valores de entrada para la segunda unidad 840 de evaluación, que forma segundas evaluaciones a partir de ellos. Estas influyen en la función de la segunda unidad 820 de trabajo. Si las segundas evaluaciones indican que se han cumplido todas las segundas condiciones, los segundos valores de salida se pueden usar como la salida global del sistema, por ejemplo.
[0353] La influencia de las segundas evaluaciones en la segunda unidad de trabajo generalmente da como resultado, al menos cuando las segundas evaluaciones indican que no se han cumplido todas las segundas condiciones y la segunda unidad de trabajo ha sido entrenada en consecuencia, segundos valores de salida (Salida12) modificados, a partir de los cuales el plano de proyección forma datos de situación dado el caso modificados, que son comprobados por la segunda unidad de evaluación y llevan a segundas evaluaciones modificadas.
[0354] Esto puede repetirse en varias iteraciones hasta que, por ejemplo, se alcance un número predeterminado de iteraciones, haya transcurrido un período de tiempo predeterminado o los segundos valores de salida ya no varíen dentro de las tolerancias predeterminadas entre dos iteraciones consecutivas. También son concebibles combinaciones de ello u otras condiciones.
[0356] La interacción entre la segunda unidad 840 de evaluación y la segunda unidad 820 de trabajo corresponde, por lo tanto, a la interacción entre la primera unidad 830 de evaluación y la primera unidad 810 de trabajo. Sin embargo, como resultado del acoplamiento de las dos unidades de evaluación, la evaluación por parte de la segunda unidad 840 de evaluación, es decir, las segundas evaluaciones, también está influenciada por las primeras evaluaciones obtenidas por la primera unidad 810 de evaluación. En consecuencia, la secuencia temporal se controla preferiblemente de tal manera que la interacción entre la primera unidad de trabajo y la primera unidad de evaluación tenga lugar primero y, a continuación, tenga lugar la interacción entre la segunda unidad de trabajo y la segunda unidad de evaluación.
[0358] Aunque el procesamiento de valores de entrada se presentó anteriormente como un proceso de etapas de procesamiento consecutivas en las unidades individuales de aprendizaje artificial, cabe señalar que las unidades (primera, segunda unidad de trabajo, primera, segunda unidad de evaluación) pueden, en principio, funcionar de forma asíncrona entre sí, es decir, cada unidad puede funcionar a su propia velocidad, utilizando los datos de entrada o las modulaciones que estén disponibles en cada momento (que, en parte, son las salidas de otras unidades). Una sincronización en el tiempo puede estar prevista, pero no es necesario. En consecuencia, las unidades pueden trabajar en paralelo entre sí.
[0360] Entrenamiento
[0361] A continuación se describe un entrenamiento a modo de ejemplo del sistema global. Como ya se ha explicado, en el marco del aprendizaje supervisado se especifican los valores de entrada y los valores de salida deseados correspondientes (es decir, asociados a los valores de entrada respectivos) (es decir, datos de entrenamiento conocidos) y, durante el entrenamiento, se minimiza un error en relación con una medida de error que indica la desviación entre los valores de salida determinados por la unidad de aprendizaje artificial y los valores de salida deseados. Una medida de error típica utilizada es una desviación cuadrática media (eventualmente ponderada). Los parámetros de la unidad de aprendizaje artificial (por ejemplo, los pesos) varían durante el entrenamiento para minimizar el error. Este método es de por sí conocido para un experto en la materia.
[0363] El sistema se entrena de tal manera que los planos de trabajo y de evaluación se entrenan primero de forma individual. Estos representan "sistemas de aprendizaje artificial", cuyo entrenamiento se explicó en relación con las figuras 1-5. En el aprendizaje supervisado mencionado anteriormente, durante el entrenamiento del plano de trabajo se utilizan valores de entrada (que comprenden datos de sensor) como valores de entrada y correspondientes valores de salida deseados (conocidos) (parámetros de control, parámetros de estado) como valores de salida y, en el entrenamiento del plano de evaluación, se utilizan datos de situación (formados a partir de los valores de salida o los parámetros de control/parámetros de estado) como valores de entrada y correspondientes evaluaciones deseadas (conocidas) (que indican en qué medida se cumplen las condiciones) como valores de salida.
[0365] Además, las condiciones se pueden ajustar o complementar durante la operación acoplada de los planos de trabajo y de evaluación (véase más adelante). Este proceso puede considerarse como un aprendizaje conjunto de los planos de trabajo y de evaluación, es decir, del sistema global.
[0367] Con respecto al plano de trabajo y al plano de evaluación, con referencia a la realización mostrada en la figura 8, cada uno de los dos planos comprende una primera unidad 810, 830 y una segunda 820, 840 de aprendizaje artificial, que se acoplan de manera análoga a las figuras 1-5. En particular, dentro de un plano, cada una de las dos unidades (primera/segunda) se entrena en este caso de forma independiente (es decir, de forma individual e independiente de la unidad acoplada), en donde se puede usar el mismo conjunto de datos de entrenamiento de valores de entrada para ambas unidades o se pueden usar diferentes conjuntos de datos de entrenamiento de valores de entrada. Los valores de salida deseados asociados (que corresponden a los valores de entrada, es decir, que deben lograrse en la medida de lo posible durante el entrenamiento) difieren entre la primera y la segunda unidad, en donde los valores de salida deseados de la segunda unidad representan preferiblemente una especie de refinamiento de los valores de salida deseados de la primera unidad. Por ejemplo, podría estar previsto que los valores de salida deseados de la primera unidad sean un subgrupo genuino (no trivial) de los valores de salida deseados de la segunda unidad, y también podría estar previsto que se usen diferentes pesos en la medida de error para desviaciones de valores de salida específicos. Además, se puede llevar a cabo un entrenamiento conjunto de las unidades acopladas (primera/segunda). En este caso, los errores pueden proceder de la primera y la segunda unidad, en cuyo caso, por ejemplo, los errores de la primera y la segunda unidad se pueden ponderar de manera diferente. En el entrenamiento conjunto, también se puede generar la relación entre los valores de salida de la primera unidad y las funciones de modulación a través de las cuales se influye en la segunda unidad.
[0369] Primera/segunda memoria de secuencias
[0371] Almacenar las primeras/segundas secuencias de evaluaciones permite comprender las "decisiones" de las unidades de evaluación y, dado el caso, llevar a cabo un entrenamiento adicional utilizando las secuencias de evaluaciones, por ejemplo, si no funcionan según lo deseado.
[0373] Además, una unidad 830, 840 de evaluación puede comparar datos de situación Y(t3), Y(t4) entrantes con conjuntos de evaluaciones almacenados en secuencias de evaluaciones en la memoria de secuencias antes o durante la determinación de las evaluaciones (Salida21, Salida22), es decir, los datos de situación entrantes se comparan con correspondientes datos de situación en los conjuntos de evaluaciones almacenados. Si se establece que son iguales o similares, es decir, que ya se han producido datos de situación iguales o similares en un instante anterior, pueden leerse evaluaciones anteriores de la secuencia de evaluaciones y usarse como salida, es decir, como evaluaciones de los datos de situación actuales. En particular, el conjunto de evaluaciones en el que se han producido datos de situación iguales o similares y, dado el caso, conjuntos de evaluaciones posteriores, se pueden omitir en la secuencia de evaluaciones correspondiente. Por lo tanto, se utilizan evaluaciones anteriores como evaluaciones actuales para los datos de situación Y(t3), Y(t4) entrantes, que se toman de un conjunto de evaluaciones que se produjeron en un instante posterior de la secuencia de evaluaciones respectiva (para ello, los conjuntos de evaluaciones se dotan preferiblemente de marcas de fecha y hora, se dotan de una numeración y/o se disponen conforme al orden en que se produjeron). En cada caso, "similar" ha de entenderse en el sentido de tolerancias adecuadamente seleccionadas.
[0375] A este respecto, se pueden omitir como máximo tantos conjuntos de evaluaciones hasta que las evaluaciones indiquen que se ha alcanzado un número predeterminado de conjuntos de evaluaciones omitidos y/o las informaciones de tiempo indiquen que ha transcurrido un lapso de tiempo especificado dentro de la secuencia
de evaluaciones y/o, en la secuencia de evaluaciones respectiva, los valores de entrada de la unidad de evaluación (datos de situación) no varíen con respecto a la entrada anterior en la secuencia de evaluaciones dentro de unas tolerancias especificadas. Este modo de proceder puede acelerar el desarrollo del método.
[0376] Las primeras y/o segundas secuencias de evaluaciones se almacenan preferiblemente en la primera o segunda memoria de secuencias en una forma criptológicamente segura para protegerlas frente a la manipulación indebida. En particular, está previsto para ello en cada caso el uso de una cadena de bloques, en donde las entradas de las secuencias (por ejemplo, uno o más conjuntos de evaluaciones para la primera secuencia de evaluaciones) constituyen los bloques de la cadena de bloques. Por lo tanto, cada bloque comprende al menos un conjunto de evaluaciones y está encadenado a la secuencia de conjuntos de evaluaciones anteriores, que se almacenan en bloques previos, según el principio de cadena de bloques.
[0378] Estructura de complejidad
[0380] Preferiblemente está previsto que la estructura de complejidad del plano de trabajo y el plano de evaluación se diseñe como se describe en particular en relación con las figuras 1 y 5, es decir, que la primera unidad de trabajo lleve a cabo un análisis o división relativamente aproximado de los valores de entrada en relativamente pocas clases y, en comparación, la segunda unidad de trabajo lleve a cabo un análisis o división relativamente preciso en un número relativamente grande de clases o subclases y otros niveles jerárquicos y que la primera unidad de evaluación también compruebe si los primeros datos de situación o los primeros valores de salida cumplen condiciones relativamente aproximadas, y la segunda unidad de evaluación compruebe si los segundos datos de situación o los segundos valores de salida cumplen condiciones relativamente finas en comparación.
[0382] A este respecto, a la primera unidad 830 de evaluación se le puede asociar una memoria de clasificaciones (no mostrada), que está diseñada con relativamente pocos niveles y clases. En el presente ejemplo, se asume que el número de niveles y/o clases para la primera unidad 830 de evaluación es significativamente menor que para la segunda unidad 820 de trabajo, que está prevista como una unidad de análisis, es decir, menor en uno o más órdenes de magnitud, por ejemplo. Asimismo, el número de niveles y/o clases para la segunda unidad 840 de evaluación puede ser significativamente mayor que el número de niveles y/o clases para la primera unidad 830 de evaluación. El número de niveles y/o clases para la segunda unidad 820 de trabajo también puede ser significativamente mayor que el número de niveles y/o clases para la primera unidad 810 de trabajo. Las memorias también pueden diferir aún más, pero normalmente habrá una asimetría significativa entre los tamaños y las complejidades de almacenamiento.
[0384] Ajuste y/o complementación de condiciones
[0386] Como se ha explicado en relación con la figura 7, puede haber casos en los que el sistema global no pueda hallar primeros/segundos valores de salida, es decir, una salida global, de modo que de ello se deriven primeros/segundos datos de situación que estén en consonancia con todas las primeras o segundas condiciones. Como resultado del traspaso de la dominancia de la primera a la segunda unidad de trabajo y, en consecuencia, de la primera a la segunda unidad de trabajo, esto afecta en particular a los segundos valores de salida o a los segundos datos de situación, que representan la salida global final del sistema.
[0388] Por lo tanto, preferiblemente está previsto modificar o complementar las condiciones, preferiblemente las segundas condiciones, de modo que, al menos en algunos de estos casos, se considere que los valores de salida o los datos de situación correspondientes cumplen con las condiciones complementadas. Por lo tanto, el sistema se ajusta, lo que influye en el procesamiento de valores de entrada futuros.
[0390] Preferiblemente, sin embargo, dicha complementación de las condiciones no se lleva a cabo en todos los casos en los que no se pueden cumplir todas las condiciones, sino solo si se dan ciertas condiciones. Un posible requisito es que solo no se pueda cumplir un cierto número o porcentaje (por ejemplo, el 20 %, el 10 % o el 5 %) de todas las condiciones, pero se cumplan las demás.
[0392] Las condiciones pueden complementarse durante el procesamiento normal de valores de entrada y/o a ciertos intervalos de tiempo utilizando las secuencias globales almacenadas en la memoria de secuencias globales. Si se utilizan secuencias globales almacenadas, se puede emplear como requisito previo para la complementación de una condición que la condición no se cumpla en un determinado número mínimo (por ejemplo, 10, 50 o 100) de secuencias globales del mismo tipo (dentro de ciertas tolerancias), es decir, que para estas secuencias globales la condición se considera cumplida cuando se lleva a cabo una complementación de la condición en una condición adicional (correspondientemente al tipo incumplimiento, incluidas las posibles tolerancias).
[0394] En un ejemplo simple de una unidad de evaluación, que es una red neuronal, al complementar/modificar una condición, por ejemplo, se podría agregar un rango de valores de una salida de una neurona que se corresponda con la condición. En este caso, por lo tanto, la neurona está asociada a una de las condiciones.
[0395] Por ejemplo, la neurona tiene una función de salida, de modo que la salida de esta neurona como valor numérico oscila entre -1 y 1. En el entrenamiento inicial, la red podría haber sido entrenada de tal manera que esta neurona genere un valor que oscila entre -0,1 y 0,1 cuando se cumpla la condición y, si no se cumple la condición, queda fuera de este rango. Si se da el caso de que no se cumple la condición para una salida del plano de trabajo, es decir, si la neurona emite un valor R que no se sitúa en el intervalo [-0,1; 0,1], y la condición debe complementarse, el valor R puede añadirse como un valor válido adicionalmente al intervalo. Preferiblemente, a este respecto, no solo se añade el valor R en sí mismo, sino también un pequeño intervalo alrededor del valor R, tal como R ± 0,01. La razón para complementar esta condición podría ser que se cumpla uno de los requisitos anteriores, por ejemplo, que esta condición sea la única o una de las pocas que no se cumpla, o que se produzca una salida en el rango de R ± 0,01 en varias secuencias globales.
[0397] Hay entonces dos intervalos, a saber, [-0,1; 0,1] y [R-0,01; R+0,01]. Si, al procesar valores de entrada futuros, la salida de la neurona se sitúa en uno de estos dos intervalos, se considera que se cumple la condición correspondiente. En caso de más complementaciones, se pueden añadir a estos dos intervalos otros más, de modo que la condición se representa por un conjunto de intervalos. Estos intervalos se pueden almacenar en la memoria de clasificaciones de la unidad de evaluación.
[0399] De manera análoga a este ejemplo, una condición también puede, por supuesto, estar vinculada a varias neuronas, en cuyo caso las salidas de las neuronas se encuentran en un rango de valores global que es un subconjunto de un espacio n-dimensional, en donde n es igual al número de neuronas asociadas con la condición. La condición se cumple cuando las salidas de estas múltiples neuronas se encuentran en uno o más subconjuntos (correspondientemente a los intervalos del ejemplo anterior) del rango de valores global. A continuación, también se pueden complementar estos subconjuntos.
[0401] La condición original y cualquier complementación de la condición también pueden dotarse de la especificación de un grado S, que se puede almacenar junto con la condición/complementación en la memoria de clasificaciones de la unidad de evaluación. El original podría estar, por ejemplo, en el grado 0, S = 0. Las complementaciones tendrían entonces un grado superior, S>0. La evaluación asociada también puede indicar, entonces, en qué medida se cumple la condición. Por ejemplo, especificando el grado. O especificando un valor correspondiente, como 0,9S (u otro valor real inferior a 1 en lugar de 0,9); el valor 1 correspondería, por lo tanto, al caso de que se cumpla la condición original, a un cumplimiento completo de la condición, por así decirlo. Según su grado, las complementaciones (S>1) solo cumplirían la condición en cierta medida (0,9S<1).
[0403] El nivel de una complementación se puede determinar en función de cuáles y/o cuántos requisitos que desencadenan la complementación se cumplan. Si el requisito previo utilizado es que solo no se cumplan una o unas pocas condiciones, el grado podría, por ejemplo, ser igual al grado más alto de las condiciones cumplidas más una.
[0405] En cierto modo, los grado o niveles introducen una jerarquía de condiciones, con la que la condición original continúa refinándose o ramificándose. Dependiendo del grado o del nivel correspondiente, mediante las evaluaciones se da preferencia, una vez más al influir en el plano de trabajo, a valores de salida específicos.
[0406] En principio, tal método podría llevarse a cabo tanto para las primeras como para las segundas condiciones. Sin embargo, se prefiere que solo se complementen o modifiquen las segundas condiciones. Las primeras condiciones, por otro lado, deben permanecer inalteradas; representan, por así decirlo, condiciones fundamentales e inmutables. En el ejemplo de condiciones como contratos morales mencionado anteriormente (en el apartado Divulgación de la invención), las primeras consideraciones absolutas serían correspondientemente inmutables, mientras que las segundas consideraciones relativas podrían variar con el tiempo, dependiendo de los valores de salida global reales. Si el proceso se utilizara en un control de máquina, la moral de la máquina se desarrollaría aún más, por así decirlo.
[0408] Verificación de compatibilidad con otros sistemas
[0410] Además, cuando dos sistemas globales se comunican entre sí, se puede hacer que un primer sistema global valore en qué medida los valores de salida global y/o las evaluaciones de un segundo sistema global son compatibles con sus propias evaluaciones, es decir, están en consonancia con las primeras y segundas condiciones.
[0412] Según una primera realización, el segundo sistema global transmite secuencias globales al primer sistema global, que normalmente comprende varios conjuntos globales. El primer sistema utiliza entonces los valores de entrada y/o los datos de situación incluidos en los conjuntos globales como valores de entrada/datos de situación para sus propios planos de trabajo o de evaluación y compara las primeras/segundas evaluaciones y/o los primeros/segundos valores de salida obtenidos a partir de los mismos con valores correspondientes contenidos en las secuencias globales transmitidas. Si coinciden, al menos en parte, entonces el primer sistema global puede considerar que el segundo sistema global es fiable o compatible (es decir, no entra en conflicto con las primeras/segundas condiciones) y, por ejemplo, clasificar los datos de análisis recibidos de él (es decir,
los obtenidos por las unidades de trabajo) como correctos o compatibles y usarlos en su propio procesamiento. De lo contrario, los datos recibidos se clasifican como incorrectos o incompatibles y no se utilizan o solo se utilizan en cierta medida. Los datos recibidos pueden ser datos que se utilizan como valores de entrada en el sistema global. Si, por ejemplo, los dos sistemas globales están contenidos como sistemas de control en dos vehículos autónomos, los datos podrían incluir velocidad, operaciones de frenado y similares. Si un vehículo circula a una distancia detrás del otro, puede seleccionar esta distancia en función de la fiabilidad/compatibilidad del sistema global del vehículo de delante (las condiciones que comprueba la unidad de evaluación incluyen, por ejemplo, la desaceleración de frenado específica del vehículo en caso de una operación de frenado repentina, que puede variar de un vehículo a otro).
[0414] Según otra realización, que se puede usar como alternativa o adicionalmente, se puede llevar a cabo una verificación de compatibilidad en un proceso de pregunta-respuesta. Con esta alternativa, el segundo sistema global no necesita tener una memoria de secuencias globales, sino que simplemente debe ser un sistema que genere valores de salida a partir de valores de entrada. Para este propósito, el primer sistema global extrae una o preferiblemente varias secuencias globales de su memoria de secuencias globales y transmite los valores de entrada (pregunta) contenidos en la misma al segundo sistema global para cada secuencia global. El segundo sistema global los procesa y determina en función de ellos valores de salida que transmite al primer sistema global (respuesta). El primer sistema global introduce esta respuesta en su plano de proyección, o puede que directamente en el plano de evaluación, y determina primeras/segundas evaluaciones mediante el plano de evaluación. Esto se repite para todas las secuencias globales. Si las evaluaciones para todas las secuencias globales muestran que se han cumplido las primeras/segundas condiciones, el segundo sistema global se califica como compatible. Alternativa o adicionalmente, las evaluaciones determinadas a partir de la respuesta del segundo sistema global también pueden compararse con las evaluaciones correspondientes contenidas en las secuencias globales, clasificándose el segundo sistema global como compatible si solo se encuentran ligeras diferencias, por ejemplo, dentro de las tolerancias predeterminadas, durante la comparación.
[0415] Otra ventaja importante de estos modos de proceder es que las condiciones en sí mismas no se revelan al otro sistema. Esto es una ventaja, por ejemplo, cuando las condiciones codifican normas éticas y morales que, como tales, en particular cuando se han adaptado o complementado como se ha descrito anteriormente, no deberían estar a disposición del público. Lo mismo se aplica a los aspectos económicos, que pueden implicar secretos comerciales, por ejemplo.
[0417] Las opciones de verificación de compatibilidad descritas anteriormente presuponen naturalmente que el primer sistema global conoce el significado de los valores de entrada y salida del segundo sistema global, de modo que pueda asociarlos a las entradas/salidas de sus propias unidades de trabajo y de evaluación. En el caso de los vehículos autónomos, esta asociación podría, por ejemplo, ser específica del fabricante o especificarse de forma estandarizada como especificación o implementarse como interfaz.
[0419] Información adicional sobre el plano de proyección
[0421] Las unidades de evaluación están entrenadas para evaluar datos de situación que están disponibles en o son formados por el plano 850 de proyección. Como ya se ha mencionado, los datos de situación pueden ser datos de entrada y/o datos de salida de una de las dos unidades 810, 820 de trabajo y/o datos adicionales. Por ejemplo, también podrían procesarse solo datos de salida, opcionalmente con información adicional, en el plano 850 de proyección. Sin embargo, se prefiere que no se usen valores de entrada Xi(t) del plano de trabajo en el plano de proyección, y se prefiere además que solo los valores de salida (Salida11, Salida12) de las unidades 810, 820 de trabajo, es decir, del plano de trabajo, se usen para formar los datos de situación. De esta manera, el plano de proyección separa el plano de evaluación del plano de trabajo, en donde los valores de entrada X (t) de las unidades de trabajo no son visibles para las unidades de evaluación, de modo que las unidades de evaluación pueden evaluar los valores de salida de las unidades de trabajo de forma independiente.
[0423] También es posible procesar o, por ejemplo, simplificar los datos de cierta manera antes del plano de proyección. En respuesta al procesamiento de los datos de situación por parte de las unidades de evaluación, que corresponde a una clasificación o evaluación, se pueden llevar a cabo varias acciones, en particular influir en el plano de trabajo, influir en los valores de salida finales del sistema global y en las señales asociadas a actuadores, interfaces de salida y demás, y/o acciones que influyen en el comportamiento posterior del sistema global y, en particular, de las demás unidades contenidas en el sistema.
[0425] También es concebible vincular los datos en el plano de proyección entre sí para obtener al menos una información adicional. También puede haber parámetros de tiempo que indiquen, por ejemplo, en qué momento se generó un valor de salida específico. Dichos parámetros de tiempo podrían incluir, a este respecto, una indicación de tiempo absoluto, pero también una indicación de tiempo relativo dependiendo del instante de evaluación actual o de otro punto de referencia en el tiempo. También es posible especificar un segmento de tiempo al que se asocien uno o más valores de entrada y/o de salida de las unidades, y no un punto fijo en el tiempo. Además, o como alternativa a un parámetro de tiempo real, se puede vincular un orden a al menos parte de los datos de modo que, incluso sin una indicación de tiempo explícita en el plano de proyección, sea
posible ver en qué orden se generaron o procesaron varios valores de datos existentes, por ejemplo, en forma de una numeración asociada para los valores de salida en el plano de proyección.
[0427] De esta manera, los datos presentes en el plano de proyección, en particular los valores de salida de las unidades de trabajo, pueden formar secuencias temporales, por ejemplo. Opcionalmente, tales secuencias también se pueden marcar de modo que, por ejemplo, se establezca que un segmento de tiempo específico o valores de salida establecidos pertenecen a una secuencia dada. Para su posterior procesamiento, almacenamiento o evaluación, las secuencias formadas de esta manera pueden tratarse como un todo. Alternativamente, diferentes valores de entrada y/o, preferiblemente, de salida, que pertenecen al mismo segmento de tiempo o a la misma secuencia, también se pueden procesar juntos, por ejemplo, compararlos entre sí. Al ordenar los datos en el plano de proyección a lo largo del tiempo y agruparlos en procesos y secuencias específicos a los que se puede acceder nuevamente, es posible crear una estructura similar a una memoria. Puede estar previsto un temporizador (no mostrado) que, conforme a la idea descrita en relación con la figura 4, también se puede usar en este sistema para controlar la dominancia entre las unidades de trabajo.
[0428] La memoria 852 prevista preferiblemente para el plano 850 de proyección puede diseñarse, por ejemplo, como un elemento de memoria volátil o como un elemento de memoria no volátil en forma de una memoria anular u otra memoria a corto plazo. Los datos que se han de procesar en el plano 850 de proyección se pueden almacenar en esta memoria de proyección. El período de almacenamiento de los datos y la elección de los datos que se almacenarán pueden ser muy diferentes. Por ejemplo, primero se puede especificar un período de almacenamiento fijo. T ranscurrido este tiempo, los datos de la memoria de proyección se pueden descartar y/o sobrescribir. Adicional o alternativamente, una parte del sistema, por ejemplo, una o ambas unidades 830, 840 de evaluación, puede tomar decisiones sobre si los datos de la memoria de proyección se transmiten, al menos parcialmente, a otro elemento del sistema. Para evitar la pérdida de datos, esta decisión se puede tomar antes de que expire el período de almacenamiento especificado. Por ejemplo, una de las unidades de evaluación puede decidir que una parte o la totalidad de los datos almacenados en el plano 850 de proyección o en la memoria de proyección deben transferirse a otro elemento de almacenamiento para su almacenamiento a largo plazo. Este también puede ser uno de los elementos de almacenamiento de las unidades de trabajo, por ejemplo. Mediante un almacenamiento en una memoria de las otras unidades del sistema que, después, evalúan nuevas situaciones, las situaciones que ya se han evaluado se pueden incorporar así de manera similar a experiencias adquiridas. Sin embargo, en principio, también podría estar previsto un módulo de memoria independiente (no mostrado) como memoria a largo plazo, en el que esté predeterminado de forma fija o una de las unidades pueda definir qué unidad puede acceder a los datos allí almacenados y en qué medida.
[0429] A continuación se explican más particularidades y formas de realización de la invención. Sobre la base de las primeras y/o segundas evaluaciones, es posible decidir si los primeros y/o segundos valores de salida de las unidades de trabajo primera y/o segunda se sitúan dentro de los rangos o parámetros válidos o si cumplen con ciertas reglas normativas, es decir, si son admisibles como una solución válida (en el sentido de las condiciones o reglas) o si son al menos admisibles en cierta medida. Si se establece aquí que, por ejemplo, los valores de salida actuales de la primera y/o la segunda unidad de trabajo, que se establecieron como el valor de salida global del sistema en los ejemplos anteriores, se encuentran fuera de los rangos permitidos, se puede evitar o detener una reacción del sistema global sobre la base de esta evaluación, de modo que los primeros/segundos valores de salida de la primera/segunda unidad de trabajo no se transmitan a actuadores o interfaces, por ejemplo. Los valores de salida evaluados como inadmisibles o inválidos se pueden descartar, pero también se pueden guardar junto con esta evaluación para poder usarlos en situaciones posteriores, por ejemplo, comparándolos. Esto permite simplificar o acelerar las evaluaciones de situaciones detectadas posteriormente al no continuar persiguiendo las soluciones que ya se han identificado como inadmisibles o al solo continuar persiguiéndolas con menor prioridad. Alternativamente, los primeros/segundos valores de salida también se pueden usar como salida global, por ejemplo, cuando no se puede hallar una solución que cumpla con todas las condiciones, en donde la interacción según la invención entre los niveles de trabajo y de evaluación garantiza que se halle la mejor solución posible.
[0431] Los valores de salida y las soluciones no solo se pueden comprobar en cuanto a su admisibilidad, sino también en cuanto a si cumplen determinadas condiciones o requisitos especialmente bien, es decir, representan la solución más ideal posible. Los valores de salida hallados de esta manera se pueden usar preferiblemente como salida global del sistema global, o se pueden almacenar, por ejemplo, en una memoria a largo plazo para poder recuperarlos rápidamente como la mejor solución hallada en el futuro. Por el contrario, los valores de salida que se han evaluado como particularmente desventajosos o ventajosos también podrían dotarse de un parámetro de evaluación correspondiente, que también se puede almacenar y/o transmitir adicionalmente junto con estos valores. Estas opciones de evaluación se pueden implementar de forma individual o en combinación.
[0432] La decisión de transferir y almacenar datos del plano 750, 850 de proyección, que ya se ha descrito anteriormente, puede ser tomada por las unidades de evaluación, por ejemplo, sobre la base de tales evaluaciones.
[0434] En otra forma de realización, también es posible que inicialmente solo los valores de entrada del sistema que
se utilizan como valores de entrada de la primera y la segunda unidad de trabajo se almacenen en el plano de proyección o en su memoria 752, 852 asociada. Esto puede considerarse como una imagen sin procesar de una situación actual. Al mismo tiempo, la primera y la segunda unidad de trabajo comienzan a procesar estos valores de entrada como ya se describió anteriormente, es decir, utilizando varias opciones, tales como cambiar la dominancia entre las unidades de trabajo y modular los parámetros y funciones determinantes de la segunda unidad de trabajo.
[0436] Las soluciones halladas, es decir, los valores de salida de la primera y/o la segunda unidad de trabajo, pueden transferirse entonces al plano de proyección, en donde pueden sobrescribir los valores de entrada asociados respectivos o también pueden almacenarse y vincularse conjuntamente con estos. Dependiendo de la variante, por ejemplo, cualquier resultado más reciente obtenido a partir de los mismos valores de entrada puede sobrescribir un resultado anterior. En otros casos, los resultados se pueden transferir al plano de proyección conservando soluciones más antiguas, de modo que, por ejemplo, al comparar las soluciones actuales y anteriores, también es posible evaluar si un resultado posterior o anterior cumple mejor los requisitos o condiciones del sistema de evaluación. Como ejemplo de una vinculación se consideran, a este respecto, en particular, elementos superpuestos simultáneamente o incluso elementos sobrepuestos, si se trata de imágenes, por ejemplo.
[0438] Opcionalmente, también se puede tener en cuenta a este respecto la dominancia ya descrita anteriormente entre las unidades acopladas, de modo que, por ejemplo, solo se procesan y almacenan los valores de salida de la red actualmente dominante en el plano de proyección o en su memoria. En este caso, los parámetros de tiempo también se pueden volver a vincular a los valores. Por ejemplo, se pueden definir segmentos de tiempo de longitud igual o diferente, a los que los valores de entrada y los valores de salida respectivos se asocian entonces adecuadamente para reflejar una secuencia cronológica de una situación. Por ejemplo, los valores de entrada podrían almacenarse en un primer segmento de tiempo, mientras que los valores de salida de la primera unidad de trabajo se almacenan en un segmento de tiempo siguiente y, a continuación, los valores de salida de la segunda unidad de trabajo. Además, valores de salida mejorados o al menos modificados se pueden almacenar entonces en segmentos adicionales. Se puede especificar un segmento de tiempo para cada bloque de valores de salida, pero, opcionalmente, se pueden marcar como mutuamente correspondientes a fin de ilustrar el curso de una situación detectada.
[0440] En formas de realización a modo de ejemplo, varias unidades del sistema también pueden asumir, al menos en parte, el control sobre el almacenamiento de datos en o desde la memoria de proyección. Por ejemplo, ya se ha descrito una situación en la que, en un sistema con una dominancia definida de las unidades, se comprueba si los valores de entrada cambian más allá de una medida predeterminada, de modo que se asume una nueva situación. En este caso, la dominancia se puede transferir a la primera unidad de trabajo para crear una nueva clasificación aproximada de los valores de entrada. Al mismo tiempo, la primera unidad de trabajo puede enviar entonces una señal a la memoria de proyección que indica si los datos almacenados allí (que corresponden a una situación previa) deben transferirse a otro elemento de almacenamiento, por ejemplo, la memoria a largo plazo, o si se pueden sobrescribir más adelante. La primera y/o la segunda unidad de trabajo también podrían ajustar el periodo de almacenamiento en la memoria de proyección en función del proceso de procesamiento actual para poder reaccionar ante diversas situaciones u objetivos. Por ejemplo, se puede definir un período de almacenamiento más largo en el plano de proyección cuando se requiere una búsqueda de soluciones prolongada y exhaustiva, mientras que las decisiones rápidas pueden provocar cambios rápidos en los datos almacenados.
[0442] Opcionalmente, también es posible que una de las unidades pueda decidir con carácter prioritario, por ejemplo, la duración del almacenamiento, de modo que, por ejemplo, la segunda unidad de trabajo pueda comprobar o bloquear la decisión de la primera unidad de trabajo de descartar datos anteriores en la memoria de proyección, de modo que los datos respectivos sigan almacenados, por ejemplo, cuando los valores de entrada son siempre recurrentes. Además, también es concebible que, al menos de forma limitada, una de las unidades pueda realizar cambios en la memoria de clasificaciones de otra unidad y, por ejemplo, crear nuevas categorías. Sin embargo, también se pueden definir áreas protegidas en las que se almacenan todos los ajustes que ninguna unidad puede cambiar ni eliminar.
[0444] Si, como en el sistema de la figura 4, está predefinido un temporizador que puede medir intervalos de tiempo y reenviar esta información a las unidades, este también puede encargarse de una supervisión del período de almacenamiento predefinido, por ejemplo. Como resultado, los tiempos de almacenamiento también se pueden coordinar o sincronizar con las distribuciones de dominancia entre las diferentes unidades de un sistema. Sin embargo, como alternativa, también puede estar prevista otra parte del sistema para este propósito. En principio, las unidades de evaluación también pueden modificar y redefinir el período de almacenamiento predefinido. También se pueden definir diferentes requisitos para el período de almacenamiento para diferentes valores. Por ejemplo, se puede establecer que los valores de salida de la primera unidad de trabajo, que es, por ejemplo, una unidad de categorización rápida, se almacenen en el plano de proyección solo durante un breve período de tiempo, de modo que para este propósito se establece una primera especificación de tiempo para el período de almacenamiento, mientras que los valores de salida de la segunda unidad de trabajo se
dotan de una especificación de tiempo más larga para el período de almacenamiento. También es posible que los valores de salida de la primera unidad de trabajo se almacenen solo hasta que estén disponibles los valores de salida de la segunda unidad de trabajo. Opcionalmente, las unidades de evaluación también podrían esperar a comprobar primero los valores de salida. Si se descubre que los valores de salida de la segunda unidad no son válidos, porque no cumplen las condiciones predeterminadas, el almacenamiento de estos valores puede interrumpirse mientras se siguen conservando los valores de salida aproximados de la primera unidad de trabajo.
[0446] Además, o como alternativa, las unidades de evaluación también pueden modificar aún más la modulación, que se describió en detalle entre la primera y la segunda unidad, sobre la base de su evaluación.
[0448] El sistema puede diseñarse a este respecto de tal manera que el sistema de evaluación no decida él por sí solo acerca de la validez o invalidez de los resultados y valores de salida, sino en combinación con las demás unidades del sistema, por ejemplo, influyendo en los parámetros de procesamiento, los tiempos de almacenamiento y otros elementos.
[0450] En la medida en que las unidades de evaluación, es decir, el plano de evaluación, se diseñen como unidades que evalúan o validan, estas pueden comprender, por ejemplo, clasificaciones que incluyen esencialmente características tales como prohibiciones, prioridades, reglas normativas y requisitos análogos a valores. Al evaluar los valores de salida del plano de trabajo, dicho plano de evaluación garantiza que solo las soluciones que cumplan con estos requisitos sean admitidas para el sistema global. Podría tratarse de simples condiciones límite establecidas de un sistema; sin embargo, también podrían desarrollarse más hasta convertirse en un módulo análogo a una ética que mantenga el desarrollo y las decisiones del sistema global en una dirección especificada por valores y reglas. Estas condiciones límite, que se definen, entre otras cosas, mediante clasificaciones en el plano de evaluación, pueden definirse y almacenarse preferiblemente de manera fija para la primera unidad de evaluación sin que el sistema las pueda cambiar y, preferiblemente, pueden modificarse para la segunda unidad de evaluación en función de condiciones predefinidas. Por lo tanto, también es concebible que, como resultado de la interacción de las unidades de trabajo y de evaluación, un sistema aprenda estas clasificaciones al menos en parte por sí mismo, es decir, conforme a un aprendizaje no supervisado, de modo que, al menos en parte, desarrolle su propio sistema de valores o un conjunto aprendido de condiciones límite. También es posible utilizar formas de realización en las que se especifique un sistema básico de condiciones límite inmutables, que luego se puede complementar durante una fase de entrenamiento o durante el funcionamiento y/o introduciendo datos desde el exterior.
[0452] Las condiciones especificadas por las unidades de evaluación se pueden utilizar tanto en una fase de entrenamiento conjunto de las redes acopladas como en la fase de evaluación posterior de un sistema ya entrenado. Opcionalmente, podrían estar previstos varios preajustes separados en las memorias de clasificaciones de las unidades de evaluación, que correspondan a varios grupos cerrados de clasificaciones. Si es necesario, se puede seleccionar uno de estos grupos, por ejemplo, en función de la situación actual. El reconocimiento de la situación actual en cada caso y la asociación de los grupos de clasificaciones que se van a utilizar pueden basarse nuevamente en los resultados de la primera y/o la segunda unidad de trabajo. De esta manera, por ejemplo, se podrían implementar diferentes niveles de tolerancia al riesgo o "estados de ánimo" de un sistema. También se puede predefinir una configuración básica, que solo se modifica en ciertos casos. También es posible que se formen activamente nuevos grupos de clasificaciones con condiciones límite adicionales o flexibles para el plano de evaluación a partir de la configuración básica inmutable del plano de evaluación en las fases de entrenamiento y de funcionamiento del sistema acoplado.
[0454] Por ejemplo, en el caso de un vehículo o aeronave autónomos que se utilizan para rescatar personas (por ejemplo, un vehículo aéreo no tripulado), se puede permitir un estilo de conducción más arriesgado siempre que no se transporte a ningún pasajero, especialmente si el vehículo ha de llegar rápidamente a un lugar específico. Tras un reconocimiento aproximado de la situación, por ejemplo, una "situación de alarma", que puede ser llevado a cabo, por ejemplo, por la primera unidad de trabajo, se puede seleccionar un grupo de clasificaciones correspondiente para la primera unidad de evaluación, sobre la base del cual se evalúen las soluciones o los valores de salida preferiblemente de la primera y/o, eventualmente, también de la segunda unidad de trabajo. De manera similar, se selecciona un grupo de clasificaciones dado el caso más fino en la segunda unidad de evaluación, siendo influenciada esta selección por las primeras evaluaciones sobre la base de las terceras funciones de modulación. Esto permite que se sigan cumpliendo las condiciones límite básicas, por ejemplo, evitar accidentes, pero al mismo tiempo flexibilizar otras condiciones límite (como tomar curvas rápidas, aceptar daños u otras). Tan pronto como el sistema reconozca una nueva situación, por ejemplo, la presencia de pasajeros en el vehículo, se puede utilizar un grupo de clasificaciones diferente para la primera unidad de evaluación y para la segunda unidad de evaluación, que ahora puede orientarse más hacia el bienestar de los pasajeros o incluso de las víctimas rescatadas. En una forma de realización ampliada, también se podrían crear catálogos de criterios adicionales que se puedan usar para la clasificación en situaciones específicas, por ejemplo, para transportar cargas, apagar incendios, durante un vuelo de reconocimiento o un viaje de reconocimiento, y más. Si las situaciones se pueden clasificar como tales situaciones conocidas, el plano de evaluación puede limitarse a cumplir con la validez de las condiciones límite y permanecer pasivo
mientras no aparezcan contradicciones. Sin embargo, si se producen situaciones más complicadas o desconocidas que puedan provocar daños u otras consecuencias indeseables, el plano de evaluación también puede intervenir de manera más activa en la búsqueda de soluciones del plano de trabajo y, por ejemplo, especificar nuevos espacios de búsqueda, modificar o modular parámetros de las unidades de trabajo o apoyar de otro modo la búsqueda de una solución adecuada.
[0456] De esta manera, la memoria del plano de evaluación, preferiblemente programada de manera fija para la primera unidad de evaluación y capaz de cambiar en cierta medida para la segunda unidad de evaluación, contiene las condiciones límite del sistema global, tales como prohibiciones, prioridades y un sistema de valores. También se puede lograr una aceleración del procesamiento excluyendo ciertas soluciones. El plano de evaluación puede intervenir activamente en la búsqueda de soluciones del plano de trabajo mediante acciones como recompensar y castigar o mediante la inducción de nuevos tamaños de paso. Como resultado, los valores de salida del plano de trabajo también se ven influenciados por el plano de evaluación a través de una especie de retroalimentación especial.
[0458] Como opción adicional, el plano de evaluación puede influir en un temporizador y en el establecimiento asociado de la dominancia de las unidades individuales en el sistema, preferiblemente en el plano de trabajo, que, como ya se describió en relación con la figura 4, está implementado en un sistema de varias unidades acopladas. Por ejemplo, el plano de evaluación puede comprobar si los parámetros temporales establecidos para el traspaso de dominancia conducen a resultados lógicos o si se debe especificar una distribución o establecimiento diferente de los lapsos de tiempo. Esto permite, por ejemplo, reaccionar con flexibilidad ante situaciones que requieren categorizaciones más aproximadas de lo habitual y, por ejemplo, deben decidirse en un período de tiempo más corto. En consecuencia, por medio de una señal desde el plano de evaluación al módulo temporizador, se pueden establecer uno o más parámetros de tiempo nuevos para cada una de las unidades de aprendizaje artificial acopladas, sobre la base de los cuales la dominancia se establezca posteriormente como ya se describió. Tras evaluar los datos de situación en cuanto al tiempo, el plano de evaluación también podría establecer que los valores de entrada y, por lo tanto, las situaciones que se han de evaluar cambian de forma masiva y muy rápida, o que la situación permanece sin cambios casi estáticamente durante un largo período de tiempo y, sobre esta base, especificar otros parámetros de tiempo para el procesamiento.
[0460] Por supuesto, los elementos y etapas de método descritos en las figuras 7 y 8 no han de limitarse a la forma de realización ilustrada con cuatro unidades de aprendizaje artificial. En todas las formas de realización, se entiende que los elementos individuales, es decir, por ejemplo, elementos de almacenamiento, unidades de aprendizaje artificial (redes neuronales), conexiones entre estos elementos y demás, también pueden realizarse de manera diferente a la descrita aquí. Por ejemplo, por supuesto, también puede haber otros elementos de almacenamiento que no se muestran en estas ilustraciones esquemáticas, o algunas o todas estas memorias pueden estar presentes en forma de un único elemento de almacenamiento físico, por ejemplo, dividido correspondientemente mediante direccionamiento.
[0462] Los diversos subenfoques descritos anteriormente pueden conducir, en particular en combinación entre sí, a un sistema asociativo y que actúa de manera autónoma. Estos sistemas pueden abarcar una gama mucho más amplia de aplicaciones que los sistemas inteligentes que solo están entrenados en un área especializada. En los sistemas convencionales, el procesamiento de datos equivale a hallar mínimos de error o máximos de éxito en un espacio multidimensional. Cuantas más dimensiones (a través de clasificaciones, opciones, planos jerárquicos) tenga este espacio, más probable será que el sistema se quede estancado en los mínimos o máximos locales. En cambio, según se ha descrito anteriormente, el acoplamiento y la influencia sobre una segunda unidad por una primera unidad en forma de funciones de modulación, que se aplican a pesos, tamaños de paso, funciones y demás, permiten saltar en el espacio de búsqueda a áreas inicialmente no probadas que, de otro modo, nunca se alcanzarían según el tamaño de paso establecido. La tarea también puede cambiar durante un breve período de tiempo, ya que se comprueba rápidamente si el nuevo espacio de soluciones es relevante.
[0464] Si, por ejemplo, se identifica un animal potencialmente peligroso pero no identificable a partir de los valores de entrada, para el que ni la primera ni la segunda unidad de trabajo pueden encontrar un patrón de imagen adecuado, el sistema ahora puede pasar a un análisis de sonido mediante un tamaño de paso modulado (por ejemplo, inducido estocásticamente) y encontrar allí un sonido adecuado que haya sido captado del animal no identificable. La segunda unidad de trabajo modulada de esta manera ahora puede comprobar si la solución hallada se puede aplicar a las imágenes que antes no se podían clasificar, lo que corresponde a un rendimiento de asociación.
[0466] La introducción de un plano de proyección también puede simular un comportamiento asociativo, por ejemplo, en el sentido de que las decisiones (en forma de valores de salida) ahora se pueden comparar con decisiones anteriores y, opcionalmente, también se pueden evaluar. En lugar de una capacidad de aprendizaje abstracta basada en recompensas positivas o negativas, el sistema de evaluación se complementa así de forma asociativa. Por ejemplo, si el sistema no encuentra ninguna solución mejor en el área de salto, puede volver al
área de la mejor solución hasta el momento, que se estableció mediante evaluaciones en el plano de proyección y se guardó opcionalmente, y puede iniciar una nueva variante de salto. De esta manera, por ejemplo, la modulación por parte de una primera unidad siempre se puede llevar a cabo desde un punto de partida adecuado, que se halla sobre la base de la evaluación por parte del plano de evaluación.
[0468] Un sistema de IA personal adaptado a un usuario ha de considerarse como un posible ejemplo de aplicación. Idealmente, un sistema de este tipo puede desarrollar un comportamiento inteligente en el sentido de inteligencia artificial fuerte al acoplar varias unidades de aprendizaje artificial, que comprenden, entre otras cosas, la retroalimentación descrita a través de modulación y un plano de evaluación que evalúa con opciones de almacenamiento correspondientes. Un sistema de este tipo debería poder asociarse libremente y clasificar los problemas de forma autónoma. Además, debería ser posible un comportamiento específico del usuario, de modo que el sistema de IA pueda conocer individualmente a un usuario, es decir, en particular, pueda registrar y/o aprender qué intereses, peculiaridades, estados de ánimo, emociones, rasgos de carácter y qué nivel de conocimientos tiene el usuario.
[0470] Estos y otros datos recopilados desde el exterior se pueden añadir así al sistema. También es posible actualizar el sistema global, por ejemplo, para modificar el plano de trabajo o las clasificaciones y/o los planos de evaluación o las condiciones dentro de ciertos límites. Sin embargo, se prefieren los mecanismos que impidan por completo la exportación de datos del sistema, sobre todo porque trabaja a un nivel muy personal. Por lo tanto, los datos personales no deben divulgarse al mundo exterior y, opcionalmente, tampoco deben ser accesibles. Por ejemplo, también se puede prever que el sistema de IA funcione principalmente fuera de línea, es decir, sin conexión a redes de comunicación externas u otras interfaces. Para actualizar el sistema o cargar conocimientos básicos y otros datos, se puede establecer una conexión segura y limitada en el tiempo, que el usuario puede controlar completamente, por ejemplo. Por ejemplo, a este respecto se pueden especificar las fuentes de los datos agregados y se puede dar al usuario la opción de aceptar la conexión.
[0472] Puede estar prevista una fase de entrenamiento inicial para el sistema, en la que tenga lugar una comunicación de aprendizaje con una persona ajena, un conjunto de datos de entrenamiento predefinido y/o datos que no provienen del propio usuario del sistema. Esta fase de entrenamiento puede servir para proporcionar un entorno básico general para temas, saber, experiencias y conocimientos con el fin de solo tener que utilizar más adelante datos externos en casos especiales. En este caso, también se puede establecer un carácter comunicativo predeterminado, así como una profundidad inicial de los procesos de aprendizaje y las asociaciones para un estado general. Además, durante la fase de entrenamiento, se pueden entrenar la identificación de problemas y las reacciones apropiadas ante situaciones, así como procesos de comunicación asociativos.
[0474] T ras completar esta fase de entrenamiento inicial, que puede llevar a cabo el fabricante, por ejemplo, un usuario final puede llevar a cabo una segunda fase de entrenamiento. Por ejemplo, los parámetros de tiempo ahora se pueden configurar para el usuario (sincronización). El carácter comunicativo previamente establecido inicialmente se puede adaptar al usuario final (mediante imitación o complementación) mediante aprendizaje y adaptación del sistema formado por redes acopladas. Del mismo modo, los rasgos de carácter e intereses previamente especificados para un usuario general ahora se pueden adaptar al usuario final específico. Además, en las formas de realización a modo de ejemplo, en particular en las que incluyen una evaluación visual, el plano de proyección puede generar una imagen actual de su estado y mostrarla en una pantalla. Esta imagen superpuesta permite entonces una evaluación por parte de un usuario o entrenador externo durante una fase de trabajo y, en particular, durante la fase de entrenamiento, quien puede así establecer cómo el sistema estima, por ejemplo, la situación actual. De esta manera, es posible identificar en una etapa temprana cómo trabaja el sistema o, dado el caso, intervenir para corregir o cambiar ciertos aspectos y así acelerar la fase de entrenamiento.
[0476] Después de estas fases de entrenamiento, el sistema está preferiblemente listo para su uso. Sin embargo, más adelante también se puede recurrir a fases de entrenamiento adicionales.
[0478] Dependiendo de la forma de realización, el sistema de IA puede tener diferentes interfaces para registrar las condiciones ambientales y las acciones realizadas por el usuario, así como los estados emocionales y de ánimo del usuario. Se pueden usar varios sensores para este propósito, como cámaras, micrófonos, sensores de movimiento, sensores de infrarrojos, sensores para compuestos químicos («narices artificiales»), sensores ultrasónicos y cualquier otro. Estos pueden disponerse de forma individual, distribuidos y/o combinados en objetos móviles o estáticos adecuados para permitir un análisis lo más completo posible. Además, pueden estar previstas más interfaces a través de las cuales el sistema de IA pueda comunicarse con el usuario, como altavoces para la salida de voz o pantallas y otros medios de visualización para la indicación visual y representaciones de texto.
[0480] En una posible forma de realización, está previsto un objeto en el que este sistema de IA está integrado para un usuario. Puede tratarse de un objeto móvil, como un dispositivo técnico (por ejemplo, un teléfono inteligente), pero en particular también un mueble o un objeto de uso diario, como una lámpara, un jarrón, una pantalla, un
espejo u otros objetos que ya ocupan hoy en día un lugar permanente en una vivienda. La tarea del sistema es ser un compañero artificial, personal e inteligente para el usuario. El sistema determina la identidad del usuario y se comunica con el usuario, por ejemplo, mediante voz y/o imagen, si se trata de una pantalla o hay una proyección instalada en la sala. En consecuencia, la salida está conectada a una interfaz (por ejemplo, altavoz, pantalla, proyector).
[0482] Sobre la base de los elementos inventivos descritos anteriormente, el sistema puede clasificar situaciones, e incorporar y asociar el conocimiento almacenado y aprendido. El objetivo es transmitir inspiración, ofrecer sugerencias, superar la soledad y el mal humor del usuario, actuar como entrenador o incluso como consultor profesional o solucionador de problemas. Las posibles áreas de aplicación aquí son el uso como compañero de ocio (que ayude contra el aburrimiento, estimule la conversación, entretenga a la gente, dé ideas útiles); como fuente de inspiración, que proporcione estímulo intelectual, científico y artístico; como "coach" o asesor para brindar apoyo psicológico o intelectual, en particular a personas con enfermedades mentales; como consultor para diversas situaciones cotidianas (moda, higiene, salud, deberes, cuidados); como asistente personal, para lo cual se puede crear y utilizar una amplia base de datos de conocimientos; como pareja de juego para una amplia variedad de juegos; etc.
[0484] En particular, un sistema de este tipo puede adaptarse al usuario tanto a corto plazo, por ejemplo, a un estado de ánimo actual, como a largo plazo, por ejemplo, al tipo de carácter del usuario. Entre otras cosas, la información procesada a través del plano de proyección y almacenada en la memoria a largo plazo se puede utilizar para este propósito. Idealmente, el sistema puede equiparse con códigos, reconocimiento biométrico del usuario (imagen, voz, huella dactilar, tono de voz u otras características) y otras opciones de control de acceso.
[0486] Un sistema ético y moral puede implementarse preferiblemente usando dicho sistema y las etapas de método descritas. Por ejemplo, el compañero personal inteligente puede fomentar acciones que sean satisfactorias y útiles para el usuario y su entorno; una vez adaptado a la naturaleza, al carácter y al estado de ánimo del usuario, puede llamar la atención sobre problemas morales y éticos y, por ejemplo, promover ciertas virtudes (ayuda, generosidad, bondad, coraje, sabiduría).
[0488] Mediante correspondientes condiciones en el plano de evaluación, el sistema se puede configurar de tal manera que evite daños, perjuicios y esfuerzos, no solo para el usuario, sino para todas las personas afectadas por sus decisiones. Si cabe esperar una la mala toma de decisión grave, un acompañante personal puede iniciar una conversación, en particular discutir sobre las consecuencias de ciertas opciones de actuación y hacer sugerencias constructivas acerca de alternativas. Preferiblemente, no se prescriben acciones, sino ideales sobre cómo deberían o podrían ser las acciones. El acompañante personal puede identificar situaciones de dilema y señalárselas al usuario y, al mismo tiempo, buscar soluciones alternativas o la solución más favorable disponible. Especialmente en relación con el trabajo artístico del usuario, un acompañante personal inteligente ofrece la oportunidad de brindar apoyo, únicamente a través de evaluaciones preprogramadas y aprendidas. En este caso, las observaciones pueden estar ya adaptadas al usuario. La capacidad asociativa del sistema desempeña un papel importante en este sentido.
[0490] Como otro ejemplo de realización se describe "espejo inteligente". Hoy en día ya hay un espejo en el recibidor o en el baño. Las interfaces de entrada y salida ya descritas en el ejemplo general anterior, tales como diversos sensores, se pueden integrar fácilmente en un espejo. Al utilizar un objeto por el que pasa un usuario de forma breve pero frecuente, se pueden implementar una variedad de opciones en un sistema de IA de este tipo.
[0491] Por ejemplo, se pueden utilizar cámaras, micrófonos, detectores de movimiento, sensores ultrasónicos, narices artificiales, sensores de infrarrojos, etc. adecuados para recopilar una amplia gama de información sobre el usuario y las situaciones predominantes y los hábitos del usuario sin tener que introducir activamente esta información. También se puede implementar un control de entradas y salidas, particularmente en un recibidor.
[0492] De esta forma, un sistema de IA inteligente puede alertar al usuario sobre problemas con la ropa y, por ejemplo, ofrecer recomendaciones de vestimenta, puede avisar del clima previsto y de los utensilios necesarios si se detecta que faltan. Los objetos que un usuario lleva consigo pueden detectarse y reconocerse. Si es necesario, se pueden aclarar dudas en un diálogo con el usuario (a través de habla u otro medio de entrada), por ejemplo, si algo es necesario, se ha olvidado o se ha perdido.
[0494] También se pueden incorporar a este respecto comentarios grabados por micrófonos, de modo que el usuario pueda apoyar activamente estos procesos, por ejemplo, comentando situaciones u objetos o presentándolos activamente para su detección. Después de un período de tiempo considerable, el sistema de inteligencia artificial puede conocer casi todos los objetos, la ropa y su paradero en el hogar. Si se busca algo o si el usuario tiene alguna pregunta sobre su ropa, su inventario de alimentos, su inventario de libros, etc., el sistema puede ayudarle dándole indicaciones. Por ejemplo, se puede hacer saber al usuario que llevaba gafas cuando entró en el apartamento y se puede concluir que las gafas deben estar dentro de la casa.
[0495] El sistema de IA también puede gestionar citas, listas y otras herramientas de apoyo para la vida diaria a través de un diálogo. Por lo tanto, el sistema también es especialmente útil para personas mayores y enfermas o para personas en general que tienen restricciones en su vida diaria de alguna manera.
[0497] Mediante una evaluación adecuada de los datos registrados, por ejemplo, el reconocimiento de expresiones faciales y la evaluación del tono de la voz u otros datos, el sistema puede detectar el estado de ánimo del usuario en poco tiempo y, basándose en esto, también proporcionar indicaciones adecuadas, por ejemplo, si alguien desea desesperadamente emprender un viaje largo. Por ejemplo, el sentimiento identificado puede incorporarse a la evaluación llevada a cabo por el plano de evaluación en los ejemplos de realización anteriores.
[0498] A este respecto, las opciones de registro y los diálogos no están necesariamente vinculados al objeto, es decir, en este caso, al espejo inteligente. Para evitar que un usuario tenga que mantener conversaciones prolongadas con el sistema de IA en una ubicación inadecuada, el sistema puede iniciar o continuar el diálogo con el usuario a través de altavoces, micrófonos y otros dispositivos distribuidos en los lugares apropiados de un apartamento. Los componentes del propio sistema de IA también se pueden distribuir en varios módulos y pueden conectarse entre sí a través de interfaces de comunicación inalámbricas o por cable adecuadas, por ejemplo.
[0500] Para todos los sistemas de IA expuestos aquí, es preferible que los datos recopilados y almacenados, en particular los datos personales, estén estrictamente protegidos; en particular, está previsto un almacenamiento de datos criptográficamente seguro. También se pueden integrar sistemas de identificación para este propósito, que pueden identificar de manera fiable al usuario a partir de imagen, sonido, pero también a partir de rasgos de movimiento, una evaluación del tono de habla o cualquier otra propiedad biométrica. Esto puede impedir que la información personal se comparta con un invitado u otra persona no autorizada en el diálogo.
[0502] Otros posibles diseños, que pueden implementarse individualmente o en cualquier combinación entre sí y con las formas de realización anteriores, se resumen una vez más a continuación:
[0504] Por ejemplo, según una forma de realización, se puede implementar un método en un sistema formado por varias unidades de aprendizaje artificial, que comprende la introducción de valores de entrada en al menos una primera unidad de aprendizaje artificial y una segunda unidad de aprendizaje artificial, tras lo cual se obtienen primeros valores de salida de la primera unidad de aprendizaje artificial. Basándose en los valores de salida de la primera unidad de aprendizaje artificial, se pueden formar una o más funciones de modulación, que luego se aplican a uno o más parámetros de la segunda unidad de aprendizaje artificial. Los uno o más parámetros pueden ser parámetros que influyen de alguna manera en el procesamiento de los valores de entrada y en la obtención de valores de salida en la segunda unidad de aprendizaje artificial. Además, se reciben valores de salida de la segunda unidad de aprendizaje artificial. Estos pueden representar valores de salida modulados de la segunda unidad, por ejemplo.
[0506] De esta manera, dos unidades de aprendizaje artificial se acoplan para formar un sistema de aprendizaje artificial sin utilizar una retroalimentación directa de los valores de entrada o de salida. En cambio, una de las unidades se usa para influir en la función de la segunda unidad modulando ciertos parámetros funcionalmente relevantes, de modo que se produce un acoplamiento novedoso que conduce a resultados o valores de salida diferentes a los de las unidades de aprendizaje convencionales. Asimismo, al procesar valores de entrada en dos unidades acopladas, se puede lograr un resultado en menos tiempo o con un análisis más profundo que en los sistemas convencionales, de modo que se puede aumentar la eficiencia general. En particular, el problema que surja se clasifica rápidamente y se tendrán en cuenta variaciones rápidas.
[0508] En una forma de realización a modo de ejemplo, al menos una de las unidades de aprendizaje artificial (unidades de trabajo y unidades de evaluación) puede incluir una red neuronal con una pluralidad de nodos, en particular una de las unidades de aprendizaje artificial a la que se aplican las funciones de modulación. En este caso, los uno o más parámetros pueden ser al menos uno de los siguientes: una ponderación para un nodo de la red neuronal, una función de activación de un nodo, una función de salida de un nodo, una función de propagación de un nodo. Se trata de componentes esenciales de una red neuronal que determinan el procesamiento de los datos en la red. En lugar de establecer nuevas ponderaciones o funciones para los nodos, mediante la función de modulación puede lograrse una superposición de funciones existentes, autoaprendidas y/o predefinidas de la red modulada, que depende de los resultados de la primera unidad de aprendizaje artificial. A este respecto, esta aplicación de funciones de modulación también puede tener lugar, en particular, fuera de una fase de entrenamiento de las redes y, por lo tanto, puede lograrse un acoplamiento activo de dos o más redes al procesar valores de entrada.
[0510] Según una forma de realización a modo de ejemplo, se puede asociar una memoria de clasificaciones a al menos una, preferiblemente a cada una, de las unidades de aprendizaje artificial (unidades de trabajo y evaluación), en donde cada una de las unidades de aprendizaje artificial clasifica los valores de entrada en una o más clases, que se almacenan en la memoria de clasificaciones, estructurándose cada una de las clases en uno o más niveles dependientes, y en donde el número clases y/o niveles en una primera memoria de clasificaciones de la primera unidad de aprendizaje artificial (primera unidad de trabajo/evaluación) es menor
que el número de clases y/o niveles en una segunda memoria de clasificaciones de la segunda unidad de aprendizaje artificial (segunda unidad de trabajo/evaluación). Al diseñar las memorias de clasificaciones de dos unidades de aprendizaje artificial acopladas de forma asimétrica de esta manera, se puede llevar a cabo una evaluación alterna paralela o incluso dependiente del tiempo de los valores de entrada con diferentes objetivos, por ejemplo, una combinación de una clasificación rápida de los valores de entrada y un análisis más profundo y lento de los valores de entrada.
[0512] Como alternativa o además del diseño asimétrico de las memorias de clasificaciones, la complejidad de la primera y la segunda unidad de aprendizaje artificial también se puede diseñar de manera diferente, de modo que, por ejemplo, una primera unidad de aprendizaje artificial (primera unidad de trabajo/evaluación) tenga un grado de complejidad significativamente menor que una segunda unidad de aprendizaje artificial (primera unidad de trabajo/evaluación). En el caso de redes neuronales, por ejemplo, una primera red neuronal puede tener significativamente menos nodos y/o capas y/o aristas que una segunda red neuronal.
[0514] En una posible forma de realización, el uso de al menos una función de modulación puede provocar una superposición dependiente del tiempo de los parámetros de la segunda unidad de aprendizaje artificial, en donde la al menos una función de modulación puede comprender una de las siguientes características: una función periódica, una función escalonada, una función con amplitudes aumentadas brevemente, una función de oscilación amortiguada, una función de batimiento como superposición de varias funciones periódicas, una función de incremento constante, una función de disminución constante. También son posibles combinaciones o secuencias temporales de tales funciones. De esta forma, los parámetros relevantes de una unidad de aprendizaje se pueden superponer en función del tiempo, de modo que, por ejemplo, los valores de salida "salten", debido a la modulación, a espacios de búsqueda que no se alcanzarían sin la superposición.
[0516] Opcionalmente, la segunda unidad de aprendizaje artificial puede comprender una segunda red neuronal con una pluralidad de nodos, en donde el uso de al menos una función de modulación provoca la desactivación de al menos una parte de los nodos. Este tipo de desactivación también puede considerarse como un "abandono" en función de los valores de salida de la primera unidad de aprendizaje artificial y también puede proporcionar nuevas áreas de búsqueda en las clasificaciones, así como reducir el esfuerzo computacional y, por lo tanto, acelerar la ejecución del método.
[0518] En formas de realización a modo de ejemplo, el método puede comprender además establecer una unidad de aprendizaje artificial actualmente dominante en el sistema, así como formar valores de salida global del sistema a partir de los valores de salida de la unidad actualmente dominante. De esta manera, las dos o más unidades de aprendizaje artificial del sistema se pueden vincular y sincronizar de manera lógica.
[0520] Por ejemplo, la primera unidad de aprendizaje artificial (en particular, la primera unidad de trabajo) se puede definir como la unidad dominante hasta que estén disponibles uno o más valores de salida de la segunda unidad de aprendizaje artificial (en particular, la segunda unidad de trabajo). De esta manera, se puede garantizar que el sistema tome decisiones en todo momento, es decir, que el sistema pueda reaccionar en cualquier momento (después de una primera ejecución de la primera unidad de trabajo), incluso antes de que todas las unidades de aprendizaje artificial existentes del sistema hayan llevado a cabo una clasificación completa de los valores de entrada.
[0522] También es posible, a este respecto, aplicar una comparación adicional de los valores de entrada actuales con valores de entrada anteriores por parte de al menos una de las unidades de aprendizaje artificial del sistema, en donde, si la comparación da como resultado una desviación por encima de un valor umbral de entrada predeterminado, la primera unidad de aprendizaje artificial se establece como la unidad dominante. De esta manera, es posible garantizar que en caso de valores de entrada que hayan variado significativamente (por ejemplo, la detección de una nueva situación por parte de los sensores) se responda inmediatamente con un nuevo análisis de los valores de entrada.
[0524] Además, o como alternativa, se puede llevar a cabo una comparación adicional de los valores de salida actuales de la primera unidad de aprendizaje artificial con valores de salida anteriores de la primera unidad artificial (en particular, la primera unidad de trabajo), en donde, si la comparación da como resultado una desviación por encima de un valor umbral de salida predeterminado, la primera unidad de aprendizaje artificial se establece como la unidad dominante. Al evaluar las desviaciones en los valores de salida, por ejemplo, cuando hay diferentes clases como resultado en comparación con una ejecución anterior, también se pueden identificar indirectamente variaciones de los valores de entrada que tienen cierta importancia y, por lo tanto, hacen que resulte razonable una nueva clasificación.
[0526] En ciertas formas de realización, el sistema puede comprender además al menos un temporizador en el que se almacenan uno o más lapsos de tiempo predeterminados que se asocian a una o más de las unidades de aprendizaje artificial, en donde el temporizador está configurado para medir, para cada una de las unidades de aprendizaje artificial, la expiración del lapso de tiempo predefinido asociado a esta unidad. Un elemento de este tipo proporciona una forma de sincronizar las diferentes unidades de un sistema, por ejemplo, y controlar
cuándo se esperan o se procesan adicionalmente valores de salida de una unidad específica. De esta manera, un temporizador puede definir una latencia ajustable del sistema global, dentro de la cual una decisión debería estar disponible como valor de salida global del sistema. Este tiempo puede ser, por ejemplo, de unos pocos ms, por ejemplo 30 o 50 ms, y puede depender, entre otras cosas, de la topología existente de las unidades de cálculo y las unidades informáticas disponibles (procesadores u otros medios de procesamiento de datos).
[0527] Por ejemplo, la medición del lapso de tiempo predeterminado asociado para una de las unidades de aprendizaje artificial puede iniciarse tan pronto como esta unidad de aprendizaje artificial se establezca como unidad dominante. De esta manera, se puede garantizar que una unidad desarrolle una solución dentro de un tiempo específico u, opcionalmente, que el procesamiento de datos se interrumpa incluso.
[0529] En una posible forma de realización, la segunda unidad de aprendizaje artificial (en particular, la segunda unidad de trabajo) puede establecerse como la unidad dominante si ha transcurrido en el temporizador un primer lapso de tiempo predeterminado para la primera unidad de aprendizaje artificial. Esto garantiza que sea posible una reacción basada en la primera unidad artificial incluso antes de que las unidades de aprendizaje artificial analicen los valores de entrada, mientras la segunda unidad evalúa los datos con más detalle.
[0531] En cualquier forma de realización, los valores de entrada pueden comprender, por ejemplo, uno o más de los siguientes: valores medidos detectados por uno o más sensores, datos adquiridos por una interfaz de usuario, datos recuperados de una memoria, datos recibidos a través de una interfaz de comunicación, datos emitidos por una unidad informática. Por lo tanto, puede tratarse, por ejemplo, de datos de imagen capturados por una cámara, datos de audio, datos de posición, valores físicos medidos tales como velocidades, valores de distancia medidos, valores de resistencia y, en general, cualquier valor que sea adquirido por un sensor adecuado. Un usuario también puede introducir o seleccionar datos mediante un teclado o una pantalla, los cuales, opcionalmente, también se pueden vincular a otros datos, como los datos de sensor.
[0533] Sobra decir que los ejemplos descritos anteriormente se pueden combinar entre sí de cualquier manera. Por ejemplo, en cada una de las formas de realización descritas, también puede estar presente un temporizador, que se describió en relación con la figura 4. En todos los ejemplos, las unidades de aprendizaje también pueden tener memorias de clasificaciones, como se describieron a modo de ejemplo en conexión con la figura 5. Todas estas variantes se pueden aplicar, a su vez, a un acoplamiento de incluso más de tres o cuatro unidades de aprendizaje artificial.
Claims (15)
1. REIVINDICACIONES
1. Método ejecutado en un control de una máquina para procesar valores de entrada (X¡) que comprenden datos de sensor adquiridos por uno o más sensores en un sistema global que presenta un plano de trabajo (710) y un plano de evaluación (730), que son sistemas de aprendizaje artificial, que comprende ejecutar repetidamente las siguientes etapas a) - d):
a) introducir primeros valores de entrada (Xi(t1)) en el plano de trabajo y determinar, el plano de trabajo, primeros valores de salida (Salida11) a partir de los primeros valores de entrada, conforme a una primera clasificación;
b) formar primeros datos de situación (Y(t3)) basándose en los primeros valores de salida (Salida11);
c) introducir los primeros datos de situación en el plano de evaluación y determinar, el plano de evaluación, primeras evaluaciones (Salida21) que indican si los primeros datos de situación cumplen primeras condiciones predefinidas y en qué medida;
d) influir, en la siguiente ejecución de las etapas a) - d), en la determinación de los primeros valores de salida en el plano de trabajo basándose en las primeras evaluaciones;
ejecutar repetidamente las siguientes etapas e) - h):
e) introducir segundos valores de entrada (Xi(t2)) en el plano de trabajo y determinar, el plano de trabajo, segundos valores de salida (Salida12) a partir de los segundos valores de entrada, conforme a una segunda clasificación, en donde la determinación de los segundos valores de salida está influenciada por los primeros valores de salida;
f) formar segundos datos de situación (Y(t4)) basándose en los segundos valores de salida;
g) introducir los segundos datos de situación en el plano de evaluación y determinar, el plano de evaluación, segundas evaluaciones (Salida22) que indican si los segundos datos de situación cumplen segundas condiciones predefinidas y en qué medida, en donde la determinación de las segundas evaluaciones está influenciada por las primeras evaluaciones;
h) influir, en la siguiente ejecución de las etapas e) - h), en la determinación de los segundos valores de salida en el plano de trabajo basándose en las segundas evaluaciones;
en donde los primeros y/o segundos valores de salida se usan como valores de salida globales (Salida) del sistema global, en donde los valores de salida globales se usan como parámetros de control y/o parámetros de estado de la máquina;
en donde la determinación de los primeros y segundos valores de salida a partir de los primeros o segundos valores de entrada y la determinación de los primeros y segundos valores de salida a partir de los primeros o segundos valores de situación se realiza en cada caso mediante uno o más parámetros de los sistemas de aprendizaje artificial, y en donde la influencia en las etapas d), e), g) y h) en cada caso incluye una modulación de los uno o más parámetros respectivos.
2. Método según la reivindicación 1, en donde las etapas a) - d) se ejecutan repetidamente hasta que haya transcurrido un primer lapso de tiempo predeterminado y/o los primeros valores de salida ya no varíen entre repeticiones sucesivas dentro de unas primeras tolerancias predeterminadas y/o las primeras evaluaciones indiquen que las primeras condiciones se han cumplido al menos en cierta medida; en donde, preferiblemente, los primeros valores de salida se usan como valores de salida globales una vez concluida esta ejecución repetida; y/o
en donde las etapas e) - h) se ejecutan repetidamente hasta que haya transcurrido un primer lapso de tiempo predeterminado y/o los segundos valores de salida ya no varíen entre repeticiones sucesivas dentro de unas segundas tolerancias predeterminadas y/o las segundas evaluaciones indiquen que las segundas condiciones se han cumplido al menos en cierta medida; en donde, preferiblemente, los segundos valores de salida se usan como valores de salida globales una vez concluida esta ejecución repetida.
3. Método según una de las reivindicaciones anteriores, que comprende
almacenar, en una memoria (760, 860) de secuencias globales, secuencias globales de conjuntos globales que comprenden valores de entrada y/o primeros valores de salida y/o primeros datos de situación y/o primeras evaluaciones y/o segundos valores de salida y/o segundos datos de situación y/o segundas evaluaciones mutuamente correspondientes en cada caso; en donde, preferiblemente, los conjuntos
globales y/o los valores o datos comprendidos en los conjuntos globales se dotan de información de tiempo respectiva y/o de una numeración.
4. Método según una de las reivindicaciones anteriores, que comprende complementar las primeras y/o segundas condiciones de modo que, para primeros o segundos datos de situación para los que no se cumplan las primeras o segundas condiciones antes de la complementación, las primeras o segundas condiciones complementadas se cumplan o se cumplan al menos en cierta medida; en donde, preferiblemente, solo se modifican las segundas condiciones y las primeras condiciones permanecen sin cambios;
en donde, preferiblemente, dado el caso, si la repetición de las etapas e) - h) se interrumpe, porque ha transcurrido el segundo lapso de tiempo o, preferiblemente, porque los segundos valores de salida ya no varían dentro de las segundas tolerancias, se complementan las segundas condiciones de modo que los datos de situación existentes en el momento de la interrupción cumplan las segundas condiciones complementadas; y/o
en donde, preferiblemente, dado el caso, la complementación de las primeras y/o segundas condiciones se realiza basándose en las secuencias globales almacenadas para las que no se pudieron cumplir las primeras o segundas condiciones.
5. Método según una de las reivindicaciones anteriores, en donde la segunda clasificación clasifica al menos una clase de la primera clasificación en varias subclases y/o en donde, para al menos una de las primeras condiciones, esta primera condición queda implícita por varias de las segundas condiciones.
6. Método según una de las reivindicaciones anteriores, en donde las primeras condiciones se proporcionan en forma de reglas y las segundas condiciones se proporcionan en forma de clasificaciones de reglas; en donde a cada regla se le asocia una clasificación de reglas, que representa una subdivisión, en particular en varios niveles, de la regla respectiva; en donde, preferiblemente, están previstas memorias en las que se almacenan las reglas y las clasificaciones de reglas; en donde, más preferiblemente, las clasificaciones de reglas se subdividen en niveles que están vinculados mediante una cadena de bloques, en donde las reglas y/o las clasificaciones de reglas están implementadas en cada caso en forma de un contrato inteligente y/o en donde, en caso de dependencia de la reivindicación 4, al complementar las segundas condiciones, se añade un nivel adicional de subdivisión.
7. Método según una de las reivindicaciones anteriores, en donde, el plano de trabajo está diseñado de tal manera que la determinación de los primeros valores de salida en la etapa a) requiere un período de tiempo más corto y la determinación de los segundos valores de salida en la etapa e) requiere un período de tiempo más largo; y/o en donde el plano de evaluación está diseñado de tal manera que la determinación de las primeras evaluaciones en la etapa c) requiere un período de tiempo más corto y la determinación de las segundas evaluaciones en la etapa g) requiere un período de tiempo más largo; en donde, preferiblemente, en ambos casos, independientemente entre sí, el período de tiempo más largo es, al menos por un factor de 2, en particular al menos por un factor de 5, más largo que el período de tiempo más corto.
8. Método según una de las reivindicaciones anteriores, en donde los primeros y segundos valores de entrada se proporcionan como señales de entrada continuas en el tiempo o como series temporales discretas en el tiempo, en donde, preferiblemente, los primeros y segundos valores de entrada son total o parcialmente idénticos.
9. Método según una de las reivindicaciones anteriores,
en donde el plano de trabajo comprende una primera y una segunda unidad (810, 820) de trabajo de aprendizaje artificial; en donde la primera unidad (810) de trabajo de aprendizaje artificial está configurada para recibir los primeros valores de entrada (Xi(t1)) y para determinar los primeros valores de salida; en donde la segunda unidad (820) de trabajo de aprendizaje artificial está configurada para recibir los segundos valores de entrada (Xi(t2)) y determinar los segundos valores de salida;
en donde, en el plano de trabajo, una o más primeras funciones de modulación (fmod<1>_f, fmod<1>_w) se forman sobre la base de los primeros valores de salida y/o valores derivados de los mismos, en donde las una o más primeras funciones de modulación formadas se aplican a uno o más parámetros (foutA2, faktA2, ftransA2, wiA2) de la segunda unidad (820) de trabajo de aprendizaje artificial, en donde los uno o más parámetros influyen en el procesamiento de valores de entrada y en la obtención de valores de salida en la segunda unidad trabajo de aprendizaje artificial; y
en donde, preferiblemente, una o más segundas funciones de modulación (fmod<2>_f, fmod<2>_w) se forman sobre la base de las primeras evaluaciones y/o valores derivados de las mismas, en donde las una o más segundas funciones de modulación formadas se aplican a uno o más parámetros (foutA1, faktA1, ftransA1, wiA1) de la primera unidad (810) de trabajo de aprendizaje artificial, en donde los uno o más parámetros influyen en el procesamiento de valores de entrada y en la obtención de valores de salida en la primera unidad trabajo de
aprendizaje artificial.
10. Método según la reivindicación 9,
en donde las primeras evaluaciones y/o valores derivados de las mismas se usan como valores de entrada de evaluación de la primera unidad (810) de trabajo de aprendizaje artificial;
y/o en donde las segundas evaluaciones y/o valores derivados de las mismas se usan como valores de entrada de evaluación de la segunda unidad (820) de trabajo de aprendizaje artificial.
11. Método según una de las reivindicaciones anteriores, en donde el plano de evaluación comprende una primera y una segunda unidad (830, 840) de evaluación de aprendizaje artificial; en donde la primera unidad (830) de evaluación de aprendizaje artificial está configurada para recibir los primeros datos de situación (Y(t3)) y para determinar las primeras evaluaciones; en donde la segunda unidad (840) de evaluación de aprendizaje artificial está configurada para recibir los segundos datos de situación (Y(t4)) y para determinar las segundas evaluaciones; y
en donde, en el plano de evaluación, una o más terceras funciones de modulación (fmod3_f, fmod3_w) se forman sobre la base de las primeras evaluaciones y/o valores derivados de las mismas, en donde las una o más segundas funciones de modulación formadas se aplican a uno o más parámetros (foutB2, faktB2, ftransB2, wiB2) de la segunda unidad (840) de evaluación de aprendizaje artificial, en donde los uno o más parámetros influyen en el procesamiento de valores de entrada y en la obtención de valores de salida en la segunda unidad evaluación de aprendizaje artificial.
12. Método según la reivindicación 11, que comprende además
almacenar, en una primera memoria de secuencias, una primera secuencia de evaluaciones de primeros conjuntos de evaluaciones que comprenden los valores de entrada de la primera unidad de evaluación y primeras evaluaciones asociadas, en donde los primeros conjuntos de evaluaciones se dotan en particular de información de tiempo respectiva y/o de una numeración; y/o
almacenar, en una segunda memoria (832) de secuencias, una segunda secuencia de evaluaciones de segundos conjuntos de evaluaciones que comprenden los valores de entrada de la segunda unidad de evaluación y primeras evaluaciones asociadas, en donde los segundos conjuntos de evaluaciones se dotan en particular de información de tiempo respectiva y/o de una numeración;
en donde, preferiblemente, la determinación de las primeras y/o las segundas evaluaciones se realiza teniendo en cuenta las primeras o segundas secuencias de evaluaciones almacenadas.
13. Método según una de las reivindicaciones anteriores, que comprende
recibir valores de salida de otro sistema;
formar primeros y/o segundos datos de situación a partir de los valores de salida recibidos; determinar, el plano de evaluación, primeras y/o segundas evaluaciones basándose en los primeros o segundos datos de situación formados a partir de los valores de salida recibidos;
establecer que el otro sistema es compatible cuando las primeras y/o segundas evaluaciones determinadas indican que se cumplen las primeras o segundas condiciones.
14. Sistema en un control de una máquina que comprende un plano (710) de trabajo y un plano (730) de evaluación y está configurado para llevar a cabo métodos según una de las reivindicaciones anteriores; en donde el plano de trabajo está configurado para recibir los valores de entrada y en donde, preferiblemente, el plano de evaluación no es capaz de recibir los valores de entrada.
15. Sistema según la reivindicación 14, en donde el plano de trabajo y el plano de evaluación están implementados en cada caso en al menos una unidad informática.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102020130604.0A DE102020130604A1 (de) | 2020-11-19 | 2020-11-19 | Verfahren und System zum Verarbeiten von Eingabewerten |
| PCT/EP2021/082350 WO2022106645A1 (de) | 2020-11-19 | 2021-11-19 | Verfahren und system zum verarbeiten von eingabewerten |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3051636T3 true ES3051636T3 (en) | 2025-12-29 |
Family
ID=78820336
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES21819084T Active ES3051636T3 (en) | 2020-11-19 | 2021-11-19 | Method and system for processing input values |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US20240027977A1 (es) |
| EP (1) | EP4248284B1 (es) |
| JP (1) | JP7808108B2 (es) |
| KR (1) | KR20230108293A (es) |
| CN (1) | CN116685912A (es) |
| DE (1) | DE102020130604A1 (es) |
| ES (1) | ES3051636T3 (es) |
| WO (1) | WO2022106645A1 (es) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115268264B (zh) * | 2022-06-28 | 2024-12-10 | 南京工业大学 | 一种基于迭代区间估计的化学品混合罐系统事件触发故障检测方法 |
| CN116757534B (zh) * | 2023-06-15 | 2024-03-15 | 中国标准化研究院 | 一种基于神经训练网络的智能冰箱可靠性分析方法 |
| CN116881262B (zh) * | 2023-09-06 | 2023-11-24 | 杭州比智科技有限公司 | 一种智能化的多格式数字身份映射方法及系统 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5659666A (en) * | 1994-10-13 | 1997-08-19 | Thaler; Stephen L. | Device for the autonomous generation of useful information |
| US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
| JP6934077B2 (ja) | 2015-11-30 | 2021-09-08 | 住友重機械工業株式会社 | ショベル |
| US11138724B2 (en) * | 2017-06-01 | 2021-10-05 | International Business Machines Corporation | Neural network classification |
| US20220292331A1 (en) | 2019-05-21 | 2022-09-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coupling multiple artificially learning units with a projection level |
-
2020
- 2020-11-19 DE DE102020130604.0A patent/DE102020130604A1/de active Pending
-
2021
- 2021-11-19 US US18/037,626 patent/US20240027977A1/en active Pending
- 2021-11-19 ES ES21819084T patent/ES3051636T3/es active Active
- 2021-11-19 EP EP21819084.1A patent/EP4248284B1/de active Active
- 2021-11-19 KR KR1020237019741A patent/KR20230108293A/ko active Pending
- 2021-11-19 WO PCT/EP2021/082350 patent/WO2022106645A1/de not_active Ceased
- 2021-11-19 JP JP2023529925A patent/JP7808108B2/ja active Active
- 2021-11-19 CN CN202180087971.2A patent/CN116685912A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| DE102020130604A1 (de) | 2022-05-19 |
| WO2022106645A1 (de) | 2022-05-27 |
| JP2023550377A (ja) | 2023-12-01 |
| EP4248284A1 (de) | 2023-09-27 |
| CN116685912A (zh) | 2023-09-01 |
| US20240027977A1 (en) | 2024-01-25 |
| KR20230108293A (ko) | 2023-07-18 |
| EP4248284B1 (de) | 2025-10-01 |
| EP4248284C0 (de) | 2025-10-01 |
| JP7808108B2 (ja) | 2026-01-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3050935T3 (en) | Coupling multiple artificially learning units with a projection level | |
| ES3051636T3 (en) | Method and system for processing input values | |
| Diaz et al. | Context aware control systems: An engineering applications perspective | |
| Grossberg | Attention: Multiple types, brain resonances, psychological functions, and conscious states | |
| Manzotti et al. | From behaviour-based robots to motivation-based robots | |
| Crowder et al. | Artificial cognition architectures | |
| Velik | A bionic model for human-like machine perception | |
| Andrejevic | FCJ-187 The droning of experience | |
| Burr | Embodied decisions and the predictive brain | |
| Facchin | Predictive processing and anti-representationalism | |
| Raja | The motifs of radical embodied neuroscience | |
| Nebreda et al. | The social machine: artificial intelligence (AI) approaches to theory of mind | |
| Baeza-Yates et al. | Human vs. artificial intelligence | |
| Krichmar et al. | Advantage of prediction and mental imagery for goal‐directed behaviour in agents and robots | |
| Chakraborty et al. | Awareness in brain, society, and beyond: A bridge connecting raw data to perception and cognition | |
| Takemura et al. | A neural network model for development of reaching and pointing based on the interaction of forward and inverse transformations | |
| Maniadakis et al. | Integrated intrinsic and dedicated representations of time: a computational study involving robotic agents | |
| Chhabra et al. | Artificial intelligence to analyze psychophysical and human lifestyle | |
| Gillett | Representation and cognitive science | |
| Rougier | Implicit and explicit representations | |
| Anzalone | Autonomous Like Us? Machinic Copies and Human Models in the Age of AI | |
| Montironi | An Attention-based Methodology for Context Identification and Exploitation in Autonomous Robots | |
| US20170286862A1 (en) | System for mirroring human memory and generating a three-dimensional clone of personality | |
| Manzotti et al. | A model of a middle level of cognition based on the interaction among the thalamus, amygdala, and the cortex | |
| Diak et al. | Adaptive human digital twin (aHDT) in metaverse: a model for enhancing physical safety |