JSBi Bioinformatics Review
Online ISSN : 2435-7022
総説
深層生成モデルによるテーブルデータ生成と仮想人体生成モデルへの応用
大野 健太
著者情報
ジャーナル オープンアクセス HTML

2024 年 5 巻 1 号 p. 16-27

詳細
Abstract

バイオインフォマティクスやヘルスケア分野では、テーブルとして表現されるデータを解析する場面が多く現れる。その中でも、テーブルデータ生成は、一塩基多型の補完、遺伝子発現量のノイズ除去、二次利用可能なヘルスケアデータの作成など幅広い応用分野を持つ。本稿では、深層学習技術を用いたテーブルデータ生成の手法とその応用を解説する。まず、テーブルデータ生成の応用例として、欠損値補完、ノイズ除去、合成テーブルデータの生成を挙げ、手法と適用例を紹介する。次に、深層生成モデルの1つである変分オートエンコーダを用いた欠損値補完について、2通りのアプローチ(再構成、マスクモデリング)を解説する。また、多様な項目を持つテーブルを扱えるように変分オートエンコーダを改良したモデルであるHI-VAEも紹介する。最後に、深層生成モデルを用いた欠損値補完の事例として、我々が取り組んでいる仮想人体生成モデルを解説する。

1 はじめに

テーブルデータは汎用的なデータ形式の1つであり、バイオインフォマティクスやヘルスケアで現れる多くのデータはテーブルデータで表現される。例えば、RNA-seqで得られた発現量データ、ゲノムワイド関連解析(Genome-Wide Association Study; GWAS)で得られた一塩基多型情報(Single Nucleotide Polymorphism; SNP)、臨床検査や健康診断で得られ、電子カルテ(Electric Health Record; EHR)に記録された診療情報など、例を挙げればきりがない。バイオインフォマティクス、ヘルスケア分野において、テーブルデータ解析は重要な要素技術である。

本稿では、テーブルデータ解析の中でもテーブルデータの生成、すなわち、機械学習モデルがテーブルを出力するタスクを考える。まず、テーブルデータ生成タスクの例であるテーブルデータの欠損値補完、テーブルデータのノイズ除去、合成テーブルデータの生成を解説し、利用される機械学習手法を紹介する1。これらのタスクは、出力が入力と同程度に高次元であり、各項目が複雑に絡みあっているという意味で、構造を持つデータを出力しなければならない。また、テーブルデータの各項目は変数型(連続変数、離散変数など)、値の分布、スケールが多様であり、異質なデータを統一的に扱わなければならないこともタスクの難しさの1つである。

次に、テーブルデータ生成の仕組みを、変分オートエンコーダ(Variational AutoEncoder; VAE)[30, 46]を用いた欠損値補完を例に解説する。VAEはテーブルデータの補完に利用される最もスタンダードな深層生成モデルの1つであり、入力レコードを一度潜在表現に圧縮することで、項目間の関連を捉えるように設計されている。まず、VAEのアーキテクチャを解説した後、VAEを用いた欠損値補完の手法として2通りのアプローチ、すなわち、再構成によるアプローチと、マスクモデリングのアプローチを紹介し、その違いを解説する。さらに、項目の多様性に対処するための方法として、変分オートエンコーダを拡張したHeterogeneous-Incomplete VAE(HI-VAE)[41]を紹介する。

最後に、テーブル生成の応用例として、我々が取り組む仮想人体生成モデルを紹介する[64, 43, 26]。仮想人体生成モデルはHI-VAEベースのモデルをマスクモデリングのアプローチで訓練した統計モデルである。サンプルサイズや項目数が異なる様々なデータセットを統合することで、約1,800項目の人体に関連する項目を任意の組み合わせで補完するモデルを構築した。本稿では特に、仮想人体生成モデルのデータセット、モデル、評価方法に焦点を当てて解説する。

2 テーブルデータ生成の応用

本節では、テーブルデータ生成の代表的な応用として、「テーブルデータの欠損値補完」「テーブルデータのノイズ除去」「合成テーブルデータの生成」を紹介する。

  • テーブルデータの欠損値補完 解析対象のテーブルデータで全項目が埋まっていない、すなわち欠損が含まれている場合は珍しくない。EHRやアンケートの入力し忘れは欠損の典型例である。欠損は偶発的とは限らず、例えば、ある人のゲノムが持つすべてのSNPを調べるのではなく、タグSNPと呼ばれるゲノムの一部分の領域を特徴づける代表的なSNP達の多型のみを調べる場合には、意図的に欠損を生じさせる。また、診療において、収集コスト(金銭的コストや侵襲性による身体負荷など)を抑えるために、すべての項目を計測しない選択を取るケースも意図的な欠損の例と言えるだろう。

