5
$\begingroup$

In the paper "ForestNet: Classifying Drivers of Deforestation in Indonesia using Deep Learning on Satellite Imagery", the authors talk about using:

  1. Feature Pyramid Networks (as the architecture)
  2. EfficientNet-B2 (as the backbone)

Performance Measures on the Validation Set. The RF model that only inputs data from the visible Landsat 8 bands achieved the lowest performance on the validation set, but the incorporation of auxiliary predictors substantially improved its performance. All of the CNN models outperformed the RF models. The best performing model, which we call ForestNet, used an FPN architecture with an EfficientNet-B2 backbone. The use of SDA provided large performance gains on the validation set, and land cover pre-training and incorporating auxiliary predictors each led to additional performance improvements.

What's the difference between architectures and backbones? I can't find much online. Specifically, what are their respective purposes? From a high-level perspective, what would integrating the two look like?

$\endgroup$
1

2 Answers 2

0
$\begingroup$

The vocabulary is definitely non-standard and a bit confusing, but Feature Pyramid Networks is used as a feature extractor, and its output is then fed into EfficientNet-B2 to be used to classify the image. One neural network model is concatenated at the end of the other.

So it seems like "architecture" is the front half of the neural network model which takes as input the satellite image and extracts image features, and then is directly connected to the back half of the model (hence "backbone"), which takes the features extracted from the "architecture" and makes a classification.

This terminology is definitely non-standard here, at least in the AI community, and if you ask anyone here I think it will be uncommon for them to naturally think about the words "architecture" vs "backbone" in this way unless they specialize in a similar field to the authors.

$\endgroup$
5
  • 5
    $\begingroup$ I don't know if it's standard or not, but I've seen the term "backbone" being used in several CV papers. For example, take a look at this famous paper (famous siamese networks) or this other one (mask R-CNN). I am pretty sure there are other examples, so I think that this terminology is not that uncommon, at least, in papers that introduce DL-based CV techniques. $\endgroup$
    – nbro
    Dec 21, 2020 at 0:08
  • $\begingroup$ There's also this SO question or this Stats question. In any case, I don't know if this terminology is being used consistently or not across all these papers. I am not familiar with the paper mentioned in this post (and I don't really have time to read it now), but I think that your interpretation of the terms is different than the usage of these terms in other contexts (such as mask R-CNN, although it's been a long time since I skimmed through that mask R-CNN papers). $\endgroup$
    – nbro
    Dec 21, 2020 at 0:11
  • $\begingroup$ So, if you have some time, I suggest that you go through these papers (and questions/posts) more carefully and try to understand what they really mean by that and if they are being used consistently across these papers. $\endgroup$
    – nbro
    Dec 21, 2020 at 0:17
  • 1
    $\begingroup$ Thanks! I'll give it a read when I get the chance $\endgroup$ Dec 21, 2020 at 21:44
  • $\begingroup$ The backbone term may be borrowed from other fields of software development. I work in web development and would understand them differently. The weird thing for me here is that "architecture" seems clearly used in the ai/NN sense, whilst "backbone" seems to be used in a more general software Dev sense. $\endgroup$ Jun 5, 2022 at 9:20
-1
$\begingroup$

I've taken an NVIDIA course on the portal and it said that ResNet, VGG, GoogleNet were model architectures , and that DetectNet_V2,FasterRCNN,SSD, UNET were model backbones, so I think it's a common terminology

$\endgroup$
1
  • $\begingroup$ It's actually the opposite for me. ResNet, VGG and GoogleNet are convolutional backbones, while FasteRCNN, SSD and DetectNet are typical Object Detection architectures, and UNET is a FC architecture for image-to-image tasks (e.g object segmentation). $\endgroup$
    – Ciodar
    Jun 19 at 12:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .