n차원의 convolution을 진행하고 중요한 정보를 자동으로 뽑내는 AI가 CNN

잘 모르겠으면 무조건 일단을 돌려보고 결과를 확인할것 해석은 그 이후에도 늦지는 않다.

Convolution이란 수학적으로 정의된 것으로 시간의 흐름에 따라 두 함수간 겹친 영역을 적분하여 나타낸 것이다. 이는 t-domain과 s-domiain w-domain등에서 사용되며, 이것이 중요한 까닭은 어떤함수 x(t), h(t-t_0)를 laplace transformation,(FT)을 하였을때 해당 결과에 대해 X(s)*H(s) 가 가능하게 만들어 준다. 즉 어떤 Function space를 어떤 도메인에 대해 선형변환을 진행하였더니 양함수간 곱이 가능해지며, 이로 인해서 연산이

어떤 입력을 신호(impulse function or unitfunction)에 통과시켜 만들어낸 결과가 쉽게 해석이 가능하게 만들어준다.

신호및 시스템, 선형대수학, 미분 방정식 3개의 개념을 조합하여 이해를 시도하였으므로, 만약 해당 범주 밖의 개념이 도입되었을시 잘못된 해석일 수 있음을 인지하자.

그리고 이것을 2차원에 대해서 진행하게 되는 것이 CNN의 개념의 핵심이다. 앞의 개념을 응용하면 사진(입력함수, X(t) input vector)에 대해, 특정 카테고리에 대해 처리하는 인간의 뇌(H(t),PDF vector) 가정하고 이를 카테고리 (출력 Y(t), category vector)를 가정하고 H(t) probablity function space로 대응시켜 풀어내는 것이다. 다만 이는 2차원 (rgba제외)이므로 데이터량이 많고 이를 위해서 필터링을 적용하는데 이를 pooling이라고 한다.

다만 한가지 의문점은 pooling에 대해서 중요하지 않은 정보를 어떻게 판단하냐 인데 인접한 칸의 정보량이 높다는 것에 대해서는 feature맵에서 사용한 기법을 해도 좋고, 일단 CNN에서는 큰 고민없이 평균값과 Max Min을 모두 실험해보고 좋은 것을 골랐다(연구자로써 매우 합당하고 좋은 태도이다)