문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 인공신경망 (문단 편집) ===== 합성곱 신경망([[합성곱|Convolutional]] Neural Network, CNN) ===== 1989년 인간의 시신경 구조를 모방해 만들어진 인공신경망 알고리즘. 다수의 Convolutional Layer(이때의 작은 행렬을 필터라 부른다)으로 부터 특징맵(Feature map)을 추출하고 서브샘플링(Subsampling)을 통해 차원을 축소하여 특징맵에서 중요한 부분만을 가져온다. 이미지 분류, semantic segmentation, optical flow등등 대부분의 컴퓨터 비전(computer vision)분야에서 필수적으로 사용되는 기술이며, 기존의 MLP 대비 적은 연산량과 높은 성능을 보여줘 각광받고 있다. ML 기술의 선구자 중 한명인 [[얀 르쿤]] 교수가 개발한 LeNet이 초기 CNN 구조의 대표적인 역할을 했고, 이후 [[페이페이 리|ImageNet]] 이미지 분류 대회에서 InceptionV3 등 새로운 모델 구조들이 나오며 성능이 비약적으로 개선되었다. 요즘에는 ResNet을 자주 쓰는데, TfNet이나 Torchvision에서 제공하는 pretrained weights를 사용하여 transfer learning을 하면 많은 분야에서 훌륭한 성능을 뽑아주기 때문에 애용된다. ResNet의 무거움을 해결하기 위한 MobileNetV2나 EfficientNet도 주목받고 있다. R-CNN(Region-CNN)이라는 물건도 있다. Object Detection 할때 사용한다. 합성곱 신경망은 일반적으로 다음과 같은 구조의 순서로 이루어진다. * 합성곱 층 및 풀링 층의 결합 * 합성곱 층 (Convolutional layer) * 풀링 층 (Pooling layer) * 일반적으로 최대 풀링 (Max Pooling) 및 평균 풀링 (Average Pooling) 알고리즘을 많이 이용한다. 필터라는 행렬 형태의 파라미터를 학습할 수 있는 합성곱 층과 달리 최대 또는 평균을 그대로 이용하는 정해진 알고리즘을 사용하므로 학습 가능한 파라미터가 존재하지 않는다. * 드롭아웃 층 (Dropout layer) * 신경망 모델의 과적합을 줄이기 위해서 합성곱 층 사이에 추가할 수 있다. * Flatten layer * 합성곱 신경망은 여러 개의 필터를 가지고 있고 합성곱 층의 결과 역시 일반적으로 선형이 아닌 2차원 배열(행렬) 이상의 데이터 형태이므로, 이를 1차원으로 Flatten시켜서 Fully-connected layer로 입력시켜 준다. * Fully-connected layer 여기서 원본 이미지는 모델의 첫 번째 합성곱 층으로 입력되고, '개', '고양이'와 같이 딥러닝 모델이 판단한 결과가 Fully-connected layer의 마지막 출력층의 출력에 해당한다. 활성화 함수로는 sigmoid 함수가 아닌 ReLU 함수가 많이 쓰이는데, 이는 sigmoid 함수에서 발생하는 Gradient Vanishing을 방지하기 위해서이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기