最新AI論文をキャッチアップ

時系列にもGAN

時系列にもGAN

Time-series

3つの要点
✔️ GANの時系列データ生成への適用研究レビュー
✔️ GANそのものおよび時系列ならではの課題を解決して有用な成果を発揮
✔️ プライバシー保護は、時系列データ生成上重要な課題の一つ

Generative adversarial networks in time series: A survey and taxonomy
written by Eoin BrophyZhengwei WangQi SheTomas Ward
(Submitted on 23 Jul 2021)
Comments: Published on arxiv.

Subjects: Machine Learning (cs.LG); Artificial Intelligence (cs.AI)

code:  

はじめに

ダブリン市立大学、バイトダンスのグループによる時系列問題へのGAN応用研究のサーベイ論文です。同時に分類法も提案しています。よく知られているように、多くの時系列データでは正常値がほとんどで、異常値データを多く集めるには膨大なリソースを掛ける必要があります。そこで、さまざまな生成モデルが提案されています。GANの適用が検討されるのは自然な流れです。

生成モデルとしてまず検討されるのが、Fig.1 にあるオートエンコーダ(AE)です。  

GANはAEに比べ、生成データの質と、生来のプライバシー保護性に優れることからフロントランナーになっています。  

著者は、他分野でのGANについてのレビュー論文を紹介していますが、ここでは省略します。

時系列に適用する上でのチャレンジ

主なチャレンジは次の3つです。

学習の安定性

時系列に限らず、GANの安定性には課題があります。2つの問題がオリジナル論文でも述べられています。1)勾配消失、2)モード崩壊。勾配消失は、(1)式で表される損失関数を直接最適化することにより発生します。判別器Dが最適状態に至るとき、(1)を生成器Gに対して最適化することは、Jensen-Shannon(JS)ダイバージェンスを最小化することになります。

 

JSコンバージェンスはpr, pgに重なりがないときに定数になってしまいます。これにより勾配がゼロになります。実用上、pr, pgが交差しない、あるいは重なりが無視できるレベルという確率は高いです。

これを避けるため、生成器Gの更新には(3)の最小化が使われます。

これにより勾配消失は避けられますが、モード崩壊の問題を引き起こします。(3)式の最適化は、逆Kullback-Leibler(KL)ダイバージェンスKL(pg||pr)に変換できます。逆KLダイバージェンスを最適化するとき、prが複数のモードを持つ場合、pgは一つのモードを回復することを選び他のモードを無視します。これを考慮すると、(3)を用いて生成器Gを学習すると、実際のデータのうちいくつかのモードを生成できるだけです。これらの問題は、アーキテクチャーや損失関数を変えることにより修正することができます。

評価

GANの性能評価は幅広く提案されています。コンピュータビジョンでのGANの評価では、ふつう2つの観点(生成データの質と量)を考慮して設計します。最も代表的な定性指標は、生成画像の質を人によるノーテーションで決めることです。定量指標は、生成画像と真実の画像を統計的特性で比較します。Maximum mean discrepancy (MMD), Inception Score, Frechet Inception Distance (FID)などです。

画像ベースのGANの評価に比べて、時系列データは人の知覚心理的感覚で定量的に評価するのは難しいです。定性的な評価については通常t-SNEやPCAを用いてどの程度似ているか視覚化します。定量的評価では、画像ベースGANと同様two-sampleテストを適用します。

プライバシーリスク

GANにより生成されたデータに関連したプライバシーリスクの評価に幅広い方法が使われています。 

よく使われるデータセット

時系列データ生成のためのベンチマーク用データセットには、画像ベースのデータセット(CIFAR, MNIST, ImageNet)のような標準あるいは共通して使われるものはありません。Table 1はよく使われるもののリストです。リポジトリが2つあります。UCR Time Series Classification/Clustering databaseUCI Machine Learning repositoryです。 

 

時系列ベースGANの分類法

