web-dev-qa-db-ja.com

Resnetディープニューラルネットワークを最初からトレーニングする

ディープニューラルネットワークについての知識を得る必要があります。

「ResNet」の非常に深いニューラルネットワークの場合、転移学習を使用してモデルをトレーニングできます。ただし、ResnetはImageNetデータセットを介してトレーニングされています。したがって、事前にトレーニングされた重みを使用して、別のデータセットでモデルをトレーニングできます。 (CT肺画像を使用した肺がん検出のモデルのトレーニングの例)

事前にトレーニングされたウェイトは他のオブジェクトに対して完全にトレーニングされていますが、医療データではトレーニングされていないため、このアプローチは正確ではないと感じています。

転移学習の代わりに、resnetを最初からトレーニングすることは可能ですか? (ただし、resnetをトレーニングするために使用できる画像の数は約1500です)。通常のコンピューターでできることはありますか?.

誰かがあなたの貴重なアイデアを私と共有してくれませんか

10
user2445123

resnetを最初からトレーニングすることは可能ですか?

はい、可能ですが、精度を上げるために必要な時間はデータによって大きく異なります。たとえば、NVIDIA M40 GPUで元のResNet-50をトレーニングするには、14日かかりました(10 ^ 18単精度演算)。 CNNで最も費用のかかる操作は、初期層での畳み込みです。

ImageNetには14mが含まれています226x226x3画像。データセットは約10000倍小さいため、各エポックの操作回数は約10000倍少なくなります。さらに、RGB画像の代わりにグレースケールを渡すと、最初の畳み込みにかかる操作が3分の1になります。同様に、空間画像サイズもトレーニング時間に影響します。小さい画像でトレーニングすると、バッチサイズも大きくなる可能性があります。これにより、通常、ベクトル化により処理が高速化されます。

全体として、1080や1080tiなどの単一のコンシューマーGPUを搭載したマシンは、1日に最大100エポックのResNet-50モデルをトレーニングできると推定しています。明らかに、2GPUマシンでのトレーニングはさらに高速になります。それが通常のコンピューターの意味である場合、答えは「はい」です。

ただし、データセットは非常に小さいため、過剰適合の可能性が高くなります。これは、あなたのアプローチが直面する最大の問題のように見えます。

9
Maxim