[머신러닝] 머신러닝이란

전래창·2021년 7월 15일
0

머신러닝

목록 보기
3/11

머신 러닝이란(What is Machine Learning?)

딥 러닝을 포함하고 있는 개념인 머신 러닝(Machine Learning)에 대한 개념에 대해서 학습합니다.

1. 머신 러닝(Machine Learning)이 아닌 접근 방법의 한계

머신 러닝을 이해하기 위해 머신 러닝이 아닌, 기존의 프로그래밍 접근 방법을 통해 프로그램을 작성했을 때 한계가 있는 경우를 예로 들어보겠습니다.

Ex) 주어진 사진으로부터 고양이 사진인지 강아지 사진인지 판별하는 일.
위 문제는 실제로 2017년에 있었던 DGIST의 딥 러닝 경진대회의 문제임을 밝힙니다.

사람에게 있어 위와 같은 일은 어렵지 않습니다. 직관적으로 고양이 사진인지, 강아지 사진인지 아주 쉽게 알 수 있습니다. 그런데 프로그램. 즉, 기계에게 이러한 일은 쉽지 않습니다. 그 이유를 알아봅시다.

해당 프로그램은 이미지라는 것을 입력으로 받아서, 이미지가 강아지에 속하는지 고양이에 속하는지의 결과값을 리턴하는 프로그램이 될 것입니다.

def prediction(이미지 as input):
    어떻게 코딩해야하지?
    return 결과

그런데 사실 구글에서 강아지와 고양이 사진을 검색해보면 알겠지만, 사진이란 건 사진을 보는 각도, 조명, 타겟의 변형(고양이의 자세)에 따라서 너무나 천차만별이라 사진으로부터 공통된 명확한 특징을 잡아내는 것이 쉽지 않습니다.

결론을 미리 언급하자면 해당 프로그램은 숫자를 정렬하는 것과 같은 명확한 알고리즘이 애초에 존재하지 않습니다.

역사적으로 이러한 이미지 인식 분야에서 특징을 잡아내기 위한 시도들이 있었습니다. 이미지의 shape나 edge와 같은 것들을 찾아내서 알고리즘화 하려고 시도하고, 다른 사진 이미지가 들어오면 전반적인 상태를 비교하여 분류하려고 한 것입니다.

하지만 그러한 시도들은 위에서 언급한 이유로 결국 특징을 잡아내는 것에 한계가 있을 수밖에 없었습니다. 위와 같은 예제를 언급한 이유는 머신 러닝은 이에 대한 해결책이 될 수 있기 때문입니다.

2. 머신 러닝은 기존 프로그래밍의 한계에 대한 해결책이 될 수 있다

머신 러닝이 위의 문제를 해결할 수 있는 이유는 해결을 위한 접근 방법이 앞서 언급한 기존의 프로그래밍과는 다르기 때문입니다. 위의 이미지에서 위쪽은 기존의 프로그래밍 방법으로 접근한 것이고, 아래쪽은 머신 러닝의 접근 방법을 보여줍니다.

머신 러닝은 주어진 데이터로부터 결과를 찾는 것에 초점을 맞추는 것이 아니라, 주어진 데이터로부터 규칙성을 찾는 것에 초점이 맞추어져 있습니다. 주어진 데이터로부터 규칙성을 찾는 과정을 우리는 학습(training)이라고 합니다.

일단 규칙성을 발견해내면, 그 후에 들어오는 새로운 데이터에 대해서 발견한 규칙성을 기준으로 정답을 찾아내는데, 이는 기존의 프로그래밍 방식으로 접근하기 어려웠던 문제의 해결책이 되기도 합니다.

profile
따라가기도 벅찬 AI Engineer 겸 부앙단

0개의 댓글