머신러닝이란 무엇인가요?

AI-CX 개념허브

테나 • 조혜리/콘텐츠 마케터

10월 15일

  • AI
  • 머신러닝
  • 개념허브

챗GPT 이후, 모두가 AI를 이야기하고 있습니다.

비즈니스 현장에서도, 개인적인 용도로도 생성형 AI 툴을 활용하는 일이 흔하고 자연스러워지고 있죠. 하지만 AI와 머신러닝, 딥러닝, LLM 같은 개념들, 많이는 언급되는데, 쉽고도 정확하게 설명하는 콘텐츠는 많지 않은 것 같아요. 채널톡 콘텐츠팀도 AI가 항상 낯설고 어려운데요. 그래서 시작합니다.

CX 업계에서 이해하면 좋을 AI 개념들을 쉽게 풀어 소개한 '개념 허브' 시리즈!

두 번째는 바로 '머신러닝'입니다.

머신러닝(Machine Learning, ML)이란?

머신러닝은 AI를 구현하기 위한 방법 중 하나로 오랫동안 연구되어 온 분야입니다. 단어를 직역하면 ‘기계 학습’이라는 뜻으로, 컴퓨터가 스스로 데이터를 학습하도록 한다는 뜻인데요. 1959년 아서 사무엘은 머신러닝을 ‘명시적으로 프로그램을 작성하지 않고도 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야’라고 정의했습니다. [1]

보다 최근의 정의는 1998년 톰 미첼이 ‘만약 어떤 작업 T에서 경험 E를 통해 성능 측정 방법인 P로 측정했을 때 성능이 향상된다면, 이런 컴퓨터 프로그램은 학습을 한다고 말한다’고 설명한 것입니다. 참고로 톰 미첼은 카네기 멜론 대학의 교수로, '머신러닝'이라는 저서를 쓴 머신러닝의 대가입니다. [2]

물론 AI 연구 초창기에는 사람이 일일이 수많은 규칙을 컴퓨터에게 알려주는 방식도 시도되었습니다. 흔히 이렇게 만들어진 AI를 '규칙 기반 AI'라고 부르는데요. 당연히 가능하기만 하다면 사람이 일일이 방식을 알려주는 것보다는 컴퓨터가 알아서 학습할 수 있도록 하는 방식이 효율적이고 잠재력도 큽니다.

하지만 머신러닝 분야는 오랜 기간 큰 성과를 내지 못했는데요. 이는 머신러닝 방식으로 제대로 된 성과가 나오려면 막대한 데이터와 컴퓨팅 파워가 뒷받침되어야 했기 때문입니다. 때문에 한때는 머신러닝에 대한 실망감이 매우 컸고, '머신러닝'이라는 이름을 내세우면 연구 지원을 받지 못할 정도였다고 합니다. [3] 하지만 머신러닝 연구를 포기하지 않은 학자들의 연구가 계속 이어지고 컴퓨팅 파워의 발전이 뒷받침된 결과, 지금은 머신러닝이 AI의 엄연한 주류가 되었습니다. 현재 주목받는 AI 분야의 주요 성과들은 모두 머신러닝이라는 큰 가지 아래에서 나온 것들이죠.

예를 들어 y=ax+b와 같은 방정식이 있다면, x라는 데이터가 입력될 때 y라는 정답을 계산해 줄 수 있는 조건 a와 b를 컴퓨터가 찾을 수 있도록 학습시키는 것을 머신러닝이라고 할 수 있는데요. 학습 방법에 따라 여러 종류로 나누어 볼 수 있습니다. 대부분의 AI 관련 자료들이 머신러닝의 학습 방법으로 ‘지도 학습’, ‘비지도 학습’, ‘강화 학습’ 세 가지를 소개하고 있는데요, 사실 이제는 세 가지 방식 외에도 수많은 변주 형식들이 존재합니다.

