Home > Back-end >  What is the difference between these two layers : CONV and MBConv?
What is the difference between these two layers : CONV and MBConv?

Time:04-17

I am working on a machine learning project to learn more about this field. The project is about image classification. I want to use the EffnetB0 architecure and they mention in this architecure they use in the fisrt stage the following layer: "Conv3X3" and the following layers they use "MBConv1". I tried to understand the difference between these two layers but I can't seem to find the answer. These two layers are both convolutional layers right ?

But what exactly is the difference between "Conv" and "MBConv"?

Thank you for helping me!

CodePudding user response:

A conv means that there is a convolution core to scan the matrix corresponding to the target image line by line and convolution, the result of each convolution constitutes a value of the output matrix.

About the MBConv,i think you means mobile inverted bottleneck convolution,it's more of an encapsulated module than a single conv layer. A MBConv's structure can be expressed as follows:

MBConv = 1x1conv(ascending dimension) Depthwise Convolution SENet 1x1conv(dimensionality reduction) add

By the way, you may notice the new names Depthwise Convolution and SENet, which are also a kind of modules(honestly, it's like a nesting doll)

If you just want to use it, you don't necessarily need to fully understand it until you need to improve your model structure. So my answer to your question

What is the difference between these two layers : CONV and MBConv?

is : the former is a simple layer, and the latter is a complex module made up of many simple layers

  • Related