欠損値補完は、テーブルデータに含まれる欠損箇所に本来含まれるはずであった値を推定し、欠損値を置き換えるタスクである。欠損値補完は下流タスクの精度向上のための前処理として用いられる場合もあれば、補完自体が目的の場合もある。先程の例で言えば、タグSNPから連鎖不平衡を用いて他のSNPの変異を推定する、非侵襲な測定結果から侵襲的な測定項目を推定することが欠損値補完に対応する。別の例では、空間トランスクリプトームに対する遺伝子発現量補完がある。近年、scRNA-seqやscATAC-seqを始めとするシングルセル解析技術の発達により、発現量やエピゲノムの状態を数万個単位の細胞で網羅的に測定できるようになった。さらに、MERFISH、seqFISH+、osmFISHなどの空間トランスクリプトーム技術は細胞内での遺伝子発現量の分布を捉えることを可能にする技術として近年注目を集めている。MERFISHなどの空間トランスクリプトームは技術的特性からscRNA-seqほど多くの遺伝子の発現を測定できない。その測定できない遺伝子の発現は空間トランスクリプトームデータの欠損値と解釈できる。scRNA-seqと参照遺伝子に対する空間トランスクリプトームデータを組み合わせて、興味のある遺伝子の細胞レベルの解像度での発現量分布を推定する方法が研究されている[59, 37, 35, 1]。

45]では、Traumabase、UK Biobank、MIMIC-III、NHISの4種のヘルスケアデータセットから作成された13種類のタスク(分類問題10種、回帰問題3種)に対して、決定木ベースのMIA(Missingness Incorporated in Attributes)[50]、k-近傍法、反復法ベースのMICE(Multivariate Imputation by Chained Equations)2、バギング、およびシンプルな統計値による補完を適用し、その補完精度を比較している。空間トランスクリプトームの欠損値補完タスクに関しては、変分ベイズ法を用いた手法[37]、テンソル分解に基づいた手法[35]、PCAを用いてシングルセル発現量データと空間トランスクリプトームデータを共通の潜在空間に埋め込む手法[1]などが開発されている。

  • テーブルデータのノイズ除去 センサーなどを用いて機械的に取得しているデータでは、データ欠損が起こりにくい代わりに、計測機器の個体差による計測ノイズや、実験プロトコルの差などによる系統的誤差が発生しうる。このようなノイズや誤差を除去することで、下流タスクの精度を向上させたり、背後で起こっている生物学的現象をクリアに観測できたりすることが期待される3。テーブルデータのノイズ除去の典型例がscRNA-seqのノイズ除去である。scRNA-seqでは、ドロップアウトと呼ばれる、本来観測されているはずの遺伝子発現量がランダムに0となる現象がしばしば発生する。ドロップアウトをランダムに発現量を0にするノイズがかかったデータと解釈すれば、遺伝子発現量の推定はノイズ除去の問題と捉えることができる。ドロップアウトを始めとするノイズの除去は、scRNA-seq解析の重要な1ステップである[24]。scRNA-seqのノイズ除去には、低ランク行列の行列分解に基づいた手法[36, 39]、細胞間の遺伝子発現の類似度を計算し、類似する細胞の発現量から推定する手法[21, 52, 34, 54]、発現量を負の二項分布もしくはゼロ過剰な(zero-inflated)負の二項分布でモデリングする方法[47, 56]などがある。深層学習ベースの手法では、オートエンコーダやその拡張であるVAEベースのモデルを採用しているケースが多い[28, 38, 18, 15, 2, 48, 6, 33]。ただし、通常VAEで実数値の項目を扱う場合、データ分布を正規分布でモデリングするのに対して(詳しくは3.1節で解説する)、ドロップアウトを扱う場合、遺伝子発現量をゼロ過剰な負の二項分布でモデリングすることが多い[28]。VAE以外にも、Transformer[22]やグラフニューラルネットワーク[60, 57]を用いたノイズ除去手法が提案されている。もっとも、scRNA-seqのノイズ除去は深層学習一強という状況ではない。scRNA-seqに対する様々な欠損値手法を比較した検証論文では、負の二項分布を用いたベイズ推定に基づくSAVER[28]、細胞間の遺伝子発現類似度に基づくMAGIC[52]、NE[55]、k-NN smoothing[54]などの手法の精度が良好であったことを報告している[27, 12, 3]。

