日本ソフトウェア科学会第 35 回大会 (2018 年度) 講演論文集

機械学習応用システムにおける不変量の保証について
丸山 宏

深層学習など統計的機械学習システムにおいては、その出力は多次元ユークリッド空間の点として表され、一般的にはその値についての保証が得られない。すなわち、Rn のどの点についても、その値が出力される可能性を排除できない。このため、取りうる出力値に制限のある応用においては、通常の（モデルベースの）プログラミングと組み合わせて出力値の保証をすることになる。本稿では、問題とその要件の形に応じて、深層学習モジュールとモデルベースのモジュールをどのように組み合わせれば、出力に対してどのような保証が得られるか、様々なデザインパターンについて考察する。

An output of a statistical machine-learning (ML) system is in general represented as a point in an ndimensional Euclid space. Any point in the Rn space may be a potential output. If points in some regionin Rn are not desirable, we have to combine a conventional (rule-based) programming with the ML-based
system to ensure that the output falls in the desired region. This paper discusses software architecture
patterns to guarantee that any output satisfies a condition given as a specified region in the Rn space.

ドイッチなどの n 種類の商品の仕入れ量 y1 , y2 , ..., ym

1 はじめにを出力する (これらを多次元のベクトル x, y として我々は、深層学習に代表される統計的機械学習を、表現する)。システムは、毎日の説明変数 x と店長の訓練データセットに基づく帰納的プログラミングを可決めた仕入れ量 y のペアを訓練データセットとして能にする新しいプログラミングパラダイムとして捉訓練される。十分な訓練データセットがあれば、シえ、この新しいプログラミングパラダイムに基づくシステムは店長の決定を精度よく模倣することができ、ステム開発の方法論を機械学習工学と呼んでいる [4]。

店長が不在でも最適な仕入れ量を決定することがで機械学習工学の主要な課題の一つは、本質的に統計的きる。

であるシステムの出力が、ある特定の条件を常に満たすように構成できるか、というものである。
例として、ある伝説的なコンビニ店長を考えよう。
この店長は、天気や曜日や近所の学校の運動会などここで、仕入れ量に関してある制約がある状況を考える。例えば、個々の商品の仕入れ量は負の値を取らない (yi ≥ 0)。また、仕入れ量の合計は棚の容量 Cを超えない (Σyi ≤ C)。

様々な要因を考慮して、最適な仕入れ量を決めるのが一般に、統計的機械学習システムは、入力として mうまい。この店長のノウハウを統計的機械学習で模倣

次元ユークリッド空間の点 x を取り、それを n 次元したい。このシステムは、天気や曜日などの m 個のユークリッド空間の別の点 y = f (x) に写像する。統説明変数 x1 , x2 , ..., xm を入力とし、おにぎりやサン計的機械学習は本質的に統計的であり、出力空間 Rn

Guaranteeing invariants in statistical machine learning systems
This is an unrefereed paper. Copyrights belong tothe Author.
Hiroshi Maruyama, 株式会社 Preferred Networks, Preferred Networks, Inc.のどんな点 y を取っても、その値を出力する入力 xが存在する可能性を否定できない。統計的機械学習を用いたシステムにおいて、出力 y が、常に与えた条件式 P (y) を満たすことが保証されるようにするのはどうしたらよいだろうか。それが本稿の考える問

図2

図1

実行可能解題である。

ポリシー・フィルタ・パターン

3 不変量を保証するアーキテクチャ・パターン
ここでは、不変量 P (y) を保証するアーキテクチャ・パターンとして、(1) ポリシー・フィルタ、(2) 空間

2 統計的機械学習における不変量

変換、(3) 探索オラクルの 3 つを考える。いずれも、ソフトウェア工学において、ソフトウェアの検証の機械学習に基づく帰納的なモジュールに、通常のモデために、不変量を考えることが多い。不変量とは、プルベースのプログラミングに基づく演繹的モジューログラムの実行経過に関わらず成り立つ性質を指す。

ルを組み合わせるパターンとなっている。

例えばループ不変量とは、プログラムのループの中で何回目を実行していたとしても必ず成り立つ性質で

3. 1 ポリシー・フィルタ・パターンある。プログラムにおける不変量は、ソフトウェアの最初のパターンは、機械学習モジュールの出力を、正しさの検証に使われる。

