title: Is tensorflow embedding_lookup differentiable?
body: <p>Some of the tutorials I came across, described using a randomly initialized embedding matrix and then using the <code>tf.nn.embedding_lookup</code> function to obtain the embeddings for the integer sequences. I am under the impression that since the <code>embedding_matrix</code> is obtained through <code>tf.get_variable</code>, the optimizer would add appropriate <strong>ops</strong> for updating it. </p>
  
  <p>What I don't understand is how backpropagation happens through the lookup function which seems to be hard rather than being soft. What is the gradient of the this operation wrt. one of it's input ids?</p>