Class: DNN::Layers::Connection
Instance Attribute Summary collapse
#grads, #params, #trainable
Instance Method Summary
collapse
#build, #update
Methods inherited from Layer
#backward, #build, #built?, #forward, #prev_layer, #shape
Constructor Details
#initialize(weight_initializer: nil, bias_initializer: nil, l1_lambda: 0, l2_lambda: 0) ⇒ Connection
Returns a new instance of Connection.
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/dnn/core/layers.rb', line 111
def initialize(weight_initializer: nil,
bias_initializer: nil,
l1_lambda: 0,
l2_lambda: 0)
super()
@weight_initializer = (weight_initializer || RandomNormal.new)
@bias_initializer = (bias_initializer || Zeros.new)
@l1_lambda = l1_lambda
@l2_lambda = l2_lambda
end
|
Instance Attribute Details
#l1_lambda ⇒ Object
Returns the value of attribute l1_lambda.
108
109
110
|
# File 'lib/dnn/core/layers.rb', line 108
def l1_lambda
@l1_lambda
end
|
#l2_lambda ⇒ Object
Returns the value of attribute l2_lambda.
109
110
111
|
# File 'lib/dnn/core/layers.rb', line 109
def l2_lambda
@l2_lambda
end
|
Instance Method Details
#dlasso ⇒ Object
138
139
140
141
142
|
# File 'lib/dnn/core/layers.rb', line 138
def dlasso
dlasso = Xumo::SFloat.ones(*@params[:weight].shape)
dlasso[@params[:weight] < 0] = -1
@l1_lambda * dlasso
end
|
#dridge ⇒ Object
144
145
146
|
# File 'lib/dnn/core/layers.rb', line 144
def dridge
@l2_lambda * @params[:weight]
end
|
#lasso ⇒ Object
122
123
124
125
126
127
128
|
# File 'lib/dnn/core/layers.rb', line 122
def lasso
if @l1_lambda > 0
@l1_lambda * @params[:weight].abs.sum
else
0
end
end
|
#ridge ⇒ Object
130
131
132
133
134
135
136
|
# File 'lib/dnn/core/layers.rb', line 130
def ridge
if @l2_lambda > 0
0.5 * @l2_lambda * (@params[:weight]**2).sum
else
0
end
end
|
#to_hash(merge_hash) ⇒ Object
148
149
150
151
152
153
|
# File 'lib/dnn/core/layers.rb', line 148
def to_hash(merge_hash)
super({weight_initializer: @weight_initializer.to_hash,
bias_initializer: @bias_initializer.to_hash,
l1_lambda: @l1_lambda,
l2_lambda: @l2_lambda}.merge(merge_hash))
end
|