머신 러닝

menu icon

머신 러닝

머신 러닝은 경험으로부터 학습하고 시간이 지나면서 의사결정이나 예측의 정확도를 개선하는 애플리케이션에 초점을 둡니다.

머신 러닝이란?

머신 러닝이란 별도의 프로그래밍 없이도 데이터를 통해 학습을 수행하고 시간이 지나면서 자체 정확도를 향상시키는 애플리케이션을 구축하는 데 집중하는 인공지능(AI)의 한 분야입니다. 

데이터 사이언스에서 알고리즘이란 일련의 통계적 처리 단계를 의미합니다. 머신 러닝에서의 알고리즘은 신규 데이터를 기반으로 의사결정을 내리고 예측을 수행하기 위해 방대한 양의 데이터에서 패턴과 특징을 찾도록 '훈련'되어 있습니다. 알고리즘이 보다 우수할수록, 보다 많은 데이터를 처리하므로 의사결정과 예측이 더욱 정확해집니다.

오늘날에는 머신 러닝의 실제 사례를 도처에서 볼 수 있습니다. 디지털 어시스턴트는 사람의 음성 명령에 따라 웹을 검색하고 음악을 재생합니다. 웹사이트는 우리가 이전에 구매하거나 보고 들었던 내용을 바탕으로 상품과 영화, 노래 등을 추천합니다. 로봇이 마루를 진공청소기로 청소하는 동안, 우리는 보다 유용한 시간을 보낼 수 있습니다. 스팸 감지기는 원치 않는 이메일이 메일함에 도착하지 못하도록 차단합니다. 의료 영상 분석 시스템은 의사들이 자칫 놓쳤을 수도 있는 종양을 발견하는 데 도움을 줍니다. 게다가 최초의 자율주행차가 이제 도로를 달립니다.

우리는 더 많은 것들을 기대할 수 있습니다. 빅데이터가 점점 방대해지고, 컴퓨팅 성능이 강력해지고 비용이 저렴해지며, 데이터 사이언티스트가 보다 강력한 알고리즘을 개발함에 따라, 머신 러닝은 개인 및 직장 생활에서 점점 많은 효율성을 제공할 것입니다. 

머신 러닝의 작동 방식

머신 러닝 애플리케이션(또는 모델)의 구축에는 4개의 기본 단계가 있습니다. 이는 일반적으로 모델 개발의 대상인 비즈니스 전문가와 긴밀하게 협업하는 데이터 사이언티스트에 의해 수행됩니다.

1단계: 훈련 데이터 세트의 선택과 준비

훈련 데이터는 머신 러닝 모델이 해결할 문제점을 해결하기 위해 수집할 데이터를 나타내는 데이터 세트입니다. 일부 경우에 훈련 데이터는 레이블링된 데이터이며, 이는 모델이 식별해야 할 기능과 분류를 호출하도록 "태깅"되어 있습니다. 기타 데이터에는 레이블이 없으며, 모델은 해당 기능을 추출하고 자체적으로 분류를 지정해야 합니다.

어느 경우이든, 훈련 데이터는 훈련에 영향을 줄 수 있는 불균형이나 편향에 대해 적절하게 준비(랜덤화, 중복제거 및 검증)되어야 합니다. 또한 이는 두 개의 서브세트로 분리되어야 합니다. 하나는 애플리케이션의 훈련에 사용될 훈련 서브세트이며, 다른 하나는 이의 테스트와 정제에 사용될 평가 서브세트입니다.

2단계: 훈련 데이터 세트에서 실행할 알고리즘 선택

다시 말하지만, 알고리즘은 일련의 통계적 처리 단계입니다. 알고리즘의 유형은 훈련 데이터 세트의 양과 유형(레이블링됨 또는 레이블링 없음) 및 해결할 문제점의 유형에 따라 결정됩니다.