空間トランスクリプトームの場合、空間情報が加わるためにテーブルデータとして表すことができなくなるが、テンソル分解[59]やTransformer[18]などscRNA-seqで利用されるアプローチやそれを拡張した機械学習手法が採用されている。

  • 合成テーブルデータの生成 データドリブンな研究アプローチの重要性が指摘されている中で、過去の研究で収集されたデータを、新たな仮説発見や予測モデル構築のために二次利用する需要が高まっている。しかし、特に臨床試験やEHRを始めとするヘルスケアデータは、個人情報を始めとする機微データを含むため、そのままの形で公開したり、第三者に提供したりすることが困難な場合が多い。そのような場合でもデータを有効活用するために、元のデータとなんらかの意味で近い合成データを生成・利用する方法が研究されている。

機械学習手法としては、SMOTE[25]、Sequential Decision Tree[7, 17]、GAN[62, 44, 13]、Graph AutoEncoder[42]による合成EHRデータの生成手法が提案されている。例えば、[7]はProject Data Sphereから取得されたステージⅢの大腸がん患者の臨床試験データに対してSequential Decision Treeを適用し、合成データセットを作成している。テーブルデータをまるごと生成するアプローチ以外にも、差分プライバシー技術のように、テーブルにノイズを加えることでデータの秘匿性を担保するアプローチも研究されている[19]。

合成テーブルデータの質は様々な観点で評価される。例えば、真のデータとの統計学的性質(一変量・二変量・多変量解析・傾向スコアなど)の類似性[7, 14]、真のデータセットと合成データセットで機械学習モデルを訓練した時の予測性能差(F1スコアなど)、メンバーシップ攻撃などプライバシー漏洩に対する頑健性[44]などの指標が利用されている。

3 生成モデルによる欠損値補完

前節ではテーブルデータ生成の応用例を、利用される機械学習手法と共に紹介した。本節では、その中でも深層生成モデルの一種であるVAEを用いたテーブルデータ補完をより詳しく解説する。

3.1 VAE

まずは、データに欠損がなく、各項目がすべて実数値の場合を考えよう。欠損がある場合への拡張は3.2節で、実数値以外への拡張は3.3節で議論する。

VAEは、AEを確率分布によるデータモデリングが行えるように改良したモデルである。AEは深層生成モデルの1つであり、入力を潜在表現(低次元の数値ベクトル)に変換するエンコーダと潜在表現からデータを生成するデコーダを直列に並べた構成をしている。エンコーダとデコーダは典型的にはニューラルネットワークである。デコーダの出力が入力を復元するようにAEを訓練することで、入力の性質を適切に反映した潜在表現を得ることができる。

VAEもAEと同様にエンコーダとデコーダからなる(図1)。それぞれは別の確率分布qpをモデリングしている。具体的には、テーブルの項目数をP、潜在表現の次元をKとすると、エンコーダはレコードx=(x1, ..., xp)からK次元のベクトルμeσeを出力し、確率分布qzx)=𝒩(z; μe, σe)をモデリングする4。ここで、𝒩(z; μ, σ)は、i次元目が平均μi、標準偏差σiの多次元正規分布である。同様に、デコーダはP次元の出力μd, σdを出力して、i番目の項目の分布を q ( x i z ) = 𝒩 ( x i ; μ i d , σ i d ) とモデリングする。

図1:VAEの概略図。

enc、decはそれぞれエンコーダ・デコーダを表し、イタリック体の変数はそれらへの入出力を表す。

レコードxに対して、VAEは次の損失関数lx)を考える5

  
l ( x ) = i = 1 P 𝔼 q ( z | x ) [ log p ( x i | z ) ] + KL z ( q ( z | x ) p ( z ) ) . (1)

ここで、𝔼q'(z)はq'(z)に関する期待値を表し、KLzp1z)||p2z))は2つの確率分布p1p2の間のカルバック・ライブラー(Kullback-Leibler; KL)距離を表す。第1項は入力をエンコーダとデコーダを通して再構成した出力を入力に近づけるための再構成誤差である。第2項は正則化項であり、潜在表現(の分布)を事前分布pz)に近づけることで潜在表現の複雑さを抑えている。事前分布には、典型的には等方的な正規分布pz)=Nz; 0, I)が利用されることが多い。この選択により、第2項は二つの正規分布の間のKL距離となるため、解析的に計算できる。訓練データセットD=(x(1), ..., xN)が与えられた時、VAEは損失関数の和 n = 1 N l ( x ( n ) ) を最小化するように訓練される。

