논문명: Network In Network 논문저자: Min Lin 외 2명 개요 본 논문의 전체적인 내용은 CNN(합성곱 신경망)의 단점과 그것의 보완점을 제시한다. 1. 논문에서 제시된 기존 CNN 구조의 문제점 본 논문에서 제시된 기존 CNN 구조의 문제점은 크게 2가지이다. 첫째 컨볼루션(convolution) 레이어에서는 기존의 입력값을 특징 맵으로 변환하는 과정을 거친다. ㄷ이때 기존의 CNN구조에서는 선형적으로 변환을 진행한다. 선형적으로만 변환을 진행하면 당연히 비선형적 연산에 비해 정확도가 떨어 질 수 밖에 없다. 따라서 본 논문에서는 이를 보완하기 위한 방법으로 다증퍼셉트론(MLP)를 도입했다. 구조는 다음과 같다. 위와 같은 구조를 통해 기존의 선형 연산이였던 것을 비선형 연산을 통해 정확도를 높인것을 본 논문에서는 MLPconvolutional Layer 라고 칭하며 이 Layer들이 쌓여있는 것이 NIN(Network in Network)구조이다. 둘째 마지막 출력 부분(또는 레이어)에서 완전연결 계층의 문제점이다. 가장 큰 문제는 CNN자체가 입체적인 데이터를 다루는데 이런식으로 연결되면 입체적인 INPUT과 거리감이 생긴다는 것이고 다음으로는 완전연결 계층 그 자체의 문제인 Overfitting 문제가 있다. 따라서 본 논문에서는 Global Average Pooling 이라는 레이어를 사용했다. 간략히 설명하면 마지막 출력부분에서 완전연결 계층을 대신해 각각의 Classification에 사용될 category를 특성맵으로 만들고 전부 평균을 내어 softmax함수에 집어 넣어 출력하는 방식으로 진행했다. 구조를 보면 다음과 같다. 위에 보다 싶이 완전연결계층이 아닌 각각의 특성 맵을 만들어 이를 softmax함수에 넣는 것을 볼 수 있다. 이를 통해 좀 더 입력값에 건장해지고 더해서 오버피팅을 방지할수 있다는 장점이 있다. 총 구조 총 구조는 다음...
1. 선형성을 띄지 않는 함수가 없는 다중층 레이어 신경망은 선형적으로 표현 가능하다는 것을 증명하시오. HINT: n개의 레이어의 경우를 두고 생각, f(x) = ax+b의 형태로 두고 생각 (개인 풀이) 1. f(x) = ax + b이다. 이때 n=2 즉 2개의 층으로 이루워졌다고 생각하면 f(f(x)) = a(ax+b)+b = a^2x+ab+b = a'x + b' (a'=a^2, b'= ab + b) 즉 값이 동일하지는 않지만 사실상 선형성을 띄는 식으로 표현이 가능하다. 이제 n일때의 경우를 보면 fn(x) = a*fn-1(x)+b가 된다. 즉 사실상 형태가 반복되는 동일한 상황이므로 증명된다. 2. 시그모이드함수를 미분하시오. HINT: sigmod = 1/(1+e^-x) (개인풀이) 2. 0*(1+e^-x) - 1*(-e^x) / (1+e^-x)^2 = e^x / (1+e^-x)^2 3. 많은 층을 사용할 경우 시그모이드함수에서 기울기 소실이 일어나는 이유는? (개인풀이) 3. 기울기 소실의 경우 시그모이드 함수의 특징 중 하나이다. 시그모이드 함수의 경우 일반적인 시그모이드 함수 시그모이드 함수의 미분 형태 위에 그래프에서 보이듯이 시그모이드 함수는 수렴한다. 값이 극단적으로 커져감에 따라 수렴하는데 가중치를 변경하는 방법에서 가중치를 미분한 값을 곱하는 형식에서 미분한 값이 점점 작아질 수 밖에 없다는 단점을 가지고 이것이 바로 기울기 소실이다. 3.2 하이퍼볼라탄젠트함수와 시그모이드 함수의 관계가 scaled,shifted 형태이고 위의 기울기 소실에서 하이퍼볼라탄젠트 함수가 더 유리한 이유를 설명하시오 (개인풀이) 3.2 기본적인 하이퍼볼라 탄젠트 함수 미분형태의 하이퍼볼라 탄젠트 함수 위에 보다싶이 하이퍼볼라 탄젠트 함수는 수렴하지 않으므로 기울기 소실이 덜하다 하지만 극단적인 값으로 가면 0으로 수렴하기 때문에 기울기 소실에서 자유로울 수는 없다...
이전 포스트와 이어지는 포스트입니다. 기존 논문에서 3X3 필터 2개를 사용한 경우 5X5 필터와 비슷한 효과를 가지며 3X3 필터 3개를 사용하였을 경우 7X7 필터를 적용한 효과를 가진다. 라고 언급했다. 또한 비선형적인 측면에서 층이 깊어져서 더욱 풍부한 효과를 누릴 수 있다. 라고 언급하였다. 따라서 이전 포스팅에서 언급한 모듈을 이용하여 실험을 하였다. 각 결과는 다음과 같다. 1. 3X3 필터 2개의 경우 약 92%의 정확도를 보였다. 2. 5X5 필터 1개의 경우 약 88%의 정확도를 보였다. 3. 3X3 필터 3개의 경우 약 94%의 정확도를 보였다. 4. 7X7 필터의 경우 약 92%의 정확도를 보였다. 결론 기존의 논문에서 언급한 것처럼 3X3 필터가 층을 쌓으면 충분히 또는 그 이상의 효과를 내는 것을 확인하였다. 또한 더 적은 파라메터의 개수와 더 풍부하게 비선형성을 가진다는 장점 또한 있다고 할 수 있다. 하지만 파라메터 개수를 줄이는데만 급해 레이어를 대폭 늘리면 연산 속도가 느려질 수도 있다는 단점도 분명히 존재한다. 추가 실험 결과 5X5와 7X7 필터의 경우 패팅의 옵션에서 'SAME'(기존 크기 강제 유지)과 'VAILD'(유효한 부분만 정리) 중 VAILD가 더 나은것으로 반대로 3X3필터는 'SAME'이 더 정확도가 높게 나왔다. 이는 개인적인 추론이지만 1. 사진의 크기가 작아 고급 필터 적용시 남는 부분이 너무 많다. 2. 반대로 3X3 필터의 경우 패딩에 큰 상관이 없다. 3. 따라서 INPUT 크기에 따라 다르겠지만 고급 필터의 경우 'VAILD'가 작은 필터의 경우 'SAME'이 더욱 효과적일 것이라 생각한다.
댓글
댓글 쓰기