class_docstr: Inverts gradients of values exceeding a given range.
  
  See: http://arxiv.org/abs/1511.04143
class_docstr_tok: ["Inverts","gradients","of","values","exceeding","a","given","range",".","See",":","http",":","\/\/arxiv.org\/abs\/1511.04143"]
code: def backward(self, inputs, grad_outputs):
      (x,) = inputs
      (gy,) = grad_outputs
      # In chainer, update will be like x.array -= lr * x.grad,
      # which means negative gradients will increase values.
      increasing = (gy < 0).astype(gy.dtype)
      gx = gy.copy()
      gx *= (self.range_max - x) / self.range_width * increasing + (
          x - self.range_min
      ) / self.range_width * (1 - increasing)
      return (gx,)
  
file_path: chainerrl/chainerrl/functions/invert_gradients.py
imports: from chainer import cuda
  from chainer import function
  from chainer.utils import type_check
label_desc: Use image node_id 5 for calling the InvertGradients obj's underlying member method code with example usage: obj.backward(inputs, grad_outputs) and returns: gx