Extração aprimorada de parâmetros de recursos de sinais de fala usando algoritmo de aprendizado de máquina(1)

May 30, 2023

Abstrato: o reconhecimento de fala refere-se à capacidade do software ou hardware de receber um sinal de fala, identificar os recursos do locutor no sinal de fala e reconhecer o locutor posteriormente. Em geral, o processo de reconhecimento de fala envolve três etapas principais: processamento acústico, extração de características e classificação/reconhecimento. O objetivo da extração de características é ilustrar um sinal de fala usando um número predeterminado de componentes de sinal. Isso ocorre porque todas as informações no sinal acústico são excessivamente complicadas de manusear e algumas informações são irrelevantes na tarefa de identificação. Este estudo propõe uma abordagem baseada em aprendizado de máquina que executa extração de parâmetros de recursos de sinais de fala para melhorar o desempenho de aplicativos de reconhecimento de fala em ambientes de cidades inteligentes em tempo real. Além disso, o princípio de mapear um bloco de memória principal para o cache é usado de forma eficiente para reduzir o tempo de computação. O tamanho do bloco de memória cache é um parâmetro que afeta fortemente o desempenho do cache. Em particular, a implementação de tais processos em sistemas de tempo real requer uma alta velocidade de computação. A velocidade de processamento desempenha um papel importante no reconhecimento de fala em sistemas de tempo real. Requer o uso de tecnologias modernas e algoritmos rápidos que aumentam a aceleração na extração dos parâmetros de recursos dos sinais de fala. Problemas com overclock durante o processamento digital de sinais de fala ainda não foram completamente resolvidos. Os resultados experimentais demonstram que o método proposto extrai com sucesso as características do sinal e atinge um desempenho de classificação perfeito em comparação com outros algoritmos convencionais de reconhecimento de fala.

Cistanche deserticola slice (11)

Cistanche deserticola

Palavras-chave: reconhecimento de fala; computação paralela; computação distribuída; processador multicore; extração de características; análise espectral

1. Introdução

O estabelecimento de abordagens de comunicação entre humanos e tecnologia de computador é uma tarefa crítica na inteligência artificial moderna. Um dos métodos mais fáceis para os usuários inserirem informações é por meio de sinais de fala. Portanto, a tecnologia de processamento de sinais de fala e suas ferramentas tornaram-se uma parte necessária da sociedade da informação. O reconhecimento de fala é um aspecto de pesquisa essencial do processamento de sinais de fala e uma técnica vital de interação humano-computador. Os sinais de fala contêm informações semânticas, pessoais e ambientais [1]. A abordagem geral para o processamento do sinal de fala é usar a análise de curto prazo, na qual o sinal é dividido em janelas de tempo de tamanho fixo, assumindo que os parâmetros do sinal não mudam. Uma sobreposição é colocada entre as janelas para obter uma representação de sinal mais precisa. Algoritmos de extração de recursos, como análise espectral e previsão linear, são aplicados a cada janela. No entanto, esses processos também devem considerar velocidade e tempo.

Desert living cistanche

Ginseng do deserto

O tempo é uma preocupação significativa em várias áreas do processamento de sinais em tempo real. A taxa de velocidade de processamento pode ser aumentada usando eficientemente os recursos do processador e desenvolvendo algoritmos novos e rápidos para reduzir o tempo de processamento digital. No entanto, os problemas de computação de alto desempenho ainda não foram totalmente resolvidos [2]. Além disso, progressos substanciais foram feitos no reconhecimento automático de fala com o desenvolvimento de hardware e software de processamento de sinal digital. No entanto, apesar desses avanços, as máquinas não conseguem igualar o desempenho de suas contrapartes humanas em termos de precisão e velocidade de reconhecimento, particularmente no reconhecimento de fala independente do falante. Assim, uma grande quantidade de pesquisas realizadas sobre reconhecimento de fala tem se concentrado em problemas de reconhecimento de fala independentes do falante, devido à ampla gama de aplicações e limitações das técnicas de reconhecimento de fala disponíveis [3].

Em resumo, as principais contribuições do estudo são as seguintes:

cistanche tea

chá cistanche

Clique aqui para ver os produtos de chá Cistanche deserticola

