더북(TheBook)

2.4.2 텐서 연산의 도함수: 그레이디언트

방금 보았던 함수는 스칼라 값 x를 다른 스칼라 값 y로 바꾸었습니다. 이를 2D 평면에 곡선으로 그릴 수 있습니다. 이제 스칼라 튜플 (x, y)를 스칼라 값 y로 바꾸는 함수를 생각해 보죠. 이는 벡터 연산일 것입니다. 이를 (x, y, z 좌표를 가진) 3D 공간에서 2D 표면(surface)으로 그릴 수 있습니다. 비슷하게 입력으로 행렬을 받는 함수, 입력으로 랭크-3 텐서를 받는 함수 등을 상상할 수 있습니다.

도함수의 개념은 이 표면이 연속적이고 매끄러운 어떤 함수에도 적용할 수 있습니다. 텐서 연산(또는 텐서 함수)의 도함수를 그레이디언트(gradient)라고 부릅니다. 그레이디언트는 텐서를 입력으로 받는 함수로 도함수의 개념을 일반화한 것입니다. 스칼라 함수일 경우 도함수가 어떻게 함수 곡선의 국부적인 기울기를 나타내는지 기억하나요? 비슷한 방식으로 텐서 함수의 그레이디언트는 이 함수가 설명하는 다차원 표면의 곡률(curvature)을 나타냅니다. 입력 파라미터가 바뀔 때 함수의 출력이 어떻게 바뀌는지 결정합니다.

머신 러닝 기반의 예를 살펴보죠.

입력 벡터, x(데이터셋에 있는 샘플)

행렬, W(모델의 가중치)

타깃, y_true(모델이 x에 연관시키기 위해 학습해야 할 값)

손실 함수, loss(현재의 예측과 y_true 간의 차이를 측정하기 위해 사용)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.