def exponential_annealing(step, start_value, end_value, decay_rate,
                          num_steps_decay_rate):
  """Bridges the gap between start_value and end_value exponentially."""
  progress = decay_rate**(step / num_steps_decay_rate)
  return end_value + (start_value - end_value) * progress