#인공지능 

머신러닝(Machine Learning) 이란

머신러닝이란 무엇인지? 인공지능, 딥러닝과는 어떤 관계에 있는지? 머신러닝의 3가지 학습방법(지도, 비지도, 강화 학습)에 대해 이해하고 머신러닝 사례 및 장점과 단점은 어떤 것들이 있는지 알아보겠습니다.

2022-09-21 | 박성돈

머신러닝 이란?

“머신러닝”이란 무엇일까요? 어떤 의미와 개념을 담고 있기에 머신러닝이라 표현했을까요? 궁금증이 생깁니다. 직역을 해보면 “기계가 배운다”라는 의미로 해석되는데요. 기계가 무엇을? 어떻게? 배울 수 있을까요? 또한 배운 것을 어디에? 어떻게? 사용할 수 있을지? 등등 차근차근 알아보겠습니다.

과거에는 인공지능을 개발할 때 해당 분야의 전문가들이 만든 많은 양의 샘플들을 데이터 베이스화 하여 자료들을 일일이 수작업으로 컴퓨터에 직접 등록하는 방법을 사용했습니다. 하지만 이런 방법은 대부분의 작업이 사람의 손을 거쳐야 하므로 필연적으로 많은 시간과 노력, 비용이 발생하게 됩니다.

또한, 시대가 발전함에 따라 사람조차 명확하게 구분할 수 없는 지식(no explicit knowledge)을 구현해야 하거나, 사람이 일일이 구현하기에는 너무 많은 양의 규칙들이 필요한 경우가 생겨나기 시작합니다.

이러한 경우에 사용할 수 있도록 고안된 방법이 머신러닝(Machine Learning)입니다.

머신러닝과 인공지능(Artificial Intelligence, AI)

머신러닝을 이해하려면 인공지능부터 시작해야 할 것 같습니다. 인공지능(AI)은 학습, 문제 해결, 패턴 인식 등과 같이 주로 인간 지능과 연결된 인지 문제를 해결하는 데 주력하는 컴퓨터 공학 분야입니다. 보통 AI로 줄여서 부르는 인공 지능은 로봇 공학이나 미래의 모습을 내포하고 있을 수도 있지만, AI는 공상 과학 소설에 나오는 작은 로봇을 넘어 첨단 컴퓨터 공학의 현실이 되고 있습니다.

1956년 미국 다트머스 대학에서 열린 회의에서 존 매카시는 처음으로 인공지능(AI)이란 용어를 언급하며 “기계를 인간 행동의 지식에서와 같이 행동하게 만드는 것”이라고 정의 내렸습니다.

또한, 영국의 수학자인 앨런 튜링은 컴퓨터가 사람처럼 생각할 수 있다는 견해를 제시하며, 대화를 나누어 상대방이 컴퓨터인지 사람인지를 구별할 수 없다면 그 컴퓨터는 사고할 수 있는 것으로 간주해야 한다고 주장했습니다. 이 이론은 지금까지 인공지능 분야의 기반이 되었으며, 튜링 테스트(Turing Test)라는 이름으로 인공지능을 판별하는 기준으로 활용되고 있습니다.

인공지능

머신러닝은 인공지능의 세부 하위 집합입니다. 대부분 인공지능(AI), 머신러닝(Machine Learning), 딥러닝(Deep Learning)을 비슷한 내용으로 이해하고 있습니다. 하지만 인공지능은 가장 넓은 개념이며, 인공지능을 구현하는 대표적인 방법 중 하나가 바로 머신러닝입니다. 또한 딥러닝머신러닝의 여러 방법 중 하나의 방법론으로 인공신경망(Artificial Neural Network)의 한 종류입니다.

▶ 인공지능 ⊃ 머신러닝 ⊃ 딥러닝 ◀

인공지능-머신러닝-딥러닝

