質問編集履歴

4

コードを分けた

2018/03/03 05:24

投稿

yukkys
yukkys

スコア42

test CHANGED
File without changes
test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
  ### 学習結果
10
10
 
11
+
12
+
11
- **CNN1 (aidemy版)**
13
+ ```**CNN1 (aidemy版)**
12
-
13
-
14
14
 
15
15
  //モデル定義
16
16
 
@@ -88,11 +88,13 @@
88
88
 
89
89
  ![イメージ説明](a545e87427558a35e3f9374a0e1ddb4a.png)
90
90
 
91
- ================================
91
+ ```
92
-
93
-
94
-
92
+
93
+
94
+
95
+
96
+
95
- **CNN2(自作版)**
97
+ ```**CNN2(自作版)**
96
98
 
97
99
  //モデル定義
98
100
 
@@ -186,10 +188,14 @@
186
188
 
187
189
  )
188
190
 
191
+ ```
192
+
189
193
  ![イメージ説明](a4076e814931ec9d552f72366d1151f5.png)
190
194
 
191
195
 
192
196
 
197
+
198
+
193
199
  ## ダメな部分
194
200
 
195
201
  してはいけないこと、推奨されていないことをしてしまっている、このdropoutやmaxpoolingの位置や数字、層の順序やパラメータで明らかに間違っている等があれば教えていただきたいです。よろしくお願いします。
@@ -198,7 +204,7 @@
198
204
 
199
205
  ## 改善したCNN
200
206
 
201
- ### ori2 -- (Conv2D(32, (3, 3)))固定に
207
+ ```### ori2 -- (Conv2D(32, (3, 3)))固定に
202
208
 
203
209
  ori2 = Sequential()
204
210
 
@@ -264,12 +270,16 @@
264
270
 
265
271
  ori2.add(Activation("softmax"))
266
272
 
273
+ ```
274
+
267
275
  ![イメージ説明](b640cf801c586bc3731dfd899a1b1322.png)
268
276
 
269
277
  Conv32固定だとダメな模様?
270
278
 
271
279
 
272
280
 
281
+ ```
282
+
273
283
  ### ori3 Dropoutを徐々に増加、batch_sizeを大きめに100に変更
274
284
 
275
285
  ori3 = Sequential()
@@ -336,6 +346,8 @@
336
346
 
337
347
  ori3.add(Activation("softmax"))
338
348
 
349
+ ```
350
+
339
351
  ![イメージ説明](574aa71d6757a0c911a683b63ffcf7da.png)
340
352
 
341
353
  77%くらいまで上昇しました。90%とかそこまでは求めないとしても、80%とかどうやって出すんでしょう。

3

修正モデルを追加

2018/03/03 05:23

投稿

yukkys
yukkys

スコア42

test CHANGED
File without changes
test CHANGED
@@ -267,3 +267,75 @@
267
267
  ![イメージ説明](b640cf801c586bc3731dfd899a1b1322.png)
268
268
 
269
269
  Conv32固定だとダメな模様?
270
+
271
+
272
+
273
+ ### ori3 Dropoutを徐々に増加、batch_sizeを大きめに100に変更
274
+
275
+ ori3 = Sequential()
276
+
277
+ ori3.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
278
+
279
+ ori3.add(Activation("relu"))
280
+
281
+ ori3.add(Conv2D(32, (3, 3)))
282
+
283
+ ori3.add(Dropout(0.1))
284
+
285
+ ori3.add(Activation("relu"))
286
+
287
+ ori3.add(MaxPool2D(pool_size=(2, 2)))
288
+
289
+ ori3.add(Dropout(0.1))
290
+
291
+
292
+
293
+ ori3.add(Conv2D(64, (3, 3)))
294
+
295
+ ori3.add(Activation("relu"))
296
+
297
+ ori3.add(Dropout(0.2))
298
+
299
+ ori3.add(Conv2D(64, (3, 3)))
300
+
301
+ ori3.add(Activation("relu"))
302
+
303
+ ori3.add(MaxPool2D(pool_size=(2, 2)))
304
+
305
+ ori3.add(Dropout(0.2))
306
+
307
+
308
+
309
+ ori3.add(Conv2D(128, (3, 3)))
310
+
311
+ ori3.add(Activation("relu"))
312
+
313
+ ori3.add(Dropout(0.3))
314
+
315
+ ori3.add(Conv2D(128, (3, 3)))
316
+
317
+ ori3.add(Activation("relu"))
318
+
319
+
320
+
321
+ ori3.add(Flatten())
322
+
323
+ ori3.add(Dense(512))
324
+
325
+ ori3.add(Activation('relu'))
326
+
327
+ ori3.add(Dropout(0.4))
328
+
329
+ ori3.add(Dense(256))
330
+
331
+ ori3.add(Activation('relu'))
332
+
333
+ ori3.add(Dropout(0.5))
334
+
335
+ ori3.add(Dense(10))
336
+
337
+ ori3.add(Activation("softmax"))
338
+
339
+ ![イメージ説明](574aa71d6757a0c911a683b63ffcf7da.png)
340
+
341
+ 77%くらいまで上昇しました。90%とかそこまでは求めないとしても、80%とかどうやって出すんでしょう。

