class Noggin::Layer
Attributes
bias[RW]
dest_layer[RW]
neurons[RW]
origin_layer[RW]
Public Class Methods
connect_layers(origin_layer, dest_layer, momentum)
click to toggle source
# File lib/noggin/layer.rb, line 31 def connect_layers origin_layer, dest_layer, momentum dest_layer.biased dest_layer.neurons.each do |dest_neuron| Noggin::Neuron.connect_neurons dest_layer.bias, dest_neuron, momentum origin_layer.neurons.each do |origin_neuron| Noggin::Neuron.connect_neurons origin_neuron, dest_neuron, momentum end end origin_layer.dest_layer = dest_layer dest_layer.origin_layer = origin_layer end
new()
click to toggle source
# File lib/noggin/layer.rb, line 6 def initialize @neurons = [] end
Public Instance Methods
backward_activate!()
click to toggle source
# File lib/noggin/layer.rb, line 18 def backward_activate! @neurons.each do |neuron| neuron.backward_input = neuron.dests.inject(0){ |sum, edge| sum += edge.backward_output } neuron.backward_activate! end end
biased()
click to toggle source
# File lib/noggin/layer.rb, line 25 def biased @bias = Bias.new if bias.nil? end
forward_activate!()
click to toggle source
# File lib/noggin/layer.rb, line 10 def forward_activate! @bias.forward_activate! @neurons.each do |neuron| neuron.forward_input = neuron.origins.inject(0){ |sum, edge| sum += edge.forward_output } neuron.forward_activate! end end