たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

徹底解説!GANSynth

圧倒的なクオリティ・conditioningの楽曲生成を達成したGANSynthを徹底解説!

3行まとめ

  • NSynthデータセットを用いたpitch-conditional 多楽器 音楽生成
  • compressionless-mel-scale log magnitude rainbowgramによるデータ表現が決め手
  • GeneratorはConv & upsampling、DiscriminatorはConvするだけで圧倒的に自然な楽曲の生成に成功

概要

Jesse Engel, et al. GANSynth: Adversarial Neural Audio Synthesis. ICLR2019 conference paper.
official implementation(magenta)
著者はGoogle (Brain, AI) が中心.

根底にある問題: 機械学習において効率的な音声合成は、人の感覚がグローバルな構造とローカルの微細な波形コヒーレンスの両方に敏感なために難しい。
既存手法の限界: 自己回帰モデル (e.g. WaveNet) はローカルな構造をモデル化できるがグローバルな潜在条件付けと繰り返しサンプリングの速度を犠牲にしてる。GANはグローバルな潜在条件付けと効率的な平行サンプリングが可能な反面、ローカルにコヒーレントな音声波形を合成するのは難しい。
着目点: より学習しやすいデータ表現があるはず
手法と結果: log magnitudesとinstantenious frequenciesをスペクトルドメインで十分な周波数で記録し結果: WNベースを上回るmetricsを、54000倍早く実現。

ポイント

magnitudeとphase angle、その派生物をデータ表現とするのはかなりシンプルな発想。
しかし今まではうまくいっていなかった (c.f. NSynth)。
低周波数帯で周波数分解能を上げたのが成功の秘訣 (Table1)。

Refs

  • Wavenet (Global conditioning signal)
    • Parallel-WaveNet
    • NVIDIA WaveNet
    • Engel et al. 2017 ??

Background

  • 音声ARモデルの成功と効率・global面での欠点
  • 画像GANの成功 (高い効率・大域特徴習得)
  • 音声GANはまだ不十分
  • 音声ドメインの特徴: 周期性

AR

自己回帰モデルで音声生成: うまくいっている、が、大域構造および学習効率に問題あり

GAN

画像生成では大成功 (GAN, DCGAN, WGAN, WGAN-GP, BEGAN?, DRAGAN, PGGAN, Spectram Norm)
ドメイン変換でも成功 (pix2pix, CycleGAN, Unsupervised Creation of Parameterized Avatars, Towards the Automatic Anime Characters Creation with Generative Adversarial Networks)
GANで音声生成はまだ微妙 (WaveGAN, SpecGAN)
(※私注: GANSynthと同じタイミングで楽曲生成GANが続々と登場)

音声ドメイン特有の事情

音声は周期的

学習フィルタがlog frequency filterを学ぶことが多い (Dieleman 2014, Zhu 2016)

ヒトは局所的なコヒーレンスにうるさい

人はlocal coherence (1 ms - 100 msの時間スケール) (周期性とその崩れ・不規則性) に敏感
周期性に重きを置いた

周期的連続信号は離散化すると歳差運動する

coherenceが大事なのだが、STFTやCNNでコヒーレントな波を生成するのはphase precessionのせいで難しい.
(coherentであれば絶対値そのものは対して重要ではないのに) 位相値が離散的に歳差運動するため、coherenceを守るために各点でのphase値を正確に推定しなければならなくなる.
多数の周波数成分が混じっている (と解釈できる) ので、frame strideとsignal periodicityはどうしてもずれたものがある.
(これって、位相推定の問題?それともフレーム非一致(c.f. 窓関数) の問題?)
これはSTFTに見られるphase precessionそのもの (STFTはstrided filterbanksでCNNに似てると言っている)

Phase precession also occurs in situations where filterbanks overlap (window or kernel size < stride). ??

frame strideとsignal periodicityの角周波数差で歳差運動

より良い位相表現: Instantaneous frequency

c.f. phase vocoder (Dolson, 1986)

true signal oscillationの解析法である。

a time varying measure of the true signal oscillation

(離散信号の特徴)

  • strided convによる波形生成より、GANによるlog強度/位相生成のほうがよりコヒーレントな波形を生成
  • 位相推定よりIF推定のほうがよりコヒーレントな音声を生成
  • 低周波数領域で周波数解像度の向上が重要
  • WaveNet baselineより54,000倍素早く、優れた音声を生成
  • 潜在表現とピッチベクトルへの条件づけで、音色の補間とピッチ間で一貫した音色を実現

Prior Works

Audio Synthesis

  • WaveGAN/SpecGAN

再現実装

NSynthデータセットに対しV100GPUx1で3~4日1 (論文では4.5日とのこと2)
V100がFP32: 14.90 TFPS,
K80 がFP32: 4.368 TFPS/core
なので、フルの学習にはGoogle Colaboratoryで15日ほどかかる.
$2/hourくらいで見積もるとV100で1学習に2万円ほど。案外安い?

