BR112019004524B1 - Sistema de redes neurais, um ou mais meios de armazenamento legíveis por computador não transitório e método para gerar autorregressivamente uma sequência de saída de dados de áudio - Google Patents

Sistema de redes neurais, um ou mais meios de armazenamento legíveis por computador não transitório e método para gerar autorregressivamente uma sequência de saída de dados de áudio Download PDF

Info

Publication number
BR112019004524B1
BR112019004524B1 BR112019004524-4A BR112019004524A BR112019004524B1 BR 112019004524 B1 BR112019004524 B1 BR 112019004524B1 BR 112019004524 A BR112019004524 A BR 112019004524A BR 112019004524 B1 BR112019004524 B1 BR 112019004524B1
Authority
BR
Brazil
Prior art keywords
neural network
audio
time
convolutional
output
Prior art date
Application number
BR112019004524-4A
Other languages
English (en)
Other versions
BR112019004524A2 (pt
Inventor
Aaron Gerard Antonius Van Den Oord
Sander Etienne Lea Dieleman
Nal Emmerich Kalchbrenner
Karen Simonyan
Oriol Vinyals
Original Assignee
Deepmind Technologies Limited
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 Deepmind Technologies Limited filed Critical Deepmind Technologies Limited
Publication of BR112019004524A2 publication Critical patent/BR112019004524A2/pt
Publication of BR112019004524B1 publication Critical patent/BR112019004524B1/pt

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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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
    • 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/048Activation functions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/06Elementary speech units used in speech synthesisers; Concatenation rules
    • 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

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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)

Abstract

métodos, sistemas e aparelhos, incluindo programas de computador codificados em meios de armazenamento de computador, para gerar uma sequência de saída de dados de áudio que compreende uma amostra de áudio respectiva em cada uma de uma pluralidade de etapas de tempo. um dos métodos inclui, para cada uma das etapas de tempo: fornecer uma sequência atual de dados de áudio como entrada para uma sub a rede convolucional, em que a sequência atual compreende a respectiva amostra de áudio em cada etapa de tempo que precede o intervalo de tempo na sequência de saída, e em que a sub a rede convolucional é configurada para processar a sequência atual de dados de áudio para gerar uma representação alternativa para o intervalo de tempo; e proporcionar a representação alternativa para o passo de tempo como entrada para uma camada de saída, em que a camada de saída é configurada para: processar a representação alternativa para gerar uma saída que define uma distribuição de pontuações ao longo de uma pluralidade de amostras de áudio possíveis para o intervalo de tempo.

Description

