ES2213921T3 - Red neuronal y aplicacion de la misma para el reconocimiento de voz. - Google Patents

Red neuronal y aplicacion de la misma para el reconocimiento de voz.

Info

Publication number
ES2213921T3
ES2213921T3 ES98952493T ES98952493T ES2213921T3 ES 2213921 T3 ES2213921 T3 ES 2213921T3 ES 98952493 T ES98952493 T ES 98952493T ES 98952493 T ES98952493 T ES 98952493T ES 2213921 T3 ES2213921 T3 ES 2213921T3
Authority
ES
Spain
Prior art keywords
cadence
logic block
input
vectors
level
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.)
Expired - Lifetime
Application number
ES98952493T
Other languages
English (en)
Inventor
Robert Van Kommer
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.)
Swisscom AG
Original Assignee
Swisscom AG
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 Swisscom AG filed Critical Swisscom AG
Application granted granted Critical
Publication of ES2213921T3 publication Critical patent/ES2213921T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

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)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Nitrogen Condensed Heterocyclic Rings (AREA)
  • Character Discrimination (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

Sistema de redes neuronales comprendiendo una pluralidad de niveles (20, 21, 22) de redes neuronales interconectadas (10, 11), incluyendo cada una de dichas redes neuronales interconectadas una red neuronal espacio temporal (1), incluyendo dichos niveles un nivel de entrada (20) al cual puede aplicarse una secuencia de vectores de entrada (2) con al menos una primera cadencia, en cuyo sistema al menos dos niveles (20, 21, 22) están interconectados por al menos un decimador ([102]) para reducir la cadencia de la señal suministrada o por al menos un interpolador ([103]) para aumentar la cadencia de la señal suministrada.

Description

Red neuronal y aplicación de la misma para el reconocimiento de voz.
La presente invención se refiere a un sistema de reconocimiento de voz. Más particularmente, la presente invención se refiere a un bloque lógico y a un sistema de reconocimiento de voz por medio de una red neuronal. No obstante, la presente invención se refiere también a una red neuronal novedosa para aplicaciones distintas a la del reconocimiento de voz.
Métodos de reconocimiento de voz potentes tienen una importancia crucial particularmente para el desarrollo de nuevos servicios de telecomunicación. Las cualidades requeridas para un sistema de reconocimiento de voz son concretamente las siguientes:
Precisión - sistemas que permitan reconocer correctamente menos de un porcentaje muy elevado, por ejemplo menos del 85 por ciento, de las palabras no tienen apenas aplicaciones prácticas.
Insensibilidad al ruido - los sistemas deben permitir un reconocimiento satisfactorio incluso en un ambiente ruidoso, por ejemplo cuando las comunicaciones sean transmitidas a través de una red telefónica móvil.
Vocabulario importante - para múltiples aplicaciones es necesario poder reconocer un número de palabras diferentes elevado - por ejemplo más de 5000.
Independencia del locutor - múltiples aplicaciones exigen un reconocimiento satisfactorio cualquiera que sea el locutor, e incluso en caso de locutores desconocidos para el sistema.
Los sistemas de reconocimiento de voz conocidos suelen efectuar generalmente dos tareas distintas. Una primera tarea consiste en convertir la voz en una señal numérica, y en extraer una sucesión de vectores de parámetros de voz a partir de dicha señal numérica. Se conocen diversos sistemas para efectuar esta tarea, que permiten generalmente convertir cada trama de por ejemplo 10 milisegundos de voz en un vector ("features vector") conteniendo un conjunto de parámetros que describan de la mejor forma posible esta trama en el campo temporal y frecuencial.
La segunda tarea consiste en clasificar la sucesión de vectores recibida por medio de un clasificador, y en establecer a qué clase (correspondiente por ejemplo a elementos fonológicos tales como fonemas, palabras o frases, por ejemplo) corresponden los mismos con la máxima probabilidad, de entre las clases definidas en el curso de una fase de entrenamiento del sistema. El problema de los clasificadores consiste pues en determinar, para cada vector vocal introducido, la probabilidad de pertenencia a cada clase definida.
Los sistemas de reconocimiento de voz hoy día más difundidos utilizan un clasificador que funciona por medio de modelos de Markov ocultos, más conocidos bajo la designación anglosajona Hidden Markov Models (HMM), e ilustrados por la Fig. 1a. Este método estadístico describe la voz mediante una secuencia de estados de Markov 8_{1}, 8_{2}, 8_{3}. Los diferentes estados están enlazados por vínculos 9_{1}-9_{6} que indican las probabilidades de transición de un estado al otro. Cada estado emite, con una distribución de probabilidad dada, un vector de voz. Una secuencia de estado definida a priori representa una unidad fonológica predefinida, por ejemplo un fonema o un trifono. Una descripción de este procedimiento viene dada, por ejemplo, por Steve Young en un artículo titulado "A Review of Large-vocabulary Continuous-speech Recognition", publicado en septiembre 1996 en la revista IEEE Signa) Processing Magazine. A pesar de una modelización muy pobre de las relaciones temporales entre vectores vocales sucesivos, este método ofrece actualmente los mejores grados de reconocimiento.
Otros sistemas de clasificación que hayan permitido la obtención de cierto éxito utilizan redes de neuronas artificiales, tales como se ilustran en la Fig. 1b, concretamente redes de neuronas con retardo temporal (TDNN - Time Delay Neural Networks) o redes de neuronas recurrentes (RNN- Recurrent Neural Network). Ejemplos de tales sistemas han sido concretamente descritos por J. Ghosh et al. en "Classification of Spatiotemporal Patterns with Applications to Recognition of Sonar Sequences", en Neural Representation of Temporal patterns, páginas 227 a 249, editado por E. Covey et al., Plenum Press, New York, 1995. Todos estos sistemas utilizan una línea de retardo que comprende registros 25 para los vectores vocales 2 introducidos así como elementos de retardo 26 en su arquitectura. Elementos de cálculo 11 (neuronas) interconectados (por medio de sinapsis) con los registros 25 y organizados de manera jerárquica permiten la identificación de elementos fonológicos particulares. Estos sistemas permiten así modelizar la relación temporal entre la información precedente y la información corriente, y corregir algunas de las debilidades de los HMMs, sin haber no obstante conseguido sustituirlos completamente.
Un planteamiento más reciente consiste en combinar HMMs con redes neuronales en sistemas de reconocimiento de voz híbridos. Tales sistemas han sido descritos, por ejemplo, por H. Bouriard et al.-en "Connectionist Speech Recognition - A Hybrid Approach", 1994, Kluwer Academic Publishers (NL). Estos sistemas presentan la ventaja de una mejor modelización de contexto y de los fonemas que los HMMs. Sin embargo, el precio a pagar por estos sistemas consiste ya sea en un largo tiempo de entrenamiento debido al algoritmo de propagación inversa de error (EBP - Error Back Propagation) utilizado, o en un número limitado de coeficientes de ponderación disponibles para modelizar las señales de voz.
Otro planteamiento ha sido divulgado en la Patente americana N° US 5.220.640 del 15 de junio 1993. Este documento describe una arquitectura de red neuronal, por la cual la señal de entrada ha sido cambiada diferentemente de escala por un "time-scaling network". Las señales de salida indican cómo corresponden las señales entrantes, que han sido cambiadas de escala, a los esquemas estudiados.
Estos diferentes sistemas modelizan generalmente cada palabra como una sucesión de fonos, y están optimizados para identificar con la máxima precisión posible cada fono en una señal vocal. Una identificación correcta de cada fono asegura en principio un reconocimiento perfecto de palabras o de frases - siempre que estas palabras y estas frases estén correctamente modelizadas. En la práctica, todos estos sistemas adolecen del inconveniente de una falta de robustez en condiciones ruidosas o de resultados de calidad variable, tal como ha sido indicado concretamente por S. Greenberg en "On the origins of speech intelligibility in the real world", ESCA-NATO tutorial and research Workshop on Robust Speech
Recognition for Unknown Communication Channels, 17-18 de abril 1997, Pont-à-Mousson, Francia, y por Steve Young en el artículo mencionado más arriba.
Una finalidad de la presente invención consiste pues en proponer un sistema y un método de reconocimiento de voz que eviten los inconvenientes de los sistemas y de los métodos del estado de la técnica. Más particularmente, una finalidad de la presente invención consiste en proponer un clasificador y un método de clasificación de vectores de voz mejorados con respecto a los clasificadores y a los métodos de clasificación del estado de la técnica.
Otra finalidad de la presente invención consiste en mejorar las prestaciones de un clasificador sin aumentar sensiblemente la complejidad del mismo, particularmente sin aumentar sensiblemente el número de elementos de cálculo.
Según la invención, estas diferentes finalidades se consiguen merced a las características de las reivindicaciones independientes, indicándose por lo demás variantes preferentes en las reivindicaciones dependientes.
La invención parte de la constatación que la voz no es más que una sucesión lineal de fonos de importancia igual para el reconocimiento. Experiencias realizadas han mostrado que incluso a auditores experimentados les cuesta identificar más del 60% de fonos presentados aisladamente; únicamente el contexto permite al cerebro humano comprender frases e identificar, a posteriori, cada fono.
La invención saca partido de este descubrimiento para sugerir la integración, para el reconocimiento de palabra, de las características de segmentos de voz mucho más largos que lo que se había hecho en el estado de la técnica - por ejemplo de las características de varias sílabas, de toda una palabra, o de varias palabras o incluso de una frase entera.
A fin de evitar un aumento de la complejidad del sistema y del número de elementos de cálculo, se propone una arquitectura jerárquica, con un sistema en varios niveles. Cada nivel comprende al menos una red neurónica espaciotemporal (STNN -
Spatiotemporal Neural Network). La cadencia de las señales introducidas en los diferentes niveles del sistema es variable, de manera que la cadencia de los vectores vocales introducidos en el nivel inferior esté por ejemplo adaptada al reconocimiento de fonos aislados, o de otros elementos fonológicos breves, mientras que la cadencia de las señales aplicadas a niveles superiores permita por ejemplo el reconocimiento de elementos fonológicos más largos - por ejemplo de sílabas, de trifonos, de palabras o incluso de frases enteras. Decimadores están previstos en al menos un nivel para reducir la cadencia de las señales aplicadas a los niveles superiores. Inversamente, están previstos interpoladores para aumentar la cadencia de las señales blanco suministradas al sistema durante la fase de aprendizaje.
La invención propone por tanto una arquitectura de redes neuronales de cadencia múltiple, utilizando operadores de decimación y de interpolación en su arquitectura. La invención permite la realización, con un número de elementos de cálculo (neuronas) y de sinapsis limitado, de una red neuronal cuya salida es función de un número importante de vectores vocales y/o cuya capacidad de aprendizaje resulta incrementada.
La invención permite, además, ponderar la importancia de diferentes segmentos de voz (tramas), y clasificar cada vector vocal en función de un número importante de vectores anteriores.
La invención se comprenderá mejor con ayuda de la descripción dada a título de ejemplo e ilustrada en los dibujos adjuntos, en los cuales:
La Fig. 1a ilustra esquemáticamente la estructura de un modelo de Markov oculto;
la Fig. 1b ilustra esquemáticamente la estructura de una red de neuronas artificiales;
la Fig. 2a muestra un esquema-bloque de un operador de decimación;
la Fig. 2b muestra un esquema-bloque de un operador de interpolación;
la Fig. 3 ilustra esquemáticamente la estructura de un nivel de red de neuronas de cadencia múltiple, según la invención;
la Fig. 4 muestra un primer ejemplo, ilustrado esquemáticamente, de red de neuronas de cadencia múltiple y con varios niveles, según la invención;
la Fig. 5 muestra un segundo ejemplo, ilustrado de manera más detallada, de la red de neuronas de cadencia múltiple y con varios niveles, según la invención; y
la Fig. 6 ilustra esquemáticamente un elemento de cálculo (neurona) convencional.
Aunque en la siguiente descripción se describe más detalladamente el caso particular de una red de neuronas artificiales utilizada para el reconocimiento de voz, las personas entendidas en la materia comprenderán que el tipo de redes de neuronas reivindicado puede también hallar otras aplicaciones, concretamente para la identificación de locutor o para otras tareas no necesariamente vinculadas al tratamiento de la palabra, en particular cuando el contenido de la información que deba ser analizada pueda ser clasificado jerárquicamente.
De acuerdo con la invención, el reconocimiento de voz es efectuado por medio de una red de neuronas en la cual al menos un elemento de cálculo (o neurona) comprende un operador de decimación 102, tal como se ilustra esquemáticamente en la Fig. 2a. La función del operador de decimación consiste en convertir una señal de entrada numérica x(n) con una cadencia (frecuencia de muestreo) F_{X} en una señal de salida numérica y(m) con una cadencia F_{y} reducida por un factor entero M.
Admítase que la señal de entrada x(n), de cadencia F_{x}, tenga un espectro X(\omega) y deba ser subcadenciada por un factor entero M. Si X(\omega) es diferente de cero en el intervalo de frecuencia 0\leq|F|\leqFx/2, es sabido por la teoría de las señales que la señal obtenida seleccionando únicamente cada M-ésimo valor de la señal x(n) es una versión replegada sobre sí misma de x(n), con una frecuencia de repliegue de F_{x}/2M. Para evitar el repliegue es pues necesario reducir de antemano la banda pasante de x(n) por un factor M:F_{max}= F_{x}/2M. Esta operación es por ejemplo efectuada por el filtro de decimación 1020 con una función de transferencia H_{a}(n) de tipo paso-bajo. El decimador 102 comprende además un operador de submuestreo 1021 que selecciona únicamente cada M-ésimo valor y suministra una señal y(m) con una cadencia F_{y} correspondiente a la cadencia F_{x} de la señal de entrada x(n) dividida por M. El decimador 102 no debe pues ser confundido con un simple operador de submuestreo (down-sampler).
La función de transferencia H_{a}(n) del filtro 1020 puede también ser elegida de manera que efectúe otros tipos de filtraje sobre la señal de salida, por ejemplo de manera que mejore la relación señal sobre ruido, que se supriman los ecos, etc.
Existen otros medios para realizar un decimador, y los mismos pueden ser igualmente utilizados dentro del ámbito de la presente invención. Concretamente, se utilizan tales decimadores en los bancos de filtraje numérico, tales como descritos por M. Vetterli et al. en "Wavelets and Subband Coding", Prentice
Hall, Englewood Cliffs, NJ07632. Los decimadores más conocidos utilizan, por ejemplo, un análisis en el campo temporal, en el campo de modulación o de tipo polifase.
La red de neuronas artificiales según la invención comprende además preferentemente un número equivalente de interpoladores 103, tales como se ilustran en la Fig. 2b. La función de los interpoladores 103 consiste en convertir señales numéricas x (n) con una cadencia F_{x} en señales y (m) de cadencia superior F_{y} = LF_{X}. Por razones simétricas a las arriba expuestas, es necesario un filtraje de la señal numérica obtenida por el sobremuestreador 103 y el mismo es efectuado por medio de un filtro de interpolación 1031 cm una función de transferencia H_{b}(n).
La Fig. 3 ilustra esquemáticamente un bloque de red neuronal automodularizable 3 SMNN (Self
Modularization Neural Network) según la invención, que constituye por ejemplo un nivel completo o un bloque de un clasificador completo según la invención. El SMNN 3 comprende una red neuronal es paciotemporal STNN 1 de cualquier tipo, por ejemplo del tipo ilustrado en la Fig. 1b. El STNN 1 puede también estar constituido por un perceptrón multicapas de respuesta impulsional finita o infinita (IIR/FIR MLP - Infinite/Finite Multilayer Perceptron), una red neuronal de retardo temporal TDNN, una red neuronal recurrente, una red Gamma, etc., y comprende, en general, un conjunto de elementos de cálculo, o neuronas, 11. El STNN 1 recibe como entrada una señal, por ejemplo una secuencia de vectores vocales o una señal suministrada por otro nivel de la red neuronal, con una cadencia F_{X}, y proporciona a la salida otra señal, por ejemplo un vector de parámetros calculados, con la misma cadencia F_{x}. Según la invención, el SMNN 3 comprende, además, una unidad de decimación [102], que comprende por ejemplo tantos decimadores 102 como parámetros haya en el vector de salida, y que permite reducir la cadencia de la señal calculada por el STNN. Cada decimador 102 en la unidad de decimación [102] está constituida, por ejemplo, de la manera ilustrada en la Fig. 2a y comprende un filtro de decimación 1020 y un submuestreador 1021, de manera que el SMNN 3 proporcione a la salida un vector con una cadencia F_{x}/M reducida por M.
La Fig. 4 ilustra un ejemplo de clasificador realizado a partir de bloques SMNN (comprendiendo decimadores) según la invención. Este clasificador comprende cuatro SMNN 3_{1}-3_{4} repartidos en dos niveles 20 y 21. La secuencia de vectores vocales 2 extraída de la señal vocal que deba ser analizada es introducida simultáneamente en dos SMNN 3_{1}, 3_{2}, uno de los cuales comprende un filtro de paso-alto y el otro un filtro de paso-bajo. Los dos SMNN efectúan una decimación con un factor de decimación diferente, de manera que la cadencia de la señal emitida por el SMNN superior 3_{1} sea de F_{z} mientras que la cadencia de la señal del otro SMNN 3_{2} sea de F_{y}.
La señal cadenciada en F_{y} es a su vez introducida en dos SMNN 3_{3}-3_{4} en el segundo nivel 21 del sistema según la invención, proporcionando cada uno una señal de salida cadenciada en F_{Z} y pudiendo tener filtros con funciones de transferencia diferentes. Las señales proporcionadas por los SMNN 3_{1}, 3_{3} y 3_{4} son a continuación combinadas en un solo vector de salida cadenciado en F_{z}.
El sistema según la invención puede ser entrenado por medio de vectores blanco aplicados en el curso de una fase de aprendizaje en la salida de un algoritmo de propagación inversa de error EBP (Error Back
Propagation) de tipo conocido. Es posible ya sea imponer vectores blanco a la salida de cada nivel 20, 21, etc. (o de una parte de estos niveles solamente), o bien a la salida global del sistema por encima del nivel de orden superior. En este último caso es necesario prever interpoladores 103 (Fig. 2b) en los SMNN 3, a fin de multiplicar la cadencia de los vectores blanco impuestos a los niveles inferiores.
La Fig. 5 ilustra de forma más detallada un sistema de reconocimiento vocal que comprende una red de neuronas multicadencia según la invención. Este sistema permite un reconocimiento de palabras aisladas, por ejemplo de dígitos aislados en un sistema de gobierno vocal. En el ejemplo ilustrado, el sistema de reconocimiento de voz comprende un clasificador que comprende a su vez tres niveles 20, 21, 22, comprendiendo cada nivel un SMNN 3_{20}, 3_{21}, 3_{22} de tres capas. La salida del clasificador indica la estimación de la clase más probable a priori (MAP - Maximun A Posteriori) a la cual corresponde el vector de entrada. Otras configuraciones, con un número diferente de niveles y de capas en cada nivel, pueden no obstante ser fácilmente imaginadas dentro del ámbito de la presente invención.
La señal sonora 23 que deba ser analizada es primeramente convertida en una señal numérica por un convertidor analógico-numérico 24 de tipo conocido. Para cada trama de la señal numérica de duración predeterminada, por ejemplo 10 milisegundos, un vector vocal 2 es determinado por el parametrizador 27, de tipo igualmente conocido. En el ejemplo ilustrado, el parametrizador extrae vectores de dos componentes únicamente a partir de cada trama; en la práctica se utilizarán preferentemente vectores que comprendan un mayor número de componentes, por ejemplo 26, a fin de proporcionar una representación espaciotemporal más completa de la señal sonora durante la duración de cada trama.
Los vectores vocales 2 así determinados son luego introducidos sucesivamente en una línea de registros con desfase 25-26. Cada vector es primero introducido en un registro 25, y luego, después de un intervalo de trama z desfasado, en el registro siguiente. En el ejemplo ilustrado, la línea de registros con desfase comprende 3 registros que contienen vectores representando tres intervalos de trama, por ejemplo 30 milisegundos. En la práctica se elegirá preferentemente una línea de retardo más larga, comprendiendo por ejemplo nueve registros sucesivos. El registro con desfase es completado con vectores de relleno ("dummy signal") antes del primer vector y después del último vector de la secuencia.
Elementos de cálculo (neuronas) 11_{20} en una capa intermedia oculta están conectados con los registros 25 por medio de sinapsis. En el ejemplo ilustrado, la capa intermedia oculta comprende únicamente 4 elementos de cálculo 11_{20}; en la práctica se elegirá preferentemente un número de elementos de cálculo mucho más grande, de por ejemplo varias centenas de elementos de cálculo. La Fig. 6 ilustra más detalladamente un ejemplo de elemento de cálculo 11. De manera en sí conocida, los elementos de cálculo 11 comprenden un adicionador 110 para efectuar una suma de los componentes de los vectores en los diferentes registros 25, siendo ponderada dicha suma con coeficientes de ponderación a_{1}, a_{2}, ... a_{n} determinados en el curso de la fase de aprendizaje del sistema. Una función de tipo conocido, por ejemplo una función sigmoidea, es luego aplicada por un operador 111 a la suma calculada. De acuerdo con una variante preferente, la red está enteramente conectada, es decir que todos los elementos de cálculo 11_{20} de la capa intermedia del primer nivel están vinculados por medio de sinapsis a todos los vectores vocales de todos los registros 25; sin embargo, es igualmente posible, dentro del ámbito de la presente invención, imaginarse redes sólo parcialmente conectadas.
El primer nivel comprende, además, una capa de salida que incluye elementos de cálculo (neuronas) 10_{20} de tipo nuevo, comprendiendo cada uno de ellos un elemento de cálculo propiamente dicho 101_{20} y un decimador 102_{20}, tal como arriba indicado. De nuevo, y aunque el ejemplo ilustrado comprenda solamente tres elementos de cálculo de salida 10_{20}, en la práctica se utilizará preferentemente un número de elementos superior, por ejemplo 24 elementos de salida entrenados, por ejemplo, para reconocer 24 fonemas diferentes. Cada elemento de cálculo 101_{20} está totalmente conectado a todos los elementos 11_{20} de la capa intermedia. Los elementos de cálculo 101 están constituidos de igual modo que los elementos 11 arriba descritos y efectúan, de manera conocida, una suma de los componentes de los vectores en las diferentes neuronas intermedias 10_{20}, siendo ponderada dicha suma con coeficientes de ponderación determinados en el curso de la fase de aprendizaje del sistema. Una función de tipo conocido, por ejemplo una función sigmoidea, es luego aplicada a la suma calculada. Los elementos de cálculo 101_{20} proporcionan pues en cada intervalo de trama un nuevo vector de salida, función de los vectores vocales memorizados en los registros 25.
Según la invención, estas señales son decimadas por decimadores 102_{20} que proporcionan a la salida señales con una cadencia reducida por un factor M_{1}. Los decimadores proporcionan pues en la salida del primer nivel 20 un vector numérico, con una cadencia reducida por un factor M_{1} con respecto a la cadencia de los vectores vocales introducidos en los registros 25. Si por ejemplo el intervalo de trama de los vectores vocales a la entrada del sistema es de 10 milisegundos y el factor de decimación M_{1} es de dos, el intervalo de trama de los vectores de salida a la salida del primer nivel 20 será de 20 milisegundos. El vector de salida a la salida del primer nivel corresponde, por ejemplo, a señales que indican la presencia de un fonema particular identificado en la secuencia de vectores vocales analizados.
El vector de salida proporcionado por el SMNN 3_{20} en el primer nivel 20 es suministrado a la entrada del SMNN 3_{21} en el segundo nivel 21, completado en caso necesario por vectores de relleno ("dummy signal"), y memorizado en registros de desfase. De manera similar a lo arriba descrito en relación con el primer nivel, el registro de desfase comprende un conjunto de registros, pasando el vector de un registro al otro en cada intervalo de trama del segundo nivel, por ejemplo cada 20 milisegundos (M_{1} veces el intervalo de trama del primer nivel). La figura ilustra un ejemplo de segundo nivel con tres registros de entrada; en la práctica se elegirá preferentemente un número de registros superior, por ejemplo 21 registros, aptos para memorizar vectores deducidos a partir de 21*M_{1} tramas iniciales, por ejemplo vectores correspondientes a 420 milisegundos de señal vocal. El segundo nivel 21 es así capaz de reconocer elementos fonológicos de duración mucho más importante que el primer nivel, por ejemplo de reconocer partes de palabras o incluso palabras completas.
La estructura del segundo nivel es similar a la del primer nivel y no se describirá por tanto en detalle en este lugar. De nuevo, se utilizará preferentemente un número de nodos intermedio mucho más elevado, por ejemplo 200 nodos, y un número de nodos de salida también superior, por ejemplo 27 nodos 10_{21}, correspondientes por ejemplo a 27 partes de palabras predefinidas susceptibles de ser identificadas a la salida de este segundo nivel.
De igual manera que arriba descrito, el vector de salida del segundo nivel 21 es decimado con un factor de decimación M_{2} por decimadores 102_{21}, y es suministrado como vector de entrada al registro de desfase del tercer nivel 22. De acuerdo con una variante preferente, el tercer nivel comprende, por ejemplo, 26 elementos de registro de entrada, 200 elementos de cálculo intermedio y tantas salidas como elementos fonológicos deban ser reconocidos, por ejemplo diez salidas en el caso en que el sistema sea utilizado únicamente para el reconocimiento de dígitos de cero a nueve. Continuando con el ejemplo numérico precedente, si un nuevo vector es introducido cada 20 milisegundos en el segundo nivel 21 y el factor de decimación M_{2} es de dos, un nuevo vector resultará pues introducido en el tercer nivel 22 cada 40 milisegundos. Al comprender el registro de entrada en este ejemplo 17 células, el tercer nivel permite pues reconocer elementos fonológicos a partir de vectores correspondientes a 17*40 milisegundos = 680 milisegundos de señal. Las señales de salida del tercer nivel permiten pues identificar elementos fonológicos relativamente largos, por ejemplo palabras enteras.
El clasificador descrito en relación con la Fig. 5 comprende pues tres niveles, estando adaptadas la cadencia de cada nivel así como la longitud del registro de desfase de entrada al reconocimiento de elementos fonológicos de duración diferente. Es pues posible entrenar el sistema en el curso de una fase de aprendizaje aplicando a las salidas de cada nivel vectores blanco correspondientes a los elementos fonológicos que deban ser reconocidos. Así por ejemplo, es posible, durante el aprendizaje, aplicar vectores blanco correspondientes a fonemas a la salida del primer nivel 20, vectores blanco correspondientes a sílabas, trifonos o porciones de palabras a la salida del segundo nivel 21, y vectores blanco correspondientes a palabras enteras a las salidas del nivel superior 22.
Ventajosamente, de acuerdo con la invención, también es posible imponer vectores blanco correspondientes a palabras enteras únicamente en las salidas del nivel superior 22, y ejecutar el algoritmo de propagación inversa de error EBP en los, tres niveles, determinando el propio sistema por sí mismo los vectores blanco de los niveles inferiores 20 y 21. Esta variante posee la ventaja de evitar una descomposición necesariamente arbitraria de la palabra en elementos fonológicos predefinidos tales como fonemas, trifonos, sílabas, etc.
Las personas entendidas en la materia comprenderán que la invención se aplica también al tratamiento de secuencias de vectores vocales multirresolución, es decir en las que vectores o componentes de vectores puedan corresponder a duraciones de la señal vocal inicial variables. Esta tecnología es conocida, concretamente en el campo del filtraje numérico, bajo el nombre de ondulaciones, o en la terminología anglosajona como "wavelets", y está concretamente descrita en la obra de Vetterli et al. arriba mencionada. Los SMNN según la invención permiten controlar la cadencia de las señales proporcionadas y resincronizar pues fácilmente secuencias de cadencia diferente.
La invención se refiere, además, también a sistemas que comprendan únicamente un SMNN 3, es decir redes de neuronas artificiales 1 en las que la señal proporcionada a la salida sea decimada por un decimador 102.
Por otra parte, la invención se refiere también a sistemas en los cuales el grado de decimación de los diferentes decimadores pueda ser variado, por ejemplo para adaptar la red de neuronas a diferentes aplicaciones, o de manera dinámica durante la fase de aprendizaje o incluso en función de los vectores vocales aplicados a la entrada del sistema.

