teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

コードを分けた

2018/03/03 05:24

投稿

yukkys
yukkys

スコア42

title CHANGED
File without changes
body CHANGED
@@ -3,8 +3,8 @@
3
3
  aidemyに使われていたCNNと層よりも、より層を増やして適当に作った自作CNNが明らかに精度が悪い。
4
4
 
5
5
  ### 学習結果
6
- **CNN1 (aidemy版)**
7
6
 
7
+ ```**CNN1 (aidemy版)**
8
8
  //モデル定義
9
9
  model = Sequential()
10
10
  model.add(Conv2D(32, (3, 3), padding='same',
@@ -43,9 +43,10 @@
43
43
  )
44
44
 
45
45
  ![イメージ説明](a545e87427558a35e3f9374a0e1ddb4a.png)
46
- ================================
46
+ ```
47
47
 
48
+
48
- **CNN2(自作版)**
49
+ ```**CNN2(自作版)**
49
50
  //モデル定義
50
51
  ori1 = Sequential()
51
52
  ori1.add(Conv2D(256, (3, 3), padding='same', input_shape=X_train.shape[1:]))
@@ -92,13 +93,15 @@
92
93
  verbose=1,
93
94
  validation_split=0.3
94
95
  )
96
+ ```
95
97
  ![イメージ説明](a4076e814931ec9d552f72366d1151f5.png)
96
98
 
99
+
97
100
  ## ダメな部分
98
101
  してはいけないこと、推奨されていないことをしてしまっている、このdropoutやmaxpoolingの位置や数字、層の順序やパラメータで明らかに間違っている等があれば教えていただきたいです。よろしくお願いします。
99
102
 
100
103
  ## 改善したCNN
101
- ### ori2 -- (Conv2D(32, (3, 3)))固定に
104
+ ```### ori2 -- (Conv2D(32, (3, 3)))固定に
102
105
  ori2 = Sequential()
103
106
  ori2.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
104
107
  ori2.add(Activation("relu"))
@@ -131,9 +134,11 @@
131
134
  ori2.add(Dropout(0.5))
132
135
  ori2.add(Dense(10))
133
136
  ori2.add(Activation("softmax"))
137
+ ```
134
138
  ![イメージ説明](b640cf801c586bc3731dfd899a1b1322.png)
135
139
  Conv32固定だとダメな模様?
136
140
 
141
+ ```
137
142
  ### ori3 Dropoutを徐々に増加、batch_sizeを大きめに100に変更
138
143
  ori3 = Sequential()
139
144
  ori3.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
@@ -167,5 +172,6 @@
167
172
  ori3.add(Dropout(0.5))
168
173
  ori3.add(Dense(10))
169
174
  ori3.add(Activation("softmax"))
175
+ ```
170
176
  ![イメージ説明](574aa71d6757a0c911a683b63ffcf7da.png)
171
177
  77%くらいまで上昇しました。90%とかそこまでは求めないとしても、80%とかどうやって出すんでしょう。

3

修正モデルを追加

2018/03/03 05:23

投稿

yukkys
yukkys

スコア42

title CHANGED
File without changes
body CHANGED
@@ -132,4 +132,40 @@
132
132
  ori2.add(Dense(10))
133
133
  ori2.add(Activation("softmax"))
134
134
  ![イメージ説明](b640cf801c586bc3731dfd899a1b1322.png)
135
- Conv32固定だとダメな模様?
135
+ Conv32固定だとダメな模様?
136
+
137
+ ### ori3 Dropoutを徐々に増加、batch_sizeを大きめに100に変更
138
+ ori3 = Sequential()
139
+ ori3.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
140
+ ori3.add(Activation("relu"))
141
+ ori3.add(Conv2D(32, (3, 3)))
142
+ ori3.add(Dropout(0.1))
143
+ ori3.add(Activation("relu"))
144
+ ori3.add(MaxPool2D(pool_size=(2, 2)))
145
+ ori3.add(Dropout(0.1))
146
+
147
+ ori3.add(Conv2D(64, (3, 3)))
148
+ ori3.add(Activation("relu"))
149
+ ori3.add(Dropout(0.2))
150
+ ori3.add(Conv2D(64, (3, 3)))
151
+ ori3.add(Activation("relu"))
152
+ ori3.add(MaxPool2D(pool_size=(2, 2)))
153
+ ori3.add(Dropout(0.2))
154
+
155
+ ori3.add(Conv2D(128, (3, 3)))
156
+ ori3.add(Activation("relu"))
157
+ ori3.add(Dropout(0.3))
158
+ ori3.add(Conv2D(128, (3, 3)))
159
+ ori3.add(Activation("relu"))
160
+
161
+ ori3.add(Flatten())
162
+ ori3.add(Dense(512))
163
+ ori3.add(Activation('relu'))
164
+ ori3.add(Dropout(0.4))
165
+ ori3.add(Dense(256))
166
+ ori3.add(Activation('relu'))
167
+ ori3.add(Dropout(0.5))
168
+ ori3.add(Dense(10))
169
+ ori3.add(Activation("softmax"))
170
+ ![イメージ説明](574aa71d6757a0c911a683b63ffcf7da.png)
171
+ 77%くらいまで上昇しました。90%とかそこまでは求めないとしても、80%とかどうやって出すんでしょう。

