サンプルアプリ

qiCCAを利用した「あてっこゲーム」

あてっこゲーム

数字の左半分の画像について、対となる右半分の画像を推定します。

右半分の画像候補です。この中からどれが対をなす右半分かqiCCAが推定します。
みなさんもどれが正解か考えてみてください。(画像をクリックすると上の黄色枠内に反映されます。)



サンプルアプリの説明

サンプルアプリでは、手書き数字文字(MNIST)を左半分・右半分に分割した対データを用意し、左半分の画像から右半分の画像を推定します。

左半分・右半分の各画像は392画素(次元)のデータとなります。この対データに正準相関分析(CCA)を適用すると、共通空間での近さを指標として、左画像から対となる右画像を推定することができます。

CCAでは、左画像と右画像のペアについて共通空間に
おける距離が近くなるような変換行列を求める。
(正準相関最大化)
「ある左画像」と「0~9までの右画像の各候補」を共通空間に投射したとき、
最も距離が近くなる候補が対となる右画像として推定される。

この対データの前処理を工夫すると、推定精度はより良くなります。
この前処理の工夫として、非線形な処理を考えました。具体的には、全ての画素のペアに対して画素値の積をとり、新しい入力次元として追加しました。

左画像、右画像の各々に対して結合データを作成。この結合データに対してqiCCAを適用する。

この前処理を施すと、入力次元は77,420となり、従来のCCAアルゴリズムでは時間的に計算困難です。
しかし、量子インスパイア正準相関分析(qiCCA)は高速なので適用可能です。

212=4,096次元、215=32,768次元。
212次元以降、従来CCAでは次元が大きくなるに従って膨大な計算時間が必要になり困難。