【Peça mais】 E-mail:cindy.xue@wecistanche.com / Whats App: 0086 18599088692 / Wechat: 18599088692

O processo de identificação de uma pessoa por sinais de fala consiste em várias etapas. Dentre elas, algumas etapas demandam mais tempo de cálculo. Esta é uma análise espectral. Um dos parâmetros especialmente importantes em algoritmos de aprendizado de máquina é o tempo de treinamento. Neste trabalho, descobrimos que o processo de extração de características é importante para a identificação dos sinais de fala. Além disso, leva muito tempo no aprendizado de máquina. Está estabelecido que o processo de análise espectral consiste em operações independentes e a paralelização é possível.

Experimentos mostraram que as transformações espectrais FFT e DCT fornecem bons resultados na análise espectral. O processo de análise espectral é válido para cada segmento do sinal de fala. Isso nos permite distinguir claramente esses recursos do sinal de fala. Com o auxílio das ferramentas OpenMP e TBB, foi desenvolvido um algoritmo de computação paralela que possibilitou agilizar os cálculos.

O tamanho do segmento é importante ao dividir um sinal de fala em segmentos. Durante os experimentos, verificou-se que o tamanho do segmento do sinal de fala depende da memória cache do processador central. Em particular, descobriu-se que a correspondência do segmento ao tamanho do cache em processadores multicore tem um efeito positivo na velocidade computacional no aprendizado de máquina.

Um novo método de implementação paralela é proposto para transformações espectrais de sinais para extração de parâmetros de recursos de sinais de fala usando um algoritmo de aprendizado de máquina em processadores multicore usando TBB e OpenMP.

Verificou-se também que o uso efetivo do princípio de mapear o bloco de memória principal para o cache e o tamanho do bloco de memória cache pode aumentar a velocidade de processamento.

Cistanche supplement near me—Improve memory2

Suplemento Cistanche perto de mim - Melhorando a Memória

O restante deste artigo está organizado da seguinte forma. A Seção 2 revisa os estudos existentes para extrair propriedades específicas do sinal de fala. A Seção 3 descreve as etapas de extração de características com experimentos. A Seção 4 apresenta em detalhes o algoritmo computacional de alto desempenho proposto para extrair os parâmetros de características dos sinais de voz. Os resultados experimentais baseados em nossa implementação são discutidos na Seção 5. A Seção 6 destaca as limitações do método proposto. Finalmente, a Seção 7 conclui o estudo resumindo os resultados e observando as direções futuras da pesquisa.

2. Trabalhos Relacionados

Novos métodos, algoritmos e aplicações mais modernas estão sendo desenvolvidos e aprimorados para a segmentação de sinais de fala e o cálculo de indicadores paramétricos de fragmentos selecionados, criando assim um espectrograma de sinais de fala usando análise espectral [4-7]. A identificação do locutor com clipes de voz diversificados em todo o mundo é uma tarefa crucial e desafiadora, especialmente na extração de características vigorosas e discriminativas [8]. Um novo sistema de extração de características Mel Frequency Cepstral Coeficientes (MFCC) que é mais rápido e mais eficiente energeticamente do que a realização tradicional do MFCC foi proposto por Korkmaz et al. [9]. Em vez de usar um filtro pré-enfatizador passa-alto, eles usaram um filtro passa-baixo. Eles implementaram um filtro passa-banda com um filtro passa-alto porque é necessário pré-enfatizar para aumentar a energia do sinal em altas frequências. Em nosso trabalho anterior [10], apresentamos um novo método baseado em MFCC para identificação de alto-falante. Em vez de usar MFCCs convencionais, empregamos pixels do espectrograma de Mel como nosso conjunto de recursos. O espectrograma foi transformado em uma matriz 2-D para criar um novo conjunto de dados. Para identificar o locutor, vários algoritmos de aprendizado foram colocados em prática com uma técnica de 10-validação cruzada de dobras. Com a ajuda de um perceptron multicamada (MLP) com uma função de ativação tanh, a melhor precisão de 90,2% foi alcançada.