離散変数、連続変数に分類しています。離散変数では、データ報告は頻繁でなく、不規則です。また、報告の中断のために値の抜けたギャップが存在します。離散時系列生成は、時間的依存性を持つかもしれないが離散した兆候を含むかもしれないシーケンスを生成します。連続時系列はすべての時点に対応するデータを持ちます。Fig.3がそれぞれの例を示します。 

離散時系列データ生成のチャレンジ

ほとんどあらゆる時点でゼロ勾配になることがGANの障害です。すなわち、離散オブジェクトの分布はそれらのパラメータについて微分可能でないということです。この制限により、逆伝播を使うだけではジェネレータの学習ができないということになります。

連続時系列データ生成のチャレンジ 

GANは本来画像という形において連続データを取り扱っています。しかし、時系列では連続データの時間という特性から別の問題も抱えています。時間特性とそれらの属性の間には、複雑な相関関係が存在します。 例えば、多チャンネルの生体測定/生理学的データを取り扱うとき、ECG特性は個人の年齢、健康状態に依存します。時系列データには長期の相関関係が存在します。その長さを決めるのは、画像データと比べると難しいです。画像の次元を変換することは画像品質の低下をもたらすかもしれませんが、認識できる処理です。しかし、連続時系列データでは、GANに用いられる標準的な次元(長さ)というものがありません。そのことがベンチマーク比較を難しくしています。

RNN (Fig. 4)はループのような構造から、シーケンシャルデータを取り扱うのに適しています。しかし、長期依存性を学習する能力に欠けるため、その変形としてLSTM(Fig. 4右)が開発されました。この論文で取り上げる論文中で、RNNベースのアーキテクチャーを持つもののほとんどはLSTMを使用しています。

RNNベースのRecurrent GAN (RGAN)は2016年に提案されました。生成器に再帰フィードバックループが含まれています。

離散変数GAN 

・Sequence GAN (SeqGAN)(Sept. 2016)

SeqGANの生成器にはLSTMセルが含まれ、判別器はCNN (Convolutional Neural Network)になっており、離散データについての前記の課題に対応しています。2016年までに提案された他の手法をしのぐ性能を示しています。生成器は、方策勾配とモンテカルロ探索による判別器からの報酬期待値によりアップデートします。強化学習のようですね。もともと、テキストなどの離散シーケンシャルデータ用に開発されましたが、連続シーケンシャルデータや時系列への門戸を開きました。著者らは、LSTMを正規分布に従うランダムなデータで初期化して生成した分布による合成データを用いています。実世界のデータとも比較しています。

Quant GAN (Jul. 2019)

Quant GANは金融時系列データの長期依存性を捉えることを狙ったデータ駆動型モデルです。生成器も判別器もスキップ接続付きTCN(Temporal Convolutional Network)を用います。WaveNetのようなDilated Causal Convolutionネットワークです。連続シーケンシャルデータの長期レンジ依存性をモデリングするのに適しています。生成器の機能は、ボラティリティとドリフトTCNからなる確率的ボラティリティニューラルネットワークです。TCNで用いられる時間ブロックは2つのDilated Causal Convolution層と2つのパラメトリックReLU活性関数からなります。生成器で生成されたデータは、判別器に渡されて出力になり、平均値が判別器の損失関数のモンテカルロ予測になります。性能は従来手法を上回りましたが、長期の連続時系列データのモデリングには計算の複雑性が問題となります。そこで、離散データに適用することになりました。

連続変数GAN

・Continuous RNN-GAN (C-RNN-GAN) (Nov.2016)

C-RNN-GANは連続シーケンシャルデータを生成します。生成器はRNN、判別器は双方向RNNです。ここでのRNNは2段のLSTMです。

 

・Recurrent Conditional GAN (RCGAN) (2017)

RCGANは、C-RNN-GANとはアーキテクチャーが異なります。RNN LSTMは用いていますが、判別器は双方向ではありません。また生成器の出力は次の時点の入力としてフィードバックされません。このモデルでは条件cを入力し、時系列データに関連ラベルを付けます。