레이블링된 데이터에서 사용할 머신 러닝 알고리즘의 일반 유형에는 다음이 포함됩니다.

  • 회귀 알고리즘: 선형 및 로지스틱 회귀는 데이터의 관계를 이해하는 데 사용되는 회귀 알고리즘의 예입니다. 선형 회귀는 독립 변수의 값을 기반으로 종속 변수의 값을 예측하는 데 사용됩니다. 로지스틱 회귀는 종속 변수가 특성상 2진인 경우에 사용될 수 있습니다(A 또는 B). 예를 들어, 선형 회귀 알고리즘은 영업 사원의 교육이나 수년의 경험(독립 변수)에 대한 관계에 기반하여 영업 사원의 연간 매출(종속 변수)을 예측하도록 훈련될 수 있습니다. 지원 벡터 머신이라고 부르는 다른 유형의 회귀 알고리즘은 종속 변수를 분류하기가 보다 어려울 때 유용합니다.
  • 의사결정 트리: 의사결정 트리는 분류된 데이터를 사용하여 의사결정 규칙 세트를 기반으로 추천을 합니다. 예를 들어, 특정 말의 우승, 위치 또는 쇼 베팅을 추천하는 의사결정 트리는 해당 말에 대한 데이터(예: 나이, 승률, 혈통)를 사용하고 해당 요소에 규칙을 적용하여 조치 또는 의사결정을 추천합니다.
  • 인스턴스 기반 알고리즘: 인스턴스 기반 알고리즘의 좋은 예로는 k-nn(K-Nearest Neighbor)을 들 수 있습니다. 이는 분류를 사용하여 다른 데이터 점에 대한 근접성을 기반으로 하나의 데이터 점이 하나의 그룹이나 다른 그룹의 멤버가 될 가능성을 추정합니다.

레이블링 없는 데이터에서 사용할 알고리즘에는 다음이 포함됩니다.

  • 클러스터링 알고리즘: 클러스터를 그룹으로 생각하세요. 클러스터링은 유사한 레코드의 그룹을 식별하고 소속된 그룹에 따라 레코드를 레이블링하는 데 초점을 둡니다.이는 그룹 및 해당 특성에 대한 사전 지식 없이 수행됩니다. 클러스터링 알고리즘의 유형에는 K-means, TwoStep, Kohonen 클러스터링이 포함됩니다.
  • 연관 알고리즘: 연관 알고리즘은 데이터에서 패턴과 관계를 찾고 연관 규칙이라고 하는 빈번한 'if-then' 관계를 식별합니다. 이는 데이터 마이닝에서 사용된 규칙과 유사합니다.
  • 신경망: 신경망은 입력 레이어(데이터가 수집됨), 최소한 하나의 은닉 레이어(계산이 수행되고 입력에 대한 다양한 결론을 내림), 그리고 출력 레이어(각각의 결론에 확률이 지정됨)를 특징으로 하는 계산의 계층화된 네트워크를 정의하는 알고리즘입니다. 심층 신경망은 다수의 은닉 레이어를 갖는 네트워크를 정의하며, 이들 각각은 이전 레이어의 결과를 계속해서 정제합니다. (자세한 내용은 아래의 "딥 러닝" 섹션 참조)

3단계: 모델 작성을 위한 알고리즘 훈련

알고리즘 훈련은 반복 프로세스입니다. 여기에는 알고리즘을 통한 변수 실행, 출력을 생성해야 하는 결과와 비교, 보다 정확한 결과를 산출할 수 있는 알고리즘 내에서 가중치와 편향 조정, 그리고 알고리즘이 대부분 정확한 결과를 리턴할 때까지 변수 재실행 등이 포함됩니다. 최종적으로 훈련된 정확한 알고리즘은 머신 러닝 모델이며, 이는 잘 구분해야 합니다. '알고리즘'과 '모델'이 머신 러닝 전문가들 사이에서도 잘못 혼용하여 사용되기 때문입니다.

4단계: 모델 사용 및 개선

최종 단계는 새 데이터로 모델을 사용하는 것이며, 최상의 경우 시간 경과에 따라 정확성과 효율성을 향상시키는 것입니다. 새 데이터가 제공되는 위치는 해결 중인 문제점에 따라 다릅니다. 예를 들어, 스팸을 식별하도록 설계된 머신 러닝 모델은 이메일 메시지를 수집하는 한편, 로봇 진공 청소기를 구동하는 머신 러닝 모델은 방에서 이동된 가구나 새로운 물체와의 실제 상호작용에 따른 결과 데이터를 수집합니다.

머신 러닝 방법

머신 러닝 방법(머신 러닝 스타일이라고도 함)은 세 가지 기본 범주로 분류됩니다.

이러한 접근 방식의 차이점을 자세히 알아보려면 "감독형 대 비감독형 러닝: 차이점"을 참조하세요.

감독형 머신 러닝

감독형 머신 러닝은 레이블링된 데이터 세트에서 자신을 훈련시킵니다. 즉, 데이터는 머신 러닝 모델이 판별하도록 구축된 그리고 모델이 데이터를 분류하도록 되어 있는 방식으로 분류될 수 있는 정보로 레이블링됩니다. 예를 들어, 순종 독일 셰퍼드견을 식별하도록 설계된 컴퓨터 비전 모델은 다양한 레이블의 개 영상들의 데이터 세트에서 훈련될 수 있습니다.

