7ceb8473bc8668f13ae886e3479f3433613b65463cae1603b8772c4834

1ebec223e0dc2bae61abe9e74683766d1b1563bef70a085128df93735d7b65f3cf927ea0b3d40d9c03011900f48ad72eab1a4315c453194fd1ae

------서론------

일단 먼저, 나는 비개발 전공에 수포자 출신에서 딥러닝으로 넘어왔고, 아직 학부생임.
그렇기 때문에 더더욱 수학이나 대학원, 취업시장 등에 대해서 고민했음.
얼만큼 수학을 공부해야할까? 대학원은 진학할까? 내가 취업할 때 즈음에는 시장이 포화상태이지 않을까? 내가 어떻게 하면 경쟁력을 갖출 수 있을까?

이 글은 그 고민으로부터 비롯된 글임. 사실 고민에 대해서는 딱히 결론을 내리지는 못했지만, 내 나름대로의 상황 파악과 방향성에 대한 글임. 나와 비슷한 고민을 한 사람들에게 도움이 됐으면 좋겠음.

그리고, 당연히 글에 틀리거나 왜곡된 부분이 있을 수 있음. 적당히 흘려듣고, 세부적인 부분보다는 상황과 방향성에 대한 맥락을 봐줬으면 좋겠음.

------본론------

딥러닝을 처음 공부하기 시작할 때, 그리고 계속 공부하는 중에도 많이 하는 고민들 중 하나는 '수학을 얼마나 공부해야할까?'일꺼임

근데 이걸 인터넷에 물어보면 답변이 다 다른데다가, 대체로 답변이 애매하고 추상적인 경우가 많음
이거랑 비슷한 케이스가 대학원인데, 가야한다, 안가도된다, 가려면 진짜 빡쎄게 노력해야한다, 학부 안좋으면 포기해야한다, 설카포 아래로는 의미없다 등등등... 대학원 가면 뭘하는거냐, 왜 가야하냐 물어보면 또 다 답변이 다르고, 모호하게 답변하는 경우가 많음

결론부터 얘기하자면,
1. 개발 분야가 원래 로드맵이 비정형적임
2. 근데 딥러닝은 근래에 급속도로 발달해서 더 비정형적임
3. 거기에다 대학원은 원래 특정 분야의 최선두에서 로드맵을 만들어나가는 것을 목표로 운영되는 곳이라, 더더욱 비정형적임 (+교수 by 교수가 심함)
4. 그렇다보니 어느 분야건 원래도 각자의 상황과 경우가 각기 다르겠지만, 이쪽은 그게 더 두드러져서 답변이 다르고 모호한 정도가 더 커질 수 밖에 없음
5. 근래에는 그래도 직무가 세분화 및 구체화되면서 요구조건도 명확해지고 로드맵도 맥락이 갖춰지는 추세
6. 따라서 본인의 목표와 방향성에 따라 수학적 깊이와 대학원 진학을 취사선택할 것

수학이 얼마나 필요한지, 학위가 얼만큼 필요한 지가 달라지는 이유는 자동차 생산을 생각해보면 됨
본인이 자동차 엔진을 연구하고 싶다고 치자. 그러면 일단 이론을 공부해야할텐데, 물론 독학으로도 하려면 할 수야 있겠지만, 본인이 어떤식으로든 엔진 연구에 참여하려면 정말 해당 이론들을 이해했는 지 증명할 필요가 있을 것이고, 이에 대한 현실적이고 보편적인 방안은 학사 학위임.
자, 이제 학사 학위는 있는데, 엔진을 연구하려면 연구 설비와 자원이 필요함. 현실적으로 이를 공급받을 수 있는 곳은 대학원 아니면 기업인데, 기업 입장에서는 이제 막 이론을 뗀 학사를 특별한 경우가 아닌 이상 돈주고 고용할 이유가 없으니 현실적인 방안은 대학원임.
근데 만약, 엔진을 연구하는게 아니라 엔진을 생산하거나 검수하는 직무로 들어간다면? 꼭 대학원까지 갈 필요는 없어짐. 어차피 생산이건 검수건 시스템은 이미 갖춰져 있을 것이고, 그 시스템을 이해하고 활용할 지식만 있으면 되니까 대학원 학위가 없는 사람을 뽑아도 무방함. 다만, 생산 및 검수를 하는 곳은 기업뿐이고, 기업은 시스템을 이해할 수 있다는 것이 검증된 인력만을 뽑고 싶어하는데 대체로 학사 학위로 검증할 것이기 때문에 학사 정도는 필요할 수 있음.
아예 정비로 간다면? 여기서부터는 고졸도 가능. 동네 정비소에서 4년제 학위를 가려받지도 않을 것이고, 엔진에 대한 세부적인 이해를 필요로 하지도 않으며, 부족한 이론은 경험으로 떼울 수 있으니까. 완성된 부품 조립하는 건 한술 더 떠서 이론의 중요도도 낮아짐.

