バイアスとは
ディープラーニングにおけるバイアスとは、m個の入力をn個の出力に変換する関数の定数項のことをいいます。
以下は2つの入力を3つの出力に変換する関数です。
use strict; use warnings; sub m_to_n_convert { my ($inputs) = @_; my $outputs = []; # バイアス my $biases = [ 0.12, 0.43, 0.16, ]; # 重み my $weights_mat = { rows_length => 3, columns_length => 2, values => [ 0.25, 0.58, 0.13, 0.43, 0.98, 0.47, ] }; my $weights_mat_values = $weights_mat->{values}; # バイアスはm個の入力をn個の出力に変換する関数の定数項 $outputs->[0] = $weights_mat_values->[0] * $inputs->[0] + $weights_mat_values->[3] * $inputs->[1] + $biases->[0]; $outputs->[1] = $weights_mat_values->[1] * $inputs->[0] + $weights_mat_values->[4] * $inputs->[1] + $biases->[1]; $outputs->[2] = $weights_mat_values->[2] * $inputs->[0] + $weights_mat_values->[5] * $inputs->[1] + $biases->[2]; return $outputs; }
バイアスの個数は、出力数と同じです。
バイアスは自動調整されるパラメーター
バイアスは、学習アルゴリズムを使って自動調節されるパラメーターです。誤差の指標である損失関数の値が小さくなるように更新されます。更新には、勾配降下法などのパラメーター更新アルゴリズムが利用されます。