・Sequentially Coupled GAN (SC-GAN) (Apr. 2019)

SC-GANは、患者の現状を知らせ、状態に応じて投薬量を推奨する患者中心の医療データの生成を目的としています。2つの結合した生成器を持ち、患者の現状と、推奨投薬量をそれぞれ出力します。判別器は2層の双方向LSTM、生成器はいずれも2層の片方向LSTMです。生成器は教師あり事前学習を行います。

 ・Noise Reduction GAN (NR-GAN) (Oct. 2019)

NR-GANは、時系列データのノイズ除去を目的としています。特に、EEG(脳波)信号のノイズ除去に適用されます。NR-GANは周波数領域でノイズを除去するものです。生成器は2層の1-D CNNに全結合出力層、判別器は全結合層の代わりにソフトマックス層を備え確率を計算します。生成器は、潜在空間からサンプリングを行わず、生脳波データから鮮明なデータを生成しようとします。古典的な周波数フィルターと同等としつつも、ノイズの量で限界があるとしています。

Time GAN (Dec. 2019)

Time GANは従来の教師なしGAN学習と、より制御できる教師あり学習の両方を取り扱えるフレームワークを提供しています。データは静的成分sと時間変動部分のタプルの形になっており、実データからはエンコーダを通して、分布データからは生成器を通して潜在変数になります。これを合わせたものを教師あり学習の損失関数とし、判別器を通したものを教師なし学習の損失関数とします。また、実データからエンコーダを通したデータはデコーダで復元され、復元損失関数となります。これらの3つの損失関数を用いてモデルを学習します。RC-GAN, C-RNN-GAN, WaveGANにたいして改善が見られたとしています。

・Conditional Sig-Wasserstein GAN(SigCWGAN)(Jun.2020)

時系列モデルの依存性を表現するSignature Wasserstein-1(Sig-W1)という指標を開発し、これを判別器として用いました(下図、オレンジ部分)。複雑なデータストリームの抽象、普遍表現であり、Wasserstein指標のような計算コストは必要としません。生成器も新規のものであり、Conditional Autoregressive Feed-forward Neural Network (AR-FNN)と呼ばれます。時系列の自己回帰特性を表現します。生成器は過去データとノイズを将来データにマッピングできます。TimeGAN, RCGAN, GMMN(Generative Moment Matching Network)を上回る性能だとしています。

 

・Decision Aware Time series conditional GAN(DAT-CGGAN)(Sept. 2020)

このフレームワークはエンドユーザの意思決定、特に金融ポートフォリオの選択を支援するべく設計されたものです。マルチWasserstein損失を構造化した決定関連定量に用います。損失関数は次の式の通りです。

生成器は、2層フィードフォーワードNN構造で、資産利益を出力します。これは、同じく2層フィードフォーワードNNの判別器に入力されます。出力の信頼度は良いようです。問題は計算コストが高いことで、一つの生成器の学習に1か月かかるということです。

・Synthetic biomedical Signals GAN(SynSigGAN)(Dec. 2020)

SynSigGANは各種の生理学的/生体医学的データを生成するように設計されています。心電図、脳波、筋電図、光電脈波をMIT-BIH 不整脈データベース他から生成することができます。生成器に双方向グリッドLSTM(BiGridLSTM)を用い、判別器にCNNを用います。BiLSTM-GRU, BiLSTM-CNN GANなど多くの変型を評価し、BiGridLSTMがもっとも良いと結論しています。

アプリケーション

データ拡張

データ拡張といえばGANは定評です。拡張の理由は、サイズや種類が少ない、偏ったデータセットということから、制限されたデータセットを普及のために再現することまであります。

データ不足問題へのよく定義されたソリューションは転移学習です。GANによる拡張データセットはある種の分類、認識タスクでさらなる改善がみられています。後で述べるように、GANによるデータ拡張はプライバシーの観点からも優位性を持っています。