2

ori2の学習結果を追記

2018/03/02 07:59

投稿

yukkys
yukkys

スコア42

title CHANGED
File without changes
body CHANGED
@@ -98,6 +98,7 @@
98
98
  してはいけないこと、推奨されていないことをしてしまっている、このdropoutやmaxpoolingの位置や数字、層の順序やパラメータで明らかに間違っている等があれば教えていただきたいです。よろしくお願いします。
99
99
 
100
100
  ## 改善したCNN
101
+ ### ori2 -- (Conv2D(32, (3, 3)))固定に
101
102
  ori2 = Sequential()
102
103
  ori2.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
103
104
  ori2.add(Activation("relu"))
@@ -129,4 +130,6 @@
129
130
  ori2.add(Activation('relu'))
130
131
  ori2.add(Dropout(0.5))
131
132
  ori2.add(Dense(10))
132
- ori2.add(Activation("softmax"))
133
+ ori2.add(Activation("softmax"))
134
+ ![イメージ説明](b640cf801c586bc3731dfd899a1b1322.png)
135
+ Conv32固定だとダメな模様?

1

改善版のCNNを追記

2018/03/02 07:27

投稿

yukkys
yukkys

スコア42

title CHANGED
File without changes
body CHANGED
@@ -95,4 +95,38 @@
95
95
  ![イメージ説明](a4076e814931ec9d552f72366d1151f5.png)
96
96
 
97
97
  ## ダメな部分
98
- してはいけないこと、推奨されていないことをしてしまっている、このdropoutやmaxpoolingの位置や数字、層の順序やパラメータで明らかに間違っている等があれば教えていただきたいです。よろしくお願いします。
98
+ してはいけないこと、推奨されていないことをしてしまっている、このdropoutやmaxpoolingの位置や数字、層の順序やパラメータで明らかに間違っている等があれば教えていただきたいです。よろしくお願いします。
99
+
100
+ ## 改善したCNN
101
+ ori2 = Sequential()
102
+ ori2.add(Conv2D(32, (3, 3), padding='same', input_shape=X_train.shape[1:]))
103
+ ori2.add(Activation("relu"))
104
+ ori2.add(Conv2D(32, (3, 3)))
105
+ ori2.add(Dropout(0.5))
106
+ ori2.add(Activation("relu"))
107
+ ori2.add(MaxPool2D(pool_size=(2, 2)))
108
+ ori2.add(Dropout(0.5))
109
+
110
+ ori2.add(Conv2D(32, (3, 3)))
111
+ ori2.add(Activation("relu"))
112
+ ori2.add(Dropout(0.5))
113
+ ori2.add(Conv2D(32, (3, 3)))
114
+ ori2.add(Activation("relu"))
115
+ ori2.add(MaxPool2D(pool_size=(2, 2)))
116
+ ori2.add(Dropout(0.5))
117
+
118
+ ori2.add(Conv2D(32, (3, 3)))
119
+ ori2.add(Activation("relu"))
120
+ ori2.add(Dropout(0.5))
121
+ ori2.add(Conv2D(32, (3, 3)))
122
+ ori2.add(Activation("relu"))
123
+
124
+ ori2.add(Flatten())
125
+ ori2.add(Dense(512))
126
+ ori2.add(Activation('relu'))
127
+ ori2.add(Dropout(0.5))
128
+ ori2.add(Dense(256))
129
+ ori2.add(Activation('relu'))
130
+ ori2.add(Dropout(0.5))
131
+ ori2.add(Dense(10))
132
+ ori2.add(Activation("softmax"))