グレースケール画像に畳み込みニューラルネットワークを訓練するための最も適切な方法?

WMU 97:

(入力サイズ(高さ、幅、4))カラーPNG画像を使用してトレーニングする際に畳み込みニューラルネットワークを訓練するためにKeras APIを使用し、私は、通常の2D畳み込み層を使用します。しかし、私は今、グレースケールPNG画像を使用してネットワークを訓練したいと、私はこれを行うための最善の方法は何か疑問に思って?

私は、次の3つの方法が出ています。

  1. 入力画像を、それがカラー画像であるかのように。
  2. 入力画像の最初のチャネルの入力の大きさになるように(高さ、幅、1)。
  3. 入力サイズは(高さ、幅)になるように画像の第1チャネルの1次元畳み込みを使用します。

PNG形式の私のグレースケール画像は、すべてのRGBAチャンネルに同じ値を持っているので、私はトレーニングによって同じ試験精度を達成し、データとしての画像の最初のカラーチャンネルを使用してテストしながら、計算時間を短縮することができるであろうと考え本質的には同じになります。しかし、これはそうではありませんでした。

メソッドのいずれかを使用して、私はエポックあたり〜3Sを取る訓練で91.95パーセントの検査精度を達成することができました。

方法2では、〜と89.66パーセントの精度は、エポックごと2S。

方法3、エポック当たり<1秒と86.21パーセントの精度を有します。

私は精度の矛盾を引き起こしている可能性があり、もう1つは、私が最も信頼すべきかと思っていますので、すべてのネットワークが同じアーキテクチャ、カーネルサイズとプールサイズで訓練を受けたのですか?

desertnaut:

あなたの方法#3は(あまりにも、精度が低いから部分的に明らかに)明確に他の二つとない問題に取り組むための方法と同等ではありません。

さて、中に理論、あなたの方法#1、#2が得られるはず大体あなたが現在精度値に応じて、そう遠くないケースからある同様の結果を、。

二つの方法のいずれも無効ではありません。#1のやや高い精度の可能な説明はここではあなたが実際に1つだけのチャンネルX3に含まれる情報を繰り返すが、これは、ということである事実上の一種として機能ensemblingそれぞれの畳み込みフィルタから開始されるという事実から増幅します(異なるランダム初期化)。より多くの「サブモデル」、ひいてはより良いパフォーマンスに、出力に貢献するモデルアンサンブルのための一般的な期待によると、このリード。もちろん、あなたが、これは複数の実験を実行することにより、ケースであることを確認する必要があり、(単一の実験結果は、常に、単に異なるランダムな初期化のために異なる場合があります)各メソッドの平均精度を取ります。

真実は、単一チャネル画像をCNNs性能がかなりunderexplored主題私の知る限りです。さらなる実験を自分で進んでください!

レポート画像当たり推論時間は異なるアプローチと一致している:1次元畳み込みが速く2Dのものよりも、単一チャネル画像の処理も速く3チャネルよりもあります。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=383977&siteId=1