医薬、医学系で、こういった利点が時系列データでも活用され始めています。

オーディオ、Text-to-speechは人気のある分野です。C-RNN-GANは音楽に適用した例です。金融でも応用されて予測、意思決定に使われています。土壌の温度予測、医薬の支出予測にも使われています。 

データ補完(Imputation)

実世界のデータでは、欠損や破損データはよくある問題です。従来は、欠損、破損を含むでーた列を削除、統計的にモデリング、機械学習による補完でした。GuoらはGANを用いた多変量時系列の補完設計を行っています。

ノイズ除去

時系列データに挿入された人工物は、しばしば信号中のノイズとして現れます。これは、以降の処理や分析において付きまとう問題となります。破損データはデータセットのバイアスをもたらし、健康アプリケーションなど重要なシステムの性能の低下に導きかねません。ノイズを取り除く共通的な手法は適応リニアフィルタなどです。GANを用いた方法も探求されています。NR-GANでのEEGデータのノイズ除去は従来手法に対して競争力があります。

異状検出

多くの実世界のシステムやセクターで、時系列データの外れ値、異状の検出は重要です。悪性の症状の先触れとなる生理学的異状検知であれ、株価の異常取引パターンの検出であれ、異状検知は重要な情報を知らせてくれる欠かすことのできないものです。非定常時系列の統計処理では検出できない、より深い特性の重要な外れ値の検出、ラベルのない大量のデータで深層学習は本領を発揮する余地があります。GANは、ECG、心臓血管の疾患、タクシー、サイバー物理システムの悪質なプレイヤー、株式市場での株操作などの異状検出に適用されています。

その他

時系列に画像ベースのGANが使われています。シーケンスをある関数を通してまず画像に変換し、画像に対してGAN学習を行います。学習後、逆変換によりシーケンスデータを得ます。この手法は、波形でのオーディオ生成、異状検出、生理学的時系列データの生成に使われています。

評価指標

前記のようにGANの評価は難しく、研究者の間でGANの性能をもっともよく評価する指標は合意されていません。多くの提案されている指標は画像データに対してのものです。評価指標は2つのカテゴリーに分けることができます。定性と定量です。定性は、言い換えると人による外観評価です。しかし、客観性に欠けるため、GAN性能の全評価とはみなされていません。定量評価には、時系列分析のための統計的測定指標や、類似性測定である、PCC (Pearson Correlation Coefficient), PRD(Percent Root Mean Square Difference), MSE, RMSE(Root Mean Squared Error ), MRE (Mean Relative Error), MAE(Mean Absolute Error)などがあります。これらは時系列には最もよく使われており、従ってGAN性能指標としても用いられています。

いくつかの指標は画像ベースGANの評価用に確立しており、シーケンシャルあるいは時系列GANにも浸透しています。IS(Inception Score), FD/FID (Frechet Inception Distance), SSIM(Structure Similarity Index)などです。2つの確率分布の類似性/非類似性の指標であるMMD(Maximum Mean Discrepancy)はドメインをまたがって適しています。シーケンシャルデータに一般化されているもうひとつの指標は、Wasserstein距離です。

