본문 바로가기

머신러닝 & 딥러닝 공부/호기심 기록

[딥러닝] 왜 CNN의 Input_shape 은 4D일까?

반응형

딥러닝에서 컴퓨터 비전에서 많이 쓰이는 CNN 모델은 컨볼루션 레이어에 들어가는 입력값을 늘 4D 여야한다. 만약 모양을 맞춰주지 않는다면, 컨볼루션 레이어에 넣을 수 없다.

 

 

왜 그런걸까?

 

그것은 4D의 의미를 파악하면 알 수 있다. 아래 사진을 살펴보자. (batch_size, height, width, depth)

 

 

 

 

여기서 2D 이미지의 가로, 세로는 이해하기 다들 인지하므로, Image depth 와 Batch size를 이야기하고자 한다.

 

우선, Image depth 는 이미지의 채널값을 나타낸다. 만약 흑백사진이면 1이고, 컬러사진이면 R.G.B 각각의 값으로 해서 채널값은 3이 된다.

 

다음으로 Batch_size는 한 번의 batch마다 주는 데이터 샘플의 size이다.

 

만약 3D 텐서가 있다면 batch_size 1을 추가해서 4D로 맞춰주곤 한다.

 

 

 

결론 : 내가 이해한 바로는, 컨볼루션 레이어가 이미지를 인식하기 위해선 위에서 설명한 4개의 값이 필요하기 떄문에 4D 입력을 받는다고 이해했다.

 

 

 

 

참고자료

 

https://link.coupang.com/a/rGNew

 

[한빛미디어]혼자 공부하는 머신러닝 + 딥러닝 : 1:1 과외하듯 배우는 인공지능 자습서

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

반응형