2022. 2. 7. 17:54ㆍData Analysis/Machine Learning
안녕하세요.
데이터 분석하는 랩장 대학원생, 석사 3학기 고니입니다.
드디어 머신러닝 카테고리에도 첫 글을 작성하게 되었습니다. 블로그를 시작한지 거의 1년이 다 되어 가는데 이제서야 머신러닝 글을 처음으로 작성한다니 정말 반성해야겠습니다. 작년에 뭐가 그리 바빴는지...😂 다 핑계일 뿐이고 결국은 제가 게을렀던 탓입니다! 올해는 머신러닝 글도 열심히 작성하고 딥러닝 글도 이어서 쭉 작성해보려고 합니다. 그리고 작년부터 쭉 진행하고 있는 연구가 있는데 연구에 대해서도 글을 좀 작성해보려고 합니다.
이번 시간은 머신러닝에 대해 처음으로 다루는 시간인만큼 도대체 머신러닝이 무엇인지에 대해서부터 이야기를 나누어보려고 합니다. 머신러닝이라는 단어는 비전공자분들께서도 다들 한 번씩은 들어보셨을 것이라고 생각합니다. 머신러닝을 직역하면 기계학습입니다. 즉, 기계가 학습을 한다는 뜻입니다. 도대체 무엇을 학습한다는 것일까요? 이 부분에 대해서는 아래 이어지는 내용에서 말씀드리도록 하겠습니다.
머신러닝 = Machine Learning = 기계학습
머신러닝에 대해 이야기할 때마다 꼭 따라오는 단어들이 있습니다. 바로 인공지능과 딥러닝입니다. 사실 인공지능과 머신러닝, 그리고 딥러닝은 서로 완전히 다른 것이 아니라 서로가 서로를 포함하고 있는 관계입니다. 정확히 이야기하자면 인공지능 안에 머신러닝이 속해있는 것이고, 머신러닝 안에 딥러닝이 속해있는 것입니다.
"인공지능 ⊃ 머신러닝 ⊃ 딥러닝"
그럼에도 불구하고 주변에 데이터 분석 공부를 하고 있다는 사람들을 보면 아래와 같이 이야기하는 사람을 발견하기가 생각보다 굉장히 쉽습니다.
"아 나는 머신러닝은 이제 좀 알겠는데 딥러닝은 너무 어려운거 같아"
위에서 말씀드렸듯이 결국 딥러닝도 머신러닝의 일부입니다. 그렇다면 이렇게 말하는 사람들은 모두 잘못된 말을 하고 있는걸까요? 꼭 그들이 잘못되었다고 말할 수는 없습니다. 아마 그들이 말하는 머신러닝은 딥러닝을 제외한 머신러닝을 의미하는 것일겁니다. 자, 그러면 인공지능과 머신러닝, 딥러닝이 무엇을 의미하는지 하나씩 살펴보겠습니다.
# 인공지능
인공지능(Artificial Intelligence, AI)은 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술입니다. 인공지능이라는 단어는 다들 많이 접해보셨을 것이라고 생각합니다. 대표적인 예시로 로봇을 생각하시면 이해가 쉬우실 것 같습니다. 인공지능은 얼마나 사람과 유사하냐에 따라 강인공지능과 약인공지능으로 나눌 수 있습니다.
1. 강인공지능(Strong AI)
강인공지능은 인공지능이 사람과 똑같이 스스로 학습하고 행동하는 것을 의미합니다. 흔히 영화 속에서 등장하는 인공지능이 바로 강인공지능입니다. 인간이 정해놓은 규칙을 벗어나 인공지능이 능동적으로 학습을 수행하고 새로운 창조를 할 수도 있습니다. 그러나 현시점에서는 강인공지능이 구현되지 못하고 있습니다. 영화 속 로봇처럼 스스로 학습하고 의사결정을 내리고 행동하는 수준의 인공지능은 아직까지는 현실에 존재하지 않습니다. 즉, 우리가 일상 생활에서 접하고 있는 다양한 인공지능 기술들은 모두 약인공지능의 대표적인 사례입니다.
2. 약인공지능(Weak AI)
약인공지능은 특정 분야에서 사람의 일을 도와주는 보조 역할을 합니다. 예를 들면 음성 비서, 자율 주행 자동차, 음악 추천 시스템, 번역 등이 있습니다. 알파고도 약인공지능의 예시 중 하나입니다. 사람이 데이터와 알고리즘을 입력하고, 인공지능은 정해진 규칙에 따라 움직입니다. 규칙을 벗어난 새로운 창조는 불가능합니다. 사람이 "이렇게 생긴 것이 자동차야"라고 인공지능에게 알려주면 주어진 사진 속에서 자동차가 어디에 있는지를 찾아낼 수는 있지만, 사람이 알려주지 않은 다른 정보에 대해서는 어떠한 행동도 하지 못합니다.
# 머신러닝
머신러닝(Machine Learning, ML)은 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술입니다. 마치 사람이 지식을 학습하는 것처럼 컴퓨터에게 데이터를 제공하여 학습하게 합니다. 인공지능에게 더 많은 데이터를 학습시킬수록 더 좋은 결과를 얻어낼 수 있습니다. 어떤 말인지 잘 이해가 안되신다고요? 간단한 예시를 살펴보겠습니다!
예를 들어 제가 지금까지 받아온 수만 통의 이메일 중 백 통의 이메일이 스팸 메일이었다고 가정해봅시다. 지금부터 인공지능에게 제가 받은 수만 통의 이메일을 모두 알려줄 것입니다. 단, 이때 수만 통의 이메일 중 어떤 이메일들이 스팸 메일인지도 알려줍시다. 자 이제 끝났습니다. 이제 인공지능은 제가 알려준 수만 통의 이메일로부터 스팸 이메일들이 가진 공통적인 특징을 파악할 것입니다. 그리고 제가 새로운 이메일을 건내주면 그 이메일이 스팸 메일인지 아닌지를 스스로 구분해낼 것입니다.
이처럼 머신러닝은 인공지능이 수많은 데이터를 통해 알맞은 규칙을 스스로 찾아내도록 합니다. 이러한 규칙을 이용해 머신러닝은 사람들이 좋아하는 영상이나 상품을 추천해 주는 등의 다양한 분야에서도 사용되고 있습니다. 머신러닝 기법으로 어떤 것들이 있는지는 앞으로 이어질 포스팅들에서 하나씩 다뤄보도록 하겠습니다. 의사결정나무, 로지스틱 회귀분석, 군집분석 등 정말 다양합니다!
# 딥러닝
딥러닝(Deep Learning, DL)은 머신러닝의 한 종류로, 한 문장으로 표현하면 다음과 같습니다.
"여러 층을 가진 인공신경망(Artificial Neural Network, ANN)을 사용하여
기계를 학습시키는 일종의 머신러닝"
딥러닝에서 가장 기본이 되는 개념은 인공신경망(Artificial Neural Network, ANN)입니다. 인공신경망은 머신러닝 기법 중 하나입니다. 인공신경망에 대한 자세한 이야기는 본 블로그의 Data Analysis - Deep Learning에서 다루도록 하겠습니다. 이번 포스팅에서는 인공신경망이 어떻게 생긴 것인지에 그 구조에 대해서만 간단히 소개해드리는 시간을 가지려고 합니다.
인공신경망은 위의 그림과 같이 학습하고자 하는 데이터를 입력받는 입력층(Input Layer), 결과를 출력하는 출력층(Output Layer), 그리고 그 사이에 위치한 은닉층(Hidden Layer)으로 구성되어 있습니다. 이 은닉층은 인공신경망 내부에 1개의 층만 존재할 수도 있고 2개 이상의 층이 존재할 수도 있습니다. 인공신경망은 은닉층의 개수에 따라 다음과 같이 분류될 수 있습니다.
위 표에서 심층신경망 즉, 2개 이상의 은닉층으로 구성된 인공신경망을 깊은 신경망(Deep Neural Network, DNN)이라고 부르며, 이를 활용한 머신러닝 학습이 바로 딥러닝입니다. 정리하면, 딥러닝은 머신러닝 기법 중 하나인 인공신경망 중에 은닉층이 2개 이상으로 구성된 인공신경망을 사용하는 기법을 의미합니다. 그렇기 때문에 딥러닝은 결국 머신러닝의 일부인 것입니다.
'Data Analysis > Machine Learning' 카테고리의 다른 글
의사결정나무(Decision Tree) (0) | 2022.02.24 |
---|---|
Over-Sampling & Under-Sampling & SMOTE (0) | 2022.02.09 |
분류 vs 예측 (2) | 2022.02.09 |
지도학습 vs 비지도학습 (0) | 2022.02.08 |