Claims (47)

1. Sistema de redes neuronales comprendiendo una pluralidad de niveles (20, 21, 22) de redes neuronales interconectadas (10, 11), incluyendo cada una de dichas redes neuronales interconectadas una red neuronal espaciotemporal (1), incluyendo dichos niveles un nivel de entrada (20) al cual puede aplicarse una secuencia de vectores de entrada (2) con al menos una primera cadencia, en cuyo sistema al menos dos niveles (20, 21, 22) están interconectados por al menos un decimador ([102]) para reducir la cadencia de la señal suministrada o por al menos un interpolador ([103]) para aumentar la cadencia de la señal suministrada.
2. Sistema según la reivindicación 1, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por un perceptrón multicapas de respuesta impulsional finita o infinita.
3. Sistema según una de las reivindicaciones 1 a 2, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red neuronal con retardo temporal.
4. Sistema según una de las reivindicaciones 1 a 3, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red neuronal recurrente.
5. Sistema según una de las reivindicaciones 1 a 4, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red gamma.
6. Sistema según una de las reivindicaciones 1 a 5, en el cual la cadencia de los vectores introducidos en uno de dichos niveles de entradas (20) permite el reconocimiento de elementos vocales predeterminados de duración breve en dicho nivel.
7. Sistema según una de las reivindicaciones 1 a 6, en el cual la cadencia de los vectores introducidos en uno de dichos niveles de entradas (20) permite el reconocimiento de elementos lingüísticos o fonológicos predeterminados en dicho nivel intermedio.
8. Sistema según una de las reivindicaciones 1 a 7, en el cual la cadencia de los vectores introducidos en uno de dichos niveles de entradas (20) permite el reconocimiento de palabras predeterminadas en dicho nivel.
9. Sistema según una de las reivindicaciones 1 a 8, en el cual la cadencia de los vectores introducidos en uno de dichos niveles de entradas (20) permite el reconocimiento de trifonos predeterminados en dicho nivel.
10. Sistema según una de las reivindicaciones 1 a 9, en el cual la cadencia de los vectores introducidos en uno de dichos niveles de entradas (20) permite el reconocimiento de sílabas predeterminadas en dicho nivel.
11. Sistema según una de las reivindicaciones 1 a 10, en el cual la cadencia de los vectores introducidos en uno de dichos niveles de entradas (20) permite el reconocimiento de porciones de frases predeterminadas en dicho nivel.
12. Sistema según una de las reivindicaciones 1 a 11, en el cual la cadencia de los vectores introducidos en uno de dichos niveles de entradas (20) es de una trama cada 10 milisegundos.
13. Sistema según una de las reivindicaciones 1 a 12, en el cual la secuencia de dichos vectores introducidos en uno de dichos niveles de entradas (20) es de resolución variable.
14. Bloque lógico (3) apto para ser utilizado en un sistema de redes neuronales, comprendiendo:
al menos una red neuronal espaciotemporal (1),
al menos una capa de entrada y al menos una capa de salida,
al menos un decimador ([102]) o un interpolador ([103]) incluyendo al menos un filtro ([1020]) para filtrar al menos una señal de salida suministrada por dicha red neuronal espaciotemporal y proporcionar dicha señal de salida con una cadencia diferente a la de la señal de entrada.
15. Bloque lógico (3) según la reivindicación 14, en el cual dicha cadencia de la señal de salida es inferior a la de la señal de entrada.
16. Bloque lógico (3) según la reivindicación 14, en el cual dicha cadencia de la señal de salida es superior a la de la señal de entrada.
17. Bloque lógico (3) según una de las reivindicaciones 14 a 16, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por un perceptrón multicapas de respuesta impulsional finita o infinita.
18. Bloque lógico (3) según una de las reivindicaciones 14 a 17, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red neuronal con retardo temporal.
19. Bloque lógico (3) según una de las reivindicaciones 14 a 18, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red neuronal recurrente.
20. Bloque lógico (3) según una de las reivindicaciones 14 a 19, en el cual al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red gamma.
21. Bloque lógico (3) según una de las reivindicaciones 14 a 20, en el cual la cadencia de los vectores introducidos en dicha capa de entrada permite el reconocimiento de elementos vocales predeterminados de duración breve en dicho nivel.
22. Bloque lógico (3) según una de las reivindicaciones 14 a 21, en el cual la cadencia de los vectores introducidos en dicha capa de entrada permite el reconocimiento de elementos lingüísticos o fonológicos predeterminados en dicho nivel intermedio.
23. Bloque lógico (3) según una de las reivindicaciones 14 a 22, en el cual la cadencia de los vectores introducidos en dicha capa de entrada permite el reconocimiento de palabras predeterminadas en dicho nivel.
24. Bloque lógico (3) según una de las reivindicaciones 14 a 23, en el cual la cadencia de los vectores introducidos en dicha capa de entrada permite el reconocimiento de trifonos predeterminados en dicho nivel.
25. Bloque lógico (3) según una de las reivindicaciones 14 a 24, en el cual la cadencia de los vectores introducidos en dicha capa de entrada permite el reconocimiento de sílabas predeterminadas en dicho nivel.
26. Bloque lógico (3) según una de las reivindicaciones 14 a 25, en el cual la cadencia de los vectores introducidos en dicha capa de entrada permite el reconocimiento de porciones de frases predeterminadas en dicho nivel.
27. Bloque lógico (3) según una de las reivindicaciones 14 a 26, en el cual la cadencia de los vectores introducidos en dicha capa de entrada es de una trama cada 10 milisegundos.
28. Bloque lógico (3) según una de las reivindicaciones. 14 a 27, en el cual la secuencia de dichos vectores introducidos en dicha capa de entrada es de resolución variable.
29. Sistema de reconocimiento de voz comprendiendo una pluralidad de bloques lógicos (3), interconectados entre sí, comprendiendo dicho sistema un nivel de entrada (20) al cual es aplicable una secuencia de vectores de entrada (2) con al menos una primera cadencia, y comprendiendo dichos bloques lógicos (3) :
al menos una red neuronal espaciotemporal (1),
al menos una capa de entrada y al menos una capa de salida,
al menos un decimador ([102]) o un interpolador ([103]) incluyendo al menos un filtro ([1020]) para filtrar al menos una señal de salida suministrada por dicha red neuronal espaciotemporal y proporcionar esta señal de salida con una cadencia diferente a la de la señal de entrada.
30. Sistema de reconocimiento de voz según la reivindicación 29, en el cual dicha cadencia de la señal de salida de al menos un bloque lógico (3) es inferior a la de la señal de entrada de dicho bloque lógico (3).
31. Sistema de reconocimiento de voz según la reivindicación 29, en el cual dicha cadencia de la señal de salida de al menos un bloque lógico (3) es superior a la de 11 señal de entrada de dicho bloque lógico (3).
32. Sistema de reconocimiento de voz según una de las reivindicaciones 29. a 31, en el cual en al menos uno d, los bloques lógicos (3) al menos una de dichas redes neuronales espaciotemporales (1) está constituida por un perceptrón multicapas de respuesta impulsional finita o infinita.
33. Sistema de reconocimiento de voz según una de Las reivindicaciones 29 a 32, en el cual en al menos uno de los bloques lógicos (3) al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red neuronal con retardo temporal.
34. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 33, en el cual en al menos uno de los bloques lógicos (3) al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red neuronal recurrente.
35. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 34, en el cual en al menos uno de los bloques lógicos (3) al menos una de dichas redes neuronales espaciotemporales (1) está constituida por una red gamma.
36. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 35, en el cual en al menos uno de los bloques lógicos (3) la cadencia de los vectores introducidos en la capa de entrada de dicho bloque lógico (3) permite el reconocimiento de elementos vocales predeterminados de duración breve en dicho bloque lógico (3).
37. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 36, en el cual en al menos uno de los bloques lógicos (3) la cadencia de los vectores introducidos en la capa de entrada de dicho bloque lógico (3) permite el reconocimiento de elementos lingüísticos o fonológicos predeterminados en dicho bloque lógico (3) intermedio.
38. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 37, en el cual en al menos uno de los bloques lógicos (3) la cadencia de los vectores introducidos en la capa de entrada de dicho bloque lógico (3) permite el reconocimiento de palabras predeterminadas en dicho bloque lógico (3).
39. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 38, en el cual en al menos uno de los bloques lógicos (3) la cadencia de los vectores introducidos en la capa de entrada de dicho bloque lógico (3) permite el reconocimiento de trifonos predeterminados en dicho bloque lógico (3).
40. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 39, en el cual en al menos uno de los bloques lógicos (3) la cadencia de los vectores introducidos en la capa de entrada de dicho bloque lógico (3) permite el reconocimiento de sílabas predeterminadas en dicho bloque lógico (3).
41. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 40, en el cual en al menos uno de los bloques lógicos (3) la cadencia de los vectores introducidos en la capa de entrada del bloque lógico (3) permite el reconocimiento de porciones de frases predeterminadas en dicho bloque lógico (3).
42. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 41, en el cual en al menos uno de los bloques lógicos (3) la cadencia de los vectores introducidos en la capa de entrada del bloque lógico (3) es de una trama cada 10 milisegundos.
43. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 42, en el cual en al menos uno de los bloques lógicos (3) la secuencia de los vectores introducidos en la capa de entrada del bloque lógico (3) es de resolución variable.
44. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 43, en el cual dichos vectores de entrada (2) corresponden a vectores vocales.
45. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 44, comprendiendo un parametrizador (27) para determinar dichos vectores vocales (2) a partir de una señal vocal numérica.
46. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 45, que haya sido entrenado con un algoritmo de propagación inversa de error y vectores blanco aplicados independientemente a la salida de cada nivel de los bloques lógicos (3) o a la salida de cada bloque lógico (3).
47. Sistema de reconocimiento de voz según una de las reivindicaciones 29 a 46, que haya sido entrenado con un algoritmo de propagación inversa de error y un vector blanco aplicado únicamente a la salida global del sistema.
ES98952493T 1998-09-01 1998-11-17 Red neuronal y aplicacion de la misma para el reconocimiento de voz. Expired - Lifetime ES2213921T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98810867 1998-09-01
EP98810867 1998-09-01