감독형 머신 러닝은 기타 머신 러닝 방법보다 적은 훈련 데이터를 필요로 하며 훈련을 손쉽게 합니다. 모델의 결과가 실제 레이블링된 결과와 비교될 수 있기 때문입니다. 그러나 적절하게 레이블링된 데이터는 준비에 비용이 많이 들며, 과적합의 위험성이 있습니다. 혹은 새 데이터의 변형을 정확하게 처리하지 않는 훈련 데이터에 매우 밀접하게 결합되고 편향된 모델을 작성할 위험성도 있습니다.

감독형 학습에 대해 자세히 알아보세요.

비감독형 머신 러닝

비감독형 머신 러닝에서는 수많은 레이블링 없는 데이터를 수집합니다. 그리고 인간의 개입 없이 실시간으로 데이터를 레이블링, 정렬 및 분류하는 데 필요한 의미 있는 특성을 추출하는 알고리즘을 사용합니다. 비감독형 러닝은 의사결정과 예측의 자동화와 덜 관련되며, 인간이 자칫 놓칠 수 있는 데이터의 패턴과 관계를 식별하는 데 보다 많이 관련됩니다. 스팸 감지를 예로 들겠습니다. 사람들은 데이터 사이언티스트 팀이 평생 동안 레이블링 또는 분류하기를 희망하는 것보다도 훨씬 많은 이메일을 생성합니다. 비감독형 머신 러닝 알고리즘은 엄청난 양의 이메일을 분석할 수 있으며, 스팸을 표시하는 기능과 패턴을 발견할 수 있습니다(또한 시간이 지나면서 스팸의 플래그 지정이 보다 우수해짐).

비감독형 러닝에 대해 자세히 알아보세요.

반감독형 러닝

반감독형 러닝은 감독형 및 비감독형 러닝 간의 적절한 타협점을 제공합니다. 훈련 중에 이는 더 작은 레이블링된 데이터 세트를 사용하여 더 크고 레이블링 없는 데이터 세트에서의 분류와 특성 추출을 유도합니다. 반감독형 러닝은 감독형 러닝 알고리즘을 훈련시키기에는 충분치 않은 레이블링 데이터를 보유할 경우(또는 충분한 데이터를 레이블링할 수 없는 경우)의 문제점을 해결할 수 있습니다. 

강화형 머신 러닝

강화형 머신 러닝은 감독형 머신 러닝과 유사한 행위형 머신 러닝이지만,  알고리즘이 샘플 데이터를 사용하여 훈련되지 않습니다. 이 모델은 시행착오를 통해 학습합니다. 주어진 문제점에 대한 최상의 추천이나 정책을 개발할 수 있도록 일련의 성공한 결과가 강화됩니다.

2011년에 Jeopardy! 챌린지에서 우숭한 IBM Watson® 시스템은 좋은 사례입니다. 이 시스템은 강화형 러닝을 사용하여 답변을 시도할지(이를 테면, 질문에 대해) 여부, 보드에서 어떤 사각형을 선택할지 여부 그리고 베팅 규모(특히 복승식에서)를 결정합니다.

강화형 러닝에 대해 자세히 알아보세요.

딥 러닝

딥 러닝은 머신 러닝의 서브세트입니다. (모든 딥 러닝은 머신 러닝이지만, 모든 머신 러인이 딥 러닝인 것은 아닙니다.) 딥 러닝 알고리즘은 인간의 두뇌가 학습하는 방식을 학습하도록 설계된 인공 신경망을 정의합니다. 딥 러닝 모델은 여러 레이어의 계산을 통과하는 방대한 양의 데이터를 필요로 하며, 각 연속적인 레이어에서 가중치와 바이어스를 적용하여 결과를 지속적으로 조정하고 향상시킵니다.

딥 러닝 모델은 일반적으로 비감독형 혹은 반감독형 모델입니다. 강화형 머신 러닝 모델이 딥 러닝 모델일 수도 있습니다. CNN(convolutional neural network) 및 RNN(recurrent neural network) 등 특정 유형의 딥 러닝 모델은 컴퓨터 비전, 자연어 처리(음성 인식 포함) 및 자율주행차와 같은 영역에서 진전을 보이고 있습니다. 

다양한 개념들이 어떻게 관련되는지 자세히 살펴보려면 블로그 게시물 “AI 대 머신 러닝 대 딥 러닝 대 신경망: 차이점”을 참조하세요.

