6

私は Conv Nets について多くのことを読んだり、Julia の Mocha.jl パッケージ (Caffe によく似ていますが、Julia REPL で操作できます) を使って遊んだりしています。

Conv ネットでは、畳み込みレイヤーの後に「機能マップ」レイヤーが続きます。私が疑問に思っているのは、ネットワークが特定の問題を解決するために必要な機能マップの数をどのように決定するのでしょうか? これには科学がありますか、それともより芸術的ですか?分類を行おうとしている場合、少なくとも最後のレイヤーには、機能マップの数 == クラスの数が必要であることがわかります (ネットワークの最上部に完全に接続された MLP がない限り)。

私の場合、画像内のすべてのピクセルの値を考え出すほど分類を行っているわけではありません (これは、クラスが 0 から 255 までの分類と見なすことができると思います)。

編集: コメントで指摘されているように、出力が 0 から 255 (この場合はグレースケール) の範囲にある回帰問題を解決しようとしています。それでも、問題は残ります: 特定の畳み込み層で使用する特徴マップの数をどのように決定するのでしょうか? これは、回帰問題と分類問題で異なりますか?

4

2 に答える 2

1

もっとアート。conv-nets を使用する imagenet の勝者の唯一の違いは、レイヤーの構造と、おそらくいくつかの新しいトレーニング方法を変更したことです。

VGG は良い例です。2^7、次に 2^8、次に 2^9 で始まるフィルタ サイズで始まり、その後に全結合層、次にクラスを提供する出力層が続きます。マップとレイヤーの深さは、出力クラスの数とはまったく関係ありません。

上部に完全に接続されたレイヤーは必要ありません。そのようなものは、畳み込みネットが解決するように設計された目的を無効にします (ニューロンごとに数十万の重みをオーバーフィットして最適化する)

大きなセットでのトレーニングには、大量の計算リソースが必要になります。imagenet を使用している場合 - http://caffe.berkeleyvision.org/model_zoo.htmlの上に構築できる caffe を使用した事前トレーニング済みモデルのセットがあります。

これらをモカに移植できるかどうかはわかりません。https://github.com/ethereon/caffe-tensorflowに興味がある場合は、テンソル フローへのポートがあります。

于 2017-01-05T02:43:53.447 に答える