式(1)は期待値を含むので、厳密に計算することはできない。そこで、実際の訓練では、この式の期待値をサンプリング平均で近似したものを利用する:

  
1 J i = 1 P j = 1 J log p ( x i | z j ) + KL z ( q ( z | x ) p ( z ) ) . (2)

ここで、zjj=1, ..., J)はエンコーダでモデリングした確率分布qz|x)から独立同分布にサンプリングした J個の潜在表現である。サンプリングは一般には入力に関して微分可能な操作ではない。しかし今回の場合、乱数 εj~𝒩(0, 1)を導入することで微分可能な操作だけでサンプリングができる:

  
z j = μ e + ε j σ e . (3)

εjにランダム性があるが、一度その値が確定してしまえば、zjはエンコーダの出力μeσeに関して微分可能である。このサンプリング方法はreparameterization trick[30, 46]と呼ばれ、これによりエンコーダとデコーダを勾配法を用いてまとめて一気通貫(end-to-end)で訓練できる。

3.2 生成モデルを用いた欠損値補完

次に、VAEを用いて欠損値補完をする問題を考えよう。欠損値補完には、再構成のアプローチとマスクモデリングのアプローチの2通りが存在する。後述するように、この2つは、非欠損項目を復元するようにモデルを訓練するか、欠損項目の値を予測するように訓練するかの違いと解釈できる。

3.2.1 再構成によるアプローチ

まず前者を[41]を参考にして解説する。入力xはすべて数値データであるが、一部の項目が欠損している状況を考える。欠損している項目には、それを表す特別な文字*が入っているとする。また、xの中で非欠損・欠損している項目のインデックスをそれぞれOx)、Mx)と書くことにする6。例えば、P=5でx=(1.0, *, 2.4, 4.5, *)ならば、Ox)={1, 3, 4}、Mx)={2, 5}である。

入力に欠損がある場合、式(1)の代わりに次の損失関数を考える:

  
i O ( x ) 𝔼 q ( z | x obs ) [ log p ( x i | z ) ] + KL z ( q ( z | x obs ) p ( z ) ) . (4)

エンコーダを表す確率分布qzxobs)は、各観測された項目iOx)に対して、i番目の項目がxiであるという条件でのzの確率を表す。式(1)と比較すると、先程は第1項の再構成誤差を全項目で計算したのに対して、ここでは観測された項目Ox)だけで計算している(図2左)。また、第2項の正則化項は、潜在表現 zが入力xのうち、観測された項目だけに依存していることを意味する。実装上は欠損項目に適当な代表値(それぞれの項目の平均値や最頻値など)を埋め、P次元の入力としてエンコーダに与えることが多い。また、入力次元を倍にし、それぞれの項目に「欠損フラグ」を与える場合もある。先程の例ならば、入力は、

  
[ 1.0 v 2 2.4 4.5 v 5 1 0 1 1 0 ] (5)

のような形で与える。ここで、v2v5には、それぞれ2、5番目の項目の代表値を与える。2行目の0は欠損項目を表し、1は非欠損項目を表すフラグとして機能する7

図2:欠損値補完モデル訓練方法の2つのアプローチ:再構成による方法(左図)とマスクモデリングによる方法(右図)

3.2.2 マスクモデリングによるアプローチ

マスク言語モデル(Masked Language Model)[16]は、入力の一部の項目をランダムに欠損させてモデルに入力し、非欠損項目から欠損させた項目を予測させる訓練方法である(図2右)。教師信号を必要とせず、入力データxさえあれば訓練できるため、自己教師あり学習の一手法と分類される。

マスク言語モデルはその名が示す通り、始めは言語モデル(Language Model)の学習に利用された。言語モデルはテキストやタンパク質・DNA・RNAなどの配列データをモデリングするための機械学習モデルである。配列データでの成功に触発され、マスク言語モデルは言語モデルの他にも様々なモダリティやアーキテクチャに拡張されている。本稿ではそのことを強調するため、ランダムに入力を欠損させ、非欠損項目から欠損項目を推定する自己教師あり学習を単に「マスクモデリング」と呼ぶことにする[43]。例えば、[23]は、画像に対する自己教師あり学習として、AEに対してマスクモデリングを行う訓練手法を提案した。[29]ではマスクモデリングで事前学習したTransformerをテーブルデータに適用している8。また、[5]では、本文中では明言されていないものの、TabNetと呼ばれるテーブルデータに対する深層学習モデルをマスクモデリングによる方法で訓練している。