이 글에서는 지도 학습, 비지도 학습, 강화 학습의 세 가지 방식에다 비지도 학습의 일종인 ‘자기지도 학습’, 그리고 지도 학습과 비지도 학습을 혼합한 형태인 ‘준지도 학습’, LLM이 등장한 이후 중요해진 개념인 ‘인 컨텍스트 학습’까지 추가해 설명해 보겠습니다.

머신러닝의 학습 방식 종류

1. 지도 학습(supervised learning)

‘지도 학습’은 데이터와 정답(레이블)을 모두 제공하는 머신러닝 방법입니다. AI에게 수많은 입력-출력 쌍을 관측시켜 특정 입력에서 특정 출력을 내보내는 함수를 학습하게 하는 것인데요. 인간이 직접 ‘문제’에 정답을 제공하기 때문에 특히 분류, 예측 유형의 문제를 해결하는 데에 유용합니다. [4]

(출처: Supervised Machine Learning)

분류(classification)는 학습 데이터에 정답을 지정하여 정답에 따라 그룹을 나누는 방법입니다. 스팸 메일 분류 시스템을 예로 들 수 있는데요. AI는 수많은 메일을 ‘정상 메일’과 ‘스팸 메일’로 분류하고, 메일에 포함된 단어들의 ‘스팸성’을 측정하여 스팸 메일의 특징을 학습합니다. 그 결과 새로 수신한 메일이 스팸 메일인지 ‘분류’할 수 있게 됩니다.

예측(회귀, regression)은 수많은 입력-출력 쌍 데이터를 학습시켜서 새로운 입력값에 대해 합리적인 출력 값이 나올 수 있도록 하는 방법입니다. 예를 들어 공부 시간에 따른 학업 성취도 예측, 주행 거리에 따른 택시 요금 예측처럼 데이터가 연속된 숫자로 이루어져 있을 경우 그 결과값을 예측하는 것이 가능하겠죠.

지도 학습은 2010년대까지만 해도 AI의 지배적인 패러다임이었습니다. 초기의 자율 주행 차량이나 음성 비서도 지도 학습 기반으로 탄생한 AI 서비스들이니까요. 하지만 지도 학습을 하려면 데이터에 일일이 레이블이 붙어야 한다는 점이 문제였습니다. 모든 데이터가 정제되어 있는 건 아니니까요.

아래는 지도 학습 알고리즘의 예시입니다.

(1) 분류

  • K-최근접 이웃(K-nearest Neighbors): 입력 데이터와 가장 가까운 k개의 데이터를 찾아 분류합니다.

  • 서포트 벡터 머신(SVM, Support Vector Machine): 데이터를 분류하기 위해 최적의 경계를 찾는 알고리즘입니다.

  • 결정 트리(Decision Tree), 랜덤 포레스트(Random Forest): 데이터의 특징을 기반으로 트리 구조를 생성하여 분류합니다.

(2) 예측

  • 선형 회귀(Linear Regression): 입력 변수와 출력 변수 사이의 선형 관계를 모델링합니다.

  • 로지스틱 회귀(Logistic Regression): 출력 변수가 이진 분류일 때 사용되는 회귀 분석 기법입니다.

2-1. 비지도 학습(unsupervised learning)

세상에는 정답이 없는 데이터도 있습니다. 이런 데이터에 대해서는 주어진 데이터에 대해 정답을 제공하지 않고 학습시키는 비지도 학습이라는 방법을 사용합니다. AI가 데이터 안에서 패턴을 찾아내 비슷한 유형끼리 묶도록 하는 것이죠. 당연히 지도 학습에 비해서는 훨씬 구현하기 어렵습니다.

(출처: Clustering in Machine Learning)

AI가 비지도 학습을 통해 나름의 기준을 찾아서 데이터를 여러 개의 그룹으로 묶는 것을 ‘군집화(clustering)’라고 부릅니다. 이는 사람이 데이터에 명확한 정답을 달아 주기 어려운 분야에 적합한데요. 비슷한 특징을 가진 사진끼리 그룹화하여 보여주는 사진 관리 애플리케이션의 기능, 마케팅 분석, 천문학 데이터 분석 등에 쓰이고 있습니다. 아래는 비지도 학습의 예시입니다. [4]

