제목 : An Introduction to Convolutional Neural Networks(합성곱 신경망 소개)
저자 : Keiron O’Shea, Ryan Nash
연도 : 2015년 12월 2일 (v2 기준)
출저 : arXiv:1511.08458v2 [cs.NE]
키워드
Pattern recognition(패턴인식)
artificial neural networks(인공 신경망)
artificial neural networks(머신러닝)
image analysis(이미지 분석)
연구의 필요성 및 목적
생물학적 영감을 받아 인공 신경망(ANN)의 등장으로 머신러닝 분야가 크게 변화했으며,
특히 합성곱 신경망(CNN)은 주로 어려운 이미지 중심의 패턴 작업을 해결하기 위해 사용되며,
이미지 기반 패턴 인식을 뛰어넘는 성능 개발 기술을 논의 목적 입니다
키워드 중심의 요약

인공신경망은 크게 입력층(Input Layer), 은닉층(Hidden Layers), 출력층(Output Layer)의 세 부분으로 구성됩니다. 각 층은 여러 개의 노드(뉴런)로 이루어져 있으며, 이 노드들은 가중치(Weights)를 통해 서로 연결되어 있습니다
Input Layer(입력층) : 외부 데이터를 받아들이는 데이터 특성을 나타낸다.
Hidden Layers(은닉층) : 입력층과 출력층 사이에 위치에 하나 이상의 복잡한 데어터 패턴 학습
Weights(출력층) : 최종 예측 결과를 나타낸다.
출처: https://wikidocs.net/234725
합성곱 계층
데이터와 필터의 모양을 (높이, 너비)로 나타내고, 윈도우(Window)라고 부른다
합성곱 연산 예제

합성곱 계층 패딩(Padding)
데이터 공간 크기는 Conv Layer를 지날 때 마다 작아지게 되므로, 가장자리의 정보들이
사라지는 문제가 발생하기 때문에 제로 패딩을 통해 입력 이미지와 출력 이미지의 크기를
같게 유지 해준다.
합성곱 계층 스트라이드(Stride)
입력데이터에 필터를 적용할 때 이동할 간격을 말한다.
스트라이드(Stride)는 보통 1과 같이 작은 값이 더 잘 작동하며, Stride가 1일 경우
입력 데이터의 spatial 크기는 pooling 계층에서만 조절하게 할 수 있다.

출처: https://excelsior-cjh.tistory.com/79 [EXCELSIOR:티스토리]
논문은 컨볼루션 레이어를 여러 개 쌓는 아키텍처를 권장하며, 이는 입력 벡터의 더 복잡한 특징을 선택할 수 있게 합니다.
또한, 큰 컨볼루션 레이어를 작은 레이어로 분할하여 계산 복잡성을 줄이는 방법도 제시합니다.
입력 레이어의 크기는 2로 재귀적으로 나누어질 수 있는 것이 좋으며, 작은 필터를 사용할 때는 스트라이드를 1로 설정하고 제로 패딩을 사용하여 차원이 변경되지 않도록 할 것을 조언합니다.
CNN은 강력하지만 많은 자원을 요구할 수 있으며, 큰 이미지 처리 시 메모리 문제가 발생할 수 있음을 언급합니다.