ES2979165T3 - Aparato de detección de anomalías y programa - Google Patents

Aparato de detección de anomalías y programa Download PDF

Info

Publication number
ES2979165T3
ES2979165T3 ES19848621T ES19848621T ES2979165T3 ES 2979165 T3 ES2979165 T3 ES 2979165T3 ES 19848621 T ES19848621 T ES 19848621T ES 19848621 T ES19848621 T ES 19848621T ES 2979165 T3 ES2979165 T3 ES 2979165T3
Authority
ES
Spain
Prior art keywords
anomaly detection
probability distribution
detection target
anomaly
data
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
ES19848621T
Other languages
English (en)
Inventor
Masataka Yamaguchi
Yuma Koizumi
Noboru Harada
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of ES2979165T3 publication Critical patent/ES2979165T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural 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/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/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder 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/048Activation functions
    • 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/088Non-supervised learning, e.g. competitive learning
    • 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/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • 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/096Transfer learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)

Abstract

Se proporciona una tecnología de detección de anomalías que tiene una alta precisión y al mismo tiempo reduce el costo requerido para el aprendizaje de modelos normales. La presente invención comprende una unidad de estimación del grado de anomalía que estima, a partir de un sonido (en adelante, denominado sonido para detección de anomalías) generado a partir de un dispositivo en el que se detecta una anomalía, un grado de anomalía que indica el grado de anomalía del dispositivo, sobre la base de la asociación entre una primera distribución de probabilidad que indica una distribución de sonidos normales generados a partir de uno o más dispositivos diferentes del dispositivo en el que se detecta una anomalía y un sonido normal (en adelante, denominado sonido normal para aprendizaje adaptativo) generado a partir del dispositivo en el que se detecta una anomalía. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Aparato de detección de anomalías y programa
Campo técnico
La presente invención se refiere a una técnica de detección de anomalías y a una técnica de transformación de dominios.
Antecedentes de la técnica
Por ejemplo, si el funcionamiento de un equipo comercial, como una gran máquina de fabricación y una máquina de moldeo instaladas en una fábrica, se detiene debido a un problema, el servicio se ve obstruido en gran medida. Por lo tanto, es necesario monitorizar, diariamente, la condición de funcionamiento y, en caso de que se produzca una anomalía, hacer frente inmediatamente a la anomalía. Como método para abordar este problema, existe un método en el que un proveedor de servicios de gestión de equipos comerciales envía, regularmente, un trabajador de mantenimiento al sitio, y el trabajador de mantenimiento confirma la abrasión, o similar, de piezas. Sin embargo, debido a que este método cuesta mucho dinero (por ejemplo, gastos de personal y gastos de viaje) y requiere una gran cantidad de mano de obra, es difícil realizar este método en todos los equipos y fábricas comerciales. Por lo tanto, como técnica alternativa, existe un método en el que se monitoriza, diariamente, la condición de funcionamiento en función del sonido de funcionamiento recogido por un micrófono provisto dentro del equipo. Específicamente, se analiza el sonido del funcionamiento, y en caso de que se detecte un sonido (sonido anómalo) que se considera anómalo, se emite una alerta. Una técnica para determinar si el equipo a monitorizar está en un estado normal o en un estado anormal utilizando el sonido de esta manera se conoce como técnica de detección de sonidos anómalos.
En la técnica de detección de sonidos anómalos, cuesta dinero establecer un tipo de sonido anómalo y un método de detección para cada tipo o para cada pieza del equipo. Por tanto, es necesario diseñar, automáticamente, una regla para detectar sonidos anómalos. Como una de las soluciones a esto, es bien conocida la detección de sonidos anómalos en función de métodos estadísticos (bibliografía No patentada 1). Esta detección de sonidos anómalos en función de los métodos estadísticos se divide, aproximadamente, en detección supervisada de sonidos anómalos y detección no supervisada de sonidos anómalos. En la detección supervisada de sonidos anómalos, se recoge una gran cantidad de sonido normal y de sonido anómalo como datos de aprendizaje, y se aprende un discriminador de modo que se maximice una tasa de discriminación (una tasa de sonido normal que puede discriminarse del sonido anómalo). Mientras tanto, en la detección no supervisada de sonidos anómalos, se recoge una gran cantidad sólo de sonido normal como datos de aprendizaje, y se aprende una distribución de probabilidad (en lo sucesivo, denominada modelo normal) con respecto a la aparición de un sonido normal. Luego, el sonido se determina como normal en un caso en el que se determine, utilizando el modelo normal, que el sonido recién recogido (es decir, el sonido para el cual se va a realizar la detección de anomalías) es similar a (muy probablemente sea) un sonido normal, mientras que el sonido se determina como anómalo en un caso en el que se determine que el sonido recién recogido no es similar a (poco probable que sea) un sonido normal.
Debido a que es difícil recopilar una gran cantidad de datos de aprendizaje de sonidos anómalos en un campo de aplicación industrial, a menudo se emplea la detección no supervisada de sonidos anómalos. Además, en el campo de aplicación industrial, existe un caso en el que se desea establecer, respectivamente, un gran número de piezas del equipo del mismo tipo como objetivos de detección de anomalías. Por ejemplo, un caso de este tipo puede incluir un caso donde se desee monitorizar sonido anómalo de una enorme cantidad de servidores existentes en un centro de datos. En este caso, mientras que los sistemas de detección de anomalías se aplican, respectivamente, a los respectivos servidores, se supone que la distribución del sonido emitido desde los respectivos servidores varía ligeramente debido a las ubicaciones donde están instalados los servidores o debido a errores de montaje. Por lo tanto, como método para aplicar sistemas de detección de anomalías a una cantidad tan grande de piezas del equipo del mismo tipo, puede existir el siguiente método.
(1) Un modelo normal común a algunas piezas del equipo se aprende utilizando el sonido normal recogido de estas piezas del equipo. Luego, se realiza detección de anomalías en todas las piezas del equipo utilizando este modelo común.
(2) Diferentes modelos normales para cada pieza del equipo se aprenden utilizando el sonido normal recogido para cada pieza del equipo. Luego, se realiza detección de anomalías de cada pieza del equipo utilizando estos modelos individuales.
Con el método de (1), debido a que el aprendizaje no se realiza para cada pieza de equipo, incluso si aumenta el número de piezas del equipo que se desean monitorizar, no es necesario recopilar datos de aprendizaje ni realizar aprendizaje del modelo, de modo que es posible reducir los costes relacionados con la recopilación de datos y el aprendizaje. Sin embargo, debido a que es imposible capturar una ligera diferencia con respecto a la aparición de sonido normal para cada pieza del equipo, existe una posibilidad de que la detección de anomalías no se pueda realizar con alta precisión. Además, con el método de (2), si bien se espera que se genere un modelo normal con alta precisión porque el aprendizaje se realiza utilizando sólo sonido normal obtenido de las respectivas piezas del equipo, debido a que es necesario recopilar datos de aprendizaje para cada pieza del equipo para realizar el aprendizaje del modelo, existe el problema de que cuesta dinero recopilar datos y realizar el aprendizaje de acuerdo con el aumento en el número de piezas del equipo que se desean monitorizar.
La transformación del dominio se describirá a continuación. La transformación del dominio es una técnica de transformación de datos de un determinado dominio en datos de un dominio diferente al del dominio. Los datos objetivo son aquí, por ejemplo, una imagen o un sonido. Por ejemplo, como se describe en la bibliografía 1 de Referencia no patentada, la transformación del dominio es una técnica para transformar una "imagen de una fotografía de un paisaje" en una "imagen de un paisaje" o transformar una "imagen de una fotografía de un caballo" en una "imagen de una fotografía de una cebra". (bibliografía 1 de Referencia no patentada: Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros et al., "Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks", arXiv:1703.10593v5, https://arxiv .org/abs/1703.10593v5)
Para realizar la transformación del dominio, sólo es necesario crear un transformador de datos que transforme un dominio D en un dominio D'. Para crear dicho transformador de datos, puede existir un método en el que, por ejemplo, se recopilen como datos de aprendizaje un gran número de pares de "fotografías de paisajes" y "paisajes" que se obtienen retratando con precisión las fotografías de paisajes, y la transformación de las "fotografías de paisajes" en "paisajes" se aprende utilizando una red neuronal. En lo sucesivo, un marco para hacer que un transformador de datos realice aprendizaje utilizando pares de datos de dos dominios de esta manera se denominará transformación del dominio con datos de pares. La transformación del dominio con datos de pares tiene la ventaja de que es posible configurar un transformador de datos con relativa facilidad mediante aprendizaje utilizando pares de datos de dos dominios que se ingresan y una respuesta correcta a la entrada como datos de aprendizaje. Sin embargo, es necesario recopilar un gran número de datos de aprendizaje. En el ejemplo de las "fotografías de paisajes" y los "paisajes" descrito anteriormente, primero es necesario recopilar "fotografías de paisajes", y luego, crear "paisajes" que se obtienen retratando con precisión las "fotografías de paisajes" (por ejemplo, solicitando a un artista que cree los paisajes). Además, en el ejemplo de una "fotografía de un caballo" y una "fotografía de una cebra", debido a que es difícil tomar fotografías con la misma composición, es realmente imposible recopilar datos de aprendizaje.
Por lo tanto, en los últimos años, para resolver un problema relacionado con la recopilación de datos de aprendizaje, se ha propuesto un marco que es capaz de aprender un transformador de datos sin utilizar datos de pares. Este marco se denominará transformación del dominio sin datos de pares. En la transformación del dominio sin datos de pares, se aprende un transformador de datos que transforma datos de un dominio D en datos de un dominio D' utilizando los datos del dominio D y los datos del dominio D'. Aquí, los datos del dominio D y los datos del dominio D' que se van a utilizar para el aprendizaje no tienen que ser un par. Por lo tanto, es posible aprender un transformador de datos incluso para la transformación entre dominios, para la que es difícil recopilar datos de pares, como una "fotografía de un caballo" y una "fotografía de una cebra".
Como ejemplo de transformación del dominio sin datos de pares, se ha propuesto, por ejemplo, un método llamado StarGAN descrito en la bibliografía No patentada 2.
La bibliografía Patentada 1 describe un sistema y un método que permiten un modelado no paramétrico de datos de audio utilizando un espacio de características unidimensional de vectores de entrenamiento. Un detector de novedades puede capturar una pluralidad de muestras de audio y convertirlas en un patrón del dominio de tiempo-frecuencia para establecer una firma sonora de referencia utilizando un enfoque estadístico. Una pluralidad de nodos de monitorización puede estar asociada a una o más frecuencias representadas dentro del patrón del dominio de tiempo-frecuencia. Luego, cada nodo puede comparar patrones del dominio de tiempo-frecuencia capturados posteriormente para detectar valores que excedan el llamado umbral "normal", derivando el umbral, de forma dinámica, en función de la firma sonora de referencia. En caso de que un número predeterminado de nodos detecte una novedad en la firma sonora, pueden emitirse alertas a los usuarios/técnicos.
En la bibliografía Patentada 2, una señal de imagen capturada por una cámara de monitor se introduce en un dispositivo de procesamiento de imágenes, se muestra en una pantalla de ventanas múltiples, y se almacena en un dispositivo de almacenamiento principal. Una señal de sonido recogida por un micrófono se introduce en un dispositivo de procesamiento de sonido, se regenera a través de un altavoz, y se almacena en el dispositivo de almacenamiento principal. Los datos de proceso transmitidos desde un controlador de datos de proceso se muestran en la pantalla y se almacenan en el dispositivo de almacenamiento principal. Si se detecta una condición anormal en un objeto monitorizado, entonces los datos almacenados en el dispositivo de almacenamiento principal antes o después de que ocurra la condición anormal se guardan en un dispositivo de almacenamiento auxiliar. Cuando se regeneran los datos, los datos guardados se sincronizan entre sí mientras que se regeneran en la pantalla y a través del altavoz.
También se hace referencia a la bibliografía No patentada 3, que describe la detección de novedades utilizando codificadores automáticos adversarios.
Bibliografía de la técnica anterior
Bibliografía no patentada
Bibliografía No patentada 1: Tsuyoshi Ide, Masashi Sugiyama et al., "Anomaly Detection and Change Detection", Kodansha, págs. 6-7, 2015.
Bibliografía No patentada 2: Yunjey Choi, Minje Choi, Munyoung Kim, Jung-Woo Ha, Sunghun Kim, Jaegul Choo, et al., "StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation", Conferencia del IEEE sobre Visión por Ordenador y Reconocimiento de Patrones (CVPR) 2018, págs.8789-8797, 2018.
Bibliografía No patentada 3: Valentin Leveau et al., "Adversarial Autoencoders for Novelty Detection", Conferencia Internacional sobre Representaciones de Aprendizaje (ICLR), 21 de febrero de 2017.
Bibliografía patentada
Bibliografía Patentada 1: WO 2018/136915 A1
Bibliografía Patentada 2: EP 0666 542 A2
Compendio de la invención
Problemas a resolver por la invención
En primer lugar, se describirá un primer problema.
Como se describió anteriormente, con los métodos de (1) y (2), existe un problema de compensación entre el coste relacionado con la recopilación y el aprendizaje de los datos y la precisión de la detección de anomalías. Por lo tanto, como tercer método, puede existir el siguiente método.
(3) Un modelo normal común a algunas piezas del equipo se aprende utilizando el sonido normal recogido de estas piezas del equipo. Luego, se aprenden, de forma adaptativa, diferentes modelos normales para cada pieza del equipo a partir de este modelo común utilizando el sonido normal recogido para cada pieza del equipo. Luego, la detección de anomalías de cada pieza del equipo se realiza utilizando estos modelos normales individuales adaptados.
Si bien, con el método de (3), existe la posibilidad de que se pueda resolver el problema de compensación descrito anteriormente, para realizar realmente dicho método, sólo es necesario permitir que se recoja una cantidad relativamente pequeña de sonido normal para cada pieza del equipo para la cual se va a realizar la detección de anomalías, y permitir un aprendizaje eficiente de modelos normales adaptados a las respectivas piezas del equipo a partir del modelo normal común utilizando el sonido normal. Sin embargo, hasta el momento no se ha desarrollado un método de este tipo.
Este es el primer problema.
A continuación, se describirá un segundo problema.
Con StarGAN descrito en la bibliografía No patentada 2, mientras que la transformación del dominio sin datos de pares se realiza utilizando un método llamado Redes Generativas Adversarias (GAN) descrito en la bibliografía 2 de Referencia no patentada, existe el problema de que el aprendizaje es inestable.
(Bibliografía 2 de referencia no patentada: Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio et al., "Generative Adversarial Nets", Avances en los Sistemas Neuronales 27 de Procesamiento de Información (NIPS 2014), 2018.)
Este es el segundo problema.
Por lo tanto, la presente invención está dirigida a proporcionar una técnica de detección de anomalías que logra una alta precisión al mismo tiempo que reduce el coste requerido para el aprendizaje del modelo normal, y una técnica de transformación del dominio que permite un aprendizaje estable sin datos de pares.
Medios para resolver los problemas
En vista de lo anterior, la presente invención proporciona un aparato de detección de anomalías y los programas correspondientes, con las características de las respectivas reivindicaciones independientes. Las realizaciones se describen en las reivindicaciones dependientes.
Según la invención, se proporciona un aparato de detección de anomalías según la reivindicación 1.
Un ejemplo que no está abarcado por las reivindicaciones pero que es útil para entender la presente invención es un aparato de aprendizaje de distribuciones de probabilidad que comprende una unidad de aprendizaje configurada para aprender una primera distribución de probabilidad que indica la distribución del sonido normal emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías (en lo sucesivo, denominado sonido normal para el aprendizaje) a partir del sonido normal emitido desde la una o más piezas del equipo diferentes del equipo objetivo de detección de anomalías, en donde una variable x de la primera distribución q<1>(x;<0>) de probabilidad es una variable que indica datos de entrada generados a partir del sonido normal emitido desde la una o más piezas del equipo diferentes del equipo objetivo de detección de anomalías, la variable x se expresa como x = fK(fK-1(...(f1(z0))...)) utilizando transformaciones fi (i = 1, ..., K, K es un número entero de 1 o mayor, y existen transformaciones inversas fr1 para las transformaciones f¡) y una variable latente Z<0>, q<0>(z<0>) se establece como una distribución de probabilidad de la variable latente z<0>, una densidad q<1>(x;<0>) de probabilidad de los datos x de entrada se calcula utilizando una densidad q0(z0) de probabilidad de la variable latente z0 =f1-1(f2-1(...(fK-1(x))...)) correspondiente a los datos x de entrada, y a, al menos, una transformación inversa de las transformaciones fi(i = 1, ..., K) es una normalización adaptativa por lotes.
Según la invención, se proporciona un aparato de detección de anomalías según la reivindicación 5.
Un ejemplo que no está abarcado por las reivindicaciones pero que es útil para entender la presente invención es un aparato de aprendizaje con codificador automático que comprende una unidad de aprendizaje configurada para aprender un primer codificador automático que restaura el sonido normal emitido desde uno o más equipo diferentes del equipo objetivo de detección de anomalías (en lo sucesivo, denominado sonido normal para el aprendizaje) a partir del sonido normal emitido desde la una o más piezas del equipo diferentes del equipo objetivo de detección de anomalías, en donde el primer codificador automático se configura como una red neuronal que incluye una capa AdaBN, que ejecuta el cálculo de la normalización adaptativa por lotes.
Un ejemplo que no está abarcado por las reivindicaciones pero que es útil para entender la presente invención es un aparato de detección de anomalías que comprende una unidad de estimación del grado de anomalía configurada para estimar un grado de anomalía que indica un grado de anomalía del equipo objetivo de detección de anomalías a partir del sonido emitido desde el equipo objetivo de detección de anomalías (en lo sucesivo, denominado sonido objetivo de detección de anomalías) en función de la asociación entre un conjunto de sonidos normales emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías y del sonido normal emitido desde el equipo objetivo de detección de anomalías (en lo sucesivo, denominado sonido normal para el aprendizaje adaptativo).
Un ejemplo que no está abarcado por las reivindicaciones pero que es útil para entender la presente invención es un aparato de transformación de datos que comprende una unidad de cálculo de la variable latente configurada para calcular una variable latente a partir de los datos de entrada correspondientes a los datos de dominio de un primer dominio, y una unidad de cálculo de datos de salida configurada para calcular los datos de salida correspondientes a los datos de dominio de un segundo dominio a partir de la variable latente, en donde la unidad de cálculo de la variable latente realiza cálculos utilizando una función predeterminada (en lo sucesivo, denominada primera función) con una función inversa, la unidad de cálculo de datos de salida realiza cálculos utilizando una función predeterminada (en lo sucesivo, denominada segunda función) con una función inversa, y la primera función y la segunda función se derivan de una función predeterminada que transforma la variable latente z<0>en una variable x.
Efectos de la invención
Según la presente invención, es posible realizar detección de anomalías con alta precisión y al mismo tiempo reducir el coste requerido para el aprendizaje del modelo normal. Además, según la presente invención, es posible realizar una transformación del dominio que permita un aprendizaje estable sin datos de pares.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 100 de aprendizaje de distribuciones de probabilidad;
La Fig. 2 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 100 de aprendizaje de distribuciones de probabilidad;
La Fig. 3 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad;
La Fig. 4 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad;
La Fig. 5 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 300 de detección de anomalías;
La Fig. 6 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 300 de detección de anomalías;
La Fig. 7 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad 320 de estimación del grado de anomalía;
La Fig. 8 es un diagrama de flujo que ilustra un ejemplo de funcionamiento de la unidad 320 de estimación del grado de anomalía;
La Fig. 9 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 400 de aprendizaje con codificador automático;
La Fig. 10 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 400 de aprendizaje con codificador automático;
La Fig. 11 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 500 de aprendizaje adaptativo con codificador automático;
La Fig. 12 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 500 de aprendizaje adaptativo con codificador automático;
La Fig. 13 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 600 de detección de anomalías;
La Fig. 14 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 600 de detección de anomalías; La Fig. 15 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad 620 de estimación del grado de anomalía;
La Fig. 16 es un diagrama de flujo que ilustra un ejemplo de funcionamiento de la unidad 620 de estimación del grado de anomalía;
La Fig. 17 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 1100 de aprendizaje de distribuciones de probabilidad;
La Fig. 18 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 1100 de aprendizaje de distribuciones de probabilidad;
La Fig. 19 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 1200 de transformación de datos;
La Fig. 20 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 1200 de transformación de datos;
La Fig. 21 es una vista que ilustra un aspecto de procesamiento mediante una unidad 1220 de cálculo de la variable latente y una unidad 230 de cálculo de datos de salida;
La Fig. 22 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 1300 de transformación de datos;
La Fig. 23 es un diagrama de flujo que ilustra un ejemplo de funcionamiento del aparato 1300 de transformación de datos; y
La Fig. 24 es una vista que ilustra un ejemplo de una configuración funcional de un ordenador que realiza cada aparato en las realizaciones de la presente invención.
Descripción detallada de las realizaciones
Las realizaciones de la presente invención se describirán en detalle a continuación. Tenga en cuenta que se asignarán los mismos números de referencia a componentes que tengan la misma función, y se omitirán las descripciones redundantes.
<Notación>
_(barra baja) indica un subíndice. Por ejemplo, xy_z indica que yz es un superíndice de x, y xy_z indica que yz es un subíndice de x.
En primer lugar, se describirán los antecedentes técnicos de la primera realización a la tercera realización de la presente invención, y cada realización.
<Antecedentes técnicos>
Las realizaciones de la presente invención proporcionan un marco de detección de anomalías que puede aplicarse a una pluralidad de piezas del equipo del mismo tipo. Específicamente, se proporciona el marco que utiliza el método de (3) descrito anteriormente. En función de una hipótesis de que una diferencia en la distribución del sonido normal emitido desde las respectivas piezas del equipo se expresa con una cantidad de estadísticas de cantidades de características con respecto al sonido, generando un promedio que es una cantidad primaria de estadísticas de las cantidades de características y una varianza, que es una cantidad secundaria de estadísticas para hacer coincidir diferentes piezas del equipo, es posible derivar modelos normales de diferentes piezas del equipo a partir de un modelo. En primer lugar, se describirá la técnica relacionada que se utilizará en las realizaciones de la presente invención. «Detección no supervisada de sonidos anómalos»
La detección de sonidos anómalos es una tarea de determinar si el estado de un equipo a monitorizar, que emite un sonido (señal de observación) para el cual se va a realizar la detección de anomalías, es normal o anormal. Aquí, como datos x de entrada se generará, a partir de la señal de observación, por ejemplo, un vector que incluya un espectro ln|Xt, f| de amplitud logarítmica de la señal de observación como elemento puede utilizarse como en la siguiente expresión.
[Fórmula 1]
x := (ln|Xt_Q,i |, ln|Xt-Q,2|, •••, ln|Xt.Q;F|, ln|Xt.Q+i;i|, ln|Xt-Q+i,2|, •••,
ln|Xt+Qj|)T ...(1)
Aquí, t = {1, ..., T}, f = {1, ..., F} indican, respectivamente, un índice de tiempo y un índice de una frecuencia. Además, Q indica el número de tramas en el pasado y en el futuro, lo que se tiene en cuenta en la entrada.
Los datos x de entrada no se limitan a los ejemplos descritos anteriormente, y pueden utilizarse otras cantidades de características como datos de entrada que se generarán a partir de la señal de observación.
La detección de sonidos anómalos en función de la estimación de densidad se describirá a continuación. Se supone que los datos de entrada que se generarán a partir del sonido normal (en lo sucesivo, denominados, simplemente, datos de entrada del sonido normal) se generan de acuerdo con una distribución p(x) de probabilidad. Primero, se diseña una distribución q(x;0) de probabilidad con un parámetro 0. Entonces, un parámetro 0* con el que q(x;0) se vuelve la más cercano a p(x) se obtiene utilizando un conjunto {xi}i =<1>N de datos de entrada de N piezas de sonido normal generadas a partir de la distribución p(x) de probabilidad, y q(x;0*) se establece como distribución aproximada de p(x). Entonces, en el caso de que se introduzcan datos de entrada de un sonido para el que pase va a realizar la detección de anomalías, se obtiene un grado A(x;0*) de anomalía con respecto a los datos de entrada utilizando, por ejemplo, la siguiente expresión.
[Fórmula 2]
A(x;0*) = -lnq(x;0*) ...(2)
Por último, se obtiene un resultado R de determinación utilizando, por ejemplo, la siguiente expresión.
[Fórmula 3]
R = H(A(x;0*) - 4») ...(3)
Aquí, un umbral ^ es una constante predeterminada, y H(^) es una función escalonada que devuelve 1 si un argumento no es negativo, y que devuelve 0 si el argumento es negativo. En un caso donde R = 1, se determina que el equipo que ha emitido el sonido para el cual se va a realizar la detección de anomalía es anormal, mientras que, en un caso donde R = 0, se determina que el equipo es normal. En otras palabras, si el grado A(x;0*) de anomalía es mayor que un umbral ^ establecido de antemano, se determina que el equipo es anormal.
Como se describió anteriormente, en la detección de sonidos anómalos en función de la estimación de densidad, es necesario (1) diseñar la distribución q(x;0) de probabilidad, y (2) decidir el parámetro 0. En (1) el diseño de la distribución q(x;0) de probabilidad, puede utilizarse el Flujo de Normalización. Además, en (2) la decisión del parámetro 0, por ejemplo, aprendizaje utilizando un método de descenso de gradiente en el que una función de pérdida (función objetivo) es L(0) = -Hogq(xi;0) (es decir, una suma de probabilidades logarítmicas negativas con respecto a un conjunto {xi}i =<1>N de los datos de entrada de un sonido normal).
<<Flujo de Normalización»
El Flujo de Normalización es un método para obtener una distribución que se aproxime a una distribución p(x) de probabilidad respecto a la generación de datos.
El Flujo de Normalización se describirá a continuación. Se supone que {fi(z)}i =<1>K son K transformaciones que tienen transformaciones inversas (donde fi(z):RD ^ RD, R es un conjunto de números reales y D es un número entero de 1 o mayor). Además, se supone que fi-1(z) (i = 1, ..., K) es una transformación inversa de fi(z).
En el Flujo de Normalización se considera que las variables latentes {z<0>,i}i =<1>N correspondientes, respectivamente, al conjunto {xi}i =<1>N de N piezas de datos de entrada existen, y los datos xi de entrada se obtienen transformando la variable latente z<0>,i correspondiente utilizando la siguiente expresión que utiliza K transformaciones {fi(z)}i =<1>K y una variable latente z<0>de x.
[Fórmula 4]
x = fK(fk-i(...(fi(zo))...)) -(4)
En otras palabras, la siguiente expresión es válida para i = 1, K.
[Fórmula 5]
Xi = fK(fK-i(...(fi(zo,i))...)) - ( 4 )'
Tenga en cuenta que z<1>= f<1>(z<0>), z<2>= f<2>(z<1>), ..., x = f<(z<<-1>).
Además, se supone que la variable latente {z<0>,i}i =<1>N se genera a partir de una distribución q<0>(z<0>) de probabilidad como, por ejemplo, una distribución Gaussiana isotrópica, con la que es fácil realizar un muestreo Monte Carlo. En este momento, la distribución q(x;0) de probabilidad (donde x es una variable que indica datos de entrada) con la que cumple un conjunto de datos {xi}i =<1>N de entrada puede expresarse de la siguiente forma.
[Fórmula 6]
q(x;0) =<qo(zo)|de t(a fK(zK -i;0K )/5zK -i)| |d e t(d fK- i(z K-2;0K-i)/dzK-2)| ...>
|det(dfi(zo;0i)/dzo)| ...(5)
Aquí, Z<0>= f<1>-1(f<2>-1(...(f<-1(x))...)). Además, {0i}i =<1>K es un parámetro correspondiente a una transformación {fi(z)}i =<1>K, y 0 = [01T, 02T, ..., 0kt]t
Tenga en cuenta que la distribución q0(z0) de probabilidad no se limita a una distribución con la que sea fácil realizar un muestreo de Monte Carlo, y sólo se requiere que sea una distribución con la que sea fácil realizar una estimación estricta de la densidad de probabilidad. Ejemplos de distribuciones con las que es fácil realizar una estimación estricta de la densidad de probabilidad pueden incluir una distribución p(x) de probabilidad que satisfaga las siguientes condiciones.
(Condición 1) Una función no negativa g(x) (> 0) en RD existe para la distribución p(x) de probabilidad, y p(x) = g(x)/jg(x)dx para x arbitrario e RD.
(Condición 2) Es fácil calcular jg(x)dx para una función g(x).
Los ejemplos de una función que satisface la Condición 2 pueden incluir una distribución Gaussiana. Mientras tanto, los ejemplos de una función que no satisface la Condición 2 pueden incluir g(x) = exp(sin(x) - x2).
En el Flujo de Normalización, el parámetro 0 de la distribución q(x;0) de probabilidad se aprende utilizando un conjunto de los datos {xi}i =<1>N de entrada . Luego, la distribución p(x) de probabilidad original respecto a la generación de datos se aproxima mediante la distribución q(x;0*) de probabilidad, que utiliza el parámetro 0* obtenido a través del aprendizaje.
En el Flujo de Normalización, es posible utilizar varios tipos de transformación como la transformación {fi(z)}i =<1>K. Por ejemplo, es posible utilizar Normalización por Lotes, una ReLU (Unidad Lineal Rectificada) con Fugas, o similares, descritos en la bibliografía 3 de Referencia no patentada. Además, también es posible utilizar la siguiente transformación lineal descrita en la bibliografía 4 de Referencia no patentada.
[Fórmula 7]
f(z) = LUZ ...(6)
Aquí, L, U e RD*D son, respectivamente, una matriz triangular inferior y una matriz triangular superior. Esta transformación está caracterizada por que, debido a que un valor absoluto |det(df(z;0)/dz)| de un determinante Jacobiano puede calcularse utilizando un valor absoluto (es decir, | ni =<1>dLmUm|) de un producto de elementos diagonales de L y U, es posible calcular, fácilmente, una densidad q(x;0) de probabilidad de los datos x de entrada (es posible reducir el coste del cálculo de la densidad q(x;0 ) de probabilidad de los datos x de entrada) (véase la expresión (5)). (Bibliografía 3 de Referencia no patentada: S. loffe, C. Szegedy, et al., "Batch normalization: accelerating deep network training by reducing internal covariate shift", ICML 2015, 2015.)
(Bibliografía 4 de Referencia no patentada: J. Oliva, et al., "Transformation Autoregressive Networks", ICML 2018, 2018.) Normalización por Lotes BN: x ^ y (x, y e RD) se describirá, brevemente, a continuación. En la Normalización por Lotes BN, después de realizar el ajuste para que un promedio de elementos de las respectivas dimensiones del conjunto {x¡}¡ = i N de los datos de entrada se convierta en 0 y una varianza se convierta en 1, se realizan transformación de escala y transformación de desplazamiento. Específicamente, yi = BN(<x>¡) se calcula utilizando la siguiente expresión.
Aquí, y y P son, respectivamente, un parámetro de transformación de escala y un parámetro de transformación de desplazamiento, y ambos son parámetros que deben aprenderse. Además, £ es un número real no negativo, y, sólo es necesario establecer un número real positivo como £ en un caso donde se desee evitar la división por cero, y establecer cero como £ en un caso donde no sea necesario evitar la división por cero.
Tenga en cuenta que, para especificar, claramente, el parámetro y de transformación de escala y el parámetro p de transformación de desplazamiento, también existe un caso donde BN(^) se expresa como BNYp(^ ).
Además, no todas las K transformaciones tienen que ser transformaciones del mismo tipo. Por lo tanto, por ejemplo, también es posible combinar algunos tipos de transformaciones de modo que una transformación fi(z) es una normalización por lotes y una transformación f<2>(z) es una transformación lineal.
<<AdaBN (Normalización Adaptativa por Lotes)>>
La adaptación del dominio es una técnica para ajustar un modelo aprendido de modo que, en un caso donde la distribución de los datos de aprendizaje que se utilizará para el aprendizaje del modelo sea diferente de la distribución de los datos de prueba, que es un objetivo del procesamiento que utiliza el modelo aprendido, la precisión del procesamiento que utiliza el modelo aprendido no se degrada debido a una diferencia entre la distribución. Aquí, un conjunto de datos de aprendizaje y un conjunto de datos de prueba son dominios, y a veces se los denomina, respectivamente, dominio para aprendizaje y dominio para prueba.
Si bien existen varios métodos para la adaptación del dominio que pueden combinarse con una red neuronal profunda (DNN), aquí, se describirá la normalización adaptativa por lotes (véase la bibliografía 5 de Referencia no patentada). La normalización adaptativa por lotes es un método en el que se realiza el cálculo de un promedio y de una varianza y el ajuste de un promedio y de una varianza en la normalización por lotes (véanse las expresiones (7a) a (7d)) para cada dominio. En otras palabras, el cálculo utilizando las expresiones (7a) a (7c) se realiza para cada dato en el mismo dominio. En la prueba real, se calcula una cantidad de estadísticas (promedio y varianza) para un conjunto {x¡}¡ = i N de los datos de entrada del dominio para prueba, y se genera un resultado y¡ del procesamiento utilizando la expresión (7c) y la expresión (7d) que utilizan la cantidad de estadísticas. Tenga en cuenta que, en un caso donde la transformación sea una normalización adaptativa por lotes, existe un caso donde la transformación se expresa como AdaBN: x ^ y (x, y e RD).
(Bibliografía 5 de Referencia no patentada: Y. L¡, et al., "Revisiting Batch Normalization for Practical Domain Adaptation", ICLR 2017, 2016.)
La detección de anomalías en las realizaciones de la presente invención se describirá a continuación. En primer lugar, se describirá el problema de establecimiento para la detección de anomalías en las realizaciones de la presente invención. A continuación, se describirá una configuración específica de detección de anomalías en las realizaciones de la presente invención utilizando la técnica relacionada anteriormente descrita.
<<Establecimiento del problema>>
Un problema a resolver es "aprender una segunda distribución de probabilidad que es un modelo normal que puede utilizarse para el equipo objetivo de detección de anomalías, utilizando una primera distribución de probabilidad que es un modelo normal común aprendido utilizando una gran cantidad de sonido normal obtenido de una pluralidad de piezas del equipo y una pequeña cantidad de sonido normal obtenido del equipo objetivo de detección de anomalías, y permitir la detección de anomalías a partir del sonido emitido desde el equipo objetivo de detección de anomalías utilizando esta segunda distribución de probabilidad". Por tanto, se tratarán los siguientes datos.
(1) Datos de aprendizaje: se supone que los datos de aprendizaje son sonidos normales emitidos desde uno o más equipos diferentes del equipo objetivo de detección de anomalías y que es posible preparar una gran cantidad de datos de aprendizaje. Debido a que los datos de aprendizaje se utilizan para el aprendizaje, el sonido se denominará sonido normal para el aprendizaje. Además, un conjunto de datos de aprendizaje se denominará dominio para aprendizaje. Tenga en cuenta que el tipo de equipo desde el cual se va a recoger el sonido normal es el mismo que el tipo de equipo objetivo de detección de anomalías.
(2) Datos de aprendizaje adaptativo: se supone que los datos de aprendizaje adaptativo son sonidos normales emitidos desde el equipo objetivo de detección de anomalías y que sólo puede prepararse una pequeña cantidad de datos de aprendizaje adaptativo. Debido a que los datos del aprendizaje adaptativo se utilizan para el aprendizaje adaptativo, el sonido se denominará sonido normal para el aprendizaje adaptativo. Tenga en cuenta que un conjunto de los datos de aprendizaje adaptativo es un dominio para prueba que se describirá más adelante.
(3) Datos de prueba: los datos de prueba son sonidos emitidos desde el equipo objetivo de detección de anomalías, y se determina si el equipo es normal o anormal a partir de este sonido. Por lo tanto, este sonido se denominará sonido objetivo de detección de anomalías. Además, un conjunto de los datos de prueba se denominará dominio para prueba.
En lo sucesivo, una fase en la que se realiza el aprendizaje utilizando sonido normal para el aprendizaje se denominará fase de aprendizaje, una fase en la que se realiza el aprendizaje adaptativo utilizando sonido normal para el aprendizaje adaptativo se denominará fase de aprendizaje adaptativo, y una fase en la que se detecta una anomalía a partir del sonido objetivo de detección de anomalías se denominará fase de prueba (fase de detección de anomalías).
<<Puntos>>
En las realizaciones de la presente invención, para permitir que la segunda distribución de probabilidad se aprenda, de forma adaptativa, a partir de una pequeña cantidad de datos de aprendizaje adaptativo con un pequeño coste de cálculo, se introduce una normalización adaptativa por lotes para el Flujo de Normalización. Específicamente, al menos, una transformación inversa fi-1 (z) de la K transformaciones {fi(z)}¡ =<1>k que se utilizarán en el Flujo de Normalización es una normalización adaptativa por lotes. Tenga en cuenta que, en el cálculo de la normalización adaptativa por lotes, pueden omitirse la transformación de escala y la transformación de desplazamiento, es decir, el cálculo en la expresión (7d). En otras palabras, también es posible expresar que la transformación inversa fi-1 (z) es una normalización adaptativa por lotes en la que y = 1 y P = 0.
«Configuración específica»
Se describirá a continuación una configuración específica.
(1) Fase de aprendizaje
Primero, una red neuronal en la que los datos x de entrada generados a partir del sonido normal (es decir, datos de aprendizaje) emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías, se transforman en una variable latente zo(~ q(zo)) que se considera generada de acuerdo con la distribución qo(zo) de probabilidad que se describirá. Aquí, se describirá un caso donde se utilizan cinco transformaciones {fi(z)}¡ =<15>En otras palabras, zo puede obtenerse como zo = f1-1(f2-1(f3-1(f4-1(f5-1(x))))).
Las cinco transformaciones {fi(z)}i =<15>descritas anteriormente se definirán utilizando la siguiente expresión. Tenga en cuenta que, por conveniencia, en lugar de ser indicada una transformación fi, se indica una transformación inversa fi-1 de la transformación fi (donde z4 = f5-1(x), z3 = f4-1(z4), z2 = f3-1(z3), z1 = f2-1(z2), z0 = f1-1 (z1)).
[Fórmula 9]
fV](x) = L5D5ü3x ..,(8a)
rt,(8b)
fu'1 (2,0 = LeakyReLUfzj) = maxfzj, a.izO ...(So)
fi"'(^O — L2D2U322 ...(8d)
|* 1(zi) = AdaBN^m(zl) ,,,(8c)
Aquí, L<2>, L<5>e RDxD es una matriz triangular inferior cuyo elemento diagonal es 1, y todos los elementos L<2>,ij, L5,ij (i s j) distintos de una parte triangular superior son parámetros objetivo de aprendizaje (es decir, un parámetro<02>o un parámetro 05). D<2>, D<5>e RD*D es una matriz diagonal y los elementos diagonales Ü<2>,¡j, Ds.ij (i = j) son parámetros objetivo de aprendizaje (es decir, un parámetro 02 o un parámetro 05). U<2>, U<5>e RD*D es una matriz triangular superior cuyo elemento diagonal es 1, y todos los elementos U<2>j U5,ij (i < j) distintos de una parte triangular inferior son parámetros objetivo de aprendizaje (es decir, un parámetro 02 o un parámetro 05). Además, a3 (> 0) es un parámetro de LeakyReLU, y puede establecerse como un hiper parámetro, o puede establecerse como un parámetro objetivo de aprendizaje (es decir, un parámetro 03) (en un caso donde a3 se establece como objetivo de aprendizaje, ReLU se denomina ReLU Paramétrica (bibliografía 6 de Referencia no patentada)). Además, AdaBNY_4p_4(^ ) y AdaBNY_ip_i(^) son la normalización adaptativa por lotes descrita anteriormente, y<y i>, P<i>, Y4, P<4>son parámetros objetivo de aprendizaje (es decir, un parámetro 0i o un parámetro 04).
(Bibliografía 6 de Referencia no patentada: K. He, et al., "Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification", ICCV 2015, páginas 1026-1034, 2015.)
Además, los valores absolutos de los determinantes Jacobianos de las transformaciones {fi(z)}i =<15>se calculan, respectivamente, utilizando la siguiente expresión (donde x = f5(z4), z4 = f4(z3), z3 = f3(z2), z<2>= f<2>(z<1>), z<1>= fi(z<0>)).
[Fórmula 10]
Aquí, s4' es una desviación estándar de z4 (correspondiente a los datos x de entrada generados a partir de los datos de aprendizaje), 5 es el número de elementos por debajo de cero entre z3 (correspondiente a los datos x de entrada generados a partir de los datos de aprendizaje), y s1 es una desviación estándar de z<1>(correspondiente a los datos x de entrada generados a partir de los datos de aprendizaje). Tenga en cuenta que los valores absolutos |det(df4(z3)/dz3)|, |det(df<1>(z<0>)/dz<0>)| de los determinantes Jacobianos para las transformaciones f4 y f<1>se expresan utilizando valores absolutos de los determinantes Jacobianos tras la deducción en lugar de tras el aprendizaje (es decir, tras el procesamiento utilizando el modelo aprendido).
Además, como se describió anteriormente, se supone que la distribución q<0>(z<0>) de probabilidad es una distribución de probabilidad con la que es fácil realizar una estimación estricta de la densidad de probabilidad. Por ejemplo, si una distribución Gaussiana N(0, I), en la que un promedio es 0 y una varianza es una matriz identidad I, se establece como la distribución q<0>(z<0>) de probabilidad, la distribución q<0>(z<0>) de probabilidad puede expresarse utilizando la siguiente expresión.
[Fórmula 11]
Por lo tanto, puede entenderse que, al establecer la distribución de probabilidad de los datos x de entrada generados a partir de los datos de aprendizaje como q1(x;0) y utilizando la expresión (5), es posible calcular una densidad q<1>(X<í>;0) de probabilidad de los datos<x>¡ de entrada a partir de la densidad q<0>(z<0>,i) de probabilidad de la variable latente<zc>,¡.
Posteriormente, se describirá un método de aprendizaje del parámetro 0. De manera similar al aprendizaje convencional de una red neuronal, es posible realizar el aprendizaje utilizando, por ejemplo, un método de descenso de gradiente, Momentum SGD (Descenso de Gradiente Estocástico), ADAM (Estimación Adaptativa de Momentos) o una combinación de los mismos, utilizando una función L(0) de pérdida. En un caso donde se utilice un Flujo de Normalización, a menudo se utiliza como función L(0) de pérdida un promedio de probabilidades logarítmicas negativas definidas mediante la siguiente expresión.
[Fórmula 12]
L(í?) = - l /A fX , /I 1log? i(x i ;0) - (1 1 )
Tenga en cuenta que es posible utilizar un método de aprendizaje en mini lotes que se realiza en unidades de un conjunto de datos de aprendizaje denominado mini lote en el aprendizaje descrito anteriormente. Aquí, un mini lote se refiere a una pluralidad de datos de aprendizaje seleccionados, aleatoriamente, de todos los datos de aprendizaje. Se calcula un valor de la función L(0) de pérdida para cada mini lote.
(2) Fase de aprendizaje adaptativo
A continuación, se describirá un método de aprendizaje adaptativo de la distribución q2(x;0) de probabilidad de los datos x de entrada generados a partir de sonido normal (es decir, datos de aprendizaje adaptativo) emitidos desde el equipo objetivo de detección de anomalías. Por ejemplo, sólo es necesario ejecutar el aprendizaje en el siguiente procedimiento utilizando z4 = f5-1(x), z3 = f4-1(z4), z<2>= f3-1(z3), z<1>= f<2>-1(z<2>), z<0>= f r 1(z<1>). Primero, {z'4,i}i = 1M(z'4,i =f5-1(x'i)) se calcula a partir de un conjunto de los datos {x'i}i =<1>M de entrada. Entonces, se obtienen un promedio y una varianza de {z'4,i}i =<1>M. Por último, la media y la varianza obtenidas se sustituyen por m, s2 en la expresión (7 c). De manera similar, {z'<1>,i}i =<1>M(z'<1>,i =f2-1(f3-1(f4-1(f5-1(x'i))))) se calcula a partir del conjunto de los datos {x'i}i =<1>M de entrada. Entonces, se obtienen un promedio y una varianza de {z'<1>,i}i =<1>M. Por último, la media y la varianza obtenidas se sustituyen por m, s2 en la expresión (7c).
(3) Fase de prueba
Como método para la detección de anomalías, por ejemplo, es posible utilizar el método descrito en «Detección no supervisada de sonidos anómalos>>.
« E fe c to s »
Al introducir normalización adaptativa por lotes al Flujo de Normalización, pueden obtenerse los siguientes efectos. (1) Es posible ajustar una diferencia entre la distribución de los datos de aprendizaje y la distribución de los datos de prueba, de modo que sea posible reducir la degradación en la precisión de detección de anomalías en el dominio para prueba.
En un caso donde se utilice normalización adaptativa por lotes en una capa final, es posible corregir una brecha en la traducción paralela y una escala en una dirección axial de distribución de datos entre dominios. Además, en un caso donde una diferencia en la distribución de datos entre diferentes dominios se exprese con traducción paralela y escalado en una dirección axial, en principio, al introducir normalización adaptativa por lotes en una primera capa, es posible ejecutar la detección de anomalías con alta precisión en el dominio para prueba incluso si el parámetro 0, que se ha aprendido en el dominio para aprendizaje, se aplica al dominio para prueba sin cambios.
(2) Es posible aprender, de forma adaptativa, la segunda distribución de probabilidad con un bajo coste de cálculo. El procesamiento que es necesario para el aprendizaje adaptativo de la segunda distribución de probabilidad es, como se describió anteriormente, básicamente un mero cálculo de una cantidad de estadísticas en la normalización adaptativa por lotes para los datos de aprendizaje adaptativo. Por lo tanto, el aprendizaje adaptativo puede ejecutarse con un coste de cálculo menor que en un caso donde se repite el aprendizaje normal, de modo que es posible ejecutar el aprendizaje adaptativo en línea en algunos casos.
Además, como en el ejemplo descrito anteriormente, en un caso donde se introduce una transformación lineal en el Flujo de Normalización, mediante una matriz W correspondiente a la transformación lineal que está sujeta a descomposición LU o a descomposición LDU, pueden obtenerse los siguientes efectos. (3) Se reduce el coste del cálculo de la densidad de probabilidad, por lo que se reduce el coste del aprendizaje.
En el Flujo de Normalización, es necesario calcular cada determinante Jacobiano de la transformación lineal f. Por lo tanto, en un caso donde la matriz W se mantenga en una forma sin estar sujeta a descomposición LU o descomposición LDU, se requiere un coste del cálculo de O(k3) para calcular el determinante |W|, donde k es un orden de W. Sin embargo, en un caso donde la matriz W se mantenga en una forma que está sujeta a descomposición LU o a descomposición LDU de manera que W = LU o W = LDU, debido a que es posible obtener IWI utilizando |W| = |LU| = |L| x |U| (es decir, un producto de todos los elementos diagonales de L y U) o |W| = |LDU| = |L| x |D| x |U| (es decir, un producto de todos los elementos diagonales de L, D y U), es posible realizar el cálculo a una velocidad extremadamente alta.
[Primera realización]
Se considerará un caso donde, en una situación en la que existan dos o más equipos del mismo tipo, se detecte una anomalía de uno de ellos (que se denominará equipo objetivo de detección de anomalías). Para lograr esto, en primer lugar, una distribución de probabilidad (en lo sucesivo, denominada primera distribución de probabilidad) que indica una distribución de sonido normal (en lo sucesivo, denominado sonido normal para el aprendizaje) emitido desde uno o más equipos diferentes de este equipo objetivo de detección de anomalías se aprende a partir del sonido normal emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías (fase de aprendizaje). Luego, una distribución de probabilidad (en lo sucesivo, denominada segunda distribución de probabilidad) que indica una distribución de sonido normal (en lo sucesivo, denominado sonido normal para el aprendizaje adaptativo) emitido desde el equipo objetivo de detección de anomalías se aprende, de forma adaptativa, a partir de la primera distribución de probabilidad, utilizando el sonido normal emitido desde el equipo objetivo de detección de anomalías (fase de aprendizaje adaptativo). Luego, se determina si el equipo es anormal o no a partir del sonido (en lo sucesivo, denominado sonido objetivo de detección de anomalías) emitido desde el equipo objetivo de detección de anomalías (fase de prueba (fase de detección de anomalías)).
El aparato 100 de aprendizaje de distribuciones de probabilidad aprende la primera distribución de probabilidad a partir del sonido normal para el aprendizaje. El aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad aprende, de forma adaptativa, la segunda distribución de probabilidad a partir de la primera distribución de probabilidad utilizando el sonido normal para el aprendizaje adaptativo. El aparato 300 de detección de anomalías determina si el equipo es anormal o no a partir del sonido objetivo de detección de anomalías.
El aparato 100 de aprendizaje de distribuciones de probabilidad se describirá a continuación con referencia a la Fig. 1 y a la Fig. 2. La Fig. 1 es un diagrama de bloques que ilustra una configuración del aparato 100 de aprendizaje de distribuciones de probabilidad. La Fig. 2 es un diagrama de flujo que ilustra el funcionamiento del aparato 100 de aprendizaje de distribuciones de probabilidad. Como se ilustra en la Fig. 1, el aparato 100 de aprendizaje de distribuciones de probabilidad incluye una unidad 110 generadora de datos de entrada, una unidad 120 de estimación de la variable latente, una unidad 130 de cálculo de la función de pérdida, una unidad 140 de actualización del parámetro, una unidad 150 de determinación de la condición de convergencia y una unidad 190 de grabación. La unidad 190 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 100 de aprendizaje de distribuciones de probabilidad según corresponda. La unidad 190 de grabación graba, por ejemplo, un parámetro 0 de la primera distribución q1(x;0) de probabilidad que debe aprenderse. Como valor inicial del parámetro 0, se graba, por ejemplo, un valor generado utilizando un número aleatorio.
El aparato 100 de aprendizaje de distribuciones de probabilidad está conectado a una unidad 910 de grabación de sonido normal de aprendizaje. En la unidad 910 de grabación de sonido normal de aprendizaje, el sonido normal para el aprendizaje preparado de antemano se graba como datos de aprendizaje. Como se describió anteriormente, es preferible preparar el sonido normal para el aprendizaje tanto como sea posible.
El funcionamiento del aparato 100 de aprendizaje de distribuciones de probabilidad se describirá de acuerdo con la Fig. 2. La unidad 110 generadora de datos de entrada genera los datos xi (i = 1,..., N) de entrada a partir del sonido normal para el aprendizaje si (i = 1,..., N) que se ingresa (S110). Por ejemplo, como en la expresión (1), sólo es necesario generar un vector que incluya un espectro de amplitud logarítmica del sonido normal para el aprendizaje si como elemento, y establecerlo como el dato xi de entrada. Tenga en cuenta que también es posible utilizar una cantidad de característica acústica distinta a la descrita anteriormente como el dato xi de entrada generado a partir del sonido normal para el aprendizaje si.
La unidad 120 de estimación de la variable latente estima una variable latente z<0>,i (i = 1, ..., N) correspondiente a los datos xi de entrada de los datos xi (i = 1, ..., N) de entrada generados en S110 utilizando el parámetro 0 de la primera distribución q1(x;0) de probabilidad (S120). Tenga en cuenta que el parámetro 0 utilizado aquí es un valor que se está aprendiendo.
Aquí, una variable x de la primera distribución q1(x;0) de probabilidad que se va a aprender es una variable que indica datos de entrada generados a partir del sonido normal emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías, y la variable x se expresa como x = fK(fK<-1>(...(f<1>(z<0>))...)) utilizando transformaciones fi (i = 1, ..., K, K es un número entero de 1 o mayor, y existen transformaciones inversas fi-1 para las transformaciones fi) y la variable latente z<0>.
Por tanto, la variable latente z<0>,i correspondiente a los datos xi de entrada se proporciona utilizando la siguiente expresión.
[Fórmula 13]
Además, se supone que la variable latente z<0>,i (i = 1, ..., N) se genera de acuerdo con la distribución q<0>(z<0>) de probabilidad de la variable latente z<0>. Sin embargo, la distribución q<0>(z<0>) de probabilidad tiene características que hacen que sea fácil realizar una estimación estricta de la densidad de probabilidad.
Por lo tanto, la distribución q1(x;0) de probabilidad puede expresarse utilizando la siguiente expresión que utiliza la distribución q<0>(z<0>) de probabilidad (véase la expresión (5)).
[Fórmula 14]
Aquí, 0i es un parámetro correspondiente a la transformación fi, y 0 = [01T, 02T, 0<k>t ]t .
La unidad 120 de estimación de la variable latente puede realizarse utilizando una red neuronal NN que calcula la variable latente z<0>a partir de los datos x de entrada. Tenga en cuenta que la expresión de cálculo es la siguiente.
[Fórmula 15]
En otras palabras, la red neuronal NN recibe los datos x de entrada como entrada, procede con el cálculo, secuencialmente, a partir de transformaciones inversas fK-1, fK-<1>-1, ..., f<2>-1, f<1>-1y finalmente, emite la variable latente zc.
Al menos, una transformación inversa fi_<0>-1 de las transformaciones fi (i = 1, ..., K) descritas anteriormente (donde i<0>es un número entero que satisface 1 < Í<0>< K) se realiza normalización adaptativa por lotes. Mediante esta técnica, es posible aprender, de forma adaptativa, la segunda distribución q<2>(x;<0>) de probabilidad utilizando una cantidad relativamente pequeña de sonido normal para el aprendizaje adaptativo (véase <<Puntos>>).
Además, al menos, una transformación inversa fi_<1>-1 de las transformaciones fi (i = 1, ..., K) (donde i<1>es un número entero que satisface 1 < i<1>< K) puede hacerse una transformación lineal, y una matriz correspondiente a la transformación lineal puede expresarse como un producto de una matriz triangular inferior y una matriz triangular superior, o como un producto de una matriz triangular inferior, una matriz diagonal y una matriz triangular superior. Mediante esta técnica, es posible ejecutar el cálculo (cálculo en la unidad 130 de cálculo de la función de pérdida que se describirá más adelante) de la densidad de probabilidad que se requiere tras el aprendizaje de la primera distribución q<1>(x;<0>) de probabilidad a bajo coste (véase (3) en <<Efectos>>).
Como ejemplo específico de las transformaciones fi (i = 1, ..., K), es posible utilizar cinco transformaciones cuyas transformaciones inversas pueden expresarse utilizando la expresión (8a) a la expresión (8e) suponiendo que, por ejemplo, K = 5.
La unidad 130 de cálculo de la función de pérdida calcula un valor de la función L(0) de pérdida que se utilizará para la optimización del parámetro 0 de la primera distribución q1(x;0) de probabilidad de la variable latente z<0>,¡ (i = 1, ..., N) estimado en S120 (S130). La función L(0) de pérdida puede, por ejemplo, definirse como un promedio de probabilidades logarítmicas negativas como en la expresión (11). En este momento, mientras que es necesario calcular la densidad q1(Xi;0) de probabilidad de los datos xi (i = 1, ..., N) de entrada, la densidad q<1>(Xi;0) de probabilidad de los datos xi de entrada puede calcularse utilizando la densidad q<0>(z<0>,i) de probabilidad de la variable latente z<0>,i correspondiente a los datos xi de entrada. Por ejemplo, en un caso donde la distribución q<0>(z<0>) de probabilidad es la distribución Gaussiana N(0, I), la densidad q<0>(z<0>,i) de probabilidad de la variable latente »,¡ puede calcularse utilizando la siguiente expresión.
[Fórmula 16]
Por lo que es posible calcular la densidad q1(xi;0) de probabilidad de los datos xi de entrada a partir de la densidad q<0>(z<0>,i) de probabilidad calculada descrita anteriormente de la variable latente z<0>,i utilizando la expresión (5)'.
La unidad 140 de actualización del parámetro actualiza el parámetro 0 de la primera distribución q1(x;0) de probabilidad para optimizar (minimizar) el valor de la función L(0) de pérdida calculado en S130 (S140). Por ejemplo, se utiliza, preferentemente, un método de descenso de gradiente en la actualización del parámetro 0.
La unidad 150 de determinación de la condición de convergencia determina las condiciones de convergencia establecidas de antemano como condiciones de terminación de la actualización del parámetro, emite la primera distribución q1(x;0) de probabilidad utilizando el parámetro 0 actualizado en S140 en un caso donde se cumplan las condiciones de convergencia, y repite el procesamiento desde S110 a S140 en un caso donde no se cumplan las condiciones de convergencia (S150). Como condiciones de convergencia, por ejemplo, puede emplearse una condición relativa a si el número de veces de ejecución del procesamiento desde S110 a S140 alcanza un número predeterminado de veces. A la salida, pueden emitirse el parámetro 0 (este parámetro también se denominará parámetro aprendido) actualizado en S140 y las transformaciones inversas f<-1(x; 0k), íí<-i '1(zk-i ; 0k-i ), f2'1(z2<; 0>2), f i-1(z i<; 0>i).
Obsérvese que un componente que incluya la unidad 110 generadora de datos de entrada, la unidad 120 de estimación de la variable latente, la unidad 130 de cálculo de la función de pérdida, la unidad 140 de actualización del parámetro y la unidad 150 de determinación de la condición de convergencia se denominará unidad 105 de aprendizaje. En otras palabras, la unidad 105 de aprendizaje es un componente que aprende la primera distribución de probabilidad a partir de sonido normal para el aprendizaje.
Según la realización de la presente invención, es posible aprender la primera distribución q1(x;0) de probabilidad, lo que permite un fácil ajuste de una diferencia entre la distribución de los datos de aprendizaje y la distribución de los datos de prueba.
<Modificación>
Mientras que la descripción se ha proporcionado suponiendo que el aparato 100 de aprendizaje de distribuciones de probabilidad aprende una primera distribución q<1>(x;<0>) de probabilidad a partir de sonido normal para el aprendizaje, que es un sonido normal emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías, el aparato<1 0 0>de aprendizaje de distribuciones de probabilidad puede aprender la primera distribución q<1>(1)(x;<0>), ..., q<1><w)(x;<0>) de probabilidad que indica la distribución del sonido normal emitido desde los respectivos W equipos, mientras que el número de uno o más equipos diferentes del equipo objetivo de detección de anomalías se establece como W (w es un número entero de 1 o mayor). En este caso, mediante un promedio y una varianza en la normalización adaptativa por lotes que se calcula para cada dato de entrada generado a partir del sonido normal para el aprendizaje emitido desde el mismo equipo entre los datos Xi (i = 1,..., N) de entrada (correspondiente a un mini lote), la unidad 120 de estimación de la variable latente ejecuta el procesamiento de estimación de la variable latente. En otras palabras, en el cálculo en la normalización adaptativa por lotes, se utilizan W conjuntos de promedios y varianzas en lugar de un conjunto de un promedio y de una varianza. Sin embargo, el parámetro 0 aprendido es común entre W conjuntos de la primera distribución q<1>(1)(x;<0>), ..., q<1>(W)(x;<0>) de probabilidad, y hay un conjunto del parámetro aprendido.
[Segunda realización]
El aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad se describirá a continuación con referencia a la Fig. 3 y a la Fig. 4. La Fig. 3 es un diagrama de bloques que ilustra una configuración del aparato<2 0 0>de aprendizaje adaptativo de distribuciones de probabilidad. La Fig. 4 es un diagrama de flujo que ilustra el funcionamiento del aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad. Como se ilustra en la Fig. 3, el aparato<2 0 0>de aprendizaje adaptativo de distribuciones de probabilidad incluye una unidad<1 1 0>generadora de datos de entrada, una unidad 240 de actualización del parámetro, una unidad 250 de salida, y la unidad 190 de grabación. La unidad 190 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad según corresponda. La unidad 190 de grabación, por ejemplo, graba el parámetro<0>(es decir, el parámetro aprendido) de la primera distribución q<1>(x;<0>) de probabilidad aprendida utilizando el aparato 100 de aprendizaje de distribuciones de probabilidad. Este parámetro aprendido se convierte en un valor inicial del parámetro 0 de la segunda distribución q2(x;<0>) de probabilidad. Tenga en cuenta que la variable x de la segunda distribución q<2>(x;<0>) de probabilidad es una variable que indica datos de entrada generados a partir del sonido normal emitido desde el equipo objetivo de detección de anomalías.
El aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad está conectado a una unidad 920 de grabación de sonido normal de aprendizaje adaptativo. En la unidad 920 de grabación de sonido normal de aprendizaje adaptativo, el sonido normal para el aprendizaje adaptativo preparado de antemano se graba como datos de aprendizaje adaptativo. Como se describió anteriormente, sólo es necesario preparar una cantidad relativamente pequeña del sonido normal para el aprendizaje adaptativo en comparación con una cantidad de sonido normal para el aprendizaje.
El funcionamiento del aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad se describirá de acuerdo con la Fig. 4. La unidad 110 generadora de datos de entrada genera los datos x'i (i = 1, ..., M) de entrada a partir del sonido normal para el aprendizaje adaptativo s'i (i = 1,..., M) que se introduce (S110). Aquí, mientras que el número de piezas de sonido normal para el aprendizaje adaptativo M es básicamente un número entero que no exceda el número de piezas de sonido normal para el aprendizaje N, el número de piezas de sonido normal para el aprendizaje adaptativo M puede ser un número entero que exceda el número de piezas de sonido normal para el aprendizaje N.
La unidad 240 de actualización del parámetro actualiza el parámetro 0 de la segunda distribución q2(x;<0>) de probabilidad utilizando los datos x'i (i = 1, ..., M) de entrada generados en S110 (S240). Específicamente, para una transformación fi<_0>cuya transformación inversa es una normalización adaptativa por lotes, sólo es necesario actualizar un promedio y una varianza que se utilizarán para el cálculo con un promedio y una varianza de los datos z'i_<0>,i(=fi_<0>-<1>-1 (fi_<0>-<2>-1 (...(f<-1 (x'<1>))...))) de entrada que se ingresarán a una transformación inversa fi_<0>-1 calculada a partir de los datos x'i (i = 1,..., M) de entrada. En otras palabras, un promedio y una varianza de los datos z'i_<0,1>(i = 1, ..., M) de entrada se sustituyen por m y s2 en la expresión (7c).
La unidad 250 de salida emite la segunda distribución q2(x;<0>) de probabilidad utilizando el parámetro 0 actualizado en S240 (S250). Además, a la salida, pueden emitirse el parámetro 0 (este parámetro también se denominará parámetro aprendido) actualizado en S240, y las transformaciones inversas fK"1(x;0K), fK-i"1(zK-i;0K-i), f2"1(z2;02), fi"1(zi;0i). Tenga en cuenta que un componente que incluya la unidad 110 generadora de datos de entrada, la unidad 240 de actualización del parámetro y la unidad 250 de salida se denominará unidad 205 de aprendizaje adaptativo. En otras palabras, la unidad 205 de aprendizaje adaptativo es un componente que aprende, de forma adaptativa, la segunda distribución de probabilidad a partir de la primera distribución de probabilidad utilizando el sonido normal para el aprendizaje adaptativo.
Según la realización de la presente invención, es posible aprender la segunda distribución q2(x;0) de probabilidad ajustando una diferencia entre la distribución de los datos de aprendizaje y la distribución de los datos de prueba. <Modificación>
Además, en un caso donde el aparato 100 de aprendizaje de distribuciones de probabilidad aprenda las W primeras distribuciones q1(1)(x;0), q1(W)(x;0) de probabilidad, sólo hay un conjunto del parámetro 0 aprendido. El aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad realiza el aprendizaje adaptativo utilizando este conjunto del parámetro.
[Tercera realización]
El aparato 300 de detección de anomalías se describirá a continuación con referencia a la Fig. 5 y a la Fig. 6. La Fig. 5 es un diagrama de bloques que ilustra una configuración del aparato 300 de detección de anomalías. La Fig. 6 es un diagrama de flujo que ilustra el funcionamiento del aparato 300 de detección de anomalías. Como se ilustra en la Fig. 5, el aparato 300 de detección de anomalías incluye una unidad 110 generadora de datos de entrada, una unidad 320 de estimación del grado de anomalía, una unidad 330 de determinación de anomalías y una unidad 390 de grabación. La unidad 390 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 300 de detección de anomalías según corresponda. La unidad 390 de grabación graba el parámetro 0 (es decir, el parámetro aprendido) de la segunda distribución q<2>(x;<0>) de probabilidad que se ha aprendido utilizando el aparato 200 de aprendizaje adaptativo de distribuciones de probabilidad.
En otras palabras, el aparato 300 de detección de anomalías ejecuta la detección de anomalías utilizando la segunda distribución q<2>(x;<0>) de probabilidad que utiliza este parámetro aprendido, como la segunda distribución de probabilidad aprendida.
El funcionamiento del aparato 300 de detección de anomalías se describirá de acuerdo con la Fig. 6. La unidad 110 generadora de datos de entrada genera los datos x de entrada a partir del sonido s objetivo de detección de anomalías que se introduce (S110).
La unidad 320 de estimación del grado de anomalía estima un grado de anomalía que indica un grado de anomalía del equipo a partir de los datos x de entrada generados en S110 en función de la segunda distribución q2(x;0) de probabilidad aprendida (S320). La unidad 320 de estimación del grado de anomalía se describirá a continuación con referencia a la Fig. 7 y a la Fig. 8. La Fig. 7 es un diagrama de bloques que ilustra una configuración de la unidad 320 de estimación del grado de anomalía. La Fig. 8 es un diagrama de flujo que ilustra el funcionamiento de la unidad 320 de estimación del grado de anomalía. Como se ilustra en la Fig. 7, la unidad 320 de estimación del grado de anomalía incluye una unidad 321 de cálculo de la variable latente y una unidad 322 de cálculo del grado de anomalía.
El funcionamiento de la unidad 320 de estimación del grado de anomalía se describirá de acuerdo con la Fig. 8. La unidad 321 de cálculo de la variable latente calcula una variable latente z<0>correspondiente a los datos x de entrada a partir de los datos x de entrada generados en S110 (S321). Específicamente, la variable latente z<0>puede calcularse utilizando una red neuronal en la que el parámetro aprendido de la segunda distribución de probabilidad se establece como parámetro de la red neuronal NN.
La unidad 322 de cálculo del grado de anomalía calcula un grado A(x;0) de anomalía con respecto a los datos x de entrada a partir de la variable latente z<0>calculada en S321 (S322). El grado de anomalía puede, por ejemplo, calcularse utilizando la siguiente expresión.
[Fórmula 17]
A(x;0) = -lnq2(x;0) ...(2)'
En un caso donde la distribución q<0>(z<0>) de probabilidad es una distribución con la que es fácil realizar una estimación estricta de la densidad de probabilidad, la densidad q<2>(x;<0>) de probabilidad de los datos x de entrada puede calcularse utilizando la siguiente expresión.
[Fórmula 18]
q2(x;0 ) = qo(zo)|det(dfK(zK-i;0 K)/dzK-i)| |det(dfK-i(zK-2;0 K-i)/3 zK-2)| ...
Idetfawzotfiyazo)! ...(5 )”
Al calcular la expresión (5)", por ejemplo, en un caso donde la distribución q<0>(z<0>) de probabilidad es la distribución Gaussiana N(0, I) y las transformaciones inversas son cinco transformaciones que pueden expresarse con la expresión (8a) a la expresión (8e), sólo es necesario utilizar la expresión (10) y la expresión (9a) a la expresión (9e).
La unidad 330 de determinación del grado de anomalía genera un resultado de determinación que indica si el equipo es anormal o no a partir del grado A(x;0) de anomalía estimado en S320 (S330). Por ejemplo, sólo es necesario generar un resultado de determinación que indique anormal en un caso donde R = 1, y generar un resultado de determinación que indique normal en un caso donde R = 0, utilizando la expresión (3).
En otras palabras, puede decirse que el aparato 300 de detección de anomalías incluye la unidad 320 de estimación del grado de anomalía que estima un grado de anomalía que indica un grado de anomalía del equipo objetivo de detección de anomalías a partir del sonido emitido desde el equipo objetivo de detección de anomalías (sonido objetivo de detección de anomalías) en función de la asociación entre la primera distribución de probabilidad que indica la distribución del sonido normal emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías y el sonido normal (sonido normal para el aprendizaje adaptativo) emitido desde el equipo objetivo de detección de anomalías. Según la invención, la asociación es la segunda distribución de probabilidad que indica la distribución del sonido normal emitido desde el equipo objetivo de detección de anomalías, que se obtiene actualizando la primera distribución de probabilidad utilizando el sonido normal para el aprendizaje adaptativo.
Según la realización de la presente invención, al realizar la detección de anomalías utilizando la segunda distribución de probabilidad obtenida ajustando una diferencia entre la distribución de los datos de aprendizaje y la distribución de los datos de prueba, es posible realizar la detección de anomalías con alta precisión. En otras palabras, es posible reducir la degradación de la precisión de detección de anomalías.
Tenga en cuenta que, si bien se ha descrito desde la primera realización hasta la tercera realización un método para calcular el grado A(x;0) de anomalía utilizando un Flujo de Normalización, el grado de anomalía también puede obtenerse utilizando otros modelos estadísticos. Por ejemplo, también es posible utilizar el codificador automático (AE) descrito en la bibliografía 7 de Referencia no patentada. El codificador automático es un conjunto de un codificador y un decodificador.
(Bibliografía 7 de Referencia no patentada: Y. Koizumi, S. Saito, H. Uematsu, Y. Kawachi, y N. Harada, et al., "Unsupervised Detection of Anomalous Sound based on Deep Learning and the Neyman-Pearson Lemma", Transacciones del IEEE/ACM sobre Procesamiento de Audio, Voz, y Lenguaje, Vol.27-1, págs.212-224, 2019.) Se describirán a continuación los antecedentes técnicos de una cuarta realización a una sexta realización de la presente invención y de cada realización.
<Antecedentes técnicos>
En un caso donde se utilice un codificador automático, el grado de anomalía puede calcularse utilizando la siguiente expresión.
[Fórmula 19]
A(x;0) = ||<x>-D(E((<x>,0<e>),0d)|P ...(13)
Aquí, IMI indica una norma L<2>, E y D indican, respectivamente, un codificador y un decodificador, 0e y 0d indican, respectivamente, un parámetro del codificador E y un parámetro del decodificador D. En otras palabras, 0 = {0e, 0d}. Tanto el codificador E como el decodificador D pueden configurarse como una red neuronal. En este caso, por ejemplo, 0 se aprende de modo que un error de reconstrucción (restauración) de los datos de aprendizaje del sonido normal sea mínimo.
[Fórmula 20]
Aquí, xi son los datos de aprendizaje del i-ésimo sonido normal, y N es el número de muestras de los datos de aprendizaje del sonido normal.
Para realizar aprendizaje adaptativo utilizando un codificador automático, sólo es necesario configurar ambos o uno del codificador E y del decodificador D como una red neuronal utilizando normalización adaptativa por lotes (AdaBN). En otras palabras, se utiliza normalización adaptativa por lotes a mitad del cálculo de ambos o de uno del codificador E y del decodificador D. Por ejemplo, en lugar de configurar el codificador E como una red neuronal de tres capas de E(x;0e) = W<2>[a(W<1>x+b<1>)] b<2>, sólo es necesario configurar el codificador E como una red neuronal que calcula la siguiente expresión en la que se inserta una capa AdaBN.
[Fórmula 21]
E(<x>,0e) = W2{ AdaBN[a(WiX bi)]} b2 ...(15)
Aquí, W<1>y W<2>indican matrices de ponderación, b<1>y B<2>indican vectores de sesgo, a indica una función de activación. La capa AdaBN es una capa que ejecuta el cálculo de AdaBN (normalización adaptativa por lotes) como en, por ejemplo, la expresión (8b) y la expresión (8e).
[Cuarta realización]
Se considerará un caso donde, en una situación en la que existan dos o más equipos del mismo tipo, se detecte una anomalía de uno de ellos (que se denominará equipo objetivo de detección de anomalías). Para lograr esto, en primer lugar, un codificador automático (en lo sucesivo, denominado primer codificador automático) que restaura el sonido normal (en lo sucesivo, denominado sonido normal para el aprendizaje) emitido desde uno o más equipos diferentes de este equipo objetivo de detección de anomalías se aprende a partir del sonido normal emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías (fase de aprendizaje). Luego, un codificador automático (en lo sucesivo, denominado segundo codificador automático) que restaura el sonido normal (en lo sucesivo, denominado sonido normal para el aprendizaje adaptativo) emitido desde el equipo objetivo de detección de anomalías se aprende, de forma adaptativa, a partir del primer codificador automático utilizando el sonido normal emitido desde el equipo objetivo de detección de anomalías (fase de aprendizaje adaptativo). Luego, se determina si el equipo es anormal o no a partir del sonido (en lo sucesivo, denominado sonido objetivo de detección de anomalías) emitido desde el equipo objetivo de detección de anomalías (fase de prueba (fase de detección de anomalías)).
El aparato 400 de aprendizaje con codificador automático aprende el primer codificador automático a partir del sonido normal para el aprendizaje. El aparato 500 de aprendizaje adaptativo con codificador automático aprende, de forma adaptativa, el segundo codificador automático a partir del primer codificador automático utilizando el sonido normal para el aprendizaje adaptativo. El aparato 600 de detección de anomalías determina si el equipo es anormal o no a partir del sonido objetivo de detección de anomalías.
El aparato 400 de aprendizaje con codificador automático se describirá a continuación con referencia a la Fig. 9 y a la Fig. 10. La Fig. 9 es un diagrama de bloques que ilustra una configuración del aparato 400 de aprendizaje con codificador automático. La Fig. 10 es un diagrama de flujo que ilustra el funcionamiento del aparato 400 de aprendizaje con codificador automático. Como se ilustra en la Fig. 9, el aparato 400 de aprendizaje con codificador automático incluye la unidad 110 generadora de datos de entrada, una unidad 420 de estimación de los datos de entrada restaurados, una unidad 430 de cálculo de la función de pérdida, una unidad 440 de actualización del parámetro, una unidad 450 de determinación de la condición de convergencia, y una unidad 490 de grabación. La unidad 490 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 400 de aprendizaje con codificador automático según corresponda. La unidad 490 de grabación, por ejemplo, graba un parámetro 0 del primer codificador automático, que debe aprenderse. Como valor inicial del parámetro 0, se graba, por ejemplo, un valor generado utilizando un número aleatorio.
El aparato 400 de aprendizaje con codificador automático está conectado a una unidad 910 de grabación de sonido normal de aprendizaje. En la unidad 910 de grabación de sonido normal de aprendizaje, el sonido normal para el aprendizaje preparado de antemano se graba como datos de aprendizaje. Como se describió anteriormente, es preferible preparar el sonido normal para el aprendizaje tanto como sea posible.
El funcionamiento del aparato 400 de aprendizaje con codificador automático se describirá de acuerdo con la Fig. 10. La unidad 110 generadora de datos de entrada genera los datos xi (i = 1, ..., N) de entrada a partir del sonido normal para el aprendizaje si (i = 1, ..., N) que se introduce (S110).
La unidad 420 de estimación de los datos de entrada restaurados estima los datos yi (i = 1, ..., N) de entrada restaurados correspondientes a los datos xi de entrada a partir de los datos xi (i = 1, ..., N) de entrada generados en S110 utilizando el parámetro 0 del primer codificador automático (S420). Tenga en cuenta que el parámetro 0 utilizado aquí es un valor que se está aprendiendo.
La unidad 420 de estimación de los datos de entrada restaurados puede realizarse utilizando una red neuronal que calcule los datos yi de entrada restaurados a partir de los datos xi de entrada. Tenga en cuenta que la expresión de cálculo es la siguiente.
[Fórmula 22]
y i = D (E ( x í ,0 e) ,0 d) ...(1 6 )
Esta red neuronal es el primer codificador automático (que se denominará red neuronal NN).
Aquí, 0 = {0<e>, 0<d>} (donde 0<e>y 0<d>indican, respectivamente, un parámetro del codificador automático E y un parámetro del decodificador D). Además, al menos, una de una red neuronal que configura el codificador E y de una red neuronal que configura el decodificador D incluyen una capa AdaBN. La capa AdaBN se refiere a una capa que ejecuta el cálculo de AdaBN (normalización adaptativa por lotes). En otras palabras, la red neuronal NN incluye una capa AdaBN.
La unidad 430 de cálculo de la función de pérdida calcula un valor de la función L(0) de pérdida que se utilizará para la optimización del parámetro 0 del primer codificador automático a partir de los datos yi (i = 1, ..., N) de entrada restaurados estimados en S420 (S430). La función L(0) de pérdida puede establecerse como, por ejemplo, un promedio de un grado de anomalía definido utilizando la siguiente expresión.
[Fórmula 23]
La unidad 440 de actualización del parámetro actualiza el parámetro 0 del primer codificador automático para optimizar (minimizar) el valor de la función L(0) de pérdida calculada en S430 (S440). Por ejemplo, es preferible utilizar un método de descenso de gradiente en la actualización del parámetro 0.
La unidad 450 de determinación de la condición de convergencia determina las condiciones de convergencia establecidas de antemano como condiciones de terminación para la actualización del parámetro y, en un caso donde se cumplan las condiciones de convergencia, emite el parámetro 0 actualizado en S440, mientras que, en un caso donde no se cumplan las condiciones de convergencia, repite el procesamiento desde S110 a S440 (S450). Como condiciones de convergencia, por ejemplo, es posible emplear una condición relativa a si el número de veces de ejecución del procesamiento desde S110 a S440 alcanza un número predeterminado de veces.
Tenga en cuenta que un componente que incluye la unidad 110 generadora de datos de entrada, la unidad 420 de estimación de los datos de entrada restaurados, la unidad 430 de cálculo de la función de pérdida, la unidad 440 de actualización del parámetro, y la unidad 450 de determinación de la condición de convergencia se denominará unidad 405 de aprendizaje. En otras palabras, la unidad 405 de aprendizaje es un componente que aprende (el parámetro 0 de) el primer codificador automático a partir del sonido normal para el aprendizaje.
Según la realización de la presente invención, es posible aprender el primer codificador automático que permite un fácil ajuste de una diferencia entre la distribución de los datos de aprendizaje y la distribución de los datos de prueba.
[Quinta realización]
El aparato 500 de aprendizaje adaptativo con codificador automático se describirá a continuación con referencia a la Fig. 11 y a la Fig. 12. La Fig. 11 es un diagrama de bloques que ilustra una configuración del aparato 500 de aprendizaje adaptativo con codificador automático. La Fig. 12 es un diagrama de flujo que ilustra el funcionamiento del aparato 500 de aprendizaje adaptativo con codificador automático. Como se ilustra en la Fig. 11, el aparato 500 de aprendizaje adaptativo con codificador automático incluye la unidad 110 generadora de datos de entrada, una unidad 540 de actualización del parámetro, una unidad 550 de salida, y una unidad 490 de grabación. La unidad 490 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 500 de aprendizaje adaptativo con codificador automático según corresponda. La unidad 490 de grabación, por ejemplo, graba el parámetro 0 (es decir, el parámetro aprendido) del primer codificador automático aprendido utilizando el aparato 400 de aprendizaje con codificador automático. Este parámetro aprendido se convierte en un valor inicial del parámetro 0 del segundo codificador automático.
El aparato 500 de aprendizaje adaptativo con codificador automático está conectado a una unidad 920 de grabación de sonido normal de aprendizaje adaptativo. En la unidad 920 de grabación de sonido normal de aprendizaje adaptativo, el sonido normal para el aprendizaje adaptativo preparado de antemano se graba como datos de aprendizaje adaptativo. Como se describió anteriormente, sólo es necesario preparar una cantidad relativamente pequeña de sonido normal para el aprendizaje adaptativo en comparación con una cantidad de sonido normal para el aprendizaje.
El funcionamiento del aparato 500 de aprendizaje adaptativo con codificador automático se describirá de acuerdo con la Fig. 12. La unidad 110 generadora de datos de entrada genera los datos x'i (i = 1, ..., M) de entrada a partir del sonido normal para el aprendizaje adaptativo s'i (i = 1, ..., M) que se introduce (S110). Aquí, mientras que el número de piezas de sonido normal para el aprendizaje adaptativo M es, básicamente, un número entero que no exceda el número de piezas de sonido normal para el aprendizaje N, el número de piezas de sonido normal para el aprendizaje adaptativo M puede ser un número entero que exceda el número de piezas de sonido normal para el aprendizaje N.
La unidad 540 de actualización del parámetro actualiza el parámetro 0 del segundo codificador automático utilizando los datos x'i (i = 1, ..., M) de entrada generados en S110 (S540). Específicamente, para la capa AdaBN, que es una capa que calcula la normalización adaptativa por lotes y que está incluida en el primer codificador automático (red neuronal NN), sólo es necesario actualizar un promedio y una varianza utilizados en el cálculo con un promedio y una varianza de los datos y'i de entrada restaurados calculados a partir de los datos x'i (i = 1,..., M) de entrada.
La unidad 550 de salida emite el parámetro 0 actualizado en S540 (S550).
Tenga en cuenta que un componente que incluya la unidad 110 generadora de datos de entrada, la unidad 540 de actualización del parámetro, y la unidad 550 de salida se denominará unidad 505 de aprendizaje adaptativo. En otras palabras, la unidad 505 de aprendizaje adaptativo es un componente que aprende, de forma adaptativa, el segundo codificador automático a partir del primer codificador automático utilizando el sonido normal para el aprendizaje adaptativo.
Según la realización de la presente invención, es posible aprender el segundo codificador automático ajustando una diferencia entre la distribución de los datos de aprendizaje y la distribución de los datos de prueba.
[Sexta realización]
El aparato 600 de detección de anomalías se describirá a continuación con referencia a la Fig. 13 y a la Fig. 14. La Fig. 13 es un diagrama de bloques que ilustra una configuración del aparato 600 de detección de anomalías. La Fig. 14 es un diagrama de flujo que ilustra el funcionamiento del aparato 600 de detección de anomalías. Como se ilustra en la Fig. 13, el aparato 600 de detección de anomalías incluye la unidad 110 generadora de datos de entrada, una unidad 620 de estimación del grado de anomalía, una unidad 630 de determinación de anomalías y una unidad 690 de grabación. La unidad 690 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 600 de detección de anomalías según corresponda. La unidad 690 de grabación graba el parámetro 0 (es decir, el parámetro aprendido) del segundo codificador automático aprendido utilizando el aparato 500 de aprendizaje adaptativo con codificador automático.
En otras palabras, el aparato 600 de detección de anomalías ejecuta la detección de anomalías utilizando el segundo codificador automático que utiliza este parámetro aprendido como el segundo codificador automático aprendido.
El funcionamiento del aparato 600 de detección de anomalías se describirá de acuerdo con la Fig. 14. La unidad 110 generadora de datos de entrada genera los datos x de entrada a partir del sonido s objetivo de detección de anomalías que se introduce (S110).
La unidad 620 de estimación del grado de anomalía estima un grado de anomalía que indica un grado de anomalía del equipo a partir de los datos x de entrada generados en S110 en función del segundo codificador automático aprendido (S620). La unidad 620 de estimación del grado de anomalía se describirá a continuación con referencia a la Fig. 15 y a la Fig. 16. La Fig. 15 es un diagrama de bloques que ilustra una configuración de la unidad 620 de estimación del grado de anomalía. La Fig. 16 es un diagrama de flujo que ilustra el funcionamiento de la unidad 620 de estimación del grado de anomalía. Como se ilustra en la Fig. 15, la unidad 620 de estimación del grado de anomalía incluye una unidad 621 de cálculo de los datos de entrada restaurados y una unidad 622 de cálculo del grado de anomalía.
El funcionamiento de la unidad 620 de estimación del grado de anomalía se describirá de acuerdo con la Fig. 16. La unidad 621 de cálculo de los datos de entrada restaurados calcula los datos y de entrada restaurados correspondientes a los datos x de entrada a partir de los datos x de entrada generados en S110 (S621). Específicamente, es posible calcular los datos y de entrada restaurados utilizando una red neuronal en la que el parámetro aprendido del segundo codificador automático se establece como un parámetro de la red neuronal<n>N.
La unidad 622 de cálculo del grado de anomalía calcula el grado A(x;0) de anomalía con respecto a los datos x de entrada a partir de los datos y de entrada restaurados, calculados en S621 (S622). El grado de anomalía puede calcularse utilizando, por ejemplo, la expresión (13).
La unidad 630 de determinación del grado de anomalía genera un resultado de determinación que indica si el equipo es anormal o no a partir del grado A(x;0) de anomalía estimado en S620 (S630). Por ejemplo, sólo es necesario generar un resultado de determinación que indique anormal en un caso donde R = 1, y generar un resultado de determinación que indique normal en un caso donde R = 0, utilizando la expresión (3).
En otras palabras, puede decirse que el aparato 600 de detección de anomalías incluye la unidad 620 de estimación del grado de anomalía que estima un grado de anomalía que indica un grado de anomalía del equipo objetivo de detección de anomalías a partir del sonido emitido desde el equipo objetivo de detección de anomalías (sonido objetivo de detección de anomalías) en función de la asociación entre un primer codificador automático que restaura el sonido normal emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías y el sonido normal emitido desde el equipo objetivo de detección de anomalías (sonido normal para el aprendizaje adaptativo). Según la invención, la asociación es un segundo codificador automático que restaura el sonido normal emitido desde el equipo objetivo de detección de anomalías, que se obtiene actualizando el primer codificador automático utilizando el sonido normal para el aprendizaje adaptativo.
Según la realización de la presente invención, al realizar la detección de anomalías utilizando el segundo codificador automático en el que se ajusta una diferencia entre la distribución de los datos de aprendizaje y la distribución de los datos de prueba, es posible realizar la detección de anomalías con alta precisión. En otras palabras, es posible reducir la degradación de la precisión de detección de anomalías.
Se describirán a continuación los antecedentes técnicos de una séptima realización a una novena realización de la presente invención y de cada realización.
<Antecedentes técnicos>
En las realizaciones de la presente invención, el aprendizaje de un transformador de datos de transformación del dominio sin datos de pares se realiza utilizando un Flujo de Normalización. El Flujo de Normalización está caracterizado por que el aprendizaje es más fácil que GAN, lo que permite un aprendizaje más estable que una técnica de transformación del dominio basada en GAN (StarGAN) sin datos de pares en la técnica relacionada.
Se describirán a continuación las técnicas relacionadas utilizadas en la realización de la presente invención.
<<Flujo de Normalización»
El Flujo de Normalización es un método para obtener una distribución que se aproxima a la distribución p(x) de probabilidad con respecto a la generación de datos.
Se supone que {fi(z)}i =<1>k son K transformaciones que tienen transformaciones inversas (donde fi(z): RD ^ RD, R es un conjunto de números reales, D es un número entero de 1 o mayor, y K es un número entero de 1 o mayor). Además, se supone que fi-1(z) (i = 1, ..., K) es una transformación inversa de fi(z).
En el Flujo de Normalización se considera que existen las variables latentes {z<0>,i}i =<1>N correspondientes, respectivamente, al conjunto {xi}i =<1>N de N piezas de datos de entrada, y los datos xi de entrada se obtienen transformando la variable latente z<0>,i correspondiente utilizando la expresión (21) que utiliza K transformaciones {fi(z)}i =<1>k y la variable latente z<0>de x.
[Fórmula 24]
X= fK(fK-i(...(fi(zo))...)) - (21)
En otras palabras, la siguiente expresión es válida para i = 1, ..., K.
[Fórmula 25]
Xi = f K(fK -1 (. -.( f 1 (z0,i))- - •)) - ( 21 ) '
Tenga en cuenta que z<1>= f<1>(z<0>), z<2>= f<2>(z<1>), ..., x = fK(zK<-1>).
Además, se supone que la variable latente {z<0>,i}i =<1>N se genera a partir de la distribución q<0>(z<0>) de probabilidad como, por ejemplo, una distribución Gaussiana isotrópica, con la que es fácil realizar un muestreo Monte Carlo. En este momento, la distribución q(x;0) de probabilidad (donde x es una variable que indica datos de entrada) con la que cumple un conjunto de datos {xi}i =<1>N de entrada puede expresarse de la siguiente forma.
[Fórmula 26]
q(x;0) = qo(zo)|det(afK(zK-i;0 K)/5zK-i)| |det(dfK-i(zK-2;0 K-i)/dzK-2)| ...
|det(dfi(zo;0 i)/dzo)| ...(2 2 )
Aquí, z<0>= f r 1(f<2>-1(...(fK-1(x))...)). Además, {0i}i =<1>K es un parámetro correspondiente a una transformación {fi(z)}i =<1>K, y 0 = [01T, 02t, ..., 0kt]t
Tenga en cuenta que la distribución q0(z0) de probabilidad no se limita a una distribución con la que sea fácil realizar un muestreo de Monte Carlo, y sólo se requiere que sea una distribución con la que sea fácil realizar una estimación estricta de la densidad de probabilidad. Ejemplos de distribuciones con las que es fácil realizar una estimación estricta de la densidad de probabilidad pueden incluir una distribución p(x) de probabilidad que satisfaga las siguientes condiciones.
(Condición 1) Una función no negativa g(x) (>0) en RD existe para la distribución p(x) de probabilidad, y p(x) = g(x)/jg(x)dx para x arbitrario e RD.
(Condición 2) Es fácil calcular jg(x)dx para una función g(x).
Los ejemplos de la función que satisface la Condición 2 pueden incluir una distribución Gaussiana. Mientras tanto, los ejemplos de la función que no satisface la Condición 2 pueden incluir g(x) = exp(sin(x) - x2).
En el Flujo de Normalización, un parámetro 0 de la distribución q(x;0) de probabilidad se aprende utilizando un conjunto de los datos {xi}i =<1>N de entrada . Luego, la distribución p(x) de probabilidad original respecto a la generación de datos se aproxima mediante la distribución q(x;0) de probabilidad, que utiliza el parámetro (denominado parámetro aprendido) 0 obtenido a través del aprendizaje.
En el Flujo de Normalización, es posible utilizar varios tipos de transformación como la transformación {fi(z)}i =<1>K. Por ejemplo, es posible utilizar Normalización por Lotes, una ReLU (Unidad Lineal Rectificada) con Fugas, o similares, descritos en la bibliografía 3 de Referencia no patentada. Además, también es posible utilizar la siguiente transformación lineal descrita en la bibliografía 4 de Referencia no patentada.
[Fórmula 27]
f(z) = LUZ ...(23)
Aquí, L, U e RD*D son, respectivamente, una matriz triangular inferior y una matriz triangular superior. Esta transformación está caracterizada por que, debido a que un valor absoluto |det(df(z;0)/dz)| de un determinante Jacobiano puede calcularse utilizando un valor absoluto (es decir, | ni =<1>DLiiUii|) de un producto de elementos diagonales de L y U, es posible calcular, fácilmente, una densidad q(x;0) de probabilidad de los datos x de entrada (en otras palabras, es posible reducir el coste del cálculo de la densidad q(x;0 ) de probabilidad de los datos x de entrada) (véase la expresión (22)).
Normalización por Lotes BN: x ^ y (x, y e RD) se describirá, brevemente, a continuación. En la Normalización por Lotes BN, después de realizar el ajuste para que un promedio de elementos de las respectivas dimensiones del conjunto {xi}i =<1>N de los datos de entrada se convierta en 0 y una varianza se convierta en 1, se realizan transformación de escala y transformación de desplazamiento. Específicamente, yi = BN(xi) se calcula utilizando la siguiente expresión.
Aquí, y y P son, respectivamente, un parámetro de transformación de escala, y un parámetro de transformación de desplazamiento, y ambos son parámetros que deben aprenderse. Además, £ es un número real no negativo, y, sólo es necesario establecer un número real positivo como £ en un caso donde se desee evitar la división por cero, y establecer cero como £ en un caso donde no sea necesario evitar la división por cero.
Tenga en cuenta que, para especificar, claramente, el parámetro<y>de transformación de escala y el parámetro P de transformación de desplazamiento, también existe un caso donde BN(^) se expresa como BNYp(^ ).
Además, no todas las K transformaciones utilizadas en el Flujo de Normalización tienen que ser transformaciones del mismo tipo. Por lo tanto, por ejemplo, también es posible combinar algunos tipos de transformaciones de modo que una transformación f<1>(z) es una normalización por lotes, y una transformación f<2>(z) es una transformación lineal. <<AdaBN (Normalización Adaptativa por Lotes)>>
La adaptación del dominio es una técnica para ajustar un modelo aprendido de modo que, en un caso donde la distribución de los datos de aprendizaje que se utilizará para el aprendizaje del modelo sea diferente de la distribución de los datos de prueba, que es un objetivo del procesamiento que utiliza el modelo aprendido, la precisión del procesamiento que utiliza el modelo aprendido no se degrada debido a una diferencia entre la distribución. Aquí, un conjunto de datos de aprendizaje y un conjunto de datos de prueba son dominios, y a veces se los denomina, respectivamente, dominio para aprendizaje y dominio para prueba.
Si bien existen varios métodos para la adaptación del dominio que pueden combinarse con una red neuronal profunda (DNN), aquí, se describirá la normalización adaptativa por lotes (véase la bibliografía 5 de Referencia no patentada). La normalización adaptativa por lotes es un método en el que se realiza el cálculo de un promedio y de una varianza y el ajuste de un promedio y de una varianza en la normalización por lotes (véanse las expresiones (24a) a (24d)) para cada dominio. En otras palabras, el cálculo utilizando las expresiones (24a) a (24c) se realiza para cada dato en el mismo dominio. En la prueba real, se calcula una cantidad de estadísticas (promedio y varianza) para un conjunto {x¡}¡ = i N de los datos de entrada del dominio para prueba, y se genera un resultado yi del procesamiento utilizando la expresión (24c) y la expresión (24d) que utilizan la cantidad de estadísticas. Tenga en cuenta que, en un caso donde la transformación sea una normalización adaptativa por lotes, existe un caso donde la transformación se expresa como AdaBN: x ^ y (x, y e RD).
<<AdaFlow>>
AdaFlow es un método en el que se introduce normalización adaptativa por lotes en el Flujo de Normalización. Específicamente, al menos, una transformación inversa fi_<0>-1(z) de las K transformaciones {fi(z)}i = i K que se utilizarán en el Flujo de Normalización es una normalización adaptativa por lotes. Tenga en cuenta que, en el cálculo de la normalización adaptativa por lotes, pueden omitirse la transformación de escala y la transformación de desplazamiento, es decir, el cálculo en la expresión (24d). En otras palabras, también es posible expresar que la transformación inversa fi_<0>-1(z) es una normalización adaptativa por lotes en la que<y>= 1 y P = 0.
Si el aprendizaje se realiza utilizando AdaFlow, es posible generar una distribución de probabilidad de una pluralidad de dominios a partir de un modelo aprendido. Además, es posible realizar transformación de datos entre una pluralidad de dominios.
AdaFlow se describirá, específicamente, a continuación. AdaFlow es una red neuronal que transforma los datos x de entrada generados a partir de los datos de aprendizaje en variables latentes z<0>(~ q(z<0>)) que se consideran generadas de acuerdo con la distribución q<0>(z<0>) de probabilidad. Aquí, se describirá un caso donde se utilizan cinco transformaciones {fi(z)}i =<15>En otras palabras, z<0>puede obtenerse como z<0>= f<1>-1 (f<2>-1 (f3-1 (f4-1 (f5-1 (x))))).
Las cinco transformaciones {fi(z)}i =<15>descritas anteriormente se definirán utilizando la siguiente expresión. Tenga en cuenta que, por conveniencia, en lugar de ser indicada una transformación fi, se indica una transformación inversa fr1 de la transformación fi (donde z4 = f5-1(x), z3 = f4-1(z4), z2 = f3-1(z3), z1 = f2-1(z2), z0 = f1-1 (z1)).
[Fórmula 29]
fí‘](x)= L ^ l í j x ...(25a)
f4' ' ( ^ > = A d a B N - ^ O q ) -~ (25 b )
= Lea(kyReLU<zj) = max(z^pt^) ...(25c)
Í2~í^ li =<L2D2U2Z1 ,.,(2 5d)>
f f l<zi) -ÁdaBNTipi(zi) ,,.(25e)
Aquí, L<2>, L<5>e RDxD es una matriz triangular inferior cuyo elemento diagonal es 1, y todos los elementos L<2>,ij, L5,ij (i s j) distintos de una parte triangular superior son parámetros objetivo de aprendizaje (es decir, un parámetro<02>o un parámetro 05). D<2>, D<5>e RDxD es una matriz diagonal y los elementos diagonales D<2>,¡j, D5,ij (i = j) son parámetros objetivo de aprendizaje (es decir, un parámetro 02 o un parámetro 05). U<2>, U<5>e RDxD es una matriz triangular superior cuyo elemento diagonal es 1, y todos los elementos U<2>,ij, U5,ij (i á j) distintos de una parte triangular inferior son parámetros objetivo de aprendizaje (es decir, un parámetro 02 o un parámetro 05). Además, a3 (S 0) es un parámetro de LeakyReLU, y puede establecerse como un hiper parámetro, o puede establecerse como un parámetro objetivo de aprendizaje (es decir, un parámetro 03) (en un caso donde a3 se establece como objetivo de aprendizaje, ReLU se denomina ReLU Paramétrica (bibliografía 6 de Referencia no patentada)). Además, AdaBNY_4p_4(0 y AdaBNv_ip_i(0 son la normalización adaptativa por lotes descrita anteriormente, y Y<1>, P<1>, Y4, p4 son parámetros objetivo de aprendizaje (es decir, un parámetro 01 o un parámetro 04).
Además, los valores absolutos de los determinantes Jacobianos de las transformaciones {fi(z)}i =<15>se calculan, respectivamente, utilizando la siguiente expresión (donde x = fs(z4), z4 = f4(z3), z3 = f3(z2), z<2>= f<2>(z<1>), z<1>= fi(z<0>)).
[Fórmula 30]
Aquí, S<4>' es una desviación estándar de Z<4>(correspondiente a los datos x de entrada generados a partir de los datos de aprendizaje), 5 es el número de elementos por debajo de cero entre Z<3>(correspondiente a los datos x de entrada generados a partir de los datos de aprendizaje), y s<1>es una desviación estándar de z<1>(correspondiente a los datos x de entrada generados a partir de los datos de aprendizaje). Tenga en cuenta que los valores absolutos |det(df<4>(z<3>)/dz<3>)|, |det(df<1>(z<0>)/dz<0>)| de los determinantes Jacobianos para las transformaciones f<4>y f<1>se expresan utilizando valores absolutos de los determinantes Jacobianos tras la deducción en lugar de tras el aprendizaje (es decir, tras el procesamiento utilizando el modelo aprendido).
Además, como se describió anteriormente, se supone que la distribución q<0>(z<0>) de probabilidad es una distribución de probabilidad con la que es fácil realizar una estimación estricta de la densidad de probabilidad. Por ejemplo, si una distribución Gaussiana N(0, I), en la que un promedio es 0 y una varianza es una matriz identidad I, se establece como la distribución q<0>(z<0>) de probabilidad, la distribución q<0>(z<0>) de probabilidad puede expresarse utilizando la siguiente expresión.
[Fórmula 31]
Por lo tanto, puede entenderse que, al establecer la distribución de probabilidad de los datos x de entrada generados a partir de los datos de aprendizaje como q1(x;0) y utilizando la expresión (5), es posible calcular una densidad q<1>(Xi;0) de probabilidad de los datos xi de entrada a partir de la densidad q<0>(z<0>,i) de probabilidad de la variable latente zc,i.
Posteriormente, se describirá un método de aprendizaje del parámetro 0. De manera similar al aprendizaje convencional de una red neuronal, es posible realizar el aprendizaje utilizando, por ejemplo, un método de descenso de gradiente, Momentum SGD (Descenso de Gradiente Estocástico), ADAM (Estimación Adaptativa de Momentos) o una combinación de los mismos, utilizando una función L(0) de pérdida. En un caso donde se utilice un Flujo de Normalización, a menudo se utiliza como función L(0) de pérdida un promedio de probabilidades logarítmicas negativas definidas mediante la siguiente expresión.
[Fórmula 32]
Tenga en cuenta que es posible utilizar un método de aprendizaje en mini lotes que se realiza en unidades de un conjunto de datos de aprendizaje denominado mini lote en el aprendizaje descrito anteriormente. Aquí, un mini lote se refiere a una pluralidad de datos de aprendizaje seleccionados, aleatoriamente, de todos los datos de aprendizaje. Se calcula un valor de la función L(0) de pérdida para cada mini lote.
[Séptima realización]
El aparato 1100 de aprendizaje de distribuciones de probabilidad aprende un parámetro 0 del modelo de una red neuronal que transforma los datos x de entrada generados a partir de los datos de P tipos de dominios Dj (j = 1, ..., P) (en lo sucesivo, denominados datos de dominio) en una variable latente z<0>(~ q(z<0>)) que se considera generada de acuerdo con la distribución q<0>(z<0>) de probabilidad. Es posible obtener la distribución q(x;0) de probabilidad de los datos x de entrada a partir de la distribución q<0>(z<0>) de probabilidad utilizando este parámetro 0 del modelo (véase la expresión (22)). Aquí se supone que el dominio Dj incluye Nj datos de dominio. Por lo tanto, si el número de datos de dominio incluidos en una unión de P tipos de dominios es N, N = IjNj.
El aparato 1100 de aprendizaje de distribuciones de probabilidad se describirá a continuación con referencia a la Fig. 17 y a la Fig. 18. La Fig. 17 es un diagrama de bloques que ilustra una configuración del aparato 1100 de aprendizaje de distribuciones de probabilidad. La Fig. 18 es un diagrama de flujo que ilustra el funcionamiento del aparato 1100 de aprendizaje de distribuciones de probabilidad. Como se ilustra en la Fig. 17, el aparato 1100 de aprendizaje de distribuciones de probabilidad incluye una unidad 1110 generadora de datos de entrada, una unidad 1120 de estimación de la variable latente, una unidad 1130 de cálculo de la función de pérdida, una unidad 1140 de actualización del parámetro, una unidad 1150 de determinación de la condición de convergencia, y una unidad 1190 de grabación. La unidad 1190 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 1100 de aprendizaje de distribuciones de probabilidad según corresponda. La unidad 1190 de grabación graba, por ejemplo, un parámetro 0 de la distribución q(x; 0) de probabilidad de los datos x de entrada. Como valor inicial del parámetro 0, se graba, por ejemplo, un valor generado utilizando un número aleatorio.
El aparato 1100 de aprendizaje de distribuciones de probabilidad está conectado a una unidad 1910 de grabación de datos del dominio de aprendizaje. En la unidad 1910 de grabación de datos del dominio de aprendizaje, una tupla (si, j) de datos si (i = 1,..., N) de dominio preparada de antemano y un identificador j de dominio para identificar un dominio en el que los datos si de dominio se incluyen y se graban como datos de aprendizaje. Tenga en cuenta que (si, j) también se denominará datos de dominio para el aprendizaje.
El funcionamiento del aparato 1100 de aprendizaje de distribuciones de probabilidad se describirá de acuerdo con la Fig. 18. En S1110, la unidad 1110 generadora de datos de entrada recibe datos de dominio para el aprendizaje (si, j) (i = 1,..., N, si son datos de dominio, y j es un identificador de dominio de un dominio en el que si está incluido) que se ingresa como entrada, genera los datos xi (i = 1, ..., N) de entrada a partir de los datos si de dominio y genera una tupla de los datos xi de entrada y del identificador j de dominio. Cualquier método con el que puedan restaurarse datos de dominio a partir de los datos de entrada puede utilizarse como método para generar datos de entrada a partir de datos de dominio. Por ejemplo, en un caso donde los datos de dominio sean una imagen o un sonido, es preferible utilizar cantidades de características predeterminadas con las que pueda restaurarse una imagen o un sonido que sea una fuente de extracción, como los datos xi de entrada generados a partir de los datos si de dominio.
En S1120, la unidad 1120 de estimación de la variable latente recibe la tupla de los datos xi (i = 1, ..., N) de entrada y el identificador j de dominio del dominio en el que están incluidos los datos si de dominio, generados en S1110, como entrada, estima una variable latente z<0>,i (i = 1, ..., N) correspondiente a los datos xi de entrada a partir de los datos xi (i = 1, ..., N) de entrada utilizando el parámetro 0 de la distribución q(x;0) de probabilidad y emite la variable latente z<0>,i (i = 1, ..., N). Tenga en cuenta que el parámetro 0 utilizado aquí es un valor que se está aprendiendo.
Aquí, se supone que una variable x de la distribución q(x;0) de probabilidad es una variable que indica datos de entrada generados a partir de los datos de dominio de P tipos de dominios Dj, y la variable x se expresa como x = fK(fK-1 (...(fi(z<0>))...)) utilizando transformaciones fi (i = 1, ..., K, K es un número entero de 1 o mayor, y existen transformaciones inversas fi-1 para las transformaciones fi) y la variable latente z<0>.
Por tanto, la variable latente z<0>,i correspondiente a los datos xi de entrada se proporciona utilizando la siguiente expresión.
[Fórmula 33]
Z0,i = f f 1(f2-1( ...( fK 1(X i))...)) ...(29)
Además, se supone que la variable latente z<0>,i (i = 1, ..., N) se genera de acuerdo con la distribución q<0>(z<0>) de probabilidad de la variable latente z<0>. Sin embargo, la distribución q<0>(z<0>) de probabilidad tiene características que hacen que sea fácil realizar una estimación estricta de la densidad de probabilidad.
Por lo tanto, la distribución q(x;0) de probabilidad puede expresarse utilizando la siguiente expresión que utiliza la distribución q<0>(z<0>) de probabilidad.
[Fórmula 34]
q(x;0) = qo(zo)|det(afK(zK-i;0 K)/5zK-i)| |det(dfK-i(zK-2;0 K-i)/dzK-2)| ...
|det(dfi(zo;0 i)/dzo)| (2 2 )
Aquí, 0i es un parámetro correspondiente a la transformación fi, y 0 = [01T, 02T, ..., 0kt ]t .
La unidad 1120 de estimación de la variable latente puede realizarse utilizando una red neuronal NN que calcula la variable latente z<0>a partir de los datos x de entrada. Tenga en cuenta que una expresión de cálculo de la variable latente z<0>es como sigue.
[Fórmula 35]
En otras palabras, la red neuronal NN recibe los datos x de entrada como entrada, procede con el cálculo secuencialmente a partir de las transformaciones inversas fK-1, fK-<1>-1, ..., f<2>-1, f i-1, y finalmente, emite la variable latente zc.
Al menos, una transformación inversa fi_<0>-1 de las transformaciones fi (i = 1, ..., K) descritas anteriormente (donde i<0>es un número entero que satisface 1 < Í<0>< K) se realiza normalización adaptativa por lotes.
Además, una transformación inversa fi_<1>-1 de unas transformaciones fi<_1>(donde i<1>es un número entero que satisface 1 < i<1>< K) incluida en las transformaciones fi (i = 1, ..., K) puede ser una transformación lineal, y una matriz correspondiente a la transformación lineal puede expresarse como un producto de una matriz triangular inferior y una matriz triangular superior, o un producto de una matriz triangular inferior, una matriz diagonal y una matriz triangular superior.
Como ejemplo específico de las transformaciones fi (i = 1, ..., K), es posible utilizar cinco transformaciones cuyas transformaciones inversas pueden expresarse utilizando la expresión (25a) a la expresión (25e) suponiendo que, por ejemplo, K = 5.
Además, debido a que la unidad 1120 de estimación de la variable latente calcula un promedio y una varianza de los datos zi_<0>,i(= fi_<0>-<1>-1 (fi_<0>-<2>-1 (...(fK- 1(xi))...))) de entrada que se introducirán en la transformación inversa fi_<0>-1, que se calcula a partir de los datos xi (i = 1, ..., N) de entrada, para cada dominio, es decir, un promedio y una varianza utilizados para el cálculo de la transformación inversa fi_<0>-1 que es una normalización adaptativa por lotes, (zi_<0>,i,j) (donde j es un identificador de dominio de los datos si de dominio que son una fuente de generación de los datos xi de entrada) se graban en la unidad 1190 de grabación. En lo sucesivo, un promedio y una varianza del dominio Dj de los datos de entrada que se introducirán en la transformación inversa W 1 se expresan, respectivamente, como mi_<0>,j y si_<0>,j2. Tenga en cuenta que, como se describirá más adelante, el promedio mi_<0>,j y la varianza si_<0>,j2 se calculan mediante la unidad 1150 de determinación de la condición de convergencia.
En S1130, la unidad 1130 de cálculo de la función de pérdida recibe la variable latente z<0,1>(i = 1, ..., N) estimada en S1120 como entrada, calcula un valor de la función L(0) de pérdida que se utilizará para la optimización del parámetro 0 de la distribución q(x;0) de probabilidad a partir del latente variable z<0,1>(i = 1, ..., N) y emite el valor de la función L(0) de pérdida. La función<l>(0) de pérdida puede, por ejemplo, definirse como un promedio de probabilidades logarítmicas negativas como en la expresión (28). En este momento, si bien es necesario calcular la densidad q(xi;0) de probabilidad de los datos xi (i = 1, ..., N) de entrada, la densidad q(xi;0) de probabilidad de los datos xi de entrada puede calcularse utilizando la densidad q<0>(z<0>,i) de probabilidad de la variable latente z<0>,i correspondiente a los datos xi de entrada. Por ejemplo, en un caso donde la distribución q<0>(z<0>) de probabilidad es una distribución Gaussiana N(0, I), la densidad q<0>(z<0>,i) de probabilidad de la variable latente z<0>,i puede calcularse utilizando la siguiente expresión.
[Fórmula 36]
Por lo que es posible calcular la densidad q(xi;0) de probabilidad de los datos xi de entrada a partir de la densidad q<0>(z<0>,i) de probabilidad descrita anteriormente de la variable latente z<0>,i calculada utilizando la expresión (22).
En S1140, la unidad 1140 de actualización del parámetro recibe el valor de la función L(0) de pérdida calculado en S1130 como entrada, y actualiza el parámetro 0 de la distribución q(x;0) de probabilidad para optimizar (minimizar) el valor de la función L(0) de pérdida, y emite el parámetro 0. Por ejemplo, se utiliza, preferentemente, un método de descenso de gradiente en la actualización del parámetro 0.
En S1150, la unidad 1150 de determinación de la condición de convergencia determina las condiciones de convergencia establecidas de antemano como condiciones de terminación de la actualización del parámetro y, en un caso donde se cumplan las condiciones de convergencia, emite la distribución q(x;0) de probabilidad utilizando el parámetro 0 (este parámetro se denominará parámetro aprendido) actualizado en S1140. En este momento, la unidad 1150 de determinación de la condición de convergencia calcula el promedio mi_<0>,j y la varianza Si_<0>,j2 (j = 1, ..., P) del dominio Dj<_0>de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1 utilizando (zi_<0>,i, j) (i = 1, ..., N) grabado en S1120, y emite el promedio mi_<0>,j y la varianza Si_<0>,j2 (j = 1, ..., P). Mientras tanto, en un caso donde no se cumplan las condiciones de convergencia, la unidad 1150 de determinación de la condición de convergencia repite el procesamiento desde S1110 a S1140. Como condiciones de convergencia, por ejemplo, es posible emplear una condición relativa a si el número de veces de ejecución del procesamiento desde S1110 a S1440 alcanza un número predeterminado de veces. Tenga en cuenta que también es posible emitir el parámetro 0 actualizado en S1140 y las transformaciones inversas f<-1(x;0<), fK-1-1(zK-1;0K-1), ..., f2-1(z2;02), f r 1(z1;01). En lo sucesivo, el promedio mi_<0>,j y la varianza si_<0>,j2 del dominio Dj de los datos de entrada que se introducirán en la transformación inversa W 1 se denominarán cantidad de estadísticas calculadas a partir de los datos de dominio del dominio Dj.
Según la realización de la presente invención, es posible aprender la distribución q(x;0) de probabilidad de los datos x de entrada generados a partir de datos de dominio de P tipos de dominios Dj. Al realizar el aprendizaje utilizando AdaFlow en función de un Flujo de Normalización, es posible realizar el aprendizaje de forma estable sin datos de pares.
[Octava realización]
El aparato 1200 de transformación de datos transforma datos de dominio de un dominio Dj<_0>en datos de dominio de un dominio Dj<_1>(donde j<0>, j<1>son números enteros que satisfacen 1 < j<0>, j<1>< P y j<0>j utilizando el parámetro 0 del modelo aprendido, aprendido en el aparato 1100 de aprendizaje de distribuciones de probabilidad, y el promedio mi_<0>,j y la varianza si_<0>,j2 (j = 1, ..., P) del dominio Dj de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1. En lo sucesivo, el dominio Dj<_0>se denominará dominio de origen de la transformación, y el dominio Dj<_1>se denominará dominio de destino de la transformación.
El aparato 1200 de transformación de datos se describirá a continuación con referencia a la Fig. 19 y la Fig. 20. La Fig. 19 es un diagrama de bloques que ilustra una configuración del aparato 1200 de transformación de datos. La Fig. 20 es un diagrama de flujo que ilustra el funcionamiento del aparato 1200 de transformación de datos. Como se ilustra en la Fig. 19, el aparato 1200 de transformación de datos incluye la unidad 1110 generadora de datos de entrada, una unidad 1220 de cálculo de la variable latente, una unidad 1230 de cálculo de datos de salida, una unidad 1240 generadora de datos de dominio, y la unidad 1190 de grabación. La unidad 1190 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 1200 de transformación de datos según corresponda. La unidad 1190 de grabación, por ejemplo, graba el parámetro 0 (es decir, el parámetro 0 aprendido) de la distribución q(x;0) de probabilidad aprendida utilizando el aparato 1100 de aprendizaje de distribuciones de probabilidad. Además, la unidad 1190 de grabación, por ejemplo, graba el promedio mi_<0>,j y la varianza si_<0>,j2 (j = 1, ..., P) del dominio Dj de los datos de entrada que se introducirán en la transformación inversa W 1.
El funcionamiento del aparato 1200 de transformación de datos se describirá de acuerdo con la Fig. 20. En S1110, la unidad 1110 generadora de datos de entrada recibe los datos s de dominio del dominio Dj<_0>de origen de la transformación que son entrada y un identificador j<0>de dominio del dominio Dj<_0>de origen de la transformación (que se denominará identificador del dominio de origen de la transformación) como entrada, genera los datos x de entrada a partir de los datos s de dominio y emite los datos x de entrada.
En S1220, la unidad 1220 de cálculo de la variable latente recibe los datos x de entrada generados en S1110 y el identificador j<0>del dominio de origen de la transformación como entradas, calcula la variable latente z<0>correspondiente a los datos x de entrada a partir de los datos x de entrada utilizando el parámetro 0 aprendido y el promedio mi_<0>,j<_0>y la varianza Si_<0>,]_<0>2 del dominio Dj<_0>de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1 y emite la variable latente zc. La variable latente z<0>correspondiente a los datos x de entrada se calcula utilizando la siguiente expresión que utiliza las transformaciones fi (i = 1,..., K) usadas en el aparato 1100 de aprendizaje de distribuciones de probabilidad.
[Fórmula 37]
En este momento, se utilizan el parámetro 0 aprendido y el promedio m¡_<0>,j<_0>y la varianza s¡_<0>,j_<0>2 del dominio Dj<_0>de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1. La unidad 1220 de cálculo de la variable latente es diferente de la unidad 1120 de estimación de la variable latente del aparato 1100 de aprendizaje de distribuciones de probabilidad en este punto.
En S1230, la unidad 1230 de cálculo de datos de salida recibe el identificador j<1>del dominio de destino de la transformación que es un identificador del dominio de destino de la transformación y la variable latente z<0>calculada en S1220 como entradas, calcula los datos x' de salida correspondientes a la variable latente z<0>a partir de la variable latente z<0>utilizando el parámetro 0 aprendido y el promedio mi_<0>,j<_1>y la varianza si_c,i_<1>2 del dominio Dj<_1>de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1, y emite los datos x' de salida. Los datos x' de salida correspondientes a la variable latente z<0>se calculan utilizando la siguiente expresión que utiliza las transformaciones fi (i = 1,..., K) usadas en el aparato 1100 de aprendizaje de distribuciones de probabilidad.
[Fórmula 38]
X'= fK(fK-i(...(fi(zo))...)) ...(21)"
En este momento, se utilizan el parámetro 0 aprendido y el promedio mi_<0>,j<_1>y la varianza si_<0>,j_<1>2 del dominio Dj<_1>de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1. Tenga en cuenta que sólo es necesario utilizar una red neuronal obtenida cambiando la salida de la red neuronal NN que realiza la unidad 1220 de cálculo de la variable latente a la entrada, y cambiando la entrada de la red neuronal n N a la salida, como la red neuronal que realiza la unidad 1230 de cálculo de datos de salida.
Un aspecto del procesamiento por parte de la unidad 1220 de cálculo de la variable latente y de la unidad 1230 de cálculo de datos de salida se ilustra en la Fig. 21. La Fig. 21 ilustra un aspecto en el que los datos de entrada se transforman en una variable latente, y la variable latente se transforma en datos de salida utilizando cinco transformaciones {fi(z)}i =<15>utilizadas en la descripción de los <Antecedentes técnicos Aquí, f<1>-1(j_0), y f<1>(j_1) son funciones que utilizan el promedio mi_<0>,j<_0>y la varianza Si_<0>,j_<0>2 del dominio Dj<_ 0>, y f4-1(j_0) y f4(j_1) son funciones que utilizan el promedio mi_<0>,j<_1>y la varianza si_<0>,j_<1>2 del dominio Dj<_ 1>.
En S1240, la unidad 1240 generadora de datos de dominio recibe los datos x' de salida calculados en S1230 como entrada, genera los datos s' de dominio transformados, que son datos del dominio Dj<_1>de destino de la transformación a partir de los datos x' de salida y emite los datos s' de dominio transformados.
Tenga en cuenta que un componente que incluya la unidad 1220 de cálculo de la variable latente y la unidad 1230 de cálculo de datos de salida se denominará unidad 1205 de transformación de datos. En otras palabras, la unidad 1205 de transformación de datos es un componente que transforma los datos de entrada generados a partir de los datos de dominio, del dominio de origen de la transformación, en datos de salida que se convierten en una fuente de generación de los datos de dominio del dominio de destino de la transformación.
Según la realización de la presente invención, es posible transformar, mutuamente, datos entre dominios.
[Novena realización]
En la séptima realización y en la octava realización, se ha proporcionado una descripción suponiendo que P es un número entero de 1 o mayor, y se utilizan datos de dominio de P tipos de dominios. Aquí, se describirá un aparato 1300 de transformación de datos en un caso donde P = 2.
El aparato 1300 de transformación de datos se describirá a continuación con referencia a las Fig. 22 y a la Fig. 23. La Fig. 22 es un diagrama de bloques que ilustra una configuración del aparato 1300 de transformación de datos. La Fig. 23 es un diagrama de flujo que ilustra el funcionamiento del aparato 1300 de transformación de datos. Como se ilustra en la Fig. 22, el aparato 1300 de transformación de datos incluye una unidad 1310 generadora de datos de entrada, una unidad 1320 de cálculo de la variable latente, una unidad 1330 de cálculo de datos de salida, una unidad 1340 generadora de datos de dominio, y una unidad 1190 de grabación. La unidad 1190 de grabación es un componente que graba la información necesaria para el procesamiento del aparato 1300 de transformación de datos según corresponda. La unidad 1190 de grabación, por ejemplo, graba el parámetro 0 (es decir, el parámetro 0 aprendido) de la distribución q(x;0) de probabilidad aprendida utilizando el aparato 1100 de aprendizaje de distribuciones de probabilidad.
En lo sucesivo, el dominio de origen de la transformación se denominará primer dominio, el dominio de destino de la transformación se denominará segundo dominio, y se expresan, respectivamente, como D<1>y D<2>. Además, en la unidad 1320 de cálculo de la variable latente, se establecen el promedio mi_<0,1>y la varianza si_<0>,<1>2 del primer dominio D<1>de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1. De manera similar, en la unidad 1330 de cálculo de datos de salida, se establecen el promedio mi_<0,2>y la varianza si_<0>,<2>2 del segundo dominio D<2>de los datos de entrada que se introducirán en la transformación inversa fi_<0>-1.
El funcionamiento del aparato 1300 de transformación de datos se describirá de acuerdo con la Fig. 23. En S1310, la unidad 1310 generadora de datos de entrada recibe los datos s de dominio del primer dominio como entrada, genera los datos x de entrada a partir de los datos s de dominio y emite los datos x de entrada. En lo sucesivo, estos datos de entrada también se denominarán datos de entrada correspondientes a los datos de dominio del primer dominio.
En S1320, la unidad 1320 de cálculo de la variable latente recibe los datos x de entrada, generados en S1310 como entrada, calcula la variable latente z<0>correspondiente a los datos x de entrada a partir de los datos x de entrada utilizando el parámetro 0 aprendido y emite la variable latente Z<0>.
En S1330, la unidad 1330 de cálculo de datos de salida recibe la variable latente z<0>calculada en S1320 como entrada, calcula los datos x' de salida correspondientes a la variable latente z<0>a partir de la variable latente z<0>utilizando el parámetro 0 aprendido y emite los datos x' de salida.
En S1340, la unidad 1340 generadora de datos de dominio recibe los datos x' de salida calculados en S1330 como entrada, genera los datos s' de dominio del segundo dominio a partir de los datos x' de salida y emite los datos s' de dominio. En lo sucesivo, estos datos de salida también se denominarán datos de salida correspondientes a los datos de dominio del segundo dominio.
Tenga en cuenta que un componente que incluya la unidad 1320 de cálculo de la variable latente y la unidad 1330 de cálculo de datos de salida se denominará unidad 1305 de transformación de datos. En otras palabras, la unidad 1305 de transformación de datos es un componente que transforma los datos de entrada correspondientes a los datos de dominio del primer dominio en los datos de salida correspondientes a los datos de dominio del segundo dominio.
Como puede entenderse a partir de la descripción anterior, puede decirse que la unidad 1320 de cálculo de la variable latente realiza el cálculo utilizando una función (en lo sucesivo, denominada primera función) que transforma la variable latente en datos de entrada y que tiene una función inversa, y la unidad 1330 de cálculo de datos de salida realiza el cálculo utilizando una función (en lo sucesivo, denominada segunda función) que transforma la variable latente en datos de salida y que tiene una función inversa. Entonces, la primera función y la segunda función se derivan de una función predeterminada que transforma la variable latente z<0>en la variable x. Esta función predeterminada es una función obtenida utilizando una unión del primer dominio y del segundo dominio. Más específicamente, la función predeterminada es una función obtenida como función expresada como x = fk(fk<-1>(...(f<1>(z<0>))...)) utilizando transformaciones fi(i = 1, ..., K, K es un número entero de 1 o mayor, existen transformaciones inversas fi-1 para las transformaciones fi, y, al menos, una transformación inversa fi_<0-1>(1 < Í<0>< K) de las transformaciones fi(i = 1, ..., K) es una normalización adaptativa por lotes) a través del aprendizaje que utiliza datos de dominio, que son un elemento de la unión del primer dominio y del segundo dominio como datos de aprendizaje. Además, la primera función se deriva de la función predeterminada descrita anteriormente utilizando una cantidad de estadísticas (específicamente, el promedio mi_<0,1>y la varianza si_<0>,<12>del primer dominio D<1>de los datos de entrada que se introducirán en la transformación inversa fi_<0-1>) calculada a partir de los datos de dominio del primer dominio incluido en la unión, y la segunda función se deriva de la función predeterminada utilizando una cantidad de estadísticas (específicamente, el promedio mi_<0,2>y la varianza si_<0>,<22>del segundo dominio D<2>de los datos de entrada que se introducirán en la transformación inversa fi_<0-1>) calculada a partir de los datos de dominio del segundo dominio incluido en la unión.
[Ejemplo de aplicación: aplicación al problema de detección supervisada de anomalías]
Es posible aplicar el aparato 1300 de transformación de datos al problema de detección supervisada de anomalías. Aquí, la detección supervisada de anomalías es un marco que aprende un modelo de detección de anomalías a partir de una gran cantidad de datos normales y de una pequeña cantidad de datos de anomalías y realiza la detección de anomalías utilizando este modelo de detección de anomalías.
Si bien es posible aprender un modelo con mayor precisión a medida que la cantidad de datos de anomalías es mayor, es difícil recopilar una gran cantidad de datos de anomalías. Por lo tanto, se prepara una pluralidad de dominios que se desea establecer como objetivos de detección de anomalías, y se recopila la mayor cantidad de datos posible, y el parámetro 0 del modelo se aprende a partir de los datos utilizando el aparato 1100 de aprendizaje de distribuciones de probabilidad. Luego, los datos de anomalías del primer dominio se transforman en los datos de anomalías del segundo dominio, diferente del primer dominio, utilizando el aparato 1300 de transformación de datos. Mediante esta técnica, es posible crear, artificialmente, datos de anomalías que son difíciles de recopilar, de modo que es posible aumentar el número de datos de anomalías, lo que permite aprender un modelo de detección de anomalías con mayor precisión.
Por ejemplo, el parámetro 0 se aprende utilizando el aparato 1100 de aprendizaje de distribuciones de probabilidad mientras se establece un conjunto de sonidos emitidos desde uno o más equipos diferentes del equipo objetivo de detección de anomalías como el primer dominio y se establece un conjunto de sonidos del equipo objetivo de detección de anomalías como el segundo dominio. Luego, el sonido del equipo objetivo de detección de anomalías se genera como los datos de dominio del segundo dominio a partir del sonido anómalo emitido desde uno o más equipos diferentes del equipo objetivo de detección de anomalías, que son datos de dominio del primer dominio, utilizando el aparato 1300 de transformación de datos. Se espera que el sonido generado del equipo objetivo de detección de anomalías sea un sonido anómalo. Además, el modelo de detección de anomalías del segundo dominio se aprende utilizando el sonido generado del equipo objetivo de detección de anomalías como datos de aprendizaje.
Tenga en cuenta que se considera que la mayor parte del sonido emitido es sonido normal. Debido a que es preferible utilizar la mayor cantidad de datos posible tras el aprendizaje, sería mejor utilizar el sonido del primer dominio para el aprendizaje, independientemente de si el sonido es un sonido normal o un sonido anómalo.
Según la realización de la presente invención, es posible transformar, mutuamente, datos entre dominios. Como resultado, por ejemplo, es posible generar, eficientemente, datos de anomalías que se utilizarán para el aprendizaje de un modelo de detección de anomalías.
<Resultado experimentad
El aprendizaje se realiza mientras se establecen un conjunto de "fotografías de paisajes" y un conjunto de "paisajes" como dominios, y se emplea Glow, descrito en la bibliografía 8 de Referencia no patentada, como una arquitectura de Flujo de Normalización, y utilizando una red neuronal AdaFlow, en la que se reemplaza la Normalización de Activación de Glow con AdaBN. Se recopilan 400 datos de imágenes de las fotografías de paisajes y 400 datos de imágenes de los paisajes, y se hace que la red neuronal AdaFlow realice el aprendizaje utilizando estos datos de imágenes, y se realiza la transformación de datos. Específicamente, las "fotografías de paisajes" se transforman en "paisajes" o los "paisajes" se transforman en "fotografías de paisajes".
(Bibliografía 8 de Referencia no patentada: Diederik P. Kingma, Prafulla Dhariwal, et al., "Glow: Generative Flow with Invertible 1x1 Convolutions", arXiv: 1807.03039, https://arxiv.org/abs/1807.03039)
Podría confirmarse que a través de este experimento se generan datos de imágenes con alta calidad, es decir, transformación del dominio sin datos de pares utilizando AdaFlow.
<Apéndice>
La Fig. 24 es una vista que ilustra un ejemplo de una configuración funcional de un ordenador que realiza cada aparato descrito anteriormente. El procesamiento en cada aparato descrito anteriormente puede ser realizado por una unidad 2020 de grabación, que hace que se lea un programa para hacer que el ordenador funcione como cada aparato descrito anteriormente, y una unidad 2010 de control, una unidad 2030 de entrada, una unidad 2040 de salida, o similar, que lo hacen funcionar.
El aparato de la presente invención incluye una unidad de entrada a la que puede conectarse un teclado, o similar, una unidad de salida a la que puede conectarse una pantalla de cristal líquido, o similar, una unidad de comunicación a la que puede conectarse un aparato de comunicación (por ejemplo, un cable de comunicación) que puede realizar una comunicación con una entidad de hardware externa, una c Pu (Unidad Central de Procesamiento, que puede incluir una memoria caché, un registro, o similar), una RAM y una ROM que son memorias, un aparato de almacenamiento externo, que es un disco duro, y un bus que conecta esta unidad de entrada, unidad de salida, unidad de comunicación, CPU, RAM, ROM, y el aparato de almacenamiento externo para poder intercambiar datos entre ellos, por ejemplo, como una entidad de hardware única. Además, según sea necesario, también es posible proporcionar un aparato (unidad), o similar, que pueda realizar una lectura en, y una escritura desde, un medio de grabación como un CD-ROM, en la entidad de hardware. Ejemplos de entidades físicas que incluyen dichos recursos de hardware pueden incluir un ordenador de propósito general.
En el aparato de almacenamiento externo de la entidad de hardware, se almacena un programa que es necesario para realizar las funciones y datos descritos anteriormente, o similares, que son necesarios para el procesamiento de este programa (el aparato no se limita al aparato de almacenamiento externo, y un programa puede almacenarse en, por ejemplo, una ROM que es un aparato de almacenamiento de sólo lectura). Además, los datos, o similares, obtenidos a través del procesamiento de estos programas se almacenan en una RAM, en un aparato de almacenamiento externo, o similares, según corresponda.
En la entidad de hardware, cada programa almacenado en el aparato de almacenamiento externo (o la ROM, o similar), y los datos necesarios para el procesamiento de cada programa se leen en una memoria según sea necesario, y la ejecución interpretativa y el procesamiento se realizan en la CPU según corresponda. Como resultado, la CPU realiza funciones predeterminadas (componentes respectivos indicados anteriormente como partes, unidades, o similares).
La presente invención no se limita a las realizaciones descritas anteriormente, y puede modificarse según corresponda dentro del alcance definido por las reivindicaciones adjuntas. Además, el procesamiento descrito en la realización descrita anteriormente puede ejecutarse en paralelo, o individualmente, de acuerdo con el rendimiento de procesamiento de los aparatos que ejecutan el procesamiento o según sea necesario, además de ejecutarse en orden cronológico de acuerdo con el orden de descripción.
Como se describió anteriormente, en un caso donde las funciones de procesamiento en la entidad de hardware (el aparato de la presente invención) descrita en las realizaciones descritas anteriormente se realizan con un ordenador, el contenido de procesamiento de las funciones que deben proporcionarse en la entidad de hardware se describe con un programa. Luego, al ser ejecutado este programa por el ordenador, se realizan las funciones de procesamiento en la entidad de hardware.
El programa que describe este contenido de procesamiento puede grabarse en un medio de grabación legible por ordenador. Como medio de grabación legible por ordenador, por ejemplo, puede utilizarse cualquier medio, como un aparato de grabación magnético, un disco óptico, un medio de grabación magnetoóptico y una memoria semiconductora. Específicamente, por ejemplo, es posible utilizar un aparato de disco duro, un disco flexible, una cinta magnética, o similar, como el aparato de grabación magnética, y utilizar un DVD (Disco Versátil Digital), un DVD-RAM (Memoria de Acceso Aleatorio), un CD-ROM (Memoria de Sólo Lectura de Disco Compacto), un CD-R (Grabable)/RW (Regrabable), o similar, como el disco óptico, utilizar un MO (disco Magneto-Óptico), o similar, como el medio de grabación magnetoóptico, y utilizar una EEP-ROM (Memoria de Sólo Lectura Programable y Borrable Electrónicamente), o similar, como la memoria semiconductora.
Además, este programa se distribuye, por ejemplo, mediante un medio de grabación portátil como un DVD y un CD-ROM en los que se graba el programa que se vende, regala, presta, o similar. Aún más, también es posible emplear una configuración donde este programa se distribuya almacenándose el programa en un aparato de almacenamiento de un ordenador servidor y transfiriéndose desde el ordenador servidor a otros ordenadores a través de una red.
Un ordenador que ejecuta un programa de este tipo, por ejemplo, primero almacena una vez un programa grabado en el medio de grabación portátil o un programa transferido desde el ordenador servidor en el dispositivo de almacenamiento del propio ordenador. Luego, tras la ejecución del procesamiento, este ordenador lee el programa almacenado en el aparato de almacenamiento del propio ordenador y ejecuta el procesamiento de acuerdo con el programa leído. Además, como otra forma de ejecución de este programa, el ordenador puede leer, directamente, un programa del medio de grabación portátil y ejecutar el procesamiento de acuerdo con el programa y, además, ejecutar, secuencialmente, el procesamiento de acuerdo con el programa recibido cada vez que el programa se transfiere desde el ordenador servidor a este ordenador. Además, también es posible emplear una configuración donde el procesamiento descrito anteriormente se ejecuta mediante el llamado servicio de tipo ASP (Proveedor de Servicios de Aplicación) que realiza funciones de procesamiento sólo mediante una instrucción de ejecución y adquisición de un resultado sin que se transfiera el programa desde el ordenador servidor a este ordenador. Tenga en cuenta que se supone que el programa en el formulario incluye información que se utilizará para su procesamiento por parte de un ordenador electrónico, y que es equivalente a un programa (no un comando directo al ordenador, sino datos, o similares, que tienen una propiedad que especifica el procesamiento del ordenador).
Además, mientras que, en esta forma, la entidad de hardware está constituida por un programa predeterminado que se ejecuta en el ordenador, al menos, parte del contenido de procesamiento puede realizarse con hardware.
La descripción anterior de las realizaciones de la presente invención se presenta con fines ilustrativos y descriptivos. La descripción no pretende proporcionar una descripción exhaustiva, ni limitar la invención a la forma estricta descrita. Son posibles modificaciones y variaciones a partir de la enseñanza descrita anteriormente. Las realizaciones se seleccionan y expresan para proporcionar el mejor ejemplo del principio de la presente invención y para permitir a un experto en la técnica en este campo utilizar la presente invención en varias realizaciones o agregando varias modificaciones para que sea adecuada para un uso real deliberado. La invención se expone en el conjunto adjunto de reivindicaciones.

Claims (12)

REIVINDICACIONES
1. Un aparato de detección de anomalías que comprende
una unidad (390) de grabación adaptada para grabar un parámetro 0 de una segunda distribución q2(x;0) de probabilidad,
una unidad (320) de estimación del grado de anomalía adaptada para estimar un grado de anomalía, que indica un grado de anomalía del equipo objetivo de detección de anomalías, a partir de un sonido emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido objetivo de detección de anomalías, en función de la segunda distribución q<2>(x;<0>) de probabilidad,
y
una unidad (330) de determinación del grado de anomalía adaptada para generar un resultado de determinación que indique si el equipo objetivo de detección de anomalías es o no anormal, a partir del grado de anomalía, caracterizado por que
la segunda distribución q<2>(x;<0>) de probabilidad es una distribución de probabilidad que indica una distribución de un sonido normal emitido desde el equipo objetivo de detección de anomalías, que se obtiene actualizando una primera distribución de probabilidad que indica una distribución de un sonido normal emitido desde uno o más equipos del mismo tipo que el equipo objetivo de detección de anomalías y diferentes del equipo objetivo de detección de anomalías, utilizando el sonido normal emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido normal para el aprendizaje adaptativo, en donde
una variable x de la segunda distribución q<2>(x;<0>) de probabilidad es una variable que indica datos de entrada generados a partir del sonido normal emitido desde el equipo objetivo de detección de anomalías,
la variable x se expresa como x = fK(fK<-1>(...(f<1>(z<0>))...)) utilizando transformaciones fi(i = 1, ..., K, K es un número entero de 1 o mayor, y existen transformaciones inversas fi-1 para las transformaciones fi) y una variable latente z<0>,
q<0>(z<0>) se establece como una distribución de probabilidad de la variable latente z<0>, y la distribución q<2>(x;<0>) de probabilidad de los datos x de entrada se calcula utilizando la distribución q<0>(z<0>) de probabilidad de la variable latente z<0>= f<1>-1(f<2>-1(...(fK-1(x))...)) correspondiente a los datos x de entrada.
2. El aparato de detección de anomalías según la reivindicación 1,
en donde, al menos, una transformación inversa de las transformaciones fi(i = 1, ..., K) es una normalización adaptativa por lotes.
3. El aparato de detección de anomalías según la reivindicación 1,
en donde la segunda distribución q<2>(x;<0>) de probabilidad se expresa utilizando la siguiente expresión
q2(x;0) = qo(Zo)|det(<9fK(zK-i;0K)/dzK-i)| det(<3fi<-1 (<zk>-2;0<k>-<i>)/fe-2) |... | det(df1 (zo; 01)/ feo) |
(donde z<1>= f1(z0;01), z<2>= f2(z1;02), ..., x = fK(zK-1;0
= 1, ..., K) son parámetros corres transformaciones fi, y 0 =<[01>T,<02>T, ..., 0kt ]t ).
4. El aparato de detección de anomalías según la reivindicación 2 o 3,
en donde, al menos, una transformación inversa de las transformaciones fi(i = 1, ..., K) es una transformación lineal, y
una matriz correspondiente a la transformación lineal se expresa como un producto de una matriz triangular inferior y una matriz triangular superior o como un producto de una matriz triangular inferior, una matriz diagonal y una matriz triangular superior.
5. Un aparato de detección de anomalías que comprende
una unidad (690) de grabación adaptada para grabar un parámetro 0 de un segundo codificador automático,
una unidad (620) de estimación del grado de anomalía adaptada para estimar un grado de anomalía, que indica un grado de anomalía del equipo objetivo de detección de anomalías, a partir de un sonido emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido objetivo de detección de anomalías, en función del segundo codificador automático,
y
una unidad (630) de determinación del grado de anomalía adaptada para generar un resultado de determinación que indique si el equipo objetivo de detección de anomalías es o no anormal, a partir del grado de anomalía, caracterizado por que
el segundo codificador automático es un codificador automático que se configura para restaurar un sonido normal emitido desde el equipo objetivo de detección de anomalías, que se obtiene actualizando un primer codificador automático que se configura para restaurar un sonido normal emitido desde uno o más equipos del mismo tipo que equipo objetivo de detección de anomalías y diferentes del equipo objetivo de detección de anomalías, utilizando el sonido normal emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido normal para el aprendizaje adaptativo.
6. El aparato de detección de anomalías según la reivindicación 5,
en donde el primer codificador automático se configura como una red neuronal que incluye una capa AdaBN, que se configura para ejecutar el cálculo de la normalización adaptativa por lotes.
7. Un programa para hacer que un ordenador que ejecuta el programa realice el siguiente método:
grabar un parámetro 0 de una segunda distribución q<2>(x;<0>) de probabilidad,
estimar un grado de anomalía, que indica un grado de anomalía del equipo objetivo de detección de anomalías, a partir de un sonido emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido objetivo de detección de anomalías, en función de la segunda distribución q<2>(x;<0>) de probabilidad, y
generar un resultado de determinación que indique si el equipo objetivo de detección de anomalías es o no anormal, a partir del grado de anomalía,
caracterizado por que
la segunda distribución q<2>(x;<0>) de probabilidad es una distribución de probabilidad que indica una distribución de un sonido normal emitido desde el equipo objetivo de detección de anomalías, que se obtiene actualizando una primera distribución de probabilidad que indica una distribución de un sonido normal emitido desde uno o más equipos del mismo tipo que el equipo objetivo de detección de anomalías y diferentes del equipo objetivo de detección de anomalías, utilizando el sonido normal emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido normal para el aprendizaje adaptativo, en donde
una variable x de la segunda distribución q<2>(x;<0>) de probabilidad es una variable que indica datos de entrada generados a partir del sonido normal emitido desde el equipo objetivo de detección de anomalías, la variable x se expresa como x = fK(fK<-1>(...(f<1>(z<0>))...)) utilizando transformaciones fi(i = 1, ..., K, K es un número entero de 1 o mayor, y existen transformaciones inversas fi-1 para las transformaciones fi) y una variable latente z0,
q<0>(z<0>) se establece como una distribución de probabilidad de la variable latente z<0>, y la distribución q<2>(x;<0>) de probabilidad de los datos x de entrada se calcula utilizando la distribución q<0>(z<0>) de probabilidad de la variable latente z0 = f1-1(f2-1(...(fK-1(x))...)) correspondiente a los datos x de entrada.
8. El programa según la reivindicación 7,
en donde, al menos, una transformación inversa de las transformaciones fi(i = 1, ..., K) es una normalización adaptativa por lotes.
9. El programa según la reivindicación 7,
en donde la segunda distribución q<2>(x;<0>) de probabilidad se expresa utilizando la siguiente expresión q2(x;0) = qo(Zo)|det(dfK(zK-i;0K)/dzK-i)| |det(dfK-i(zK-2;0K-i)/ck-<2>) |... | det(df<1>(zo; 0<1>)/ dzo) |
(donde z<1>= f1(z0;01), z<2>= f2(z1;02), ..., x = fK(zK-1;0K), 0i(i = 1, ..., K) son parámetros correspondientes a las transformaciones fi, y 0 =<[01>T,<02>T, ..., 0<k>t ]t ).
10. El programa según la reivindicación 8 o 9,
en donde, al menos, una transformación inversa de las transformaciones fi(i = 1, ..., K) es una transformación lineal, y
una matriz correspondiente a la transformación lineal se expresa como un producto de una matriz triangular inferior y una matriz triangular superior o como un producto de una matriz triangular inferior, una matriz diagonal y una matriz triangular superior.
11. Un programa para hacer que un ordenador que ejecuta el programa realice el siguiente método:
grabar un parámetro 0 de un segundo codificador automático,
estimar un grado de anomalía, que indica un grado de anomalía del equipo objetivo de detección de anomalías, a partir de un sonido emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido objetivo de detección de anomalías, en función del segundo codificador automático,
y
generar un resultado de determinación que indique si el equipo objetivo de detección de anomalías es o no anormal, a partir del grado de anomalía,
caracterizado por que
el segundo codificador automático es un codificador automático que restaura un sonido normal emitido desde el equipo objetivo de detección de anomalías, que se obtiene actualizando un primer codificador automático que restaura un sonido normal emitido desde uno o más equipos del mismo tipo que el equipo objetivo de detección de anomalías y diferentes del equipo objetivo de detección de anomalías, utilizando el sonido normal emitido desde el equipo objetivo de detección de anomalías, en lo sucesivo denominado sonido normal para el aprendizaje adaptativo.
12. El programa según la reivindicación 11,
en donde el primer codificador automático se configura como una red neuronal que incluye una capa AdaBN, que ejecuta el cálculo de la normalización adaptativa por lotes.
ES19848621T 2018-08-10 2019-07-04 Aparato de detección de anomalías y programa Active ES2979165T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018151412 2018-08-10
JP2018209416 2018-11-07
PCT/JP2019/026556 WO2020031570A1 (ja) 2018-08-10 2019-07-04 異常検知装置、確率分布学習装置、自己符号化器学習装置、データ変換装置、プログラム

Publications (1)

Publication Number Publication Date
ES2979165T3 true ES2979165T3 (es) 2024-09-24

Family

ID=69415502

Family Applications (2)

Application Number Title Priority Date Filing Date
ES19848621T Active ES2979165T3 (es) 2018-08-10 2019-07-04 Aparato de detección de anomalías y programa
ES23156617T Active ES3014274T3 (en) 2018-08-10 2019-07-04 Probability distribution learning apparatus and autoencoder learning apparatus

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES23156617T Active ES3014274T3 (en) 2018-08-10 2019-07-04 Probability distribution learning apparatus and autoencoder learning apparatus

Country Status (6)

Country Link
US (1) US12190904B2 (es)
EP (3) EP4216216B1 (es)
JP (2) JP7140194B2 (es)
CN (2) CN118348951A (es)
ES (2) ES2979165T3 (es)
WO (1) WO2020031570A1 (es)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928208B2 (en) * 2018-10-02 2024-03-12 Nippon Telegraph And Telephone Corporation Calculation device, calculation method, and calculation program
US20200285997A1 (en) * 2019-03-04 2020-09-10 Iocurrents, Inc. Near real-time detection and classification of machine anomalies using machine learning and artificial intelligence
KR20200108523A (ko) * 2019-03-05 2020-09-21 주식회사 엘렉시 이상 패턴 감지 시스템 및 방법
DE112020006948B4 (de) * 2020-05-28 2024-06-20 Mitsubishi Electric Corporation Überwachungsvorrichtung eines anlagenzustands und verfahren zur überwachung eines anlagenzustands
WO2021241576A1 (ja) * 2020-05-29 2021-12-02 株式会社ダイセル 異常変調原因特定装置、異常変調原因特定方法及び異常変調原因特定プログラム
JP7604486B2 (ja) * 2020-05-29 2024-12-23 株式会社ダイセル 異常変調原因特定装置、異常変調原因特定方法及び異常変調原因特定プログラム
JP7399797B2 (ja) * 2020-06-15 2023-12-18 株式会社日立製作所 異常度算出システムおよび方法
DE102020208642A1 (de) * 2020-07-09 2022-01-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zur Anomaliedetektion in technischen Systemen
JP7521968B2 (ja) * 2020-08-19 2024-07-24 日鉄テックスエンジ株式会社 設備監視支援装置、方法及びプログラム
US20230366729A1 (en) * 2020-09-24 2023-11-16 Si Synergy Technology Co., Ltd. Trained autoencoder, trained autoencoder generation method, non-stationary vibration detection method, non-stationary vibration detection device, and computer program
EP3975063A1 (en) * 2020-09-25 2022-03-30 Robert Bosch GmbH Device for and computer implemented method of machine learning
CN112767331B (zh) * 2021-01-08 2022-10-04 北京航空航天大学 基于零样本学习的图像异常检测方法
US11443758B2 (en) * 2021-02-09 2022-09-13 International Business Machines Corporation Anomalous sound detection with timbre separation
JP7517482B2 (ja) * 2021-02-09 2024-07-17 日本電信電話株式会社 学習装置、異常検知装置、学習方法、異常検知方法、及びプログラム
JP7548843B2 (ja) * 2021-02-22 2024-09-10 株式会社日立製作所 異常度算出システムおよび方法
US20220284283A1 (en) * 2021-03-08 2022-09-08 Nvidia Corporation Neural network training technique
KR20220127606A (ko) * 2021-03-11 2022-09-20 에스케이플래닛 주식회사 무압축 합성곱 신경망 기반 소리 이상 탐지 장치 및 방법
JP7614025B2 (ja) * 2021-06-14 2025-01-15 株式会社日立製作所 異常検知システム
CN113762333B (zh) * 2021-07-20 2023-02-28 广东省科学院智能制造研究所 一种基于双流联合密度估计的无监督异常检测方法和系统
JP7103539B1 (ja) 2022-01-17 2022-07-20 富士電機株式会社 運転支援装置、運転支援方法及びプログラム
US12259968B2 (en) * 2022-02-11 2025-03-25 Microsoft Technology Licensing, Llc Detecting anomalous post-authentication behavior for a workload identity
CN116778002A (zh) * 2022-03-10 2023-09-19 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序产品
CN114783417B (zh) * 2022-04-29 2023-03-24 北京远鉴信息技术有限公司 一种语音检测方法、装置、电子设备及存储介质
JP2024036930A (ja) * 2022-09-06 2024-03-18 富士通株式会社 機械学習プログラム、機械学習方法および情報処理装置
JP7510979B2 (ja) * 2022-09-22 2024-07-04 株式会社日立製作所 異常音のデータを生成する装置及び方法
KR102687021B1 (ko) * 2023-07-13 2024-07-22 주식회사 마키나락스 장비의 이상 원인을 예측하고, 예측 결과를 플랫폼을 통해 제공하기 위한 방법
CN117095216B (zh) * 2023-08-23 2024-06-04 湖北省地质调查院 基于对抗生成网络的模型训练方法、系统、设备及介质
WO2025052675A1 (ja) * 2023-09-08 2025-03-13 日本電信電話株式会社 学習装置、異常検知装置、学習方法、異常検知方法、及びプログラム
CN119903419B (zh) * 2024-12-30 2026-03-17 西北工业大学 一种基于自编码器的航空发动机装配质量异常检测和特征推断的方法
JP7833092B1 (ja) * 2025-11-05 2026-03-18 株式会社インターネットイニシアティブ 異常管理装置、および異常管理方法
JP7804825B1 (ja) * 2025-11-12 2026-01-22 株式会社インターネットイニシアティブ 異常管理装置、および異常管理方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3012449B2 (ja) 1994-01-31 2000-02-21 バブコック日立株式会社 音響信号の識別方法および装置
EP0666542A3 (en) * 1994-02-04 1996-05-15 Fuji Facom Corp Multimedia system for monitoring and controlling processes.
US6139505A (en) * 1998-10-14 2000-10-31 Murphy; Raymond L. H. Method and apparatus for displaying lung sounds and performing diagnosis based on lung sound analysis
JP4303135B2 (ja) 2004-01-09 2009-07-29 独立行政法人科学技術振興機構 歪みあり符号方法及び装置、歪みあり符号化プログラム及び記録媒体
JP4100414B2 (ja) * 2005-04-25 2008-06-11 松下電工株式会社 設備監視方法および設備監視装置
JP4200332B2 (ja) * 2006-08-29 2008-12-24 パナソニック電工株式会社 異常監視装置、異常監視方法
JP5767825B2 (ja) * 2011-02-28 2015-08-19 綜合警備保障株式会社 音処理装置および音処理方法
JP6236282B2 (ja) * 2013-10-21 2017-11-22 株式会社日立ハイテクノロジーズ 異常検出装置、異常検出方法、及びコンピュータ読み取り可能な記憶媒体
JP2015161745A (ja) * 2014-02-26 2015-09-07 株式会社リコー パターン認識システムおよびプログラム
JP2016007800A (ja) * 2014-06-25 2016-01-18 株式会社リコー 異常検知システム、電子機器、異常検知方法およびプログラム
US9576583B1 (en) * 2014-12-01 2017-02-21 Cedar Audio Ltd Restoring audio signals with mask and latent variables
US10068445B2 (en) * 2015-06-24 2018-09-04 Google Llc Systems and methods of home-specific sound event detection
CN105244038A (zh) * 2015-09-30 2016-01-13 金陵科技学院 一种基于hmm的选矿设备故障异常音频分析与识别方法
JP6377592B2 (ja) * 2015-11-09 2018-08-22 日本電信電話株式会社 異常音検出装置、異常音検出学習装置、これらの方法及びプログラム
EP3385889A4 (en) * 2015-12-01 2019-07-10 Preferred Networks, Inc. ANOMALIC DETECTION SYSTEM, ANOMALY DETECTION METHOD, ANOMALIC DETECTION PROGRAM, AND METHOD OF GENERATING A LEARNED MODEL
JP6709277B2 (ja) 2016-04-01 2020-06-10 日本電信電話株式会社 異常音検出装置、異常音検出学習装置、異常音サンプリング装置、これらの方法及びプログラム
US10248533B1 (en) * 2016-07-11 2019-04-02 State Farm Mutual Automobile Insurance Company Detection of anomalous computer behavior
US20190377325A1 (en) * 2017-01-23 2019-12-12 Nrg Systems, Inc. System and methods of novelty detection using non-parametric machine learning
CN110352349B (zh) * 2017-02-15 2023-01-31 日本电信电话株式会社 异常音检测装置、异常度计算装置、异常音生成装置、异常信号检测装置、及其方法、记录介质
CN106941005A (zh) * 2017-02-24 2017-07-11 华南理工大学 一种基于语音声学特征的声带异常检测方法
JP2018156151A (ja) * 2017-03-15 2018-10-04 ファナック株式会社 異常検知装置及び機械学習装置
JP6947219B2 (ja) * 2017-09-06 2021-10-13 日本電信電話株式会社 異常音検知装置、異常モデル学習装置、異常検知装置、異常音検知方法、異常音生成装置、異常データ生成装置、異常音生成方法、およびプログラム
EP3477553B1 (en) * 2017-10-27 2023-08-30 Robert Bosch GmbH Method for detecting an anomalous image among a first dataset of images using an adversarial autoencoder
JPWO2019087987A1 (ja) * 2017-11-02 2020-11-12 日本電信電話株式会社 異常検知装置、異常検知方法、及びプログラム
US11157782B2 (en) * 2017-11-16 2021-10-26 International Business Machines Corporation Anomaly detection in multidimensional time series data
US10776239B2 (en) * 2017-11-30 2020-09-15 International Business Machines Corporation Tape library integrated failure indication based on cognitive sound and vibration analysis
WO2019118644A1 (en) * 2017-12-14 2019-06-20 D-Wave Systems Inc. Systems and methods for collaborative filtering with variational autoencoders
CN111742462B (zh) * 2018-02-28 2024-11-19 罗伯特·博世有限公司 用于基于音频和振动的功率分配装备状况监测的系统和方法
JP6930503B2 (ja) * 2018-07-20 2021-09-01 日本電信電話株式会社 異常検知装置、異常検知方法、およびプログラム
US11475910B2 (en) * 2020-02-11 2022-10-18 Purdue Research Foundation System and methods for machine anomaly detection based on sound spectrogram images and neural networks

Also Published As

Publication number Publication date
JP7322997B2 (ja) 2023-08-08
CN112567460B (zh) 2024-11-15
EP3836142A1 (en) 2021-06-16
EP3836142B1 (en) 2024-04-03
EP3836142A4 (en) 2022-08-17
EP4216215A1 (en) 2023-07-26
JP2022082713A (ja) 2022-06-02
CN118348951A (zh) 2024-07-16
JP7140194B2 (ja) 2022-09-21
EP4216216B1 (en) 2025-02-19
EP4216216A1 (en) 2023-07-26
CN112567460A (zh) 2021-03-26
WO2020031570A1 (ja) 2020-02-13
ES3014274T3 (en) 2025-04-21
JPWO2020031570A1 (ja) 2021-08-26
US12190904B2 (en) 2025-01-07
US20210327456A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
ES2979165T3 (es) Aparato de detección de anomalías y programa
US11715001B2 (en) Water quality prediction
US11973672B2 (en) Method and system for anomaly detection based on time series
US10803144B2 (en) Predicting drug-drug interactions based on clinical side effects
US11676048B2 (en) Systems and methods for validation of artificial intelligence models
US10379146B2 (en) Detecting non-technical losses in electrical networks based on multi-layered statistical techniques from smart meter data
US12033089B2 (en) Deep convolutional factor analyzer
US10832150B2 (en) Optimized re-training for analytic models
CN115472154B (zh) 利用混合增强数据集进行声音异常检测
CN111612022A (zh) 用于分析数据的方法、设备和计算机存储介质
US20190340614A1 (en) Cognitive methodology for sequence of events patterns in fraud detection using petri-net models
US20180341856A1 (en) Balancing memory consumption of multiple graphics processing units in deep learning
US10733537B2 (en) Ensemble based labeling
US20230244946A1 (en) Unsupervised anomaly detection of industrial dynamic systems with contrastive latent density learning
US10565331B2 (en) Adaptive modeling of data streams
Gong et al. An energy-centric framework for category-free out-of-distribution node detection in graphs
US11487650B2 (en) Diagnosing anomalies detected by black-box machine learning models
Su et al. Local prediction of chaotic time series based on polynomial coefficient autoregressive model
US20160063380A1 (en) Quantifying and predicting herding effects in collective rating systems
US12147894B2 (en) Differentiable temporal point processes for spiking neural networks
WO2024076438A1 (en) Determination of an outlier score using extreme value theory (evt)
CN115169451A (zh) 联邦学习方法、联邦学习装置及联邦学习系统
US20180025282A1 (en) Systems and methods of determining sufficent causes from multiple outcomes
CN115220645A (zh) 用于训练模型的方法、电子设备和计算机程序产品
Palit et al. Identifying sensor accesses from service descriptions