신경망을 사용하여 sqrt
함수를 모델링한다고 가정 해 봅니다. 그러나 모든 입력 x
에 대해 대답은 sqrt(x) = y
과 sqrt(x) = -y
입니다. (그러나 실제로는 내가 sqrt
기능을 가지고 있다는 것을 모릅니다. 많은 양의 데이터가 있습니다. 0, 1, 2 또는 그 이상의 대답이있는 경우 선험적으로 알지 못합니다. 모든 입력에 대해 y
x
) y
의 올바른 배포를 어떻게 얻을 수 있습니까?두 개 이상의 출력을 가질 수있는 "함수"가있는 기계 학습
-1
A
답변
0
당신 자신에게 물어 봐야 질문, 당신은 신경망을 훈련 할 방법은 다음과 같습니다
당신은 X주고 생각한다면 - {(x)를 SQRT - SQRT를 (X)}>를 훈련 예로서 내가 그렇다면 하나의 예제를보고 출력의 수를 알 수 있으므로 출력이 2 개인 사실을 인코딩해야합니다.
가끔은 x -> sqrt (x)이고 다른 시간은 x -> - sqrt (x) 인 예제를 생각하면 신경망은 각 그라디언트가 가중치를 변경할 수 있으므로 훈련하기가 매우 어려울 것입니다 완전히 다른 방식으로 그것은 아마도 많은 훈련 예제 후에 수렴 할 것이며, 가장 많이 본 y를 출력 할 것입니다.
이렇게하는 더 좋은 방법은 강화 학습에서 보상 기능과 같은 것을 사용하는 것입니다. 이 경우의 함수는 f (x) = x^2가 될 것이고 단순히 출력이 정확한지 말할 것이다. 그러면 네트워크가 양수 및 음수 출력 모두를 처리 할 수 있습니다. 그래서 당신의 문제에 대한 보상 기능을 찾으십시오!