ES3058899T3 - Recursive coupling of artificial learning units - Google Patents
Recursive coupling of artificial learning unitsInfo
- Publication number
- ES3058899T3 ES3058899T3 ES20709199T ES20709199T ES3058899T3 ES 3058899 T3 ES3058899 T3 ES 3058899T3 ES 20709199 T ES20709199 T ES 20709199T ES 20709199 T ES20709199 T ES 20709199T ES 3058899 T3 ES3058899 T3 ES 3058899T3
- Authority
- ES
- Spain
- Prior art keywords
- unit
- network
- function
- artificial learning
- values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
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 formado por al menos dos unidades de aprendizaje artificial, que comprende: introducir valores de entrada en al menos una primera unidad de aprendizaje artificial y una segunda unidad de aprendizaje artificial; obtener primeros valores de salida de la primera unidad de aprendizaje artificial; formar una o más funciones de modulación a partir de los valores de salida de la primera unidad de aprendizaje artificial; aplicar la o las funciones de modulación formadas a uno o más parámetros de la segunda unidad de aprendizaje artificial, donde el o los parámetros influyen 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; y, finalmente, obtener segundos valores de salida de la segunda unidad de aprendizaje artificial. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Acoplamiento recursivo de unidades de aprendizaje artificial
[0003] La presente invención se refiere a un método que comprende al menos dos unidades de aprendizaje artificial.
[0004] Estado de la técnica
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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 w<i>se pueden predefinir como una matriz de pesos para la red.
[0009] Una función de activación f<akt>, 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 f<akt>forma el estado de activación. Opcionalmente, también se puede especificar una función de salida F<out>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 f<trans>.
[0010] 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.
[0011] Por otro lado, la red puede cambiar los pesos w<i>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.
[0012] 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. 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:
[0013] 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.
[0014] 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 donde los conjuntos de datos también se pueden utilizar sin clasificaciones predefinidas.
[0015] 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. 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.
[0016] 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.
[0017] 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.
[0018] 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 donde 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.
[0019] 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.
[0020] Se considera que el estado de la técnica más cercano es la publicación de YAN ZHICHENG ET AL: "HD-CNN: Redes neuronales convolucionales profundas jerárquicas para el reconocimiento a gran escala", 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), IEEE, 7 de diciembre de 2015 (7 de diciembre de 2015), páginas 2740-2748, XP032866619, DOI: 10.1109/ICCV.2015.314.
[0021] Se conoce más información sobre el estado de la técnica relevante en los documentos WO 2018/208939 A1 y GB 2336227 A.
[0022] Divulgación de la invención
[0023] Según la invención, se propone un método en un sistema de al menos dos unidades de aprendizaje artificial con las características de la reivindicación independiente. Las realizaciones ventajosas se describen en las reivindicaciones dependientes y en la siguiente descripción.
[0024] El método comprende introducir valores de entrada en al menos una primera unidad de aprendizaje artificial y una segunda unidad de aprendizaje artificial, obteniéndose así los primeros valores de salida de la primera. A partir de los valores de salida de la primera unidad de aprendizaje artificial, se generan una o más funciones de modulación, que se aplican a uno o más parámetros de la segunda unidad de aprendizaje artificial. Estos parámetros influyen de alguna manera en el procesamiento de los valores de entrada y la generación de 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, por ejemplo, representar valores de salida modulados de la segunda unidad.
[0025] 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.
[0026] 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.
[0027] 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. 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] En ciertas formas de realización, el sistema puede comprender además un temporizador en donde 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).
[0035] 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.
[0036] 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.
[0037] 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.
[0038] Según la invención, los valores de entrada incluyen valores de sensores y/o datos de audio y/o datos de imagen.
[0039] Otras ventajas y configuraciones de la invención resultan de la descripción y del dibujo 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.
[0040] La invención se ilustra esquemáticamente en el dibujo utilizando un ejemplo de realización y se describe a continuación con referencia al dibujo.
[0041] Descripción de los dibujos
[0042] 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;
[0043] 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;
[0044] la Figura 4 muestra un sistema como el de la Figura 1 con un temporizador adicional;
[0045] la Figura 5 muestra esquemáticamente un sistema como el de la Figura 1 con las memorias de clasificación asignados; y
[0046] la Figura 6 muestra un sistema alternativo con tres unidades de aprendizaje artificial acopladas.
[0048] Descripción detallada de formas de realización
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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 salida Salida1 de 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.
[0053] 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 donde 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.
[0055] 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.
[0057] En particular, las funciones de modulación f<mod>también pueden ser funciones dependientes del tiempo, de modo que los pesos pwi2 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.
[0059] 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.
[0061] 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.
[0063] 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.
[0065] 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.
[0067] 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.
[0069] 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.
[0071] 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 donde 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.
[0073] 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.
[0075] 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.
[0077] 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.
[0078] 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.
[0080] 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.
[0081] 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 donde 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.
[0083] 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.
[0085] 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.
[0087] 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.
[0089] 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.
[0090] 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.
[0091] 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.
[0092] 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. 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0098] 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.
[0100] 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.
[0102] En todos los ejemplos anteriores, los valores de salida del sistema completo pueden reutilizarse de cualquier manera, por ejemplo, como señales de control directas o indirectas para actuadores, como datos almacenados para uso futuro o como señal transmitida a unidades de salida. En todos los casos, los valores de salida también pueden procesarse mediante funciones y evaluaciones adicionales, o combinarse con otros datos y valores. 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.
[0104] 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.
[0106] 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.
[0107] 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.
[0108] 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".
[0110] 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.
[0112] 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.
[0114] 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 donde 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.
[0116] 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.
[0117] 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.
[0118] 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.
[0119] 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.
[0120] 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.
[0121] Sobra decir que los ejemplos descritos anteriormente se pueden combinar entre sí de cualquier manera. Por ejemplo, en cada una de las formas de realización descritas, también puede estar presente un temporizador, que se describió en relación con la Figura 4. En todos los ejemplos, las unidades de aprendizaje también pueden presentar memorias de clasificación, como se describe a modo de ejemplo junto con la Figura 5. Todas estas variantes se pueden aplicar, a su vez, al acoplamiento de múltiples unidades de aprendizaje artificial.
Claims (10)
1. REIVINDICACIONES
1. Método implementado en un sistema para aplicaciones donde se producen situaciones de decisión críticas, compuesto por al menos dos unidades de aprendizaje artificial, que comprende:
introducir valores de entrada (Xi) en al menos una primera unidad (110, 310, 410, 510, 610) de aprendizaje artificial y una segunda unidad (120, 320, 420, 520, 620) de aprendizaje artificial, en donde los valores de entrada incluyen valores de sensor y/o datos de audio y/o datos de imagen; recibir valores de salida iniciales (Salida1) de la primera unidad (110, 310, 410, 510, 610) de aprendizaje artificial, indicando una clasificación como "riesgosa" o "no riesgosa";
construir una o más funciones de modulación (fmod_f, fmod_w) basadas en los valores de salida (Salida1) de la primera unidad de aprendizaje artificial;
aplicar una o más funciones de modulación generadas a uno o más parámetros de la segunda unidad (120, 320, 420, 520, 620) de aprendizaje artificial. Dichos parámetros influyen en el procesamiento de los valores de entrada y la adquisición de los valores de salida en la segunda unidad (120, 320, 420, 520, 620) de aprendizaje artificial, comprendiendo la segunda unidad (110, 120; 310, 320; 410, 420; 510, 520; 610, 620, 630) de aprendizaje artificial una red neuronal con varios nodos, y dichos 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 y una función de propagación de un nodo;
recibir los segundos valores de salida (Salida2) de la segunda unidad de aprendizaje artificial; determinar una de las al menos dos unidades de aprendizaje artificial como la unidad dominante actual del sistema; y
calcular los valores de salida totales actuales del sistema a partir de los valores de salida (Salida1, Salida2) de la unidad dominante actual, en donde los valores de salida totales representan una clasificación de los valores de entrada;
proporcionar los datos de salida para controlar al menos un actuador específico de un sistema automatizado.
2. Método de la reivindicación 1, en donde a cada unidad de aprendizaje artificial se le asigna una memoria de clasificación (512, 522), en donde cada unidad clasifica los valores de entrada en una o más clases (K1, K2, ..., K<n>, K<m>) almacenadas en la memoria de clasificación (512, 522), en donde cada clase se estructura en uno o más niveles dependientes (524), y donde el número de clases (n) y/o niveles en una primera memoria de clasificación (512) de la primera unidad de aprendizaje artificial es menor que el número de clases (m) y/o niveles en una segunda memoria de clasificación (522) de la segunda unidad de aprendizaje artificial.
3. Método según cualquiera de las reivindicaciones anteriores, en donde la aplicación de al menos una función de modulación produce una superposición temporal de los parámetros de la segunda unidad de aprendizaje artificial, y en donde la al menos una función de modulación (f<mod_f>, f<mod_w>) comprende una de las siguientes: una función periódica, una función escalonada, una función con amplitudes momentáneamente incrementadas, una función de oscilación amortiguada, una función de pulsación como superposición de varias funciones periódicas, una función de crecimiento continuo, una función de decrecimiento continuo.
4. Método según cualquiera de las reivindicaciones anteriores, en donde la segunda unidad de aprendizaje artificial comprende una segunda red neuronal con varios nodos, y en donde la aplicación de al menos una función de modulación provoca la desactivación de al menos algunos de los nodos.
5. Método según cualquiera de las reivindicaciones anteriores, en donde la primera unidad (110, 310, 410, 510, 610) de aprendizaje artificial se establece como unidad dominante al menos hasta que uno o más valores de salida (Salida2) de la segunda unidad (120, 320, 420, 520, 620) de aprendizaje artificial estén disponibles.
6. Método según cualquiera de las reivindicaciones anteriores,
que comprende además la comparación de los valores de entrada actuales con los valores de entrada anteriores de al menos una de las unidades de aprendizaje artificial del sistema,
dando la comparación como resultado una desviación que supera un umbral de entrada predeterminado, designándose la primera unidad (110, 310, 410, 510, 610) de aprendizaje artificial como la unidad dominante.
7. Método según cualquiera de las reivindicaciones anteriores, que comprende además la comparación de los valores de salida actuales de la primera unidad de aprendizaje artificial con los valores de salida anteriores de la primera unidad de aprendizaje artificial,
dando la comparación como resultado una desviación que supera un umbral de salida predeterminado, la primera unidad de aprendizaje artificial se designa como la unidad dominante.
8. Método según cualquiera de las reivindicaciones anteriores, en donde el sistema comprende además un temporizador (440) que almacena uno o más intervalos de tiempo predeterminados, asignados a una o más unidades (410, 420)de aprendizaje artificial, y en donde el temporizador (440) está configurado para medir el intervalo de tiempo transcurrido asignado a cada una de las unidades (410, 420) de aprendizaje artificial.
9. Método según la reivindicación 8, en donde la medición del intervalo de tiempo predeterminado asignado a una de las unidades de aprendizaje artificial se inicia en cuanto dicha unidad se designa como unidad dominante.
10. Método según las reivindicaciones 8 o 9, en donde la segunda unidad (420) de aprendizaje artificial se designa como unidad dominante si ha transcurrido un primer intervalo de tiempo predeterminado para la primera unidad (410) de aprendizaje artificial en el temporizador.
.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP19175786 | 2019-05-21 | ||
| PCT/EP2020/056271 WO2020233850A1 (de) | 2019-05-21 | 2020-03-09 | Rekursive kopplung von künstlich lernenden einheiten |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3058899T3 true ES3058899T3 (en) | 2026-03-13 |
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 Before (1)
| 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 |
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)
| 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)
| 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 |
-
2020
- 2020-03-09 CN CN202080047725.XA patent/CN114026570B/zh active Active
- 2020-03-09 WO PCT/EP2020/056274 patent/WO2020233851A1/de not_active Ceased
- 2020-03-09 EP EP20709201.6A patent/EP3973457B1/de active Active
- 2020-03-09 US US17/612,768 patent/US20220292331A1/en active Pending
- 2020-03-09 EP EP20709199.2A patent/EP3973456B1/de active Active
- 2020-03-09 ES ES20709201T patent/ES3050935T3/es active Active
- 2020-03-09 CN CN202080048132.5A patent/CN114556365B/zh active Active
- 2020-03-09 US US17/612,746 patent/US20220245429A1/en active Pending
- 2020-03-09 WO PCT/EP2020/056271 patent/WO2020233850A1/de not_active Ceased
- 2020-03-09 ES ES20709199T patent/ES3058899T3/es active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20220292331A1 (en) | 2022-09-15 |
| CN114026570A (zh) | 2022-02-08 |
| ES3050935T3 (en) | 2025-12-23 |
| 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 |
| 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 |
|---|---|---|
| ES3058899T3 (en) | Recursive coupling of artificial learning units | |
| Paugam-Moisy et al. | Computing with spiking neuron networks. | |
| Xu et al. | A new supervised learning algorithm for spiking neurons | |
| Xie et al. | Efficient training of supervised spiking neural network via accurate synaptic-efficiency adjustment method | |
| ES3051636T3 (en) | Method and system for processing input values | |
| Catterall et al. | Self-organization in ad hoc sensor networks: An empirical study | |
| Qu et al. | Improved perception-based spiking neuron learning rule for real-time user authentication | |
| Kostavelis et al. | On the optimization of hierarchical temporal memory | |
| Wibowo et al. | Performance Analysis of Artificial Neural Network-Chimpanzee Leader Election Optimization on Classification Case | |
| Soures et al. | Reservoir computing in embedded systems: Three variants of the reservoir algorithm | |
| Jayaratne et al. | Apache spark based distributed self-organizing map algorithm for sensor data analysis | |
| Zhuang et al. | Self-supervised neural network models of higher visual cortex development | |
| US20180322398A1 (en) | Method, system, and algorithm to analyze data series to create a set of rules | |
| Takemura et al. | A neural network model for development of reaching and pointing based on the interaction of forward and inverse transformations | |
| Arena et al. | The winnerless competition paradigm in cellular nonlinear networks: Models and applications | |
| Pisarchik et al. | Multistability in complex networks | |
| Mwaffo et al. | A data-driven method to dissect the dynamics of the causal influence in complex dynamical systems | |
| Knoblauch et al. | Spiking associative memory and scene segmentation by synchronization of cortical activity | |
| Dawood et al. | View-invariant visuomotor processing in computational mirror neuron system for humanoid | |
| Dursun et al. | L-PFO: Enhancing polar fox optimization with linear population size reduction for complex Benchmark problems | |
| Niizato et al. | New Classification of Collective Animal Behaviour as an Autonomous System | |
| Beshkov et al. | Topological structure of population activity in mouse visual cortex encodes visual scene rotations | |
| Morgan et al. | A recurrent vision transformer shows signatures of primate visual attention | |
| Choi et al. | GNRK: Graph Neural Runge-Kutta method for solving partial differential equations | |
| Ranganathan et al. | Self-organization in artificial intelligence and the brain |