• Nenhum resultado encontrado

Como descrito anteriormente, um dos objetivos das abordagens propostas consiste no controle das distribuições condicionais associadas aos locutores e, para isso, propomos controlar a maneira como a rede codifica as informações aprendidas para diferenciar as locuções produzidas por diferentes locutores. O intuito aqui é fazer com que a rede aprenda a diferenciação entre locutores a partir de informações que seguem distribuições normais (gaussianas). Nesse cenário, a abordagem proposta consiste na modificação da DNN em

duas etapas importantes: na camada de classificação e na camada de pooling temporal. Para restringir a codificação das informações aprendidas por uma determinada ca- mada, utilizamos nós cuja operação é definida por uma função de base radial (Radial

Basis Function - RBF). Uma RBF, 𝜑(𝑥) : ℛ𝐷 → ℛ, é uma função real cujos valores dependem apenas da norma entre o vetor de entrada e um ponto fixo, 𝑐 ∈ ℛ𝐷, chamado de centro:

𝜑𝑐(𝑥) = 𝜑(||𝑥 − 𝑐||). (3.2)

Uma determinada RBF é parametrizada, portanto, pelo ponto fixo. Como nosso propósito é codificar os vetores correspondentes a um determinado locutor seguindo uma distribuição normal associada a ele, utilizamos a RBF gaussiana:

𝜑𝑐(𝑥) = exp[−(𝜖||𝑥 − 𝑐||)2], (3.3)

onde 𝜖 é um número real utilizado para escalar o kernel radial, que também pode ser observado como um parâmetro do nó a ser aprendido ou não pela rede. A Figura 23 apresenta os valores da RBF gaussiana centrada na origem para alguns valores de 𝜖. Aprender os parâmetros de uma RBF gaussiana equivale a estimar os parâmetros de uma distribuição normal multivariada simples, com matriz de covariância diagonal e variâncias idênticas, parametrizadas através de 𝜖.

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 y 0.0 0.5 1 2 10 e φ(x) x ε

Figura 23 – Função de base radial (RBF) gaussiana centrada na origem para diferentes valores do parâmetro 𝜖, que controla a escala radial da função.

Para a realização da classificação gaussiana, a abordagem consiste simplesmente na utilização de uma camada RBF para a classificação. Suponha que, para uma determinada locução de entrada 𝑋, a saída da camada anterior à camada de saída é composta pelo

vetor 𝑜 e que a rede é treinada para classificar locuções provenientes de 𝐿 locutores,

𝑆𝑙, 𝑙 = 1, 2, ..., 𝐿. Nesse caso a probabilidade associada a cada um dos locutores é definida por: 𝑝(𝑆𝑙|𝑋) = 𝜑𝑐𝑙(𝑜) 𝐿 ∑︀ 𝑗=1 𝜑𝑐𝑗(𝑜) , (3.4)

onde 𝑐𝑙 é o centro associado ao locutor 𝑆𝑙. A Equação 3.4, combinada com a parte ex- ponencial da Equação 3.3, é equivalente à função softmax, que é a função de ativação presente na camada de saída da DNN utilizada pela modelagem x-vectors. Para manter essa descrição, podemos manter uma camada com nós que realizam a operação presente no argumento das exponenciais da Equação 3.3 e então utilizar uma função de ativação

softmax. Dessa maneira, a camada RBF é definida pela função

𝜑⋆𝑐(𝑥) = −𝜖||𝑥 − 𝑐||2, (3.5)

e com função de ativação softmax, cuja saída define as probabilidades a posteriori dos locutores: 𝑝(𝑆𝑙|𝑋) = exp[𝜑⋆ 𝑐𝑙(𝑜)] 𝐿 ∑︀ 𝑗=1 exp[𝜑⋆ 𝑐𝑗(𝑜)] . (3.6)

Ao utilizar essa classificação, a rede mapeia a locução de entrada, camada a camada, até uma representação onde o modelo de um determinado locutor pode ser descrito atra- vés de uma distribuição normal e as representações referentes ao locutor se distribuem radialmente próximas ao centro associado ele.

