Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does the Inception Model have two softmax outputs?

The Inception v3 model is shown in this image:

Inception v3 Model

The image is from this blog-post:

https://research.googleblog.com/2016/03/train-your-own-image-classifier-with.html

It seems that there are two Softmax classification outputs. Why is that?

Which one is used in the TensorFlow example as the output tensor with the name 'softmax:0' in this file?

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/image/imagenet/classify_image.py

The academic paper for the Inception v3 model doesn't seem to have this image of the Inception model:

http://arxiv.org/pdf/1512.00567v3.pdf

I'm trying to understand why there are these two branches of the network with seemingly two different softmax-outputs.

Thanks for any clarification!

like image 591
questiondude Avatar asked Sep 06 '16 14:09

questiondude


1 Answers

Section 4 of the paper you cite is about auxiliary classifiers. These are classifiers added to the lower levels of the network, that improve training by mitigating the vanishing gradients problem and speedup convergence. For running inference on a trained network, you should use the main classifier, called softmax:0 in the model, and NOT the auxiliary classifier, called auxiliary_softmax:0.

like image 111
keveman Avatar answered Sep 28 '22 05:09

keveman