728x90

9.3.3 에러 함수 the error function

 함수 근사기를 학습하려면 적절한 에러 함수가 필요합니다. 가장 흔한 예시는 역전파 알고리즘을 이용하여 학습한 인공 신경망이 있는데, 역전파는 신경망을 파라미터 공간에서 경사 하강을 이용하여 신경망을 학습시키게 됩니다. 신경망에서 실제 출력과 목표 출력사이의 차이를 측정하는 에러 함수가 주어지면 역전파 알고리즘은 목표 함수와 신경망 파라미터들의 1차 미분을 계싼하고, 이 파라미터들이 차이(실제 출력과 목표 출력 사이의 차이)를 감소하는 방향으로 적응시키도록 합니다. 여기서 에러 함수가 어디서 쓰이는지 궁금하실수 있습니다.

 

 가장 일반적인 방법은 훈련데이터의 로그우도를 최대화하도록 함수 근사기를 학습시키면 됩니다. 다음 형태의 훈련 집합이 주어진다고 해봅시다.

occ($m_i$$)^{[k]}$는 목표 조건부 확률의 i번째 샘플이고, $input^{[k]}$는 함수 근사기의 입력치가 됩니다. 입력의 형태는 인코딩의 결과에 따라 다양해질수 있습니다.

 

 이제 함수 근사기의 파라미터들을 W라고 합시다. 훈련 집합의 개개별적인 데이터들이 독립적으로 생성된다고 가정하면, 훈련 데이터의 우도는 다음과 같고

 

 로그 형태는 아래와 같습니다.

여기서 J는 훈련이 수행되는동안 최대화를 시키는 함수가 됩니다.

 

이제 함수 근사기를 f($input^{[k]}$, W)로 정의하고 이 함수의 출력 구간을 [0, 1]로 합시다. 훈련 후에는 점유 확률을 출력으로하는 함수 근사기를 원하는데 이는 다음과 같습니다.

 훈련 예제들을 사용하여 예측과 실제 결과의 차이를 최소화 시켜주도록 W를 조절하는 에러 함수를 찾아야 합니다. 이 에러 함수를 구하기 위해 식 (9.18)을 다음과 같이 다시 정리 할 수 있겠습니다.

 

 식 (9.18)과 이 곱형태의 식은 동일한 것인데, 곱 형태의 식에서 하나의 항은 지수가 9이므로 항상 1이 됩니다. 이 곱을 (0.20)에 대입하고 - 1한것을 곱하면 다음의 식을 얻을 수 있게 됩니다.

 

 

J(W)는 함수 근사기를 훈련시킬때 최소화 하는 에러 함수로 경사 하강법을 사용하는 어느 함수추정기로도 사용할 수 있습니다.

 

 

그림 9.6 센서 해석하기 : 세개의 초음파 스캔 샘플(위의 행), 신경망으로 생성된 지역 점유 지도(아래의 행). 밝은 영역은 자유 공간이고 어두은 공간은 벽이나 장애물을 의미합니다.

 

9.3.4 추가적인 고려사항

 그림 9.6은 역 센서모델을 흉내내는 훈련된 인공신경망 결과를 보여주고 있습니다. 이 예제에서 로봇은 탁자 높이의 원형 초음파 측정기가 장착되어 있습니다. 신경망의 입력은 극좌표계상에 좌표값들로 거리 측정치 5개가 집합으로 들어갑니다. 출력은 점유 확률이 되는데, 셀이 검을수록 점유될 가능성이 높아 집니다. 장애물뒤의 더 회새 공간은 점유 사전 확률로 점유 겨자 맵핑 알고리즘이 사용될때까지 변화하지 않습니다. 그림 9.6b는 아래의 왼쪽에 잘못된 짧은 입력치를 가지고 있는데, 이 단일 값은 장애물을 예측하는대 높은확률로 실패한것을 볼 수 있습니다. 

 

 전방향 모델로 구한 시뮬레이션 대이터 대신 로봇으로 구한 실제 데이터를 사용하여 함수 근사기를 학습시키는 많은 방법들이 존재하는데, 일반적으로 관측 모델은 근사화가 필요하므로 이게 학습에 사용할 더 정확한 데이터가 됩니다. 한 방법은 로봇을 지도가 주어진 이미 알고 있는 공간에서 수행하늗네, 마르코브 위치 추정으로 로봇의 위치를 추정학 실제 관측치와 알고있는 지도 점유 격자를 이용해서 훈련 데이터들을 모을 수 있습니다. 아니면 더 나은 지도를 생성하기 위해서 이미 학습된 센서 모델을 사용하여 근사된 지도에서 시작하는것도 가능합니다.  

 

 

300x250

+ Recent posts