03-30 00:45
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[Data Science / Posts] 머신러닝, 데이터과학, AI, 딥러닝, 통계학 사이의 차이점 본문

Data Science/Posts

[Data Science / Posts] 머신러닝, 데이터과학, AI, 딥러닝, 통계학 사이의 차이점

cinema4dr12 2017. 1. 5. 21:38

* 이 글은 Data Science Central의 "Difference between Machine Learning, Data Science, AI, Deep Learning, and Statistics"을 번역한 것이다.


이번 글에서는 데이터 과학자의 다양한 역할과 머신러닝, 딥 러닝, AI, 통계학, IoT, 오퍼레이션 리서치, 응용 수학 등과 같은 관련 분야와 데이터 과학이 어떻게 다른지 공통점은 무엇인지 기술하고자 한다.

데이터 과학은 넓은 분야를 포괄하는 만큼, 어떤 사업 분야에서도 마주칠 수 있는 데이터 과학자의 다양한 유형에 대해 살펴보기록 한다: 각자는 자신이 미처 몰랐던 스스로가 데이터 과학자임을 깨닫게 될 수도 있다.

다른 과학 분야의 소양과 마찬가지로, 데이터 과학자들은 관련 소양으로부터 기술을 빌려올 수도 있다. 실시간 데이터 처리 또는 예측을 위해 인간과의 상호작용이 필요없는 자동화 방식으로 대규모 비정형 구조의 데이터세트들을 다루는 기술과 알고리즘과 같은 우리만의 무기를 갖고 있더라도 말이다.



1. 데이터 과학자의 다양한 유형

히스토리를 파악하기 위해 2014년에 출간한 "9가지 유형의 데이터 과학자들"에 대한 글 또는 마찬가지로 2014년에 출간한 "데이터 과학자가 갖추어야 할 16가지 분석 소양"에 대한 글을 참고하기 바란다.

다음 글들은 동일한 기간에 출간한 것으로 역시 유용하리라 생각한다:

  • 데이터 과학자 vs 데이터 이키텍트
  • 데이터 과학자 vs 데이터 엔지니어
  • 데이터 과학자 vs 통계학자
  • 데이터 과학자 vs 비즈니스 애널리스트


더욱 최근에 (2016년 8월) Ajit Jaokar는 유형 A (분석가) vs 유형 B (빌더)의 데이터 과학자에 대해 논의하였다:

  • 유형 A 데이터 과학자는 데이터 관련 코딩 작업을 잘 해낼 수 있지만 반드시 데이터 전문가는 아니다. 유형 A 데이터 과학자는 실험계획, 예측, 모델링, 통계적 추론 및 통계학과에서 일반적으로 가르치는 학문에 대한 전문가일 수 있다. 일반적으로 말해서 데이터 과학자의 작업결과물은 학계의 통계학자들(예를 들면 제약 산업에서 일하는 전통적 통계학자들)이 주로 제안하는 "p-value와 신뢰구간"에 대한 것이 아니다. 구글에서 유형 A 데이터 과학자는 통계학자, 정량 분석가, 결정 지원 엔지니어링 분석가, 데이터 과학자 및 이외에 몇가지로 알려져있다.
  • 유형 B 데이터 과학자: 유형 B는 빌더이다. 유형 B 데이터 과학자는 유형 A와 통계학적 백그라운드를 공유하지만, 이들은 매우 강력한 코더들이며 소프트웨어 엔지니어로 훈련을 받은 사람들이다. 유형 B 데이터 과학자는 주로 "프로덕션" 관점에서의 데이터에 관심이 있다. 이들은 유저들과 상호작용하는 모델을 세우고, 추천 서비스(광고, 영화, 검색결과 등)를 제공한다. 를 클릭하면 자세한 내용을 알 수 있다.

또한 비즈니스 프로세스 최적화의 ABCD에 관한 글에서 D는 데이터 과학을 의미하며, C는 컴퓨터 과학, B는 비즈니스 과학, A는 분석 과학을 뜻한다. 데이터 과학은 "저수준 데이터 과학, 고수준 데이터 과학"에서처럼 코딩이나 수학을 포함할 수도, 포함하지 않을 수도 있다. 스타트업에서 데이터 과학자들은 일반적으로 집행자, 데이터 마이너, 데이터 엔지니어 및 아키텍트, 연구자, 통계학자, 모델러(예측 모델링), 개발자 등의 다양한 역할을 감당한다. 데이터 과학자는 일반적으로 R, Python, SQL, Hadoop, 통계 등의 코딩 경험으로 묘사되지만 이것은 빙산의 일각일 뿐이며, 다만 데이터 과학의 몇가지 요소를 가르치는데 초점을 맞추는 데이터 캠프에 의해 조장된 것이다. 그러나 연구실 기술자가 스스로를 물리학자라고 부르지만, 실제 물리학자는 그 이상이며 그 전문 영역은 다음과 같이 다양한다: 천문학, 수리물리학, 핵물리학, 역학, 전기공학, 신호처리(데이터 과학의 한 분야이기도 함) 등등. 데이터 과학자도 마찬가지다: 바이오인포매틱스, 정보 기술, 시뮬레이션, 품질제어, 계산 금융학, 유행병학, 산업공학, 수 이론 등 다양하다.

