class DNN::Losses::HuberLoss

Public Instance Methods

backward_node(d) click to toggle source
# File lib/dnn/core/losses.rb, line 121
def backward_node(d)
  dy = (@y - @t)
  if @loss_value > 1
    dy[dy >= 0] = 1
    dy[dy < 0] = -1
  end
  d * dy / @y.shape[0]
end
forward_node(y, t) click to toggle source
# File lib/dnn/core/losses.rb, line 114
def forward_node(y, t)
  @y = y
  @t = t
  loss_l1_value = (y - t).abs.mean(0).sum
  @loss_value = loss_l1_value > 1 ? loss_l1_value : 0.5 * ((y - t)**2).mean(0).sum
end