論文メモ_5
AI and Accessibility: A Discussion of Ethical Considerations
1. システムの包括性:誰に向けたシステムか。多様なdiversityをカバーできているか。
2. バイアス:性別や人種に対する偏見、障害に基づく差別を促さないか。SNSのようなサービスから、知られたくない個性や状態が推測できる可能性がある。
3. プライバシー:システム学習のために協力者がデータを提供する際、データを完全に匿名化できるとは限らない。
4. エラー:エラーはつきもの。overconfidence/underconfidenceを減らすために、どのように結果を提示すべきか。
5. ExpectationSetting:特定のタスクでうまくいっただけなのに、さもそれが現実世界でも動作するような誇張は無くすべき。
6. どのようにsimulated dataを作ればいい?
7. 新しい技術に対する需要性:プライバシーや公平性など、技術を利用することで生じる、間接的な利害関係者への影響はどうか, eg., google glass。
Two-Pass End-to-End Speech Recognition
mobile deviceのような低リソース計算機下で、認識性能を上げるための試み。RNN-Tでstreaming ASRを行い、その結果を用いてattention decoderで2nd pass decodingを行う。encoder networkを共有し、RNN-Tの値を用いてMinimum WER基準でdecoder networkを学習。
Twin Regularization for online speech recognition
Unidirectional LSTMをencoder networkとして使用するオンラインシナリオで、認識を上げるための試み。forwardで求めたhidden statesとbackwardで求めたhidden statesのMSEをロスとして追加。
Compression of End-to-End Models
end-to-end ASRをモバイル端末で動かすため、以下の手法を検討。sequence level knowledge distillation、matrix factorization、weight pruning。
Multilingual Adaptation of RNN based ASR Systems
言語特徴量を補助情報として使用して、multilingual ASRの性能を上げる試み。
音声に対して言語ラベルを予測するネットワークを学習し、そのbottleneck featureを1) 補助情報として使用 2) LSTMの出力に掛け合わせる の2通りを比較、実験。
Learning Problem-agnostic Speech Representations from Multiple Self-supervised Tasks
様々な音声関連のタスクで有用な特徴量を抽出する試み。目的関数はシンプルで、音声波形を入力し、Log power spectrumやMFCC、prosodyを出力するように学習。frame単位のmappingだけでなく、globalな情報も目的関数として組み込んだり、与えられたサンプルが当該フレームより前にあるか後にあるかを当てるタスクも組み込んだりする。
Non-Parallel Sequence-to-Sequence Voice Conversion with Disentangled Linguistic and Speaker Representation
VAE-based Domain Adaptation for Speaker Verification
out-of-domainな環境でも頑健にspeaker verificationを行うための適応手法に関する研究。x-vectorを学習後、それを対象としてVAEを学習。得られたlatent representationを用いてPLDA。VAEやPLDAを適応。
Uncertainty weighting and propagation in DNN-HMM based speech recognition
DNN-HMM hybrid ASR systemにuncertainty weightingを適用。senoneの事後確率の分散を求め、これが閾値よりも大きければあまり信頼できないとし、それに応じて事後確率に重みをかける。
A study of speaker adaptation for DNN-based speech synthesis
DNNベースのTTS systemを話者適応する試み。i-vectorの入力およびLHUCを用いたパラメタ更新を行う。
Adaptation of an Expressive Single Speaker Deep Neural Network Speech Synthesis System
DNNベースのTTS systemを話者適応する試み。hidden unitの数を学習後に新たに増やし、これを学習。
Speaker adaptation in DNN-based speech synthesis using d-vectors
DNNベースのTTS systemを話者適応する試み。d-vectorを補助情報として使用する際、1) そのまま使用 2) 既知話者のd-vectorの線形補間として表現 3) 二つの併用 などを比較。
Linear Networks based Speaker Adaptation for Speech Synthesis
DNNベースのTTS systemを話者適応する試み。新たに層を追加したりSVDで行列分解を行い、少量パラメタのみを更新。
論文メモ_4
Adversarial Attacks Against Automatic Speech Recognition System via Psychoacoustic Hiding
Hybrid DNN-HMM systemを対象としたadversarial attack。exampleを生成する際、mp3圧縮を参考に取りうる値に制約を置くことで、imperceptibleに。任意の単語系列にご認識させられる。コード、サンプルともに公開されていた。
Encrypted Speech Recognition using Deep Polynomial Networks
server側でASRを行う際、client側で音響特徴量を暗号化し、server側ではそれに対してhomomorphic encryptionをかけたままposterior probabilityを計算する。client側はそれを受けとって解読し、最終的なsearchを行う。How to prune in encrypted domain and hide this information is still an open problem.
Improved Speech Separation with Time-and-Frequency Cross-domain Joint Embedding and Clustering
mixture signalに対してmaskをかけてspeech separationを行う際、time and frequency domain features両方を考慮させる。そのため、入力信号にSFTFをかけた後の出力とCNNをかけた後の出力 (CNN encoded features) 両方を対象に、それぞれmaskの推定や信号の生成を行う。maskを計算する際に1d convをかけ、両方をミックス。
Speech Model Pre-training for End-to-End Spoken Language Understanding
Spoken language understanding のためのデータ (Fluent Speech Command) およびコードを作成。# hours (train): 14.7, # spk (train): 77。
Few Shot Speaker Recognition using Deep Neural Networks
capsle networkを用いて、few shot speaker recognition (~3seconds)。
Triplet Network with Attention for Speaker Diarization
speaker diarization taskでself attentionを用いる。triplet lossを用いて、異なる話者との間のembedding space上での距離(L2)が一定以上となるよう学習。評価基準はdiarization error rate[1]。
[1] pyannote.metrics: a toolkit for reproducible evaluation,diagnostic, and error analysis of speaker diarization systems
Discriminative Learning for Monaural Speech Separation Using Deep Embedding Features
論文メモ_3
End-to-End Multi-Speaker Speech Recognition using Speaker Embeddingsand Transfer Learning
"VoiceFilter: Targeted Voice Separation by Speaker-Conditioned Spectrogram Masking"と似たアイディア。single speakerでモデルを事前学習。
Self-supervised Attention Model for WeaklyLabeled Audio Event Classification
audio event classification taskで、正確な時間情報を含むラベル情報 (strong labels) がある場合、当該時刻の当該クラスにかかるattentionが高くなるように、lossを追加。strong labelsがない場合も、self-supervisedで学習できる。(TTS分野でも[1]のようにattention自体に対してlossを定義している手法がある、おいている仮定は違うが。)
[1] Efficiently Trainable Text-to-Speech System Based on Deep Convolutional Networks with Guided Attention
Forward-Backward Decoding for Regularizing End-to-End TTS
End-to-End TTSにおいて、decoderはleft-to-right (L2R)にdecodeしていく。そのため、exposure biasが問題となる。これに対処するため、right-to-left (R2L)にstepを進めるdecoderも学習し、両者の生成するメルスペクトログラム (もしくはhidden states)が一致するよう、新たにロスを追加する。メルスペクトログラムを対象とした場合、data augmentationともみなせる。
ASRでも同じモチベーションで研究が行われており、その一つが[2]
[2] Forward-Backward Attention Decoder
Exploring Phoneme-Level Speech Representations for End-to-End Speech Translation
End-to-endで音声翻訳をする際、直接frame-levelの音響特徴量を入力するのではなく、phoneme-levelの情報、具体的にはDNN-HMMで求めたアライメント、を入力としてMTを学習。
Very Deep Self-Attention Networks for End-to-End Speech Recognition
モチベーション:transformerをそのまま音声認識に適用しても、精度の改善は限定的なので、さらに改良を加える。residual layerのskipしない方の値に(dropoutと同じように)maskをかけるstochastic layerを提案。very deep: 48 transformer layers in total。
Almost Unsupervised Text to Speech and Automatic Speech Recognition
ASRのTTSの間のdualityに着目して、なるべく少ないpairwise dataだけを用いてASRとTTSモデルを学習。single speaker, 200 paired data on LJSpeech。⇔speech chain, cycle consistency。
Self-Attention Aligner: A Latency-Control End-to-End Model for ASR Using Self-Attention Network and Chunk-Hopping
Online recognitionのための、self attention network (SAN)を用いたend-to-end model。1) blankとcausalを考慮したマスクをかけてLMを学習 2)chunk単位での処理 (Chunk-hopping mechanism)
Towards Language-Universal End-to-End Speech Recognition
Multi-(3-) lingual end-to-end ASR。output unitの、複数言語間での共有を許す。output unitの発音が言語間で異なるので、言語情報を利用してhidden vectorに対してgatingを行う。また、対象言語と関係のないoutput unitはzero maskingする。
別スレッドで重いタスクを動かし、終了後にメインスレッドで値を受け取る。
タイトルにある動作をC++で実装する際、future/promiseを用いた。スレッド終了後、値の受け渡しができる。初めて使用したので、メモ。
std::futureを使うかboost::futureを使うかは、boost::is_ready()を使うかどうかで決める?std::futureのwait_for()でも同じ情報が取れるよう。違いがよく分からなかった。
-----
boost::promise<string> p;
boost::future<string> f = p.get_future();
thread_pool.post([&, ...] {
string r = func();
p.set_value(r);
});
-----
if (f.is_ready()) {
string ret = f.get();
}
-----
condition_variableでも同期やスレッド制御ができる。
[TODO] boost::shared_mutexについて
Kaldiでwav fileを読み込む
Kaldiでwav fileを読み込む
1) kaldi formatの"wav.scp"を読み込む:
SequentialTableReader<WaveHolder> reader(wav_rspeficier);
for (; !reader.Done(); reader.Next()) {
std::string key = reader.Key();
const WaveData &wave_data = reader.Value();
}
2) wav file pathを指定して読み込む:
std::ifstream ifs(wav_file_path, std::ios::in|std::ios::binary);
WaveData wave_data;
wave_data.Read(ifs);
活性化関数の気持ち
以下URLで、neural networkでよく使用される活性化関数とその微分が図示されている。役に立ったのでメモ。
https://nn.readthedocs.io/en/rtd/transfer/
論文メモ_2
Cross-Attention End-to-End ASR for Two-Party Conversations
2話者がturn changingしながら話した音声を認識する際、それぞれの話者のためembeddingを明示的に用意し、それをcontext embeddingとして使用。データベースは Switchboardで2-partyのみ。
Monaural Audio Source Separation using Variational Autoencoders
VAEを用いてsource separation。男性話者と女性話者の音声を重畳しており、より難しいtaskへの応用 (many/similar sources) がfuture work。
Multilingual Speech Recognition with Corpus Relatedness Sampling
複数言語のコーパス群を組み合わせてmultilingual ASRを作成する際、学習データとして使用する発話を、認識対象言語コーパスと学習コーパス群の間の類似度をもとにサンプリングして選択する。
Bidirectional Recurrent Neural Network with Attention Mechanism forPunctuation Restoration
音声認識モデルを学習する際、書き起こしの句読点は除かれる。認識結果に対して後処理的に句読点を付加するため、それらを追加するかどうかを決定するseq-to-seq modelを学習。入力として音響特徴や言語特徴の比較。
RWTH ASR Systems for LibriSpeech: Hybrid vs Attention- w/o Data Augmentation
Data augmentation無しLibrispeechを用いて、hybrid systemとseq-to-seq modelの性能比較。hybrid, seq-to-seqいずれも、他の研究と比べてstate of the art。当然、data augmentationした場合や大規模データを用いた場合に興味を持った。
Probabilistic Permutation Invariant Training for Speech Separation
従来のPIT/PFT (permutation invariant training)は、ロスを最小とするラベルを正解ラベルとして使用する。permutation functionを確率密度関数とするprobabilistic PITを提案。
Deep Context: End-to-End Contextual Speech Recognition