나의 경우, 지난 10여년간 자동화 거래를 수행하기 위해 시스템이 자동으로 대규모 데이터를 처리하도록 하는 기계-기계, 디바이스-디바이스 통신을 전공하였다: 가령, 인터넷 트래픽 또는 자동 생성 콘텐츠 구입 등. 이것은 비정형 데이터를 다루는 알고리즘을 개발하는 것이며, AI(인공지능), IoT(사물인터넷), 데이터 과학의 교차점에 있었다. 이것이 딥 데이터 과학이라 불려진다. 이것은 상대적으로 수학에서 자유롭고 비교적 적은 코딩(대부분 API)을 포함하지만, 데이터 집중적(데이터 시스템 구축을 포함)이며 이러한 컨텍스트에 특화되어 설계된 완전히 새로운 통계 기술을 기반으로 한다.


이에 앞서, 나는 실시간으로 신용카드 사기와 관련된 업무를 하였다. 나의 초기 경력(대략 1990년 경)에서 나는 위성 이미지에서 패턴을 식별과 이미지 세크먼테이션을 수행하는 목적으로 하는 이미지 원격 센싱 기술에 대한 어부를 하였다. 그 당시 나의 연구는 전산 통계학이라는 이름이 붙여졌으나, 내가 다니는 대학에서 내 이웃인 컴퓨터 과학을 전공하는 사람들은 자신의 연구를 인공지능이라고 불렀다. 현재는 데이터 과학 또는 인공지능이라 불리워지며, 신호처리, 컴퓨터비전 또는 IoT의 하위 도메인이다.

또한 데이터 과학자들은 데이터 과학 프로젝트의 데이터 수집 단계, 데이터 탐새가 단계 등 통계학적 모델링 및 기존 시스템을 유지보수하는 라이프사이클의 어느 부분에서든 발견된다.


2. 머신러닝 vs 딥러닝

데이터 과학과 머신러닝의 연결고리를 깊이 파기 전에 간략하게 머신러닝과 딥러닝에 대해 살펴도록 하자. 머신러닝은 예측을 하거나 어떤 시스템을 최적화를 위한 액션을 취하기 위해 데이터 세트를 학습시키는 알고리즘을 통칭한다. 가령, 지도 분류 (Supervised Classification) 알고리즘은 잠재적 클라이언트들을 이력 데이터를 기반으로 분류하기 위해 사용된다. 주어진 작업(가령, 지도 클러스터링(Supervised Clustering Classification))에 대한 기술들은 다음과 같이 다양하다: 나이브 베이즈(Naive Bayes), SVM(Support Vector Machines), 신경망(Neural Network), 앙상블(Ensembles), 연관 규칙(Association Rules), 결정 트리(Decision Trees), 로지스틱 회귀(Logistic Regression), 또는 이들 간의 조합 등. 알고리즘에 대해 자세히 알고 싶다면 여기를 클릭하길 바란다. 머신러닝 문제의 목록은 여기에 소개되어 있다.

이 모든 것들은 데이터 과학의 일부이다. 자율 비행, 자율 주행 자동차 등과 같이 이러한 알고리즘들이 자동화 되면, 이것들을 인공지능이라고 부르며, 보다 명확하게는 딥러닝이라고 부른다. 이 글은 머신러닝과 딥러닝을 비교한 글이다. 만약 센서로부터 데이터가 수집되어 인터넷을 통해 전송된다면 머신러닝, 데이터 과학, 딥러닝은 IoT에 적용된다.

