2017.08.11

머신러닝의 뿌리와 원리 “데이터에서 파생된 소프트웨어”

Dan Tynan | InfoWorld

요즘 “머신러닝”이라는 용어를 흔히 듣는다. 인공 지능(AI)이라는 용어와 혼용되는 경우가 많지만, 사실 머신러닝은 AI의 부분집합이다. 머신러닝과 AI 모두 그 뿌리는 1950년대 후반 MIT로 거슬러 올라간다.

의식하든 하지 않든 사람들은 매일 머신러닝을 접한다. 시리와 알렉사 음성 비서, 페이스북과 마이크로소프트의 얼굴 인식, 아마존과 넷플릭스의 추천, 자율 운전 자동차의 충돌 방지 기술, 모두 머신러닝 발전의 결과물이다.

머신러닝 기반 시스템은 인간 두뇌 수준의 복잡함에는 아직 한참 미치지 못하지만 체스, 퀴즈(Jeopardy), 바둑, 텍사스 홀덤에서 인간 도전자를 꺾는 등 여러 가지 주목할 만한 성과를 거두었다.

수십년 동안 과장되고 비현실적인 기술로 냉대받은(이른바 “AI 겨울” 시기) AI와 머신러닝은 지난 몇 년 사이 여러 기술적 혁신과 값싼 컴퓨팅 성능의 폭발적인 향상, 머신러닝 모델이 학습할 수 있는 풍부한 데이터를 바탕으로 대대적으로 부활했다.

스스로 학습하는 소프트웨어
머신러닝의 정확한 의미는 무엇일까? 먼저 머신러닝이 아닌 것부터 시작해 보자. 사람이 수작업으로 코딩해 프로그램한 기존의 컴퓨팅 애플리케이션은 머신러닝이 아니다.

지시를 따르는 데는 탁월하지만 즉흥적 작업에는 취약한 전통적인 소프트웨어와 달리 머신러닝 시스템은 본질적으로 예제를 일반화함으로써 코드 스스로 자신의 지침을 개발한다.

전형적인 예가 이미지 인식이다. 머신러닝 시스템에 충분히 많은 수의 개 사진(“개” 레이블이 붙은 사진)과 고양이, 나무, 아기, 바나나 또는 다른 사물의 사진(“개가 아님” 레이블이 붙은 사진)을 보여주고 시스템을 적절히 교육한다면 시스템은 개가 어떻게 생겼는지 사람이 일일이 알려주지 않아도 개를 정확히 식별할 수 있게 된다.

이메일 프로그램의 스팸 필터도 머신러닝의 좋은 예다. 스팸 필터는 수억 개의 스팸 샘플과 스팸이 아닌 이메일에 노출된 이후 스팸의 주요 특징을 식별하는 방법을 학습했다. 완벽하지는 않지만 일반적으로 상당히 정확한 편이다.

지도 학습과 비지도 학습
이러한 유형의 머신러닝을 지도 학습(supervised learning)이라고 한다. 누군가가 머신러닝 알고리즘을 방대한 교육 데이터에 노출시켜 그 결과를 점검하고, 머신러닝이 과거에 본 적이 없는 데이터를 보여줘도 예상된 결과를 도출하는 수준에 이를 때까지 지속적으로 설정을 조정하는 방식의 학습이다. (스팸 필터가 정상 메일을 스팸으로 분류할 때 사람이 “스팸 아님” 버튼을 클릭해서 알려주는 것과 같은 맥락이다. 스팸 아님 버튼을 많이 클릭할수록 필터의 정확성도 더 개선된다.)

가장 일반적인 지도 학습은 분류와 예측(즉, “회귀”)을 사용한 방법이다. 스팸 탐지와 이미지 인식은 모두 분류의 문제다. 주가 예측은 회귀 문제의 전형적인 예다.

두 번째 머신러닝 유형은 비지도 학습(unsupervised learning)이다. 시스템이 방대한 양의 데이터를 보고 “정상적인” 데이터가 어떤 형태인지를 학습해서 비정상과 숨겨진 패턴을 감지할 수 있게 되는 방식이다. 자신이 찾는 것이 무엇인지 모르고, 따라서 그것을 찾도록 시스템을 교육시킬 수 없는 경우 비지도 머신러닝이 유용하다.

비지도 머신러닝 시스템은 방대한 양의 데이터에서 사람보다 훨씬 더 빠르게 패턴을 식별할 수 있다. 그러한 이유로 은행에서 사기 거래를 찾아내고, 마케터들이 비슷한 특성을 가진 고객을 식별하고, 보안 소프트웨어에서 네트워크의 적대적 활동을 감지하는 데 비지도 머신러닝이 사용된다.

비지도 학습 알고리즘의 두 가지 예를 들면 클러스터링과 연결 규칙 학습이 있다. 클러스터링은 예를 들어 고객 세분화에 사용되고 연결 규칙 학습은 추천 엔진에 사용된다.

머신러닝의 한계
각 머신러닝 시스템은 자체 연결을 생성하므로 특정 시스템의 작동 방식은 일종의 블랙박스와 같다. 즉, 프로세스를 리버스 엔지니어링한다 해도 시스템이 북경인과 페르시아인을 구별할 수 있는 이유를 알아낸다고 보장할 수 없다. 제대로 작동만 한다면 그 원리는 중요치 않다.

그러나 머신러닝 시스템은 그 시스템이 노출된 데이터의 품질만큼만 좋다. “쓰레기가 들어오면 쓰레기가 나간다”는 규칙의 전형적인 예다. 잘못 교육되거나 불충분한 데이터 집합에 노출되는 경우 머신러닝 알고리즘은 단순히 틀린 결과가 아니라 편견을 가진 결과를 생산할 수 있다.


