Class: DNN::Losses::SigmoidCrossEntropy
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#backward, #forward
Methods inherited from Loss
call, #call, #clean, #forward, from_hash, #loss, #regularizers_backward, #regularizers_forward
Constructor Details
Returns a new instance of SigmoidCrossEntropy.
197
198
199
|
# File 'lib/dnn/core/losses.rb', line 197
def initialize(eps: 1e-7)
@eps = eps
end
|
Instance Attribute Details
#eps ⇒ Object
Returns the value of attribute eps.
186
187
188
|
# File 'lib/dnn/core/losses.rb', line 186
def eps
@eps
end
|
Class Method Details
.sigmoid(y) ⇒ Object
Also known as:
activation
189
190
191
|
# File 'lib/dnn/core/losses.rb', line 189
def sigmoid(y)
Layers::Sigmoid.new.forward_node(y)
end
|
Instance Method Details
#backward_node(d) ⇒ Object
207
208
209
|
# File 'lib/dnn/core/losses.rb', line 207
def backward_node(d)
@x - @t
end
|
#forward_node(y, t) ⇒ Object
201
202
203
204
205
|
# File 'lib/dnn/core/losses.rb', line 201
def forward_node(y, t)
@t = t
@x = SigmoidCrossEntropy.sigmoid(y)
-(t * Xumo::NMath.log(@x + @eps) + (1 - t) * Xumo::NMath.log(1 - @x + @eps)).mean(0).sum
end
|
#load_hash(hash) ⇒ Object
215
216
217
|
# File 'lib/dnn/core/losses.rb', line 215
def load_hash(hash)
initialize(eps: hash[:eps])
end
|
#to_hash ⇒ Object
211
212
213
|
# File 'lib/dnn/core/losses.rb', line 211
def to_hash
super(eps: @eps)
end
|