FUNDAMENTOS
[001] Esta especificação refere-se a processamento e geração de áudio usando redes neurais.
[002] Redes neurais são modelos de aprendizagem de máquina que utilizam uma ou mais camadas de unidades não lineares para prever uma saída para uma entrada recebida. Algumas redes neurais incluem uma ou mais camadas ocultas além de uma camada de saída. A saída de cada camada oculta é usada como entrada para a camada seguinte na rede, isto é, a camada oculta seguinte ou a camada de saída. Cada camada da rede gera uma saída a partir de uma entrada recebida de acordo com valores atuais de um respectivo conjunto de parâmetros. CA2,810,457a descreve um sistema para reconhecimento de fala que usa um Modelo Oculto de Markov (HMM) aplicado para a saída de uma rede neural convolucional (CNN). Para quadro de domínio de tempo de um sinal acústico, bandas de frequências do quadro são analisadas pela CNN para determinar a probabilidade que o quadro pertence a um estado HMM.
SUMÁRIO
[003] Esta especificação descreve como um sistema implementado como programas de computador em um ou mais computadores em uma ou mais localizações pode gerar uma sequência de dados de áudio que inclui uma respectiva amostra de áudio em cada um de múltiplos intervalos de tempo. Por exemplo, a sequência de dados de áudio pode representar fala em uma linguagem natural específica ou uma peça de música.
[004] Em um aspecto inovador, um sistema de redes neurais implementado por um ou mais computadores é configurado para gerar uma sequência de saída de dados de áudio que compreende uma respectiva amostra de áudio em cada um de uma pluralidade de intervalos de tempo. O sistema de redes neurais pode compreender uma sub-rede convolucional que compreende uma ou mais camadas de redes neurais convolucionais de processamento de áudio; e uma camada de saída. A sub-rede convolucional pode ser configurada para, para cada um da pluralidade de intervalos de tempo: receber uma sequência corrente de dados de áudio que compreende a respectiva amostra de áudio em cada intervalo de tempo que precede o intervalo de tempo (corrente) na sequência de saída. A sub- rede convolucional pode ainda ser configurada para processar a sequência corrente de dados de áudio para gerar uma representação alternativa para o intervalo de tempo (corrente). Esta representação alternativa pode, portanto, compreender uma representação numérica, isto é, uma coleção ordenada de valores numéricos, na qual a sequência corrente de dados de áudio foi codificada pela sub-rede convolucional, por exemplo, codificando recursos da sequência corrente. A camada de saída pode ser configurada para, para cada um da pluralidade de intervalos de tempo: receber a representação alternativa para o intervalo de tempo, e processar a representação alternativa para o intervalo de tempo para gerar uma saída que defina uma distribuição de pontuação por uma pluralidade de possíveis amostras de áudio para o intervalo de tempo.
[005] Algumas das muitas vantagens de um tal sistema são descritas adiante. O sistema pode usar a distribuição de pontuação para selecionar uma amostra para o intervalo de tempo corrente, por amostragem a partir da distribuição. A saída pode, mas não necessita necessariamente, compreender uma pontuação para cada possível valor de amostra de áudio, por exemplo 256 pontuações para 256 possíveis valores. Pode, portanto, ser útil comprimir ou comprimir e expandir os valores de amostras de áudio, os quais podem ser valores de amplitude, para reduzir o número de saídas de modelo.
[006] Em algumas implementações as camadas de redes neurais convolucionais são camadas de redes neurais convolucionais causais, como descrito em maior detalhe adiante. Em particular, as camadas de redes neurais convolucionais de processamento de áudio podem incluir uma ou mais camadas de redes neurais convolucionais causais dilatadas. Novamente como descrito em maior detalhe adiante, uma camada de rede neural convolucional dilatada aplica uma convolução a valores não adjacentes em uma sequência, isto é, como definido pelas saídas de uma camada anterior. Isto pode aumentar o campo receptivo da sub-rede convolucional por ordens de grandeza enquanto preservando a resolução de entrada (tempo) e mantendo a eficiência computacional.
[007] Em algumas implementações, as camadas de redes neurais convolucionais incluem múltiplos blocos empilhados de camadas de redes neurais convolucionais dilatadas. Cada bloco pode compreender múltiplas camadas de redes neurais convolucionais dilatadas com dilatação crescente. Por exemplo, a dilatação pode ser aumentada por um fator n para cada camada sucessiva até um limite dentro de cada bloco. Isto pode aumentar ainda mais o tamanho do campo receptivo.
[008] Em algumas implementações, uma ou mais camadas de redes neurais convolucionais podem ter unidades de ativação de desbloqueio. Por exemplo, uma unidade linear retificada ou outra a seguir a uma convolução implementada por uma camada pode ser substituída por uma unidade de ativação de desbloqueio. Em uma unidade de ativação de desbloqueio, a saída pode ser uma combinação de duas convoluções (causais), uma convolução principal e uma convolução de desbloqueio. Cada uma das convoluções pode ser aplicada a algumas das ou a todas as mesmas saídas da camada anterior. A combinação pode envolver uma função de ativação não linear aplicada à convolução de desbloqueio, por exemplo, uma ativação com uma faixa (0, 1) tal como um sigmoide. Isto pode então multiplicar um valor da convolução principal; uma função de ativação não linear pode, mas não necessita, ser aplicada à convolução principal. Tal técnica pode auxiliar na captura de estruturas mais complexas dentro dos dados.
[009] A representação alternativa da sub-rede convolucional em cada intervalo de tempo pode estar condicionada a uma entrada de rede neural, por exemplo uma representação latente de uma entrada condicionada. A entrada condicionada pode ser global (substancialmente independente de tempo) e/ou local (dependente de tempo). A entrada condicionada pode compreender, por exemplo, texto, dados de imagem ou vídeo, ou dados de áudio, por exemplo, um exemplo de um orador ou linguagem ou música específicos. A entrada de rede neural pode compreender uma incorporação da entrada condicionada. Por exemplo, em um sistema de texto-para-fala, uma entrada condicionada global pode compreender uma incorporação de orador, e uma entrada condicionada local pode compreender recursos linguísticos. O sistema pode ser configurado para mapear a entrada de rede neural, ou uma entrada condicionada, a partir de uma menor frequência de amostragem para a frequência de geração de amostra de áudio, por exemplo, pela repetição da entrada ou aumento da taxa de amostragem da entrada usando uma rede neural. Portanto, a entrada de rede neural pode compreender recursos de um segmento de texto e a sequência de saída pode representar uma verbalização do segmento de texto; e/ou a entrada de rede neural pode compreender orador ou valores de padrão de entonação; e/ou a entrada de rede neural pode incluir um ou mais de: informação de identidade de orador, informação de identidade de linguagem e informação de estilo de fala. Alternativamente, a sequência de saída representa uma peça de música.
[0010] A sub-rede convolucional pode compreender conexões residuais, por exemplo, uma conexão de uma entrada de uma camada convolucional a um somador para somar isto com uma saída intermediária da camada. Isto efetivamente permite que a rede seja treinada para pular ou pular parcialmente uma camada, deste modo acelerando a convergência e facilitando o treinamento de modelos mais profundos. A sub-rede convolucional pode adicionalmente ou alternativamente compreender conexões de pulo, por exemplo, diretamente de cada uma de uma ou mais camadas intermediárias da sub-rede convolucional para uma ou mais operações que geram diretamente a representação alternativa que é fornecida à camada de saída.
[0011] Em algumas implementações, o processamento da sequência corrente de dados de áudio usando a sub-rede convolucional, para gerar uma representação alternativa para o intervalo de tempo, reutiliza valores computados de intervalos de tempo anteriores. Os valores reutilizados podem compreender valores obtidos de aplicação de um filtro convolucional aos dados de amostra de áudio ou dados obtidos a partir destes. Os valores reutilizados podem ser armazenados em um intervalo de tempo e recuperados em um intervalo de tempo posterior quando o mesmo filtro é aplicado aos mesmos (ou alguns dos mesmos) dados de amostra de áudio ou dados obtidos a partir destes. Isto pode tornar o sistema computacionalmente mais eficiente e, portanto, mais rápido, uma vez que não há necessidade de recalcular os valores armazenados.
[0012] Modalidades específicas do assunto descrito neste relatório descritivo podem ser implementadas de modo a concretizar uma ou mais das seguintes vantagens. O sistema de redes neurais pode gerar na ordem de dezenas de milhares de amostras de áudio por segundo, fornecendo um maior nível de granularidade que outros sistemas de geração de áudio baseados em redes neurais. O sistema de redes neurais pode obter resultados que significativamente superam o estado da técnica em tarefas de geração de áudio, por exemplo, pela geração da fala a partir de texto que é de melhor qualidade que as técnicas do estado da técnica. Um único sistema de redes neurais treinadas pode ser usado para gerar diferentes vozes pelo condicionamento sobre a identidade do orador. Ao usar camadas de redes neurais convolucionais, por exemplo, camadas convolucionais causais, ao invés de camadas de redes neurais recorrentes, por exemplo, ao invés de camadas de memória longa de curto prazo (LSTM), o sistema de redes neurais pode obter estes resultados vantajosos enquanto não necessitando de tantos recursos computacionais para treino quanto outros sistemas que incluem camadas de redes neurais recorrentes, resultando em um tempo de treinamento reduzido. Ao utilizar camadas convolucionais ao invés de camadas recorrentes, a computação do sistema de redes neurais pode ser mais facilmente loteada e mais facilmente paralelizada, por exemplo, porque as camadas da rede não têm que ser desenroladas para cada intervalo de tempo, permitindo que a computação do sistema seja executada mais eficientemente. Adicionalmente, ao utilizar camadas convolucionais causais dilatadas, o campo receptivo da sub-rede convolucional e, portanto, a qualidade do áudio gerado pelo sistema, pode ser melhorado sem aumentar enormemente o custo computacional de geração de áudio.
[0013] Os detalhes de uma ou mais modalidades do assunto descrito neste relatório descritivo são apresentados nos desenhos anexos e na descrição abaixo. Outros recursos, aspectos e vantagens do assunto tornar-se-ão evidentes a partir da descrição, dos desenhos e das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0014] A FIGURA 1 mostra um sistema de redes neurais exemplificativo.
[0015] A FIGURA 2 mostra uma visualização de um bloco exemplificativo de camadas convolucionais causais dilatadas.
[0016] A FIGURA 3 mostra uma arquitetura exemplificativa para a sub-rede convolucional.
[0017] A FIGURA 4 é um fluxograma de um processo exemplificativo para gerar uma amostra de áudio em um determinado intervalo de tempo em uma sequência de áudio.
[0018] Números de referência e designações similares nos diversos desenhos indicam elementos similares.
DESCRIÇÃO DETALHADA
[0019] A FIGURA 1 mostra um sistema de redes neurais exemplificativo 100. O sistema de redes neurais 100 é um exemplo de um sistema implementado como programas de computador em um ou mais computadores em uma ou mais localizações, nos quais os sistemas, componentes e técnicas descritas abaixo podem ser implementados.
[0020] O sistema de redes neurais 100 gera sequências de dados de áudio onde cada uma inclui uma respectiva amostra de áudio em cada um dos múltiplos intervalos de tempo, por exemplo, uma sequência de saídas de dados de áudio 152.
[0021] Geralmente, cada intervalo de tempo em uma determinada sequência de áudio corresponde a um tempo respectivo em uma forma de onda de áudio e a amostra de áudio no intervalo de tempo caracteriza a forma de onda no tempo correspondente. Em algumas implementações, a amostra de áudio em cada intervalo de tempo na sequência é a amplitude da forma de onda de áudio no tempo correspondente, isto é, a sequência gerada pelo sistema de redes neurais 100 é uma forma de onda crua de áudio. Em algumas outras implementações, a amostra de áudio em cada intervalo de tempo na sequência é uma representação comprimida ou comprimida e expandida da forma de onda no tempo correspondente. Por exemplo, a amostra de áudio pode ser uma representação transformada pela lei-μ da forma de onda.
[0022] Mais especificamente, o sistema de redes neurais 100 gera sequências de áudio autorregressivamente. Isto é, para cada intervalo específico de tempo em uma sequência de áudio de saída, o sistema de redes neurais 100 gera a amostra de áudio no intervalo de tempo condicionada nas amostras de áudio que já tinham sido geradas como do intervalo de tempo específico, isto é, nas amostras de áudio em intervalos de tempo que são anteriores ao intervalo específico de tempo na sequência de áudio.
[0023] O sistema de redes neurais 100 inclui uma sub-rede convolucional 110 e uma camada de saída 120.
[0024] Em cada intervalo de tempo durante a geração de uma sequência de áudio, a sub-rede convolucional 110 é configurada para receber a sequência de áudio corrente, isto é, a sequência de áudio que já tinha sido gerada a partir do intervalo de tempo, e processar a sequência de áudio corrente para gerar uma representação alternativa para o intervalo de tempo. Por exemplo, quando gerando uma amostra de áudio 140 na sequência de áudio 152, a sub-rede convolucional 110 pode receber uma sequência de áudio corrente 142 que inclui as amostras de áudio que precedem a amostra de áudio 140 na sequência de áudio 152 e processar a sequência de áudio corrente 142 para gerar uma representação alternativa 144.
[0025] A camada de saída 120 é configurada para, em cada um dos intervalos de tempo, receber a representação alternativa no intervalo de tempo e gerar uma distribuição de pontuação sobre possíveis amostras de áudio para o intervalo de tempo. A distribuição de pontuação inclui uma pontuação respectiva para cada uma das múltiplas possíveis amostras de áudio. Em algumas implementações, a camada de saída 120 é uma camada de saída softmax. Por exemplo, a camada de saída 120 pode receber a representação alternativa 144 e processar a representação alternativa 144 para gerar uma distribuição de pontuação 146.
[0026] Em particular, quando o sistema de redes neurais 100 é configurado para gerar dados de áudio crus, a distribuição de pontuação inclui uma pontuação respectiva para cada um dos múltiplos possíveis valores de amplitude. Quando o sistema de redes neurais 100 é configurado para gerar valores comprimidos ou comprimidos e expandidos, a distribuição de pontuação inclui uma pontuação respectiva para cada um dos múltiplos possíveis valores comprimidos ou comprimidos e expandidos.
[0027] Logo que a camada de saída 146 tenha gerado a distribuição de pontuação para um determinado intervalo de tempo, o sistema de redes neurais 100 pode coletar uma amostra de áudio para ser incluída na sequência de saída no determinado intervalo de tempo a partir das múltiplas possíveis amostras de áudio de acordo com a distribuição de pontuação para o determinado intervalo de tempo. Por exemplo, o sistema de redes neurais 100 pode selecionar uma amostra de áudio por amostragem a partir da distribuição de pontuação, isto é, amostragem a partir das possíveis amostras de áudio de acordo com as pontuações na distribuição de pontuação de modo que cada amostra de áudio seja selecionada com uma probabilidade que corresponda à pontuação para a amostra de áudio, ou possa selecionar a possível amostra de áudio com a maior pontuação de acordo com a distribuição de pontuação.
[0028] A sub-rede convolucional 110 geralmente inclui múltiplas camadas de redes neurais convolucionais de processamento de áudio. Mais especificamente, as camadas de redes neurais convolucionais de processamento de áudio incluem múltiplas camadas convolucionais causais.
[0029] Uma camada convolucional causal é uma camada convolucional que opera em uma sequência de entrada que tem uma respectiva entrada em cada um dos múltiplos intervalos de tempo ao, para cada intervalo de tempo, gerar uma saída que depende apenas das entradas no intervalo de tempo e nos intervalos de tempo anteriores ao intervalo de tempo na sequência de entrada, isto é, e não em quaisquer entradas em quaisquer intervalos de tempo após o intervalo de tempo na sequência de entrada. Em alguns casos, as camadas convolucionais causais são implementadas pela aplicação de uma convolução normal e em seguida deslocamento de cada saída da convolução normal por uns poucos intervalos de tempo, isto é, deslocamento de cada saída para diante por (comprimento do filtro - 1) intervalos de tempo, antes da aplicação da função de ativação para a camada convolucional, onde “comprimento do filtro” é o comprimento do filtro da convolução que está sendo aplicada.
[0030] Para aumentar o campo receptivo das camadas convolucionais de processamento de áudio sem a necessidade de um número excessivo de camadas ou filtros de comprimento excessivo, algumas ou todas as camadas convolucionais de processamento de áudio podem ser camadas convolucionais causais dilatadas. Uma convolução dilatada é uma convolução onde o filtro é aplicado sobre uma área maior que o seu comprimento pelo pulo de valores de entrada com uma determinada etapa que é definida pelo valor de dilatação para a convolução dilatada. Ao incorporar convoluções causais dilatadas, as camadas de redes neurais de processamento de áudio operam efetivamente nas suas entradas com uma escala mais grosseira que com uma convolução normal.
[0031] Em algumas implementações, as camadas de redes neurais de processamento de áudio incluem uma pilha de múltiplos blocos de camadas convolucionais causais dilatadas. Cada bloco na pilha pode incluir múltiplas camadas convolucionais dilatadas de redes neurais com dilatação crescente. Por exemplo, dentro de um bloco, a dilatação pode dobrar para cada camada começando de uma dilatação inicial, e em seguida retorna à dilatação inicial para a primeira camada no bloco seguinte. Como um exemplo ilustrativo, as dilatações das camadas convolucionais dilatadas em um bloco podem ser, em ordem: 1, 2, 4, ..., 512. Um exemplo simplificado de um bloco de camadas convolucionais causais dilatadas é descrito abaixo com referência à FIGURA 2.
[0032] Em algumas implementações, a sub-rede convolucional inclui conexões residuais, conexões de pulos, ou ambas. Uma arquitetura exemplificativa da sub-rede convolucional que inclui ambas as conexões residuais e conexões de pulos é descrita abaixo com referência à FIGURA 3.
[0033] Em algumas implementações, o sistema de redes neurais 100 gera sequências de áudio condicionadas em uma entrada de rede neural. Por exemplo, o sistema de redes neurais 100 pode gerar a sequência de áudio 152 condicionada na entrada de rede neural 102.
[0034] Em alguns casos, a entrada de rede neural inclui um ou mais recursos locais, isto é, um ou mais recursos que são diferentes para diferentes intervalos de tempo na sequência de saída. Por exemplo, o sistema de redes neurais 100 pode obter como entrada recursos linguísticos de um segmento de texto e pode gerar uma sequência de áudio que representa uma verbalização do segmento de texto, isto é, o sistema de redes neurais 100 pode funcionar como parte de um sistema de texto-para-fala que converte texto escrito em discurso falado e também inclui um componente que verbaliza a sequência de áudio gerada pelo sistema de redes neurais 100.
[0035] Em alguns outros casos, a entrada de rede neural inclui um ou mais recursos globais, isto é, um ou mais recursos que são os mesmos por toda a sequência de saída. Como um exemplo, o sistema de redes neurais 100 pode gerar fala condicionada a uma identidade do orador, isto é, de modo que a fala seja gerada para soar como a voz do orador. Neste exemplo, o sistema de redes neurais 100 pode obter um vetor que codifica a identidade do orador, por exemplo, um vetor codificado quente que identifica o orador, e condicionar a fala gerada no vetor obtido.
[0036] Geralmente, as sequências de áudio são condicionadas na entrada de rede neural pelo condicionamento da função de ativação de algumas ou todas as camadas convolucionais na sub-rede convolucional. Isto é, a saída da função de ativação e, consequentemente, a saída da camada convolucional depende não apenas da saída da convolução executada pela camada, mas também da entrada de rede neural.
[0037] O condicionamento de uma função de ativação de uma camada convolucional na entrada de rede neural será descrito em maior detalhe abaixo com referência à FIGURA 3.
[0038] A FIGURA 2 mostra uma visualização 200 de um bloco exemplificativo de camadas convolucionais causais dilatadas. Em particular, o bloco exemplificativo inclui uma camada convolucional causal dilatada 204 com dilatação um, uma camada convolucional causal dilatada 206 com dilatação dois, uma camada convolucional causal dilatada 208 com dilatação quatro e uma camada convolucional causal dilatada 210 com dilatação oito.
[0039] Na visualização 200, o bloco de camadas convolucionais causais dilatadas está operando em uma sequência de entrada corrente 202 para gerar uma sequência de saída. Em particular, a visualização 200 visualiza, usando setas em negrito, como o bloco gera a saída 212 que é a saída no intervalo de tempo que é correntemente o último intervalo de tempo na sequência de entrada corrente 202 e a sequência de saída.
[0040] Como pode ser visto a partir da visualização 200, uma vez que cada camada no bloco é uma camada convolucional causal, a saída 212 depende apenas das saídas que estão no último intervalo de tempo corrente ou intervalos de tempo anteriores ao último intervalo de tempo corrente nas diversas sequências operadas pelas camadas no bloco.
[0041] Adicionalmente, como pode ser visto a partir da visualização 200, as camadas no bloco estão dispostas em ordem de dilatação crescente, com a primeira camada no bloco, isto é, camada convolucional causal dilatada 204, tendo dilatação um e a última camada no bloco, isto é, camada convolucional causal dilatada 204, tendo dilatação oito. Em particular, como é mostrado pelas setas em negrito na visualização 200, uma vez que a camada convolucional causal dilatada 204 tem dilatação um, o filtro da camada 204 é aplicado a entradas adjacentes na sequência de entrada corrente 202. Uma vez que a camada convolucional causal dilatada 206 tem dilatação dois, o filtro da camada 206 é aplicado a saídas que estão separadas por uma saída na sequência de saída gerada pela camada 204. Uma vez que a camada convolucional causal dilatada 208 tem dilatação quatro, o filtro da camada 208 é aplicado a saídas que estão separadas por três saídas na sequência de saída gerada pela camada 206. Uma vez que a camada convolucional causal dilatada 210 tem dilatação oito, o filtro da camada 210 é aplicado a saídas que estão separadas por sete saídas na sequência de saída gerada pela camada 208.
[0042] A FIGURA 3 mostra uma arquitetura exemplificativa 300 para a sub-rede convolucional 110 da FIGURA 1. Como descrito acima, na arquitetura exemplificativa 300, as camadas convolucionais causais dilatadas que estão na sub- rede convolucional têm conexões residuais e conexões de pulos.
[0043] Em particular, na arquitetura 300, a sub-rede convolucional 110 inclui uma camada convolucional causal 302 que processa a sequência de saída corrente 142, isto é, pela aplicação de uma convolução causal à sequência de saída corrente 142.
[0044] A sub-rede convolucional 110 processa em seguida a saída da camada convolucional causal 302 através de uma pilha de camadas convolucionais causais dilatadas.
[0045] Cada camada convolucional causal dilatada 304 na pilha aplica uma convolução causal dilatada 308 à entrada 306 para a camada convolucional causal dilatada 304. Como descrito acima, em algumas implementações, as camadas convolucionais causais dilatadas na pilha estão dispostas em blocos, com a dilatação das convoluções causais dilatadas aplicada por cada camada crescendo dentro de um determinado bloco e em seguida reiniciando no valor inicial para a primeira camada no bloco seguinte.
[0046] Em algumas implementações, as camadas convolucionais causais dilatadas na pilha têm uma função de ativação de desbloqueio na qual a saída de uma não linearidade elementar, isto é, de uma função de ativação convencional, é multiplicada por elementos por um vetor de desbloqueio. Em algumas destas implementações, a convolução causal dilatada 308 inclui duas convoluções causais dilatadas sobre a entrada de camada 302 - uma primeira convolução causal dilatada entre um filtro principal para a camada 304 e a entrada de camada 306 e outra convolução causal dilatada entre um filtro de desbloqueio para a camada 304 e a entrada de camada 306. Em outras destas implementações, a convolução causal dilatada 308 é uma única convolução causal dilatada e metade da saída da única convolução é fornecida como a saída da convolução causal dilatada entre o filtro principal para a camada 304 e a entrada de camada 306 e a outra metade da saída da única convolução é fornecida como a saída da convolução causal dilatada entre o filtro de desbloqueio para a camada 304 e a entrada de camada 306.
[0047] A camada convolucional causal dilatada 304 determina em seguida a saída da função de ativação da camada 304 usando as saídas da convolução causal dilatada.
[0048] Em particular, quando a função de ativação é uma função de ativação de desbloqueio e a sequência de saída sendo gerada não é condicionada em uma entrada de rede neural, a camada 304 aplica uma função não linear elementar 310 que, no exemplo da FIGURA 3, é a função tanh, à saída da convolução dilatada com o filtro principal e aplica uma função de desbloqueio elementar que, no exemplo da FIGURA 3, é a função sigmoide, à saída da convolução dilatada com o filtro de desbloqueio. A camada 304 executa em seguida uma multiplicação de elementos 314 entre a saída da função não linear 310 e a saída da função de desbloqueio 312 para gerar a saída da função de ativação.
[0049] Mais especificamente, quando a não linearidade elementar for tanh e a função de desbloqueio elementar for a função sigmoide, a saída da função de ativação z para uma camada k satisfaz: z = tanh(Wf,k * x)ʘ σ(Wg,k * x), onde Wf,k é o filtro principal para a camada k, x é a entrada da camada, * representa uma convolução causal dilatada, 0 representa multiplicação de elementos e Wg,k é o filtro de desbloqueio para a camada k.
[0050] Quando a sequência de saída sendo gerada é condicionada em uma entrada de rede neural, a camada 304 também condiciona a saída da função de ativação na entrada de rede neural. Em particular, a função não linear e a função de desbloqueio consideram cada uma como entrada uma combinação das correspondentes saída de convolução dilatada e uma entrada gerada a partir da entrada de rede neural.
[0051] Mais especificamente, quando a entrada de rede neural inclui recursos globais e é, portanto, a mesma para todos os intervalos de tempo na sequência, a não linearidade elementar é tanh e a função de desbloqueio elementar é a função sigmoide, a saída da função de ativação z para a camada k satisfaz: z = tanh( Wf,k * x + VTf,kh) ʘ σ( Wg,k * x + VTg,kh), onde VTf,k é uma projeção linear aprendida principal (de h ao componente principal da função de ativação) para a camada k, h é a entrada de rede neural, e VTf,k é uma projeção linear aprendida de desbloqueio (de h ao componente de desbloqueio da função de ativação) para a camada k.
[0052] Alternativamente, quando a entrada de rede neural inclui recursos locais, isto é, recursos que mudam de intervalo de tempo para intervalo de tempo, o sistema 100 obtém uma sequência y que inclui um conjunto de recursos para cada intervalo de tempo na sequência de saída. A saída da função de ativação z para a camada k então satisfaz: z = tanh( Wf,k * x + Vf,k * y) ʘ σ ( Wg,k * x + Vg,k * y), onde Vf,k * y e Vg,k * y são convoluções 1 x 1. Em algumas implementações, o sistema 100 recebe diretamente a sequência y como a entrada de rede neural, isto é, recebe diretamente uma sequência que tem a mesma resolução que a sequência de saída. Em outras implementações, o sistema 100 recebe uma sequência que tem uma menor resolução, isto é, com uma menor frequência de amostragem, que a sequência de saída. Nestes casos, o sistema pode gerar a sequência y pelo processamento da sequência de menor resolução usando uma rede convolucional transposta (aumento da taxa de amostragem aprendida) para gerar a sequência y ou pode repetir valores da sequência de menor resolução ao longo do tempo para gerar a sequência y.
[0053] Como um exemplo, quando os recursos locais são recursos linguísticos para uso na geração de texto-para- fala, os recursos linguísticos podem incluir alguns ou todos os recursos de fonema, sílaba, palavra, frase e dicção do texto. Conjuntos de exemplos de recursos linguísticos que podem ser usados são descritos em Zen, Heiga. Um exemplo de formato de etiqueta dependente de contexto em Inglês para síntese de fala baseada em HMM (An example of context-dependent label format for HMM-based speech synthesis in English), 2006, URL http://hts.sp.nitech.ac.jp/?Download e Zen, Heiga, Senior, Andrew, e Schuster, Mike. Síntese de fala paramétrica estatística usando redes neurais profundas (Statistical parametric speech synthesis using deep neural networks). Em Proc. ICASSP, pp. 7.962-7.966, 2013.
[0054] Uma vez que a arquitetura 300 inclui conexões de pulos e conexões residuais para as camadas convolucionais causais dilatadas, a camada 304 executa então uma convolução 1 x 1 316 na saída de função de ativação.
[0055] A camada 304 fornece a saída da convolução 1 x 1 como a saída de pulo 318 da camada e adiciona o residual, isto é, a entrada de camada 306, e a saída da convolução 1 x 1 para gerar a saída final 320 da camada 304. A sub-rede convolucional 110 então fornece a saída final 320 como a entrada de camada à camada convolucional dilatada seguinte na pilha.
[0056] Em algumas implementações, a camada 304 executa duas convoluções 1 x 1 na saída de função de ativação, uma com um filtro de resíduos e a outra com um filtro de pulos. Nestas implementações, a camada 304 fornece a saída da convolução com o filtro de pulos como a saída de pulo 318 da camada e adiciona o resíduo e a saída da convolução 1 x 1 com o filtro de resíduos para gerar a saída final 320 da camada 304.
[0057] A sub-rede convolucional 110 fornece em seguida a saída final 320 como a entrada de camada à camada convolucional dilatada seguinte na pilha. Para a última camada na pilha, uma vez que não existe camada seguinte, a sub-rede convolucional 110 pode ou descartar a saída final 320 gerada pela última camada ou pode evitar computar a saída final, isto é, pode evitar executar a convolução 1 x 1 e a soma de resíduo para a última camada na pilha.
[0058] Logo que o processamento de todas as camadas 304 na pilha de camadas convolucionais dilatadas tiver terminado, a sub-rede convolucional 110 soma 322 as saídas de pulos geradas pelas camadas 304. A sub-rede convolucional 110 pode então aplicar uma ou mais funções não lineares, uma ou mais convoluções 1 x 1, ou ambas à soma 322 para gerar a representação alternativa 144. Em particular, no exemplo da FIGURA 3, a sub-rede convolucional 110 aplica uma não linearidade elementar 324, por exemplo, uma ReLU, seguida por uma convolução 1 x 1 326, seguida por outra não linearidade elementar 328 e seguida por uma convolução 1 x 1 final 330, para gerar a representação alternativa 144.
[0059] Como descrito acima, a camada de saída 120 processa em seguida a representação alternativa 144 para gerar a distribuição de pontuação 146.
[0060] A FIGURA 4 é um fluxograma de um processo exemplificativo 400 para gerar uma amostra de áudio em um determinado intervalo de tempo em uma sequência de áudio. Por conveniência, o processo 400 será descrito como sendo executado por um sistema de um ou mais computadores localizados em uma ou mais localizações. Por exemplo, um sistema de redes neurais, por exemplo, o sistema de redes neurais 100 da FIGURA 1, adequadamente programado, pode executar o processo 400.
[0061] O sistema fornece uma sequência de áudio corrente como entrada para a sub-rede convolucional (etapa 402). A sequência de áudio corrente é a sequência de áudio que já tinha sido gerada como do determinado intervalo de tempo, isto é, uma sequência que inclui as amostras de áudio de saída nos intervalos de tempo anteriores ao determinado intervalo de tempo. Como descrito acima, a sub-rede convolucional inclui camadas de redes neurais convolucionais de processamento de áudio, por exemplo, camadas convolucionais causais dilatadas, e é configurada para processar a sequência corrente de dados de áudio para gerar uma representação alternativa para o determinado intervalo de tempo.
[0062] O sistema fornece a representação alternativa como entrada para uma camada de entrada, por exemplo, uma camada de entrada softmax (etapa 404). A camada de saída é configurada para processar a representação alternativa para gerar uma distribuição de pontuação sobre possíveis amostras de áudio para o intervalo de tempo.
[0063] O sistema seleciona uma amostra de áudio para inclusão na sequência de áudio no determinado intervalo de tempo de acordo com a distribuição de pontuação (etapa 406). Por exemplo, o sistema pode amostrar uma possível amostra de áudio de acordo com a distribuição de pontuação.
[0064] O sistema pode ser treinado em dados de áudio crus ou comprimidos e/ou comprimidos e expandidos, para formas de onda exemplificativas de oradores humanos, música e assim por diante. Dados condicionados opcionalmente podem ser incluídos, por exemplo dados exemplificativos de texto-para- fala, os quais podem ser representados como recursos linguísticos obtidos a partir de texto emparelhado com dados de áudio para uma verbalização do texto. No tempo de treinamento, isto é, durante o treinamento da sub-rede convolucional e da camada de saída para determinar valores treinados dos filtros das camadas convolucionais e de quaisquer outros parâmetros do sistema, o sistema pode gerar as previsões condicionais para todos os intervalos de tempo em paralelo, isto é, ao invés de autorregressivamente, porque todos os intervalos de tempo da saída verdadeira que deveriam ser gerados pelo sistema são conhecidos. Geralmente, o sistema pode executar o treinamento para determinar os valores treinados dos parâmetros que usam técnicas de aprendizagem convencionais supervisionadas, por exemplo, um gradiente estocástico decrescente com técnica baseada em retropropagação. Como descrito acima, por causa desta paralelização e uso de camadas convolucionais causais, o sistema não necessita de tantos recursos computacionais como outros sistemas, por exemplo, aqueles que incluem camadas de redes neurais recorrentes, resultando em um tempo de treinamento reduzido.
[0065] Adicionalmente, uma vez que o sistema gera sequências de saída autorregressivamente, em algumas implementações, a sub-rede convolucional reutiliza valores computados para intervalos de tempo anteriores quando computando a representação alternativa para um determinado intervalo de tempo. Em particular, uma vez que as mesmas amostras de áudio são fornecidas como entrada para a sub- rede mais de uma vez, parte da computação executada pela sub-rede convolucional será a mesma em múltiplos diferentes intervalos de tempo. Nestas modalidades, ao invés de recalcular estas computações em cada intervalo de tempo, a sub-rede convolucional pode armazenar os valores de saída da computação do primeiro intervalo de tempo em que a computação é realizada e em seguida reutilizar em intervalos de tempo subsequentes os valores de saída armazenados. Como um exemplo, a primeira camada convolucional na sub-rede convolucional aplicará múltiplas vezes o mesmo filtro ou filtros aos mesmos valores de amostras de áudio durante a geração de uma sequência de áudio. Ao invés de recalcular a saída destas aplicações de filtros em cada intervalo de tempo, o sistema pode reutilizar saídas computadas em intervalos de tempo anteriores.
[0066] Em algumas implementações, como outro meio de aumentar o campo receptivo, uma pilha de camadas convolucionais causais dilatadas com um campo receptivo muito grande (longo), mas preferivelmente com menos unidades por camada, pode ser utilizada para condicionar outra (maior) pilha com um menor campo receptivo. A maior pilha pode processar uma parte menor do sinal de áudio, por exemplo cortada no final.
[0067] Esta especificação usa o termo “configurado” em conexão com sistemas e componentes de programa de computador. Um sistema de um ou mais computadores ser configurado para executar operações ou ações específicas significa que o sistema tem instalado nele software, firmware, hardware, ou uma combinação destes que em operação fazem com que o sistema execute as operações ou ações. Um ou mais programas de computador serem configurados para executar operações ou ações específicas significa que o um ou mais programas incluem instruções que, quando executadas por aparelho de processamento de dados, fazem com que o aparelho execute as operações ou ações.
[0068] As modalidades do assunto e as operações funcionais descritas nesta especificação podem ser implementadas em circuitos eletrônicos digitais, em software ou firmware de computador tangivelmente incorporado, em hardware de computador, incluindo as estruturas reveladas nesta especificação e suas equivalentes estruturais, ou em uma combinação de um ou mais destes. As modalidades do assunto descrito nesta especificação podem ser implementadas como um ou mais programas de computador, isto é, um ou mais módulos de instruções de programa de computador codificadas em um meio de armazenamento não transitório tangível para execução por, ou para controlar a operação de, aparelho de processamento de dados. O meio de armazenamento de computador pode ser um dispositivo de armazenamento legível por máquina, um substrato de armazenamento legível por máquina, um dispositivo de memória de acesso aleatório ou serial, ou uma combinação de um ou mais destes. Alternativamente ou em adição, as instruções de programa podem ser codificadas em um sinal propagado gerado artificialmente, por exemplo, um sinal elétrico gerado por máquina, ou óptico ou eletromagnético, que é gerado para codificar informações para transmissão a aparelho receptor adequado para execução por um aparelho de processamento de dados.
[0069] O termo “aparelho de processamento de dados” refere-se a hardware de processamento de dados e engloba todos os tipos de aparelhos, dispositivos e máquinas para processar dados, incluindo como exemplo um processador programável, um computador, ou múltiplos processadores ou computadores. O aparelho pode também ser, ou ainda incluir, circuitos lógicos de fins especiais, por exemplo, um FPGA (conjunto de portas programáveis de campo) ou um ASIC (circuito integrado de aplicação específica). O aparelho pode incluir opcionalmente, além do hardware, código que crie um ambiente de execução para programas de computador, por exemplo, código que constitua firmware de processador, uma pilha de protocolos, um sistema de gestão de banco de dados, um sistema operacional, ou uma combinação de um ou mais destes.
[0070] Um programa de computador, que pode também ser referido ou descrito como um programa, software, um aplicativo de software, um aplicativo, um módulo, um módulo de software, um roteiro, ou código, pode ser escrito em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou interpretadas, ou linguagens declarativas ou processuais; e pode ser implantado em qualquer forma, incluindo como um programa autônomo ou como um módulo, componente, sub-rotina, ou outra unidade adequada para uso em um ambiente computacional. Um programa pode, mas não necessita, corresponder a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma parte de um arquivo que mantém outros programas ou dados, por exemplo, um ou mais roteiros armazenados em um documento de linguagem de marcação, em um único arquivo dedicado ao programa em questão, ou em múltiplos arquivos coordenados, por exemplo, arquivos que armazenam um ou mais módulos, subprogramas, ou partes de código. Um programa de computador pode ser implantado para ser executado em um computador ou em múltiplos computadores que estão localizados em um portal ou distribuídos por múltiplos portais e interligados por uma rede de comunicação de dados.
[0071] Nesta especificação, o termo “banco de dados” é usado amplamente para fazer referência a qualquer coleção de dados: os dados não necessitam estar estruturados de qualquer modo específico, ou nem estruturados, e podem ser armazenados em dispositivos de armazenamento em uma ou mais localizações. Portanto, por exemplo, o banco de dados de índice pode incluir múltiplas coleções de dados, cada uma das quais pode estar organizada e ser acessada diferentemente.
[0072] Similarmente, nesta especificação o termo “máquina” é usado amplamente para fazer referência a um sistema baseado em software, subsistema, ou processo que é programado para executar uma ou mais funções específicas. Geralmente, uma máquina será implementada como um ou mais módulos ou componentes de software, instalada em um ou mais computadores em uma ou mais localizações. Em alguns casos, um ou mais computadores serão dedicados a uma máquina específica; em outros casos, múltiplas máquinas podem ser instaladas e funcionar no mesmo computador ou computadores.
[0073] Os processos e fluxos lógicos descritos nesta especificação podem ser executados por um ou mais computadores programáveis que executam um ou mais programas de computador para executar funções pela operação sobre dados de entrada e geração de saída. Os processos e fluxos lógicos podem também ser executados por circuitos lógicos de finalidade especial, por exemplo, um FGPA ou um ASIC, ou por uma combinação de circuitos lógicos de finalidade especial e um ou mais computadores programados.
[0074] Computadores adequados para a execução de um programa de computador podem ser baseados em microprocessadores de uso geral ou especial ou ambos, ou qualquer tipo de unidade de processamento central. Geralmente, uma unidade de processamento central receberá instruções e dados de uma memória apenas de leitura ou de uma memória de acesso aleatório ou de ambas. Os elementos essenciais de um computador são uma unidade de processamento central para realizar ou executar instruções e um ou mais dispositivos de memória para armazenar instruções e dados. A unidade de processamento central e a memória podem ser suplementadas por, ou incorporadas em, circuitos lógicos de finalidade especial. Geralmente, um computador incluirá também, ou estará operativamente acoplado para receber dados de ou transferir dados para, ou ambos, um ou mais dispositivos de armazenamento em massa para armazenamento de dados, por exemplo, discos magnéticos, magneto-ópticos ou ópticos. Contudo, um computador não necessita ter tais dispositivos. Além disso, um computador pode estar incorporado em outro dispositivo, por exemplo, um telefone móvel, um assistente digital pessoal (PDA), um reprodutor móvel de áudio ou vídeo, um console de jogos, um receptor de Sistema de Posicionamento Global (GPS), ou um dispositivo de armazenamento portátil, por exemplo, uma unidade flash de barramento universal serial (USB), apenas para mencionar alguns.
[0075] Meios legíveis por computador adequados para armazenar instruções de programa de computador e dados incluem todas as formas de memória não volátil, dispositivos de mídia e memória, incluindo como exemplos dispositivos semicondutores de memória, por exemplo, EPROM, EEPROM e dispositivos de memória flash; discos magnéticos, por exemplo, discos rígidos internos ou discos removíveis; discos magneto-ópticos; e discos CD ROM e DVD-ROM.
[0076] Para propiciar interação com um usuário, as modalidades do assunto descrito nesta especificação podem ser implementadas em um computador com um dispositivo de exibição, por exemplo, um monitor CRT (tubo de raios catódicos) ou LCD (visor de cristal líquido), para exibir informações ao usuário e um teclado e um dispositivo apontador, por exemplo, um mouse ou uma bola de rota seguida, para propiciar também uma interação com um usuário; por exemplo, a realimentação fornecida ao usuário pode ser qualquer forma de realimentação sensorial, por exemplo, realimentação visual, realimentação auditiva ou realimentação tátil; e a entrada proveniente do usuário pode ser recebida em qualquer forma, incluindo entrada acústica, de voz ou tátil. Além disso, um computador pode interagir com um usuário pela transmissão de documentos para e recepção de documentos de um dispositivo que é usado pelo usuário; por exemplo, pela transmissão de páginas da Internet a um navegador da Internet por um dispositivo de usuário em resposta a solicitações recebidas do navegador da Internet. Também, um computador pode interagir com um usuário pela transmissão de mensagens de texto ou outras formas de mensagem a um dispositivo pessoal, por exemplo, um telefone inteligente que está executando um aplicativo de mensagens, e recepção de mensagens responsivas do usuário em troca.
[0077] Os aparelhos de processamento de dados para implementar modelos de aprendizagem de máquina podem também incluir, por exemplo, unidades aceleradoras de hardware de fim especial para processar partes comuns e de computação intensiva de treinamento ou produção de aprendizagem de máquina, isto é, inferência, cargas de trabalho.
[0078] Os modelos de aprendizagem de máquina podem ser implementados e implantados usando uma estrutura de aprendizagem de máquina, por exemplo, uma estrutura TensorFlow, uma estrutura Microsoft Cognitive Toolkit, uma estrutura Apache Singa, ou uma estrutura Apache MXNet.
[0079] As modalidades do assunto descrito nesta especificação podem ser implementadas em um sistema computacional que inclua um componente de extremidade posterior, por exemplo, um servidor de dados, ou que inclua um componente de middleware, por exemplo, um servidor de aplicativos, ou que inclua um componente de extremidade dianteira, por exemplo, um computador de cliente com uma interface gráfica de usuário, um navegador de Internet, ou um aplicativo através do qual um usuário pode interagir com uma implementação do assunto descrito nesta especificação, ou qualquer combinação de um ou mais de tais componentes de extremidade posterior, middleware ou extremidade dianteira. Os componentes do sistema podem estar interligados por qualquer forma ou meio de comunicação digital de dados, por exemplo, uma rede de comunicação. Exemplos de redes de comunicação incluem uma rede de área local (LAN) e uma rede de área ampla (WAN), por exemplo a Internet.
[0080] O sistema de computação pode incluir clientes e servidores. Um cliente e um servidor estão geralmente remotos um do outro e tipicamente interagem através de uma rede de comunicação. A relação de cliente e servidor surge em virtude de programas de computador que são executados nos respectivos computadores e que têm uma relação cliente-servidor entre si. Em algumas modalidades, um servidor transmite dados, por exemplo, uma página HTML, a um dispositivo de usuário, por exemplo, para fins de exibição de dados para e recepção de entrada de usuário de um usuário que interage com o dispositivo, o qual age como um cliente. Os dados gerados no dispositivo de usuário, por exemplo, um resultado da interação de usuário, podem ser recebidos no servidor provenientes do dispositivo.
[0081] Embora esta especificação contenha muitos detalhes específicos de implementação, estes não devem ser considerados como limitações sobre o âmbito de qualquer invenção ou sobre o âmbito do que pode ser reivindicado, mas ao invés devem ser considerados como descrições de recursos que podem ser específicos para modalidades particulares de invenções particulares. Determinados recursos que são descritos nesta especificação no contexto de modalidades separadas podem também ser implementados em combinação em uma única modalidade. Reciprocamente, diversos recursos que são descritos no contexto de uma única modalidade podem também ser implementados em múltiplas modalidades separadamente ou em qualquer subcombinação adequada. Além disso, embora recursos possam ser descritos acima como agindo em determinadas combinações e mesmo inicialmente sejam reivindicados como tal, um ou mais recursos de uma combinação reivindicada podem em alguns casos ser extirpados da combinação, e a combinação reivindicada pode ser orientada para uma subcombinação ou variação de uma subcombinação.
[0082] Similarmente, embora operações sejam representadas nos desenhos e mencionadas nas reivindicações em uma ordem específica, isto não deve ser entendido como exigindo que tais operações sejam executadas na ordem específica mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam realizadas, para alcançar resultados desejáveis. Em determinadas circunstâncias, pode ser vantajoso processamento multitarefa e paralelo. Além disso, a separação de diversos módulos e componentes de sistema nas modalidades descritas acima não deve ser entendida como exigindo tal separação em todas as modalidades, e deve ser entendido que os componentes e sistemas de programa descritos podem geralmente ser integrados juntos em um único produto de software ou empacotados em múltiplos produtos de software.
[0083] Foram descritas modalidades específicas do assunto. Outras modalidades estão dentro do âmbito das reivindicações a seguir. Por exemplo, as ações mencionadas nas reivindicações podem ser executadas em uma ordem diferente e ainda alcançar resultados desejáveis. Como um exemplo, os processos representados nas figuras anexas não necessariamente exigem a ordem específica mostrada, ou ordem sequencial, para alcançar resultados desejáveis. Em alguns casos, pode ser vantajoso processamento multitarefa e paralelo.

