머신 러닝이 아닌 접근 방법의 한계
머신 러닝이 아닌 기존의 프로그래밍 작성 방식을 통해서는 해결하기 어려운 문제 예시를 하나 들어보자.
예시 : 주어진 사진으로부터 고양이 사진인지 강아지 사진인지 판별하는 일
위 문제는 실제 2017년에 있었던 DGIST의 딥 러닝 경진대회의 문제다. 사진을 보고 고양이 사진인지, 강아지 사진인지 판단하는 건 사람에게는 너무나 쉬운 일이다. 그런데 이 문제를 풀 수 있는 프로그램을 작성하는 것은 상당히 난해한 수준이다. 입력된 이미지로부터 강아지와 고양이를 구분할 수 있는 코드를 어떻게 작성할 수 있을까?
def prediction(이미지 as input) :
어떻게 코딩해야 하지?
return 결과
사진이란 건 사진을 보는 각도, 조명, 타겟의 변형(고양이의 자세)에 따라서 너무나 천차만별이라 사진으로부터 공통된 명확한 특징을 잡아내는 것이 쉽지 않다. 사실, 결론을 미리 말하자면 해당 프로그램은 숫자를 정렬하는 것과 같은 명확한 알고리즘이 애초에 존재하지 않는다. 가령 이미지 인식 분야에서 규칙을 정의하고 특징을 잡아내기 위한 많은 시도들이 있었다. 이미지 내의 경계선과 같은 것들을 찾아내서 알고리즘화하려고 시도하고, 다른 사진 이미지가 들어오면 전반적인 상태를 비교하여 분류하려고 한 것이다. 하지만 그러한 시도들은 결국 특징을 잡아내는 것에 한계가 있다. 결국 요즘에 이르러서는 사진으로부터 대상을 찾아내는 일은 사람이 규칙을 정의하는 것이 아니라 머신 러닝으로 문제를 해결하고 있다.
머신 러닝 방식
머신 러닝이 위에서 언급한 예시 문제를 해결할 수 있는 이유는 해결을 위한 접근 방식이 기존의 프로그래밍 방식과는 다르기 때문이다. 위 이미지에서 위쪽은 기존의 프로그래밍의 접근 방식, 아래쪽은 머신 러닝의 접근 방식을 보여준다. 머신 러닝은 데이터가 주어지면, 기계가 스스로 데이터로부터 규칙성을 찾는 것에 집중한다. 주어진 데이터로부터 규칙성을 찾는 과정을 우리는 훈련 또는 학습이라고 한다.
일단 규칙성을 발견하고 나면, 그 후에 들어오는 새로운 데이터에 대해서 발견한 규칙성을 기준으로 정답을 찾아내는데 이는 기존의 프로그래밍 방식으로 접근하기 어려웠던 문제의 해결책이 되기도 한다. 최근에는 머신 러닝의 한 갈래인 딥 러닝이 자연어 처리에서 뛰어난 성능을 보여준다.
'NLP > 딥러닝을 이용한 자연어 처리 입문' 카테고리의 다른 글
[NLP] 5-3. 선형 회귀 (1) | 2024.01.04 |
---|---|
[NLP] 5-2. 머신 러닝 훑어보기 (1) | 2024.01.03 |
[NLP] 4-2. 여러 가지 유사도 기법 (0) | 2024.01.02 |
[NLP] 4-1. 코사인 유사도(Cosine Similarity) (0) | 2024.01.02 |
[NLP] 3-4. TF-IDF(Term Frequency-Inverse Document Frequency) (1) | 2023.12.26 |