줘이리의 인생적기

[tensorflow 20] CNN - 특징 추출 본문

공부/tensorflow

[tensorflow 20] CNN - 특징 추출

줘이리 2021. 5. 21. 22:00
728x90

이번에는 특징 추출(Feature Extraction) 기법 중 하나인  컨볼루션 신경망 CNN(Convolutional Neural Network)에 대해 공부해보도록 하겠습니다.

 

데이터셋에는 특징들이 있습니다.

 

앞서 공부했던 보스턴 주택 가격 데이터셋에는 범죄율, 주택당 방의 수, 고속도로 접근성, 학생/교사 비율 등과 같은 특징들이 있었고, 와인 데이터셋에는 당도, 품질, 도수 등의 특징들이 있었습니다.

 

하지만 Fashion MNIST와 같은 이미지 데이터는 특징을 스스로 찾아야 합니다.

결론부터 말씀드리자면, 컨볼루션 신경망은 네트워크가 특징을 추출하는 필터를 자동으로 생성합니다.

 

필터가 무엇이냐?

컨볼루션 연산은 필터(filter) 또는 커널(kernel)이라는 작은 행렬을 통해 픽셀들을 본래 픽셀과 주변 픽셀들의 조합으로 대체합니다.

몇 가지 필터들을 보여드리겠습니다.

https://ichi.pro/ko/keonbol-lusyeon-singyeongmang-e-daehan-gandanhan-sogae-167753728153487

위와 같이 수직선 검출 필터, 수평선 검출 필터 등 여러 이미지 효과를 줄 수 있습니다.

 


컨볼루션 연산을 합성곱이라고 하는데, 아래 사진을 참고하셔서 이해하시면 되겠습니다.

https://wikidocs.net/64066

 

이러한 특징 추출들을 수작업으로 진행하면 시간과 비용이 많이 들뿐만 아니라 여러 분야에 적응하기가 어렵습니다.

 

딥러닝 기반 컨볼루션 연산은 이를 모두 해결했고, 결론에서 말씀드린 것처럼 필터를 자동으로 생성합니다.

 

학습을 통해 뉴런들이 특정 패턴을 잘 추출할 수 있게 적응하게 되는 것이죠.

 

다음 포스팅에는 어떻게 특징을 자동으로 추출하는가에 대해서 알아보도록 하겠습니다.

 

'공부 > tensorflow' 카테고리의 다른 글

[tensorflow 22] Fashion MNIST02  (0) 2021.05.25
[tensorflow 21] 레이어  (0) 2021.05.24
[tensorflow 19] Fashion MNIST01  (0) 2021.05.20
[tensorflow 18] 다항분류  (0) 2021.05.20
[tensorflow 17] 이항 분류02  (0) 2021.05.18