공돌이가 되어가는 과정
다소 불확실한 미래 구상과 이번 학기는 어떻게든 버텨보겠다는 안일한 마음가짐에서 자본주의의 회초리를 맞고 정신이 번쩍 뜨였다. 썩 유쾌하진 않았지만 헝그리 정신 덕분에 동기부여가 된 건 좋은 일이다. 이 동기부여가 지속되는 게 제일 중요한 일이겠지만.
논리적인 사고의 흐름은 다소 이성적이지 않았지만, 미루던 한 과목을 처음부터 끝까지 쭉 파헤쳤다. 직장 상사가 가르치는 과목인데 워낙 상사가 못 가르치기도 하거니와 내용이 워낙 어려운지라 엄두를 못 내다가 강의안을 몇주전부터 읽기 시작했는데, 이틀 새에 완독을 넘어 어려운 부분을 하나하나 메모하고 인터넷으로 독학했다. 알고 보니 그 내용의 근간이 되는 내용이 다른 수업에서 다뤄지는 내용인데 이론은 단지 몇 줄로 짧게 축약하고, 그저 응용에만 치중하다 보니 이해할 수 없는 것이었다.
애초에 어려운 내용을 기본 배경 설명 없이 그저 적은 채로 이해하라는 것 자체가 잘못된 방법이 아니었을까. 사실은 그런 이유로 선행 과목을 먼저 듣는 게 더 바람직하고, 그런 이유로 컴퓨터공학이나 제어공학 쪽의 애들은 이를 이미 선수과목으로 들었으니 이를 따라가기에 훨씬 수월했을 테다.
이런 애로사항은 지금 듣는 이 문제의 과목, Model Predictive Control이라는 걸 연구소에서 쓰고 싶은 사람은 많은데 이를 제대로 운용할 줄 아는 이가 나의 직장 상사 외에는 없다는 사실로부터 시작한다. 그녀는 내가 이 수업을 듣고 본인만이 이를 설명하는 게 아닌, 궁극적으로는 본인의 조교가 웬만한 건 처리해주길 바란다고 이야기했으니 내가 이걸 잘 안다고 가정한다면, 적어도 내 밥벌이를 할 수 있는 셈이다. 단기적으로라도 조직에 쓸모 있는 사람이 되는 거다.
나의 우려는 이쪽 분야를 제대로 하려면 그 선수과목 및 관련된 수업을 다시금 들을 수밖에 없는 것이라는 생각과 함께 그렇게 했을 때 너무 한 분야에 치중하는 건 아닌가 하는 우려스러움으로부터 기인한다. 혼자 여러 자료를 다시금 찾아가며 이렇게 한 것만으로도 충분하다면 좋겠다만 부족하게 느껴진다.
되돌아보니 독일에 온 이래 온갖 최적화 관련된 수업을 들었다. 그 시작은 경영학에서의 OR, 그리고 그 이후의 여러 수학적 모델링, 머신러닝도 수차례 다뤘는데, 그동안 이걸 가르친 이들이 실력이 없다는 건 아닌데 선형모델에만 워낙 중점을 두다 보니 여러 번 들으면서도 이 수학적 본질을 주제로 공부해 본 적은 없었다.
교수로서도 (그동안 가르쳐왔던 교수들 모두가 정말 이 정도로 아는지도 의심스럽지만) 학생들이 수업 듣다가 포기하면 안 되니 쉬운 것 위주로 원리에 관한 설명하면서, 그냥 총체적인 그림만 보여줬던 건가 싶은 생각이 든다. 물론 그런 덕분에 큰 그림을 이해할 수 있는 것은 사실이었지만 이 근본, 기저에 깔린 이론은 알지 못한 셈이다. 어쨌든 결과론적으로 수학, 물리 전공자의 교수가 이를 다루니 물론 깊이가 있어 좋다면서도 어렵게 가르친다는 느낌도 받는다. 이건 내 상사가 강의 커리큘럼을 잘못 짠 영향도 있겠다만.
각설.
하나의 모델을 만드는 것. 이는 크게 두 가지 방법이 존재한다. 먼저 모델을 수학식으로 구현하고 input을 바탕으로 output을 도출하는 방법. 이를 White-box model이라고 한다. 반대로는 데이터, 즉 output을 바탕으로 모델을 세우는 거다. 이를 Data Driven model, Black-box 모델이라고 하는데, Regression 등이 기본적인 방법이고, 머신러닝도 기본적으로는 데이터를 학습, 시험 등을 거쳐서 모델을 만드는 것이기에 비슷한 맥락이라고 할 수 있다.
지금 많은 이들이 뭐든지 머신러닝과 인공지능으로 모든 걸 다 설명한다고 하지만, 실상은 그렇지 않다. 이에 근본은 기본적으로 위 기술들은 데이터를 기본으로 하는데, 데이터가 충분치 않거나 정확하지 않았을 때는 이를 통해 모델을 만드는 게 의미가 없다는 데로부터 기인한다.
또 누군가는 수학적 모델 자체가 어쨌든 자연을 해석하고, 이에 필연적으로 여러 가정이 들어갈 수밖에 없다는 이유로 완벽하게 옳다고 할 수 없다고 논할 수도 있다.
“All models are wrong, but some models are useful.”이라는 격언이 알맞은 표현이다.
에너지 분야를 예를 들어보자. 대부분 데이터가 있는 전기 분야에 있어선 몇 가지의 가정을 통해 선형 모델을 적용할 수 있는데, 그 덕분에 한 국가, 유럽의 경우에는 유럽전력망을 프로그래밍으로 비교적 쉽게 구현할 수 있다. 물론 머신러닝과 같은 Data driven model, 그리고 이를 바탕으로 한 앞으로의 미래 전력 시장 등을 예측할 수도 있다.
반면, 애초에 측정된 데이터가 별로 없는 냉난방 분야에 있어선 국내는커녕 한 도시의 모델, 하나의 마을 모델도 구현하기가 쉽지 않다. 전기 분야에서는 Top Down 방식의 큰 그림으로서의 접근도 분명 가능하지만, 냉난방 분야에 있어선 어쩔 수 없이 작은 단위에서부터 접근할 수밖에 없다. 애초에 열을 측정하는 것부터, 난방의 단위 주체가 각 건물 단위인데다가 건물마다 다 다른 모양을 하고, 장애물에 따라 일조량이 달라지는 등 건물마다 고려해야 할 요소가 너무나도 많기에, 선형 모델도 구현이 어렵거니와 데이터를 구하고 이를 해석하는 것까지 훨씬 복잡하다. 즉, 이것이야말로 수학적 모델링이 아직까지 제일 필요한 부분이라고 할 수 있겠다. 즉 아직까지 Regression할 데이터도, 훈련시킬 데이터도 없는데 Data Driven, 머신러닝이 가능할 리가 만무하다. 머신러닝의 핵심은 Data Quality라는 한 교수의 말이 떠오른다.
결과론적으로 아무리 컴퓨터의 계산 능력이 엄청나게 뛰어나 진다고 한들, 데이터가 없는 한 올바른 데이터 기반의 모델은 불가능한 것이다. 이런 점에서 수학적 모델링, White Box Model은 아직도 그 필요성이 있는 셈이다.
이런 고민 끝에 몇 가지 세부 질문에 다시 도달한다.
1. 내가 그 분야를 깊게 공부를 할 역량을 갖추고 있는가.
2. 그 공부가 과연 앞으로 내가 하려는 분야에 쓸모가 있는가.
3. 쓸모는 있는데, 꼭 이걸 내가 해야 하는 건가. 즉 이게 제일 이 사회에 필요한 부분인가.
위 질문 중 2번은 충족한다. 1, 3번은 알 수 없다. 해보지 않았고 해보지 않고 누군가가 그것에 대해 이야기하는 것보다는 한 번 부딪혀보고 이야기하는 건 큰 차이가 있다는 걸 나의 부친은 이야기한다. 사실 아버지의 이야기가 아니더라도 나는 그 차이가 어마어마하다는 것을 그동안의 삶을 통해 알 수 있었다.
특히 1번 관련해서 관련된 분야를 앞으로 강의할 교수는 그쪽 분야에서는 대가이고, 강의도 굉장히 훌륭하다. 하지만 많은 이들이 어렵다고 혀를 내둘렀고 조금 겁도 난다. 아버지는 유학 생활에 한 번쯤은 이런 어려움을 도전해보는 게 의미 있지 않겠냐며 하다가 안 되면 ‘나는 여기까지인가보다.’ 하면 되지 않겠냐고 한다.
결과론적으로 다음 학기에 그 교수의 강의를 들으면 나의 복잡한 머릿속이 명쾌하게 해결되려는지, 그것보단 수업을 듣고 공부를 하면 할수록 더 많은 이론과 복잡한 수식이 등장하고 내가 모르는 미지의 세계가 계속 열렸던 것처럼 더 힘든 과정이 기다리지는 않을지 고민이 되기도 한다.
이런 걸 돌이켜봤을 때, 1년 전엔 이 정도면 될 거라고 가정한 그 수준, 지금은 그때 당시에 도달하고자 했던 수준을 넘은 것 같은데도 안타깝게도 전혀 어떤 경지에 이르지 못했다.
어쨌든 고민을 마치고 수학적인 공부를 더 깊게 해보기로 했다. 유학을 떠나기 전부터 아버지는 내게 기초가 제일 중요하다고 했는데, 그 기초는 결과론적으로는 수학이었다. 뭐 그 외에는 이를 컴퓨터로 구현하는 프로그래밍과 이를 뒷받침할 철학, 즉 어디에 이를 써먹을지에 대한 아이디어가 필요한 셈이다.
희망찬 미래를 꿈꾸기로 하자.