モデル

PGGAN (ひたすらConv/TransConvするだけ)
WGAN-GP
pixel normalization
progressive trainingはしてもしなくても大きく変わらず (若干良くなる) 3.

ネットワーク

simple decoder-encoder by CNN with upsampling/downsampling

Conv kernel: (4, 4) or (3, 3)
Decoder: Upsampling (2x2 element replication) => (conv channel reduction & LReLU) x2
Encoder: (conv channel increasing & LReLU) x2 => Downsampling (average pooling)

from latent (512, 1, 1) =>
STFT: (256, 512, 2)
STFT: (128, 1024, 2)

ポイント単語

  • perceptual fidelity
  • coherent waveform
  • Phase coherence
  • phase irregularities
  • waveform modulo

Rainbowgrams

tarepan.hatenablog.com

harmonic frequency

IF spectra forms solid bold lines where the harmonic frequencies are present. The IF is noisy outside these regions but they have very little effect on the resynthesized sound as there is little magnitude present at those times and frequencies.

data representation (特徴量)

compressionless-mel-scale log magnitude rainbowgram
名前の記法参考
spectrogramはmagnitudeもpowerも自然
deepvoice3での言い回しがこれに近い

音響特徴量

全体像は
waveform -> STFT magnitudes & phase angles -> scaling -> GANSynth -> re-scaling -> ISTFT -> waveform

waveform

4 sec / 16 kHz => 64,000 dim

wave to features

TensorFlowのbuilt-in関数(complex64返す) でSTFT

  • STFT
    • stride : 256
    • frame size: 1024
      • => 75% overlap

周波数binはNyquist frequencyで打ち切り (x:513 => 512)
timeBinは256になるようpadding (251 => 256) ### 強度/magnitude logを取りスケール調整.
(-1, 1)にスケール.
mel scaleに変換 (frequency bin数は変えず) (内挿?)

位相角/phase angle

phase modelと Instantaneous frequency (IF) modelで実験.

waveform => an "image" of size (256, 512, 2) (x, x, |z|&∠z)
unroll the phase angle and take the finite difference -> "Instantaneous frequency" model

IF

finite difference 有限差分を取ってIFを求めた 4
Figure1だとangle0から始まるframe0のIFは0扱いされているので、初期位相をframe0のIFとして残りは差分で表現するのが順当か?

Dataset

subset of NSynth (70,379 samples from total 300,000 musical notes)
criterion: acoustic instruments and fundamental pitches ranging from MIDI 24-84 (∼32-1000Hz) (there are sound natural to an average listener)
80:20 = train : test

NSynth

位相推定をNNでやろうとしたがあんまりだった

We also explored several representations of phase,
including instantaneous frequency and circular normal cost functions ...,
but in each case independently estimating phase and magnitude led to poor sample quality due to phase errors.

結局、FFT -> magnitudeを推定 -> Griffin Limで反復位相推定

estimating only the magnitude
reconstruct the phase (Griffin & Lim, 1984)
a large FFT size (1024) relative to the hop size (256) and ran the algorithm for 1000 iterations

FFT size: kernel size的な
hopsize: stride的な
1区間が1フレーム的な

numpyでスペクトログラムによる音楽信号の可視化 - Qiita

要整理

音声合成

(Neural) Audio synthesis


  1. GANSynth can train on the NSynth dataset in ~3-4 days on a single V100 GPU. ref

  2. We train each GAN variant for 4.5 days on a single V100 GPU, with a batch size of 8. (from paper)

  3. We also try training both progressive and nonprogressive variants, and see comparable quality in both.

  4. We optionally unroll the phase angle and take the finite difference

損失関数は機械学習の肝

結果の良さを評価する関数なので、クリティカル

入力Xから悪さYへの投射
Xの定義域、Yの値域、X-Yの対応(規則)が全て

Xがタプルになっていることも多い
ラベルと出力、変換前と変換後、みたいな

ドメイン知識の必要性

2つの異なるデータが同じ悪さを持つ場合があるので、データ間のノルムを単純化には使えないことがある。
音声系なら、波形が違っても同じ声に聞こえるものがある
Cycle変換して同じに聞こえる違う波形が出た場合、悪さ0なのにノルムは0以上になる

病は口から? アルツハイマー病と歯周病菌の因果関係 (Science Ads.誌 2019-01)

慢性歯周炎に関わる病原菌がアルツハイマー認知症の原因となっており、薬によって病原菌の除去と細胞死の抑制が可能と示された。臨床試験進行中。

概要

