改めてDeepLearningはどのように整理すると良いか

f:id:lib-arts:20210212180657p:plain

https://www.amazon.co.jp/dp/B08JGM3JNP

上記のグラフ理論機械学習ですが、多くの方に注目いただけてご確認いただけましたようです。内容としては和書の類書がまだない中で基本から応用、発展的な考察まで取り扱えましたので、なかなか充実していたのではないかと思うのですが、Kindle版として出すにあたって可能な限り誤植が出ないように気をつけ過ぎたことで、もう少し考察を入れたいところについては省略する形となりました。

当記事ではそれを受けて、考察として入れられなかった内容をまとめてみようと思います。具体的には「DeepLearningはどのように整理すべきなのか」をテーマにグラフニューラルネットワークとDeepLearningの類型についてをラフに考えてみたいと思います。(あくまで考察であり正確性については重視しないでまとめましたので、その点はご留意ください)

f:id:lib-arts:20210212175523p:plain

上記は特に参考文献はないのですが、DeepLearningの整理の案です。当記事ではこの図について詳しく論じていきます。こちらをまとめた理由としては、ある程度詳しく考えていくにつれて「そもそもAttentionってCNNでは?」のような疑問が出てくるからです。Attentionの処理の際にかける重みがCNNの畳み込み処理と類似として見ることもできます。

とはいえ、論文などではAttentionとCNNやRNNは別物とされることが多く、有名なTransformer[2017]では「CNNやRNNを用いずAttentionのみでDeepLearningを表現した」とあるなど、明確にAttentionをCNNやRNNと区別しています。論文の記載については当時の認識としては概ね合っていることが多いものの、同時並行で様々な研究がなされており、トレンドを振り返ると記載とは異なったまとめ方がされることがあります。

ということで、DeepLearningのネットワーク構成の整理は簡単なようで難しい問題となるわけです。よくあるRNN、LSTM論争はLSTMもリカレント構造のため、RNN(RNN、LSTM、GRU)と基本的に整理して良いと思いますが、TransformerとCNN、TransformerとRNNはどのように考えたら良いのでしょうか。

https://www.amazon.co.jp/dp/B08JGM3JNP

上記の『グラフ理論機械学習』では「Transformerはグラフニューラルネットワークである」ということについて紹介しました。一方で、CNNやRNNの取り扱いはあまり行いませんでした。とはいえ、グラフニューラルネットワーク(GNN)は大変広い概念であり、CNNやRNNもその特例として見ることができるのではというのがなんとなく示唆する内容となっていたのではないかと思います。

さて、なぜグラフニューラルネットワークはこんなにも広い概念となるのでしょうか。最初に示した図でもDeepLearningをGNNでそのままカバーした図を用いていますが、この背景には何があるのでしょうか。

私見としては、「隣接行列(Adjacency Matrix)に基づくグラフがユークリッド空間も非ユークリッド空間も表現できるため、全てを内包することができるが、ユークリッド空間ベースのCNNやRNNが先に議論されたためグラフによるユークリッド空間の描画はトピックとしてはそれほど意識されない」という風に考えています。また、ユークリッド空間のDeepLeanringの取り扱いはパラメータシェアリングがベースとなっており効率化を試みたとも考えることができますが、これはトレンドとしては逆で、「元々フィルタ処理をベースにニューラルネットワークを組んだら結果的にパラメータシェアリングだった」の方が理解としては正しいのではと思います。RNNも同様で、AR(Auto Regressive)などに基づいて系列問題を取り扱うにあたってはパラメータシェアリングが自然と用いられたと考えて良いのではないでしょうか。

ここで、Transformerの利点ですが、元々はLSTM(RNN)では長い系列の取り扱いが難しいという構造的な問題に取り組んだわけです。左から右への単純なDAG(Directed Acyclic Graph)としての単語系列の取り扱いを、隣接行列ベースで全ての単語から全ての単語へのAttentionとして取り扱いを行って伝言ゲームのような脆弱性を排除したことでTransformerは高い表現力を得たと考えて良いかと思います。ViT(Vision Transformer)で取り組んでいる課題も同様で、CNNベースでは局所特徴量ベースの延長線上に過ぎず、従来のフィルタ処理などの局所特徴量抽出の手法の究極体にはなっても従来の手法の前提までは破れないところへのアプローチが試みられているのだと思います。

ということで、Transformerの登場によって期待されているのは、ユークリッド空間に基づく処理を行う際の局所性による限界の打破」なのではないかと考えて良いのではと思います。世界を隣接行列として見ることで、より高い表現力を得ようとしているのだと思います。もちろんCNNやRNNも隣接行列で表現できるのですが、どちらも対角行列+αのような隣接行列となるため、隣接行列の空間をうまく活用できていないのだと思います。

f:id:lib-arts:20210212175523p:plain
改めて冒頭で唐突にご紹介した上図ですが、非ユークリッドを取り扱ったTransformerとユークリッドを取り扱ったCNNとRNNを考えられるように整理しました。

途中で出てきた「そもそもAttentionってCNNでは?」という疑問については、「そもそもどちらもグラフニューラルネットワークで、CNNはユークリッド空間上の位置的な情報に基づいてMessage Passingを行い、Attentionは何らかの形で隣接行列を作成し(TransformerではDot Product Attention)それに基づきMessage Passingを行う」が回答になるかと思います。

少々まとまりのない記事とはなりましたが、従来とは違った視点で諸々の手法について考えるきっかけとなりましたら大変嬉しい限りです。