日本電信電話(NTT)は9月2日、データを暗号化したまま一度も元データに戻さずに、ソフトマックス関数やAdam(adaptive moment estimation)と呼ばれる最適化処理を含む標準的なディープラーニング(深層学習)の学習処理を行う技術を、世界で初めて実現したと発表した。
通常、データを利活用するためには、通信時や保管時に暗号化した場合でも、処理を行う時には元データに戻して処理する必要があるが新技術により、企業秘密や個人のプライバシーに関わるデータをディープラーニングで使用する時に、サーバではデータを暗号化したまま一度も元データに戻さずに処理可能になるという。
サーバでは常にデータは暗号化したままであり一度も元データに戻さないため、従来よりもユーザーや組織が安心してデータを提供でき、学習に利用できるデータ量や種類が増え、精度の高いAI(人工知能)の実現が可能になると同社は考えている。
ディープラーニングの学習を秘密計算で行う場合、従来技術では割り算、指数、逆数、平方根が秘密計算では不得意な処理のため、秘密計算でソフトマックス関数やAdamを計算することは困難だったという。そのため多くの先行研究は、学習・予測のうちこれらを計算しなくてもよい予測のみに絞ったものだったとのこと。
学習に取り組んだ先行研究はいくつかあるものの、ソフトマックス関数を非常に粗い精度で近似し、かつ最適化処理は標準的にはあまり用いられないSGD(Stochastic Gradient Descent)しか使用できなかったとしている。
同社は今回、従来では計算が困難であったソフトマックス関数を高速かつ精度良く計算し、さらに主要な最適化処理というAdamを利用できる秘密計算技術を開発したという。実現方法には2つの異なるアプローチがあり、それぞれの開発を行ったという。
1つは、ソフトマックス関数やAdamを計算するために、あらかじめ入出力の組を並べた対応表を用意し、入力と対応表を暗号化しつつ、入力に対応する出力が得られる秘匿写像と呼ばれる独自技術を利用する手法。
もう1つは、ソフトマックス関数やAdamを構成する割り算、指数、逆数、平方根それぞれについて専用の高速アルゴリズムを開発する手法。
この技術を用いることで、データを暗号化したまま、標準的なディープラーニングのアルゴリズムを用いて学習することが可能になったという。
例えば、今回開発した割り算・指数・逆数・平方根の専用アルゴリズムを用いる方法では、6万件の手書き文字を判別するモデル学習において、1エポック(機械学習で訓練データを1回学習させること)の学習を5分強で実行できるとしている。
同社は今後、AIの知見を持つパートナーと連携して実証実験などを行うことで、秘密計算を使ったディープラーニングの効果を実証していきたいという。