CNN 기초설명

해소리·2022년 6월 29일
0

딥러닝

목록 보기
3/8

CNN이란?

Convolutional Neural Networks의 약자로 딥러닝에서 주로 이미지나 영상 데이터를 처리할 때 쓰이며 이름에서 알수있다시피 Convolution이라는 전처리 작업이 들어가는 Neural Network 모델입니다.

그렇다면 왜 CNN을 사용할까?

일반 DNN(Deep Neural Network)의 문제점에서부터 출발합니다. 일반 DNN은 기본적으로 1차원 형태의 데이터를 사용합니다. 때문에 (예를들면 1028x1028같은 2차원 형태의)이미지가 입력값이 되는 경우, 이것을 flatten시켜서 한줄 데이터로 만들어야 하는데 이 과정에서 이미지의 공간적/지역적 정보(spatial/topological information)가 손실되게 됩니다. 또한 추상화과정 없이 바로 연산과정으로 넘어가 버리기 때문에 학습시간과 능률의 효율성이 저하됩니다.

이러한 문제점에서부터 고안한 해결책이 CNN입니다. CNN은 이미지를 날것(raw input) 그대로 받음으로써 공간적/지역적 정보를 유지한 채 특성(feature)들의 계층을 빌드업합니다. CNN의 중요 포인트는 이미지 전체보다는 부분을 보는 것, 그리고 이미지의 한 픽셀과 주변 픽셀들의 연관성을 살리는 것입니다.

convolutional Filter

다음과 같은 구성에 따라 이미지의 특성을 알 수 있습니다.

픽셀이 많이 변할수록 색깔의 변화가 큰 것을 확인할 수 있습니다.

conv필터의 의미

풀링이란?

MaxPooling

conv Layer의 의미

zero padding

  • 사진짤리기 싫어서 만든 해결책!

Dropout


과적합을 피할 수 있게 만드는 방법이당!

profile
문과생 데이터사이언티스트되기 프로젝트

0개의 댓글