"아빠! 아빠! 좀 도와줘."
딸아이가 자기 방에서 아빠를 찾는다. 아이방에 들어갔을 때 수학문제집 주변에 흩어져 있는 지우개 가루와 연습장에 남아 있는 수많은 고민의 자국은 얼마나 힘들어하고 있는지 알 수 있었다. 수학학원 숙제를 하다 틀린 답을 다시 푸는데 이해를 못 하고 있었다.
나도 딸이 중학생이라고는 해도 중3이라 그리 쉬운 문제도 아니고 수학책을 본 지 40년이 되어가는데 무슨 기억이 나겠나 싶어 겁이 났다.
역시나 문제를 보는 순간 어떻게 풀어야 할지 난감했다.
"잠시만, 내가 사진 찍어서 조금만 고민하고 다시 올게."
딸의 수학 문제를 사진으로 찍고 내 방에서 고민했다.
'이렇게 하면? 요렇게 하면? 아 그렇지!'
어느 정도 풀렸다 싶었을 때 확실한 확인을 위해 chatgpt에게 딸의 수학문제를 입력했다. 지금은 성능이 꽤 괜찮지만 당시는 오답이 제법 나왔던 시기였기 때문에 완전히 신뢰하지 않았다. 풀이과정이 나왔고 이를 검산하면서 틀린 위치를 다시 지정하면서 내가 푼 방법을 설명했더니 생각했던 방향으로 정답이 나왔다.
그런데 이 방법은 딸에게 설명하기 어려워 보였다. 그래서 그 정답 기준 다른 도식방법으로 설명을 했다.
이렇게 풀고 나서 다시 소파에 앉아 읽고 있던 책을 다시 폈는데 내 머릿속에 뭔가 순간적으로 이런 생각이 났다.
'가만, 내가 한 게 뭐였지?'
나는 오답에서 역으로 틀린 지점을 찾고 방향을 바꿔서 다시 풀는 과정을 계속해서 반복했다. 이것은 최근 AI붐이 일면서 비전검사기에 자주 적용되는 머신러닝과 같은 원리였다.
그리고, 풀이를 했던 답과 실제 정답의 차이를 비교하는 것은 머신러닝에서 Loss Function(손실함수)이라고 부른다. 머신러닝에서는 Loss Function값을 최소화하는 방향으로 학습을 한다.
결국 머신러닝이나 우리가 문제를 풀어가는 모습이나 오답은 실패를 의미하는 것이 아니라 더 좋은 정답을 찾기 위한 선생님과 같다. 머신러닝에서는 오답이 매우 중요하다. 오답과 정답의 차이를 보여주는 손실함수가 줄어드는 지표가 중요하기 때문이다. 손실함수의 수치가 줄어든다는 것은 정답에 가까워지는 방향으로 다가가는 것을 의미한다.
우리는 오답이 나오는 것을 마치 실패로 인식하고 정답만을 찾으려 한다. 우리가 문제를 푸는 방식을 정답에 가까운 접근 방향을 찾아가는 과정으로 본다면 다양한 문제에도 보다 유연한 자세를 가지게 되지 않을까 하는 생각이 든다.
나는 딸의 공부방으로 정답을 찾아냈다는 승리감과 함께 들었다.
"이것을 이런 식으로 이해하면 좀 더 쉬울 거 같은데, 어때?"
"응, 그래 이해가 되네. 고마워, 아빠."
해설집에서 말하는 풀이와 같지는 않지만 정답을 이끌어 낼 수 있는 방향은 여러 가지 존재한다.
우리가 만든 머신러닝은 많은 실패를 할 수 있는 기회를 주는 데 정작 우리가 한 번에 정답을 맞히지 않으면 안 되는 것 같은 모습은 아이러니한 듯하다. 알고리즘에게 실패에 관대하듯 우리 자신에게도 관대해지는 것이 어떨까 하는 생각이 든다.