ES3050935T3 - Coupling multiple artificially learning units with a projection level - Google Patents

Coupling multiple artificially learning units with a projection level

Info

Publication number
ES3050935T3
ES3050935T3 ES20709201T ES20709201T ES3050935T3 ES 3050935 T3 ES3050935 T3 ES 3050935T3 ES 20709201 T ES20709201 T ES 20709201T ES 20709201 T ES20709201 T ES 20709201T ES 3050935 T3 ES3050935 T3 ES 3050935T3
Authority
ES
Spain
Prior art keywords
output values
values
unit
learning unit
network
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
Application number
ES20709201T
Other languages
English (en)
Inventor
Heiko Zimmermann
Günter Fuhr
Antonie Fuhr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universitaet des Saarlandes
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Universitaet des Saarlandes
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Universitaet des Saarlandes, Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Universitaet des Saarlandes
Application granted granted Critical
Publication of ES3050935T3 publication Critical patent/ES3050935T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

La invención se refiere a un método en un sistema compuesto por al menos una segunda y una tercera unidad de aprendizaje artificial, que comprende los siguientes pasos: introducir primeros valores de entrada en al menos una segunda unidad de aprendizaje artificial y obtener valores de salida basados en los valores de entrada de dicha unidad; almacenar, al menos temporalmente, datos de situación, que comprenden primeros valores de entrada y/o segundos valores de salida de la segunda unidad; utilizar los datos de situación como valores de entrada para la tercera unidad de aprendizaje artificial, la cual genera terceros valores de salida en respuesta a los valores de entrada; y comprobar si los segundos valores de salida de la segunda unidad cumplen una o más condiciones específicas basándose en dichos terceros valores de salida. La invención también se refiere a un sistema para implementar dicho método. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0003] Acoplamiento de varias unidades de aprendizaje artificial con un plano de proyección
[0005] La presente invención se refiere a un sistema formado por al menos una primera, una segunda y una tercera unidad de aprendizaje artificial acoplada.
[0007] Estado de la técnica
[0009] La inteligencia artificial desempeña ahora un papel cada vez más importante en innumerables áreas de aplicación. En primer lugar, por esto se entiende 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 (o también IA, inteligencia artificial) a menudo se denomina "IA débil" y se basa esencialmente en el uso de cálculos y algoritmos para simular un comportamiento inteligente en un área específica. Los ejemplos incluyen 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 configurarse con enfoques completamente diferentes.
[0011] Las redes neuronales, entre otras cosas, se utilizan 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 plano 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, pesos y umbrales, por ejemplo, para cada nodo, que determinan si una señal se transmite a un nodo y en qué medida.
[0013] Los nodos generalmente se ven en planos o capas, de modo que cada red neuronal presenta al menos una capa de salida. Antes de esto, pueden estar presentes capas adicionales denominadas capas ocultas, de modo que se forme una red de múltiples capas. Los valores o entidades de entrada también se pueden considerar como capa. Las conexiones entre los nodos de las distintas capas se denominan bordes, que normalmente están cubiertos con 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 se pueden conectar, pero una señal no se puede procesar adicionalmente a través de un nodo específico, por ejemplo, debido a un peso aprendida con el valor 0.
[0015] 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 de red) 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 un peso asociado se especifica para cada valor de entrada. Sin embargo, en principio, también son posibles otras funciones de propagación. A este respecto, los pesos se pueden predefinir como una matriz de pesos para la red.
[0017] 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 distintas funciones de activación, por ejemplo, funciones de valor 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 forma el estado de activación. Opcionalmente, también se puede especificar una función de salida o función de salida adicional, que se aplica a la salida de la función de activación y define el valor de salida final del nodo. Sin embargo, A este respecto, el resultado de la función de activación simplemente se transmite directamente como un valor de salida, es decir, la identidad se usa como una 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 transmiten entonces a la siguiente capa de la red neuronal como valores de entrada para los nodos respectivos de la capa, en 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 pueden presentarse bordes dirigidos hacia atrás con respecto a las capas anteriores o que vuelvan a la capa de emisión, de modo que exista una red recurrente.
[0020] Por otro lado, la red puede cambiar los pesos con los 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.
[0022] Para ello, se suele utilizar la retroalimentació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 retroalimentación de errores, varios parámetros de la red se pueden ajustar en consecuencia, por ejemplo, la anchura 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, a este respecto se diferencian las siguientes variantes:
[0025] En el aprendizaje supervisado, 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 deja que el sistema encuentre las conexiones o reglas, de modo que solo los patrones que se van a aprender se especifican por sí mismos. Una variante intermedia es el aprendizaje parcialmente supervisado, en el que los conjuntos de datos también se pueden utilizar sin clasificaciones predefinidas.
[0029] El aprendizaje reforzado, o aprendizaje Q, crea un agente que puede recibir recompensas y castigos por sus acciones y lo usa para tratar de maximizar las recompensas recibidas y así adaptar su comportamiento.
[0030] 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, se pueden predefinir al menos parcialmente, o se pueden desarrollar o aprender de forma independiente mediante una red.
[0032] El funcionamiento básico y otros detalles específicos de tales redes neuronales se conocen en la materia, por ejemplo, por R. Schwaiger, J. Steinwender, Programming Neural Networks with Python, Rheinwerk Computing, Bonn 2019.
[0034] Un sistema de IA de aplicación universal, que por lo tanto 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 diferentes soluciones a este respecto. 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. Al aplicar métodos de filtrado a las características, se pueden eliminar los datos que no llaman la atención o llaman la atención de forma negativa 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 a este respecto de manera que pueden entrenar una nueva red de la manera más rápida y eficaz posible.
[0036] Otros enfoques comprenden las llamadas "redes neuronales convolucionales", que utilizan convoluciones en al menos una capa de una red de múltiples capas y totalmente conectada en lugar de simples transformaciones matriciales. Para ello se conoce por ejemplo, el llamado método de "sueño profundo", en particular 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. De este modo, por ejemplo, se muestra lo que el sistema cree identificar. El nombre hace referencia al hecho de que se crean a este respecto imágenes oníricas. De esta forma, se pueden rastrear los procesos internos de la red neuronal y su dirección.
[0038] Se puede ver a este respecto 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 lenguaje, la lógica de lenguaje, 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 vincula todos estos datos en relación con los sentimientos y las categorizaciones "blandas" inconscientes.
[0040] El documento US10242665B1 describe un sistema de control que limita el funcionamiento de las redes neuronales a condiciones o límites específicos para evitar salidas defectuosas. El sistema detecta automáticamente las desviaciones y puede corregir o reemplazar las redes afectadas en tiempo real, en particular en vehículos autónomos.
[0042] YAN, Zhicheng y col. HD-CNN: Hierarchical Deep Convolutional Neural Networks for Large Scale Visual Recognition. En: Conferencia Internacional IEEE sobre Visión Artificial 2015. 2015. El documento DOI 10.1109/ICCV.2015.314. describe una arquitectura jerárquica denominada HD-CNN, en la que un problema de clasificación de imágenes se divide en dos niveles: las clases simples se diferencian mediante un clasificador aproximado, mientras que las clases difíciles se gestionan mediante clasificadores finos especializados.
[0043] Divulgación de la invención
[0045] De acuerdo con la invención, se propone un método en un sistema de unidades de aprendizaje artificial acopladas y un sistema que lleva a cabo este método con las características de las reivindicaciones de patente independientes. Los diseños ventajosos son el objeto de las reivindicaciones secundarias y de la siguiente descripción.
[0047] En particular, se propone un método en un sistema compuesto por al menos una segunda y una tercera unidad de aprendizaje artificial, que comprende introducir primeros valores de entrada en al menos una segunda unidad de aprendizaje artificial y obtener valores de salida en función de los valores de entrada de la al menos una segunda unidad de aprendizaje artificial; almacenar al menos temporalmente datos de situación, en donde los datos de situación comprenden primeros valores de entrada y/o segundos valores de salida de la al menos una segunda unidad; un uso de los datos de situación como valores de entrada de la tercera unidad de aprendizaje artificial, en donde la tercera unidad de aprendizaje artificial genera terceros valores de salida en respuesta a los valores de entrada; y comprende comprobar si los segundos valores de salida de la al menos una segunda unidad cumplen una o más condiciones especificadas en función de los terceros valores de salida. De esta manera, una de las unidades puede actuar como unidad de validación, que evalúa, monitoriza o valida de otro modo las soluciones de una o más unidades del sistema, en particular para cumplir con ciertas condiciones marco que pueden estar configuradas o predefinidas en la unidad de validación.
[0049] A este respecto, los segundos valores de salida pueden rechazarse si la prueba muestra que los valores de salida no cumplen al menos una condición especificada. Adicional o alternativamente, el método puede comprender además una decisión sobre si al menos parte de los datos de la situación actuales deben almacenarse permanentemente, y una transferencia de los datos de la situación, que deben almacenarse permanentemente, a una memoria a largo plazo.
[0051] Según la forma de realización, la decisión de si al menos parte de los datos de situación actuales deben almacenarse permanentemente puede depender del resultado de comprobar si los segundos valores de salida cumplen una o más condiciones especificadas.
[0053] Opcionalmente, almacenar los datos de situación también puede comprender almacenar información de tiempo para los valores de entrada y/o valores de salida, siendo posible, por ejemplo, que la información de tiempo comprenda uno o más intervalos de tiempo a los que se asignan uno o más valores de entrada y/o valores de salida. Como resultado, se puede formar una secuencia temporal o múltiples secuencias temporales a partir de valores de entrada y/o valores de salida, que se pueden procesar juntos y permiten una clasificación con respecto a situaciones, eventos u otros datos.
[0055] Se puede especificar un lapso de tiempo para el que los datos de la situación se almacenan al menos temporalmente, y al menos una de las unidades de aprendizaje artificial se puede configurar para establecer o cambiar el lapso de tiempo. Esta puede ser, por ejemplo, la tercera unidad que puede cambiar el lapso de tiempo en función de sus valores de salida u otras evaluaciones, pero otras unidades de aprendizaje artificial del sistema también pueden acortar o prolongar un lapso de tiempo especificado. El lapso de tiempo también se puede especificar de manera flexible o se puede dimensionar de manera diferente para diferentes datos.
[0056] De acuerdo con formas de realización a modo de ejemplo, el método también comprende comparar los valores de salida actuales de la al menos una segunda unidad con los valores de salida que se almacenan en los datos de situación. La comparación puede llevarse a cabo, por ejemplo, por la tercera unidad. Tal comparación permite recurrir a valores de salida anteriores, es decir, a soluciones anteriores, opcionalmente también junto con los valores de entrada asociados, y por lo tanto puede reproducir el aprendizaje experiencial. Además, se puede utilizar una comparación de los valores de salida para evaluar la calidad de los valores de salida o para constatar si una solución actual cumple peor o mejor una o más condiciones especificadas.
[0058] El sistema comprende una primera unidad de aprendizaje artificial, en donde los primeros valores de entrada se introducen en la primera unidad de aprendizaje artificial y los primeros valores de salida se emiten desde la primera unidad de aprendizaje artificial. Sobre la base de los valores de salida de la primera y/o la tercera unidad de aprendizaje artificial, se forman una o más funciones de modulación, que a continuación se aplican a uno o más parámetros de la segunda unidad de aprendizaje artificial, influyendo el uno o más parámetros en el procesamiento de los valores de entrada y en la obtención de los valores de salida en la segunda unidad de aprendizaje artificial. Esto permite influir en el procesamiento de los valores de entrada en la segunda unidad sin especificar directamente los parámetros en sí.
[0059] En determinadas formas de realización, a cada una de las unidades de aprendizaje artificial se le puede asignar una memoria de clasificación, en donde cada una de las unidades de aprendizaje artificial, al generar los valores de salida, clasifica los valores de entrada en una o más clases que se almacenan en la memoria de clasificación, en donde las clases en cada caso se estructuran en uno o más niveles dependientes, y en donde el número de clases y/o niveles en una memoria de clasificación de la primera o la tercera unidad de aprendizaje artificial es inferior al número de clases y/o niveles en una memoria de clasificación de la segundo unidad de aprendizaje artificial. La asimetría entre las memorias de las diferentes unidades puede garantizar que cada unidad realice una tarea específica Por ejemplo, la primera unidad puede estar realizada como una unidad de categorización rápida o aproximada, mientras que la segunda unidad, que presenta una memoria esencialmente más compleja, puede estar realizada como una unidad de análisis profundo.
[0060] En todas las formas de realización, la primera unidad de aprendizaje artificial comprende una red neuronal, y la segunda unidad de aprendizaje artificial también comprende una red neuronal. También es posible que todas las unidades de aprendizaje artificial de un sistema estén configuradas como redes neuronales. Sin embargo, según el tipo de funciones realizadas, la tercera unidad de aprendizaje artificial también puede implementar otras formas de aprendizaje automático.
[0061] Los valores de entrada, que se introducen al menos en la primera y/o la segunda unidad, pueden ser valores medidos registrados por uno o más sensores, datos registrados por una interfaz de usuario, datos recuperados de una memoria, datos recibidos a través de una interfaz de comunicación y/o datos emitidos por una unidad de cálculo, o cualquier combinación de estas opciones.
[0062] También se propone un sistema que comprende tres o más unidades de aprendizaje artificial, así como medios para registrar valores de entrada, que se ingresan como primeros valores de entrada en una primera y una segunda unidad de aprendizaje artificial (por ejemplo, dichos sensores, interfaces u otras); además, el sistema comprende al menos una interfaz de usuario para enviar los valores de salida totales a un usuario, formándose los valores de salida totales sobre la base de los valores de salida de una o más de las unidades de aprendizaje artificial y en donde el sistema está configurado para llevar a cabo un método utilizando cualquier combinación de las etapas de método descritas anteriormente.
[0063] Otras ventajas y configuraciones de la invención resultan de la descripción y del dibujo adjunto.
[0064] Cabe señalar que los términos "primera", "segunda" y "tercera" unidad se utilizan A este respecto en el sentido de identificadores de referencia para unidades con funciones específicas, tal y como se describen en cada contexto, y no deben entenderse necesariamente como números ordinales.
[0065] Sobra decir que las características mencionadas anteriormente y las que se explicarán a continuación pueden usarse no solo en la combinación indicada en cada caso sino también en otras combinaciones o individualmente, sin apartarse del marco de la presente invención.
[0066] La invención se muestra esquemáticamente en el dibujo sobre la base de ejemplos de realización y se describe a continuación con referencia al dibujo.
[0067] Descripción de los dibujos
[0068] La Figura 1 muestra una combinación de dos unidades de aprendizaje artificial acopladas entre sí; la Figura 2 muestra esquemáticamente varias funciones de modulación a modo de ejemplo;
[0069] la Figura 3 ilustra el uso de un método de abandono (dropout) en dos redes neuronales acopladas de acuerdo con una forma de realización;
[0070] la Figura 4 muestra un sistema como el de la Figura 1 con un temporizador adicional;
[0071] la Figura 5 muestra esquemáticamente un sistema como el de la Figura 1 con las memorias de clasificación asignados;
[0072] la Figura 6 muestra un sistema alternativo con tres unidades de aprendizaje artificial acopladas.
[0073] la Figura 7 muestra un sistema extendido a modo de ejemplo con una tercera unidad de aprendizaje artificial y un plano de proyección; y
[0074] la Figura 8 muestra el sistema de la Figura 7 con los elementos de almacenamiento asociados.
[0075] Descripción detallada de formas de realización
[0076] 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. En las siguientes explicaciones, las unidades de aprendizaje artificial están configuradas como redes neuronales a modo de ejemplo.
[0078] A este respecto, está prevista una primera unidad de aprendizaje artificial, A este respecto en forma de una primera red neuronal 110, que puede usarse esencialmente para categorizar las señales de entrada X<i>y, como resultado de esta categorización, para influir en una segunda unidad 120 de aprendizaje artificial, A este respecto 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 los pesos, las anchuras 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 vuelvan a establecer por completo, sino que los parámetros originales de la segunda red 120 se modulan o superponen sobre la base de las señales de salida de la primera red neuronal 110. Esto significa que, por lo demás, las dos redes neuronales trabajan preferiblemente de forma autónoma, por ejemplo, entrenan sus valores básicos por sí mismas, pero a este respecto pueden acoplarse mediante una superposición. A este respecto 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. Adicionalmente, cada una de las redes neuronales tiene su propia memoria.
[0080] En una posible forma de realización, la primera red neuronal 110 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 la base del resultado de la categorización, se influye en la segunda red en consecuencia mediante la modulación de sus parámetros. Para ello, puede estar prevista una red con comparativamente pocos niveles como primera red neuronal, que presenta una memoria con pocas clases K<1>, K<2>, ... K<n>, estén muy abstraídas para 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, adicionalmente o como alternativa, también se puede usar una fase de entrenamiento en un estado acoplado con una o más redes neuronales acopladas.
[0082] Por lo tanto, la primera red neuronal debería proporcionar una salida utilizable en un corto lapso de tiempo, que pueda usarse para influir de manera significativa en la segunda red neuronal. Pueden generarse pesos y funciones a partir de los valores de salidaSalidalde la primera red neuronal 110, que se pueden superponer a los pesos y funciones autogenerados de la segunda red neuronal 120. 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 neuronal 120 también puede entrenarse inicialmente de forma independiente de la manera habitual y, por lo tanto, puede presentar pesos autogenerados.
[0084] A este respecto, la segunda red neuronal puede diseñarse para que sea significativamente más compleja que la primera red neuronal y, en particular, presente más niveles y/o clases de memoria. El grado en el que se incrementa la complejidad de la segunda red en comparación con la primera red se puede establecer a este respecto de manera diferente según el caso de aplicación. Los valores de entrada o los 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 tanto los valores de entrada originales, que también sirvieron como valores de entrada para la primera red, se suministren como valores de entrada, y los valores de salida de la primera red se usen adicionalmente como valores de entrada de la segunda red.
[0086] La Figura 2 muestra, a modo de ejemplo, varias funciones de modulación f<mod>, con las que se pueden superponer uno o más parámetros de la segunda red neuronal. A este respecto, la superposición o modulación puede tener lugar fundamentalmente de cualquier manera. Si se aplica una función de modulación f<mod_w>a los pesos w<i2>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 puedan estar previstas funciones unidimensionales (también diferentes) para cada uno de los valores de ponderación w<i2>. Si se aplica una función de modulación f<mod_f_>a una de las funciones descriptivas de la segunda red neuronal, es decir, a una función de transferencia f<trans2>, una función de activación f<akt2>, una función de propagación o una función de salida f<out2>de la red 120, esto se puede hacer vinculando las dos funciones, en donde también se puede aplicar una función de modulación f<mod_f>a solo una parte o a todas las funciones descriptivas relevantes (por ejemplo, a todas las funciones de activación f<akt2>de la segunda red neuronal 120). Las modulaciones se pueden aplicar por igual a todos los nodos de una red o, alternativamente, solo a una parte 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.
[0087] En particular, las funciones de modulación f<mod>también pueden ser funciones dependientes del tiempo, de modo que los pesos pw<i2>o las funciones de la segunda red neuronal cambian en función del tiempo. Sin embargo, también son posibles 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 adaptados.
[0089] Como ejemplos de esto, en la Figura 2 se muestran ocho funciones de modulación diferentes dependientes del tiempo. 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 presentar otro valor, de modo que los parámetros originales se sometan adicionalmente a un factor. De esta manera, por ejemplo, un peso se activa y desactiva en función del tiempo o se amplifica en función del tiempo. El ejemplo b) muestra una situación inversa en la que se especifica una función escalonada con un segundo valor inferior a cero. Alternativamente a las variantes de los ejemplos a) y b), también son concebibles funciones escalonadas que comprenden dos valores diferentes distintos de 0, de modo que el nivel aumenta o disminuye en consecuencia en función del tiempo.
[0091] 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 determinados elementos en función del tiempo. Por ejemplo, también se podrían seleccionar diferentes amplitudes y/o períodos para una función de este tipo en cada caso 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. En función de la concatenación de las funciones a las funciones autogeneradas de la segunda red, solo se pueden seleccionar valores de función positivos o incluso negativos.
[0093] 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 a corto plazo 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 o máximos distribuidos de forma irregular, que por lo tanto provocan un aumento de nivel durante un lapso de tiempo muy corto. A este respecto los picos aquí A este respecto presentan diferentes amplitudes y pueden asumir valores tanto positivos como negativos (en relación con el valor base). Para las variantes de los ejemplos e) y f), puede haber distribuciones regulares, periódicas y temporalmente completamente irregulares (por ejemplo, determinadas de forma estocástica) de los picos o amplificaciones. A este respecto, los aumentos de nivel cortos pueden estar 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.
[0095] El ejemplo g) en la Figura 2 muestra adicionalmente una oscilación amortiguada, que también podría configurarse según se desee con diferentes amortiguamientos y amplitudes. Finalmente, en el ejemplo h), se muestra una secuencia cronológica de diferentes oscilaciones alrededor del valor básico, en donde A este respecto en particular las longitudes de período de las oscilaciones difieren mientras que la amplitud permanece igual. Esta combinación de diferentes oscilaciones también puede estar configurada como una superposición aditiva, es decir, como suspensión.
[0097] En general, cualquier función de modulación es concebible y las funciones mostradas en la Figura 2 solo deben entenderse como un 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 básico, dependiendo del efecto deseado de la función de modulación. En una concatenación pura de la función de modulación con la función modulada respectiva, se puede garantizar, con un valor fundamental de 0 y los correspondientes aumentos del valor de función, que el nodo respectivo solo contribuya al procesamiento en función del tiempo y que en otros momentos esté desactivado. Con un valor básico de 1, por otro lado, se puede lograr que, por ejemplo con el ejemplo de la Figura 2a), una función de modulación, que se aplica a los pesos, represente primero los pesos autogenerados de la red modulada como un valor fundamental y luego, partiendo del valor más alto escalonado, presente los pesos reforzados de manera correspondiente. Tal función también tiene un efecto de este tipo en la modulación de las funciones, tal como la función de activación por ejemplo.
[0099] 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 formada a partir de estos se puede diseñar de cualquier manera. Por ejemplo, esta relación puede generarse al menos en parte en una fase de entrenamiento conjunta de la red acoplada. En otras formas de realización, se puede especificar cómo se diseña la dependencia entre las funciones de modulación y los valores de salida de la primera red. Opcionalmente, también se podría decidir que, en caso de determinados valores de salida, inicialmente no se realizará ninguna modulación de la segunda red.
[0101] Como alternativa o adicionalmente a la aplicación de funciones de modulación en los pesos y funciones de una segunda red neuronal, también se puede usar un método de abandono acoplado, que se representa en la Figura 3. A este respecto suele ser 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 (“abandonan”). Para ello, en el estado de la técnica se determina habitualmente una tasa de abandono en función de las fallas de red devueltas, que determina la proporción de neuronas desactivadas en toda la red. En lugar de neuronas, asimismo se podrían desactivar parte de los bordes o conexiones entre las neuronas.
[0103] Una desconexión parcial de neuronas y/o bordes de este tipo también puede utilizarse en una segunda red neuronal en formas de realización a modo de ejemplo, en donde los parámetros de abandono ahora no se utilizan sobre la base de la retroalimentación de errores de la propia red, sino, al igual que en la modulación dependiente del tiempo, en función de los valores de salida de una primera red neuronal. A este respecto, por ejemplo, sobre la base de los valores de salida Salida1 de la primera red neuronal 310, se puede establecer una tasa de abandono para la segunda red neuronal, que luego se aplica a la segunda red. La Figura muestra nuevamente dos redes acopladas 310, 320 como en la Figura 1, en donde las neuronas o nodos 326, 328 de la segunda red 320 están indicados ahora esquemáticamente como círculos. A este respecto los bordes de conexión no se muestran y la disposición de las neuronas representadas no debería tener una relación convincente con su topología real. A través de la tasa de abandono ahora se desactiva una parte de las neuronas existentes y, por lo tanto, no se utiliza. Las neuronas activas 326 de la segunda red se muestran sombreadas en la Figura, mientras que las neuronas vacías deberían representar las neuronas abandonadas 328.
[0105] En general, el abandono acoplado descrito en este caso también puede entenderse como una función de modulación f<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, puede determinarse cuáles de las neuronas 326, 328 se desactivan, o solo la velocidad puede especificarse y determinarse mediante funciones estocásticas qué neurona se desactiva. La tasa de abandono también se puede establecer a este respecto 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 de abandono también puede provocar opcionalmente una desactivación dependiente del tiempo, lo que correspondería, por ejemplo, a una concatenació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 desactivaciones de patrón que han demostrado su eficacia en el entrenamiento anterior, de modo que, por ejemplo, se utilicen variaciones de patrón cíclicas para la desactivación en la segunda red neuronal 320.
[0107] En general, el abandono puede garantizar que la velocidad de trabajo de una red neuronal aumente. Además se evita que las neuronas vecinas se acerquen 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.
[0109] Para garantizar que las redes neuronales acopladas se complementen de manera significativa, es posible establecer cuál de las redes neuronales domina el sistema global en un cada momento. Se puede denominar red dominante o dominio a este respecto a aquella red cuyos valores de salida determinan la salida del sistema global. A continuación, se supone que solo una red domina exactamente 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, también son concebibles otras formas de realización, de modo que, por ejemplo, se establecen normas que, en caso de haber más de una red dominante, describen un procesamiento de los valores de salida de las redes dominantes para obtener un valor de salida total definitivo.
[0111] En ejemplos de realización a modo de ejemplo, se puede implementar un temporizador o un elemento de tiempo para este propósito, que establece un tiempo predefinido para una o más de las redes neuronales acopladas. A este respecto, este tiempo predefinido debe entenderse preferiblemente como valor máximo o un límite superior de tiempo después del cual debe presentarse un valor de salida de la red respectiva, de modo que una salida también pueda presentarse ya antes. A más tardar, una vez transcurrido el tiempo especificado para una red determinada, 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.
[0112] Una forma de realización a modo de ejemplo de este tipo se muestra en la Figura 4. A este respecto, la configuración y el acoplamiento de las dos redes neuronales 410, 420 pueden corresponder al ejemplo ya descrito en la Figura 1. El temporizador 440 ahora garantiza que la salida de la primera red neuronal 410 se evalúe a más tardar después de un tiempo especificado, que se establece mediante un valor de parámetro de tiempo especificado. El tiempo requerido se puede medir, por ejemplo, a partir de la alimentación de los valores de entrada X<i>en la red respectiva. Los parámetros de tiempo especificados para una red se pueden seleccionar a este respecto 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 neuronal 410 está formada preferentemente por una red con unas pocas capas ocultas y un pequeño número de clasificación, 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 considerada por las redes acopladas. Además, los parámetros de tiempo predefinidos pueden ser variables y pueden modificarse o establecerse nuevamente, por ejemplo, en función de los resultados de al menos una de las redes neuronales acopladas. Sobra decir que dicho tiempo predefinido debe comprender al menos el lapso de tiempo requerido como tiempo mínimo para atravesar la red 410, 420 respectiva una vez. Como ejemplo, en la Figura 4, se establece un lapso de tiempo de 30 ms para la primera red, de modo que cuando se ejecuta el método, esta red domina 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.
[0114] Durante el lapso de tiempo especificado por el parámetro de tiempo para la primera red 410 (A este respecto 30 ms), la primera red neuronal procesará los valores X<i>de manera habitual. Una vez transcurrido el tiempo especificado, se pueden generar funciones a partir de la salida1 de la primera red neuronal 410, que sirven para superponer o modular los propios pesos y funciones de la segunda red neuronal. Además, como alternativa o adicionalmente al 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 de todo el sistema.
[0116] Tan pronto como las funciones de modulación f<mod_f>, f<mod_w>se hayan aplicado a la segunda red neuronal 420, el temporizador 440 puede iniciar una nueva medición de tiempo y, a este respecto, usar un segundo parámetro de tiempo especificado para la segunda red neuronal 420.
[0118] A este respecto, la segunda red neuronal 420 también puede evaluar opcionalmente de forma independiente los valores de entrada X<i>incluso antes de la modulación mediante las funciones de modulación f<mod_f>, f<mod_w>obtenidas, de modo que, por ejemplo, los valores de entrada también se pueden proporcionar a la segunda red neuronal 420 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 los parámetros y las funciones de la segunda red neuronal se superponen utilizando las funciones de modulación correspondientes f<mod_f>, f<mod_w>. A este respecto, se pueden formar una o más funciones de modulación para diferentes partes de la segunda red neuronal 420, por ejemplo, para los pesos, 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á configurada 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 periodo de tiempo para que sea correspondientemente más largo.
[0120] 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 la red dominante en el sistema global debido a los períodos 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 el dominio está en 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 encontrado una solución. De esta manera, una red de categorización rápida, como la primera red 410 descrita en esta memoria, que evalúa continuamente los valores de entrada existentes, también puede realizar intervenciones a corto plazo, siempre que los valores de salida encontrados se incorporen a la salida general. Dichas formas de realización se describen con más detalle a continuación.
[0122] 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 de "peligro", que aún no incluye una evaluación exhaustiva del tipo de peligro, pero que ya puede conducir 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 sobre la base de los valores de salida de la segunda red.
[0124] 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 de categorización rápida, mientras que la segunda red no recibe ninguna especificación de tiempo fija, o viceversa. Dicha forma de realización también se puede combinar con otros métodos para determinar la red dominante actualmente, que se describen con más detalle a continuación.
[0126] En todas las formas de realización en las que se utilice un temporizador, puede estar previsto que en cada caso 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 los valores de entrada especificados, se produce a este respecto un cierto período de latencia durante el cual los valores de salida anteriores (de la primera o la segunda red) siguen disponibles como valores de salida totales.
[0127] Si se establecen requisitos 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.
[0129] 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, a este respecto 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.
[0131] 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 procese los valores de entrada y llegue a una primera solución determinada o valores de salida determinados.
[0133] 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.
[0135] 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 predeterminada, que anula 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 transfiera en cualquier caso de nuevo a la de la primera red neuronal. Como resultado, también se reinicia un temporizador opcionalmente presente para esta primera red neuronal y el proceso se lleva a cabo 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.
[0137] 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. Los umbrales de significancia individuales también se pueden especificar para diferentes valores de entrada o para cada valor de entrada, o puede estar previsto un valor general, por ejemplo en forma de una desviación porcentual, como base para evaluar un cambio en 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.
[0139] Alternativa o adicionalmente, el cambio de dominancia entre las redes acopladas puede hacerse dependiente de los valores de salida hallados para cada red. 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, los umbrales de significancia pueden especificarse en cada caso para las clases que están disponibles para la clasificación de la primera red neuronal, de modo que, si el resultado de la primera red neuronal da lugar a un cambio significativo en la clase encontrada para los datos de entrada, se transfiere inmediatamente el dominio a la primera red neuronal, lo que permite una rápida reevaluación de la situación y, si es necesario, 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.
[0141] Los primeros valores de salida de la primera unidad de aprendizaje artificial y los segundos valores de salida de la segunda unidad de aprendizaje artificial se utilizan como señales de control directas o indirectas para los accionadores de un sistema automatizado. Los valores de salida también pueden procesarse posteriormente primero mediante funciones y evaluaciones adicionales y/o combinarse con otros datos y valores.
[0143] 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 clasificación K<i>utilizadas es inicialmente de importancia secundaria en este caso y se describirá con más detalle a continuación. A este respecto, la dimensión y la estructura de las dos memorias de clasificación de la primera red 512 y la segunda red 522 pueden diferir 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.
[0145] En el presente ejemplo, una primera red 510 neuronal está diseñada con relativamente pocas clasificaciones K<1>, K<2>, ...., K<n>, 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 estar configurada en una topología comparativamente 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.
[0147] La segunda red 520 neuronal 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, ..., K<m>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 neuronal 510. 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.
[0149] 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. Las clases abstractas y resumidas se pueden usar preferiblemente para este propósito. En un ejemplo, una situación registrada (por ejemplo, basada en datos de sensor, como datos de imagen y audio) puede clasificarse entonces como "animal grande y potencialmente peligroso" por la primera red neuronal 510 sin llevar a cabo evaluaciones adicionales. Esto significa que, por ejemplo, no se realiza ninguna otra clasificación más según la especie animal (lobo, perro) o como depredador peligroso en la primera red, sino que solo se clasifica según características generales registradas de la manera más amplia posible, como el tamaño, la detección de los dientes, las posturas de ataque y otras características. Estos datos, que corresponden esencialmente a la salida "peligro", pueden transmitirse opcionalmente a los sistemas externos correspondientes para una respuesta preliminar y rápida, por ejemplo, un sistema de advertencia para un usuario o a actuadores determinados de un sistema automatizado. Además, la salida Salida1 de la primera red 510 neuronal se usa para generar las funciones de modulación descritas para la segunda red 520 neuronal.
[0150] Los mismos valores de entrada X<i>, es decir, por ejemplo, los valores de sensor mencionados, también se transmiten a la segunda red neuronal 520. A este respecto, los valores de entrada se pueden introducir inmediatamente, es decir, de forma esencialmente simultánea en lo que respecta a la primera red, o con un retraso, en donde según la forma de realización, se introducen antes o solo cuando se utilizan las funciones de modulación, es decir, en la presencia del resultado de la primera red. Es preferible que, en particular en procesos en los que el tiempo es un factor crítico, no se envíen más tarde a la segunda red neuronal, a fin de 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 establecidas) 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 una pluralidad 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, 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".
[0151] En general, para un sistema global acoplado de este tipo con una clasificación asimétrica puede estar previsto, por ejemplo, que las clases K<n>de la primera red 510, que se 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 a este respecto. Esta primera clasificación no tiene que corresponder necesariamente al resultado final que finalmente encuentra 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 el 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 esta clasificación es probablemente correcta o no. Lo que existe como conocimiento evolutivo y reacción instintiva en el caso de la inteligencia humana puede sustituirse por una primera clasificación inicial con conocimientos preprogramados, de modo que todo el sistema global y sus actuadores también puedan llevar a cabo las 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 basada en esta primera clasificación puede entenderse entonces de manera similar a una superposición emocional, es decir, por ejemplo, en correspondencia con una reacción de miedo que automáticamente inicia un análisis consciente de la situación diferente al de una situación considerada 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.
[0153] 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.
[0155] En las formas de realización descritas hasta ahora, solo dos unidades de aprendizaje artificial estaban acopladas entre sí. 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. 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.
[0157] 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, está prevista una tercera red neuronal después de dos redes neuronales, como en la Figura 1, 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 forman, por ejemplo, a partir de los valores de salida de la primera red. A este respecto pueden ser 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 aplican recursivamente a la primera y/o segunda red.
[0159] 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 a este respecto variaciones más complejas de modulaciones y acoplamientos.
[0161] Como ya se indicó al principio, aunque las formas de realización descritas en el presente documento se han descrito a modo de ejemplo con respecto a las redes neuronales, en principio también se pueden transferir a otras formas de aprendizaje automático. Se consideran a este respecto 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 la superposición o la modulación sobre la base de los valores de salida. La alteración de los pesos y funciones de una red neuronal mediante la 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 una unidad de aprendizaje de este tipo. En los ejemplos, la expresión "unidad de aprendizaje" en cada caso 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 en cada caso de forma generalizada en forma de una unidad de aprendizaje artificial, incluso si no se menciona explícitamente en el ejemplo respectivo.
[0163] Además de las redes neuronales, como ejemplos se conocen algoritmos evolutivos, máquinas vectoriales de soporte (SVM), árboles de toma de decisiones y formas especiales respectivas, como bosques aleatorios o algoritmos genéticos.
[0165] También se pueden combinar redes neuronales y otras unidades de aprendizaje artificial. A este respecto 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. 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.
[0167] Adicionalmente o como alternativa a las variantes descritas, un sistema de dos o más unidades de aprendizaje artificial puede mejorarse aún más utilizando al menos una unidad de aprendizaje artificial, por ejemplo, para evaluar o validar los resultados de otra unidad de aprendizaje artificial o realizando tareas adicionales, que se describen a continuación. Esto puede configurarse, por ejemplo, básicamente mediante un sistema con dos unidades de aprendizaje artificial, una de las cuales evalúa posteriormente los resultados de la otra y, opcionalmente, influye en ellos, por ejemplo, definiendo la salida global del sistema. Sin embargo, también son posibles variantes más complejas, por ejemplo, un sistema de tres unidades de aprendizaje artificial, de las cuales dos unidades se acoplan de forma moduladora entre sí como se describió anteriormente y ahora se añade una tercera unidad como unidad de validación.
[0169] Una vez más, como ejemplo de realización, se puede considerar a este respecto un sistema con una primera red 710 y una segunda red neuronal 720, como se describe en relación con la Figura 1 o 5, al que se añade una tercera red neuronal 730. Esta tercera red 730 o, en general, la tercera unidad de aprendizaje artificial también puede presentar su propia memoria de clasificación. Un sistema ampliado de esta manera se muestra en la Figura 7. Además, ahora puede estar presente un plano 750 de proyección. 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 las 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 la segunda unidad (y opcionalmente otras unidades), 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.
[0171] Al plano 750 de proyección puede estar asignado un elemento de almacenamiento asociado a él como memoria de proyección, en la que los datos del plano de proyección se pueden almacenar 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 tercera unidad de validación. Dependiendo de la forma de realización, la memoria del plano de proyección puede servir en esencia 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 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.
[0173] La tercera red 730 neuronal (agente), que se ejecuta aquí como una unidad de validación, evalúa ahora los datos que se presentan en el plano 750 de proyección. Estos pueden ser, por ejemplo, datos de entrada, datos de salida de una de las otras dos redes 710, 720 y/o datos adicionales. Por ejemplo, también podrían procesarse solo datos de salida, opcionalmente con información adicional, en el plano 750 de proyección. Además, 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 por parte de la tercera unidad 730, que puede corresponder a una clasificación o evaluación, se pueden llevar a cabo varias acciones que influyen 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. Estas acciones se describen con más detalle a continuación.
[0174] A este respecto, los datos en el plano 750 de proyección también se pueden vincular entre sí de modo que se obtenga al menos una información adicional. Por ejemplo, una asignación correspondiente o un subparámetro pueden indicar que se ha creado un valor de salida determinado de la segunda red 720 a partir de un valor de entrada específico también presente en el plano de proyección 750 y que, por lo tanto, estos dos valores están vinculados entre sí. 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 redes, y no un punto fijo en el tiempo. Además, o como alternativa a un parámetro de tiempo real, se puede vincular una secuencia a al menos parte de los datos de modo que, incluso sin información temporal explícita en el plano de proyección, sea posible identificar en qué secuencia 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.
[0176] De esta manera, los datos presentes en el plano 750 de proyección, por ejemplo, los valores de entrada y salida, pueden formar secuencias de tiempo, 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 este modo pueden tratarse como un todo. Alternativamente, diferentes valores de entrada y 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. Además, en la Figura 7 se representa nuevamente un temporizador 740 que, de acuerdo con 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 710, 720.
[0178] La Figura 8 muestra una vez más el sistema de la Figura 7, en el que ahora también se muestran los elementos de almacenamiento de todos los elementos de sistema. A este respecto, a la tercera red neuronal 830 también se le puede asignar una memoria de clasificación 832, que, como se muestra en este caso, se puede diseñar con comparativamente pocos niveles y clases Kj. Sin embargo, en principio, asimismo es posible una realización más compleja. En el presente ejemplo, se asume que el número Kj de niveles y/o clases para la tercera red neuronal 830 es significativamente menor que para la segunda red neuronal 820, que está prevista como una unidad de análisis, es decir, más pequeña, por ejemplo, en uno o más órdenes de magnitud. En el dibujo esquemático, la memoria 812 de la primera red 810 de categorización tiene un diseño complejo similar al de la memoria 832 de la tercera red 830 de validación; sin embargo, esto no se especifica necesariamente. Las memorias también pueden diferir aún más. Sin embargo, en una variante en la que las tareas descritas anteriormente se asignan a las tres redes 810, 820, 830, normalmente habrá una asimetría significativa entre los tamaños y las complejidades del almacenamiento, en donde la segunda red 820, que está diseñada como una red de análisis, tendrá una memoria 822 de clasificación significativamente mayor y más compleja.
[0180] También está prevista una memoria 852 para el plano 850 de proyección, que puede diseñarse, por ejemplo, como un elemento de memoria volátil o como un elemento de memoria no volátil en forma de memoria anular u otra memoria a corto plazo, como ya se ha mencionado en relación con la Figura 7. Los datos que se van a procesar en el plano 850 de proyección se almacenan en esta memoria de proyección 852. 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, inicialmente se puede especificar una duración de almacenamiento fijo. Una vez transcurrido este tiempo, los datos de la memoria de proyección 852 pueden descartarse y/o sobrescribirse. Adicional o alternativamente, una parte del sistema, por ejemplo, la tercera red neuronal 830, puede tomar decisiones sobre si los datos de la memoria 852 de proyección se transmiten, al menos en parte, 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, la tercera red neuronal 830 puede decidir que una parte o la totalidad de los datos almacenados en el plano 850 u 852 de proyección deben transferirse a otro elemento de almacenamiento para su almacenamiento a largo plazo. Por ejemplo, este también puede ser uno de los elementos 812, 822 de almacenamiento de las redes neuronales, en particular la memoria 822 de la segunda red neuronal 820, que, como unidad de análisis, puede hacerse cargo de la parte esencial de la búsqueda de los resultados. 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. Por ejemplo, se podría establecer que solo la segunda unidad 820 (y en el caso de sistemas más grandes, por ejemplo, unidades de análisis más detalladas) acceda a la memoria a largo plazo, y/o que la tercera unidad de evaluación 830 regule los accesos.
[0182] Los datos que se presentan en el plano 850 de proyección pueden corresponder a una imagen de una situación actual, por ejemplo, combinando valores de entrada, tales como datos acústicos, datos de imágenes, datos de sensores y textos, que luego se convierten en una imagen interpretada de la situación al vincularse con los valores de salida de las diversas unidades.
[0184] Los valores de salida de al menos una de las otras redes 810, 820 pueden suministrarse ahora al plano 850 de proyección, como muestran las flechas en el dibujo. La inclusión opcional de valores de entrada no se muestra en este caso. La tercera red neuronal 830 recibe los datos del plano 850 de proyección como valores de entrada y forma terceros valores de salida a partir de ellos. A este respecto, todos o solo una parte definida de los datos que están presentes en el plano 850 de proyección o en la memoria 852 de proyección se pueden usar como valores de entrada para la tercera red 830. Sobre la base de las soluciones o los valores de salida recibidos, la tercera red 830 puede entonces activar varias acciones adicionales. Por ejemplo, sobre la base de los terceros valores de salida, es posible decidir si los valores de salida de la primera red 810 y/o la segunda red 820 se encuentran dentro de rangos o parámetros válidos, es decir, si son admisibles como una solución válida. Si se descubre en este caso que, por ejemplo, los valores de salida actuales de la primera y/o la segunda red, que se establecieron como valor de salida global del sistema en los ejemplos anteriores, se encuentran fuera de los rangos permitidos, se puede evitar o detener la respuesta del sistema global sobre la base de esta evaluación, de modo que los primeros/segundos valores de salida de la primera/segunda red obtenidos anteriormente no se transfieran a los actuadores o interfaces, por ejemplo. Los valores de salida evaluados como inadmisibles o inválidos se pueden descartar, pero también como alternativa 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 las situaciones que se detectarán más adelante al no continuar persiguiendo las soluciones que ya se han identificado como inadmisibles.
[0186] A la inversa 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 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. Asimismo, 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.
[0188] La decisión de transferir y almacenar datos del plano 850 de proyección, que ya se ha descrito anteriormente, puede ser tomada por la tercera unidad 830, por ejemplo, sobre la base de tales evaluaciones.
[0190] 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 se almacenen en el plano de proyección o en su memoria 852 asociada. Esto puede considerarse como una imagen sin procesar de una situación actual. Al mismo tiempo, la primera y la segunda unidad 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 y modular los parámetros y funciones determinantes de la segunda unidad.
[0192] Las soluciones halladas, es decir, los valores de salida de la primera y/o la segunda red, 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 y condiciones límite de la tercera unidad. 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.
[0193] 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 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 categorización se almacenan en un segmento de tiempo siguiente y, a continuación, los valores de salida de la segunda unidad. 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.
[0194] En formas de realización a modo de ejemplo, varias unidades del sistema también pueden asumir, al menos parcialmente, 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 categorización para crear una nueva clasificación aproximada de los valores de entrada. Al mismo tiempo, la primera unidad 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 también podrían ajustar el lapso de tiempo 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 establecer una duración de almacenamiento más larga 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.
[0196] 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 pueda comprobar o bloquear la decisión de la primera unidad 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 clasificación 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.
[0198] Si, como en el sistema de la Figura 4 o la Figura 7, 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, la tercera red o la tercera unidad de aprendizaje también pueden modificar y establecer nuevamente el período de almacenamiento especificado. 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 categorización rápida se almacenen en el plano de proyección solo durante un breve lapso 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 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 se almacenen solo hasta que los valores de salida de la segunda unidad estén disponibles. Opcionalmente, a este respecto, la tercera unidad también podría 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 límite especificadas, el almacenamiento de estos valores puede interrumpirse mientras se siguen conservando los valores de salida aproximados de la primera unidad.
[0200] Además, o como alternativa, la tercera unidad de aprendizaje artificial también puede 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, o formar sus propias funciones de modulación que se pueden aplicar a los parámetros y funciones de la segunda red. Como resultado, tanto la primera como la tercera unidad de aprendizaje artificial pueden aplicar funciones de modulación a la segunda unidad, es decir, a la segunda red en el ejemplo de realización, lo que, de este modo, vuelve a influir en sus valores de salida. De manera similar, sobre la base de la evaluación de los valores de salida, una tercera unidad también puede, por ejemplo, volver a establecer o modificar la tasa de abandono, como ya se ha descrito para los nodos de una segunda red neuronal, para influir en el procesamiento. Por ejemplo, esto también puede aumentar la velocidad de procesamiento si se tarda demasiado en encontrar una solución sin que se produzca un abandono. Todas estas opciones pueden tener lugar en paralelo y como complemento al acoplamiento y la modulación entre las dos primeras unidades.
[0201] El sistema puede diseñarse a este respecto de manera que la tercera unidad no decida solo sobre 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.
[0202] En la medida en que la tercera red neuronal esté diseñada como una unidad de evaluación o validación, esta puede comprender, por ejemplo, clasificaciones que incluyen esencialmente características tales como prohibiciones, prioridades y requisitos similares a valores. Al evaluar los valores de salida de las otras unidades, dicho tercera unidad 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. Por lo tanto, estas condiciones límite, que están especificadas, entre otras cosas, por las clasificaciones en la tercera red, pueden definirse y almacenarse preferiblemente de manera firme sin que el sistema pueda cambiarlas. Sin embargo también es concebible que 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.
[0204] Las condiciones límite especificadas por la tercera unidad 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 ajustes previos separados en la memoria de clasificación de la tercera unidad, que correspondan a varios grupos cerrados de clasificación. 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 clasificación que se van a utilizar pueden basarse nuevamente en los resultados de la primera y/o la segunda unidad. 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 clasificación con condiciones límite adicionales o flexibles para la tercera unidad a partir de la configuración básica inmutable de la tercera unidad en las fases de entrenamiento y de funcionamiento del sistema acoplado.
[0206] 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, se puede seleccionar un grupo de clasificación correspondiente para la tercera unidad, sobre la base del cual se evalúen las soluciones o los valores de salida de todas las unidades. 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 clasificación diferente para la tercera unidad 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, la tercera unidad puede limitarse a cumplir con la validez de las condiciones límite y permanecer pasiva mientras no aparezcan contradicciones. Sin embargo, si se producen situaciones más complicadas o desconocidas que puedan provocar daños u otras consecuencias indeseables, la tercera unidad también puede intervenir de manera más activa en la búsqueda de soluciones de la segunda unidad y, por ejemplo, especificar nuevos espacios de búsqueda, modificar o modular parámetros de la segunda unidad o apoyar de otro modo la búsqueda de una solución adecuada.
[0208] De esta manera, la memoria de la tercera unidad, preferiblemente programada de manera fija, contiene las condiciones marco 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. La tercera unidad puede intervenir activamente en la búsqueda de soluciones para la segunda unidad mediante acciones como recompensar y castigar o induciendo nuevos tamaños de paso. Como resultado, los valores de salida de la segunda unidad también se ven influenciados por la tercera unidad a través de una especie de retroalimentación especial.
[0210] Como opción adicional, la tercera unidad de aprendizaje puede influir en un temporizador y en el establecimiento asociado de la dominancia de las unidades individuales en el sistema que, como ya se describió en relación con la Figura 4 o 7, está implementado en un sistema de varias unidades acopladas (en este caso tres, por ejemplo). Por ejemplo, la tercera unidad 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 lapso de tiempo más corto. En consecuencia, por medio de una señal desde la tercera unidad al módulo temporizador, se pueden establecer uno o más parámetros de tiempo nuevos para cada una de las redes acopladas sobre la base de las cuales la dominancia se establezca posteriormente como ya se describió. Tras evaluar los valores de entrada en cuanto al tiempo, la tercera unidad 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 lapso de tiempo y, sobre esta base, especificar otros parámetros de tiempo para el procesamiento.
[0212] Los elementos y las etapas de método descritos en las Figuras 7 y 8 no deberían, por supuesto, limitarse a la forma de realización representada con tres redes neuronales. En particular, la idea básica de una unidad de evaluación puede, en principio, transferirse a cualquier sistema de al menos dos unidades de aprendizaje artificial.
[0214] Otro elemento de un sistema inteligente que consiste en varias unidades de aprendizaje artificial acopladas puede ser una unidad de lenguaje. A este respecto, por lenguaje se entiende preferiblemente la comunicación dentro del sistema, que opcionalmente también se puede usar para comunicarse con otros sistemas iguales o similares. En particular, se puede usar una unidad de lenguaje para reproducir y procesar las situaciones representadas por los valores de entrada y salida del sistema de forma abstracta. En el caso de una unidad que aprende sin supervisión, por ejemplo, las clasificaciones pueden y deben desarrollarse de forma independiente sin especificación previa; una división propia del sistema (reconocimiento de situaciones, objetos y condiciones) puede entenderse como un lenguaje. A este respecto, una unidad de lenguaje también puede estar provista de su propia memoria asociada y, opcionalmente, también puede estar configurada como una red neuronal. Dependiendo de la forma de realización, puede ser apropiado que una memoria de lenguaje esté estrechamente conectada, por ejemplo, a la segunda unidad de análisis del sistema (de acuerdo con las variantes de ejemplo anteriores) o que esté configurada como parte de esta unidad. Si la unidad de lenguaje tiene su propia memoria asociada, esta puede estar configurada en estructura y contenido a la memoria de la segunda unidad y, opcionalmente, pueden conectarse a ella, por ejemplo, para intercambiar clasificaciones recién registradas. También puede estar prevista una conexión externa para introducir y enviar datos de la memoria de lenguaje.
[0216] Una unidad de este tipo puede convertir preferiblemente las categorías de almacenamiento y los contenidos, que se han almacenado, por ejemplo, desde el plano de proyección para el almacenamiento a largo plazo, en términos abstractos, en donde también se pueden formar una sintaxis y una semántica que luego permitan la aplicación lógica y el procesamiento del contenido. Este lenguaje podría usarse para comunicarse entre las unidades de aprendizaje individuales del sistema y permitir un tratamiento abstracto de los problemas sin la inclusión directa de valores de entrada físicos.
[0218] En todas las formas de realización, se entiende que los elementos individuales, es decir, por ejemplo, elementos de almacenamiento, redes neuronales, conexiones entre las unidades 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.
[0220] 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 cubrir 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 clasificación, 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 y generalmente no relevantes que sin embargo de otro modo, nunca se alcanzarían según el tamaño de paso establecido. La tarea también puede cambiar durante un breve lapso de tiempo, ya que se comprueba rápidamente si el nuevo espacio de soluciones es relevante.
[0222] 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 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 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.
[0224] 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 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 de la tercera unidad.
[0225] 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, así como al menos una unidad evaluación que evalúa con opciones de almacenamiento correspondientes. Un sistema de este tipo debería poder asociarse preferiblemente libremente y clasificar los problemas de forma independiente. 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.
[0227] 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 los sistemas de evaluación o las clasificaciones 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 puede estar previsto a este respecto 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.
[0229] 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 se puede utilizar para proporcionar una base general sobre temas, conocimientos, experiencias y habilidades, de modo que posteriormente solo sea necesario recurrir a datos externos en casos especiales. A este respecto, también se puede establecer un carácter de comunicación especificado, 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.
[0231] 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 de comunicación previamente configurado inicialmente se puede adaptar al usuario final (mediante duplicación o complementación) aprendiendo y adaptando el sistema de redes conectadas. 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 comprenden 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 formador externo durante una fase de trabajo y, en particular, durante la fase de entrenamiento, quien puede así establecer aproximadamente cómo el sistema evalúa 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.
[0233] 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.
[0235] 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, "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.
[0237] En una posible forma de realización, está previsto un objeto en el que este sistema de IA está integrado para un usuario. Puede ser un objeto móvil, como un dispositivo técnico (por ejemplo, un teléfono inteligente), pero en particular también un objeto de decoración o un objeto de uso diario, como una lámpara, un jarrón, una pantalla, un espejo u otros objetos que ya ocupan un lugar permanente en un apartamento. La tarea del sistema es ser un compañero artificial, personal e inteligente para el usuario. El sistema establece 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).
[0238] 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 los bajones anímicos del usuario, actuar como "coach" 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.
[0240] 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 personaje del usuario. Entre otras cosas, la información procesada a través del plano de proyección y luego 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.
[0242] 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).
[0244] Mediante correspondientes condiciones límite en la tercera unidad 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. En particular en relación con el trabajo artístico del usuario, un compañero personal inteligente ofrece la oportunidad de brindar apoyo, únicamente a través de evaluaciones preprogramadas y aprendidas. A este respecto, las consideraciones ya se pueden adaptar al usuario. La capacidad asociativa del sistema desempeña un papel importante en este sentido.
[0246] Como otro ejemplo de realización se describe "espejo inteligente". Ya hay un espejo en la zona de entrada o en el baño. Las interfaces de entrada y salida ya descritas en el ejemplo general anterior, tales como varios 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.
[0247] 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.
[0248] De esta manera, 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.
[0250] 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 lapso 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.
[0252] 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.
[0254] 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 la tercera red neuronal de evaluación en los ejemplos de realización anteriores.
[0256] 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 tener 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 correspondientes 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.
[0258] 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. 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.
[0260] 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:
[0262] Por ejemplo, según una forma de realización, se puede implementar un método en un sistema formado por al menos dos 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. A este respecto el 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 adquisición de los valores de salida en la segunda unidad de aprendizaje artificial. Además, se obtienen los valores de salida de la segunda unidad de aprendizaje artificial. Estos pueden representar valores de salida modulados de la segunda unidad, por ejemplo.
[0264] De esta manera, dos unidades de aprendizaje artificial se acoplan 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. Además, al procesar los valores de entrada en dos unidades acopladas, se puede lograr un resultado en menos tiempo o con un análisis más detallado 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.
[0266] En una forma de realización a modo de ejemplo, al menos una de las unidades de aprendizaje artificial puede incluir una red neuronal con una pluralidad de nodos, en particular una de las unidades de aprendizaje 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: un peso 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. A este respecto se trata de componentes esenciales de una red neuronal que establecen el procesamiento de los datos en la red. En lugar de establecer nuevos pesos o funciones para los nodos, la función de modulación puede lograr 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.
[0268] Según una forma de realización a modo de ejemplo, a cada una de las unidades de aprendizaje artificial se le puede asignar una memoria de clasificació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 clasificación, en donde las clases en cada caso se estructuran en uno o más niveles dependientes, y en donde el número de clases y/o niveles en una primera memoria de clasificación de la primera unidad de aprendizaje artificial es inferior al número de clases y/o niveles en una segunda memoria de clasificación de la segundo unidad de aprendizaje artificial. Al diseñar las memorias de clasificación 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.
[0269] Como alternativa o adicionalmente a la realización asimétrica de las memorias de clasificación, 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 tenga un grado de complejidad significativamente menor que una segunda unidad de aprendizaje artificial. 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.
[0271] 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.
[0273] 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.
[0275] En ejemplos de realización a modo de ejemplo, el método puede incluir además establecer una unidad de aprendizaje artificial actualmente dominante en el sistema, así como formar los valores de salida totales del sistema a partir de los valores de salida de la unidad actualmente dominante. De esta manera, las dos o más redes del sistema se pueden acoplar y sincronizar de manera útil.
[0277] Por ejemplo, la primera unidad de aprendizaje artificial 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. 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 aprendizaje), 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.
[0279] 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 una nueva evaluación de los valores de entrada.
[0281] 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 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.
[0283] En ciertas formas de realización, el sistema puede comprender además 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 especificado 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 el valor de salida general 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).
[0285] 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 especificado u, opcionalmente, el procesamiento de datos se interrumpa incluso.
[0287] En una posible forma de realización, la segunda unidad de aprendizaje artificial puede establecerse como la unidad dominante si ha transcurrido en el temporizador un primer lapso de tiempo especificado 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 que la segunda unidad evalúa los datos con más detalle a continuación.
[0289] En cualquier forma de realización, los valores de entrada pueden comprender, por ejemplo, uno o más de los siguientes: valores de medición registrados por uno o más sensores, datos registrados 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 de cálculo. Por lo tanto, puede tratarse, por ejemplo, de datos de imagen registrados por una cámara, datos de audio, datos de posición, valores de medición física tales como velocidades, valores de medición de distancia, valores de resistencia y, en general, cualquier valor que sea registrado por un sensor adecuado. Un usuario también puede introducir o seleccionar datos mediante un teclado o una pantalla y, opcionalmente, también se pueden vincular a otros datos, como los datos de sensor.
[0291] 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 o la Figura 7. En todos los ejemplos, las unidades de aprendizaje también pueden presentar memorias de clasificación, como se describe a modo de ejemplo junto con la Figura 5 o la Figura 8. Todas estas variantes se pueden aplicar, a su vez, a una combinación de incluso más de dos o tres unidades de aprendizaje artificial.

