2017-07-04 10 views
2

最近リリースされたテンソルフローオブジェクト検出APIに基づいてオブジェクト検出パイプラインを設定しています。私はarXivをガイダンスとして使用しています。私は自分自身のデータセットの訓練のために以下を理解しようとしています。テンソルフロー検出APIトレーニングのハイパーパラメータの選択

  1. 彼らが学習率のスケジュールを選択し、どのようにそれは訓練のために利用可能なGPUの数に基づいてどのように変化するかは明らかではありません。訓練に利用できるGPUの数に基づいて訓練率のスケジュールはどのように変わるのですか?この論文では、9つのGPUが使用されています。 1 GPUだけを使用したい場合は、どのようにトレーニングレートを変更する必要がありますか?

  2. Faster R-CNNを使用したPascal VOCのリリースサンプルトレーニングconfig fileは、初期学習率= 0.0001です。これは、元のFaster-RCNN paperで公開されたものの10倍です。これは、トレーニングに利用できるGPUの数や別の理由による数の仮定によるものですか?

  3. 私はCOCO検出チェックポイントからトレーニングを開始するとき、どのようにトレーニング損失が減るべきですか?テンソルボードを見ると、私のデータセットの訓練の損失は低いです - 反復ごとに0.8〜1.2(バッチサイズ1)です。下の図は、テンソルボードからの様々な損失を示しています。 。これは予想される動作ですか?質問1と2については
    Training loss- Faster RCNN

答えて

4

:私たちの実装では、元の紙に比べていくつかの小さな細部が異なると、内部で、私たちは〜10基のGPUで、非同期SGDと私たちの検出器のすべてを訓練します。私たちの学習率は、この設定で調整されています(これは、ペットウォークスルーのようにCloud ML Engineを介して訓練することに決めた場合にもあります)。別の設定を使用する場合は、ハイパーパラメータの探索を少し行わなければなりません。単一のGPUの場合は、学習率をそのままにしてもパフォーマンスは低下することはありませんが、それを増やすことでより速いコンバージェンスを得ることができます。

質問3:訓練の損失は不規則に減少し、プロットをかなりスムーズにすると減少が見えます。さらに、訓練の損失を見るだけで、evalメトリクスに関してどれだけうまくやっているかを明示するのは難しいです。時間をかけてmAPのプロットを見るだけでなく、画像の視覚化を見て、モデルが「浮き上がっている」かどうかを実際に知ることをおすすめします。

これが役に立ちます。

関連する問題