X자 9X9 이미지 매트릭스에 대한 Convolutional Striding 작업 후 얻어지는 7X7 이미지에서 원래 이미지의 특징이 잘 보존되는 수치 사례를 쥬피터 노트북 코딩에 의해 이미 살펴보았다. 일반적으로 CNN 알고리듬의 특징 추출은 크게 3가지 단계로 나누어진다. 첫 번째가 바로 Convolutional Striding이다. 한편 지금 사용 중인 웨이트 값들이 + 이기 때문에 그 결과도 + 가 된다. 따라서 ReLU 처리가 별도로 필요하지 않다. 세 번째가 Pooling 단계로서 kernel 로 포착한 셀 값 중에서 최대값을 추출하는 것으로 알려져 있는데 더 중요한 개념은 Pooling을 통해서 Edge 가 정확하게 검출되어야 한다는 사실이다.
위 그림에서 보면 앞서의 예들과는 달리 X 자형 특징을 시각적으로 확인하기는 쉽지 않다. 하지만 매트릭스의 숫자를 관찰해 보면 2개의 교차하는 Edge 로 구성된 X자임을 확실히 알 수 있다. Edge 라고 하는 것은 선 개념으로서 이 선을 교차하게 되면 명암 변동이 커야 한다. 그래야 시각적으로 쉽게 느낄 수 있게 되는 것이다. Pooling 된 대각선 데이터 즉 5.5, 9.5, 5.5, 4.0 이 Edge 라면 이 Edge 에 수직한 위 그림에서 가는 선으로 표현된 부분에서 3.5,(5.5∼8.5),3.5 이므로 명암 값이 2∼5 가량 변동됨을 알 수 있다. 마찬가지로 대각선 하단에서는 2.0,(5.5∼4.0),2.5 이므로 명암 값이 3.5∼2 가량 변동됨을 알 수 있다. 이것이 바로 추출된 Edge 의 특성이다. 한편 9X9에서 시작한 이미지 매트릭스가 8X8 로 그 다음 Pooling을 거치면서 4X4 로 축소된다는 점에 유의하자.
이 코드를 실행하려면 아래 url 주소에 첨부한 쥬피터 노트북 코드에 셀을 추가하여 실행하여야 한다.
Convolutional Neural Network에서 특징 추출(feature extraction) 알고리듬과 Transfer Learning과의 관계
http://blog.daum.net/ejleep1/816
'머신러닝' 카테고리의 다른 글
구글 Colabo에서 PyTorch CIFAR-10 이미지 머신 러닝 II (0) | 2019.06.23 |
---|---|
이미 특이점을 뛰어 넘었던 중국의 슈퍼컴퓨팅 미중무역전쟁으로 허무하게 아작나는가? (0) | 2019.06.22 |
Convolutional Neural Network에서 특징 추출(featur extraction) 알고리듬과 Transfer Learning과의 관계 (0) | 2019.06.20 |
구글 Colabo에서 PyTorch CIFAR-10 이미지 머신 러닝 (0) | 2019.06.18 |
PyTorch 안면 이미지 데이타 Rescale, RandomCrop, Compo (0) | 2019.06.17 |