I understand that in order to add additional inputs to a CNN, e.g. in self driving, I can append the data to a flattened layer after the convolutions and before the fully connected layers.

However, a few things confuse me. In a paper the authors want to feed speed measurements into the driving network. Instead of just appending a normalized speed value, they first feed it into several FC layers. Why would they do that? What kind of features could you extract from a single real value? Could there be another reason?

enter image description here enter image description here (p. 3, paper 1)

Part two of my question is: In another paper, information about the turn signal is appended to a layer as one-hot encoding. The authors talk about how that didn’t work due to vanishing weights (not gradients). So they scaled weights by a constant factor. What do they mean by vanishing weights and how do I scale weights (e.g. in PyTorch)?

enter image description here (p. 6, paper 2)

  • $\begingroup$ Where exactly those are mention in the papers? Could you give page or equation numbers? $\endgroup$
    – serali
    Sep 27, 2021 at 15:13
  • $\begingroup$ @serali I have added screenshots and page numbers. $\endgroup$
    – Benjoyo
    Sep 27, 2021 at 19:07
  • 1
    $\begingroup$ I don't see anything obvious to answer question 1. i have to wonder if this is a matter of, "We used some dense layers and it worked, so that's the way you should do it." $\endgroup$ Sep 27, 2021 at 21:14
  • $\begingroup$ Hello. Please, ask only one question per post. If you have 2 questions, create another post where you ask the second question. Otherwise, this post could be closed as too broad. $\endgroup$
    – nbro
    Sep 29, 2021 at 13:16

2 Answers 2


I would expect the dense layers to be able to detect certain speed ranges. This neuron activates for 0-10, this one for 10-20, this one for 20-30, this one for 20-50, this one for 47.6-89.2...

Of course a later layer could also do that, but it looks like there aren't many layers after this one.


Paper 1-

If I'm understanding the paper correctly, the "Measurements " just represents a collection of auxiliary information. It's not necessarily a single speed measurement, but any auxiliary information, so perhaps gas level, engine temperature, etc. I think them choosing to show a speedometer as a measurement might not be the best choice considering they are predicting the speed value.

Paper 2-

They said in the paper

The information of both turn indicators (on or off) is mapped to the values 1.0 and 0.0, respectively. However, the turn indicators do not contain any structural information convolutional layers can make use of. For this reason, this additional information is directly fed into the second fully connected layer after the feature extraction layer (which then contains 102 hidden units).

So perhaps feeding a value of 1 into the network at that level is just too small of a value to have any effect at the layer they are injecting the information. Perhaps the layer they are injecting has a average weight magnitude that is high enough that injecting a single 1 would be close to injecting a 0. This is my best guess. I would expect the network would be able to adjust the weights by themselves, but there are many things that could go wrong here.


You must log in to answer this question.

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