非IIDデータとは、各データの確率分布が同一ではなく、互いに独立でもないデータの状態を指します。 federated learningなどの分散学習において、参加者ごとに偏ったデータが集まる状況などで大きな課題となります。
非IIDデータとは
非IIDデータとは、機械学習において「独立かつ同一の分布に従う(IID)」という前提を満たしていないデータの集まりのことです。
詳しく解説
一般的な機械学習では、訓練データがすべてIID(Independent and Identically Distributed:独立同分布)であることを前提としてモデルの学習が行われます。しかし、現実世界、特にfederated learning環境において収集されるデータは、デバイスの利用者や地域の特性によって偏りが生じます。例えば、あるスマートフォンユーザーの入力データには特定の方言やよく使う単語が集中するなど、データごとに分布が大きく異なる非IIDデータとなります。この偏りを無視してモデルを訓練すると、特定の環境には適応できても全体としては汎化性能が著しく低下するという問題が発生します。
具体例・使われ方
医療分野において、複数の病院から集めた患者のカルテや画像データが挙げられます。病院ごとに患者の年齢層や設備、地域特有の疾患傾向が異なるため、集まったデータは非IIDデータとなります。これを活用して高精度な診断モデルを作るには、病院ごとの偏りを考慮したアルゴリズムの調整が必要です。
似た用語との違い
IIDデータとの違いは、データ間の独立性と同一分布性があるかどうかです。IIDデータはどのデータを取り出しても同じ確率分布から独立に生成されているとみなせるのに対し、非IIDデータはデータソースごとに偏りや相関が存在します。
注意点
非IIDデータ環境でfederated learningを行うと、モデルの収束が遅くなったり、偏った学習結果に陥ったりする「クライアントドリフト」という現象が起きやすくなります。そのため、単にデータを集めるだけでなく、偏りを補正する高度な手法の選定やプライバシーに配慮した調整が不可欠です。