Publications (1)

Publication Number Publication Date
ES2213921T3 true ES2213921T3 (es) 2004-09-01

Family

ID=8236294

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98952493T Expired - Lifetime ES2213921T3 (es) 1998-09-01 1998-11-17 Red neuronal y aplicacion de la misma para el reconocimiento de voz.

Country Status (8)

Country Link
US (1) US6799171B1 (es)
EP (1) EP1232492B1 (es)
JP (1) JP2003524792A (es)
AT (1) ATE256331T1 (es)
CA (1) CA2340028C (es)
DE (1) DE69820497T2 (es)
ES (1) ES2213921T3 (es)
WO (1) WO2000013170A1 (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1160767B1 (en) * 2000-05-27 2005-07-06 Swisscom Fixnet AG Speech recognition with contextual hypothesis probabilities
US7346497B2 (en) * 2001-05-08 2008-03-18 Intel Corporation High-order entropy error functions for neural classifiers
US7152051B1 (en) * 2002-09-30 2006-12-19 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
EP1416472A1 (en) * 2002-10-30 2004-05-06 Swisscom AG Bandwidth dependent speech recognition system
US9595257B2 (en) * 2009-09-28 2017-03-14 Nuance Communications, Inc. Downsampling schemes in a hierarchical neural network structure for phoneme recognition
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9842106B2 (en) * 2015-12-04 2017-12-12 Mitsubishi Electric Research Laboratories, Inc Method and system for role dependent context sensitive spoken and textual language understanding with neural networks
US10229672B1 (en) * 2015-12-31 2019-03-12 Google Llc Training acoustic models using connectionist temporal classification
CN108022587B (zh) * 2017-12-15 2021-03-05 深圳市声扬科技有限公司 语音识别方法、装置、计算机设备和存储介质
US10431210B1 (en) 2018-04-16 2019-10-01 International Business Machines Corporation Implementing a whole sentence recurrent neural network language model for natural language processing
US11075862B2 (en) 2019-01-22 2021-07-27 International Business Machines Corporation Evaluating retraining recommendations for an automated conversational service
CN112735388B (zh) * 2020-12-28 2021-11-09 马上消费金融股份有限公司 网络模型训练方法、语音识别处理方法及相关设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3221985C2 (de) * 1982-06-11 1984-07-26 Adalbert 3570 Stadtallendorf Schreiber Vorrichtung zum Bekämpfen von Schadorganismen
US4970822A (en) * 1988-10-11 1990-11-20 Sherman Daniel A Contact poison delivery system
US5425130A (en) * 1990-07-11 1995-06-13 Lockheed Sanders, Inc. Apparatus for transforming voice using neural networks
US5220640A (en) 1990-09-20 1993-06-15 Motorola, Inc. Neural net architecture for rate-varying inputs
JP2673871B2 (ja) * 1993-08-26 1997-11-05 日本アイ・ビー・エム株式会社 ニューラル・ネットワークによるパターン認識方法及び装置
GB9414451D0 (en) * 1994-07-18 1994-09-07 Roussel Uclaf Environmental He Pest control device
JP2000506642A (ja) * 1996-02-09 2000-05-30 サーノフ コーポレイション 不確定の訓練データを用いてオブジェクトを検出及び分類するようにニューラルネットワークを訓練する方法及び装置

Also Published As

Publication number Publication date
DE69820497T2 (de) 2004-10-14
WO2000013170A1 (fr) 2000-03-09
EP1232492B1 (fr) 2003-12-10
ATE256331T1 (de) 2003-12-15
US6799171B1 (en) 2004-09-28
DE69820497D1 (de) 2004-01-22
CA2340028A1 (fr) 2000-03-09
EP1232492A1 (fr) 2002-08-21
CA2340028C (fr) 2007-08-14
JP2003524792A (ja) 2003-08-19

Similar Documents

Publication Publication Date Title
CN111415667B (zh) 一种流式端到端语音识别模型训练和解码方法
ES2213921T3 (es) Red neuronal y aplicacion de la misma para el reconocimiento de voz.
KR102616351B1 (ko) 지식 브리지를 이용한 학생 교사 전송 학습 네트워크를 위한 장치 및 방법
Qian et al. Very deep convolutional neural networks for noise robust speech recognition
Feng et al. Speech feature denoising and dereverberation via deep autoencoders for noisy reverberant speech recognition
Sainath et al. Modeling Time-Frequency Patterns with LSTM vs. Convolutional Architectures for LVCSR Tasks.
Lippmann Review of neural networks for speech recognition
Rigoll Maximum mutual information neural networks for hybrid connectionist-HMM speech recognition systems
CN111243576A (zh) 语音识别以及模型训练方法、装置、设备和存储介质
Lee et al. Ensemble of jointly trained deep neural network-based acoustic models for reverberant speech recognition
KR100306848B1 (ko) 신경회로망을 이용한 선택적 주의집중 방법
von Platen et al. Multi-span acoustic modelling using raw waveform signals
Pan et al. An event-based cochlear filter temporal encoding scheme for speech signals
JP3521429B2 (ja) ニューラルネットワークを用いた音声認識装置およびその学習方法
Sarma et al. Phoneme-based speech segmentation using hybrid soft computing framework
Soni et al. State-of-the-art analysis of deep learning-based monaural speech source separation techniques
Haidar et al. Fine-tuning of pre-trained end-to-end speech recognition with generative adversarial networks
Elenius et al. Multi-layer perceptrons and probabilistic neural networks for phoneme recognition.
JPH05204399A (ja) 不特定話者音素認識方法
Behi et al. Self-organization map of spiking neurons evaluation in phoneme classification
Rista et al. End-to-end speech recognition model based on deep learning for Albanian
Lawrence et al. The gamma MLP-using multiple temporal resolutions for improved classification
Dumitru et al. Vowel, Digit and Continuous Speech Recognition Based on Statistical, Neural and Hybrid Modelling by Using ASRS_RL
Mohanty et al. Recognition of voice signals for Oriya language using wavelet neural network
Yang et al. Investigation of DNN based Feature Enhancement Jointly Trained with X-Vectors for Noise-Robust Speaker Verification