전기전자나 컴퓨터공학을 전공한다면
기계학습을 한 번 즈음은 들어보고 과제도 해봤을 것이다.
나 또한 학부시절 기계학습을 접하게 되었고
그 매력에 빠지게 되었다.
세상의 수많은 정형화되지 않을 것만 같던 문제를 감쪽같이 풀어내는 것에도 매력적이지만
우리의 인생과도 닮았다는 생각을 많이 하게 된다.
기계학습의 갈래는 다양하지만
요즈음 사람들이 흔히 말하는 기계학습은
"경사 하강법(Gradient Descent)"라는
최적화 연산 방법을 활용하는 것이 대세다.
"경사 하강법"은 단순하게 말해
어떠한 일을 "잘 할 때까지 잘하는 것처럼 보이는 방향"으로 계속 시도하는 것이다.
우리가 어떠한 일을 하고 잘 했다면
위 그래프는 x축으로 0에 가깝게 향할 것이고
못했다면 그 반대로 향할 것이다.
우리는 여기서
어떠한 일을 "잘했다는 것"의 기준을 알아야 한다.
다시 말해 "목적"을 알아야 한다.
기계 학습에서는
이러한 목적을 평가하기 위해 "목적 함수"라는 것을 세우고
잘 하였는가? 못하였는 가를 평가하기 위해 "손실 값(Loss)"를 매 시도마다 평가한다.
손실 값이 줄어들었다면
잘 한 것이고
손실 값이 늘어났다면
못한 것이다.
손실 값이 줄어들었다면
해당 회차의 시도는 성공적이었다는 의미이고
그러한 방향으로 나아가면 된다.
우리는 시도를 두려워해선 안된다.
스스로를 성찰하고 시행착오를 통해 좋은 길을 알아내
분연 매진하면 될 일이다.
기계 학습에는 학습률이라는 개념이 존재한다.
학습 시 얼마나 대담하게 본인의 값들을 수정할 것인가를 뜻한다.
우리의 삶도 그러하다.
대담하게 수정한다면
단 번에 높은 성장(성능)을 보일 수 있지만
자칫하면 조급함에 방황할 수 있다.
너무 소심하게 자신을 수정한다면
조금씩 변하긴 하겠지만 결국 최적의 위치로는 도달하지 못한다.
소심하다면 안정적일 수 있겠지만 최선의 상태라고 할 수는 없다.
오직 적절한 혁신(중용)을 통해 최적의 삶을 만들 수 있다.
하지만 오해하진 말자
어디까지나 최적이란(만족할 만한 삶) 것은 우리가 설정한 목적에 따라 다를 것이다.
삶에 있어 대담함이 필요한 이유는 또 있다.
우리는 살아오면서 자신이 생각한 목표가 사실은 최선이 아니었으며
수정해야 할 필요성을 느낄 때가 있다.
대담함은 여기서도 필요하다.
기계 학습에서 학습률이 중요한 이유는
지역 최적값(Local optimum)에 빠지지 않게 하기 위해서다.
대신에 전역 최적값(Global optimum)을 지향한다.
Local optimum은 근시안적으로 최적의 상태라는 것이다.
사실 더 최적의 상태 Global optimum이 있지만 그것을 찾지 못하는 상태에 이른다.
낮은 학습률은 (아래 초록색 점처럼)
자신이 찾은 골이 최적의 상태(성공의 상태)라고 착각한다.
하지만 적당히 높은 학습률은 (파란색 점처럼)
만족하지 않고 더 대담하게 움직여 그보다 더 최적의 값을 찾아낸다.
우물 안의 개구리가 되는 것이 아니라
실패를 두려워하지 않고 적극적으로 움직이는 모습의 결과다.
인공지능은 대량의 데이터를 보고 그 속에서 패턴을 찾아낸다.
즉 더 많은 데이터가 더 유리한 결과를 가져올 수 있다는 것이다.
우리도 삶도 다르지 않다.
더 많은 경험이 우리를 더욱 지혜롭게 만들어준다.
수학의 많은 직관은 삶의 경험에서 나온다.
그 산물 중 하나는 Gradient Descent(경사 하강법)에 기반한 기계학습 패러다임이다.
우리는 삶의 지혜로부터 인류의 가장 유용하고 강력한 도구를 만들었지만
이따금 그 도구로부터 다시 한번 삶의 지혜를 얻는듯해 보인다.