(딥러닝을 위한)기타 수학

그레디언트(gradient)는 항상 컨투어(contour)에 수직하다(기울기는 항상 등고선과 수직하다)

문학적 딥러닝 2024. 11. 15. 21:12

나는 한국에서 중고등학교를 나오지 않아서, 등고선이 뭔지 몰랐다. 옵티마이져가 최적의 미니멈을 찾아가는 과정을 그린 그림들도 제대로 알아본 적이 없었다는 것이다. 

 

보통 기울기가 안정적이게 수렴하는 그림을 본다면 위에 2가지 그림을 자주 보게 된다. 내 입장에서 이건 매번 너무나도 불만족스러운 해설이었다, 모델이 실제로는 저렇게 간단한 구조도 아니고, 저렇게 간단한 이론처럼 최적화 되지도 않기 때문에, 더 복잡하더라도 더 자세히 설명하는 글을 찾아보고 싶었지만, 대부분이 저 두 그림을 떠 먹인다(애초에 3차원 이상은 보여주지도 못해서 의미없는 행위라고도 생각한다).

 

 

 

실제로 왼쪽의 그림은 이렇게 생겼다고 볼 수 있다. 여기에 내가 직접 그린 "검은색 선"이 등고선(contour)이라고 할 수 있다.

 

처음에는 같은 높이를 의미하는 선이라고 해서, 모든 검은색 선이 같은 높이를 의미하는 줄 알았는데, 그게 아니라 검은색 개별로 같은 높이라고 하는 것이었다. 다르게 말하면, 동일한 동그라만한 검은색 선하나에 있는 모든 점들은 같은 높이에 위치한다는 것을 말한다.

 

그리고 여기서 또 알아야 할것은 기울기는 항상 위를 향한다는 것이다, 이것을 기울기는 "가파른 방향을 향한다"라고 하기도 하는데, 내려가는 것도 가파르다고 하지 않나? 라는 생각이 많이 들었다.

 

 

 

2차원 수직선에서는 위의 그림과 같이 기울기가 올라가다가, 내려가는 것을 바로 볼 수 있지만, 다차원으로 넘어가면, 애초에 어디를 기준으로 잡아서 이게 올라가는 방향인지 내려가는 방향인지 볼 수 가 없다는 것이다.

 

 

 

위의 그림과 같이 시작지점과 방향을 어디로 두느냐에 따라 기울기가 0보다 크다고 할 수 있고, 작다고 할 수 있다.

 

그래서 이런 그림이 나타난 것 같다(독학러는 모르는게 많다)

 

 

원래는 어느 사이트에서 봤던 그림을 가져오려고 했지만, 어디 사이트 였는지 기억이 안난다.

 

일단 기울기는 어느 위치에 있든 항상 높은 방향을 향한다는 것이다. 따라서 기울기를 업데이트하는 수식이 다음과 같은 것임을 직관적으로 받아 들일 수 있게 되었다. (그전 까지는 그냥 그런가보다 하고 외웠다)

 

 

여기서 저 마이너스(-) 부분은 그냥 그런가 보다 하고 넘겼다, "어차피 컴퓨터가 계산하는데 뭘" 하면서 말이다, 하지만 이론을 보면 볼수록 자꾸 저자의 말이 이해가 가지 않는 부분들이 많아서 결국은 이거를 제대로 보기 시작했다.

 

이 관점에서 보고 나서야, 기울기는 항상 등고선의 접선과 수직관계구나를 이해할 수 있었다.

'(딥러닝을 위한)기타 수학' 카테고리의 다른 글

벡터의 특징  (0) 2024.11.16