深層学習5、学習の枠組み
深層学習5、学習の枠組み
2.4 出力層の設計と誤差関数
2.4.1 学習の枠組み
目標とする関数は、その具体的な姿形はわからないものの、関数の入力と出力のペアが複数与えられている。すわなち、1つの入力xに対する望ましい出力をdと書くと、入力のペアは複数、{(x1,d1),(x2,d2), … ,(xn,dn)}のように与えられている。これらのペア(x,d)1つ1つを訓練サンプル(Training Samples)と呼び、その集合を訓練データ(Training Data)と呼ぶ。
ネットワークのwを調整することで、入出力のペアを再現できないか。どのn(=1, …, N)のペア(xn,dn)に対しても、入力y(xn;w)を与えたときのネトワークの出力y(xn;w)が、なるべくdnに近くなるようにwを調整する。これを学習と呼ぶ。
このとき、ネットワークが表す関数と訓練データの近さ
をどのように測るか、つまりそれらの近さの尺度が大事になる。この尺度のことを、誤差関数(Error Function)と呼ぶ。順伝播型ネットワークでは主に回帰やクラス分類の問題を扱うが、問題の種別に応じて誤差関数、およびネットワークの出力層の設計が変わる。
2.4 출력층의 설계와 오차함수
2.4.1 학습의 설계
목적함수는 그 구체적인 형태를 알 수 없고, 함수의 입력과 출력 쌍이 여러 개 주어져 있다. 하나의 입력 x에 대해 바람직한 출력을 d라고 쓰면, 입력쌍은 {(x1,d1),(x2,d2), … ,(xn,dn)} 처럼 복수 주어진다. 이 입력쌍 (x,d) 각각을 훈련 샘플(Training Sample)이라고 부르고, 그 집합을 훈련 데이터(Training Data)라고 부른다.
네트워크의 w를 조정하여 입출력쌍을 재현할 수 없을까? 어떤 n(=1, …, N)의 입력쌍에 대해서 네트워크의 출력 y(xn;w)가 가능한 dn(실제 결과)에 가깝도록 w를 조정한다. 이것을 학습이라고 부른다.
이 때, 네트워크가 나타내는 함수와 훈련 데이터의 거리를 어떻게 측정할지, 즉 거리의 척도가 중요해진다. 이 척도를 오차함수(Error Function)이라고 부른다. 순전파형 네트워크에서는 주로 회귀나 클래스 분류의 문제를 다루는데, 문제의 종류에 맞게 오차함수와 네트워크 출력층의 설계가 바뀐다.