2

ori2の学習結果を追記

2018/03/02 07:59

投稿

yukkys
yukkys

スコア42

test CHANGED
File without changes
test CHANGED
@@ -198,6 +198,8 @@
198
198
 
199
199
  ## 改善したCNN
200
200
 
201
+ ### ori2 -- (Conv2D(32, (3, 3)))固定に
202
+
201
203
  ori2 = Sequential()
202
204
 
203
205
  ori2.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
@@ -261,3 +263,7 @@
261
263
  ori2.add(Dense(10))
262
264
 
263
265
  ori2.add(Activation("softmax"))
266
+
267
+ ![イメージ説明](b640cf801c586bc3731dfd899a1b1322.png)
268
+
269
+ Conv32固定だとダメな模様?

1

改善版のCNNを追記

2018/03/02 07:27

投稿

yukkys
yukkys

スコア42

test CHANGED
File without changes
test CHANGED
@@ -193,3 +193,71 @@
193
193
  ## ダメな部分
194
194
 
195
195
  してはいけないこと、推奨されていないことをしてしまっている、このdropoutやmaxpoolingの位置や数字、層の順序やパラメータで明らかに間違っている等があれば教えていただきたいです。よろしくお願いします。
196
+
197
+
198
+
199
+ ## 改善したCNN
200
+
201
+ ori2 = Sequential()
202
+
203
+ ori2.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
204
+
205
+ ori2.add(Activation("relu"))
206
+
207
+ ori2.add(Conv2D(32, (3, 3)))
208
+
209
+ ori2.add(Dropout(0.5))
210
+
211
+ ori2.add(Activation("relu"))
212
+
213
+ ori2.add(MaxPool2D(pool_size=(2, 2)))
214
+
215
+ ori2.add(Dropout(0.5))
216
+
217
+
218
+
219
+ ori2.add(Conv2D(32, (3, 3)))
220
+
221
+ ori2.add(Activation("relu"))
222
+
223
+ ori2.add(Dropout(0.5))
224
+
225
+ ori2.add(Conv2D(32, (3, 3)))
226
+
227
+ ori2.add(Activation("relu"))
228
+
229
+ ori2.add(MaxPool2D(pool_size=(2, 2)))
230
+
231
+ ori2.add(Dropout(0.5))
232
+
233
+
234
+
235
+ ori2.add(Conv2D(32, (3, 3)))
236
+
237
+ ori2.add(Activation("relu"))
238
+
239
+ ori2.add(Dropout(0.5))
240
+
241
+ ori2.add(Conv2D(32, (3, 3)))
242
+
243
+ ori2.add(Activation("relu"))
244
+
245
+
246
+
247
+ ori2.add(Flatten())
248
+
249
+ ori2.add(Dense(512))
250
+
251
+ ori2.add(Activation('relu'))
252
+
253
+ ori2.add(Dropout(0.5))
254
+
255
+ ori2.add(Dense(256))
256
+
257
+ ori2.add(Activation('relu'))
258
+
259
+ ori2.add(Dropout(0.5))
260
+
261
+ ori2.add(Dense(10))
262
+
263
+ ori2.add(Activation("softmax"))