Claims (30)

1. Sistema de redes neurais, caracterizado por ser implementado por um ou mais computadores, em que o sistema de redes neurais é configurado para gerar autorregressivamente uma sequência de saída de dados de áudio que compreende uma respectiva amostra de áudio em cada um de uma pluralidade de intervalos de tempo, e em que o sistema de redes neurais compreende: uma sub-rede convolucional que compreende uma ou mais camadas de redes neurais convolucionais de processamento de áudio, onde a sub-rede convolucional é configurada para, para cada um da pluralidade de intervalos de tempo: receber uma sequência corrente de dados de áudio que compreende a respectiva amostra de áudio em cada intervalo de tempo que precede o intervalo de tempo na sequência de saída, e processar a sequência corrente de dados de áudio para gerar uma representação alternativa para o intervalo de tempo; e uma camada de saída, onde a camada de saída é configurada para, para cada um da pluralidade de intervalos de tempo: receber a representação alternativa para o intervalo de tempo, e processar a representação alternativa para o intervalo de tempo para gerar uma saída que defina uma distribuição de pontuação por uma pluralidade de possíveis amostras de áudio para o intervalo de tempo.
2. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de redes neurais compreende: um subsistema configurado para, para cada um da pluralidade de intervalos de tempo: selecionar uma amostra de áudio no intervalo de tempo na sequência de saída de acordo com a distribuição de pontuação para o intervalo de tempo.
3. Sistema de redes neurais, de acordo com a reivindicação 2, caracterizado pelo fato de a seleção do valor de áudio compreender: amostragem a partir da distribuição de pontuação.
4. Sistema de redes neurais, de acordo com a reivindicação 2, caracterizado pelo fato de a seleção do valor de áudio compreender: seleção de uma amostra de áudio com uma maior pontuação de acordo com a distribuição de pontuação.
5. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de cada um da pluralidade de intervalos de tempo corresponder a um tempo respectivo em uma forma de onda de áudio, e em que a respectiva amostra de áudio em cada um da pluralidade de intervalos de tempo é um valor de amplitude da forma de onda de áudio no tempo correspondente.
6. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de cada um da pluralidade de intervalos de tempo corresponder a um tempo respectivo em uma forma de onda de áudio, e em que a respectiva amostra de áudio em cada um da pluralidade de intervalos de tempo é uma representação comprimida ou comprimida e expandida da forma de onda de áudio no tempo correspondente.
7. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de as camadas de redes neurais convolucionais de processamento de áudio serem camadas de redes neurais convolucionais causais.
8. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de as camadas de redes neurais convolucionais de processamento de áudio incluírem uma ou mais camadas de redes neurais convolucionais dilatadas.
9. Sistema de redes neurais, de acordo com a reivindicação 8, caracterizado pelo fato de as camadas de redes neurais convolucionais de processamento de áudio incluírem múltiplos blocos de camadas de redes neurais convolucionais dilatadas, em que cada bloco compreende múltiplas camadas de redes neurais convolucionais dilatadas com dilatação crescente.
10. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de uma ou mais das camadas de redes neurais convolucionais de processamento de áudio terem unidades de ativação de desbloqueio.
11. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de, em cada um da pluralidade de intervalos de tempo, a representação alternativa ser condicionada em uma entrada de rede neural.
12. Sistema de redes neurais, de acordo com a reivindicação 11, caracterizado pelo fato de a entrada de rede neural compreender recursos de um segmento de texto, e em que a sequência de saída representa uma verbalização do segmento de texto.
13. Sistema de redes neurais, de acordo com a reivindicação 12, caracterizado pelo fato de a entrada de rede neural compreender ainda valores padrão de entonação.
14. Sistema de redes neurais, de acordo com a reivindicação 13, caracterizado pelo fato de a entrada de rede neural compreender um ou mais de: informação de identidade de orador, informação de identidade de linguagem e informação de estilo de fala.
15. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de a sequência de saída representar uma peça de música.
16. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de a sub-rede convolucional compreender conexões residuais.
17. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de a sub-rede convolucional compreender conexões de pulos.
18. Sistema de redes neurais, de acordo com a reivindicação 1, caracterizado pelo fato de o processamento da sequência corrente de dados de áudio para gerar uma representação alternativa para o intervalo de tempo compreender reutilizar valores computados para intervalos de tempo anteriores.
19. Um ou mais meios de armazenamento legíveis por computador não transitório, caracterizados pelo fato de serem codificados com instruções que quando executadas por um ou mais computadores fazem com que o um ou mais computadores implementem um sistema de redes neurais, em que o sistema de redes neurais é configurado para gerar autorregressivamente uma sequência de saída de dados de áudio que compreende uma respectiva amostra de áudio em cada um de uma pluralidade de intervalos de tempo, e em que o sistema de redes neurais compreende: uma sub-rede convolucional que compreende uma ou mais camadas de redes neurais convolucionais de processamento de áudio, onde a sub-rede convolucional é configurada para, para cada um da pluralidade de intervalos de tempo: receber uma sequência corrente de dados de áudio que compreende a respectiva amostra de áudio em cada intervalo de tempo que precede o intervalo de tempo na sequência de saída, e processar a sequência corrente de dados de áudio para gerar uma representação alternativa para o intervalo de tempo; e uma camada de saída, onde a camada de saída é configurada para, para cada um da pluralidade de intervalos de tempo: receber a representação alternativa para o intervalo de tempo, e processar a representação alternativa para o intervalo de tempo para gerar uma saída que defina uma distribuição de pontuação por uma pluralidade de possíveis amostras de áudio para o intervalo de tempo.
20. Método para gerar autorregressivamente uma sequência de saída de dados de áudio que compreende uma respectiva amostra de áudio em cada um de uma pluralidade de intervalos de tempo, caracterizado pelo fato de que o método compreende, para cada uma da pluralidade de intervalos de tempo: fornecer uma sequência corrente de dados de áudio como entrada para uma sub-rede convolucional compreendendo uma ou mais camadas de redes neurais convolucionais de processamento de áudio, em que a sequência corrente compreende a respectiva amostra de áudio em cada intervalo de tempo que precede o intervalo de tempo na sequência de saída, e em que a sub-rede convolucional é configurada para, para cada uma da pluralidade de intervalos de tempo: receber uma sequência corrente de dados de áudio, e processar a sequência corrente de dados de áudio para gerar uma representação alternativa para o intervalo de tempo; e fornecer a representação alternativa para o intervalo de tempo como entrada para uma camada de saída, em que a camada de saída é configurada para, para cada um da pluralidade de intervalos de tempo: receber a representação alternativa para o intervalo de tempo, e processar a representação alternativa para o intervalo de tempo para gerar uma saída que defina uma distribuição de pontuação por uma pluralidade de possíveis amostras de áudio para o intervalo de tempo.
21. Meios de armazenamento legíveis por computador não transitório, de acordo com a reivindicação 19, caracterizado pelo fato de que o sistema de redes neurais compreende ainda: um subsistema configurado para, para cada um da pluralidade de intervalos de tempo: selecionar uma amostra de áudio no intervalo de tempo na sequência de saída de acordo com a distribuição de pontuação para o intervalo de tempo.
22. Meios de armazenamento legíveis por computador não transitório, de acordo com a reivindicação 19, caracterizado pelo fato de que cada um da pluralidade de intervalos de tempo corresponder a um tempo respectivo em uma forma de onda de áudio, e em que a respectiva amostra de áudio em cada um da pluralidade de intervalos de tempo é um valor de amplitude da forma de onda de áudio no tempo correspondente.
23. Meios de armazenamento legíveis por computador não transitório, de acordo com a reivindicação 19, caracterizado pelo fato de que as camadas de redes neurais convolucionais de processamento de áudio serem camadas de redes neurais convolucionais causais.
24. Meios de armazenamento legíveis por computador não transitório, de acordo com a reivindicação 19, caracterizado pelo fato de que as camadas de redes neurais convolucionais de processamento de áudio incluírem uma ou mais camadas de redes neurais convolucionais dilatadas.
25. Meios de armazenamento legíveis por computador não transitório, de acordo com a reivindicação 19, caracterizado pelo fato de que em cada um da pluralidade de intervalos de tempo: a representação alternativa é condicionada em uma entrada de rede neural compreendendo recursos de um segmento de texto, e a sequência de saída representa uma verbalização do segmento de texto.
26. Método, de acordo com a reivindicação 20, caracterizado pelo fato de que compreende ainda: fornecer a distribuição de pontuação para o intervalo de temp como uma entrada para um subsistema, em que o subsistema é configurado para, para cada um da pluralidade de intervalos de tempo: selecionar uma amostra de áudio no intervalo de tempo na sequência de saída de acordo com a distribuição de pontuação para o intervalo de tempo.
27. Método, de acordo com a reivindicação 20, caracterizado pelo fato de que cada um da pluralidade de intervalos de tempo corresponde a um tempo respectivo em uma forma de onda de áudio, e em que a respectiva amostra de áudio em cada um da pluralidade de intervalos de tempo é um valor de amplitude da forma de onda de áudio no tempo correspondente.
28. Método, de acordo com a reivindicação 20, caracterizado pelo fato de que as camadas de redes neurais convolucionais de processamento de áudio serem camadas de redes neurais convolucionais causais.
29. Método, de acordo com a reivindicação 20, caracterizado pelo fato de que as camadas de redes neurais convolucionais de processamento de áudio incluírem uma ou mais camadas de redes neurais convolucionais dilatadas.
30. Método, de acordo com a reivindicação 20, caracterizado pelo fato de que em cada um da pluralidade de intervalos de tempo: a representação alternativa é condicionada em uma entrada de rede neural compreendendo recursos de um segmento de texto, e a sequência de saída representa uma verbalização do segmento de texto.
BR112019004524-4A 2016-09-06 2017-09-06 Sistema de redes neurais, um ou mais meios de armazenamento legíveis por computador não transitório e método para gerar autorregressivamente uma sequência de saída de dados de áudio BR112019004524B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662384115P 2016-09-06 2016-09-06
US62/384,115 2016-09-06
PCT/US2017/050320 WO2018048934A1 (en) 2016-09-06 2017-09-06 Generating audio using neural networks

