「パーコレーション・ノイズ: スパース化と Dropout ならぬ…
jrf> 「パーコレーション・ノイズ: スパース化と Dropout ならぬ Drop-in を組み合わせる実験 その2」を行った。Magnitude Pruning により30%のスパース化が達成できたのには驚いた。 《humanoid_nested_attention_dt_10_2.ipynb - Colab》 https://colab.research.google.com/drive/1CZy4thKEWN7ExGvD7Q8AVN4t1sa06s6b#scrollTo=qPjZMvYxeSJ2 ……。 概要。 DecisionTransformer 系のモデルを使って二足歩行の模倣学習を行う実験で、スパース化を試みる。その際、Gemini さん提案の DynamicWeightedPercNoise (DWPN) と Magnitude Pruning を組み合わせ、ほぼ動作に支障なく 30% のスパース化を実現した。 ……。 その1の実験。 普通に考えれば、Drop-in は Dropout と同様の汎化性能が出ておかしくないはずである。しかし単純に Drop-in を作っても動作がうまくいかなかった。理由は詳しくわからないが、Drop-in では、本来の重みと相関が残っていることが、むしろ汎化に悪影響があると考えて、その相関がないようなノイズを注入することにしてみたところ、まずまずうまくいくようになった。それが PercNoise (パーコレーション・ノイズ)という仕組みである。つまりそれは、Dropout で開いた穴(ゼロ)に正規分布ノイズを足したものである。パーコレーションで必要なのは、スパース化でゼロになったところでの摂動のみだろうから、その変更は許容できると私は考えたのである。 しかし、このようにして動作をうまくいくようにしてから、L1正則化を発動させるために L1_REG_LAMBDA をかなり高くしても、スパース化は1%を超えることはなかった。最初からの学習をしても、またはある程度学習させてからの追加学習でも、まったくスパース化は起きなかった。