해당글은 : http://www.zdnet.co.kr/news/news_view.asp?artice_id=20170807140504 에서 작성되었습니다.
지난해 '알파고 쇼크'이후 인공지능(AI)에 대한 관심이 커진 가운데,
자주 언급되는 AI 관련 용어가 바로 '기계학습(머신러닝)' 과 '심층학습(딥러닝)'이다.
하지만 머신러닝과 딥러닝의 차이를 잘 모르거나, 혼동하는 사람이 적지 않다.
이에 두 기술 용어의 차이를 공학용 소프트웨어 'MATLAB'의 개발원인
매스웍스가 쉽게 해설한 유트브 동영상이 관심을 모으고 있다.
머신러닝이나 딥러닝 모두 학습 모델을 제공해 데이터를 분류하는 데 사용되는 기술이다.
그 기능을 설명하는 데 있어 자주 사용되는 것이 개와 고양이 이미지를 분류하는 예시인데,
매스웍스가 공개한 동영상에서도 이 같은 방법을 들어 머신러닝과 딥러닝을 설명한다.
사람이 개와 고양이 이미지를 봤을 때 판별할 수 있는 것은 해당 이미지를 뇌에서 분석하고 특징을 확정지은 뒤,
지식과 경험에 따라 판단하는 능력이 갖춰져 있기 때문이다.
이 같은 일을 컴퓨터로 처리하는 것이 머신러닝과 딥러닝의 목적이다.
하지만 둘 사이에는 접근의 차이가 존재한다.
머신러닝의 경우 주어진 소재를 우선 인간이 먼저 처리한다.
이미지의 경우 사람이 트레이닝 데이터를 알맞게 분류하는 등 컴퓨터가 인식할 수 있도록 해야 한다.
그 다음 컴퓨터가 데이터에 포함된 특징을 분석하고 축적하는 과정을 거친다.
마지막으로 컴퓨터가 축적된 데이터를 바탕으로 이미지의 특징을 종합해 답을 이끌어 내는 것이 머신러닝이다.
물체를 인식할 때나 정경을 인식해 물체를 검출할 때 머신러닝 기술을 사용할 수 있다.
즉 기계학습의 흐름을 보면 각 그림의 특징을 기계(컴퓨터)에 인식시키고 학습시킴으로써 문제를 해결하는 것이다.
딥러닝의 경우 인간이 하던 작업이 생략된다.
바탕이 되는 데이터를 그대로 주고, 딥러닝 알고리즘이 회선 신경망(Convolutional Neural Network, CNN)을
이용해 스스로 분석한 후 답을 내는 방식이 딥러닝이다.
CNN은 이미지를 이해하고 이로부터 높은 수준의 추상화된 정보를 추출하거나,
새로운 질갑을 가진 그림을 그리는 등 다양한 영상처리, 컴퓨터 비전 분야에서 많이 연구되고 있는 인공신경망의 한 종류.
여기서 알아야 할 점은 딥러닝은 넓은 의미에서 머신러닝 개념에 포함된다는 것이다.
그렇다면 머신러닝과 딥러닝은 어떻게 다른게 사용될까?
딥러닝은 방대한 양의 데이터에 대한 계산 처리를 위해 연산 능력이 높은 GPU등의 하드웨어가 필요하다.
따라서 하드웨어 영향이 있고 데이터양이 많은 경우에는 딥러닝을, 그렇지 않은 경우에는 머신러닝을 채용하는 것이 좋다.
머신러닝을 선택한 경우 학습 시킬 때 수 많은 등급, 분류를 사용할 수 있다는 옵션이 있다.
또 최적의 답을 도출하기 위해 어떤 특징을 이용하거나 하는 등의 선택을 할 수도 있다.
머신러닝의 경우 목적에 따라 접근 방식을 달리 선택할 수 있는 장점도 있다.
(이러한 머신러닝의 장점이 독이 될 수도 있다.
제공 되는 데이터의 성향에 따라, 특정 방식으로 또는 그 의도된 목적만 고수하게 되는 프로그램으로
편향되는 경우가 있기 때문에, 룰에 대하여 어느 정도 선을 지킬 필요는 있다.)
머신러닝의 경우는 자신의 연구를 포함시킬 여지가 남아 있고 처리 시간이 짧은 반면,
딥러닝은 이용자의 많은 지식과 노력 없이도 높은 정밀도를 얻을 수 있는 특징이 있다.
그러나 딥러닝의 경우 높은 시스템 성능이 요구되고 처리 시간이 오래 걸린다는 단점이 있다.
또 딥러닝을 높은 정밀도로 학습하기 위해서는 방대한 데이터가 필요할 뿐만 아니라,
내부의 알고리즘을 인간이 이해할 수 없기 때문에 오류수정(디버깅)이 사실상 불가능 하다.
즉 머신러닝과 딥러닝은 엄격하게 같은 머신러닝에 포함돼 있는 것이며
그 부분은 처리하는 데이터의 양, 하드웨어 성능,
그리고 구하고 싶은 결과의 내용에 따라 선택해야 하는 것이다.(▶관련 동영상 보기)
'Data > Python' 카테고리의 다른 글
Homebrew(홈브류) 설치 및 사용법, MacOS에서 프로그램을 쉽게 다운로드 및 삭제할 수 있는 패키지 관리자 (0) | 2019.04.09 |
---|---|
파이썬 코딩 컨벤션 (0) | 2019.04.08 |
[Anaconda] 아나콘다 설치 및 사용법 for 맥 & 윈도우 (0) | 2018.09.27 |
Machine Learning #6 Pandas Dataframe (0) | 2018.09.20 |
Machine Learning #5 Matplotlib (0) | 2018.09.20 |