A camada de classificação gaussiana possui a mesma quantidade de parâmetros que a camada de saída convencional (camada densa), uma vez que cada nó RBF é parametrizado pelo vetor de centro, cuja dimensionalidade é a mesma que o vetor de pesos de um neurônio, e pelo fator de escala, 𝜖, que é um valor real como o bias do neurônio.

Mesmo no cenário em que o espaço onde a classificação é realizada (definido pela camada de saída) modela as representações produzidas pelos locutores utilizando distri- buições normais, o controle sobre o espaço dos x-vectors ainda é limitado, visto que eles são extraídos a partir da camada anterior. De fato, quanto mais próxima uma determi- nada camada está da camada de saída, mais próximo o espaço gerado pela camada está do espaço onde a classificação dos locutores de treinamento é realizada. Esse espaço é majoritariamente definido pelas informações necessárias para diferenciar os locutores de treinamento e maior é a chance de a representação estar enviesada pelos dados de treina- mento (overfitting). Essa é a principal razão pela qual as representações são extraídas da primeira camada após o pooling temporal (SNYDER et al., 2017; SNYDER et al., 2018).

Como os x-vectors são extraídos da parte linear da camada imediatamente após o

pooling temporal, temos que eles são resultado de uma transformação linear da agregação

da distribuição dos x-vectors. A abordagem proposta neste trabalho consiste, então, em modelar o espaço produzido pelo pooling temporal utilizando gaussianas.

A camada de pooling temporal agrega as representações temporais aprendidas pela rede e as agrega através do cálculo de estatísticas, como média e desvio-padrão para o caso dos

x-vectors. A resposta da rede é composta pela concatenação dessas estatísticas para formar

a representação, de dimensão fixa, para a locução inteira. A ideia da abordagem proposta é a mesma, porém, um controle é aplicado sobre a distribuição das representações temporais. Aqui, modela-se o espaço dessas representações através de um conjunto de RBFs, com o intuito de gerar representações provenientes de distribuições normais. Uma analogia direta pode ser realizada entre o conjunto de RBFs gaussianas com um modelo de fundo GMM. Cada RBF é responsável por modelar uma parte do espaço e um determinado vetor pode ser visto como pertencente a essas diferentes partes do espaço modelado pelo conjunto de gaussianas. Sob esse ponto de vista, podemos dizer que estamos modelando esse espaço através de um modelo generativo, caracterizado por um modelo de misturas de RBFs, cujos parâmetros serão aprendidos pela rede.

A própria RBF gaussiana (Equação 3.3) computa um valor para o grau de pertinên- cia de um determinado vetor à partição1 do espaço modelado por ela. Esse valor possui

uma analogia direta com a verossimilhança de uma observação dada uma componente de mistura de um GMM, e, através da Equação 3.6 também podemos calcular a distribuição

a posteriori das componentes. Nesse cenário, estatísticas como as de Baum–Welch (Seção

2.4.3) podem ser computadas nesse espaço caracterizado pelas RBFs. Tais estatísticas são utilizadas na caracterização dos supervetores GMM e possuem as informações necessárias para descrição do modelo gerado pela adaptação do UBM utilizando os vetores de carac- terísticas de uma determinada locução. De fato, as estatísticas de ordem zero e primeira ordem são suficientes, por exemplo, para a decomposição da matriz de variabilidade to- tal dos i-vectors. Ao modelar o espaço através de um modelo de fundo, tais estatísticas agregam as informações temporais extraídas das locuções utilizando o grau de pertinência dos vetores a cada uma das componentes do modelo. Suponha uma camada formada por

𝑀 RBFs gaussianas, parametrizadas pelos pontos centrais 𝑐𝑗, 𝑗 = 1, ..., 𝑀 , e que a saída

da camada anterior é composta, para uma determinada locução, de um conjunto de 𝑇 vetores com representações temporais, 𝑂 = {𝑜1, 𝑜2, ..., 𝑜𝑇}. Para cada componente 𝑗 do