Stephen S. Dominy, et al.. Porphyromonas gingivalis in Alzheimer’s disease brains: Evidence for disease causation and treatment with small-molecule inhibitors. Science Advances (2019-01) article
"アルツハイマー病の脳内に潜む P. ジンジバリス菌: 病を引き起こす証拠と小分子阻害剤による治療"
歯周病に関わる菌、Porphyromonas gingivalis (ジンジバリス菌)アルツハイマー認知症患者の脳内に存在することが判明した。
ネズミにジンジバリス菌を感染させると、ジンジパインタンパク質を介した神経細胞死や、認知症に関わるアミロイドタンパクの産生がみられた。
ジンジバリス菌を標的とした薬剤を設計し、感染ネズミに投与したところ、菌の除去と細胞死の抑制が確認された。
この薬剤は認知症の悪化抑制あるいは改善に効果が期待され、現在、臨床試験第1相を通過しており、第2/3相試験が予定されている。
が、認知症行動に関する実験が行われていないため、この論文で「ジンジバリス菌が認知症を起こす」と理解するのは早計だと私は考える。

臨床応用: 治験が進行中 (フェイズ1 通過)

経口投与可能なKgp阻害剤が開発中であり、アルツハイマー認知症に対するヒト臨床試験 (治験) が進んでいる.
リード化合物であるCOR388がアメリカにおいて第一相臨床試験 (Phase1b) を通過. 1 2/3相試験は2019Q2 (春)に全世界で予定 2

研究者向け

背景

ジンジパイン / gingipains: システインプロテアーゼ群。Kgp, RgpA, RgpB (Lysine(K)/Arginine(R)-gigipainが正式名称)がタンパク質

結果

P. gingivalisとアルツハイマー認知症の相関

P. gingivalis由来タンパク質とAD患者の相関

手法: 免疫組織
AD患者および健常人由来の側頭葉スライスに対し、ジンジパインとTau (p-Tau含む) で免疫染色.
ADのうち9割以上でジンジパイン発現が確認され (健常人は約50%)、発現量はADにおいて高かった.
ADではジンジパイン量とTau量は正の相関がみられ、さらにジンジパイン量はユビキチン量とも正の相関がみられた。健常人でも正の相関がみられたことは示唆的である。
PDやハンチントン病の患者スライスでは、健常人との間に有意なジンジパイン量の差は認められなかった。

ジンジパインの局在、AD関連タンパク質との共局在

手法: 免疫組織
RgpBタンパク質の海馬における局在を免疫染色によって調べた.
DGからCA1までRgpBの発現が認められたことから、細胞種の同定をおこなった。
ニューロン(MAP2) およびアストロサイト (GFAP) の内部にRgpB発現がみられ、ミクログリア (Iba1) との共染色は見られなかった。
RgpB陽性細胞ではTau, APの凝集がしばしば観察された。
また、皮質lysateからジンジパイン抗体によって免疫沈降をおこない、さらにウエスタンブロッティングをおこなったところ、ADおよび健常者の5/6においてバンドが確認された。

P. gingivalisの存在

手法: qPCR
エスタンと同様のサンプルに対し、P. gingivalis 16S rRNAあるいはジンジバリス菌specific遺伝子に相同性をもつPrimerを用いてqPCRをおこなった。
エスタン陰性のサンプルを除き、DNA増幅が確認された。
同じグラム陰性菌であるピロリ菌のPrimerでqPCRをしても増幅が確認されなかったことから、擬陽性ではなくP. gingivalisが存在していると示唆される。

脳脊髄液におけるP. gingivalisの存在

手法: qPCR
AD診断を受けた患者から脳脊髄液を採取し、qPCRによってジンジバリス菌の存在を調べた。
7/10のAD患者においてDNA増幅が確認され、また唾液からqPCRをおこなったところすべての患者でDNA増幅が確認された。

ジンジパインタンパク質の役割

Tauの切断

ジンジパインのプロテアーゼ活性がTauを切断するか検証した。
SH-SY5YラインにP. gingivalisを感染させ、水溶性Tau量をウエスタンで確認したところ、数時間でバンドの強度が低下した。
Tau配列にはジンジパイン標的配列が含まれており、MSによる断片解析によってTauの切断が確かめられた。

細胞死の誘導

ジンジパインが細胞の生存に影響をあたえるか評価した。
SH-SY5YラインにRgpB、Kgpを添加すると、細胞の凝集がみられた。不可逆的なシステインプロテアーゼ阻害剤でジンジパインを事前処理するとこの凝集が起きないことから、ジンジパインのシステインプロテアーゼ活性が細胞毒性を引き起こしていると考えられる。

細胞死の抑制

ジンジパイン阻害が毒性を抑えることから、P. gingivalis感染に対するジンジパイン阻害薬の効果を検証した。
SH-SY5YラインにP. gingivalisを感染させジンジパイン阻害剤を添加すると、細胞死が完全に抑制された。
in vivoでの効果を検証するため、ジンジパイン阻害剤を事前投与したマウスの脳へP. gingivalisをインジェクションしたところ、対照群でみられたニューロン死が起きなかった。