Claims (14)

1. REIVINDICACIONES
1. Método implementado por procesador en un sistema formado por al menos una primera (710, 810), una segunda (720, 820) y una tercera (730, 830) unidad de aprendizaje artificial, que comprende:
introducir los primeros valores de entrada (<x í>) en la primera unidad (710, 810) de aprendizaje artificial, en donde los valores de entrada comprenden valores de sensor y/o datos de audio y/o datos de imagen, y obtener primeros valores de salida de la primera unidad de aprendizaje artificial, en donde la primera unidad de aprendizaje artificial comprende una red neuronal con una pluralidad de nodos;
formar una o más funciones de modulación (f<mod_f>, f<mod_w>) sobre la base de los primeros valores de salida de la primera unidad (710, 810) de aprendizaje artificial y/o sobre la base de los valores de salida de la tercera unidad (730, 830) de aprendizaje artificial;
aplicar la una o más funciones de modulación formadas (f<mod_f>, f<mad_w>) a uno o más parámetros de la segunda unidad de aprendizaje artificial, en donde el uno o más parámetros influyen en el procesamiento de los valores de entrada y en la obtención de valores de salida en la segunda unidad de aprendizaje artificial, en donde la segunda unidad (720, 820) de aprendizaje artificial comprende una red neuronal con una pluralidad de nodos, en donde el número de nodos de la segunda unidad de aprendizaje artificial es significativamente mayor que el número de nodos de la primera unidad de aprendizaje artificial, y en donde el uno o más parámetros son al menos uno de los siguientes: un peso (w<i>) para un nodo de la red neuronal, una función de activación (f<akt>) de un nodo, una función de salida (f<out>) de un nodo, una función de propagación de un nodo;
introducir los primeros valores de entrada también en al menos la segunda unidad (720, 820) de aprendizaje artificial y obtener segundos valores de salida sobre la base de los valores de entrada de la al menos una segunda unidad (720, 820) de aprendizaje artificial;
almacenar al menos temporalmente datos de situación, en donde los datos de situación comprenden primeros valores de entrada y/o segundos valores de salida de la al menos una segunda unidad; usar los datos de situación como valores de entrada de la tercera unidad de aprendizaje artificial, en donde la tercera unidad (730, 830) de aprendizaje artificial genera terceros valores de salida en respuesta a los valores de entrada; y comprobar si los segundos valores de salida de la al menos una segunda unidad cumplen una o más condiciones especificadas basándose en los terceros valores de salida;
en donde los primeros valores de salida y/o los segundos valores de salida se usan como señales de control directas o indirectas para los actuadores de un sistema automatizado, en donde los primeros valores de salida se usan una vez transcurrido un primer lapso de tiempo y en donde, una vez transcurrido un segundo lapso de tiempo, que se inicia al transcurrir el primer lapso de tiempo, se usan los segundos valores de salida.
2. Método según la reivindicación 1,
en donde los segundos valores de salida se descartan si la prueba muestra que los valores de salida no cumplen al menos una condición especificada.
3. Método según la reivindicación 1 o 2, que comprende además:
decidir si al menos parte de los datos de situación actuales debe almacenarse de forma permanente, y transferir los datos de situación, que deben almacenarse permanentemente, a una memoria a largo plazo.
4. Método según la reivindicación 3, en donde la decisión de si al menos parte de los datos de situación actuales deben almacenarse permanentemente depende del resultado de comprobar si los segundos valores de salida cumplen una o más condiciones especificadas.
5. Método según una de las reivindicaciones precedentes, en donde el almacenamiento de los datos de situación comprende además almacenar información de tiempo para los valores de entrada y/o los valores de salida.
6. Método según la reivindicación 5, en donde la información de tiempo comprende uno o más intervalos de tiempo a los que se asignan uno o más valores de entrada y/o valores de salida.
7. Método según una de las reivindicaciones precedentes, en donde los datos de situación se almacenan
temporalmente durante al menos un lapso de tiempo especificado, y en donde al menos una de las unidades (710, 720, 730, 810, 820, 830) de aprendizaje artificial está configurada para establecer o cambiar el lapso de tiempo.
8. Método según una de las reivindicaciones precedentes, que comprende comparar los valores de salida actuales de la al menos una segunda unidad con los valores de salida que se almacenan en los datos de situación.
9. Método según una de las reivindicaciones precedentes, en donde a cada una de las unidades (810, 820, 830) de aprendizaje artificial se le asigna una memoria (812, 822, 832) de clasificación, en donde cada una de las unidades de aprendizaje artificial, al generar los valores de salida, clasifica los valores de entrada en una o más clases (K1, ..., Kj, Km, Kn) que se almacenan en la memoria (812, 822, 832) de clasificación, en donde las clases en cada caso se estructuran en uno o más niveles dependientes, y en donde el número de clases y/o niveles en una memoria de clasificación de la primera (812) o la tercera (832) unidad de aprendizaje artificial es inferior al número de clases y/o niveles en una memoria de clasificación (822)de la segunda unidad de aprendizaje artificial.
10. Método según una de las reivindicaciones precedentes, en donde los primeros valores de entrada comprenden al menos uno de los siguientes: valores de medición registrados por uno o más sensores, datos registrados 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 de cálculo.
11. Sistema que comprende
un procesador,
una memoria no volátil legible por ordenador y al menos una primera (710, 810), una segunda (720, 820) y una tercera (730, 830) unidad de aprendizaje artificial,
en donde el procesador está configurado para llevar a cabo un método según una de las reivindicaciones anteriores.
12. Sistema según la reivindicación 11,
que comprende además al menos un elemento sensor y/o al menos una unidad de registro, en donde los valores registrados por el elemento sensor y/o la unidad de registro se usan al menos en parte como los primeros valores de entrada (X<i>).
13. sistema según una de las reivindicaciones 11 o 12, que comprende además al menos un módulo de salida para enviar 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.
14. Sistema según una de las reivindicaciones 11 a 13, en donde a cada una de las unidades de aprendizaje artificial se asigna una memoria (812, 822, 832) de clasificación, en donde cada una de las unidades de aprendizaje artificial cuando se generan los valores de salida está configurada para realizar una clasificación de los valores de entrada en una o más clases (K1, ... Kj, Km, Kn), que se almacenan en la memoria (812, 822, 832) de clasificación, en donde las clases en cada caso están estructuradas en uno o más niveles dependientes, y en donde un número de clases y/o niveles en una memoria de clasificación de la primera (812) o la tercera (832) unidad de aprendizaje artificial es inferior a un número (m) de clases y/o niveles en una memoria (822) de clasificación de la segunda unidad de aprendizaje artificial.
ES20709201T 2019-05-21 2020-03-09 Coupling multiple artificially learning units with a projection level Active ES3050935T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19175786 2019-05-21
PCT/EP2020/056274 WO2020233851A1 (de) 2019-05-21 2020-03-09 Kopplung von mehreren künstlich lernenden einheiten mit einer projektionsebene

