안녕하세요 멘토님. 서울 소재 4년제 대학교 전자공학부 4학년 재학 중인 멘티입니다. 다름이 아니라 인공지능, 빅데이터 분야와 아울러 제가 잘하고 싶은 것이 있는데 어떤 공부를 해야 할지 몰라 질문하게 되었습니다.
지난 학기에 학부에 인공지능개론 수업이 개설돼 강의를 수강했고 딥러닝1)에 관심을 가지게 됐습니다. 수업 시간에 음성을 분류하는 과제를 수행했고, 졸업작품으로는 휴대폰으로 브로드캐스팅하는 와이파이 신호를 분석해 딥러닝으로 실내 위치를 예측하는 프로젝트를 하고 있습니다.
방학 동안에는 국가에서 무료로 교육해주는 기초 빅데이터 과정을 수강했습니다. 이 수업을 들으며 ‘서울시 녹지 면적량 증가에 따른 대기오염도 개선 정도 예측’ 프로젝트를 준비했습니다. 이런 과제들을 수행하며 느낀 어려운 점이 있습니다.
- 무엇을 예측할지 타깃을 정하고 나서 최고의 예측을 하기 위해 어떤 모델이 가장 적합한지
- 타깃을 예측하는 데 필요한 feature를 어떻게 선정하고 어떻게 전처리할지
️
이 두 가지를 제대로 못 하니 과제를 하기가 어렵다는 것입니다. 그래서 제가 멘토님께 여쭙고 싶은 것은 다음과 같습니다.
1. 제가 어려움을 겪는 위 두 가지 사항이 실제로 프로젝트에서 중요한 요소인가요?
2. 위 두 가지 사항에 관련해 실력을 키우고 싶다면 어느 분야의 대학원으로 진학해야 할까요? (데이터마이닝, 수학적인 인공지능 연구 등)
3. 아무래도 제 전공인 전자공학과 비교해서 생각하게 됩니다. 전자과 출신이 인공지능 분야에 진출하면 보통 음성/영상처리 쪽으로 가는 것 같습니다. 하지만 이 분야는 인공지능 분야에서도 극히 일부에 속합니다.
그 외에 일반 IT 직군(통신사, 금융권 등)에서는 머신러닝2) 분야 일을 한다고 생각했습니다. 이 두 선택지 중에서 어느 것을 택해야 하는지 고민이 됩니다.
전자공학 전공을 살려 음성/영상처리 쪽으로 갈지 머신러닝 분야 전반을 아우르는 IT 기업에 갈지, 길라잡이가 될 만한 기준을 알려주시면 감사하겠습니다.
바쁘실 텐데 질문을 길게 드려 죄송합니다. 읽어주셔서 감사합니다!
1) 딥러닝 : 다층구조 형태의 신경망을 기반으로 하는 머신 러닝의 한 분야로, 다량의 데이터로부터 높은 수준의 추상화 모델을 구축하고자 하는 기법이다. 데이터를 컴퓨터가 처리 가능한 형태인 벡터나 그래프 등으로 표현하고 이를 학습하는 모델을 구축하는 연구를 포함한다.
2) 머신러닝 : 인공지능의 연구 분야 중 하나로, 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법이다. 머신 러닝은 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다.
과제에 적합한 모델을 선택할 줄 아는 능력이 중요합니다
멘티님이 어려움을 겪고 있다는 요소는 실제로 상당히 중요합니다. 저 두 가지 외에도 많은 것들이 중요하지만 가장 우선순위에 있으며, 실력 있는 사람과 실력 있는 척하는 사람을 판가름하는 첫 번째 요소라고 저 또한 평소에 생각했습니다.
DNN1) 같은 모델을 거론하며 ‘특징을 알아서 찾기 때문에 그럴 필요가 없다’는 분도 계십니다. 하지만 때로는 모델 복잡도가 데이터 복잡도보다 높아서 적용할 수 없거나 과제와 적합하지 않다는 등의 이유로 그런 모델을 항상 쓸 수 있는 건 아닙니다.
데이터를 다루는 사람이라면 적어도 적절한 때에 적절한 모델을 가지고 문제를 해결할 수 있어야 한다고 생각합니다. 따라서 딥러닝 만능주의자보다는 머신러닝을 폭넓게 배우고 활용하기를 권하고 있습니다. 그러다 보니 멘티님이 언급한 부분은 꼭 공부해야 하는 부분입니다.
원론적인 지식부터 쌓아야 하는 이유
데이터 마이닝도 수학이 중요할 텐데, 모델의 원론적인 부분에 집중하고 데이터에서 인사이트를 찾는 게 목표라면 수학적인 인공지능 연구를 추천합니다.
이는 어느 하나가 더 중요해서 권하는 건 아닙니다. 사람마다 다르겠지만 제 생각에 위에서 정의한 데이터 마이닝을 잘하려면 도메인에 대한 지식과 데이터를 많이 다루어보는 경험, 다양한 모델에 대한 지식이 필요하다고 생각합니다.
질문을 보니 아직 진로 결정이 덜 된 상태라 데이터에 대한 경험을 쌓기 어려울 듯합니다. 각 업계는 데이터의 특성과 속성, 분석을 통해 얻고자 하는 바가 상이하여 접근 방법부터 다릅니다. 그런 상황에서 데이터를 다뤄본 경험을 쌓고 도메인 지식을 쌓는 것이 현실적으로 쉽지 않습니다. 다양한 모델을 습득하는 게 보다 현실적이라고 생각합니다.
다양한 모델을 습득하는 것은 어떤 상황에 어떤 방법론이 적합하지를 아는 것입니다. 모델의 원론적인 메커니즘을 알면 각 모델 간의 차이를 알 수 있고 언제 어떤 모델을 사용해야 하는지 알 수 있습니다.
수학적인 이론 없이 모델링 할 수 있다고 하는 사람은 기초가 부족한 단순 코더일뿐입니다. 데이터를 다루는 경험을 쌓고 인사이트를 갖추는 순서는 현업에서 실제 데이터를 다루며 충분히 겪을 수 있습니다.
대학원에 있는 동안 모델의 원론적인 부분을 평생 연구한 교수님들로부터 기초 이론을 배울 것을 추천합니다. 대학원 연구실에서는 수학적인 이론을 바탕으로 모델의 사상과 원리를 습득하세요. 그 후 취업해서 실제 데이터를 다루며 인사이트를 찾는 방법을 권합니다.
오래 해도 질리지 않고 포기하지 않을 만큼 좋아하는 분야를 택하세요
진출 분야는 흥미를 더 느끼는 곳을 택하는 게 좋을 것 같습니다. 저는 둘 다 매력적이고 흥미롭다고 생각합니다. 미래 비전 모두 나름의 청사진이 있습니다. 다만 그 분야가 좋아지는 것과 내가 잘되는 것은 차이가 있습니다.
내가 잘되려면 그 분야를 오랫동안 다뤄도 질리거나 포기하지 않을 만큼 충분히 좋아해야 합니다. 좋아하게 되면 남들이 생각하지 못한 시도도 하면서 차츰 전문성을 쌓아간다고 생각합니다. 특히 일과 공부를 병행하는 것은 큰 노력을 필요로 합니다. 흥미가 조금이라도 있어야 찾아서 공부하게 되니 학문적인 흥미는 중요한 기준이라고 생각합니다.
답변은 여기까지 입니다. 답변 내용이 충분했으면 좋겠네요. 추가로 궁금한 부분이 있으면 알려주세요. 성심성의껏 답변하겠습니다.
1) DNN (Deep Neural Network) : 심층신경망, 스스로 학습하는 인공지능을 일컫는 말.