0
$\begingroup$

I found the terms front-end and back-end in the article (or blog post) How to Develop a CNN for MNIST Handwritten Digit Classification. What do they mean here? Are these terms standard in this context?

$\endgroup$
3
  • 1
    $\begingroup$ In this article, I don't think the author is referring to the library, though. He's just referring to the parts of the CNN architecture. Usually, convolutional and pooling layers, in a CNN, come before (so they are in the front-end) fully connected layers (back-end). This is not standard terminology, in this case. $\endgroup$ – nbro Dec 19 '19 at 13:50
  • $\begingroup$ I don't think it's standard terminology. It does look similar to the difference between encoder and decoder. $\endgroup$ – Bram Vanroy Dec 24 '19 at 10:39
  • 1
    $\begingroup$ After almost a year this just got upvoted. Whereas actually, I'd prefer to delete it if there weren't already answers. Anyone stumbling across this one should know that the question doesn't really make much sense. These terms are just not used. I asked this because I was totally new to neural networks at the time and saw these terms in an article I considered to be reputable (and it's a good blog site - no qualms there). But these terms never came up again, and I've been working with neural networks ever since. $\endgroup$ – Alexander Soare Jan 8 at 19:39
1
$\begingroup$

I do not think these are formally defined.

The distinction is just to facilitate discussion of the NN architecture: e.g., you may have a few convolutional layers with pooling as a front-end, and a different architecture as a back-end (in a text-book architecture, just a fully-connected layer. But to get wild, maybe LSTM? To really get wild, BERT?).

In the end (no pun intended), computers do not care if a layer is seen by humans as a front-end or a back-end.

$\endgroup$
0
$\begingroup$

I think that front end refers to a high level API for a CNN framework (c++ front end, Python front end).

The back end can be understood as a more peculiar (low level) interface to specific libraries.

You can use different back ends but still manipulate training data and model building process the same way using the front end (use Keras with TensorFlow, caffe with Pytorch, or the other way round use Theano, tensorflow, .. . with Keras!).

You can find some more material at the following links :

I don't think it refers to neural network layers structure. The term shallow or deep layers are usually prefered.

$\endgroup$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.