3.2.3 両者の比較

ここまでで、欠損補完を行う方法として、再構成とマスクモデリングの2通りのアプローチを紹介した。この2つを比べると、背景となる理論は異なるが、両者は損失を欠損項目で計算するか、非欠損項目で計算するかの違いしかないことがわかる。すなわち、入力としてxを与えた時、i番目の項目の予測で発生した損失をlix)と書くと、前者は∑iOxlix)を、後者は∑iMxlix)を予測誤差として採用している(VAEの場合、この予測誤差と事前分布の正則化項の和が損失関数である。式(1)参照)。そのため、VAEやTransformerを含めた様々なモデルに対して、どちらのアプローチで訓練するかをデータセットや欠損値補完タスクの性質に応じて選択することができる。

3.3 HI-VAE

テーブルデータがテキストや画像などのモダリティと異なる点の1つは、データ項目が多様である点である。例えば、画像はピクセルから、テキストは文字から構成されており、基本的にデータの基本単位は一様である9。それに対し、テーブルは汎用的なフォーマット故に様々な項目を同じ形式で扱える一方で、それらの変数の型・スケール・分布・欠損率などの数学的・統計的性質は一般的には多様である。例えば、健康診断データセットでは、身長・体重などの数値データ、アンケートの設問回答などのカテゴリデータがともに含まれる場合が多い。

HI-VAE[41]は、このような異種データを生成できるようにVAEを改良したモデルである。前述したように、項目が実数の場合、VAEのデコーダは潜在変数zから各項目の平均 μ i d と標準偏差 σ i d の値を計算し、データ分布をpxiz)= 𝒩 ( x i ; μ i d , σ i d ) でモデリングする。この μ i d σ i d が確率分布のパラメータである。HI-VAEでは、各項目を変数タイプに応じて異なる確率分布でモデリングし、デコーダはその確率分布のパラメータを出力する(表1)。これにより、異種の項目を1つのモデルで統一的に扱うことを可能にしている。なお、HI-VAEはこの変数型ごとの確率分布モデリングの他に、潜在変数が階層的な構造にすることで表現を高める工夫を行っている。詳細はHI-VAEの元論文[41]を参照されたい。

表1:HI-VAEの変数型ごとのモデリング方法

変数型 確率分布 分布パラメータ
連続変数 正規分布 平均、標準偏差
連続変数(正値) 対数正規分布 平均、標準偏差
カテゴリ変数(非順序変数) 多項分布 各カテゴリの(正規化前の)確率値
カテゴリ変数(順序変数) 順序ロジットモデル カテゴリ値が変化するロジット値
カウント変数 ポアソン分布 イベント発生レート

異種のテーブルデータを扱うHI-VAEはいくつかの方向で拡張されており、例えば、Heterogeneous Longitudinal VAE(HL-VAE)[11]はEHRなど時系列情報を持つテーブルデータへの拡張である。また、異種のテーブルデータを統合的に扱う別の方法として、VAEを多チャンネルの入力に拡張するMulti-Channel VAE(MC-VAE)などが提案されている[4]。

4 仮想人体生成モデル

仮想人体生成モデル(Virtual Human Generative Model; VHGM)は、花王株式会社と株式会社Preferred Networksが開発している、人体の様々なライフケアデータ(健康に関するヘルスケアデータを含む生活全般に関する情報)の関係をモデリングした統計モデルである。約1,800項目からなるデータセットを用いてHI-VAEベースのモデルをマスクモデリングの要領で訓練している。これにより、任意の項目の組み合わせからなるユーザー入力に対して、入力から推定される欠損値(より正確に言えば、入力で条件づけた欠損項目の条件付確率分布)を推定できる(図3)。VHGMは2022年2月から開発を開始し、2023年2月から商用サービスVITA NAVIとしてAPIサービスを提供している(図4)。

図3:仮想人体生成モデルによる推定のイメージ(入力と推定値は仮想的な値であり、実際のデータセットの値やVHGMの推定値ではない)
図4:仮想人体生成モデル(VHGM)を用いたAPIサービス概念図。

アプリはユーザーが入力した情報をAPI経由でVHGMの欠損値補完サービスに入力する。VHGMは入力情報を保存せず、入力された情報から欠損項目を推論する。

