  Deep Neural Networks (DNN) are computationally intensive to train. It
consists of a large number of multidimensional dot products between many
weights and input vectors. However, there can be significant similarity among
input vectors. If one input vector is similar to another, its computations with
the weights are similar to those of the other and, therefore, can be skipped by
reusing the already-computed results. We propose a novel scheme, called
MERCURY, to exploit input similarity during DNN training in a hardware
accelerator. MERCURY uses Random Projection with Quantization (RPQ) to convert
an input vector to a bit sequence, called Signature. A cache (MCACHE) stores
signatures of recent input vectors along with the computed results. If the
Signature of a new input vector matches that of an already existing vector in
the MCACHE, the two vectors are found to have similarities. Therefore, the
already-computed result is reused for the new vector. To the best of our
knowledge, MERCURY is the first work that exploits input similarity using RPQ
for accelerating DNN training in hardware. The paper presents a detailed
design, workflow, and implementation of the MERCURY. Our experimental
evaluation with twelve different deep learning models shows that MERCURY saves
a significant number of computations and speeds up the model training by an
average of 1.97X with an accuracy similar to the baseline system.
