7-19 Convolutional Neural Network에서 Pooling 알고리듬에 의한 Edge 특징 추출(featur extraction)

in #kr5 years ago (edited)

X자 9X9 이미지 매트릭스에 대한 Convolutional Striding 작업 후 얻어지는 7X7 이미지에서 원래 이미지의 특징이 잘 보존되는 수치 사례를 쥬피터 노트북 코딩에 의해 이미 살펴보았다. 일반적으로 CNN 알고리듬의 특징 추출은 크게 3가지 단계로 나누어진다. 첫 번째가 바로 Convolutional Striding이다. 한편 지금 사용 중인 웨이트 값들이 + 이기 때문에 그 결과도 + 가 된다. 따라서 ReLU 처리가 별도로 필요하지 않다. 세 번째가 Pooling 단계로서 kernel 로 포착한 셀 값 중에서 최대값을 추출하는 것으로 알려져 있는데 더 중요한 개념은 Pooling을 통해서 Edge 가 정확하게 검출되어야 한다는 사실이다.

noname01.png

위 그림에서 보면 앞서의 예들과는 달리 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 주소에 첨부한 쥬피터 노트북 코드에 셀을 추가하여 실행하여야 한다.

7-18 Convolutional Neural Network에서 특징 추출(feature extraction) 알고리듬과 Transfer Learning과의 관계
https://steemit.com/kr/@codingart/7-19-convolutional-neural-network-featur-extraction-transfer-learning

Coin Marketplace

STEEM 0.27
TRX 0.13
JST 0.031
BTC 61745.50
ETH 2898.66
USDT 1.00
SBD 3.61