2017-03-05 6 views
2

私はImagenetモデルと同様に、自分のネットワークをCaffeでトレーニングしようとしています。しかし、私は作物層と混同しています。私がImagenetモデルの作物層について理解するまで、訓練中にランダムな227x227画像作物を取り、ネットワークを訓練します。しかし、テスト中は、中央の227x227画像の切り抜きを取りますが、256x256の画像から中央の227x27画像を切り抜きながら、画像から情報を取り除いていませんか?もう一つの質問は、訓練中に取るべき作物の数をどのように定義するのでしょうか?Caffe |無作為切り取りによるデータ拡大

また、256x256イメージから227x227作図を最初に取り、256x256イメージから255x255作図を2回目とする同じネットワーク(同じ数のレイヤー、同じコンボリューションサイズのFCニューロンが明らかに異なる)を訓練しました。私の直感によると、255x255作物のモデルは私に最高の結果をもたらすはずです。しかし、私は227x227の画像でより高い精度を得ています、誰でも私の背後にある直感を説明することができますか、何か間違っていますか?

+0

私は、この質問が、正確にカフェが「オンザフライ」データ増強をどのように処理するのかを説明する幅広い答えを得なければならないと思います。それに対する答えを見たいと思うでしょうか。 – Shai

+0

@ Shai Ya thats fine。 – Dharma

答えて

0

あなたの所見はCaffeに固有のものではありません。上流のネットワーク層(畳み込みなど)が同じサイズする画像を必要とするので

訓練および試験中にトリミングされた画像の大きさは、同じ(あなたのケースで227x227)である必要があります。トレーニング中にランダムな作物が行われるのは、データを増やしたいからです。ただし、テスト中に標準データセットに対してテストしたいとします。それ以外の場合、テスト中に報告される精度は、テストデータベースのシフトにも依存します。

作物は各繰り返しで動的に作成されます。トレーニングバッチ内のすべての画像がランダムに切り取られます。私はこれがあなたの2番目の質問に答えることを望みます

あなたの直感は完全ではありません:より大きな作物(227x227)では、より多くのデータを増強できます。データ補強は、本質的に「新しい」トレーニングサンプルを無駄なく作成します。これは、トレーニング中に過大な怪我をするのを防ぐために不可欠です。より小さな作物(255x255)では、データが過大になる可能性が高いため、トレーニング精度は向上しますが、テスト精度は低下するはずです。

もちろん、トリミングは過度に行うことができます。切り抜きが多すぎると、画像からあまりにも多くの情報を失います。画像分類の場合、理想的なクロップサイズは、画像のカテゴリを変更しない(すなわち、背景のみが切り取られる)ものである。

関連する問題