バイアスとは
ディープラーニングにおけるバイアスとは、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;
}
バイアスの個数は、出力数と同じです。
バイアスは自動調整されるパラメーター
バイアスは、学習アルゴリズムを使って自動調節されるパラメーターです。誤差の指標である損失関数の値が小さくなるように更新されます。更新には、勾配降下法などのパラメーター更新アルゴリズムが利用されます。
Perl AI深層学習入門