Class: DNN::Activations::SigmoidWithLoss

Inherits:
Layers::OutputLayer show all
Defined in:
lib/dnn/core/activations.rb

Instance Method Summary collapse

Methods inherited from Layers::Layer

#build, #built?, #prev_layer, #shape, #to_hash

Constructor Details

#initialize ⇒ SigmoidWithLoss

Returns a new instance of SigmoidWithLoss.



229
230
231
# File 'lib/dnn/core/activations.rb', line 229

def initialize
  @sigmoid = Sigmoid.new
end

Instance Method Details

#backward(y) ⇒ Object



237
238
239
# File 'lib/dnn/core/activations.rb', line 237

def backward(y)
  @out - y
end

#forward(x) ⇒ Object



233
234
235
# File 'lib/dnn/core/activations.rb', line 233

def forward(x)
  @out = @sigmoid.forward(x)
end

#loss(y) ⇒ Object



241
242
243
244
# File 'lib/dnn/core/activations.rb', line 241

def loss(y)
  batch_size = y.shape[0]
  -(y * Xumo::NMath.log(@out + 1e-7) + (1 - y) * Xumo::NMath.log(1 - @out + 1e-7)).sum / batch_size + ridge
end