경사하강법 — 한 번에 바꾸려 하지 마라

by 박현아

1월 1일에 결심한 것들의 목록이 있다.


새벽 6시 기상. 매일 운동. 영어 공부. 독서 한 권. 저녁 9시 이후 스마트폰 금지.


1월 3일에 새벽 6시 알람을 껐다. 1월 7일에 운동을 빼먹었다. 1월 15일에 영어 앱을 삭제했다. 2월이 되면 1월 1일의 결심은 흔적도 없다. 작심삼일이라는 말이 있지만, 삼일도 관대한 편이다.


그리고 이렇게 생각한다. 나는 의지가 약한 사람이구나.


이 글의 결론부터 말하면, 그건 의지의 문제가 아니다. 방법의 문제다. 더 정확히는, 한 번에 전부 바꾸려 했기 때문이다.


AI에는 경사하강법(Gradient Descent)이라는 알고리즘이 있다. 이름은 어렵지만 원리는 단순하다.


산 위에 서 있다고 상상해보자. 안개가 자욱해서 주변 10미터밖에 보이지 않는다. 목표는 가장 낮은 곳, 골짜기에 내려가는 것이다. 전체 지형이 보이지 않는다. 정상에서 골짜기까지 한 번에 점프할 수도 없다. 할 수 있는 건 딱 하나. 지금 서 있는 곳에서 발밑의 경사를 느끼고, 내리막 방향으로 한 발짝 내딛는 것이다.


한 발짝 내딛는다. 다시 발밑을 느낀다. 또 한 발짝. 이걸 수천 번 반복하면, 결국 골짜기에 도달한다.


AI는 이 방법으로 학습한다. 한 번에 정답을 맞히지 않는다. 틀리고, 조금 고치고, 또 틀리고, 또 조금 고친다. 수만 번의 '조금'이 쌓여서 결국 정답에 수렴한다.


핵심은 '조금'이다. 한 번에 많이 움직이지 않는다. 그래야 방향을 잃지 않는다.


1월 1일의 결심으로 돌아가보자.


새벽 6시 기상, 매일 운동, 영어 공부, 독서, 스마트폰 제한. 이건 한 발짝이 아니다. 다섯 발짝을 동시에 뛰려는 것이다. 그것도 안개 속에서 지형도 모르는 채로.


경사하강법이라면 이렇게 한다. 지금 내 생활에서 가장 경사가 급한 곳 — 바꾸면 효과가 가장 클 것 같은 것 — 하나를 고른다. 그걸 아주 조금만 바꾼다. 새벽 6시가 아니라, 지금보다 15분만 일찍 일어나본다. 일주일 해본다. 괜찮으면 15분 더 당긴다. 안 맞으면 다른 방향을 시도한다.


지루한가? 맞다. 경사하강법은 지루한 알고리즘이다. 드라마가 없다. 극적인 전환도, 하루아침의 변화도 없다. 있는 건 반복뿐이다. 조금, 확인, 조금, 확인.


그런데 이 지루한 방법이 복잡한 문제에서 가장 현실적인 접근이다. 화려하지 않지만 도달한다. 느리지만 수렴한다.


───


이건 습관만의 이야기가 아니다. 인생의 큰 결정에도 그대로 적용된다.


대부분의 사람은 인생의 큰 선택을 한 방에 내리려 한다. 어떤 직업을 가질 것인가. 누구와 결혼할 것인가. 어디에 살 것인가. 이런 질문 앞에서 우리는 '정답'을 찾으려 한다. 충분히 조사하고, 충분히 고민하고, 충분히 비교하면 최적의 선택을 할 수 있다고 믿는다.


경사하강법은 그게 불가능하다고 말한다.


지형 전체를 볼 수 없기 때문이다. 20대에 40대의 자신이 뭘 원하는지 알 수 없다. 취업 전에 그 회사에서 일하는 게 어떤 느낌인지 알 수 없다. 결혼 전에 10년 뒤의 관계가 어떨지 알 수 없다. 볼 수 있는 건 지금 이 자리에서의 기울기뿐이다. 지금 내가 뭘 좋아하는지, 뭘 잘하는지, 뭘 할 때 에너지가 올라가는지.