A extração de recursos é realizada alterando a forma de onda da fala para uma forma de representação paramétrica em uma taxa de dados relativamente menor para processamento e análise subsequentes [11–14]. Abordagens de extração de características geralmente produzem um vetor de características multidimensional para cada sinal de fala. A extração de recursos é a parte mais relevante do reconhecimento de alto-falante. As características da fala têm um papel vital na segregação de um falante dos outros. A extração de características reduz a magnitude do sinal de fala, sem causar qualquer dano à potência do sinal de fala [15–17]. Em [18], os autores introduziram uma nova abordagem que explora o ajuste fino dos parâmetros de tamanho e deslocamento da janela de análise espectral usada para calcular a transformada de Fourier de curto prazo inicial para melhorar o desempenho de um reconhecimento automático de fala dependente do locutor (ASR). Na ausência de médicos, os leigos podem empregar sistemas de assistência à decisão que foram criados usando abordagens de inteligência artificial. A detecção precoce e não invasiva do estado cardíaco pode ser realizada usando sinais de fonocardiograma (PCG) [19-21].

As redes neurais convolucionais (CNNs) demonstraram simular com sucesso a localidade estrutural no espaço de recursos, bem como empregar agrupamento dentro de uma região de frequência tendenciosa para reduzir a variação translacional e ajustar distúrbios e pequenas mudanças no espaço de recursos [22]. Mukhamadiyev et ai. propuseram um modelo Markov oculto de rede neural profunda de ponta a ponta, modelo de reconhecimento de fala e uma rede de atenção de classificação temporal conexionista híbrida (CTC) para a língua uzbeque e seus dialetos. A abordagem proposta reduz o tempo de treinamento e melhora a precisão do reconhecimento de fala usando efetivamente a função objetiva CTC no treinamento do modelo de atenção [23]. A extração e classificação de características usando um modelo unidimensional de rede neural convolucional (CNN), que divide os sinais sonoros do coração em normais e anormais diretamente independente de um eletrocardiograma (ECG), foi proposta em [24]. Eles afirmam que a precisão da classificação é maior na CNN 1D do que na CNN 2D para os sinais de som cardíaco usados ​​neste estudo quando o kernel de convolução é menor que 52 porque um kernel de convolução grande pode levar à complexidade computacional e consome cada vez mais tempo . Em [25], uma rede neural profunda foi treinada para maximizar a precisão posterior das sequências de estado dos modelos acústicos referentes às sequências de recursos da fala usando o banco de dados TIMIT (TIMIT Acoustic-Fonetic Continuous Speech Corpus).

3. Pré-processamento: visão geral do material

cistanche—Improve memory4

Suplemento Cistanche perto de mim - Melhorando a Memória

Para tanto, são indispensáveis ​​o desenvolvimento de algoritmos rápidos para extração de parâmetros de características de sinais de fala e representações paramétricas, a extração de amostras úteis e informativas para processamento e o desenvolvimento de programas para implementação de espectrogramas de segmentos acústicos selecionados.

Os sistemas de reconhecimento de fala consistem em dois subsistemas principais:

O processamento primário de sinais de fala (fonograma);

A classificação de símbolos acústicos usando um algoritmo inteligente (espectrograma).

O primeiro subsistema gera símbolos acústicos como um conjunto de propriedades acústicas informativas dos sinais e características do sinal. O segundo subsistema converte o sinal de fala em uma forma paramétrica com base nas características acústicas obtidas. O processamento do sinal de fala consiste nas seguintes etapas:

Separação dos limites do sinal de fala;

Filtragem digital;

Segmentação;

Aplicação de uma janela de suavização;

Transformação espectral e normalização de frequências espectrais.

Essas etapas são usadas extensivamente para extrair parâmetros de recursos de sinais de fala, e seus principais recursos são considerados a seguir.

3.1. Separação de Fronteiras

A extração de apenas partes da fala do sinal de entrada ou a determinação dos momentos inicial e final de uma frase em um ambiente ruidoso é uma tarefa essencial no processamento da fala. As seguintes propriedades do sinal de fala são usadas para resolver este problema: a energia de curto prazo do sinal de fala, o número de pontos que se cruzam em zero, a densidade da distribuição dos valores do campo de silêncio dentro do sinal e a entropia espectral. Os sistemas tradicionais de reconhecimento de fala usam técnicas que são baseadas nas energias transitórias e espectrais de um sinal (por exemplo, detecção de atividade de voz) para determinar os limites de fala dos sinais de fala recebidos [26-28].

