Darknetを使用した学習では、引数に学習済み係数を与えて転移学習を行うことができます。Darknetで使用するYOLOv2の前段はVGGライクな特徴検出器となっており、Imagenetなどの大規模データで学習したフィルタ係数を流用することで、効率的に学習を行うことができると言われています。
今回はFDDBを使用した顔検出において、転移学習の効果を確認します。モデルはYOLOv2-tinyを使用します。FDDBのデータセットは2845枚で、3/4をトレーニング、1/4をバリデーションとして用います。
まずは、転移学習をしない場合の学習の推移です。

次に、転移学習をする場合の学習の推移です。

転移学習をしない場合は、最初のlossが大きいですが、転移学習をする場合は最初のlossが低い地点からスタートすることがわかります。また、lossの低下速度が速くなっています。
ただ、転移学習をしない場合でも、Geforce1050tiで一晩で学習が終わっており、また、最終的にできあがるモデルの精度もあまり違わないため、Darknetにおいては転移学習をしなくてもよさそうという結論です。
ソースコード:YoloKerasFaceDetection
今回はFDDBを使用した顔検出において、転移学習の効果を確認します。モデルはYOLOv2-tinyを使用します。FDDBのデータセットは2845枚で、3/4をトレーニング、1/4をバリデーションとして用います。
まずは、転移学習をしない場合の学習の推移です。

次に、転移学習をする場合の学習の推移です。

転移学習をしない場合は、最初のlossが大きいですが、転移学習をする場合は最初のlossが低い地点からスタートすることがわかります。また、lossの低下速度が速くなっています。
ただ、転移学習をしない場合でも、Geforce1050tiで一晩で学習が終わっており、また、最終的にできあがるモデルの精度もあまり違わないため、Darknetにおいては転移学習をしなくてもよさそうという結論です。
ソースコード:YoloKerasFaceDetection
コメント