(1) 군집화(Clustering)

  • K-평균(K-means): 데이터를 k개의 군집으로 나누고 각 군집의 중심점을 기준으로 데이터를 할당합니다.

  • DBSCAN(Density-Based Spatial Clustering of Applications with Noise): 밀도 기반 군집화 알고리즘으로, 밀도가 높은 부분을 군집으로 묶고, 노이즈 포인트를 분리합니다.

(2) 시각화(Visualization)와 차원 축소(Dimensionality Reduction)

  • 주성분 분석(PCA, Principal Component Analysis): 고차원 데이터를 저차원으로 변환하여 데이터의 주요 특징을 추출합니다.

  • t-SNE(t-distributed Stochastic Neighbor Embedding): 고차원 데이터를 시각화하기 위해 저차원으로 변환하는 방법입니다.

(3) 연관 규칙 학습(Association Rule Learning)

  • 어프라이어리(Apriori): 데이터 간의 연관 규칙을 발견하는 알고리즘입니다.

(4) 생성 모델(Generative Models)

  • 오토인코더(Autoencoder): 입력 데이터를 압축하고 복원하여 특징을 학습하는 신경망입니다.

  • GAN(Generative Adversarial Network): 생성자와 판별자가 경쟁하면서 데이터를 생성하는 모델입니다.

2-2. 자기 지도 학습 (self-supervised learning)

‘자기 지도 학습’은 비지도 학습의 일종입니다. 자기 지도 학습은 레이블(정답)이 없는 데이터로부터 학습한다는 점에서 비지도 학습과 비슷한 데가 있는데요. 비지도 학습이 데이터에 대한 레이블이나 목표 없이 ‘군집화’와 같은 기법으로 데이터를 이해하려 하는 반면, 자기 지도 학습은 데이터 자체로부터 레이블을 생성하여 이를 이용해 학습합니다. 라벨이 없는 대규모 데이터를 활용해 모델을 학습시키는 데 유용하겠죠.

(출처: Self-Supervised Learning(SSL))

자기 지도 학습이라는 개념과 용어는 딥러닝 분야의 거물 연구자인 ‘얀 르쿤’이 2019년 쓰기 시작하면서 많이 퍼졌는데요. [5] 그렇다고 해서 2019년에야 등장한 개념은 아니고, 업계에서는 2007년의 한 논문에서 유래한 것으로 보고 있습니다. [6]

구글의 BERT 모델, 오픈AI의 GPT 시리즈가 이 유형에 속합니다.

3. 강화 학습(reinforcement learning, RL)

‘강화 학습’은 지도 학습이나 비지도 학습과는 매우 다릅니다. 쉽게 말해 AI가 잘하면 보상을 주면서 AI 스스로 더 많은 보상을 받기 위한 방법을 학습하도록 하는 방법인데요. 학습하는 시스템인 ‘에이전트(agent)’가 주어진 환경(environment)을 관찰해 행동(action)을 실행하고 이로부터 보상(reward)를 받으며 학습을 진행하고요. 에이전트는 시간이 흐름에 따라 가장 큰 보상을 얻기 위해 정책(policy)라고 부르는 최상의 전략을 스스로 학습합니다.

(출처: Reinforcement Learning: An Introduction)

대표적인 예시로는 2016년 이세돌을 이겨 전 세계를 충격에 빠뜨린 딥마인드의 ‘알파고’를 들 수 있습니다.

(출처: AlphaGo’s ultimate challenge)