어떤 이들은 딥러닝에 대해 다르게 정의한다. 이들은 딥러닝을 딥 레이어(Layer)를 갖는 신경망(머신러닝 기술의 한 종류)으로 여긴다. 최근 Quora에 질문이 올라왔고 보다 자세한 설명이 아래에 소개되었다.

  • AI(인공지능)은 컴퓨터 과학의 한 분야이며 1960년대에 시작되었으며, 인간에게는 쉽지만 컴퓨터에게는 어려운 문제를 해결하는 것과 관련이 있다. 특히 소위 Strong AI는 인간이 할 수 있는 어떤 것(아마도 순수하게 피지컬한 것들은 제외)도 할 수 있는 시스템이다. 이 정의는 다소 일반적이며, 계획, 세계 일주, 사물 및 소리 인식, 말하기, 번역, 소셜 또는 비즈니스 거래 수행, 창의적인 작업(예술이나 시 쓰기) 등 모든 종류의 작업을 포함한다.
  • 자연어 처리(Natural Language Processing; NLP)는 단순히 언어와 관련된 AI의 분야이다.
  • 머신러닝(Machine Learning)은 다음의 일부와 관련이 있다: 이산 항(가령, 액션의 특정 집합 중 어느 것이 옳은지에 대한)으로 설명할 수 있는 어떤 AI 문제가 주어지거나 세상에 대한 많은 정보가 주어졌을 때 프로그래머의 도움 없이 "올바른" 행동을 이해할 수 있도록 하는 것. 일반적으로 액션이 맞는지 틀린지를 판단하는 외적 프로세스가 필요하다.  수학적인 시각에서, 이것은 함수이다: 입력이 주어지고 이에 대한 올바른 출력을 도출하여 단순히 모든 문제가 자동으로 수학 함수의 모델로 세워지는 것이다. AI와의 차이점을 설명하기 위해, 인간처럼 행동하는 매우 똑똑한 프로그램을 작성하며 이것은 AI이지만, 이것의 파라미터들이 데이터로부터 자동으로 학습되지 않는다면 이것은 머신러닝이 아닌 것이다.
  • 딥러닝(Deep Learning)은 최근 매우 인기있는 머신러닝 중 하나이다. 딥러닝은 어떤 종류의 단순 블럭(기능 구성)의 구성으로 생각할 수 있는 수학적 모델의 특정 종류라고 할 수 있으며, 이 블럭 중 일부는 최종 결과물을 더욱 잘 예측할 수 있도록 조정될 수 있다.


머신러닝과 통계학의 차이점은 무엇인가?

이 글이 이 문제에 대한 답변을 하고자 하였다. 저자는 통계학이 예측 또는 평가를 위한 정량화 된 신뢰구간을 갖는 머신러닝이라고 하였다. 나는 어떠한 수학이나 통계학적 지식을 요하지 않는 엔지니어 친화적 신뢰구간을 구축하였기에 이에 대한 생각에 동의하지는 않는다.


3. 데이터과학 vs 머신러닝

머신러닝과 통계학은 데이터 과학의 일부이다. 머신러닝에서의 "러닝"은 알고리즘이 어떤 모델이나 알고리즘 파라미터를 세밀하게 튜닝하기 위해 학습 세트로 사용되는 일부 데이터에 의존한다는 의미이다. 이것은 회귀, 나이브 베이즈, 지도 클러스터링 등과 같은 많은 기술을 포괄한다. 그러나, 모든 기술이 이 범주에 적합한 것은 아니다. 예를 들어, 비지도 클러스터링(Unsupervised Clustering) - 통계학 및 데이터 과학 기술 - 은 분류 알고리즘을 돕기 위한 어떠한 사전지식이나 학습 세트 없이도 군집(Cluster) 또는 군집 구조를 감지하는데 목적이 있다. 인간은 발견된 군집에 대한 라벨을 붙여줄 필요가 있다. 어떤 기술들은 준-지도 분류(Semi-supervised Classification) 등과 같이 융합형인 것들이 있다. 어떤 패턴 감지나 밀도 평가(Density Estimation) 기술은 이 범주에 적합하다.

데이터 과학은 머신러닝 보다 훨씬 더 넓은 개념이다. 데이터 과학에서의 데이터는 머신이나 기계의 프로세스(측량 데이터는 수작업으로 수집되며, 임상시험은 특정 유형의 작은 데이터만을 포함한다)에서 온 것일 수도 있고 아닌 것일수도 있다. 또한 데이터 과학은 러닝과 아무 관련이 없을 수도 있다. 그러나, 핵심 차이점은 데이터 과학은 데이터 처리의 모든 스펙트럼을 다루는 것이지 단지 알고리즘이나 통계학적인 면만 다루는 것은 아니다. 특히 데이터 과학은 다음 사항을 포함한다:

  • 데이터 통합
  • 분산 아키텍쳐
  • 머신러닝 자동화
  • 데이터 시각화
  • 대쉬보드 및 BI
  • 데이터 엔지니어링
  • 프로덕션 모드로 배포
  • 자동화 데이터 기반 결정

물론, 다양한 조직에서 데이터 과학자들은 이러한 프로세스 중 일부분에 집중한다. 데이터 과학에 대한 초기 글을 읽으려면 여기를 클릭한다.

Comments