답변:
그라데이션 하강은 제안한 방식으로 작동하지 않지만 비슷한 문제가 발생할 수 있습니다.
배치에서 평균 손실을 계산하지 않고 손실 함수의 평균 기울기를 계산합니다. 기울기는 가중치에 대한 손실의 미분이며 신경망에서 하나의 가중치에 대한 기울기는 해당 특정 예의 입력에 따라 다르며 모델의 다른 많은 가중치에도 의존합니다.
모델의 가중치가 5이고 미니 배치 크기가 2 인 경우 다음을 얻을 수 있습니다.
예 1. 손실 = 2,
예 2. 손실 = 3,
이 미니 배치의 그라디언트 평균은 다음과 같이 계산됩니다
여러 예에 대한 평균의 이점은 기울기 변화가 적어 학습이보다 일관되고 한 예의 세부 사항에 덜 의존한다는 것입니다. 세 번째 가중치의 평균 기울기가 인 방법에 주목하십시오 .이 가중치는이 가중치 업데이트를 변경하지 않지만 다른 가중치로 계산 된 다음 예제에서는 0이 아닐 가능성이 높습니다.
주석에 대한 응답으로 편집 :
위의 예에서 그라디언트의 평균이 계산됩니다. 각 예에 대한 손실 를 계산하는 의 미니 배치 크기의 경우 가중치 대한 손실의 평균 기울기를 얻는 것을 목표로합니다 .
내 예제에서 쓴 방식은 다음과 같이 각 그라디언트의 평균을 구했습니다.
주석에서 링크 된 학습서 코드는 Tensorflow를 사용하여 평균 손실을 최소화합니다.
Tensorflow는 를 최소화하는 것을 목표로합니다.
이를 최소화하기 위해 각 가중치에 대한 평균 손실의 그라디언트를 계산하고 그라디언트 디센트를 사용하여 가중치를 업데이트합니다.
미분은 합계 내로 가져올 수 있으므로 내 예제의 접근 방식과 동일합니다.
미니 배치를 사용하는 이유는 효과를 평균화하여 가능한 노이즈를 줄이려면 충분한 양의 훈련 예를 갖추어야하지만 많은 데이터 세트의 경우 많은 양의 메모리가 필요할 수있는 전체 배치가 아닙니다. 한 가지 중요한 사실은 평가하는 오류가 항상 거리라는 것입니다예상 출력과 실제 출력 사이의 차이는 음수가 될 수 없으므로 2와 -2의 오류를 취소 할 수는 없지만 대신 4의 오류가됩니다. 그런 다음 모든 가중치와 관련하여 오류의 기울기를 평가하므로 가중치의 변화가 가장 적은 것을 계산할 수 있습니다. 그렇게하면 학습 속도 알파의 크기에 따라 해당 방향으로 "단계"를 수행합니다. (이것은 기본 개념입니다. 심층 NN의 역 전파에 대해서는 자세히 설명하지 않습니다.) 특정 수의 에포크에 대한 데이터 세트에서이 교육을 실행 한 후 학습 단계가 너무 크지 않으면 네트워크가 수렴 될 것으로 예상 할 수 있습니다. 그것을 분기 시키십시오. 여전히 지역 최소값으로 끝날 수 있습니다., 이는 다른 가중치를 초기화하고, 차등 최적화 도구를 사용하고, 정규화하려고하면 피할 수 있습니다.