cnn 채널 관련해서 궁금한게 있음
0~9까지 숫자를 분류하는 cnn을 만들거고 각 숫자당 천개씩 데이터 학습을 시킨다고 가정함
흑백으로 255x255 픽셀일때
첫번째 input 데이터 크기는 255x255x10000 인거임??
이걸 3x3 커널 채널 하나로 돌리면 255x255x1 데이터 크기가 나오는거고 5개 채널로하면 255x255x5 인거지?
flatten 하고 마지막 dense가 10이던데
저렇게하면 0~9까지 데이터가 다 섞이는거 같아서 이해가 잘 안가..
아무리 찾아봐도 이거에 대한 설명이 없어서
설명좀 부탁해도 될까
10000 255 255임
[B,C,W,H] 입력차원일때 C가 커널 통과할 때마다 바뀜 rgb이미지면 처음은 3에서 256,512 막 이렇게 - dc App
배치사이즈는 안변하고 서로다른 데이터끼린 독립적임 서로 안섞임 - dc App
그럼 숫자별로 255x255x1000을 각각 10번(숫자 갯수) 컨볼루션하고 동일한 커널로 숫자(output) 값이 분류가 될때까지 커널 값(파라매터)을 조절한다는거지??
자꾸 1000 곱하지 말고 단일 데이터만 가지고 생각해봐라. cnn은 단일 데이터에 대해서도 똑같이 동작해야함. 입력차원이 (1,3,255,255)면 3x3 커널 한개를 통과하면 (1,1,253,253)이 되어야 함. 커널을 100개를 쓰면 (1,100,253,253)이 되는거고 패딩1칸씩 해주면 (1,100,255,255)로 사이즈가 유지되는거고, 마지막 dense는 linear layer니까 입력을 1x100x255x255인 벡터로 만드는거고, 10은 그냥 출력차원이고 - dc App