モデルベースモジュールによってフィルタする、ポリ統計的機械学習においては、どんな訓練データセッシー・フィルタ・パターンである (図 2)。機械学習モ

ト、どんな入力に対しても必ず出力 y が満たすべきジュールの出力を ŷ とする。ポリシー・モジュール

性質 P (y) をこのシステムの不変量と呼ぶことにしよの出力 y は以下のように示すことができる。
{ŷ if P (ŷ)
y=⊥ Otherwise
ただし ⊥ は結果が得られないことを示すシンボルでう。不変量を満たす出力点 y|P (y) を、最適化問題の用語を使って実行可能解と呼ぶことにする。コンビ
ニの例における実行可能解を図 1 に示す。ここでは簡単のため、商品の種類数 n = 2 とする (例えばサンドイッチの仕入量 y1 とおにぎりの仕入量 y2 を表すと考えてよい)。斜線でハッチした部分が実行可能解の領域である。
これに対して、店長を模倣する機械学習モジュールが予測する仕入量は、ある入力変数の分布の下で図のある。

ŷ が実行不能解であった場合においても、何らかの結果を出すことが求められるときは、ある指標の下で最も近い実行可能解をポリシー・モジュールの出力することもできる。{

y=ŷ

if P (ŷ)

中の点のようであったとする。ここで、いくつかのg(ŷ) Otherwise
ここで、g(ŷ) は、ŷ に一番近い実行可能解を返す関点は実行可能解の外に位置することに注意されたい。

数とする。g(ŷ) として、ユークリッド距離の一番小我々の問題は、このような実行不能解 (P (y) を満たさい実行可能解を考えると、フィルタ結果は図 3 のさない y) をいかに排除するか、ということと言い換ようになる。実行不能解が、実行可能解の境界線上にえることができる。

移動していることがわかる。

図3

実行不能解を、最近傍の実行可能解で置き換えた

図5

Softmax 関数による変換結果

フィルタ結果小さいかもしれない。
このため、まず機械学習モジュールの出力を、各商品の仕入量予測 yi が、個別に (0, C) 区間に入るような変換を用いたシステムする。実数空間 R をある有界区間に写像する変換の 1 つがシグモイド関数 ς(x) = 1+e1−x である。これによって、R の各点を (0, 1) 開区間の点にマッピングすることができる。
図4

空間変換パターン

これを次元毎に適用すれば Rn から n 次元ハイパーキューブ (0, 1)n への写像が可能である。この写像

3. 2 空間変換パターン
空間変換パターンでは、Rn 空間上の点である ŷ を、y ′ = ς(ŷ) による空間変換を有界化と呼ぼう。
もし、実行可能空間が、各次元毎に独立な開区間空間変換によって、実行可能解空間の点 y へ写像するで構成される ({y = (y1 , y2 , ..., yn )|yi ∈ (ai , bi ), i =(図 4)。このパターンでは、もしこの変換が連続で微1, 2, ..., n}) のであれば、機械学習モジュールの出力分可能であれば教師信号を変換前の ŷ ではなく、変ŷ を有界化し、その n 次元ハイパーキューブを次元換後の点 y に対する誤差として与えることもできる。

毎にスケールし、移動すれば実行可能空間への写像がこのような写像として、深層学習でよく知られてい可能となる。図 6 に、先程と同じデータに有界化をるものに、(1) 式に示す Softmax 関数がある。この式施したものを示す。

は通常、判別問題において Rn 空間の点を、それぞれコンビニの例の場合、陳列棚の容量の制限 Σyi ≤ Cの次元が対応するクラスと判別される確率として解釈があり、次元間の依存性がある。このため、有界化さできる結果を返す。機械学習モジュールの出力 ŷ にれた空間の点を原点の方向に、原点からの距離に応じこの Softmax 関数を適用し C 倍すれば、その出力はて移動する下記の変換 h を考える。この変換により、

常に Σyi ≤ C という制約を満たす。
eŷiyi = ∑n(1)eŷjj=1
この空間変換ではしかし、すべての出力が Σyi = Cという直線上に乗ることになる (図 5)。毎日棚の容量の最大限まで商品を陳列するのであればこれでよいかもしれないが、店長の予測の合計は、棚の容量よりどんな ŷ に対しても、h(ς(ŷ)) が常に、Σyi ≤ C を満たすことを保証できる。
{yi /(1 + y2 /y1 ) if y1 > y2h(yi ) =yi /(1 + y1 /y2 ) Otherwise
有界化した点に、さらに上記の空間変形 h を施した結果を図 7 に示す。図 1 と比べると、各点の相対的な位置関係を保ったまま、実行可能解空間へ写像さ図6

シグモイド関数による有界化

図8

探索オラクルパターン

システムの出力が n 個の離散変数 y1 , y2 , ..., yn で表されるとしよう。有限個の要素からなる解空間から 1つ要素を選ぶ判別問題では、n = 1 と考える。このような問題においては、解空間そのものが実行可能空間と考えてよい。問題は、複数の変数が互いに依存関係にあるような場合である。
簡単のために、各変数 y1 , y2 , ..., yn が 0, 1 というバイナリの値を取ると仮定すると、不変量 P (y) は命題論理式となる。このような問題に対しても、前出のポリシー・フィルタ・パターンは有効である。すなわ
図7実行可能空間への写像結果

ち、機械学習モジュールが解の候補 ŷ を出力し、ポリシー・モジュールが不変量 P (y) を判定する。

れているのがわかるだろう。

別のやり方は、問題を実行可能空間の探索問題としこのような空間変換を行った機械学習システムは、て定式化し、機械学習モジュールをその探索オラクどんな入力に対しても必ず実行可能解を出力する。そルとして用いる方法である (図 8)。探索木の各ノードの意味で、不変量を満たしていると言える。また、こは、順に変数 y1 , y2 , ... に対して 0 か 1 の値を割り当の空間変換は微分可能であり、そのため、訓練データてていく。葉のノードが実行可能解に相当し、その時に関してもこの空間変換で前処理すれば、この空間上の割り当ては葉までのパスにおける割り当てとなる。

での距離を誤差関数として利用することができる。

この場合、探索アルゴリズムは、実行可能空間内しかどんな実行可能空間の形に対しても、このような空探索しないので、得られる解はすべて実行可能解であ間変換が可能であるというわけではない。どのようり不変量を満たす。この探索空間のサイズは O(2n )な実行可能空間に対してどのような変換が可能であになるので、一般には効率的に探索できない。そこるかは、今後の検討を要する。

で、機械学習モジュールを探索オラクルとして用いて、より良い解に効率的にたどり着くようにする。

3. 3 探索オラクルパターン

このパターンは、典型的には alphaGo [3] などゲー

今までシステムの出力が連続な空間の点として表さム探索において用いられるが、そのほかにも Theoremれる例を考えてきたが、ここでは離散空間の中の点とProver [2] やデータベースの索引 [1] においても用いらして与えられる問題を考えよう。機械学習を用いたれている。

より一般的には、発見的規則を含むアルゴリズム(LRU に基づくキャッシュアルゴリズム、など) に関だろう。それは機械学習工学の重要な一分野となるに違いない。

しても、機械学習モジュールを用いたオラクルが用いられるようになるだろう。

4 おわりに統計的機械学習を用いたシステムにおいては、その統計的性質のために不変量の保証が難しく、そのために伝統的なプログラマからは敬遠されるきらいがあった。帰納的な機械学習モジュールを、演繹的なモデルベースのモジュールとうまく組み合わせることによって、機械学習による予測・最適化の精度と、モデルベースによる不変量の保証を両立する手法・パターンが、これからも多く開発されていくことになる

参 考 文 献[1] Kraska, T., Beutel, A., Chi, E. H., Dean, J., andPolyzotis, N.: The case for learned index structures,
Proceedings of the 2018 International Conference
on Management of Data, ACM, 2018, pp. 489–504.
[2] Loos, S., Irving, G., Szegedy, C., and Kaliszyk, C.:
Deep network guided proof search, arXiv preprint
arXiv:1701.06972, (2017).
[3] Silver, D., Huang, A., Maddison, C. J., Guez,A., Sifre, L., Van Den Driessche, G., Schrittwieser,J., Antonoglou, I., Panneershelvam, V., Lanctot,M., et al.: Mastering the game of Go with deepneural networks and tree search, nature, Vol. 529,
No. 7587(2016), pp. 484.
[4] 丸山宏: 機械学習工学に向けて, 日本ソフトウェア科
学会第 34 会大会, 2017.