本稿では、VHGMの技術的内容、特にデータセット、機械学習モデル、評価方法に焦点を当てる。本プロジェクトに関しては、これまでにいくつかの技術文書を公開している。訓練に利用しているデータセットの詳細についてはプロトコル論文[26]を、VHGMで利用している統計モデルの詳細についてはホワイトペーパー[43]を、モデルとデータセットの品質管理については[64]を参照されたい。

4.1 データセット

VHGMが人体に関する様々な情報の関連をモデリングするには、多くの項目を網羅したデータセットが必要となる。しかし、項目数とサンプルサイズ両方を兼ね備えたデータセットを用意するのは困難である。そこでVHGMでは「(項目数に比べてサンプルサイズは相対的に少ないが、)欠損が少なく、多数の項目を持つデータセット」と「(サンプルサイズに比べて項目数は相対的に少ないが、)サンプルサイズが大きいデータセット」のように性質が異なる複数のデータセットを組み合わせて訓練した。

前者のデータセットとして、約1,000人分の日本人健常成人の約2,000項目のデータを2日間に渡って測定・収集した。計測した項目は以下の通り(詳細は[26]を参照):

・血液・尿・唾液・経口ブドウ糖負荷試験から得られる生化学的および代謝的プロファイル

・糞便・顔面皮膚・頭皮皮膚・唾液から得られる菌叢プロファイル

・顔面・頭皮の皮膚表面脂質中のメッセンジャーRNA・プロテオーム、代謝物プロファイル

・ライフスタイル調査およびアンケート

・身体機能、運動機能、認知機能、血管機能分析、脱毛症分析、体臭成分

後者タイプのデータセットとして、205項目、約100万件程度の商用健康診断データセットを利用した(但し、訓練時間の短縮や他データセットとのバランスのため、ダウンサンプリングを行っている)。さらに、研究開発のために過去に実施した、主にメタボリックシンドロームや血圧改善に関する13の臨床試験のデータセット(合計205項目、約13,000件)を訓練に用いた。

項目数・サンプルサイズが異なるデータセットを統合することで、幅広い項目数をサポートしつつ、頻繁に使われる項目に対する十分なサンプルサイズでの訓練を可能とした。

複数のデータセットを統合することでサンプルサイズを増加できた一方で、テーブル上に大きなブロック欠損が発生する(図5)。これに起因する困難を説明するため、欠損パターンの分類方法であるMissing Completely At Random (MCAR)とMissing At Random (MAR)という概念を説明しよう。あるレコードのある項目(エントリと呼ぶことにする)が欠損するか否かの確率が「同じレコードで観測可能な他項目の値」にも「そのレコードで観測できなかった項目で本来観測されるはずだった値」にも依存しない状況をMCARと呼ぶ。一方、前者の値が決まれば、欠損確率が後者の値には依存しない状況をMissing At Random (MAR)と呼ぶ。MCARは直観的には、欠損時と非欠損時で入力データの分布が同じと仮定できる状況である。例えば、欠損のないテーブルの各エントリに対して独立にサイコロを振り、1が出た場合に対応したエントリを欠損させて作ったテーブルはMCARを仮定するのが自然である。人為的な欠損方法であるが、欠損値補完手法の研究では、数値実験時に独立同分布な乱数を用いて欠損テーブルを作成することも少なくない。

図5:データセット結合によるブロック欠損の模式図。

灰色部分は非欠損、白色は欠損を表す。実際には灰色部分にも散発的な欠損が生じる。

逆にMCARは仮定しづらいが、MARが妥当なケースとして、欠損パターンが他の観測項目から決まる場合が挙げられる。例えば、年齢と喫煙に関するアンケートを考える。2つのデータセットがそれぞれ未成年、成年のレコードを収集しており、後者のデータセットでのみ喫煙の有無の回答を依頼していたとしよう。その場合、「喫煙の有無」が欠損するかは年齢に依存するためMCARと仮定するのが難しい。一方で、喫煙の質問が欠損であるか否かは年齢を見れば決定できるので、「年齢」の項目がデータセットに存在するならばMARと考えるのが妥当である(もし「年齢」の項目がなかった場合、MARすら仮定するのが難しい。そのような、MACRでもMARでない状況をMissing Not At Random(MNAR)と呼ぶ )。