Publications (1)

Publication Number Publication Date
ES3050935T3 true ES3050935T3 (en) 2025-12-23

Family

ID=66655138

Family Applications (2)

Application Number Title Priority Date Filing Date
ES20709201T Active ES3050935T3 (en) 2019-05-21 2020-03-09 Coupling multiple artificially learning units with a projection level
ES20709199T Active ES3058899T3 (en) 2019-05-21 2020-03-09 Recursive coupling of artificial learning units

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES20709199T Active ES3058899T3 (en) 2019-05-21 2020-03-09 Recursive coupling of artificial learning units

Country Status (5)

Country Link
US (2) US20220292331A1 (es)
EP (2) EP3973457B1 (es)
CN (2) CN114026570B (es)
ES (2) ES3050935T3 (es)
WO (2) WO2020233851A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE544261C2 (en) 2020-06-16 2022-03-15 IntuiCell AB A computer-implemented or hardware-implemented method of entity identification, a computer program product and an apparatus for entity identification
DE102020130604A1 (de) 2020-11-19 2022-05-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Verfahren und System zum Verarbeiten von Eingabewerten
EP4260271A1 (de) 2020-12-11 2023-10-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Avatar-vorrichtung und -verfahren zur repräsentation einer person und zur verarbeitung personenbezogener daten der person
JP2024501194A (ja) 2020-12-11 2024-01-11 フラウンホーファー-ゲゼルシャフト ツゥア フェアデルング デア アンゲヴァンドテン フォァシュング エー.ファウ. 医学サンプルデータ及び/又はサンプルを含むデータベースを対象とした検索クエリを処理する方法及び検索プラットフォーム装置
US20220205802A1 (en) * 2020-12-29 2022-06-30 Here Global B.V. Methods and systems for providing navigation assistance
US11893985B2 (en) * 2021-01-15 2024-02-06 Harman International Industries, Incorporated Systems and methods for voice exchange beacon devices
WO2022254561A1 (ja) * 2021-05-31 2022-12-08 パイオニア株式会社 情報処理装置、情報処理方法および情報処理プログラム
US12087025B2 (en) * 2021-09-03 2024-09-10 I-Scream Arts Co., Ltd. Device for generating data for art-based psychoanalysis and method for augmentation and efficient management of data for art-based psychoanalysis using the same
SE2250135A1 (en) * 2022-02-11 2023-08-12 IntuiCell AB A data processing system comprising first and second networks, a second network connectable to a first network, a method, and a computer program product therefor
EP4290411B1 (en) 2022-06-09 2026-03-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. System comprising semiconductor chip and method for manufacturing the semiconductor chip or the system
EP4425281A1 (en) * 2023-02-28 2024-09-04 BAE SYSTEMS plc Controlling a system using an artificial neural network and artificial neural network training
AU2024230094A1 (en) * 2023-02-28 2025-09-04 Bae Systems Plc Controlling a system using an artificial neural network and artificial neural network training

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155801A (en) * 1990-10-09 1992-10-13 Hughes Aircraft Company Clustered neural networks
US5659666A (en) * 1994-10-13 1997-08-19 Thaler; Stephen L. Device for the autonomous generation of useful information
CN1242848A (zh) * 1996-11-20 2000-01-26 罗伯特·J·詹恩阿罗尼 多内核神经网络并行学习、监视和预报系统
US7983835B2 (en) * 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US20070192267A1 (en) * 2006-02-10 2007-08-16 Numenta, Inc. Architecture of a hierarchical temporal memory based system
US10410117B2 (en) * 2008-09-21 2019-09-10 Brainchip, Inc. Method and a system for creating dynamic neural function libraries
US8775341B1 (en) * 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US20140324747A1 (en) * 2013-04-30 2014-10-30 Raytheon Company Artificial continuously recombinant neural fiber network
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
WO2017136081A1 (en) * 2016-02-05 2017-08-10 Google Inc. Augmenting neural networks with hierarchical external memory
WO2017181336A1 (zh) * 2016-04-19 2017-10-26 北京中科寒武纪科技有限公司 maxout层运算装置和方法
JP6824382B2 (ja) * 2016-07-18 2021-02-03 ディープマインド テクノロジーズ リミテッド 複数の機械学習タスクに関する機械学習モデルのトレーニング
US9928448B1 (en) * 2016-09-23 2018-03-27 International Business Machines Corporation Image classification utilizing semantic relationships in a classification hierarchy
WO2018208939A1 (en) * 2017-05-09 2018-11-15 Neurala, Inc. Systems and methods to enable continual, memory-bounded learning in artificial intelligence and deep learning continuously operating applications across networked compute edges
US11138724B2 (en) * 2017-06-01 2021-10-05 International Business Machines Corporation Neural network classification
JP6802118B2 (ja) * 2017-07-04 2020-12-16 株式会社日立製作所 情報処理システム
TWI662511B (zh) * 2017-10-03 2019-06-11 Institute For Information Industry 階層式影像辨識方法及系統
US10324467B1 (en) * 2017-12-29 2019-06-18 Apex Artificial Intelligence Industries, Inc. Controller systems and methods of limiting the operation of neural networks to be within one or more conditions
DE102019205081A1 (de) * 2019-04-09 2020-10-15 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines tiefen neuronalen Netzes
US20210012194A1 (en) * 2019-07-11 2021-01-14 Samsung Electronics Co., Ltd. Method and system for implementing a variable accuracy neural network

