경사하강법은 가중치와 편향을 반복적으로 구하는 가장 낮은 손실값을 갖는 모델을 찾습니다. 경사하강법으로 최적의 가중치와 편향 찾기 인코더-디코더 모델을 생성합니다.
모델은 0에 가까운 가중치와 편향으로 학습 시작 그리고 다음 단계를 반복합니다.
현재 가중치와 편향으로 손실을 계산합니다.
손실을 줄이는 가중치와 편향을 이동할 방향을 결정합니다.
가중치와 편향 값을 감소시키는 방향으로 조금씩 이동합니다. 손실이 발생할 수 있습니다.
1단계로 돌아가서 모델이 잠재적 손실을 줄일 수 있을 때까지 가능성이 더 높아집니다.
아래 다이어그램은 경사하강법에서 손실이 가장 적은 모델을 생성하는 가중치와 편향을 계산할 수 있습니다
그림 12. 경사하강법은 가중치를 구하는 반복 프로세스 손실이 가장 적은 모델을 생성하는 편향을 파악할 수 있습니다
경사하강법의 수학에 관해 자세히 알아보려면 더하기 아이콘을 클릭하세요.
경사하강법 단계를 살펴보면 자동차의 무게(파운드)를 보여주는 7개의 예시가 포함된 작은 데이터 세트를 사용 및 갤런당 마일 평가:
1000파운드 단위 (특징) | 갤런당 마일 (라벨) |
---|---|
3.5 | 18 |
3.69 | 15 |
3.44 | 18 |
3.43 | 16 |
4.34 | 15 |
4.42 | 14 |
2.37 | 24 |
- 모델은 가중치와 편향을 0으로 설정하여 학습을 시작합니다.
- 다음과 같이 현재 모델 매개변수로 MSE 손실을 계산합니다.
- 각 가중치에서 손실 함수에 대한 탄젠트의 기울기 계산 편향:
- 음의 경사 방향으로 소량을 이동하여 다음 값을 구합니다. 확인할 수 있습니다. 지금은 '소량' 0.01로 표현:
기울기 계산에 대해 알아보려면 더하기 아이콘을 클릭하세요.
가중치에 접하는 선의 기울기를 구하고 손실 함수의 도함수를 가중치와 편향을 고려한 다음 공식을 사용할 수 있습니다.
예측을 수행하기 위한 방정식은 다음과 같이 작성합니다.
$ f_{w,b}(x) = (w*x)+b $입니다.
실제 값은 다음과 같이 작성합니다. $ y $
다음을 사용하여 MSE를 계산합니다.
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
여기서 $i$ 는 $ith$ 학습 예시를, $M$ 는
예시의 수를 계산합니다.
가중치에 대한 손실 함수의 도함수는 다음과 같이 작성됩니다.
$ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
다음으로 평가됩니다.
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $
먼저 각 예측값에서 실제값을 뺀 값 특성값에 두 배를 곱합니다. 그런 다음 합계를 예시의 수로 나눕니다. 결과는 값에 접하는 선의 기울기입니다. 가중치입니다.
이 방정식을 다음과 같은 가중치와 편향으로 풀면 선의 기울기는 -119.7을 얻습니다.
편향 도함수
손실 함수의 도함수
편향은 다음과 같이 작성됩니다.
$ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
다음으로 평가됩니다.
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $
먼저 각 예측값에서 실제값을 뺀 값 그런 다음 이를 곱합니다. 그런 다음 합계를 예시 수 결과는 선의 기울기입니다. 값이 될 수 있습니다.
이 방정식을 다음과 같은 가중치와 편향으로 풀면 선의 경사는 -34.3입니다.
새 가중치와 편향을 사용하여 손실과 반복을 계산합니다. 완료 중 6번의 반복 과정을 통해 다음과 같은 가중치, 편향, 및 손실:
반복 | 무게 | 편향성 | 손실 (MSE) |
---|---|---|---|
1 | 0 | 0 | 303.71 |
2 | 1.2 | 0.34 | 170.67 |
3 | 2.75 | 0.59 | 67.3 |
4 | 3월 17일 | 0.72 | 50.63 |
5 | 3.47 | 0.82 | 42.1 |
6 | 3.68 | 0.9 | 37.74 |
가중치와 편향이 업데이트될 때마다 손실이 작아지는 것을 확인할 수 있습니다. 이 예에서는 6번의 반복 후에 중단합니다. 실제로 모델은 학습한 다음 수렴됩니다. 모델이 수렴할 때 추가 반복으로 손실이 더 줄어들지 않음 경사하강법에서 가중치와 편향을 손실을 최소화합니다
모델이 수렴을 거쳐 계속 학습하면 손실이 모델이 지속적으로 업데이트하므로 미세하게 변동될 수 있음 매개변수를 조정해야 합니다. 이로 인해 모델이 실제로 수렴되었는지 확인합니다. 모델을 확인하기 위해 수렴된 경우 손실이 수렴될 때까지 학습을 계속해야 합니다 보정할 수 있습니다
모델 수렴 및 손실 곡선
모델을 학습시킬 때 종종 손실이 확인됨 곡선 수렴. 손실 곡선은 손실이 어떻게 변화하는지를 예측할 수 있습니다 인코더-디코더 모델의 일반적인 손실은 살펴보겠습니다. 손실은 y축에, 반복은 x축에 있습니다.
그림 13. 주위로 수렴하는 모델을 보여주는 손실 곡선 1,000번째 반복 표시입니다.
처음 몇 번의 반복 동안 손실이 급격히 감소하는 것을 확인할 수 있습니다. 점진적으로 감소하다가 1,000회 반복에 근접하면 표시합니다. 1,000번의 반복 후에 모델이 정확히 수렴했습니다.
다음 그림에서는 학습 중 세 지점에 모델을 그립니다. 시작, 중간, 끝부분에 있습니다. 모델 상태 시각화 학습 프로세스 중 스냅샷에 배치하면 업데이트와 가중치 및 편향, 손실 감소, 모델 수렴이라는 기능을 살펴봤습니다
그림에서는 특정 반복에서 파생된 가중치와 편향을 사용하여 나타냅니다. 데이터 포인트와 모델 스냅샷이 있는 그래프에서 모델에서 데이터 포인트까지의 파란색 손실 선이 손실의 양을 보여줍니다. 이 선이 길수록 손실이 커집니다.
다음 그림에서 두 번째 반복 무렵에 모델이 예측을 잘 수행하지 못할 것입니다.
그림 14. 손실 곡선과 시작 지점의 모델 스냅샷 학습 프로세스입니다.
약 400번 반복이 되었을 때 경사하강법이 가중치와 편향이 존재합니다.
그림 15. 손실 곡선과 학습 중간쯤에 있는 모델의 스냅샷입니다.
약 1,000번의 반복에서 모델이 수렴하는 것을 확인할 수 있습니다. 손실이 가장 적은 모델을 생성합니다.
그림 16. 학습 종료 즈음 모델의 손실 곡선 및 스냅샷 프로세스입니다
연습문제: 학습 내용 점검하기
수렴 및 볼록 함수
선형 모델의 손실 함수는 항상 볼록 표면과 같습니다. 결과: 선형 회귀 모델이 수렴할 때 모델이 손실이 가장 적은 가중치와 편향을 발견했습니다.
특성이 하나인 모델의 손실 곡면을 그래프로 나타내면 볼록 형태입니다. 다음은 갤런당 마일 데이터 세트의 손실 곡면입니다. 인코더-디코더 아키텍처를 나타냅니다. 가중치는 x축에, 편향은 y축에 있습니다. 손실은 z축에 있습니다.
그림 17. 볼록 모양을 보여주는 손실 곡면입니다.
이 예시에서는 가중치가 -5.44이고 편향이 35.94이면 손실이 가장 낮습니다. 5.54에서:
그림 18. 결과를 생성하는 가중치 및 편향 값을 보여주는 손실 곡면 가장 낮은 손실값을 얻을 수 있습니다.
선형 모델은 최소 손실을 찾으면 수렴합니다. 따라서 반복은 경사하강법으로만 가중치와 편향 값을 극소량에 불과합니다 가중치와 편향점을 그래프로 나타내면 경사하강법에서는 점이 공처럼 언덕을 굴러 내려가면서 마침내 더 이상 하향 경사가 없는 지점에서 멈춥니다.
그림 19. 최저점에서 멈추는 경사하강점을 보여주는 손실 그래프 숫자입니다.
검은색 손실점이 손실 곡선의 정확한 모양을 만듭니다. 최저점에 도달할 때까지 점진적으로 기울다가 가파르게 감소한 후 확률을 계산합니다.
중요한 점은 이 모델은 정답을 정확히 찾지는 못하지만 최솟값과 매우 가까운 값을 찾습니다. 가중치와 편향의 최솟값도 0 손실에 해당하므로 해당 손실에 대해 가장 낮은 손실을 생성하는 값만 매개변수 값으로 사용됩니다.
가장 낮은 손실을 산출하는 가중치와 편향 값 사용(이 경우) 가중치가 -5.44이고 편향이 35.94이면 모델을 그래프로 나타내면 다음과 같습니다.
그림 20. 가중치 및 편향 값을 사용하여 그래프로 나타낸 모델: 가장 낮은 손실값을 얻을 수 있습니다.
다른 가중치와 편향이 없으므로 이 데이터 세트에 가장 적합한 모델입니다. 값이 더 낮은 손실을 갖는 모델을 생성합니다.