최적화를 넘어선 삶의 전략

머신러닝 원리에서 배우는 삶의 지혜

by 이원재


8년간 AI 교육을 해오면서 수업을 시작할 때 항상 머신러닝의 정의와 원리를 설명하는 것으로 시작하곤 한다.


머신러닝은 여러 방식으로 정의할 수 있지만,

나는 보통 머신러닝에서 머신이 "무엇을" 러닝하는가? 에 대한 질문으로 풀어간다.



일반적으로,

머신이 러닝(학습)을 해야하는 대상은 예측 모델의 미지수에 해당하는 파라미터(weight)이다.


어떤 예측 모델을 사용할지는 사용자가 직접 정하고, 데이터를 넣고 학습을 시키면,

머신은 결정된 예측 모델을 이용해 데이터의 패턴을 찾기 위해 weight를 수정해나간다.



여기서 정확한 weight를 찾는 것이 목표인데, 정확한 weight인지 아닌지를 판단하기 위해 예측모델의 예측값과 실제값의 차이, Cost 를 측정한다.


즉, 머신러닝은 Cost 가 최소가 되게 하는 weight를 찾는 과정이라고 할 수 있다.


그럼 어떻게 Cost가 최소가 되게하는 weight를 찾게할 수 있을까?


다양한 접근이 있겠지만, 머신러닝 방식은 최적의 weight를 찾기 위해 많은 시행착오를 통해 weight를 수정해나가는 과정을 반복시행해나가는 전략을 말한다.


이러한 머신러닝 방식은 한번의 계산으로 최적의 weight를 찾는 것은 불가능하다는 전제에서 출발한다.


그래서, 머신러닝은 weight 초기값을 임의의 값으로 설정하는 것으로 시작한다.


임의의 값으로 설정한 weight는 분명 큰 오차(Cost)를 발생시킨다.


여기서 핵심이 나온다.


weight를 일단 설정하면, 오차만 계산할 수 있는 것이 아니라 오차의 기울기(Gradient)를 계산할 수 있다.


이는 weight의 변화량에 대한 Cost의 변화량, 즉, weight가 얼만큼 변하면 Cost가 얼만큼 변하는지에 대한 정량적인 수치를 의미한다. 이를 한번 더 고찰해보자면, Gradient는 Cost를 줄이기 위해 weight를 어떻게 수정해야하는지를 정량적 수치로 말해준다는 뜻이다.


즉, 일단 첫 weight를 설정하면, 오차 뿐 아니라 오차를 줄이기 위해 수정해야 할 방향을 함께 알수 있다. 그러니 정확한 weight를 찾기 위해서 가장 먼저 해야할 것은 첫 weight를 설정하는 것이다.


인생을 살아가다 보면 우리도 각자 성취해내고자 하는 목표가 하나씩 있다. 어떤 사람은 기업의 고위직에 오르기를 열망할 수도 있고, 자신의 사업을 시작하여 큰 성공을 이루는 것을 목표로 할 수도 있다. 오마이뉴스 시민기자로서 많은 사람들에게 사랑받는 훌륭한 글을 작성해내는 것이 하나의 큰 목표일 수도 있다.



그런 목표를 갖고 나면 이제 그 목표를 이루기 위해 어느 길로 나아가야 하는지, 최적의 길은 어디인지 고민하기 시작한다. 안타까운 것은 대부분은 고민에서 실행으로 나아가지 못한다.



머신러닝의 원리는 목표를 달성하기 위해 최적의 길을 찾는 우리에게 일단 첫 걸음을 시작할 것을 권한다. 가장 이상적인 길은 단번에 찾을 수 있는 것이 아니기 때문이다.


앞서 언급한대로 머신러닝은 최적의 weight를 단번에 알 수 없다는 것을 전제로 초기값 설정, 즉, 임의의 길을 일단 선택해서 한걸음 나아가는 방식이다. 임의로 시작한 첫 걸음은 필연적으로 시행착오로 이어진다.


하지만 괜찮다. 시행착오(Cost)와 함께 개선 방향(Gradient)을 함께 알게 된다. 그럼 이제 그 개선 방향(Gradient)으로 다시 한 걸음(weight 수정) 나아가면 된다. 이를 머신러닝처럼 계속해서 반복해가면 된다. 더이상 수정할 필요가 없는 최적의 길(weight)을 찾을 때까지.


우리는 보통 시행착오(Cost)를 두려워해서, 첫 걸음(weight 초기값)을 떼지 못한다. 하지만, 시행착오 뒤에 따라오는 개선 방향(Gradient)에 방점을 두고, 첫 걸음을 시도해보는 것이 어떨까? 그리고 이를 반복해나가는 것이다.


멈추지 않는다면, 어느덧 그렇게 원하던 목표에 도달해 있는 나를 마주할 수 있을 것이다.




keyword
작가의 이전글AI 도구 시대의 역설