CNN Dense層をConv層後に置ける理由について
解決したいこと
CNNを使った機械学習について質問があります。
Q1, VGG16などでDesne層4096の後にDense層4096、そこからDense層1000となっています。
つまり4096を2回経由する意味はあるんでしょうか?
Q2, Dense層の後にはFlatten層が置かれることが一般的ですが、先ほど、畳み込み層の後にDense層を置き、その後にFlattenを置くことができました。
この方法だと何が問題なのでしょうか?
一般的な構造: conv2d(max)→Flatten→Dense→Dense
エラーが起きない:conv2d(max)→Dense→Flatten→Dense
たとえば畳み込み層の後にFlattenを置かないとエラーになります。構造が間違っているからです。ですが、conv2d(max)→Dense→Flatten→Denseとした場合エラーが起きませんでした。構造的におかしいはず(やっている人を見たことがない)ですがまともに学習は進みます。だれか何がダメなのか教えていただけると助かります。
メイン質問はQ2でQ1の回答は無くても問題ないです。
0