P. gingivalisとアルツハイマー認知症の因果関係

P. gingivalisの経口投与と神経細胞死・アミロイドタンパク質

マウスへP. gingivalisを6週間 経口投与し、アミロイドタンパク量と死滅した細胞数を定量化した。
.P. gingivalisの経口投与はAPの増加と細胞死を引き起こし、これはジンジパイン阻害剤の事前投与群では認められず、またジンジパイン遺伝子欠損株の経口投与でもAP増加および細胞死は認められなかった。

P. gingivalisとアミロイドタンパクの関係

APには抗生作用が示唆されていたことから、in vitroのP. gingivalisに対してAPを添加した。APがコロニー辺縁に集合し、バクテリア死が増加することが確認された。

結果まとめ

口腔に存在するP. gingivalisは9割以上のAD患者脳内に存在し、ニューロン・グリアに感染している。
ジンジパインを介したP. gingivalisの毒性が細胞死を引き起こすこと、ジンジパインはTau切断能を持つ。
ジンジパイン阻害剤はP. gingivalisによる細胞死およびAP増加を抑制する効果をもつ.

個人的考察

行動実験がないため、ジンジバリス菌と認知症行動の因果関係は明確でない。ジンジバリス菌投与群で認知症様行動をとる行動試験データが欲しかった。

おまけ

法人

Cortexyme, Inc. の人が1st authorかつcorresponding author.
ファイザーが出資に入っている。最近series Bの資金調達をしたっぽい。


  1. Our lead therapeutic candidate, COR388, recently completed a Phase 1b trial in healthy subjects and patients with Alzheimer’s disease in the US. link

  2. The Phase 2/3 global clinical study is expected to begin enrollment in Q2 2019 please link

Close to Human Quality TTS with Transformer

Close to Human Quality TTS with Transformer (2018)
Transformer (phoneme2spec) + WaveNet vocoder を用いたE2E Neural TTS.
2018のTTS SOTA (this system 4.39 vs human 4.44)

概要

Tacotron系のencoderとDecoder 1 をTransformerに置き換えたもの.
input sequence (of words or phonemes) => (encoder) => semantic space and generates a sequence of encoder hidden states

hidden states => (decoder) => mel frames

traditional Encoder & Decoder : RNN (LSTM, GRU)

f:id:tarepan5884:20190131165038p:plain
Close to Human Quality TTS with Transformer

Arch

Phoneme生成

Text-to-Phoneme Converter
NNでやってもいいけど、データ数が不足すると網羅性にかけてしまう。今回はrule systemで

学習上の注意

バッチサイズがでかくないとダメ。
Tesla P100 (メモリ16GB or 12GB) 1台だけだと学習がうまくいかない 2.
V100も16GBなので、2019年現在ではマルチGPU必須.


  1. The end-to-end neural TTS models contain two components, an encoder and a decoder

  2. We try training on a single GPU, but the procedures are quiet instable or even failed, by which synthesized audios were like raving and incomprehensible

ウェブ等へ公開するための音声フォーマット/コーデック@2019

音声にはたくさんのコンテナフォーマット・コーデックが存在する。
自分の音楽作品や音響信号処理を人々に「聞いて」もらうには、各プラットフォームで利用可能なフォーマットが不可欠である。
本稿では、そのために必要なウェブおよびアプリケーション (SNS, 投稿サイト中心) でのフォーマット/コーデック対応を一覧化する。

Webブラウザ

Twitter

H264 + AAC as MP4のみ対応.

MP4 video format with H264 format with AAC audio.
How to share and watch videos on Twitter

YouTube

opus対応らしいのだが、公式にはAACが推奨されていてよくわからない

結論

FLACでローカル保存、公開やエッジ端末ではAACが無難.

著作権法改正2018と音声合成

専門家へ質問する叩き台

著作権法の一部を改正する法律(平成30年法律第30号) 3.改正の概要
(1)デジタル化・ネットワーク化の進展に対応した柔軟な権利制限規定の整備
出典: 文化庁

権利制限規定:

  1. 著作物に表現された思想又は感情の享受を目的としない利用(第30条の4関係)
  2. 電子計算機における著作物の利用に付随する利用等(第47条の4関係)
  3. 電子計算機による情報処理及びその結果の提供に付随する軽微利用等(第47条の5関係)

出典: 文化庁

機械学習は1が関係する。

法律の土台となる会議

本法律は,平成29年4月に文化審議会著作権分科会において取りまとめられた「文化審議会著作権分科会報告書」等を踏まえ,
出典: 文化庁

隠れたVTuber発掘!を支援する色々まとめ

Twitterハッシュタグ

Twitterアカウント - VTuber新人発掘