2017.08.11

머신러닝의 뿌리와 원리 “데이터에서 파생된 소프트웨어”

Dan Tynan | InfoWorld

요즘 “머신러닝”이라는 용어를 흔히 듣는다. 인공 지능(AI)이라는 용어와 혼용되는 경우가 많지만, 사실 머신러닝은 AI의 부분집합이다. 머신러닝과 AI 모두 그 뿌리는 1950년대 후반 MIT로 거슬러 올라간다.

의식하든 하지 않든 사람들은 매일 머신러닝을 접한다. 시리와 알렉사 음성 비서, 페이스북과 마이크로소프트의 얼굴 인식, 아마존과 넷플릭스의 추천, 자율 운전 자동차의 충돌 방지 기술, 모두 머신러닝 발전의 결과물이다.

머신러닝 기반 시스템은 인간 두뇌 수준의 복잡함에는 아직 한참 미치지 못하지만 체스, 퀴즈(Jeopardy), 바둑, 텍사스 홀덤에서 인간 도전자를 꺾는 등 여러 가지 주목할 만한 성과를 거두었다.

수십년 동안 과장되고 비현실적인 기술로 냉대받은(이른바 “AI 겨울” 시기) AI와 머신러닝은 지난 몇 년 사이 여러 기술적 혁신과 값싼 컴퓨팅 성능의 폭발적인 향상, 머신러닝 모델이 학습할 수 있는 풍부한 데이터를 바탕으로 대대적으로 부활했다.

스스로 학습하는 소프트웨어
머신러닝의 정확한 의미는 무엇일까? 먼저 머신러닝이 아닌 것부터 시작해 보자. 사람이 수작업으로 코딩해 프로그램한 기존의 컴퓨팅 애플리케이션은 머신러닝이 아니다.

지시를 따르는 데는 탁월하지만 즉흥적 작업에는 취약한 전통적인 소프트웨어와 달리 머신러닝 시스템은 본질적으로 예제를 일반화함으로써 코드 스스로 자신의 지침을 개발한다.

전형적인 예가 이미지 인식이다. 머신러닝 시스템에 충분히 많은 수의 개 사진(“개” 레이블이 붙은 사진)과 고양이, 나무, 아기, 바나나 또는 다른 사물의 사진(“개가 아님” 레이블이 붙은 사진)을 보여주고 시스템을 적절히 교육한다면 시스템은 개가 어떻게 생겼는지 사람이 일일이 알려주지 않아도 개를 정확히 식별할 수 있게 된다.

이메일 프로그램의 스팸 필터도 머신러닝의 좋은 예다. 스팸 필터는 수억 개의 스팸 샘플과 스팸이 아닌 이메일에 노출된 이후 스팸의 주요 특징을 식별하는 방법을 학습했다. 완벽하지는 않지만 일반적으로 상당히 정확한 편이다.

지도 학습과 비지도 학습
이러한 유형의 머신러닝을 지도 학습(supervised learning)이라고 한다. 누군가가 머신러닝 알고리즘을 방대한 교육 데이터에 노출시켜 그 결과를 점검하고, 머신러닝이 과거에 본 적이 없는 데이터를 보여줘도 예상된 결과를 도출하는 수준에 이를 때까지 지속적으로 설정을 조정하는 방식의 학습이다. (스팸 필터가 정상 메일을 스팸으로 분류할 때 사람이 “스팸 아님” 버튼을 클릭해서 알려주는 것과 같은 맥락이다. 스팸 아님 버튼을 많이 클릭할수록 필터의 정확성도 더 개선된다.)

가장 일반적인 지도 학습은 분류와 예측(즉, “회귀”)을 사용한 방법이다. 스팸 탐지와 이미지 인식은 모두 분류의 문제다. 주가 예측은 회귀 문제의 전형적인 예다.

두 번째 머신러닝 유형은 비지도 학습(unsupervised learning)이다. 시스템이 방대한 양의 데이터를 보고 “정상적인” 데이터가 어떤 형태인지를 학습해서 비정상과 숨겨진 패턴을 감지할 수 있게 되는 방식이다. 자신이 찾는 것이 무엇인지 모르고, 따라서 그것을 찾도록 시스템을 교육시킬 수 없는 경우 비지도 머신러닝이 유용하다.

비지도 머신러닝 시스템은 방대한 양의 데이터에서 사람보다 훨씬 더 빠르게 패턴을 식별할 수 있다. 그러한 이유로 은행에서 사기 거래를 찾아내고, 마케터들이 비슷한 특성을 가진 고객을 식별하고, 보안 소프트웨어에서 네트워크의 적대적 활동을 감지하는 데 비지도 머신러닝이 사용된다.

비지도 학습 알고리즘의 두 가지 예를 들면 클러스터링과 연결 규칙 학습이 있다. 클러스터링은 예를 들어 고객 세분화에 사용되고 연결 규칙 학습은 추천 엔진에 사용된다.

머신러닝의 한계
각 머신러닝 시스템은 자체 연결을 생성하므로 특정 시스템의 작동 방식은 일종의 블랙박스와 같다. 즉, 프로세스를 리버스 엔지니어링한다 해도 시스템이 북경인과 페르시아인을 구별할 수 있는 이유를 알아낸다고 보장할 수 없다. 제대로 작동만 한다면 그 원리는 중요치 않다.

그러나 머신러닝 시스템은 그 시스템이 노출된 데이터의 품질만큼만 좋다. “쓰레기가 들어오면 쓰레기가 나간다”는 규칙의 전형적인 예다. 잘못 교육되거나 불충분한 데이터 집합에 노출되는 경우 머신러닝 알고리즘은 단순히 틀린 결과가 아니라 편견을 가진 결과를 생산할 수 있다.


X