2
$\begingroup$

the conventional way of creating a CNN is using increasing number of neurons:

model = models.Sequential([
  layers.Conv2D(32,(3,3),activation='relu',input_shape=input_size),
  layers.MaxPooling2D((2,2)),
  layers.Conv2D(64,(3,3),activation='relu'),
  layers.MaxPooling2D((2,2)),
  layers.Conv2D(128,(3,3),activation='relu'),
  layers.MaxPooling2D((2,2)),
  layers.Conv2D(128,(3,3),activation='relu'),
  layers.MaxPooling2D((2,2)),
  layers.Flatten(),
  layers.Dense(128,activation='relu'),
  layers.Dense(64,activation='relu'),
  layers.Dense(1,activation='sigmoid')
])

where in this case, the number of neurons increase from 32, 64, to 128. However, i have also found a paper https://pubmed.ncbi.nlm.nih.gov/33532975/ that uses decreasing number of neurons i.e. 128, 64, 32 , as the network goes deeper. but in this paper, not much explanation was given on how the NN work in decreasing number of neurons. Does it mean decreasing number of neurons assumes that "there are less number of important features to be captured as the network goes deeper" ?

Question: Can someone explain to me

  1. how does the increasing number of neurons work
  2. how does the decreasing number of neurons work and why this is not the common practice
  3. referring to 2, what keyword should i find, in order to get articles or writing related to 2?
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.