얼마전에 정말 우연히 보게 되었던 유튜브의 한 영상에서 수정 이라는 단어 하나를 듣고는 문득
대학교 4학년 때 졸업을 위해서 필수로 들어야 했던 한 교양 수업 내용이 떠올랐다.
뼛속까지 문과였던 내가 정말 졸업만을 위해서 들었던 ‘인공지능과 AI’라는 교양 수업.
첫 강의 내용을 가장 열심히 공부했기 때문인지, 아직까지도 기억에 남아 있었는데 그 첫 강의에는 사실 정말로 중요한 내용이 담겨져 있었다.
인공지능이 찾아야 하는 ‘목표값’을 찾기 위해서는 시행착오를 거치는 방법을 사용한다고 한다.
임의의 값을 넣어서 나온 값과 실제 목표 값 사이의 오차를 구하고, 또 다른 임의의 값을 넣어서 나온 오차를 비교하면서, 그 오차를 줄여나가는 방식으로 목표값에 가까워지는 것이다.
우리가 살아가는 인생도 이렇게 시행착오를 거치는 방식과 똑같은 것 같다는 생각이 들었다.
다만, y=ax, y=ax+c와 같이 알고 있는 수식이 아니라는 점이 다르다.
당시 수업에서 교수님은 쉬운 이해를 돕기 위해 y=ax라는 수식을 썼는데, 그 다음 장에 보니 이렇게 적혀 있다.
하지만 가장 중요한 이 직선의 기울기는 어떻게 구해야 할까요? 우리가 다루고자 하는 수식이 직선이 아니라면 어떻게 해야 할까요?
우리는 우리 인생의 수식이 무엇인지 모른다.
어떤 값을 넣었을 때 결과 값이 줄어드는지, 결과 값이 커지는지, 배수로 커지는지, 나누어지는지 전혀 모른다. 직선인지, 원형인지, 2차 함수인지, 3차 함수인지 그 누구도 알지 못한다.
여기에서 중요한 첫번째 아이디어가 있는데, 수식을 알지 못하는 상황에서 첫번째 임의의 값을 넣고 오차가 나왔을 때이제 어떤 두번째 임의의 값을 넣어야 오차가 줄어들 수 있을까?
사실 정답은 모른다 이다.
수식을 알지 못하는 상황에서 이 첫번째 오차값은 사실상 아무런 의미가 없다.
단, 두번째 임의의 값을 넣기 전까지는.
두번째 값을 넣으면 두번째 오차값이 나오겠지.
그제서야 우리는 방향이라는 것이 잡히게 된다.
‘아, 첫번째 값보다 큰 두번째 값을 넣었더니 오차가 조금 줄어들었네, 그럼 계속 더 큰 숫자를 넣어봐야겠다’.
아니면 ‘아, 두번째 값을 넣었더니 오차가 더 커졌네? 첫번째보다 작은 숫자로 다시 넣어봐야겠다’. 와 같이
+, - 에 대한 방향성이 대략적으로 잡히게 된다.
이 방향성은 첫번째 오차값을 바라만 보면서 머리를 싸매고 가만히 있는다면 절대로 찾아질 수가 없다.
첫번째 임의의 값에서 오차가 나온 것에 왜 오차가 나왔는지, 오차가 나왔다는 사실에 좌절하고 두번째 값을
넣지 않으면 그 아무것도 일어나지 않는다.
그런데 뒤돌아 보니 지금까지 내가 그러고 있었더라.
약 4년 전 첫 정규 회사 생활을 처음 내딛은 상황에서, 내가 원하는 분야에서 일하게 되었음에도 불구하고 내가 생각했던 것과 많이 달랐고, 당연히 오차값이 있었다.
두번째 값을 넣어야 하는건 알겠는데, 나는 완벽한 두번째 값을 넣고 싶어했다.
그래서 첫번째 오차값을 한없이 바라보기만 하고 있었던 것이다.
그런데 이 생각을 하고 나니까, ‘아, 오차값이 나온 것은 당연하고, 내가 지금 넣을 두번째 임의의 값도 알지 못하는 것이 당연하구나’라는 생각이 들었다. 말그대로 임의의 값 이니까.
자 그럼, 이제 방향성 정도는 찾았다고 가정해보자.
물론, 이 방향성이 단 두번째 시도만에 찾아진다는 보장도 없다. 직선이 아닌 2차 함수라면, 계속 커지는 결과값을 얻다가 갑자기 어느 순간 결과 값이 줄어들기 시작할 수도 있으니까.
어찌되었든, 수차례 시도 끝에 어느 정도 방향성을 찾았는데, 오차의 크기가 너무 큰 상황인 것.
그럼 우리는 어떤 생각이 들까? 훨씬 더 큰 숫자를 넣어야겠다. 라는 생각이 자연스레 들게 된다.
예를 들어, 임의의 값을 1씩 키워서 넣고 있었는데 오차가 100이라면, 굳이 100번동안 1씩 숫자를 키워서 넣을 이유는 없으니. 그래서 오차를 좀 한번에 줄이고자 과감히 20을 키워서 넣어 보았다. 그랬더니 웬걸 오차가 -50이 찍히는거다.
목표값을 넘어가버린것. 이것을 인공지능에서는 오버 슈팅이라고 부른다고 한다.
우리가 살아가면서도 그런 경우가 있는 것 같다. ‘확 이걸 한번 해봐?’라고 질러보았는데 ‘아, 이정도는 아니구나’하는 경우.
이게 바로 오버 슈팅이다. 그런데, 이 오버 슈팅이 나쁜 것이고, 절대 일어나지 않도록 지양해야 하는 것일까?
아니다. 나는 이 오버슈팅을 통해서 이제 ‘범위’를 파악할 수 있다고 생각했다.
이 값까지는 넣어도 되는구나 하는 내 인생의 범위를 알 수 있게되는 것이다.
누군가는 나를 한계 지으면 성장할 수 없지 않냐고 생각할 수도 있다. 근데 이 범위는 한계를 짓는 것과는 조금 다른 것 같다. 오차 범위가 마이너스가 된다는 것은 인생으로 본다면 나의 건강이든, 내 주변과의 관계이든, 부나 명예가 되었든 어느 한 부분이 마이너스가 되는 것과 같은 맥락으로 보이기 때문이다.
무조건 큰 결과 값을 가지게 되는 것이 나에게 좋은 게 아닌 것이다. 내가 허용하고 감당할 수 있는 범위를 파악하는 것도 중요하다는 생각이다.
나는 이런 생각이 들었다.
두번째 세번째 시도가 어쩌면 오버 슈팅을 하기 가장 좋은 때가 아닐까?
그래서 나는 나의 다음 목표를 오버 슈팅으로 정했다. 이렇게 ‘슈팅’이라고 표현하고 ‘임의의 값’,’시도’라고 표현하고 보니까 인생에 있어서 선택의 순간들이 한결 가볍게 느껴지는 것만 같았다.
정말 이 중대한 선택에서 한번 잘못하면 큰일이 날 것만 같았던 일들도, 또 다른 하나의 임의의 값일 뿐이고, 이리 저리 슈팅을 해보는 중이고 다음 슈팅을 위해 간을 보는 정도로 생각하니, 툭툭 던져볼 수 있을 것만 같았다.
사실 이 인공지능에서 가장 중요한 두가지 핵심이 있다.
첫번째는 오차값을 바탕으로 반드시 다음 시도를 한다는 사실이다.
그리고 두번째는 앞에서 맨 처음 인공지능이 학습하는 방식을 설명하면서 ‘그 오차를 줄여나가는 방식으로 목표값에 가까워진다’ 라고 했던 곳에 있다.
목표값에 도달하는 것이 아니라, 우리는 목표값에 가까워진다.
어쩌면 완벽히 일치하는 목표값이란 없을지도 모른다. 그러니, 이 시도는 끊임없이 하게 되겠지.
그 목표값에 가까워졌다 멀어졌다 하는 수 많은 시도를 반복하는 인생이 될 것이다.
그러니 완벽한 값은 없다는 것을 잊지 말고, 일치하는 숫자 ‘단 하나’를 위해 목매이지 않으는 것이 어쩌면 우리가 잊지 말아야 할 사실 아닐까.
나의 다음 슈팅은 어디일까? 우리는 어디를 향해 던지게 될까?