[구글 머신러닝 단기집중과정] 3강

환공지능·2021년 7월 2일
0
post-thumbnail

1. 손실 줄이기

다음 그림은 머신러닝 알고리즘이 모델을 학습하는 데 사용하는 반복적인 시행착오 과정을 보여준다.

반복 전략은 주로 대규모 데이터 세트에 적용하기 용이하여 머신러닝에서 널리 사용되고 있다.

이 '모델'은 하나 이상의 특성을 입력하여 하나의 예측(y')을 출력한다. 쉬운 이해를 위해, 하나의 특성을 가지고 하나의 예측을 반환하는 모델을 생각해 보겠다.

y=b+w1x1y' = b + w_{1}x_{1}

또한 b와 w1의 초기값을 0으로 설정하여 예측 함수에 입력하면

y' = 0+0(10)
y' = 0

위의 다이어그램에서 '손실 계산' 과정은 이 모델에서 사용할 손실 함수이다. 제곱 손실 함수를 사용한다고 가정해보면 손실 함수는 두 개의 입력 값을 취하게 된다.

  • y': 특성 x에 대한 모델의 예측 값
  • y: 특성 x에 대한 올바른 라벨

마침내 다이어그램의 '매개변수 업데이트 계산' 과정에 도달했으며 이 지점에서 머신러닝 시스템은 손실 함수의 값을 검토하여 bw1의 새로운 값을 생성한다.

일단은 저 알 수 없는 녹색 상자에서 새로운 값을 만든 다음 머신러닝 시스템이 이러한 모든 특성을 모든 라벨과 대조하여 재평가하여 손실 함수의 새로운 값을 생성하여 새 매개변수 값을 출력한다고 가정하겠다.

그런 다음 알고리즘이 손실 값이 가장 낮은 모델 매개변수를 발견할 때까지 반복 학습하며, 보통 전체 손실이 변하지 않거나 매우 느리게 변할 때까지 계속 반복한다. 이때 모델이 수렴했다고 말할 수 있다.

2. 경사 하강법

회귀 문제에서는 보통 다음과 같이 볼록 함수 모양의 손실 대 가중치 도표가 산출되게 된다.

전체 데이터 셋에 대해 상상할 수 있는 모든 w1 값의 손실 함수를 계산하는 것은 수렴 지점을 찾는 데 매우 비효율적인 방법이기에 머신러닝에서는 경사하강법을 널리 사용한다.

첫번째 단계는 w1에 대한 시작점을 선택하는 것이다. 그러나 시작점을 선택하는 것은 그렇게 중요하지 않기에 보통 알고리즘에서는 w1을 0으로 설정하거나 임의의 값을 선택한다.

그런 다음 시작점에서의 손실 곡선의 기울기를 계산한다.

경사 하강법은 기울기 보폭을 통해 손실 곡선의 다음 지점으로 이동하여 기울기를 계산하는 과정을 반복적을 수행함으로써 기울기의 최소값에 접근하게 된다.

3. 확률적 경사 하강법

경사하강법에서 배치(Batch)는 단일 반복에서 기울기를 계산하는 데 사용하는 예시의 총 개수이다.

지금까지는 배치가 전체 데이터 세트라고 가정했지만 Google 규모의 작업에서는 데이터 세트에 수십억, 수천억 개의 예가 포함되는 경우가 많다. 또한 대개 Google 데이터 세트에는 엄청나게 많은 특성이 포함되어 있기에 배치가 거대해질 수도 있다. 따라서 배치가 너무 커지면 단일 반복으로도 계산하는 데 오랜 시간이 걸리게 된다.

무작위로 샘플링된 예가 포함된 대량의 데이터 세트에는 중복 데이터가 포함되어 있을 수 있다. 실제로 배치 크기가 커지면 중복의 가능성도 그만큼 높아진다. 적당한 중복성은 노이즈가 있는 기울기를 평활화하는 데 유용할 수 있지만, 배치가 거대해지면 예측성이 훨씬 높은 값이 대용량 배치에 비해 덜 포함되는 경향이 있다.

만약에 훨씬 적은 계산으로 적절한 기울기를 얻을 수 있다면 어떨까? 데이터 세트에서 예를 무작위로 선택하면 (노이즈는 있겠지만) 훨씬 적은 데이터 세트로 중요한 평균값을 추정할 수 있다. 확률적 경사하강법(SGD) 은 이 아이디어를 더욱 확장한 것으로서, 반복당 하나의 예(배치 크기 1)만을 사용한다. 반복이 충분하면 SGD가 효과는 있지만 노이즈가 매우 심하다. '확률적(Stochastic)'이라는 용어는 각 배치를 포함하는 하나의 예가 무작위로 선택된다는 것을 나타낸다.

미니 배치 확률적 경사하강법(미니 배치 SGD) 는 전체 배치 반복과 SGD 간의 절충안이다. 미니 배치는 일반적으로 무작위로 선택한 10개에서 1,000개 사이의 예로 구성되며 미니 배치 SGD는 SGD의 노이즈를 줄이면서도 전체 배치보다는 더 효율적이다.

.
.
.
강의 링크 : 구글 머신러닝 단기집중과정

profile
데이터사이언티스트 대학원생

0개의 댓글