-
컴퓨터의 이미지 인식머신러닝 & 딥러닝/딥러닝 기초 2023. 12. 13. 13:23
컴퓨터와 사람의 이미지 인식
강아지와 고양이 사진을 봤을 때 사람과 컴퓨터가 이 사진을 인식할 때 어떤 차이가 있을까?
사람의 경우 강아지와 고양이 사진을 보고 다른 강아지와 고양이 사진을 보게 되면 융통성 있게 이건 강아지, 이건 고양이라고 인식할 수 있다.
하지만 컴퓨터의 경우 제공하지 않았던 다른 강아지, 고양이 사진을 보여준다면 융통성 있게 이건 강아지, 이건 고양이 이런식으로 구별할 수 없다. 그럼 컴퓨터가 대상들을 인식하는 방식은 어떻게 될까?
컴퓨터와 사람의 이미지 인식 차이
컴퓨터는 사진과 영상을 단지 숫자로 본다.
좌측 이미지를 보고 사람은 저 사진이 사람 얼굴에 대한 사진이라는 것을 알 수 있다. 하지만 컴퓨터는 픽셀 값으로 흰색에서 검정색의 여러 단계를 표현하고 이미지를 인식한다.
위 이미지는 해상도가 낮은 이미지여서 픽셀 값을 많이 갖고 있지 않다. 하지만 해상도가 높아 픽셀 값을 많이 갖고 있는 경우의 이미지 인식을 어떻게 될까?
예를 들어 FHD 화질의 컬러 사진이 있다고 가정하자. 해당 이미지는 1920*1080*3 (R, G, B)개의 픽셀 값을 갖게 된다. 즉 600만개의 픽셀 값을 갖고 있는데 이런 값으로 우리에게 강아지인지 고양이인지 구별하는 것을 불가능에 가깝다. 따라서 많은 픽셀 값을 갖고 있는 경우 컴퓨터에게 가르쳐 줄 수 없다.
컴퓨터에게 가르쳐 주기
우리는 데이터를 공간상의 점으로 표현할 수 있다. 2차원에서는 점들을 모아 직선으로 표현할 수 있고 3차원에서는 점들을 모아 면으로 표현할 수 있다.
컴퓨터가 인식하는 세계는 고차원의 공간이다. 컴퓨터가 인식하는 고차원을 우리가 전부 인식하기에는 불가능하다. 따라서 2차원 공간으로 가져온다면 훨씬 수월하다.
고차원 데이터는 많은 feature들을 가지고 있기 때문에 차원의 저주, overfitting 등의 문제가 있다. 즉 고차원 데이터를 저차원 데이터로 변환하는 것을 차원 축소(Dimension Reduction)라고 한다.
위 그림은 MNIST라는 데이터셋이다. MNIST 데이터는 최소 몇백개의 픽셀 값을 갖고 있다. 이 데이터 들을 2차원 공간으로 가져온다면 우측 이미지처럼 나타낼 수 있다. 2차원 공간으로 가져온다면 0~9까지 점들을 구별할 수 있다. 즉 고차원에서 데이터 분포를 확인하는데 어려움이 컸지만 2차원으로 가져오면 데이터의 분포를 쉽게 확인 할 수 있다.
정리
컴퓨터는 이미지를 픽셀 값으로 인식한다. 이 이미지는 수차원의 공간상의 한 점이다. 이러한 고차원은 사람에게 익숙하지 않기 때문에 우리에게 익숙한 저차원으로 변환시킨다. 이러한 변환 과정을 Mapping이라고 하며 저차원으로 변환 시키는 것을 차원 축소(Dimension Reduction)라고 한다. 차원 축소의 목표는 다음과 같다.
- Nearby points remain nearby
- Distant points remain distant
사람이 모든 조건을 전부 코딩하여 컴퓨터에게 알려주는 전문가 시스템과 다르게 데이터 분포를 갖고 컴퓨터에게 학습시키는 머신러닝이 대두되었다.
참고자료
'머신러닝 & 딥러닝 > 딥러닝 기초' 카테고리의 다른 글
딥러닝 학습 - 역전파, 경사하강법 (0) 2023.12.19 딥러닝 (3) 2023.12.15 머신러닝 (0) 2023.12.14 전문가 시스템 (0) 2023.12.11 딥러닝 배경 (전문가 시스템, 머신러닝, 딥러닝) (0) 2023.12.11