title: Why does my keras model have so many parameters?
body: <pre><code>model = ke.Sequential()
  
  model.add(Convolution2D(32,kernel_size=(2,2),activation='relu',input_shape=(360,720,1)))
  model.add(Convolution2D(32, 2, 2, activation='relu'))
  model.add(MaxPooling2D(pool_size = (3,3)))
  model.add(Dropout(.3))
  
  
  model.add(Flatten())
  model.add(Dense(2, activation='softmax'))
  </code></pre>
  
  <p>the above is currently the architecture for my CNN. However, it says it  has 1.8m trainable parameters. Why is this so? I thought the first layer gives (32*4 = 128 params), but then how do I find how many params are in the rest of the model? </p>
  
  <p>My understanding was that the CNN architecture should only depend on the filtering and max-pooling since they are shared weights. Why then do I have so many parameters? How should I go about reducing the number?</p>
  
  <p>I am <strong>not</strong> asking how to find the number of params using "summary". I am asking why my model has so many parameters and how I can reduce that number. I do not understand intuitively why this model should have 1.8million trainable parameters.</p>