研究内容

本研究室で取り組んでいる研究について,最近発表した論文を中心に紹介します.

論文一覧を見る

データを秘密にしたまま,画像や信号を高速に処理する

画像や音声などのデータを解析・加工する際には,「離散フーリエ変換(DFT)」と呼ばれる数学的な処理が広く使われています.しかし,個人情報などを含む機密性の高いデータに対して,その内容を明かさずにDFTを実行するには,多くの計算時間や通信が必要になるという課題があります.

本研究では,データを2台のサーバーに分散して秘匿したまま,DFTを効率的に実行する秘密計算プロトコルを構築しました.特に,数値の計算精度を維持するために必要な処理を,各サーバーが通信せずに実行する手法を採用することで,通信量を大幅に削減しました.また,この手法で生じる計算誤差や,まれに計算が失敗する可能性についても評価しました.

実験では,従来の通信を必要とする方式と比較して,オンライン処理で最大約100倍の高速化を達成し,計算精度も同程度に保たれることを確認しました.さらに,DFTを応用した「畳み込み演算」の秘密計算プロトコルを構築し,大規模なデータに対する高速な処理を実現しました.画像のノイズ除去にも応用し,機密性の高いデータを保護しながら画像処理を行えることを示しました.

論文を見る

生成AIは,安全で効率的な秘密計算プログラムを作れるのか

大規模言語モデル(LLM)の発展により,生成AIを使ってプログラムを自動作成する技術が注目されています.しかし,データの内容を明かさずに計算する「秘密計算」では,正しい計算結果を得るだけでなく,秘密情報に応じて処理の流れやデータへのアクセス方法が変わらないようにするなど,特有の制約を満たす必要があります.

本研究では,生成AIによる秘密計算プログラムの作成・検証を行うフレームワーク「NLMPC」を用い,生成されたプログラムの正確性,秘密計算特有の制約への適合性,指定されたアルゴリズムの実現,計算効率という4つの観点から評価しました.さらに,生成AIに与える指示や,検証結果を用いたプログラムの修正が,生成品質に与える影響を調査しました.

3種類の生成AIが作成した計3,600個のプログラムを評価した結果,約59%が動作テストに合格した一方,4つの評価基準をすべて満たしたものは約31%にとどまりました.この結果から,生成AIを秘密計算のプログラミングに活用するには,動作テストだけでなく,安全なプログラムの記述方法や計算効率まで含めた検証が重要であることを示しました.

論文を見る

生成AIを使って,生命科学データベースをもっと身近に

生命科学の研究では,遺伝子やタンパク質,化学反応などに関する膨大な情報がデータベースに蓄積されています.これらの情報を組み合わせて解析することは,新しい知識の発見につながります.しかし,データベースの構造は複雑で,必要な情報を取り出すには「SPARQL」と呼ばれる専門的な検索言語の知識が求められます.

本研究では,大規模言語モデル(LLM)とデータベースの構造情報を組み合わせ,普段使う言葉で質問するだけで,生命科学データベースを検索するためのSPARQLクエリを自動生成する手法を提案しました.生成AIには質問から必要な情報を読み取る役割を担わせ,実際の検索文はデータベースの構造に基づいて組み立てることで,AIが誤った検索文を生成する問題を抑えています.また,検索文の生成に特化した追加学習データを必要としない点も特徴です.

タンパク質や遺伝子発現,化学反応に関するデータベースを用いた実験では,生成AIが検索文を直接作成する従来の手法よりも高い検索精度を達成しました.さらに,自然な言葉で質問を重ねながら生命科学データベースを検索できるチャットボットを開発し,研究者が専門的な検索言語を意識せずに情報を活用できる可能性を示しました.

論文を見る

データを秘密にしたまま,高速に検索・解析する

ゲノム情報や医療データなど,機密性の高い情報を安全に活用するためには,データの内容を明かさずに計算を行う「秘密計算」が重要です.しかし,大規模なデータから必要な情報を取り出す処理には多くの計算時間がかかり,実用化に向けた課題となっています.

本研究では,秘密計算におけるデータアクセスを高速化する新しい手法「RingOA」を提案しました.暗号技術の一つである Distributed Point Function(DPF)の計算を効率化し,アクセスする位置やデータの内容を秘匿したまま,必要な情報を高速に取得する技術を実現しました.さらに,この技術を全文検索や数値データの範囲検索に応用し,さまざまなデータ解析を秘密計算で実行できることを示しました.

