Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does backbone mean in a neural network?

Tags:

I am getting confused with the meaning of "backbone" in neural networks, especially in the DeepLabv3+ paper. I did some research and found out that backbone could mean

the feature extraction part of a network

DeepLabv3+ took Xception and ResNet-101 as its backbone. However, I am not familiar with the entire structure of DeepLabv3+, which part the backbone refers to, and which parts remain the same?

A generalized description or definition of backbone would also be appreciated.

like image 471
zheyuanWang Avatar asked Jan 22 '20 20:01

zheyuanWang


People also ask

What does backbone mean in deep learning?

Backbone is a term used in DeepLab models/papers to refer to the feature extractor network. These feature extractor networks compute features from the input image and then these features are upsampled by a simple decoder module of DeepLab models to generate segmented masks.

What is backbone neck head in neural network?

The backbone module exploits the essential features of different resolutions, and the neck module fuses the features of different resolutions. Finally, multiple head modules perform the detection of objects in different resolutions. Source publication. +7.

Is neural network the backbone of deep learning?

Deep learning is a subfield of machine learning, and neural networks make up the backbone of deep learning algorithms.

What is a backbone architecture?

The backbone architecture refers to the way in which the backbone interconnects the networks attached to it and how it manages the way in which packets from one network move through the backbone to other networks.


2 Answers

In my understanding, the "backbone" refers to the feature extracting network which is used within the DeepLab architecture. This feature extractor is used to encode the network's input into a certain feature representation. The DeepLab framework "wraps" functionalities around this feature extractor. By doing so, the feature extractor can be exchanged and a model can be chosen to fit the task at hand in terms of accuracy, efficiency, etc.

In case of DeepLab, the term backbone might refer to models like the ResNet, Xception, MobileNet, etc.

like image 159
FranklynJey Avatar answered Oct 16 '22 15:10

FranklynJey


TL;DR Backbone is not a universal technical term in deep learning.

(Disclaimer: yes, there may be a specific kind of method, layer, tool etc. that is called "backbone", but there is no "backbone of a neural network" in general.)

If authors use the word "backbone" as they are describing a neural network architecture, they mean

  • feature extraction ( a part of the network that "sees" the input), but this interpretation is not quite universal in the field: for instance, in my opinion, computer vision researchers would use the term to mean feature extraction, whereas natural language processing researchers would not.
  • in informal language, that this part in question is crucial to the overall method.
like image 34
Mathias Müller Avatar answered Oct 16 '22 15:10

Mathias Müller