근데 만약 이제 막 자동차라는게 발명된 상황이라고 치자. 기업에서는 대중의 자동차에 대한 수요는 커녕 기업 차원에서 자동차라는 것 자체를 제대로 이해하지 못했기 때문에, 누구를 얼마나 고용해서 어떤 일을 시켜야 할 지 감이 안와서 기업마다 각기 다른 요구조건을 걸고 각기 다른 직무를 뽑게 될 것이고, 학계도 마찬가지로 이걸 어떻게 어떤 방향으로 연구해야 될 지 몰라서 교수나 대학에 따라 각기 다른 방향과 방식으로 연구를 진행하고 연구원을 뽑을 것임.
현재 딥러닝 분야는 이 상황을 벗어난 지 얼마 되지 않았음. 사실 대기업빼고는 거의 다 이제 막 벗어날까말까 하는 중이라고 봐도 무방함.

(사실 자동차 생산 쪽 잘 모르고, 이해를 돕기 위해서 맥락적으로 비유를 든거라 세부적인 내용은 틀렸을 수도 있음. 그리고 결코 특정 직업을 비하할 생각도 없음. 그냥 맥락에 집중해서 봐주길)

딥러닝도 마찬가지로, 모델을 연구하고 싶다면 수학을 깊이 알아야겠지만, 그냥 프레임워크만 가져다가 적당히 활용할 생각이면 모델을 이해할 정도면 되고 수학보다는 개발이 더 중요해짐. 한술 더 떠서 진짜 모델만 가져다 쓸거면, 거기서부터는 사실상 딥러닝과 무관한 그냥 개발자로 전향하는 거라고 생각하면 됨.

목표에 따라 필요한 구체적인 수학적 깊이나 학위, 그 외 기타 스펙들은 각자 찾는 수 밖에 없는데, 직무가 많이 정형화, 구체화됐다고는 해도 당장 기업과 직무마다 요구하는 분야(ex. 컴퓨터 비전, 자연어 처리, 추천 시스템 등)가 다르고, 도메인(ex. 의료, 금융, 반도체 등)이 다르며, 해결하고자 하는 문제(ex. 불량 검출, 암 진단, 상담 챗봇, 보험 사기 진단 등)가 다 다르고, 이 중에서도 딥러닝을 메인으로 할 지, 도메인을 메인으로 할 지 등이나 모델 연구, 모델 서빙, 플랫폼 개발 등 하고자 하는 일에 따라 개인의 방향성도 천차만별로 달라지기 때문

------여기서부터는 사족------

나만 이런 경험을 했는 지는 모르겠는데, 딥러닝 쪽 논문을 읽다 보면 종종 그런 생각이 들었음

'저자는 본인이 무슨 말을 하고 있는 지 알고 있는게 맞나?'
'이 논문의 주장에 다른 사람들도 동의하는건가?'
'본인 모델이 ~한 이유로 보다 ~한 이점을 보인다던데, ~하다의 기준과 근거는 도대체 뭐지?'
'와 씨 설명 이해안되서 각주 단 논문 찾아갔더니 여기도 또 각주달려있네? 뭐가 이렇게 중구난방이며, 이론이 정립안됐지?'

심지어는 개별 연구 논문이 아니라 연구들을 비교하고 정리한 서베이 페이퍼 조차도 중구난방이고 모호해서 많이 혼란스러웠는데, 근데 위의 생각들이 들게 한 논문들이 CVPR 등의 탑티어 학회 논문들이라 그냥 내가 부족해서 그렇게 생각하는 것이겠거니 했음. 물론 이게 사실일 수도 있지만, 근래에 들어서는 다음과 같이 생각이 바뀜

'아 지금 딥러닝이 한창 정립되고 있는 중이라 그렇구나'
'아마 다른 분야도 한창 정립 중일 때는 이렇게 중구난방이었겠구나'
'지금이야 뭐 왠만한 딥러닝 책에서 ResNet 얘기는 꼭 나오니까 일종의 정석 커리큘럼처럼 받아들이고, 잔차 학습을 정석처럼 여기며 ~해서 성능이 좋아진다는 설명을 당연하게 받아들이지만, ResNet이 처음 나왔을 때는 다양하게 검증해보고, 실험해보고, 설명하려 시도해본 끝에 정립이 되어서 커리큘럼화 된 거 겠구나'
'그러니까 내가 지금 읽고 있는 논문들은 정석적인 커리큘럼을 벗어난, 이제부터 추가로 연구되고 설명을 시도한 끝에 정립되거나 폐기되어야 할 것들이라 당연하게 중구난방한거구나'

일단 딥러닝의 시작과 본질은 수학이지만, 실질적인 발달 및 활용은 컴퓨터로부터 시작됐기 때문에 딥러닝을 컴퓨터 과학의 하부 분야로 치겠음

