CNN이 무엇인가요?
CNN(Convolutional Neural Networks)은 이미지 또는 비디오 데이터에서 패턴을 학습하고 이미지를 분류하기 위해 주로 딥 러닝에 사용됩니다.
CNN을 사용하는 이유
CNN을 사용하는 이유는 DNN의 문제에서 시작됩니다. 이미지 데이터(1028 x 1028)와 같은 2차원(채널을 포함한 3차원) 형태가 입력값이 되면 이미지의 공간 정보를 1차원 배열로 변환한 후 Fully Connected Neural에 의해 학습시키면 손실됨 회로망. CNN은 이러한 정보 유출을 방지할 수 있습니다.
채널
컬러 이미지는 각 픽셀이 3개의 RGB 실수로 표현되는 3차원 데이터입니다. 컬러 이미지는 세 개의 채널로 구성됩니다. 반면 흑백 사진의 경우 콘트라스트만 표현하면 2차원 데이터와 1채널로 구성된다. 아래 이미지는 400픽셀 이미지로 컬러는 (400, 400, 3), 흑백은 (400, 400, 1) 형태입니다.
원천 : https://ctkim.95
이미지 표시
원천 : https://youngq.40
위 그림에서 2로 표시된 회색 영역의 픽셀에 숫자 1이 포함되고 빈 흰색 영역에 숫자 0이 포함된다고 가정합니다. CNN은 픽셀 간의 광 융합을 활용하여 이 하나의 이미지에서 여러 이미지를 생성하기 시작합니다.
필터
원천 : https://velog.io/@kim_haesol/CNN-%EA%B8%B0%EC%B4%88%EC%84%A4%EB%AA%85
Convolution은 입력 데이터에 필터를 적용합니다. 필터는 원본 이미지 위로 이동하고 (5, 5)의 원본 이미지는 (3, 3)의 필터로 오버레이되고 내적의 합이 출력으로 표시됩니다.
이러한 필터에는 여러 유형이 있습니다.
- 수직선을 감지하는 수직 필터, 수평선을 감지하는 수평 필터
- 열의 중앙에 더 많은 가중치를 부여하는 Sobel 필터 및 Scharr 필터
이러한 필터를 통해 원본 이미지를 마킹한 후 숫자가 출력되고 이 숫자를 활성화하여 얻은 값으로 이미지를 다시 그립니다.
원천 : https://wooono.234
가구류
폴딩에는 두 가지 문제가 있습니다.
- 컨볼루션 작업마다 이미지 크기가 줄어듭니다.
- 필터가 이동하여 원본 이미지에 표시할 때 이미지 중앙의 픽셀은 여러 번 사용되는 반면 이미지 가장자리의 픽셀은 한 번만 사용됩니다.
이 문제를 해결하기 위해 패딩(padding)이라는 개념이 도입되었습니다.
패딩은 원본 이미지 외부에 추가 값을 추가하여 원본 이미지의 크기를 유지합니다.
일반적으로 0으로 채워지며 이를 제로 패딩이라고 합니다.
원천 : https://ctkim.95
스테핑
Stride는 입력 이미지에서 필터가 적용되는 단계 수를 지정합니다.
- 증분이 1이면 공백을 건너뛰고 필터가 적용됩니다.
- Stide가 2이면 두 개의 사각형을 건너뛰어 필터가 적용됩니다.
원천 : https://wooono.234
겹
풀링 레이어는 컨볼루션 레이어의 출력 데이터를 입력으로 받아 출력 데이터의 크기를 줄이거나 특정 데이터가 이미지의 위치 변화에 덜 영향을 받도록 합니다. 풀링 레이어 다루기 최대 풀링, 평균 풀링, 최소 풀링일반적으로 풀링 크기와 보폭을 같은 크기로 설정하여 모든 요소가 한 번에 처리되도록 합니다.
최대 풀링은 주로 이미지 영역에서 사용됩니다. 이것은 뉴런이 가장 큰 신호에 반응하는 방식과 유사합니다. 이는 노이즈를 줄이고 속도를 높이며 이미지 차별화를 개선하기 위한 것입니다.
최대 풀링
- 최대 풀링은 입력 데이터를 필터 크기와 동일한 여러 영역으로 분할한 다음 이미지에서 필터를 이동하고 필터 영역 내에서 필터를 이동합니다. 최대값선택에 의해 수행
- 최대 풀링은 이미지에서 중요한 정보를 캡처하는 데 도움이 됩니다.
평균 풀링
- 평균 풀링은 입력 데이터를 필터 크기와 동일한 여러 범위로 분할하고 이미지 위로 필터를 이동한 다음 가운데선택에 의해 수행
- 평균 풀링은 이미지에서 중요한 정보와 덜 중요한 정보의 균형을 맞추는 데 도움이 됩니다.
원천 : https://wooono.234
풀링 레이어의 흥미로운 기능 중 하나는 컨볼루션 레이어가 기능을 추출하기 위해 적절한 필터를 학습한다는 것입니다. 풀링 계층에는 학습할 매개변수가 없습니다.그것은.
따라서 풀링은 일반적으로 원본 이미지의 정보를 유지하면서 크기를 줄이는 데 사용됩니다.
일반적으로 풀링 크기는 정사각형입니다. 풀링 크기를 stide와 동일하게 함으로써 모든 요소가 한 번 풀링되므로 입력 데이터의 행 크기와 열 크기는 풀링 크기의 배수여야 합니다. 결과적으로 풀링 레이어 출력 데이터의 크기는 행 및 열 크기를 풀링 크기로 나눈 값입니다.
CNN 풀코스