2017-09-06 34 views
0

ここでマルチモーダルネットワークを作成しようとしています。マルチモーダルニューラルネットワークトレーニングの損失が減少していない

2つのネットワークがあり、network_1は画像を入力として使用し、network_2は完全に接続されたネットワークです.17x1ベクトルにはジョイント位置(-0.7〜0.7の範囲の数値)が入ります。私は両方のネットワークの最終的に完全に接続されたレイヤーを連結し、7つのクラスの最終レイヤーを出力します。

CODE:

41   #-------NETWORK 1--------------- 

42   network1 = Sequential() 
43   #Dense layers - 1st param is output 
44   network1.add(Dense(2048, input_shape=(8500,),name="dense_one")) 
45   network1.add(Dense(2048,activation='sigmoid',name = "dense_two")) 
46   network1.add(Dense(1000,activation='sigmoid',name = "dense_three")) 
47   network1.add(Dense(100,activation = 'relu',name = "dense_four")) 
48 
49   for l in network1.layers: 
50     print l.name, l.input_shape , "=======>", l.output_shape 
51 
52   print network1.summary() 
53 
54   #-------- NETWORK 2----------- 
55 
56   network2 = Sequential() 
57   network2.add(Conv2D(32, kernel_size=(3,3),                     activation =        'relu',                    input_shape = (224,224,3))) 
58   network2.add(Conv2D(64, kernel_size = (3,3))) 
59   network2.add(MaxPooling2D(pool_size=(2,2))) 
60   network2.add(Dropout(0.5)) 
61 
62   network2.add(Dense(100,activation='sigmoid',name ="network2_three")) 
63   network2.add(Flatten()) 
64 
65   #-------------------MERGED NETWORK------------------# 
66 
67   model = Sequential() 
68   model.add(Merge([network1,network2],mode = 'concat')) 

精度と損失が減少していないようです。私は今、さまざまな学習率で遊んでいます。

しかし、他にも試してみるべきことがありますか? 私はマルチモーダルニューラルネットワークのためのアーキテクチャの例を見つけることができません。異なるアーキテクチャーを試してみるにはどうすればいいですか?

+1

シグモイド出力で隠れ層を使用しないでください。これにより、ぼやけたグラデーションが生成されます。代わりにReLUを使用してください。 –

+0

うん!それは意味をなさない。確かに、私はそれがどのように動作するかをあなたに知らせる。ありがとう! – deeplearning

答えて

1

いくつかのヒント:

  • あなたはそれがデータの問題ではないのですか?トレーニング用にネットワークに入る直前に、入力とターゲットラベルを視覚化/検査して、入力と対応するラベルが意味をなさないことを確認してください。それは明白なように聞こえるが、あまりにも一般的であり、私が言及したいと思っている誤りである。

  • 機能APIを使用してhereを示すように、(代わりに、複数の連続したモデルの)多入力アーキテクチャを定義してみ

  • あなたのデータの小さなサブサンプルを使用して試してみて、あなたのモデルがそれをoverfitsかどうか(それが必要)そうでなければ、訓練の仕方が間違っている可能性があります。

+0

ありがとう!私は自分の入力をチェックしていて、それは対応しているようです(データはシャッフルされています)。これを小さなサブサンプルで試してみると、私のモデルは過密に見えます。私はマルチ入力アーキテクチャを試し、私のポストを更新します。 – deeplearning

関連する問題