AI를 배운다고 해도 그 목적은 다양합니다. “AI의 지식을 습득하여 엔지니어와 대등하게 이야기하고, AI를 사용한 참신한 사업제안이 가능했으면 좋겠습니다.”라든지, 스스로 끈질기게 머신러닝 알고리즘을 만들고 싶다는 등. 이번에는 ‘전문적인 AI엔지니어 및 데이터 과학자'가 되기 위해서는 어떤 공부를 하면 좋을지 필자의 주관을 바탕으로 소개하고자 합니다.
1. 수학
"수학"입니다. 네, 누가 뭐래도 수학입니다. AI를 형성하는 "머신러닝 데이터 분석"은 거의 대부분 숫자 컨트롤로 이루어져 있으며, 그들을 어떻게 읽어 내고 활용할지는 전부다 수학을 기반으로 이뤄집니다.
인공지능이라는 말만 듣고, 인간의 뇌를 기계로 재현한 거라고 생각하는 분이 계시다면 큰 실수입니다. AI 기술은 데이터 경향에서 가장 정확하게 예측할 수 있는 방법을 수학적으로 엄밀하게 계산하고 있습니다. 그 예측 성능이 높다 보니 흡사 인간의 생각하는 능력과 같다고 착각하게 만드는 것입니다.
즉 인공 지능이라는 것은 인간이 생각하는 것 같이 보이게 만든 기계입니다.
따라서 AI의 사고법을 안다는 것은 그 수학적 구조를 아는 것과 다르지 않습니다.
물론 수학만 잘하면 AI엔지니어와 데이터 과학자로서 활약할 수 있는가 하면 꼭 그렇지는 않습니다. 게다가, 수학 잘하면 연봉이 오르나요?라고 묻는다면 대답은 글쎄요...입니다.
그러나 AI엔지니어 데이터 과학자에게 수학은 ‘기초체력’입니다. 향후 다양한 형태로 논문을 읽거나 수식을 기반으로 모델의 개선 방안을 찾아내는 높은 수준의 AI엔지니어 수요는 점점 늘어날 것입니다. (이미 아주 높다고 할 수 있습니다만…)
또한 데이터 분석 관련 업무도, 데이터에서 특징과 성향을 추출하는 것은 AI에 맡기고, 그것에 어떤 모델을 적용할 것인가를 결정하자면 수학적 소양과 이해력이 필요합니다. 그럼 어떠한 수학을 공부하는 것이 좋을까요?
우선 제대로 된 AI엔지니어와 데이터 과학자가 되려면 고등학교 수학을 전제로 대학 1 ~ 2년 차 정도의 교양수학은 필수라고 할 수 있습니다.
구체적으로는 미적분 · 선형대수학 · 기초통계학 · 집합 위상 · 베이지안 이론(Bayesian theory) 등이 해당될 것입니다. 그중에서도 일류 수준의 AI 엔지니어링 및 데이터 분석에서는 통계학적 지식이 필수이며, 그들을 제대로 이해하기 위해서는 그 주변 지식으로 미적분 · 선형대수학 · 집합 위상이 필요하다고 보시면 됩니다.
수학적 능력은 평가하기 어렵고, 공부하면 할수록 그 길은 멀고 험하기 때문에 비효율적으로 느껴질 수 있습니다. 그러나 AI산업의 실용화가 가능해진 지금이야말로, 앞으로 이 분야로 가고 싶다면, 지금부터 부지런히 공부해보는 것은 어떨까요. 쉬운 일이 아님을 이미 강조했지만, 학문 체계로서의 교양수학은 매우 세련되고 재미있는 것입니다.
2. 프로그래밍
AI의 사고를 맡고 있는 것이 수학이라고 알았습니다. 이때 종이와 펜을 사용하여 계산을 한다면 어떻게 될까요. 수천수만 에 달하는 데이터의 계산을 일일이 반복하고 있자면 날이 저물어버릴 겁니다. 해가 지는 것은 둘째치고 인생이 끝나버릴지 모릅니다. 그래서 등장하는 것이 ‘프로그램’입니다.
수학은 각 분석법과 AI 이론 체계를 배우기 위해 매우 중요하며, 그 이해도를 높여가는 것이 큰 도움이 됩니다. 그러나 그것을 결과물로 만들어 주는 것은 프로그램입니다. 대량의 데이터를 정확하게 취급하는 것도, 유사한 계산을 무수히 반복하는 것도 컴퓨터가 더 잘하는 게 당연합니다. 간단한 것은 Excel 등으로도 충분히 할 수 있지만 어려운 일일수록 ‘프로그래밍’이 필수입니다.
또한 현대의 AI 데이터 분석용 프로그래밍 언어는 매우 다루기 쉽게 되어 있으며 이에 따른 시간 절감 효과가 큽니다. 최근에는 "Python"과 "R"이라는 프로그래밍 언어가 데이터 관련 업무에 사용되는 경우가 많으며, 이를 기반으로 머신러닝을 다루는 책도 많이 출판되고 있습니다.
또한 AI를 최대한 쉽게 만들기 위해 라이브러리(필요한 프로그램을 미리 개발하여 누구나 사용할 수 있도록 공개되어있는 것)를 다양하게 탑재한 ‘Anaconda’나 ‘Tensor flow’등의 애플리케이션도 나와 있습니다.
AI뿐만 아니라 향후 기술의 발전을 따라잡기 위해서라도 'Python'에 도전해 보시는 게 어떨까요?
3. AI의 적용 대상 산업에 대한 지식
본 내용을 읽고 계신 분 중에 오히려 이쪽 분야 지식이 깊은 분들이 많을 수 있습니다.
의외로 엔지니어들은 수학적 능력과 프로그래밍 능력을 갖추고도 비즈니스 측면의 활용이나 사업에 애를 먹는 경우를 많이 보게 됩니다. 또한, 아무래도 비즈니스 현장에서 뛰는 사람들만이 아는 감각이라는 것도 무시할 수 없을 테지요. 그러나 AI를 이용한 데이터 분석이 아무리 정밀하게 이뤄진다고 해도 그것이 "매출 향상"과 "업무 효율화"같은 구체적인 개선이나 결과로 이어지지 않는다면 별 의미가 없습니다.
비즈니스 지식(도메인 지식)은 "무엇 때문에 AI를 도입할 것인가"또는 "왜 AI가 필요한가", "어떤 가설과 접근이 유효한가"등, 업무에 있어서 본질적인 과제를 해결하는 것에 관한 것입니다. 엔지니어에 의해 만들어진 AI를 적절한 업계에 소개하고 어떤 AI가 필요한지 전략을 수립하는 분들을 "AI 디렉터"또는 "IT 컨설턴트"라고 합니다.
구체적으로는, 마케팅 지식, 재무제표 읽는 법 등 종사하는 직종에 따라 매우 다양합니다. 또한 지식뿐만 아니라 현장의 문제를 발견하고 이를 해결할 수 있는 가설을 세우는 사고력, 제안력, 수치를 분석하여 전달하는 커뮤니케이션 능력 등의 비즈니스 능력도 필요합니다. (어느 쪽 이냐면, 이들이 더 중요할지도 모릅니다.)
정리
이번에는 조금 관점을 바꾸어 AI엔지니어와 데이터 과학자에게 필요한 지식 체계를 세 가지 관점에서 살펴봤습니다.
그러나 수학 · 프로그래밍 · 비즈니스를 모두 완벽하게 마스터하고 있는 사람은 그렇게 쉽게 찾을 수 없습니다. 또한 AI비즈니스 및 데이터 분석에 활용되는 지식 배경은 매우 다양합니다. 우선 자신이 할 수 있는 것부터 시작하는 것이 좋습니다.
수학이나 프로그래밍 지식은 없지만, AI의 기초개념을 배우고 싶어요!라고 하시는 분들은 꼭 이 연재를 끝까지 읽어 주시기 바랍니다.
'AI · 인공지능 > 알기쉬운 AI' 카테고리의 다른 글
[알기쉬운 AI - 09] 지도 학습과 비지도 학습이란? (0) | 2019.12.07 |
---|---|
[알기쉬운 AI - 08] AI의 기본 원리 (0) | 2019.12.06 |
[알기쉬운 AI - 07] AI와 통계학의 관계 (1) | 2019.12.05 |
[알기쉬운 AI - 06] AI의 주요 기능, 회귀와 분류 (0) | 2019.12.03 |
[알기쉬운 AI - 05] AI관련 자격증 소개 (0) | 2019.12.01 |
[알기쉬운 AI - 03] 빅데이터 × AI의 의미는? (0) | 2019.11.28 |
[알기쉬운 AI - 02] '제 3차 AI붐' 이란? (0) | 2019.11.27 |
[알기쉬운 AI - 01] AI , 머신러닝, 딥러닝의 차이점 알기! (0) | 2019.11.26 |