Publications (2)

Publication Number Publication Date
BR112019004524A2 BR112019004524A2 (pt) 2019-05-28
BR112019004524B1 true BR112019004524B1 (pt) 2023-11-07

Family

ID=60022154

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019004524-4A BR112019004524B1 (pt) 2016-09-06 2017-09-06 Sistema de redes neurais, um ou mais meios de armazenamento legíveis por computador não transitório e método para gerar autorregressivamente uma sequência de saída de dados de áudio

Country Status (9)

Country Link
US (5) US10304477B2 (pt)
EP (2) EP3822863B1 (pt)
JP (3) JP6577159B1 (pt)
KR (1) KR102353284B1 (pt)
CN (2) CN109891434B (pt)
AU (1) AU2017324937B2 (pt)
BR (1) BR112019004524B1 (pt)
CA (2) CA3155320A1 (pt)
WO (1) WO2018048934A1 (pt)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10743101B2 (en) 2016-02-22 2020-08-11 Sonos, Inc. Content mixing
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US11080591B2 (en) * 2016-09-06 2021-08-03 Deepmind Technologies Limited Processing sequences using convolutional neural networks
CN109891434B (zh) 2016-09-06 2020-10-30 渊慧科技有限公司 使用神经网络生成音频
EP3767547A1 (en) * 2016-09-06 2021-01-20 Deepmind Technologies Limited Processing sequences using convolutional neural networks
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
KR102359216B1 (ko) 2016-10-26 2022-02-07 딥마인드 테크놀로지스 리미티드 신경망을 이용한 텍스트 시퀀스 처리
CA3206209A1 (en) * 2017-03-29 2018-10-04 Google Llc End-to-end text-to-speech conversion
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
KR102410820B1 (ko) * 2017-08-14 2022-06-20 삼성전자주식회사 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
JP7209275B2 (ja) * 2017-08-31 2023-01-20 国立研究開発法人情報通信研究機構 オーディオデータ学習装置、オーディオデータ推論装置、およびプログラム
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
CN111587455B (zh) * 2018-01-11 2024-02-06 新智株式会社 利用机器学习的文本语音合成方法、装置及计算机可读存储介质
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US11735028B2 (en) 2018-06-12 2023-08-22 Intergraph Corporation Artificial intelligence applications for computer-aided dispatch systems
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10971170B2 (en) * 2018-08-08 2021-04-06 Google Llc Synthesizing speech from text using neural networks
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
CN112789625A (zh) 2018-09-27 2021-05-11 渊慧科技有限公司 承诺信息速率变分自编码器
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11636673B2 (en) 2018-10-31 2023-04-25 Sony Interactive Entertainment Inc. Scene annotation using machine learning
US10977872B2 (en) 2018-10-31 2021-04-13 Sony Interactive Entertainment Inc. Graphical style modification for video games using machine learning
US11375293B2 (en) 2018-10-31 2022-06-28 Sony Interactive Entertainment Inc. Textual annotation of acoustic effects
US10854109B2 (en) 2018-10-31 2020-12-01 Sony Interactive Entertainment Inc. Color accommodation for on-demand accessibility
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
US11024321B2 (en) 2018-11-30 2021-06-01 Google Llc Speech coding using auto-regressive generative neural networks
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
CN109771944B (zh) * 2018-12-19 2022-07-12 武汉西山艺创文化有限公司 一种游戏音效生成方法、装置、设备和存储介质
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11869529B2 (en) * 2018-12-26 2024-01-09 Nippon Telegraph And Telephone Corporation Speaking rhythm transformation apparatus, model learning apparatus, methods therefor, and program
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US11587552B2 (en) 2019-04-30 2023-02-21 Sutherland Global Services Inc. Real time key conversational metrics prediction and notability
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
CN110136731B (zh) * 2019-05-13 2021-12-24 天津大学 空洞因果卷积生成对抗网络端到端骨导语音盲增强方法
CN113874934A (zh) * 2019-05-23 2021-12-31 谷歌有限责任公司 有表达力的端到端语音合成中的变分嵌入容量
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
CN110728991B (zh) * 2019-09-06 2022-03-01 南京工程学院 一种改进的录音设备识别算法
WO2021075994A1 (en) 2019-10-16 2021-04-22 Saudi Arabian Oil Company Determination of elastic properties of a geological formation using machine learning applied to data acquired while drilling
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
KR20210048310A (ko) 2019-10-23 2021-05-03 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102556096B1 (ko) * 2019-11-29 2023-07-18 한국전자통신연구원 이전 프레임의 정보를 사용한 오디오 신호 부호화/복호화 장치 및 방법
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11373095B2 (en) * 2019-12-23 2022-06-28 Jens C. Jenkins Machine learning multiple features of depicted item
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US20210312258A1 (en) * 2020-04-01 2021-10-07 Sony Corporation Computing temporal convolution networks in real time
US20210350788A1 (en) * 2020-05-06 2021-11-11 Samsung Electronics Co., Ltd. Electronic device for generating speech signal corresponding to at least one text and operating method of the electronic device
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
EP3719711A3 (en) 2020-07-30 2021-03-03 Institutul Roman De Stiinta Si Tehnologie Method of detecting anomalous data, machine computing unit, computer program
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
WO2022125771A1 (en) 2020-12-10 2022-06-16 Saudi Arabian Oil Company Determination of mechanical properties of a geological formation using deep learning applied to data acquired while drilling
GB202106969D0 (en) * 2021-05-14 2021-06-30 Samsung Electronics Co Ltd Method and apparatus for improving model efficiency
CN113724683B (zh) * 2021-07-23 2024-03-22 阿里巴巴达摩院(杭州)科技有限公司 音频生成方法、计算机设备及计算机可读存储介质
WO2023177145A1 (ko) * 2022-03-16 2023-09-21 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
WO2023219292A1 (ko) * 2022-05-09 2023-11-16 삼성전자 주식회사 장면 분류를 위한 오디오 처리 방법 및 장치
EP4293662A1 (en) * 2022-06-17 2023-12-20 Samsung Electronics Co., Ltd. Method and system for personalising machine learning models

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2810457A (en) * 1953-04-10 1957-10-22 Gen Motors Corp Lubricator
JPH0450121Y2 (pt) 1986-04-30 1992-11-26
JP2522400B2 (ja) * 1989-08-10 1996-08-07 ヤマハ株式会社 楽音波形生成方法
US5377302A (en) 1992-09-01 1994-12-27 Monowave Corporation L.P. System for recognizing speech
AU675389B2 (en) 1994-04-28 1997-01-30 Motorola, Inc. A method and apparatus for converting text into audible signals using a neural network
JP3270668B2 (ja) * 1995-10-31 2002-04-02 ナショナル サイエンス カウンシル テキストからスピーチへの人工的ニューラルネットワークに基づく韻律の合成装置
US6357176B2 (en) * 1997-03-19 2002-03-19 Mississippi State University Soilless sod
JPH10333699A (ja) * 1997-06-05 1998-12-18 Fujitsu Ltd 音声認識および音声合成装置
US5913194A (en) * 1997-07-14 1999-06-15 Motorola, Inc. Method, device and system for using statistical information to reduce computation and memory requirements of a neural network based speech synthesis system
JPH11282484A (ja) * 1998-03-27 1999-10-15 Victor Co Of Japan Ltd 音声合成装置
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
DE10018134A1 (de) * 2000-04-12 2001-10-18 Siemens Ag Verfahren und Vorrichtung zum Bestimmen prosodischer Markierungen
JP2002123280A (ja) * 2000-10-16 2002-04-26 Seiko Epson Corp 音声合成方法および音声合成装置ならびに音声合成処理プログラムを記録した記録媒体
US7062437B2 (en) * 2001-02-13 2006-06-13 International Business Machines Corporation Audio renderings for expressing non-audio nuances
US20060064177A1 (en) 2004-09-17 2006-03-23 Nokia Corporation System and method for measuring confusion among words in an adaptive speech recognition system
US7747070B2 (en) * 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
KR100832556B1 (ko) * 2006-09-22 2008-05-26 (주)한국파워보이스 강인한 원거리 음성 인식 시스템을 위한 음성 인식 방법
US8504361B2 (en) * 2008-02-07 2013-08-06 Nec Laboratories America, Inc. Deep neural networks and methods for using same
KR101214402B1 (ko) * 2008-05-30 2012-12-21 노키아 코포레이션 개선된 스피치 합성을 제공하는 방법, 장치 및 컴퓨터 프로그램 제품
FR2950713A1 (fr) 2009-09-29 2011-04-01 Movea Sa Systeme et procede de reconnaissance de gestes
TWI413104B (zh) * 2010-12-22 2013-10-21 Ind Tech Res Inst 可調控式韻律重估測系統與方法及電腦程式產品
CN102651217A (zh) * 2011-02-25 2012-08-29 株式会社东芝 用于合成语音的方法、设备以及用于语音合成的声学模型训练方法
EP2565667A1 (en) 2011-08-31 2013-03-06 Friedrich-Alexander-Universität Erlangen-Nürnberg Direction of arrival estimation using watermarked audio signals and microphone arrays
US8527276B1 (en) * 2012-10-25 2013-09-03 Google Inc. Speech synthesis using deep neural networks
US9230550B2 (en) * 2013-01-10 2016-01-05 Sensory, Incorporated Speaker verification and identification using artificial neural network-based sub-phonetic unit discrimination
US9141906B2 (en) * 2013-03-13 2015-09-22 Google Inc. Scoring concept terms using a deep network
US9147154B2 (en) 2013-03-13 2015-09-29 Google Inc. Classifying resources using a deep network
US9190053B2 (en) 2013-03-25 2015-11-17 The Governing Council Of The Univeristy Of Toronto System and method for applying a convolutional neural network to speech recognition
CA2810457C (en) * 2013-03-25 2018-11-20 Gerald Bradley PENN System and method for applying a convolutional neural network to speech recognition
US20150032449A1 (en) * 2013-07-26 2015-01-29 Nuance Communications, Inc. Method and Apparatus for Using Convolutional Neural Networks in Speech Recognition
CN104681034A (zh) * 2013-11-27 2015-06-03 杜比实验室特许公司 音频信号处理
US9953634B1 (en) 2013-12-17 2018-04-24 Knowles Electronics, Llc Passive training for automatic speech recognition
US10181098B2 (en) 2014-06-06 2019-01-15 Google Llc Generating representations of input sequences using neural networks
US10275704B2 (en) 2014-06-06 2019-04-30 Google Llc Generating representations of input sequences using neural networks
US9821340B2 (en) * 2014-07-28 2017-11-21 Kolo Medical Ltd. High displacement ultrasonic transducer
KR102332729B1 (ko) 2014-07-28 2021-11-30 삼성전자주식회사 발음 유사도를 기반으로 한 음성 인식 방법 및 장치, 음성 인식 엔진 생성 방법 및 장치
US20160035344A1 (en) * 2014-08-04 2016-02-04 Google Inc. Identifying the language of a spoken utterance
ES2880316T3 (es) 2014-08-29 2021-11-24 Google Llc Procesamiento de imágenes mediante redes neuronales profundas
US9536509B2 (en) 2014-09-25 2017-01-03 Sunhouse Technologies, Inc. Systems and methods for capturing and interpreting audio
US10783900B2 (en) * 2014-10-03 2020-09-22 Google Llc Convolutional, long short-term memory, fully connected deep neural networks
US9824684B2 (en) 2014-11-13 2017-11-21 Microsoft Technology Licensing, Llc Prediction-based sequence recognition
US9542927B2 (en) * 2014-11-13 2017-01-10 Google Inc. Method and system for building text-to-speech voice from diverse recordings
US9607217B2 (en) * 2014-12-22 2017-03-28 Yahoo! Inc. Generating preference indices for image content
US11080587B2 (en) * 2015-02-06 2021-08-03 Deepmind Technologies Limited Recurrent neural networks for data item generation
US10403269B2 (en) * 2015-03-27 2019-09-03 Google Llc Processing audio waveforms
US20160343366A1 (en) * 2015-05-19 2016-11-24 Google Inc. Speech synthesis model selection
US9595002B2 (en) 2015-05-29 2017-03-14 Sas Institute Inc. Normalizing electronic communications using a vector having a repeating substring as input for a neural network
CN105096939B (zh) * 2015-07-08 2017-07-25 百度在线网络技术(北京)有限公司 语音唤醒方法和装置
US9786270B2 (en) 2015-07-09 2017-10-10 Google Inc. Generating acoustic models
CN106375231B (zh) * 2015-07-22 2019-11-05 华为技术有限公司 一种流量切换方法、设备及系统
KR102413692B1 (ko) 2015-07-24 2022-06-27 삼성전자주식회사 음성 인식을 위한 음향 점수 계산 장치 및 방법, 음성 인식 장치 및 방법, 전자 장치
CN105068998B (zh) 2015-07-29 2017-12-15 百度在线网络技术(北京)有限公司 基于神经网络模型的翻译方法及装置
CN105321525B (zh) * 2015-09-30 2019-02-22 北京邮电大学 一种降低voip通信资源开销的系统和方法
US10733979B2 (en) 2015-10-09 2020-08-04 Google Llc Latency constraints for acoustic modeling
US10395118B2 (en) 2015-10-29 2019-08-27 Baidu Usa Llc Systems and methods for video paragraph captioning using hierarchical recurrent neural networks
EP3371807B1 (en) * 2015-11-12 2023-01-04 Google LLC Generating target phoneme sequences from input speech sequences using partial conditioning
US10319374B2 (en) 2015-11-25 2019-06-11 Baidu USA, LLC Deployed end-to-end speech recognition
CN105513591B (zh) * 2015-12-21 2019-09-03 百度在线网络技术(北京)有限公司 用lstm循环神经网络模型进行语音识别的方法和装置
US10402700B2 (en) 2016-01-25 2019-09-03 Deepmind Technologies Limited Generating images using neural networks
CN115345278A (zh) * 2016-03-11 2022-11-15 奇跃公司 卷积神经网络的结构学习
US10460747B2 (en) 2016-05-10 2019-10-29 Google Llc Frequency based audio analysis using neural networks
US9972314B2 (en) 2016-06-01 2018-05-15 Microsoft Technology Licensing, Llc No loss-optimization for weighted transducer
US11373672B2 (en) 2016-06-14 2022-06-28 The Trustees Of Columbia University In The City Of New York Systems and methods for speech separation and neural decoding of attentional selection in multi-speaker environments
US9984683B2 (en) 2016-07-22 2018-05-29 Google Llc Automatic speech recognition using multi-dimensional models
CN109891434B (zh) * 2016-09-06 2020-10-30 渊慧科技有限公司 使用神经网络生成音频
EP3767547A1 (en) 2016-09-06 2021-01-20 Deepmind Technologies Limited Processing sequences using convolutional neural networks
US11080591B2 (en) 2016-09-06 2021-08-03 Deepmind Technologies Limited Processing sequences using convolutional neural networks
KR102359216B1 (ko) 2016-10-26 2022-02-07 딥마인드 테크놀로지스 리미티드 신경망을 이용한 텍스트 시퀀스 처리
US10049106B2 (en) 2017-01-18 2018-08-14 Xerox Corporation Natural language generation through character-based recurrent neural networks with finite-state prior knowledge
TWI767000B (zh) 2017-05-20 2022-06-11 英商淵慧科技有限公司 產生波形之方法及電腦儲存媒體
US10726858B2 (en) 2018-06-22 2020-07-28 Intel Corporation Neural network for speech denoising trained with deep feature losses
US10971170B2 (en) 2018-08-08 2021-04-06 Google Llc Synthesizing speech from text using neural networks

