본문 바로가기
Machine Learning/개인 학습 기록

게임 개발자가 입문해본 머신러닝, 딥러닝 - 무엇을 공부해야 할까?

by KK1 2021. 10. 22.

지난편에서는 인공지능에서 머신러닝, 딥러닝이 무엇인지, 어디서 사용하는지 알아보았습니다.

이번편에서는 머신러닝, 딥러닝 개발을 위해서 무엇이 필요한지 알아보겠습니다.


파이썬

가장 먼저 프로그래밍 언어! 그 중에서도 파이썬(Python)이 머신러닝, 딥러닝 개발에서 가장 많이 사용되고 있습니다.

R, MATLAB 등 다양한 언어로 개발할 수 있지만 왜 파이썬일까요?

 

Google의 TensorFlow와 Facebook의 PyTorch

파이썬스크립트 언어이고 쉽고 빠르게 다양한 패키지를 설치할 수 있는 환경이 있어 생산성이 매우 뛰어납니다.

이와 같은 장점을 가진 언어로 GoogleFacebook에서는 각각 인공지능 개발 라이브러리인 TensorFlowPyTorch를 오픈소스로 공개하여 쉽고 빠르게 머신러닝, 딥러닝 개발을 할 수 있는 환경을 갖출 수 있습니다.


수학

다음으로 필요한 것은 수학!

무언가 가져와서 사용하는 것까지는 프로그래밍 언어만 알아도 어떻게든 가능합니다.

하지만 머신러닝, 딥러닝의 내부의 흐름을 조금이라도 이해하고 필요에 따라 수정을 하기 위해서는 수학은 필수입니다.

 

수학에서도 주로 사용하는 것은 선형대수학, 확률과 통계, 미분을 사용합니다.

텐서(Tensor)

머신러닝 딥러닝에서 기본적으로 모든 데이터의 표현 및 연산은 다차원 행렬인 텐서(Tensor)를 사용합니다.

TensorFlow의 이름의 비밀이 여기에 숨어있지요.


논문

핵심은 논문!

인공지능과 관련된 기술은 지금 이 글을 읽고 있는 순간에도 쏟아져나오고 있습니다.

논문(영문)을 보고 최신 기술 동향 확인 및 그것을 구현하기 위해 위에서 이야기한 프로그래밍수학이 필요합니다.

논문에서 해당 기술의 개요, 구조, 그리고 수식을 읽기 위해수학을 알아야하며 내용을 바탕으로 구현을 하기 위해프로그래밍을 알아야합니다.

 

물론 꼭 수학과 프로그래밍을 마스터하고 영어를 잘하여 논문까지 읽어야 인공지능을 개발할 수 있는 것은 아닙니다.

 

Github

논문 베이스로 이미 개발된 내용이 Github에 오픈 소스공개되어있기 때문입니다.

해당 코드와 논문을 보며 분석하여 필요한 부분을 커스텀하거나, 해당 코드만으로 서비스에 적용할 수 있을 것 같다면 바로 사용하여 서비스 개발에 집중하는 것도 하나의 방법입니다.

 

이론, 개발, 서비스와 관련하여 인공지능 개발은 다양한 방향성이 있습니다.

어떤 방향이든 기본기는 탄탄해야하지만

이론을 바탕으로 연구하고 논문을 쓰면서 더 뛰어난 인공지능을 찾아내는 연구자라면 수학

논문 또는 위 연구자의 결과를 빠르게 개발하고 보여주는 개발자라면 프로그래밍에 방향성을 잡아야할 것입니다.

수학이나 논문은 잘 몰라도 오픈소스를 가져와서 서비스를 만들 수 있는 세상까지는 왔습니다. 

누구나 쉽게 머신러닝, 딥러닝을 할 수 있게 된 것이죠.

하지만 더 깊고 퀄리티있는 인공지능 개발을 위해서는 수학과 프로그래밍과 같은 기본기는 역시 필수라고 생각합니다.

 

다음편에서는 머신러닝, 딥러닝을 사용했을 때 어떤 점이 좋은지, 저는 어떤 방식으로 공부를 했는지 정리하겠습니다.

반응형

댓글