3

独自のディープ ニューラル ネットワーク ライブラリにAdaDelta ( http://arxiv.org/abs/1212.5701 ) を実装しました。論文によると、AdaDelta を使用した SGD はハイパーパラメータに敏感ではなく、常に適切な場所に収束すると書かれています。(少なくとも、AdaDelta-SGD の出力再構成損失は、よく調整された Momentum 法のそれに匹敵します)

Denoising AutoEncoder の学習方法として AdaDelta-SGD を使用した場合、特定の設定で収束しましたが、常にではありませんでした。MSE を損失関数として使用し、Sigmoid を活性化関数として使用した場合、非常に迅速に収束し、100 エポックの反復の後、最終的な再構成損失は、単純な SGD、Momentum を使用した SGD、および AdaGrad のすべてよりも優れていました。

しかし、活性化関数として ReLU を使用すると、収束せずにスタック (振動) し続け、高い (悪い) 再構成損失が発生しました (学習率が非常に高いプレーンな SGD を使用した場合と同様)。それが積み重ねた再建損失の大きさは、モメンタム法で生成された最終的な再建損失よりも約10倍から20倍高かった。

論文では AdaDelta がちょうど良いと書かれているので、なぜそうなったのか、私にはよくわかりません。現象の背後にある理由と、それを回避する方法を教えてください。

4

1 に答える 1

2

ReLU のアクティベーションは無制限であり、オート エンコーダーでの使用が困難になります。これは、トレーニング ベクトルが任意に大きくて無制限の応答を持たない可能性が高いためです。ReLU は、このタイプのネットワークには適していません。

ここで行われているように、出力レイヤーに何らかの変換を適用することで、ReLU をオート エンコーダーに強制することができます。ただし、自動エンコーダーの観点から結果の品質について議論するのではなく、分類の事前トレーニング方法としてのみ議論してください。そのため、自動エンコーダーを構築するための努力が価値があるかどうかは明らかではありません。

于 2014-07-19T18:03:43.897 に答える