# File lib/ai4r/neural_network/backpropagation.rb, line 236 def calculate_internal_deltas prev_deltas = @deltas.last (@activation_nodes.length-2).downto(1) do |layer_index| layer_deltas = [] @activation_nodes[layer_index].each_index do |j| error = 0.0 @structure[layer_index+1].times do |k| error += prev_deltas[k] * @weights[layer_index][j][k] end layer_deltas[j] = (@derivative_propagation_function.call( @activation_nodes[layer_index][j]) * error) end prev_deltas = layer_deltas @deltas.unshift(layer_deltas) end end