Also Published As

Publication number Publication date
EP3497629A1 (en) 2019-06-19
JP6577159B1 (ja) 2019-09-18
EP3822863A1 (en) 2021-05-19
JP6891236B2 (ja) 2021-06-18
JP7213913B2 (ja) 2023-01-27
CN112289342B (zh) 2024-03-19
JP2019532349A (ja) 2019-11-07
JP2021152664A (ja) 2021-09-30
CA3036067A1 (en) 2018-03-15
CA3155320A1 (en) 2018-03-15
US20180322891A1 (en) 2018-11-08
US10803884B2 (en) 2020-10-13
CN109891434A (zh) 2019-06-14
EP3497629B1 (en) 2020-11-04
US20200411032A1 (en) 2020-12-31
WO2018048934A1 (en) 2018-03-15
CN112289342A (zh) 2021-01-29
US10304477B2 (en) 2019-05-28
US20240135955A1 (en) 2024-04-25
EP3822863B1 (en) 2022-11-02
BR112019004524A2 (pt) 2019-05-28
JP2020003809A (ja) 2020-01-09
US11386914B2 (en) 2022-07-12
KR102353284B1 (ko) 2022-01-19
AU2017324937A1 (en) 2019-03-28
CA3036067C (en) 2023-08-01
CN109891434B (zh) 2020-10-30
US20190251987A1 (en) 2019-08-15
US11869530B2 (en) 2024-01-09
KR20190042730A (ko) 2019-04-24
US20220319533A1 (en) 2022-10-06
AU2017324937B2 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
BR112019004524B1 (pt) Sistema de redes neurais, um ou mais meios de armazenamento legíveis por computador não transitório e método para gerar autorregressivamente uma sequência de saída de dados de áudio
US11948066B2 (en) Processing sequences using convolutional neural networks
US20220101082A1 (en) Generating representations of input sequences using neural networks
US10043512B2 (en) Generating target sequences from input sequences using partial conditioning
US20160180215A1 (en) Generating parse trees of text segments using neural networks
CN109074517B (zh) 全局归一化神经网络
JP2019537096A (ja) ニューラル機械翻訳システム
WO2018215404A1 (en) Feedforward generative neural networks
US11663488B2 (en) Initialization of parameters for machine-learned transformer neural network architectures
CN111699497A (zh) 使用离散潜变量的序列模型的快速解码

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: G06N 3/04

Ipc: G06N 3/045 (2023.01), G06N 3/048 (2023.01), G10L 1

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 06/09/2017, OBSERVADAS AS CONDICOES LEGAIS