年齢と喫煙の例からもわかるように、データ分布が異なるデータセットを結合したテーブルなど、構造的な欠損を持つテーブルでは、MCARを仮定してモデリングするのは難しい。後述するように、欠損パターンに対する仮定は欠損値補完の手法選択にも影響を与える。

4.2 モデル

VHGMでは統計モデルとして、HI-VAEを採用している。但し、HI-VAEが提案された[4]では、再構成ベースでの自己教師あり学習を採用しているのに対して、VHGMではマスクモデリングベースの訓練を採用した。再構成ベースの方法は、ある項目の補完する時、その項目が欠損していないレコードを利用して訓練されたモデルを利用している。もしデータセットがMCARを仮定できる、すなわち欠損時と非欠損時で入力データの分布が同じと仮定できるなら、そのようなモデルの「使い回し」が可能だと期待できるだろう。しかし、今回のデータセットはブロック欠損のためにMCARの仮定が難しい。そのため、VHGMではマスクモデリングでの訓練を採用した。実際、マスクモデリングを用いた自己教師あり学習は、再構成誤差を用いた場合に比べて、補完精度がどの変数型に対しても良好であった(図6)。その他、VAEでは、エンコーダの性能が劣化する現象である事前分布崩壊(posterior collapse)が、推論精度を劣化させることが知られている[10, 20, 58, 61]。事前分布崩壊を防ぐ訓練方法は様々知られているが(例えば、[31]やそこで参照されている文献を参照)、VHGMでは比較的シンプルなβ-annealingと呼ばれる訓練手法を採用した。

図6:二項間関係評価の例。

青線はデータセットでの相関関係、緑線は非欠損項目の再構成により訓練したモデル、赤線はマスクモデリングにより訓練したモデル。[43]より引用。

4.3 評価

訓練した生成モデルの評価方法は、それ自体が大きな研究テーマである[32, 40]。定量的な評価指標として、汎用的に利用できる損失関数や尤度、画像生成モデルに利用されるInception Score(IS)、Fréchet Inception Distance(FID)など多数提案されている。しかし、モデルの良し悪しは、しばしば採用する指標により大きく変動することが報告されており[49, 9]、異なる指標がモデルの異なる側面を評価していることが示唆されている。さらに、生成対象を人間が解釈できる場合、定性的な評価も加わる。特に、サービスのユーザーがモデルの出力を利用する場合、定性的評価はユーザー体験に大きく影響する。VHGMでは定性的、定量的の両面からいくつかの方法でモデルを評価している。

4.3.1 定量的評価

定量的な評価方法で最も標準的なのが、テストデータにおける誤差(error)である。但し、テーブルデータを扱う場合、多様な項目を統一的に扱うための工夫が必要である。VHGMでは、連続変数には平均二乗誤差(Root Mean Squared Error)、カテゴリ変数には不正解率、順序変数には絶対誤差を採用している。さらに、変数のスケール(連続変数ならば訓練データセット内での最大・最小値、順序変数ならば項目数)を用いて、各項目でのロスが0から1になるように標準化している(詳細は[43]を参照)。

その他、予測項目数、モデルサイズ(モデルの学習可能なパラメータ数)、推論時のレイテンシ、項目ペアの相関係数(データセットから推定される相関係数とのずれ)などを参考にモデルを評価している。

4.3.2 定性的評価

定性的な評価では、「二項間関係評価」「三項間関係評価」「連続性評価」などを参考としている。また、これらの他にもユーザーからのフィードバックを得てモデルの改良に役立てている。

  • 二項間関係評価 項目ペアに対して、一方の項目に大小様々な値を入力し、もう一方の値の推論する。両者の相関が、データセットから推定される相関関係を適切にとらえられているかを確認する。相関係数のように定量指標としても評価しているが、プロットして、外れ値で違和感のある挙動がないかなど、定性的挙動も確認している(図6)。

    三項間関係評価 特定の3項目に注目し、ある項目に様々な値を入力した際の残り2項目の分布変化(特に相関関係の変化)を検証する。網羅的な検証が困難なため、「年齢を変えた時に身長と体重の相関が変化するか」「運動習慣の有無によって、摂取カロリー量と体重の相関関係が逆転するか」など、特定のユースケースを想定して項目や入力値を選定する場合が多い。

    連続性評価 入力の実数変数を連続的に動かした時、出力が非連続的に変化すると、ユーザーは違和感を抱きやすい。そこで、入力を連続的に変化した時に、出力が連続的に変化するかをプロットして確認する。

5 まとめ

