본문 바로가기

머신러닝 읽어주는 남자

[오직 컨셉]CNN(convolutional neural network)

반응형

기본 FFNN(feed forward neural network)

특정 위치에 assign된 뉴런이 고정됨. 데이터의 위치, 색, 포즈 등에 민감.  


idea!

--> 일정사이즈의 윈도우를 데이터 모든 곳이 찾아보면 해결되지 않을까?

--> 만약에 윈도우에 딱 안 들어 왔을 경우에 여러 윈도우를 봐야하지 않을까?(여러 layer를 쌓아서 Receptive field를 높임

--> 윈도우로 모든 곳을 찾을 때 웨이트를 변환하지 말고 특정 feature를 뽑는 고정웨이트를 써보자(kernel)

--> 위와 같은 특정 feature를 찾는 웨이트들(kernel)을 기존에 사람이 지정해야하는데 알아서 학습하면 안되나??


CNN 탄생

1. Convolution layer

window를 stride시켜주면서 kernel를 통과시켜줌. 다양한 위치에서 다양한 feature를 추출할 수 있다. 3d kernel같은 경우에는 채널간의 정보는 합쳐준다. 태두리에 padding도 하곤 함

fully connected가 아니라 sparse connection이라 전체 정보를 뭉뚱그리진 않음.


2. Pooling layer(max-pool, ave.-pool)

location에 좀 덜 민감하게 뽑아줌, dim.도 줄여줌.


3.fully connected layer

여기서 전체 정보를 뭉뚱그리는 layer. 요즘에 안 쓰는 경우도 있음. 하지만 쓰는게 일반적임.

반응형