NeuMF(https://arxiv.org/abs/1708.05031)
シンプルなMatrix Factorizationのモデルが全ての指標、一つの次元数を除いてほぼ全ての次元数で成績が上回った。
NeuMFの論文では、MLPとMFを別々に学習させアンサンブルするモデルが提案されているが(Fig2の赤線)、MLP+GMFを同時学習させるモデルより(緑線)も精度が優れているというだけで、MFの単体モデルには及ばない。
NeuMFの論文では、GMFの結果が今回の結果よりも悪いものになっていたが、この食い違いは、一つはパラメータチューニングによるもの。もう一つは、このモデルで追加された重みパラメータがl2正則化から外れており、このままLossを最小化させるとEnbedding MatrixのP,Qのノルムが消え、重みが発散してしまうため、予測が安定しなくなることに起因する。また、この重みはP,Qに吸収されるものであるため、単純なMFに比べてモデルの表現を向上させることはない。
MLPやNeuMFの成績は、設定や他のデータセットでは良い成績になるかもしれないが、今回の検証においてはそのような証拠は得られなかった。(単純なMFのほうが成績が良い)
前出の論文で提出されたNeuMLの成績は、cherry-pickされた(都合のいい結果を選択した)可能性がある。
MLPは普遍的な関数近似ではあるが、必要なパラメータが膨大であり、学習には大量のデータが必要となるため関数を学習のは困難である。
(その実証実験が掲載されているが割愛)
実世界のレコメンドシステムにおいては、ユーザーのリクエストのタイミングで推論する必要がある。特に、context-awareなレコメンドシステムにおいては、事前計算することはできない。
内積モデルの類似度による予測には、MLPの場合はのコストが発生する。大規模アプリケーションの場合は、どちらも計算コストが実用的ではないが、内積の場合は、最大内積探索や最近傍探索といった手法にて効率的に計算結果を近似することができる。ただし、MLPを用いた非線形の近傍探索の手法は今のところ存在しない。
今回の研究は、レコメンドシステムにおいて、ニューラルネットワークを利用しないほうが良いという提案ではない。勢いのあるニューラルネットワークモデルの多くは、出力に内積を用いるが、MLPを出力にすることはない。また、多クラス分類で利用されているように内積は強力な埋め込み結合である。similarity関数をMLPで求めることはおすすめしない。
DNNのモデリングでは、MLPをより特化したものに置き換えることが一般的であり、この部分はアーキテクチャで解決している。(Transformerや、畳み込み層など)
https://github.com/google-research/google-research/tree/master/dot_vs_learned_similarity
Are we really making much progress? A worrying analysis of recent neural recommendation approaches
https://dl.acm.org/doi/10.1145/3298689.3347058
他のNeural recommendationモデルも含めて検証した論文