그래서 한 발짝 움직여야 한다. 관심 있는 분야에 발을 담가본다. 짧은 프로젝트를 해본다. 3개월 살아본다. 그리고 피드백을 받는다. 내 감정이라는 기울기를. 이 방향이 맞는지, 틀린지.


틀리면? 방향을 바꾼다. 경사하강법에서 방향 전환은 실패가 아니다. 알고리즘의 정상 작동이다.



여기서 흔히 빠지는 함정이 있다. "한 번에 안 되면 소용없다"는 생각이다.


첫 다이어트가 실패하면 "나는 살 빼는 게 체질적으로 안 맞아." 첫 직장이 안 맞으면 "나는 이 분야에 적성이 없나 봐." 첫 연애가 끝나면 "나는 사랑을 못 하는 사람인가 봐." 운동을 3일 만에 그만두면 "나는 원래 운동을 싫어해."


경사하강법으로 보면 이건 말이 안 된다. 첫 번째 스텝에서 최적점에 도달하는 모델은 세상에 없다. 첫 번째 스텝의 목적은 도달이 아니라 측정이다. 이 방향으로 가니까 어떻던가? 그 정보를 가지고 다음 스텝의 방향을 정하는 것이다.


첫 직장에서 "이건 아니다"를 알았으면, 그건 기울기를 하나 얻은 것이다. 다이어트가 3일 만에 끝났다면, 그 3일 동안 무엇이 힘들었는지가 데이터다. 저녁을 못 참겠으면 저녁에 집중하면 되고, 아침이 문제라면 아침을 바꾸면 된다. 아무것도 안 하고 제자리에 서 있는 것보다, 틀린 방향으로라도 한 발짝 움직인 사람이 더 많은 정보를 갖고 있다.


실패가 아니라 기울기 측정이다. 움직여야 데이터가 생긴다.


───


한 가지 더. 경사하강법에는 '로컬 미니멈'이라는 함정이 있다.


골짜기가 하나만 있으면 좋겠지만, 현실의 지형에는 크고 작은 웅덩이가 많다. 내리막을 따라가다 작은 웅덩이에 빠질 수 있다. 거기서 보면 사방이 오르막이니까, 이게 바닥인 줄 안다. 하지만 웅덩이 너머에 더 깊은 골짜기가 있을 수 있다.


인생에서 이건 이렇게 보인다. "지금 나쁘지 않으니까." 나쁘지 않은 직장. 나쁘지 않은 관계. 나쁘지 않은 도시. 불만은 있지만, 주변보다는 나으니까. 여기서 멈춘다.


AI는 이걸 어떻게 해결할까. 의도적으로 흔든다. 확률적 경사하강법(SGD)이라는 변형은 매번 정확한 기울기를 계산하지 않는다. 무작위 샘플로 대충 계산한다. 그 부정확함이 작은 웅덩이에서 빠져나올 가능성을 높인다.


인생에서 노이즈는 뭘까. 관심 없던 분야의 모임. 가본 적 없는 동네 산책. 평소 안 읽는 장르의 책. 이런 것들이 "나쁘지 않은" 현재를 흔들고, 더 나은 곳이 있다는 걸 알려준다.


약간의 불안정이 더 나은 곳으로 가는 조건이다. 안정만 추구하면 작은 웅덩이에 평생 머문다.


───


정리하면 이렇다.


하나. 한 번에 전부 바꾸려 하지 마라. 한 가지를, 조금만, 자주. 그게 도달하는 방법이다.

둘. 첫 시도가 틀려도 괜찮다. 그건 실패가 아니라 측정이다. 다음 방향을 정하기 위한 데이터다.

셋. "나쁘지 않다"에 안주하지 마라. 가끔은 의도적으로 흔들어야 더 나은 곳을 발견한다.


AI가 학습하는 방법은 우아하지 않다. 더듬더듬, 조금씩, 틀리면서 간다. 그런데 그 방법이 수학적으로 가장 널리 사용되는 방법이다.


1월 1일의 결심은 버려라. 대신 오늘 하나만 바꿔라.