パーセプトロンの収束性定理と学習率について

昨日公開したパーセプトロンのデモに対して「パーセプトロンに学習率って必要だっけ?」というコメントを頂いた.結論から言えば「収束性の保証には要らない.ただし,適当な値に設定すると経験的には収束が速くなる.」という回答になる *1.

パーセプトロンの収束性定理では学習率は正の値であれば収束することが保証されている.1でよいので学習率は省略可能.ということを言いたのだけれど,そういえばパーセプトロンの収束性定理を自分で証明したことがなかったので赤本[1]引っ張り出して式を追いかけてみた.どうやらバイアス項がある場合とない場合で,収束に要する試行回数の上界が4倍も変わるみたい*2.

赤本の訳者が脚注に丁寧に導出の過程をフォローしてくれているので,pp.17-20あたりを読めばわかると思う.せっかくなのでバイアス項なしの場合について自分の言葉でノートにまとめてみた.

このノートでは,

  • パーセプトロンの収束性定理は学習率に依存しない
  • よってパーセプトロンの学習規則では学習率は (収束の可否に) 関係ない
  • よって学習率は1でよい (なんでもよい)

ということを示した.

ただし,ここでは収束の可否に関係ないということを言っているのであって,経験的には適当な学習率を設定した方が収束が速い*3(2012-06-16削除 こちらの記事参照)."Perrceptronで学習率が大きいとぶっ飛んでしまうぶっ飛んでしまう" というのは「マージンがあっちこっち行って扱いづらい」という意味で記述したつもり.Perceptronデモで学習率を大きく設定すると,ボタンを相当連打しないと分離平面を見つけてくれなかったりする.けれど学習率が大きくても見つかることは保証されているのだから不思議.

ただし,収束性定理で示された上界は学習率では変わらないので「本当にそうなのかよ」という疑問は残る.これは実験で部分的に検証するしかない.では経験的には (実験では) どうなんだろうということも今夜やって書こうかと思ったけれど無駄に引っ張ってみる.

なお,パーセプトロンの収束性定理の証明についてはウェブで公開されているものでは @kisa12012 さんの資料[2]が簡潔でわかりやすい.バイアス項がある場合については赤本[1]に書いてある.

References

追記

  • @c2top さんに誤りを指摘して頂き修正しました.ありがとうございます.

*1:間違っていたらご指摘ください

*2:バイアス項がない場合はt \le \frac{R^2}{\gamma^2}.ある場合はt \le \frac{4 R^2}{\gamma^2}.

*3:これも違ったらすんません