機械学習:lstについての中級者向け話題

ゲートの種類

どちらのゲートも非線形な変換ですが,シグマの方はロジスティック関数 f(x)=(1+exp(-x)^{-1},です。gとhはハイパータンジェント tanh(x) です。 どちらの関数もs字状曲線です。ロジスティック関数の方が値域が狭く0 =<f(x) =< 1 です。一方ハイパータンジェントは -1 =< tanh(x) =< 1で2倍に広がっています。大事なのは,ハイパータンジェントの方が原点(0,0)を通ることです。一方ロジスティック関数はマイナス無限大でしか0になりません。

ピープホールの実装

実装では,TensorFlow ではピープホールはデフォルトではオフになっています。Chainer ではピープホールは仮定されいないようです。Theano ではLSTMセルを自作することになります。

時間についての誤差勾配の計算

完全な形でのBPTTは計算コストがかかるので,実現されいませんでした。時間的に完全な形でのBPTTによる学習が行われたのは2007年のグレーブスの論文からでした。実装では今でも時間的に完全なBPTTを解くよりも切断BPTTを使う場合があります。ChainerもTensorFlowもBPTTの時間幅はオプションで指定します。

勾配消失問題,勾配爆発問題への対処

学習時には,勾配消失問題,勾配爆発問題を回避するために,勾配正規化,勾配クリップという技法が使われます。

  • 機械学習/lstについての中級者向け話題.txt
  • 最終更新: 2016/02/23 05:54
  • by asakawa