컴퓨터 과학, 컴퓨터 공학, 소프트웨어, 어느 전공이 됐건 개발 분야는 다른 전공에 비해 로드맵이 정형화되지 않음
다른 전공들은 뭐 취업하려면 쌍기사 있어야 된다, 어학 점수 있어야 된다, 학점은 몇점 이상이어야 안정적이며 스펙은 이런 것들이 좋다더라 이런게 대체로 있는데, 개발 분야는 고졸/학사, 전공자/비전공자, 코테&포폴/경력 이렇게 놓으면 아직도 논쟁이 벌어지는 분야임
뭐 각자 머릿속으로 생각하는 정답이 있겠지만, 다른 분야는 애초에 저런 비교 자체가 성립을 안함. '대체로 전기 계열 학사가 주로 가는 직무에 고졸이나 문과 계열 전공자가 4년제 전전 전공자를 제치고 뽑힐 수 있나요?' 이런 걸로 논쟁 자체를 안함. 그만큼 개발 분야의 로드맵이 비정형적임.

근데 딥러닝은 최근에 급속도로 발전한 분야라 이게 더 두드러짐. 당장 재작년~작년까지만 해도 기업들에서 머신러닝 엔지니어랑 머신러닝 리서처 구분을 잘 안했음. 아무래도 본질이 수학이다보니깐 진입장벽이 있어서 뭐 고졸/학사 이런 논쟁은 잘 없더라도, 대신 학사/석사/박사 논쟁은 자주 나왔음. '그래서 인공지능 대학원 가려면 뭐 해야 돼요?' 이것도 답변이 갈렸음. 학점 중요하다, 덜 중요하다, 관련 수업 많이 들어라, 아니다 논문 구현이나 열심히 해라, 학부 연구생해라, 기업 인턴해라, 수학 공부해라, 개발 공부해라, 방금 말한 것들 다 해라 등등등...

이렇게 답변이 갈리는 이유 중 하나는 딥러닝의 특징인 비선형성 때문도 있는데, 이 비선형성이 수학이 어느 만큼 중요하냐에 대한 답변도 갈리게 만들었기 때문
딥러닝의 성능의 원천은 비선형성인데, 문제는 이 비선형성이 딥러닝 모델들에 대한 수학적 이해를 엄청나게 어렵게 만들었음
그러다보니 딥러닝의 본질은 엄밀한 논리와 증명을 기반으로 하는 수학임에도 불구하고, 화학 실험 할 때 시간과 용량과 성분을 다르게 해서 여러 실험을 하듯 실험적으로 연구하는 경향이 강해졌음
근데 화학 연구랑은 다른 점이 수십년간 개발되어 와서 이미 거의 완성형으로 존재하는 실험 설비를 바탕으로 실험하는 화학과는 달리, 딥러닝은 아직 한창 다양한 시도를 하는 중이라 완전한 시스템이 갖춰지지 않았고, 컴퓨터에서 기인하기 때문에 코드 작성을 통해 이러한 시스템을 구성하여 실험하는 상황이며, 화학처럼 원소 단위로 연구가 진척된 게 아니라 딥러닝을 완전히 수학적인 이론을 바탕으로 접근할 수도 없어 제대로 된 연구를 위해서는 잔차 학습, 어텐션 기법 등 딥러닝에서만 통용되는 별도의 도메인 지식이 선행되고, 이를 수학적으로 이해하려는 노력이 요구됨
당연히, 화학 실험 할 때 아무나 데려다가 무작정 실험시키는게 아니라 화학적 지식을 갖춘 사람을 데려다 가설을 세우고 실험을 하게 하듯이, 딥러닝의 경우에는 수학적 지식 + 딥러닝 지식 + 개발 지식도 필요하게 된 것임
딥러닝 지식이야 이제 막 정립되고 있는 상황이니 일단 분야에 진입하고나서 공부하면된다 치고, 수학적 지식과 개발 지식의 경우 현실적으로 둘 다 갖춘 사람을 찾기가 힘드니 타협점을 찾아야 하는데, 아까 얘기했듯 딥러닝은 한창 발전중인 분야라 정립된 것이 잘 없어서 이 타협점이 다 달랐음
빠르게 다양하게 모델을 구성해보고 실험해봐서 결과를 내기를 바란다면 개발에 중점을 두고, 수학적 이해에 기반을 두고 연구를 하길 바란다면 수학에 중점을 두고, 들어와서 딥러닝 열심히 공부해라!면 학점(=성실성)을 중점에 뒀을 것이고, 연구 경험을 중시하면 논문 실적을, 구현 경험을 중시하면 포폴을, 딥러닝 서비스가 목적이면 백엔드 경력을, 국가 사업 지원금이 목적이면 학위를 등등등...

그래서 딥러닝하려면 뭐해야 되냐, 대학원가려면 뭐 준비해야되냐가 다 갈리고 모호했던 거임. 왜냐하면 기업과 대학원에서 요구하는게 다 다르고 모호했거든.

뭐 어쨌거나 최근에는 딥러닝으로 어떤 서비스를 어떻게 제공할 지 등도 많이 정형화됐고 해서 요구조건들이 많이 구체화된 편이라 예전보다는 덜 혼란스러운 것 같음. 오히려 완전히 정형화되지 않은 지금이 진입하기에 적기일 수도 있겠다 싶기도 하고...