Also Published As

Publication number Publication date
US20220292331A1 (en) 2022-09-15
CN114026570A (zh) 2022-02-08
EP3973456C0 (de) 2025-12-10
US20220245429A1 (en) 2022-08-04
CN114026570B (zh) 2026-03-13
EP3973457A1 (de) 2022-03-30
WO2020233850A1 (de) 2020-11-26
EP3973456B1 (de) 2025-12-10
ES3058899T3 (en) 2026-03-13
EP3973456A1 (de) 2022-03-30
EP3973457C0 (de) 2025-10-01
EP3973457B1 (de) 2025-10-01
CN114556365B (zh) 2025-07-11
WO2020233851A1 (de) 2020-11-26
CN114556365A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
ES3050935T3 (en) Coupling multiple artificially learning units with a projection level
EP3538329B1 (en) Social robot with environmental control feature
Leahu et al. Freaky: performing hybrid human-machine emotion
Grossberg Attention: Multiple types, brain resonances, psychological functions, and conscious states
ES3051636T3 (en) Method and system for processing input values
Butko et al. Infomax control of eye movements
Manzotti et al. From behaviour-based robots to motivation-based robots
Andrejevic FCJ-187 The droning of experience
Ramanathan et al. Fall detection with accelerometer data using residual networks adapted to multi-variate time series classification
KR102328182B1 (ko) 복수의 사용자들 사이의 신체 접촉을 카운트하는 웨어러블 디바이스 및 이를 사용한 사용자들 사이의 인간 관계를 개선하는 시스템
Asha et al. Gesture and Face Recognition based Locker Control System
Infantino Affective human-humanoid interaction through cognitive architecture
Shadlen et al. Consciousness as a decision to engage
Chakraborty et al. Awareness in brain, society, and beyond: A bridge connecting raw data to perception and cognition
Ahmed et al. Real-time driver depression monitoring for accident prevention in smart vehicles
Barros et al. A self-organizing model for affective memory
Wang et al. Mobile humanoid agent with mood awareness for elderly care
Barros et al. A deep neural model of emotion appraisal
US20230113158A1 (en) Methods and systems for personalized coloring template
Maniadakis et al. Integrated intrinsic and dedicated representations of time: a computational study involving robotic agents
Sinche et al. Wireless sensors and mobile phones for human well-being
Govrin The attachment approach to moral judgment
KR102956756B1 (ko) 감정 인식을 통한 외부 로봇 제어 연동 방법 및 시스템
Sudarshan et al. A Review of Technologies and their Application in Driver Drowsiness Detection Systems
KR102453089B1 (ko) 습관형성을 위한 습관 노트