ディープラーニングを実際に適用する際のボトルネック


9

たくさんのディープラーニングペーパーを読んだ後、ネットワークをトレーニングして通常よりも優れたパフォーマンスを得るには多くのトリックが存在するという一種の大まかな感じがあります。業界のアプリケーションの観点からすると、この種のトリックを開発することは、グーグルやフェイスブックなどの大手テクノロジー企業のエリート研究グループを除いて、非常に困難です。次に、ディープラーニングアルゴリズムを実際に適用するための最良の方法は何ですか。ご意見やご提案をいただければ幸いです。

回答:


9

確かに、パフォーマンスを改善するために使用されるいくつかの詳細はトリックと見なされ、これらのトリックがデータとネットワークに同じ改善をもたらすかどうかは常にわかりません。

あなたが間違いなく必要とするいくつかのこと:

  • データ、たくさん
  • GPUを使用すると、実験をより速く実行し、より短い時間でより多くのことを試すことができます。
  • 学習曲線の分析。最終的にはテストセットのパフォーマンスに影響しますが、トレーニングとテストの両方のメトリックを見ると、パフォーマンスが悪い理由を特定できます。強いバイアス?あまりにも多くの非表示ノードからの過剰適合?
  • 活性化関数。どの種類のアクティベーション機能が必要かを知るトリックとは思えません。ReLUは、シグモイドやタンのように飽和しないという点で重要な特性を持っています。ReLUを備えたニューロンは、確率のような出力を持ちますが、とにかく中間レベルの層のニューロンにはこれは必要ありません。あなたが得る利点は、勾配の消失または爆発を軽減し、収束をスピードアップすることです。
  • 正則化。トリックとして適用することもできますが、主流のディープラーニングライブラリのいずれかを使用している場合は、ドロップアウトを介した正規化のための既成の実装を入手できます。
  • データ拡張。基本的に、手動でアノテーションを追加することなく、データセットを総合的に拡張しています。重要なのは、実際に意味のある変換をデータに追加することです。これにより、ネットワークは、テストフェーズで、または製品に展開されたときに遭遇する可能性のあるデータのバリアントを確認できるようになります。ビジュアルデータの場合、水平方向の反転は取るに足らないものであり、多くの利益をもたらします。ジッタはおそらくデータのタイプとそれがいかにうるさいかに依存しています。
  • ハイパーパラメータ探索に飛び込むのはイライラすることがあります。小規模なネットワークと簡単なトレーニング手順から始めます。ネットワークが小さいほど、トレーニングが速くなります。過剰適合の兆候が見られたら、さらにレイヤーを追加します。
  • 初期化が良好です。ランダム初期化は、ネットワークの収束能力を測定するのに適していますが、必ずしも最適なパフォーマンスをもたらすとは限りません。同時に、反復を続けるだけでは、ネットワークがトレーニングデータに適合しなくなる可能性があります。可能であれば、表現を学習済みの事前トレーニング済みネットワークを使用して、データセットに合わせて微調整します。教師なし事前トレーニングは別の方法であり、教師付きトレーニング手順を体重空間ではるかに有望な位置から開始できるようにすることができます。
  • 精査するトリック。トリックが実際に行うことを理解します。ネットワークのパフォーマンスを改善するために使用された小さな詳細を説明する論文は、その新しい側面に焦点を当てます。この論文は、著者が取り組んできた一連のプロジェクトの一部になる可能性があります。トリックのコンテキストは必ずしもすぐに明確であるとは限りませんが、作者にとってそれはトリックではなく、彼らが抱えていた問題を解決する手法です。時にはテクニックが出てきてトリックとして扱われ、後で誰かがその影響を分析してその機能を説明します。たとえば、このトリックは、より多くの人がよく知っているL2正則化に相当します。この新しい手法を試すか、すでに知っているL2正則化を使用するかを決定できます。これらのトリックの多くは、ディープラーニングの問題を解決しようとしています。コストのかかる計算、パラメータ化と非常に冗長な重み。これらのトリックが実際に何をするかを理解するために時間をかける価値があります。彼らが解決しようとする問題を理解することで、さまざまなトリックの適用可能性を判断し、私たちが持っている可能性のある制約(例:小さな計算能力、小さなデータセット)でうまく機能するものを選ぶことができます

2

これは興味深い本です。ニューラルネットワーク:取引の裏技、本の更新された2012年版です。ニューラルネットワークのパイオニアの何人かによるたくさんの記事。

ypxは、トレーニングに関する多くの実用的な問題に美しく触れました。そのため、あなたが提起した他の問題に触れました。多くのエリート産業ラボがまだ結果を公開しています。たとえば、Microsoft ResearchのチームはImageNet 2015で優勝し、新しいディープネットモジュールを説明するテクニカルレポートをリリースしました。画像認識のためのDeep Residual Learning、GoogleのチームはInceptionアーキテクチャ、Going Deeper with Convolutionsも公開しています。重要な革新を共有するという(今のところ)機械学習の文化は重要です。おそらく、キーがデータへのアクセスであるためです。GoogleとFacebookは、私たちがしていないデータにアクセスするだけです。生のアルゴリズム革新にどれほどのクレジットがあり、大量のデータにどれだけのクレジットがあるかは言いがたい。

将来はどうなるのでしょうか?言いにくい。これらのデータ主導型企業がどれほど価値があり、市場がどれだけ競争力があるかを考えると、多くの人々が提起した問題です。しかし今のところ、私は産業研究所が共有するものと共有しないものの十分なバランスがあると思います。正確なコード実装を共有していないことを理解しています。しかし、彼らはいくつかの非常に斬新なイノベーションを共有しています。

重要な結果を発表し、読んだり、読んだり、読んだりする研究者を見つけましょう。私はヤン・ルクンのRedditのAMAを信じて、彼は貪欲な読者であると述べました。これが一番大事なことだと思います。そして、実用的な範囲で、ベンチマークを再作成するか、予算内のデータセットにメソッドを適用してください。

あなたがどこにいるのか、人生のどのステーションにいるのかに関係なく、これは鋭敏さを保ち、スキルを磨き続けるための最良の方法だと思います。貪欲な読者になって、物事を実装し、直感を構築してください。個人的にはImageNetコンテストに参加するためのリソースはありませんが、パフォーマンスの高いImageNetグループの記事をすべて読んだことで、非常に役立ちました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.