原田・長・黒瀬・椋田研究室

双曲空間を用いた機械学習

双曲空間を用いた機械学習とは

現在主に用いられているDeep Neural Networksは入力データがユークリッド空間に属すると仮定して処理を行っています。 しかしながら、言語のような意味的な階層性を持ったデータを扱う場合には双曲空間と呼ばれる空間上のデータとして入力情報を扱うほうが自然であることが知られています。 そのため、双曲空間上のデータを扱うための機械学習手法を用いることにより精度良く認識を行えることが期待されます。 困難な点として双曲空間は一般に曲がった空間になっており、双曲空間上の処理を上手く計算機で扱える処理に翻訳してやる必要があります。

双曲空間 [Nickel&Kiela, Neurips 2017]

双曲空間 [Nickel&Kiela, Neurips 2017]

関連研究

[Nickel&Kiela, Neurips 2017]においてテキストの単語埋め込み手法において単語ベクトルを双曲空間上の点とみなしてその空間上での距離を用い類似度計算、パラメタ更新を行うPoincare Embeddingsと呼ばれる手法を提案しました。 [Ganea+, Neurips 2018]において基本的なニューラルネットワークを構成する要素である線形層、活性化関数、softmax関数等に対する双曲空間上の対応物が提案されました。

一方で近年のDeep Neural Networksにおいて活用されている畳み込みニューラルネットワークやTransformerにおいてはより複雑な層が用いられており、双曲空間上においてもこれらの層を構築することができればより双曲ニューラルネットワークの応用先を広げることが可能になります。

この研究室の独自性と成果

[Shimizu+, ICLR 2021]において現在のニューラルネットワークで基本的に用いられている畳み込み層の導入を行いました。 通常の畳み込み層を分解すると、(i)隣接する画像ピクセルに対応する特徴量を連結する(ii)連結した特徴量に線形層をかける、という2処理からなっており、双曲空間において(i)の特徴量の連結ができれば畳み込み層が実装できます。 しかしながら通常のニューラルネットワークが扱うユークリッドベクトルに比べて曲がった空間である双曲空間上の点の連結方法は自明ではありません。 そこで本研究では、(i)各点を接空間と呼ばれるユークリッドベクトルに移す(ii)移した先のユークリッド空間上で連結する(iii)連結したベクトルを次元の大きな双曲空間上の点に引き戻す、という処理による連結方法を提案しました。 提案連結モジュールにより双曲空間上の畳み込みニューラルネットワークが実装可能になります。

またself-attentionに用いられる双曲空間上の重み付き重心に対して、重み付き2乗和の最小化という解釈を与えました。

提案した層を用いて双曲空間上の畳み込みニューラルネットワークやTransformerを実装し、低次元でも性能の高いテキスト認識モデルを学習可能にしました。

今後の方向性

提案モデルにより双曲空間上のデータに対する基本的な解析は行えるようになりました。 一方でデータによっては必ずしも単純にユークリッド空間とも双曲空間とも分類できるとは限りません。 そこで、ユークリッド空間上のモデルと双曲空間上のモデルを組み合わせたり、また別の空間上のモデルを提案することにより扱えるデータの種類を増やすことが考えられます。 また、与えられたデータから背後の空間を推定する研究も有用な方向性になると考えられます。

参考文献

  1. Ryohei Shimizu, Yusuke Mukuta, Tatsuya Harada, “Hyperbolic Neural Networks++”, In the 9th International Conference on Learning Representations (ICLR 2021), 2021.