Os principais parâmetros do sinal de fala são a energia de curto prazo do sinal de fala e o número de pontos que passam pelo zero. Como regra, os parâmetros de um sinal de fala mudam rapidamente ao longo do tempo; portanto, é comum processar um sinal de fala em fragmentos de 10 a 30 ms de duração que não se sobreponham. O sinal de fala é estacionário dentro dessa faixa e as áreas de silêncio no sinal de fala são removidas pelo cálculo da energia transiente. O algoritmo para resolver este problema é dividido em N sequências de 256 valores de energia de curto prazo do próximo sinal de fala.

O cálculo da energia de cada fragmento pela divisão do sinal de fala é apropriado para computação paralela e distribuída. Cada fragmento é processado independentemente. Se o processamento for aplicado em um multiprocessador n-core, será possível calcular a energia de n fragmentos simultaneamente. Portanto, é possível aumentar a eficiência do processamento paralelo durante esta etapa [29-32].

3.2. Número de cruzamentos zero

Um cruzamento por zero é um ponto no qual o sinal de uma função matemática muda (por exemplo, de positivo para negativo), que é representado por uma interceptação do eixo (valor zero) no gráfico da função [33]. A frequência de cruzamento zero em um sinal pode ser o indicador mais direto de suas propriedades espectrais. Por exemplo, o número de pontos que passam pelo zero em um sinal de fala pode ser determinado usando a seguinte equação:

Figure 1. Method of speech separation based on spectral entropy analysis.


Figura 1. Método de separação de fala baseado em análise de entropia espectral.

3.3. Filtragem digital

Além de um sinal útil típico, vários tipos de ruído estão presentes. Como o ruído afeta negativamente a qualidade dos sistemas de reconhecimento de fala, lidar com o ruído é uma questão premente. Dois tipos de filtros digitais são usados ​​para reduzir os níveis de ruído no sistema: um filtro de linha e um filtro inicial. Um filtro linear pode ser considerado uma combinação de filtros de baixa e alta frequência, pois captura todas as frequências baixas e altas. A filtragem inicial é aplicada para minimizar o impacto de distúrbios locais nas marcações características que são usadas para identificação subsequente. Um sinal de fala deve passar por um filtro passa-baixa para alinhamento espectral [35].

3.4. Segmentação

A segmentação é o processo de dividir um sinal de fala em fragmentos discretos e não sobrepostos. O sinal geralmente é dividido em unidades de fala, como sentenças, palavras, sílabas, fonemas ou até mesmo unidades fonéticas menores. A segmentação de gravações que contêm enunciados de numerosos falantes pode consistir na atribuição de trechos de enunciados a falantes particulares. O termo "estações de segmento" às vezes é usado para se referir a uma divisão do sinal de fala em quadros antes de sua parametrização [36,37].

3.5. Transformação Espectral

É necessário distinguir as principais características dos sinais de fala que são usados ​​nas fases posteriores do processo de reconhecimento de fala. As características iniciais são determinadas pela análise das propriedades espectrais dos sinais de fala. O algoritmo da transformada rápida de Fourier é comumente usado para obter a frequência espectral de um sinal de fala [38,39].

3.6. Normalização de Frequências Espectrais

Todo o processo computacional em algoritmos inteligentes é baseado em números decimais em movimento. Portanto, os parâmetros dos objetos que são classificados usando redes neurais são limitados ao intervalo [{{0}}.0, 1.0]. O espectro resultante é normalizado entre 0 e 1 para aplicar o processamento espectral usando a rede neural. Para conseguir isso, cada componente do vetor é dividido em seus componentes máximos.

Os métodos de processamento espectral permitem o uso de todas as amostras de dados que são obtidas do sinal de fala. Muitos sinais de fala têm uma estrutura de frequência específica e propriedades espectrais. Os métodos espectrais fornecem processamento de alta precisão de sinais de fala. As desvantagens do processamento espectral incluem baixa flexibilidade nas características locais dos sinais, falta de dimensões espectrais e custos computacionais relativamente altos.