modelo de misturas, as estatísticas de ordem zero e primeira ordem são definidas por:

𝑛𝑖 = 𝑇 ∑︁ 𝑡=1 𝑝(𝑖|𝑜𝑡), (3.7) 𝐸𝑖 = 1 𝑛𝑖 𝑇 ∑︁ 𝑡=1 𝑝(𝑖|𝑜𝑡)(𝑜𝑡− 𝑐𝑖), (3.8)

1 Em termos mais precisos, estamos nos referindo a partições difusas (fuzzy), às quais podem ser atri- buídas graus de pertinência de um determinado vetor do espaço.

respectivamente, e a probabilidade a posteriori da componente é calculada da mesma maneira como na Equação 3.4:

𝑝(𝑙|𝑜) = 𝜑𝑐𝑙(𝑜) 𝐿 ∑︀ 𝑗=1 𝜑𝑐𝑗(𝑜) . (3.9)

Enquanto que as estatísticas de ordem zero definem os graus de pertinência das repre- sentações temporais para as componentes de misturas, as estatísticas de primeira ordem extraem representações médias de deslocamento para cada uma delas. Assim como nas abordagens utilizando supervetores GMM e i-vectors, a combinação delas é assumida suficiente para caracterização da variabilidade contida nas representações temporais. A Figura 24 apresenta a arquitetura da DNN com as camadas de classificação e pooling gaussianos.

A saída da camada de pooling gaussiano proposta é composta pela concatenação das estatísticas de ordem zero e primeira ordem (Equações 3.7 e 3.8) de todas as componen- tes presentes na camada. Para uma camada formada por 𝑀 componentes RBFs, cuja entrada e vetores de centro possuem dimensção 𝐾, a saída produzida possui dimensio- nalidade 𝑀 × (𝐾 + 1). Uma importante diferença entre a camada de pooling proposta e a camada de pooling estatístico convencional é que a primeira desempenha um papel bem mais importante na modelagem do espaço que agrega as representações temporais. A camada convencional é composta pelos vetores de média e desvio-padrão das represen- tações produzidas pela camada anterior. Dessa maneira, essa camada apenas produz uma agregação simples das representações anteriores, produzidas pelas camadas da primeira parte da rede, que são responsáveis pela robustez presente nas representações.

Já a camada proposta é responsável pela descrição do espaço das representações tem- porais em um espaço mais complexo, composto por misturas de RBFs. Dessa maneira, é natural assumir que ao diminuir a dimensionalidade da representação produzida pelas camadas temporais, a modelagem da variabilidade existente nesse espaço mais reduzido pode ser alcançada utilizando um número adequado de misturas. Por exemplo, na camada DNN convencional, as camadas temporais produzem representações de dimensionalidade 3 × 512 = 1536 para cada janela temporal, e a camada de pooling agrega as informa- ções para geração do vetor de estatísticas de dimensão 3072. Com a camada proposta, a primeira parte da rede poderia gerar representações mais compactas, com, digamos, di- mensionalidade 64, e 48 componentes de mistura poderiam ser utilizados para geração da representação final com dimensionalidade similar à da representação estatística na rede convencional.

Pooling Gaussiano x ∈ R x-vector E X ∈ RTxD

..

.

características acústicas TDNN camada de saída RBFs + softmax [{Nc}, {Fc}] ∈ R Posteriors p(S|X) dos locutores x' ∈ RTxK Mx(K+1) camadas densas

Figura 24 – DNN proposta com classificação e pooling gaussianos. Na classificação, uma camada RBF é utilizada para geração das probabilidades a posteriori dos locutores. Já para o pooling gaussiano, uma camada com 𝑀 componentes RBFs é utilizada para a modelagem das representações temporais de entrada e a representação de saída é definida pela concatenação das estatísticas de ordem zero e primeira ordem extraídas de cada uma das componentes.

3.3

FUNÇÃO DE REGULARIZAÇÃO PARA CONTROLE DA DIS-