実験では,10億件を超えるデータに対するアクセスで,従来手法と比較して約13〜16倍の高速化を達成しました.また,実際のヒトゲノム配列や遺伝子変異データを用いた評価により,大規模な生命情報解析への応用可能性を示しました.

論文を見る

プライバシを守りながら,人工ゲノムデータを生成する

ヒトのゲノム情報は,病気の原因の解明や新しい治療法の開発などに役立つ一方,個人の遺伝的な特徴を含むため,データの共有にはプライバシ上の課題があります.そこで,実際のゲノムデータの特徴を学習した生成AIによって,人工的なゲノムデータを作成する技術が注目されています.しかし,生成AIが学習に使用した個人の情報を記憶してしまい,そこから情報が漏えいする可能性があります.

本研究では,生成AIの一種である敵対的生成ネットワーク(GAN)に,学習時の更新量を制限する「勾配クリッピング」を導入し,人工ゲノムデータの有用性を維持しながら,学習に使用した個人の情報が漏えいするリスクを低減する手法を提案しました.

実際のヒトゲノムデータを用いた実験では,生成した人工データが元のデータの統計的な特徴を保持していることを確認しました.また,データがAIの学習に使用されたかを推測する攻撃に対して,従来手法よりも高いプライバシ保護性能を示しました.

論文を見る

検索内容を明かさずに,大規模な文字列データを検索する

ゲノム配列などの大規模な文字列データから,特定の文字列を高速に検索する技術は,生命情報解析をはじめとするさまざまな分野で利用されています.一方,個人のゲノム情報のような機密性の高い文字列を検索する場合,検索内容を外部に知られないようにする必要があります.

本研究では,暗号技術の一つである Function Secret Sharing(FSS)と,効率的な全文検索を実現するデータ構造 FM-index を組み合わせ,検索文字列を秘匿したまま全文検索を行う手法「FssFMI」を提案しました.従来手法で課題となっていた通信量を大幅に削減し,大規模なデータに対しても効率的な検索を可能にしました.

実験では,1億3000万文字以上のデータに対する16文字の検索を,広域ネットワーク環境において約55秒,通信量わずか0.49 KBで実行できることを示しました.

論文を見る

データも検索条件も明かさずに,必要な統計情報を取り出す

医療情報や購買履歴,位置情報などのデータを分析する際には,指定した範囲に含まれるデータの合計や最小値などを求める「範囲クエリ」が利用されます.しかし,機密性の高いデータを扱う場合,データの内容だけでなく,どの範囲を調べたのかという検索条件も保護する必要があります.

本研究では,データ構造の一つである「セグメント木」と秘密計算を組み合わせ,データの内容と検索範囲を秘匿したまま,範囲内の集計処理を効率的に実行する手法を提案しました.セグメント木を秘密分散によって保護しながら探索することで,従来はデータ全体を調べる必要があった処理を,データ数の対数に比例する計算量・通信量で実行できるようにしました.

実験では,1万件のデータに対する範囲検索において,従来の単純な秘密計算手法と比較して約100倍の高速化を達成しました.これにより,プライバシを保護しながら大規模なデータを分析するための,効率的な計算技術の可能性を示しました.

論文を見る

大量のゲノムデータを,正確かつ省メモリに扱う

DNAの塩基配列を解析する際には,読み取った大量の短い配列データ(リード)を効率的に保存・検索する技術が重要です.その方法の一つに,配列同士のつながりをグラフとして表現する「Colored de Bruijn Graph」があります.しかし,従来の方法では,実際には存在しない配列のつながりが生じることがあり,元の配列を正確に復元できないという課題がありました.

本研究では,リード内の位置に応じて異なる色を割り当てることで,誤った配列のつながりを抑える新しい手法を提案しました.さらに,ハッシュ関数を用いて色の並びを再現できるようにし,Bloom Filterと呼ばれるデータ構造を利用することで,必要なメモリ量を抑えながら正確な配列の管理を実現しました.

シミュレーションデータと実際のゲノムデータを用いた実験では,従来手法で約15万件発生していた誤った経路をわずか2件に,別のデータでは5,596件から0件に削減しました.また,従来手法と同程度のメモリ使用量や処理時間を維持しながら,元の配列をより正確に再現できることを示しました.

論文を見る