6

私はかなり長い間テンソルフローで遊んでいましたが、私は理論的な疑問をもっと持っています。一般に、ネットワークをトレーニングするときは、通常、GradientDescentOptimizer(おそらくadagradやadamのようなバリエーション)を使用して、損失関数を最小限に抑えます。一般に、この損失関数の全体的な最小値を得るために、重みと偏りを調整しようとしているように見えます。しかし、問題は、もしあなたがそれをプロットするなら、この関数は非常に複雑な外観を持っていると仮定しています。私は、Gradient Descentがグローバルな最適を見つけて、グローバルな最適からはるかに離れたローカルな最適化に直面していないことを、どのように確認できますか?TensorFlow - GradientDescentOptimizer - 実際にグローバルな最適化を見つけていますか?

たとえば、sklearnでクラスタリングを実行しているときには、通常、クラスタセンターのランダムな初期化を使用してクラスタリングアルゴリズムを複数回実行し、これを実行することで最適な結果が得られないことを確実にします。しかし、テンソルフローでANNを訓練している間、このようなことはしていません - ランダムウェイトから始め、関数の傾きに沿って移動します。

だから、これについての洞察はありますか?勾配下降によるトレーニングの結果が、損失が大幅に減少した後に、全体的な最小値に近づくのは、なぜ、より確実かどうかです。

私がなぜ少なくともグローバルな最小値に近づくかを確かめることができない場合、実際には2つの異なるモデルのどちらが実際に優れているかを簡単に判断できないということがわかります。実験をすることができるので、モデルが良くないことを示すモデル評価をしてください...しかし実際には、トレーニング開始直後に現地の最小値に固執しました。私たちにとってより良いと思われた他のモデルは、より良い出発点からトレーニングを開始することはちょっとラッキーでしたし、地元の最低速で立ち往生しませんでした。さらに、この問題は、現在テスト可能なネットワークアーキテクチャから最大限に得ることさえできないことを意味します。例えば、それは本当に良いグローバルな最小値を持っているかもしれませんが、それを見つけるのは難しく、ほとんどの場合、極小値では貧弱な解決策に悩まされます。

+3

グラデーション降下は、その性質上、関数をローカルで(ローカルグラジエント)調べています。したがって、グローバルミニマムになるという保証は全くありません。実際、関数が凸でなければ、おそらくそうではありません。これはまた、GDのようなメソッドが最初の位置に敏感である理由です。 高次元の解空間では、最大/最小の数はこれまで考えられていたほどではないという最近の論文がありました。 – Luca

+1

@ルーカは、人々がこの問題とどのように戦うかに関する良い記事がありますか?オプティマイザが十分な勢いを蓄積しているときに、その勢いが現地のミニマムから「飛び降りる」のを助けることができると理解していますが、これは私の前提です。私は、ベルケレイビジョンやグーグルのような深刻な研究所の誰もあなたがトレーニングを開始し、即座に地元のミニマムに立ち寄り、この問題を調査していない可能性を避けようとしていないと信じることはできません。そこにはありますが、私はそれらを見つけることができません –

+1

高次元の空間でグローバルなミニマムを合理的な方法で見つけることは、非常に未解決の問題です。しかし、あなたはminimasではなく\ textit {鞍点}にもっと集中したいと思うかもしれません。例えば、この記事(http://www.kdnuggets.com/2015/11/theoretical-deep-learning.html) – Luca

答えて

4

勾配降下かもしれません関数はローカルで調べています(局所的な勾配)。したがって、グローバルミニマムになるという保証は全くありません。実際、関数が凸でなければ、おそらくそうではありません。これはまた、GDのようなメソッドが最初の位置に敏感である理由です。それによると、最近の論文では、高次元の解空間では、最大/最小の数はこれまで考えられていたほどではないと述べています。

高次元空間におけるグローバルミニマムを妥当な方法で見つけることは、非常に未解決の問題であるようです。しかし、あなたはminimaではなくの鞍点にもっと集中したいと思うかもしれません。例えば、この記事を参照してください。

High level description for saddle point problem

より詳細な論文はこちら(https://arxiv.org/pdf/1406.2572.pdf

2

あなたの直感はかなり正しいです。ニューラルネットワークのような複雑なモデルは、典型的には、エラー表面が非常に複雑な景観を有する高次元入力の問題に適用される。

ニューラルネットワークはグローバル最適を見つけることが保証されておらず、ローカルミニマムに詰まることは、多くの研究が集中している問題です。これについてもっと知りたい場合は、ローカルミニマムの問題を避けるために伝統的に使用されてきたonline learningmomentumなどのテクニックを調べるとよいでしょう。しかしながら、これらの技術自体がさらに困難をもたらす。一部の最適化技術ではオンライン学習を統合することは不可能であり、逆伝播アルゴリズムに運動量の高いパラメータを追加すると、トレーニングがさらに困難になります。

バックプロパゲーション中のモーメンタムの影響を視覚化するためのビデオは非常に優れています(here)。質問の編集後

追加 - コメント

を参照してくださいそれは、ニューラルネットワークがそれに適用されている問題の前述の性質は、我々は多くの場合、全体的に最適解を見つけることができないことを意味ので(一般的なケースで)トラバースです最適解の探索空間全体は、古典的なコンピューティング技術(量子コンピュータはいくつかの問題のためにこれを変える可能性がある)を使用して扱いにくいものになります。そのようなニューラルネットワークは、うまくいけば「良い」局所最適を達成するように訓練される。

あなたが良好な局所最適解を見つけるために使用される技術に関するより詳細な情報を読み取ることに興味があれば(すなわちグローバルソリューションを近似何か)読むのに良い紙は、その性質上、this

+1

グッド・オプティマ(グローバル・ソリューションに近似するもの)を見つけるために使用される技術の詳細な情報を読むことに興味があれば、読むべき良い論文は[this](http://jmlr.org/proceedings/)です。 papers/v28/sutskever13.pdf)。 – Mark

+0

これは便利です!答えの本文に追加してください。 –

+0

私は上記の質問の更新と私のコメントを反映するために答えに更新を追加しました。 – Mark

-1

番号勾配降下法は、極小値を見つけるのに役立ちます。グローバル最小値とローカル最小値が同じである場合には、実際の結果、すなわちグローバル最小値しか得られない。

関連する問題