알파고는 프로 바둑 기사들의 기보를 학습해 스스로 게임을 했습니다. 이길 경우 양의 보상을, 질 경우 음의 보상을 주었고요. 보상을 더 받는 방향으로 알고리즘의 ‘가중치’를 수정했죠. 알파고를 만든 딥마인드에서 발표한 논문에 따르면, 딥마인드에서는 강화학습을 통해 전통적 게임을 하는 프로그램을 49개 만들어 테스트했으며 이 중 29개에서 사람보다 높은 점수를 얻었습니다. [7] [8]

이 중에서도 딥마인드의 AI가 벽돌깨기 게임(Breakout)을 깨는 영상은 꽤 유명합니다. 아래에 링크된 유튜브 영상인데요. AI가 처음에는 게임을 잘 하지 못하지만, 게임을 600회 한 이후로는 벽의 한 곳을 집중적으로 뚫어서 공을 위쪽의 빈 공간으로 올리면 된다는 것을 파악하고 게임을 클리어해내는 것을 볼 수 있습니다.

대표적인 강화 학습 알고리즘은 다음과 같습니다. 모두 딥마인드에서 만든 알고리즘들입니다.

  • Deep-Q-Network(DQN): Q-Learning을 딥러닝과 결합하여 복잡한 환경에서도 학습할 수 있게 한 알고리즘입니다.

  • A3C (Asynchronous Advantage Actor-Critic): 여러 에이전트가 동시에 학습하여 더 빠르고 효율적인 학습을 가능하게 한 알고리즘입니다.

4. 준 지도 학습 (semi-supervised learning)

‘준 지도 학습’은 지도 학습과 비지도 학습을 섞은 방식입니다. 정답이 달려 있는 데이터와 정답이 달려 있지 않은 데이터를 함께 사용하는 것이라고 이해하면 되는데요. 한 쪽 데이터의 추가 정보를 활용해 다른 데이터의 학습 성능까지 높이는 것을 목표로 합니다. 준 지도 학습 역시 데이터 레이블링의 한계 때문에 등장한 방식 중 하나라고 볼 수 있습니다. [9] [10]

(출처: Semi-supervised learning 방법론 소개)

준 지도 학습의 예시로는 다음과 같은 알고리즘이 있습니다.

  • 라벨 전파(Label Propagation): 레이블이 있는 데이터의 정보를 레이블이 없는 데이터에 전달하여 학습합니다.

  • 라벨 스프레딩(Label Spreading): 라벨 전파와 유사하지만, 더 유연하게 레이블을 전달합니다.

5. 인 컨텍스트 러닝 (in-context learning, ICL)

한국에서는 ‘문맥 내 학습’, ‘문맥 학습’ 등으로 쓰이는 것 같지만 아직 주류 번역어라고 할 만한 것은 없는 것 같기에 ‘인 컨텍스트 러닝’을 사용하도록 하겠습니다.

챗GPT가 유명해지면서 AI가 좋은 답변을 내놓을 수 있도록 유도하는 ‘프롬프트’의 중요성도 알려지고 있죠. 인 컨텍스트 러닝은 사용자가 프롬프트를 입력했을 때, AI 모델이 이 프롬프트를 통해 제공된 문맥이나 예시를 이해하고, 이를 기반으로 새로운 정보를 생성하거나 문제를 해결하는 방식을 말합니다.

따라서 위에서 설명한 다른 머신러닝 학습 방법과는 엄밀히 말하면 조금 다릅니다. 모델이 새로운 데이터를 학습하는 게 아니라, 주어진 문맥(context) 내에서 이미 학습된 내용을 기반으로 질문에 답하거나 작업을 수행하는 방법이기 때문입니다. [11] [12]

(출처: A Survey on In-context Learning)

위의 이미지는 한 논문에서 인 컨텍스트 러닝의 과정을 표현한 그림입니다. 음식이 맛있다(Delicious), 끔찍하다(awful) 등 감상을 표현한 예제 문장들을 기반으로 다음 작업이 수행된 것을 볼 수 있는데요. 해당 논문에서는 인 컨텍스트 러닝의 핵심은 '유추(analogy)'에서 배우는 것이라고 서술하고 있습니다. [11]