Transformação de Fourier, análise de wavelets e muitos outros algoritmos são usados ​​extensivamente no processamento espectral de sinais de fala. A transformação de Fourier é usada em muitos campos da ciência, incluindo processamento de fala. No processamento de sinal de fala, a transformação de Fourier converte o sinal do campo de tempo para o campo espectral como um componente de frequência [40].

Em estudos anteriores, a transformada discreta de Fourier (DFT), a transformada discreta de cosseno (DCT), a transformada de Fourier de curto prazo e a transformada wavelet foram aplicadas para análise espectral. Esses métodos foram usados ​​para transformar fragmentos de um sinal de fala no domínio da frequência e calcular o espectro. Os pacotes TBB e OpenMP foram usados ​​para criar algoritmos paralelos para transformações espectrais. Nesses métodos, o comando divide o sinal em quadros; por exemplo, N=16, 32, … ou 4096 para cada quadro [4]. O tamanho de cada quadro criado é igual ao tamanho do bloco da memória cache porque a memória cache é um fator que afeta a eficiência do processamento paralelo. Os resultados da aceleração são mostrados na Figura 2.

Figure 2. Acceleration results for (a) four- and (b) eight-core processors.


Figura 2. Resultados de aceleração para (a) processadores de quatro e (b) oito núcleos.

Para a implementação de software dos algoritmos de processamento paralelo, o processamento serial e paralelo foram realizados em processadores de quatro e oito núcleos, que foram aplicados usando computadores pessoais e servidores, conforme listado na Tabela 1.

Tabela 1. Características dos processadores Intel.

Table 1. Characteristics of Intel processors.

A principal característica do algoritmo DCT é a periodicidade. Uma vantagem da DCT é que ela tende a concentrar a maior parte da energia do sinal em um pequeno número de fatores. As seguintes equações fornecem os elementos da matriz de coeficientes:

imageimage


onde L(k) é o valor do DCT, k é um índice de coeficientes, x(n) representa itens de dados e N é o tamanho do quadro.

Os parâmetros da análise de Fourier são a base dos métodos usados ​​para gerar vetores de características na maioria dos sistemas de reconhecimento de fala no processamento digital de sinais de fala dentro do domínio espectral. Coeficientes cepstrais de frequência Mel (MFCCs) [41] e técnicas de codificação preditiva linear (LPC) [42,43] são usadas na análise de Fourier para gerar imagens de espectrogramas a partir de sinais de fala. Os espectros obtidos pela análise de Fourier fornecem informações concisas e precisas sobre um sinal de fala, conforme ilustrado na Figura 3.

Figure 3. DFT: (a) change in frequency range within time domain and (b) spectrogram.


Figura 3. DFT: (a) mudança na faixa de frequência dentro do domínio do tempo e (b) espectrograma.

Sinais bidimensionais (2D) foram usados ​​para análise espectral nos experimentos. As características de análise espectral 2D que são usadas em algoritmos de processamento paralelo de imagem são adequadas para processamento paralelo em processadores multicore [38]. Em particular, vetores e matrizes de transformação direta e inversa têm dimensões binárias, e a compatibilidade dessa arquitetura de processador multicore pode efetivamente aumentar a velocidade computacional. Portanto, aplicamos processamento sequencial e paralelo em um computador com diferentes características de processador para a implementação em hardware dos algoritmos que foram usados ​​para processar sinais 2D (Tabela 2)

Tabela 2. Características de aplicação de processadores Intel.

Table 2. Characteristics of applying Intel processors.


Todo o sinal 2D foi dividido em fragmentos idênticos de tamanhos diferentes em cada estágio [44]. Os valores dos fragmentos selecionados estavam entre as resoluções de pixel de 16 × 16 e 1024 × 1024. A velocidade do algoritmo DCT paralelo usando o pacote OpenMP comparada com a do algoritmo sequencial é apresentada na Figura 4 O uso de uma análise espectral 2D paralela O algoritmo em processadores multicore produz um resultado de overclock próximo ao número de núcleos.

Figure 4. Acceleration results for 2D parallel spectral analysis.

Figura 4. Resultados de aceleração para análise espectral paralela 2D.

Você pode gostar também