Machine Learning

SGD - 비등방성 함수(anisotropy function)

BEOKS 2020. 1. 23. 22:50

확률적 경사 미분법(SGD)의 문제점에서 "SGD는 비등방성 함수의 경우 비효율적이다"라고 언급했습니다.

비등방성 함수에 대한 검색결과가 별로 없기에 이번엔 비등방성 함수에 대해서 알아보도록 하겠습니다.

 

비등방성?

비등방성(anisotropy)의 정의는 방향에 따라서 물리적 성질이 바뀌는 것을 의미합니다.

이것도 말로 해서는 어렵습니다. 비등방성에 대해서 알기 위해서는 우선 등방성에 대해서 알아야 합니다.

등방성이란 "어느 방향에서 보아도 똑같은 성질을 가지고 있음"입니다. 우리가 동전을 바라 볼 때 어디서 바라보든 동전의 성질은 변하지 않습니다. 그러나 지폐의 홀로그램을 바라볼 때는 보는 방향에 따라서 다른 그림이 보이는 성질을 가지는데 이것이 비등방성의 예시입니다. 즉 비등방성을 쉽게 풀어서 얘기하면 "특정한 방향으로 보면 평소와 다른 성질이 보이는 경우가 존재하는 것"입니다.

 

비등방성 함수란?

비등방성 함수는 위에서 언급한 "성질"을 "기울기의 성질"이라고 생각하면 됩니다.

즉, 비등방성 함수는 "특정한 지점(좌표)에서 기울기의 성질(기울기가 가르키는 지점)이 변하는 경우가 존재하는 것"입니다.

 

등방성 함수의 예시

함수의 기울기

위 그림은 SGD를 처음 사용할 때 사용한 예시입니다. 아래 그림을 보면 함수의 기울기를 알 수 있는데 모든 좌표에 대해서 기울기는 항상 중앙을 가르키고 있습니다. 즉, f 함수는 "기울기가 가르키는 지점"이라는 성질에 대해서 등방성을 가지고 있습니다.

 

비등방성 함수의 예시

 

보면 단번에 알겠지만 기울기가 가르키는 지점이 하나가 아니라 여러가지 입니다. 이 함수는 "기울기가 가르키는 지점"이라는 특성이 일정하지 않으므로 이 특성에 대한 비등방성 함수라고 정의할 수 있습니다.

 

SGD는 기울기가 가르키는 방향으로 무조건 이동하므로 

위 사진처럼 지그재그 형태가 발생해 시간에 비해 학습률의 성장이 낮아집니다.