안녕하세요. WH입니다.
시간이 난다는 건 참 좋은 것 같아요.
이번 글에서 다룰 내용은 linear classifier 입니다.
저번 글에서 꼭 기억하셔야 할 점은
어떤 이미지를 분류하기 위해서는 기준을 세우고 차이를 통해 판단을 해야한다는 것이였죠?
기억이 나질 않는다면 아래 글을 참조해 주세요
또한 이 글을 완벽하게 이해하고 싶으신 분들은 꼭 봐주세요
2022.04.21 - [AI] - computer vison AI (기초 이론 feat. 이미지 분류 )
NN ( nerual network )을 이해하기 위해 첫번째 단계인
Linear classifier에 대한 정확한 이해 입니다.
우선 생김새를 보고 뜯어보며 이해해 보겠습니다.
Linear classifier의 생김새
이렇게 생겼습니다. 와 무슨 수식이지? 겁먹지 말고 알아봅시다. 이걸 이해해야 뒤에 나오는 모든 내용을 이해할 수 있으니까요. 구성 요소를 살펴 볼게요.
x = input
W = weight
b = bais
이거 뭔데? 쉽게 풀어서 정리해드리겠습니다.
x = 이미지
W = 필터
b = 데이터가 편향된 정도
이제 설명 들어갑니다. 우선 x는 이미지라고 했습니다. 전 글에서 설명했다시피 이미지는 숫자를 의미합니다.
x 의 의미
고양이 이미지를 2*2의 1개의 필터로 표현된다고 고 가정하겠습니다. 그렇다면 x는 ( 127, 237, 156, 87 ) 로 표현되는 겁니다. 그렇다면 x는 (4,1) 형태 입니다. 그런데 각각의 숫자가 의미하는 것은 벡터라고 했습니다. 즉 저 숫자들은 숫자 그 자체가 아니라 해당 픽셀에서의 특징과 영향정도를 가지고 있다고 생각하시면 됩니다. 즉 x는 이미의 특징과 크기를 나타내는 벡터를 일렬로 펴서 들어가신다고 생각하면 됩니다.
W의 의미
w는 필터라고 했습니다. w는 classes ( 클래스 수 ) * input ( 여기서는 4 = 2*2 개의 숫자임으로 )의 행렬 모양을 띈 요소가 벡터인 행렬입니다. 즉 행렬 모양은 classes * input 이고 각각의 요소는 벡터인 행렬이라는 것이지요. 우리가 궁금한 것은 수학적인 의미만이 아니라 W가 의미하는 바가 무엇이냐 일 것입니다. W 는 위에서 언급한 클래스 구분을 위한 기준, 즉 템플릿 혹은 필터입니다. 템플릿의 숫자를 모아서 다시 사진으로 바꾸면 어떻게 될까요? 그러니까 쉽게 그럼 W를 이미지화 하면 어떻게 될까요?
W를 이미지 크기에 맞춰서 보면 대략적으로 이런 모양으로 물체를 구분하기 위한 기준이 됩니다. 이해가 될까요? 그럼 앞에 classes가 의미하는 것은 분류하고자 하는 대상의 수가 몇 개인가 입니다. 즉 분류하고자 하는 대상이 3개 개, 고양이, 여우 라면 필터도 3개가 나오는 것이지요. 이해가 됐을까요? w는 즉 input에서 특징을 잡기위한 필터 정도라고 정리해 볼 수 있겠습니다.
bais의 의미
bais는 데이터가 편향되어 있을 때, 그 정도를 보정해주는 역할을 한다고 생각하시면 되는데, 이건 이미지로 예를 들기가 어렵네요. 여튼 bais는 데이터의 편향을 보정하기 위한 수단 정도로 생각하시면 되겠습니다.
여기까지가 각각의 의미에요. 그렇다면 linear classifier가 의미하는 것은 무엇이길래 도대체 분류를 하는 것일 까요?
수학적 의미
자 이번에는 수학적으로 바라보겠습니다. 사진은 4개의 숫자로 이루어 졌다고 가정했습니다. 그럼 우리가 4개의 요소가 한 점으로 표현되는 4차원의 공간으로 생각해보죠. 사진은 4 차원 공간의 한점으로 표시됩니다. 그럼 linear classifier가 의미하는 바는 4차원 공간에서 선을 의미합니다. 선이 되어 공간을 분할 한다고 생각하면 됩니다. 직선이 아닙니다. 그 선을 기준으로 나눠진 공간에 사진이 포합되어 있다면, 컴퓨터는 그 사진을 해당 클래스로 분류하는 것이죠. 보통 예시로 드는 가장 작은 사이즈의 32*32*3 즉 3076 차원의 한 점으로 보고 그 점이 포함된 공간을 구분하기 위한 기준이 되는 것이죠. 수학적으로 다루지는 않겠습니다만, 궁금한 점이 있다면 댓글로 남겨주시면 친절히 알려드리겠습니다.
결과가 가지는 의미
그렇다면 어떻게 결과는 의미가 무엇을 뜻하게 될까요? 즉 이 우리는 고양이에 대해 판단을 하는 linear classifier가 있따고 해봅시다. 이 이 결과는 (1,1) 형태의 숫자가 나오게 됩니다. 그럼 나온 결과는 고양이에 대한 점수가 되는 겁니다. 즉 현재의 W라는 필터를 사용하여 입력된 이미지에 대해 분류기가 판단하는 고양이에 대한 점수를 나타내게 됩니다.
그런데 여기서 의문이 남습니다. 우리가 나온 결과, 즉 고양이에 대한 점수가 과연 믿을 만한 정보인가, 즉 분류기가 구리진 않은가? 그리고 w를 업데이트하여 더 좋은 분류기가 될 수 있는 방법이 있지는 않은가에 대한 질문이 남게되죠. 이 질문에 대한 것은 다음 글에서 다루도록 하겠습니다. 이번 글에서 얻어가셔야 될 정보는 선형 분류기의 요소들이 의미하는 바입니다. 이번 글은 여기까지 하도록 하겠습니다. 이상 WH였습니다.
'AI' 카테고리의 다른 글
AI 개발자를 준비하기 위해 필요한 것 (0) | 2022.04.22 |
---|---|
computer vision AI ( feat. 역전파, backpropagation, computational graph ) (0) | 2022.04.22 |
computer vision AI ( feat loss fuction, 손실 함수, 최적화 ) (0) | 2022.04.21 |
computer vison AI (기초 이론 feat. 이미지 분류 ) (0) | 2022.04.21 |
AI에서 벡터를 사용하는 이유 (0) | 2022.02.18 |