本稿では、深層学習モデルを用いたテーブルデータ生成のバイオインフォマティクス・ヘルスケア分野への応用を概説し、特に変分オートエンコーダを用いたテーブルデータの補完について、2通りのアプローチ(再構成、マスクモデリング)を紹介した。さらに、深層生成モデルによるテーブル生成の実例として、我々が取り組む仮想人体生成モデルのデータセット、モデル、評価方法を解説した。

仮想人体生成モデルは、マスクモデリングによる自己教師あり学習により深層生成モデルを訓練しているという点で、近年急速に発展している言語モデルや基盤モデルなどのいわゆる生成AIと呼ばれる手法と類似している。言語モデルや基盤モデルが自然言語処理や画像認識の様々なタスクに適用可能である一方で、テーブルデータ生成に関しては、scRNA-seqのノイズ除去や電子カルテの補完のような特定のタスクに限定しても、深層学習ベースの手法が非深層学習ベースの手法と同水準程度の精度であることは珍しくない[27, 12, 3, 45]。生成AIの手法がバイオインフォマティクス・ヘルスケア分野で普遍的に利用できる手法となりうるのか、ならない場合には何がボトルネックなのかは興味深い問いである。本稿がテーブルデータ生成の理解の一助となれば幸いである。

謝辞

本稿を作成するにあたって、株式会社Preferred Networksの小寺正明氏、滝沢拓己氏、Nontawat Charoenphakdee氏、花王株式会社の尾藤宏達氏に本稿のドラフトをお読みいただき、有益なコメントを頂いたことを感謝いたします。

脚注

1 本稿では、生のテーブルデータから、本来の値ではない値が観測されていることを判断できるものを「欠損」、そうでないものを「ノイズ」と呼ぶこととした。例えば、後述するscRNA-seqのドロップアウトの場合、観測された発現量が0の遺伝子は、本来の発現量がドロップアウトにより発現量が観測できなかったのか、その遺伝子の発現量が本当に0であったのかを区別がつかないため、発現量にノイズが乗っていると解釈した。なお、筆者が調べた限りではノイズと欠損値の違いの一般的な定義は見つからなかったため、本稿限りの分類方法であることに注意されたい。

2 MICEの考え方は古く、様々な名称で手法が提案されている。[51]およびそこで参照されている論文を参照。

3 以下では表記を簡略化するため、ノイズと誤差の除去をまとめて単にノイズ除去(denoising)と呼ぶことにする。

4 実装上は標準偏差σeではなく、分散の対数log(σe2を出力する場合が多い。標準偏差σeは値が正の値でなければならないという制約があるのに対して、log(σe2は任意の実数値をとるため、ニューラルネットワークの出力に余計な制約をかける必要ないことなどが、この実装のメリットとして挙げられる。

5 この損失は変分下界(Evidence Lower Bound; ELBO)と呼ばれる値の符号を反転させたものである。詳細は省略するが、ELBOは入力データの対数尤度log px)よりも小さく、さらに、エンコーダとデコーダが十分表現能力が高ければ両者は一致することが数学的に証明できる。従って、損失関数の最小化(=ELBOの最大化)することでデータの尤度を近似的に最大化でき、この損失関数による訓練が正当化される。

6 入力ごとに欠損している項目は異なるので、それを強調するため、Ox)、Mx)とxを明示的に書いている。

7 対応関係をわかりやすくするために2行P列の行列の形で記載しているが、2P次元のベクトルとしても構わない。また、0と1の役割を逆にして、0が非欠損項目を表しても良い。

8 Transformerの詳細なアーキテクチャについては元論文[53]を、そのテーブルデータへの適用に関しては[8]を参照。また、本雑誌での総説[63]では、Transformerの基礎と、そのタンパク質言語モデルへの応用について詳しく解説されているのでそちらも参照されたい。

9 テキストの場合、正確にはモデルはトークンという単位でデータを処理している。

References
著者略歴

大野 健太
博士(情報理工学)。2011年株式会社Preferred Infrastructureに入社、2014年から現所属。機械学習(特に深層学習)に関する研究開発及びデータ解析案件に従事。2021年東京大学大学院情報理工学研究科数理情報学専攻修了。グラフニューラルネットワークに関する研究に従事。
URL:https://sites.google.com/view/kentaoono

 
© 2024 日本バイオインフォマティクス学会

This article is licensed under a Creative Commons [Attribution-NonCommercial-ShareAlike 4.0 International] license.
https://creativecommons.org/licenses/by-nc-sa/4.0/
feedback
Top