앞으로 AI 기술의 접근성은 더욱 높아질 것이기 때문에, 대규모 데이터를 바로 다루지 않고 몇 개의 프롬프트만으로 쉽게 AI를 다룰 수 있는 인 컨텍스트 러닝은 앞으로 더욱 중요해질 개념이라고 할 수 있습니다.

머신러닝과 딥러닝은 어떤 관계인가요?

머신러닝에도 여러 가지 방법론이 있습니다. 그중 하나가 바로 인공 신경망입니다. 사람의 뇌 구조를 따라하면 사람의 지능을 따라할 수 있을 것이라는 발상에서 시작된 분야였죠. 하지만 당연히 과거의 기술력과 인프라로는 구현하는 데에 어려움이 많았고, 현실적으로는 그리 좋은 성능을 보이지 못했습니다. 특히 인공 신경망 개념인 '퍼셉트론'의 한계가 지적된 사건은 제1차 인공지능 겨울을 불러왔다고 평가될 정도입니다.

하지만 인공 신경망 분야를 꾸준히 연구해 온 학자들이 존재했습니다. 특히 제프리 힌튼이라는 연구자는 그간 인공 신경망의 한계로 여겨졌던 여러 문제들을 해결해 성과를 보였습니다. 그 결과 탄생한 머신러닝의 새로운 방법론을 딥러닝이라고 부릅니다. 딥러닝은 머신러닝을 구현하기 위한 여러 방법론 중에서도 인공 신경망 분야에 속해 있는 거죠.

딥러닝의 등장은 머신러닝 자체의 부흥기를 불러왔다고 평가받습니다. 특히나 LLM이 등장하면서 딥러닝은 단순히 AI의 여러 방법론 중 하나가 아니라 가장 주류이자 기본인 개념이 되어 가고 있는데요. 딥러닝에 대해 더 자세히 알고 싶다면 개념 허브 '딥러닝이란 무엇인가요?' 편을 읽어 주세요?


레퍼런스

[1] 앨런 튜링, 곽재식 해제, 노승영 역, "지능에 관하여", 에이치비프레스, 2019.

[2] 스튜어트 러셀 and 피터 노빅, "인공지능 1: 현대적 접근방식," 류광 역, 제4판, 서울: 제이펍, 2021.

[3] 마쓰오 유타카, "인공지능과 딥러닝: 인공지능이 불러올 산업 구조의 변화와 혁신", 동아엠앤비, 2015.

[4] 이철현 et al., "고등학교 인공지능 기초," 미래엔, 국배변형판, 2015.

[5] Y. LeCun, Facebook, Apr. 30, 2019.

[6] R. Raina et al, "Self-taught learning: transfer learning from unlabeled data" in ICML '07: Proceedings of the 24th international conference on Machine learning, New York, NY, USA, Jun. 2007, pp. 759-766.

[7] V. Mnih et al, "Human-level control through deep reinforcement learning", Nature, vol. 518, pp. 529-533, Feb. 2015.

[8] D. Silver et al., "Deep reinforcement learning", DeepMind Blog, Jun. 17, 2016.

[9] ESTsoft A.I. PLUS Lab, "Semi-supervised learning 방법론 소개" EST AI Blog, Nov. 9, 2020.

[10] J. E. van Engelen and H. H. Hoos, "A survey on semi-supervised learning" Machine Learning, vol. 109, pp. 373-440, Nov. 2019.

[11] Q. Dong et al., "A Survey on In-context Learning" arXiv, vol. 2301.00234, Dec. 2022, revised Jun. 2024.

[12] T. Brown et al., "Language Models are Few-Shot Learners" in Advances in Neural Information Processing Systems 33 (NeurIPS 2020), 2020.

게시일: 2024년 7월 28일

사이트에 무료로 채널톡을 붙이세요.

써보면서 이해하는게 가장 빠릅니다

회사 이메일을 입력해주세요