[출처 : https://live.lge.co.kr/live_with_ai_01/]

머신러닝(Machine Learning)의 개념

머신러닝은 컴퓨터를 인간처럼 학습시킴으로써 컴퓨터가 새로운 규칙을 생성할 수 있지 않을까 하는 시도에서 시작되어 컴퓨터가 스스로 학습할 수 있도록 도와주는 알고리즘이나 기술을 개발하는 분야를 말합니다.

일반적으로 머신러닝이란 알고리즘을 이용하여 데이터를 분석하고, 분석 결과를 스스로 학습한 후, 이를 기반으로 어떠한 판단이나 예측을 하는 것을 의미합니다. 따라서 머신러닝에서는 양질의 데이터가 매우 중요한 역할을 하며, 양질의 데이터를 많이 보유할수록 보다 높은 성능을 이끌어낼 수 있게 됩니다. 이러한 양질의 데이터를 얻기 위해 데이터 분석 과정 중에 데이터 정제 과정을 거칩니다.

머신러닝(Machine Learning)은 2000년대에 들어서 시작된 인공지능을 구현하는 방법의 하나로 빅데이터를 스스로 분석하고, 그 내용을 바탕으로 결론을 도출하는 기술입니다. 여기서 빅데이터란, 기존 데이터베이스 관리도구의 능력을 넘어서는 대량(수십 테라 ~ 페타바이트)의 정형 또는 비정형의 데이터를 뜻합니다. 기술 향상으로 컴퓨터 시스템이 꾸준히 발전하면서 시스템을 개발, 운영하는 과정에서 수많은 데이터들이 쌓이기 시작했습니다. 인공지능 개발자들은 이 속에서 전문가와 같은 고급 지식이 아니더라도, 데이터로부터 사람 수준의 간단한 지능을 구현할 방법을 고민하게 되었고, 데이터에 사람이 생각하는 정답(label)을 매겨서 계산하고, 사람의 생각과 차이가 나는 오류를 줄여가는 방법으로 수정하고, 이러한 과정을 반복함으로써 사람의 생각과 유사하게 만들 수 있을 것이라는 방법을 생각했습니다.

이러한 과정을 학습(training)이라고 부르고, 학습 결과로 얻어진 지능을 실제 응용에 적용하는 이 기술을 바로 “머신러닝(Machine Learning)”이라고 부릅니다.

머신러닝의 2단계 방법

1단계 – 사람이 정답을 판단하기 위해서 봤던 트레이닝 데이터의 특징들을 추출

2단계 – 다양한 특징들을 기반으로 판단

머신러닝

[출처 : https://live.lge.co.kr/live_with_ai_01/]

예를 들어, 고양이를 판단하는 경우에 1단계에서 얼굴 모양, 다리/눈의 개수, 눈/코/입의 구조, 귀의 모양 등의 특징을 추출하고 나서, 2단계에서 얼굴의 둥근 모양, 다리가 4개, 눈이 2개, 눈/코/입/귀 삼각형 모양 등의 특징을 기준으로 “고양이”라고 판단하는 것입니다.

머신러닝의 학습 방법

인지과학 분야에서 사람의 학습을 몇 가지 방법으로 구분하고 있습니다. 머신러닝에서도 이러한 방법론을 적용하여 크게 3가지 학습 방법으로 구분해서 이야기하고 있습니다.

머신러닝

[출처 : https://live.lge.co.kr/live_with_ai_01/]

지도 학습(Supervised Learning)

  • 입력 값과 함께 결과 값(정답 레이블)을 같이 주고 학습을 시키는 방법
  • 예를 들면, 정답을 알고 있는 엄마가 아이에게 말을 가르치는 것처럼, 정답을 기반으로 오류를 줄여서 학습하는 방법 즉, 반복 학습을 통해 오류를 줄여가면서 점차 정답에 가까워지는 방법
  • 대표적인 알고리즘 – 분류(Classification), 회귀(Regression)
    • 분류(Classfifcation)
      데이터가 범주형 변수를 예측하기 위해 사용될 때
      이미지에 강아지나 고양이와 같은 레이블을 할당하는 경우에 해당

      • 이진 분류(Binary Classification) : 레이블이 두 개인 경우
      • 다중 클래스 분류(Multi-Class Classification) : 범주가 두 개 이상인 경우
      • 활용 사례
        • 스팸 필터 – 여러가지 메일과 발송 기관 등을 샘플로 훈련하여 스팸메일인지 아닌지를 분류
    • 회귀(Regression)
      연속 값을 예측할 때
      트레이닝 데이터를 이용하여 연속적인 값을 예측하는 것

      • 활용 사례
        • 중고차 가격 예측 – 대량의 중고차 판매 데이터에서 주행거리, 연식, 브랜드 등을 사용하여 중고차 가격 예측

비지도 학습(Unsupervised Learnging)

  • 지도 학습과 달리 정답을 알려주지 않고 예측하는 방법
  • 정답을 모르더라도 유사한 것들과 서로 다른 것들을 구분해서 군집을 만들 수 있는 학습 방법
  • 예를 들면, 아이가 자라면서 처음 보는 장난감도 엄마의 화장품이나 맛있는 음식과 다르다는 것을 구분할 수 있게 되고, 많은 사람이 말하더라도 엄마의 목소리를 구분해 낼 수 있는 것과 같은 방법
  • 대표적인 알고리즘 – 클러스터링(Clustering), 차원 축소(Dimension Reduction)
    • 클러스터링(Clustering) 특정 기준에 따라 유사한 데이터 사례들을 하나의 세트로 그룹화합니다. 이 과정은 종종 전체 데이터 세트를 여러 글부으로 분류하기 위해 사용됩니다. 사용자는 고유한 패턴을 찾기 위해 개별 그룹 차원에서 분석을 수행할 수 있습니다.
      • 활용 분야
        1. 클러스터링은 시장의 세그멘테이션을 할 때 유용한데, 하나의 시장을 여러 고객의 하위군집으로 구분하는 것을 말합니다. 클러스터링의 평가는 하나의 클러스터 내의 고객들의 구매 패턴이 비슷하고, 그들의 구매 패턴이 다른 군집의 고객들과는 구분되는지 확인하여 파악할 수 있습니다.
        2. 문서 데이터의 클러스터링이 있습니다. 이 때 목적은 각 문서에서 나타나는 키워드를 중심으로 각 문서끼리 얼마나 비슷한지, 다른지를 분석하는 것입니다. 이를 위해서는 먼저 각 문서에 나타나는 어떤 용어들이 자주 나타나는지를 확인하고, 빈도수에 따라 유사성(similarity)를 구분합니다. 검색엔진은 이를 바탕으로 우리가 어떤 키워드를 검색했을 때 그 키워드 관련 문서들을 보여줍니다.
    • 차원 축소(Dimension Reduction) 고려 중인 변수의 개수를 줄이는 작업입니다. 많은 애플리케이션에서 원시 데이터(raw data)는 아주 높은 차원의 특징을 지닙니다. 이때 일부 특징들은 중복되거나 작업과 아무 관련이 없습니다. 따라서 차원 수를 줄이면 관계를 도출하기 용이해집니다.

반지도 학습(Semi-Supervised Learning)

  • 지도 학습과 비지도 학습을 섞어서 정답을 유추해 나가는 방법
  • 군집을 학습한 후에, 군집의 일부 데이터만 사람이 정답을 매겨주면, 그 군집 전체를 사람이 매긴 정답으로 볼 수 있다는 원리
  • 예를 들면, 구글 포토 호스팅 서비스나 아이폰의 인물 사진처럼 여러 명의 인물 사진을 올리면 자동으로 사람을 인식하여 학습시킵니다.. 이 사람들이 누구인가하는 정보로 사람의 레이블이 주어지면 편리하게 해당 사람이 들어간 사진을 찾을 수 있습니다.

강화 학습(Reinforcement Learning)

  • 보상 및 벌칙과 함께 여러 번의 시행착오를 거쳐 스스로 학습하는 방법
  • 예를 들면, 아이가 스스로 일어서는 방법, 스스로 걷는 방법 등은 엄마가 있더라도 정답을 알려주기 어려운 것들입니다. 스스로 넘어져 가면서 여러 번의 시행착오 끝에 자기에게 맞는 방법을 습득하게 되는 것과 같은 방법
  • 기존의 지도학습, 비지도 학습과 달리 보상과 벌칙이 반영된 다음 데이터가 필요하기 때문에 반복 시행을 통해서 데이터를 스스로 만들어가면서 학습해야 합니다. 따라서 일반적으로 많은 학습 시간이 필요해 컴퓨터 시뮬레이션 기반으로 빠르게 반복함으로써 이러한 학습시간의 한계점을 극복해 가고 있습니다.머신러닝-강화학습
    우리나라의 바둑기사 이세돌을 이긴 딥마인드의 알파고가 강화학습을 적용한 대표적인 사례입니다. 시뮬레이션으로 서로 바둑을 두고, 이긴 쪽의 학습 결과를 복사해서 다시 바둑을 두는 과정을 반복함으로써 인간보다 훨씬 더 많은 경험을 통해서 실력을 높여나가는 방법입니다.
  • 강화학습 사례영상

머신러닝의 장점과 단점

머신러닝이 할 수 있는 일과 할 수 없는 일을 살펴보겠습니다.

머신러닝 모델의 장점

  • 인간이 놓칠 수 있는 데이터 추세와 패턴을 식별할 수 있습니다.
  • 설정 후 사람의 개입 없이 작업할 수 있습니다.
    예를 들어 사이버 보안 소프트웨어의 머신러닝은 관리자 입력 없이 네트워크 트래픽의 불규칙성을 지속적으로 모니터링하고 식별할 수 있습니다.
  • 결과는 시간이 지남에 따라 더 정확해질 수 있습니다.
  • 동적, 대용량 및 복잡한 데이터 환경에서 다양한 데이터 형식을 처리할 수 있습니다.

머신러닝 모델의 단점

  • 초기 훈련은 비용과 시간이 많이 소요되는 과정입니다. 충분한 데이터를 사용할 수 없으면 구현이 어려울 수 있습니다.
  • 사내에 하드웨어를 설치하는 경우 막대한 초기 투자가 필요한 컴퓨팅 집약적 프로세스입니다.
  • 전문가의 도움 없이 결과를 정확하게 해석하고 불확실성을 없애기 어려울 수 있습니다.

머신러닝의 대표적인 적용 사례

  • 이미지 분류 : 제품 생산 시 제품의 이미지를 분석해 자동으로 분류하는 시스템
  • 시맨틱 분할 : 인간의 뇌를 스캔하여 종양 여부의 진단
  • 텍스트 분류(자연어 처리) : 자동으로 뉴스, 블로그 등의 게시글 분류
  • 텍스트 분류 : 토론 또는 사이트 등에서의 부정적인 코멘트를 자동으로 구분
  • 텍스트 요약 : 긴 문서를 자동으로 요약하여 요점 정리
  • 자연어 이해 : 챗봇(chatbot) 또는 인공지능 비서 만들기
  • 회귀 분석 : 회사의 내년도 수익 예측
  • 음성 인식 : 음성 명령에 반응하는 프로그램
  • 이상치 탐지 : 신용 카드 부정 거래 감지
  • 군집 작업 : 구매 이력을 기반으로 고객 분류 후 서로 다른 마케팅 전략 계획
  • 데이터 시각화 : 고차원의 복잡한 데이터셋을 그래프와 같은 효율적인 시각 표현
  • 추천 시스템 : 과거 구매이력, 관심 상품, 찜 목록 등을 분석하여 상품 추천
  • 강화 학습 : 지능형 게임 봇 만들기

참고자료 링크

참고영상 링크