昨今、様々な分野のデジタルトランスフォーメーションが進んでおり、分野横断的なデータの蓄積やAIなどがイノベーションを促進し、様々な産業・サービスが発展すると期待されている。一方で、情報漏洩や不正利用の懸念がデータの提供・利活用促進を阻害する要因となっている。
通常、データを利活用するためには、通信時や保管時に暗号化していたとしても、処理を行う際には元データに戻して処理する必要がある。このことは、データ所有者からすると情報漏洩のリスクを感じることから、企業秘密や個人のプライバシーに関わるデータの利活用に抵抗感を持つユーザや組織が少なくない。所有者から他者、または同一組織内であっても、データを利活用したい場合には、このことは大きな障害だと考えられる。
また、AIのなかでも活用が進み始めているディープラーニングでの学習では、訓練データを入力として、複数の層を順番に処理して学習の途中結果を得て、その途中結果が十分に学習されたものであればそれを最終結果として出力し、そうでなければ途中結果を更新する処理(最適化処理)を行い、もう一度最初の層の処理から一連の処理を繰り返す。複数の層のうち最後の層は出力層と呼ばれ、標準的にはソフトマックス関数(※1)と呼ばれる数式を計算する。
また、最適化処理ではSGD(Stochastic Gradient Descent)が原始的な手法として知られているが、繰り返しの回数が多いため、SGDを改善したAdam(※2)などが主に用いられている。これらディープラーニングの標準的な学習処理で用いられるソフトマックス関数やAdamでは、割り算、指数、逆数、平方根を組み合わせた処理を行う。
ディープラーニングの学習を秘密計算で行うとき、従来技術では割り算、指数、逆数、平方根が秘密計算にとって不得手な処理なため、秘密計算でソフトマックス関数やAdamを計算することは困難だった。そのため、多くの先行研究は学習・予測のうちこれらを計算しなくてもよい予測のみに絞ったものだった。
そこで、日本電信電話株式会社は、データを暗号化したまま元データに戻さずに、ソフトマックス関数やAdamと呼ばれる最適化処理を含む標準的なディープラーニングの学習処理を行う技術を開発した。
同技術開発の実現方法には2つの異なるアプローチがある。1つはソフトマックス関数やAdamを計算するために、あらかじめ入出力の組を並べた対応表を用意し、入力と対応表を暗号化しつつ、入力に対応する出力が得られる秘匿写像と呼ばれる独自技術を利用するアプローチ、もう1つはソフトマックス関数やAdamを構成する割り算、指数、逆数、平方根それぞれについて専用の高速アルゴリズムを開発するアプローチである。
同技術を用いることで、データを暗号化したまま、標準的なディープラーニングのアルゴリズムを用いて学習することが可能となった。例えば、今回開発した割り算・指数・逆数・平方根の専用アルゴリズムを用いて行う方法では、60,000件の手書き文字を判別するモデル学習において、1エポックの学習(※3)を5分強で実行することができる。
また、企業秘密や個人のプライバシーにかかわるデータをディープラーニングで活用する際に、サーバではデータを暗号化したまま元データに戻さずに処理することが可能となる。ディープラーニングでのデータ活用に必要なデータ提供、データの保管、学習処理、予測処理の全てのステップを暗号化した状態で行うことができる。
サーバでは常にデータは暗号化されたままであり一度も元データに戻すことがないため、従来よりもユーザや組織が安心してデータを提供でき、学習に利用できるデータ量や種類が増え、精度の高いAIの実現が可能になるという。
例えば、個人の位置情報やスケジュールを暗号化したまま、天気や企業のイベント情報などと併せて学習することで、最適な飲食店の仕入れや人員リソースの配備を予測することが考えられる。また、同技術を応用すれば、レントゲン写真、MRI、CTスキャン、顕微鏡写真などの医療データを秘匿しつつ学習し、検査結果に悪性腫瘍があるかなどを判定することが可能になると見込んでいる。
※1 主にクラス分類などで、ディープラーニングの出力層において計算される関数。複数の入力 (x1,…,xn) から、0から1までの値。
※2 Adaptive moment estimationの略で、学習でパラメータを更新する最適化処理の一つ。原始的な方法を改良し良い学習結果を得やすく、多数の機械学習フレームワークでも利用されている。
※3 一般に機械学習では訓練データを何度も繰り返し学習するが、そのうち訓練データを1回学習させることを1エポックの学習と呼ぶ。
無料メルマガ会員に登録しませんか?

IoTに関する様々な情報を取材し、皆様にお届けいたします。