딥 러닝에 대해 자세히 알아보세요.

실세계 머신 러닝 유스케이스

앞서 기술한 바와 같이 머신 러닝은 도처에서 발견할 수 있습니다. 다음은 매일 일상에서 접할 수 있는 머신 러닝의 일부 예입니다.

  • 디지털 어시스턴트: Apple Siri, Amazon Alexa, Google Assistant 및 기타 디지털 어시스턴트는 컴퓨터가 문자와 음성 데이터를 처리하고 인간의 방식으로 인간 언어를 '이해' 할 수 있도록 하는 머신 러닝 애플리케이션인 NLP(natural language processing)로 구동됩니다. 자연어 처리는 또한 GPS 및 음성 인식(speech-to-text) 소프트웨어와 같은 음성 구동 애플리케이션을 구동합니다.
  • 추천: 딥러닝 모델은 Amazon, Netflix, Spotify 및 기타 소매, 엔터테인먼트, 여행, 직업 검색, 뉴스 서비스 등에서 제공하는 '일반적(people also liked)' 및 '맞춤형(just for you)' 추천을 제시합니다.
  • 컨텍스트 온라인 광고: 머신 러닝 및 딥 러닝 모델은 주제는 물론 저자의 의견이나 태도와 같은 뉘앙스 등 웹 페이지의 콘텐츠를 평가할 수 있습니다. 또한 방문자의 관심사에 맞는 광고도 제공합니다.
  • 챗봇: 챗봇은 패턴 인식, 자연어 처리 및 심층 신경망의 조합을 사용하여 입력 텍스트를 해석하고 적합한 응답을 제공할 수 있습니다.
  • 사기 감지: 머신 러닝 회귀 및 분류 모델은 도난/손상된 금융 데이터의 범죄 사용을 적발하는 데 거의 성공하지 못하고 도난된 신용카드 사용의 플래그 지정에서 많은 수의 거짓 양성을 보이는 규칙 기반 사기 감지 시스템을 대체했습니다.
  • 사이버 보안: 머신 러닝은 인시던트 보고서, 경보, 블로그 게시물에서 인텔리전스를 추출함으로써 잠재적 위협을 식별하고 보안 분석가에게 조언하며 응답을 가속화할 수 있습니다.
  • 의료 영상 분석: 디지털 의료 영상 데이터의 유형과 볼륨이 폭발적으로 증가함으로써 진단 지원을 위한 더 많은 정보를 얻을 수 있을 뿐만 아니라, 데이터를 읽는 데 있어 인간의 실수를 줄일 더 많은 기회가 발생합니다. CNN(Convolutional neural network), RNN(recurrent neural network) 및 기타 딥 러닝 모델은 정확한 진단을 지원하기 위해 의료 영상으로부터 특징과 정보를 추출하는 데 있어서 점차적으로 성공적임을 입증했습니다.
  • 자율주행차: 자율주행차는 머신 러닝 기능을 필요로 합니다. 이는 자동차 주변 환경의 물체를 지속적으로 식별하고, 이의 변화나 움직임을 예측하며, 운전자의 목적지를 향해서는 물론 물체 주변의 자동차도 안내해야 합니다. 실질적으로 위에서 언급한 모든 형태의 머신 러닝과 딥 러닝 알고리즘은 자율주행차를 작동시키는 데 있어서 어느 정도 이상 역할을 합니다.

머신 러닝과 IBM Cloud

IBM Watson Machine Learning은 엔드-투-엔드 머신 러닝 라이프사이클을 지원합니다. 이는 데이터가 있는 곳에서 머신 러닝 모델을 구축하고 하이브리드 멀티클라우드 환경 어디에나 배치할 수 있는 다양한 오퍼링으로 사용 가능합니다. 

IBM Cloud Pak for Data의 IBM Watson Machine Learning은 엔터프라이즈 데이터 사이언스 및 AI 팀이 클라우드 네이티브 데이터 및 AI 플랫폼에서 어디서나 AI 개발과 배치를 신속하게 진행할 수 있도록 지원합니다. IBM Cloud 환경의 관리형 서비스인 IBM Watson Machine Learning Cloud는 데스크탑의 실험에서 프로덕션 워크로드를 위한 배치로 모델을 이동하는 가장 빠른 방법입니다. 머신 러닝 배치를 스케링일하고자 하는 소형 팀의 경우 IBM Watson Machine Learning Server은 프라이빗 및 퍼블릭 클라우드에서 간편한 설치를 제공합니다.

시작하려면 IBMid로 로그인하고 IBM Cloud 계정을 만드세요.