GANで生成されたデータは下流で分類タスクに用いられます。総合指標として、TSTR(Train on synthetic, Test on Real), (TRTS(Train on Real, Test on Synthetic)が提案されました。分類器の性能を生成データの質とみなしPrecision, Recall, F1も使われます。他にWA(Weighted Accuracy), UAR(Unweighted Average Recall)もあります。

時系列データによく使われる距離、類似性指標としては、ED(Euclidian Distance), DTW(Dynamic Time Warping), MTDTW(Multivariate (in)dependent DTW)があります。

他に、金融分野ではACF(Autocorrelation Function)スコア、DY metricが、温度予測では、NS(Nash-Sutcliffe モデル効率係数)、WI(Willmott index of agreement), LMI(Legates and McCabe index)、音声ではNSDR(Normalised Source-toDistortion Ratio), SIR(Source-to-Interface Ratio), SAR(Source-to-Arrifact Ratio), t-SNEが使われています。

このレビューで取り上げたすべてのGANのアーキテクチャー、アプリケーション、評価指標、データセットがTable2にまとめられています。正弦波、ECGデータについての各種GANでの結果がTable 3, 4にあります。

 

 

プライバシー

GANによる生成データに関するプライバシーリスクを評価し、低減する方法が幅広く使われています。

Differential Privacy

Differential Privacyは、2006年にDworkが提唱した概念です。データベースの底にあるプライバシーを保護しようとするものです。その情報が追加されたことでプライバシーリスクが増加したかどうかで判定します。GANは訓練データをモデリングしようとするので、生成したサンプルが個人のデータにリンクする可能性なく、訓練データ母集団の有用な情報を抽出、生成するところにプライバシーの問題が存在します。

Differential Privacyのようなプライバシー保護のメカニズムを伴う機械学習の開発が進んでいます。Abadiらは、Differential Privacyを持つDNNの学習をデモし、Xieらは、学習過程でノイズ勾配をオプティマイザに加えることによりDifferential Privacyを実現するDPGANを提案しました。

Decentralised/Federated Learning

分布あるいは非集中学習はプライバシーリスクを制限するもう一つの手法です。機械学習の標準的な手法では、学習データを一つのサーバに保持します。GANに非集中/分布アプローチを適用するには、広い通信バンド幅と収束の確保が必要です。Federated Learningではこれを可能にします。GANに適用したのがFedGANです。

Differential PrivacyとFederated Learningの結合は明らかに、次の研究領域です。

プライバシー保護のアセスメント

生成モデルが我々のプライバシーを保護できるかは、Attirbute and presence disclosureとして知られるテストを通して評価することができます。後者のテストは、機械学習ではメンバーシップ推論攻撃としてよりよく知られています。機械学習モデルが、学習した個人のデータレコードについて情報漏洩したかの定量評価になっています。

Hayesらは、合成画像にメンバーシップ推論攻撃を適用し、プライバシーを許容レベルにするには、生成データの質を犠牲にしないとならないと結論しました。逆に、他の研究者たちはDPネットワークで、Differential Privacyに従い、メンバーシップ推論攻撃にも耐え、生成データの質をあまり落とさないとしています。

最後に

最初に掲げたチャレンジに対応する時系列GANが開発されてきました。離散系、連続系のそれぞれについて進歩しています。一方アプリケーションによりGANのアーキテクチャーは幅広くなっており、対応する損失関数もそれぞれ異なります。統一的に議論するのは難しいです。

したがって、比較して何がベストというのかは現実的ではない状況です。さらに重要なのは、実用面で役に立っているかということです。

私見

このレビューの著者が最後に述べているように、GANにより生成したデータが例えば患者の診断をより正しく行う助けになるかどうかは、さらなる研究を俟たなければならないようです。これは、GANによる生成データに限らず、時系列データ一般について言えることだと思います。同じように見えるシーケンシャルデータが、ある場面では正常であり、別の場面では異状になりえます。ある一つのシステム上の多変量データでも、それぞれのデータが持つ意味合いは異なります。ユーザあるいは患者にとって、それぞれのデータが、あるいは複数のデータが複合的に持つ意味合い、価値をモデル上に表現できるようになることが、真に実用に耐えるモデルになるために必要になるでしょう。

宣伝

AI-Jobsがまもなくリリースされます. AI/DSを本気で取りたい企業のみご利用いただけるようにAI-SCHOLARで求人のチェックから支援 そして,内容次第では掲載の取りやめも考えます. AI/DS人材の環境や価値をしっかり守るための求人掲載プラットフォームになります。

友安 昌幸 (Masayuki Tomoyasu) avatar
JDLA G検定2020#2, E資格2021#1 データサイエンティスト協会 DS検定 日本イノベーション融合学会 DX検定エキスパート 合同会社アミコ・コンサルティング CEO

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする