2019년 1월 7일
CNN (Convolutional Neural Network)
I. 2차원 이미지 분석, CNN
가. CNN의 개념
- Convolution, Pooling, Fully Connected layer를 통해 특징 추출, 차원 축소하여 이미지를 분류, 인식하는 신경망 알고리즘
나. CNN의 특징
ReLU | – Rectified Linear Unit 활성화 함수 – Gradient Vanishing 문제 해결 |
Dropout | – 인공 신경망의 Overfitting 방지 위해 특정 뉴런 미동작 학습 수행 |
Bigdata | – 과적합(Overfitting) 문제 해결 – 여러 데이터의 경험 누적 |
II. CNN 알고리즘 및 기술 요소
가. CNN 알고리즘
항목 | 설명 |
---|---|
동작 매커니즘 | – Convolution layer를 통한 특징(feature) 추출 – Pooling layer를 통한 차원 축소 – fully connected layer를 통한 최종 분류 – 필요 시 가장자리 ‘0’ Padding 추가 여부 검토 |
Convolution 동작 방식 | – 필터를 이미지에 적용하여 Feature Map 생성 – FMij = ∑FmnGxy |
Pooling 동작 방식 (Sub Sampling) | – m x m의 Feature Map을 n x n 행렬로 차원 축소 – Max 및 Average Pooling 을 활용 |
- Convolution으로 Feature Map 생성, Pooling으로 차원 축소
나. CNN 알고리즘 기술 요소
구분 | 기술 요소 | 설명 |
---|---|---|
Layer 구성 | Convolution Layer | – 합성곱(Convolution) 연산을 통해 Feature를 추출하는 레이어 |
Pooling Layer | – Sub Sampling을 통한 차원의 축소 – Max, Average pooling 활용 | |
Fully Connected Layer | – Convolution, Pooling 처리결과 – 선형으로 연결하여 이미지 분류 | |
성능 개선 | ReLU | – Rectified Linear Unit 활성화 함수 – Gradient Vanishing 문제 해결 |
Dropout | – 인공 신경망의 Overfitting 방지 위해 특정 뉴런 미동작 학습 수행 | |
Bigdata | – 과적합(Overfitting) 문제 해결 – 여러 데이터의 경험 누적 |
- CNN 알고리즘은 주로 정지 이미지 분류 활용, DNN, RNN 존재
III. CNN, DNN, RNN 비교
항목 | CNN | DNN | RNN |
---|---|---|---|
개념 | – 합성곱신경망 | – 심층신경망 | – 자가순환신경망 |
특징 | – Convolution – Pooling | – 오류역전파 – 가중치 조정 | – 자가 순환 – 차기값 예측 |
한계 | – 시계열 데이터 부족 | – 과적합 발생 – 시간 복잡도 | – 이전 데이터 Loss 발생 |
사례 | – 정지 이미지 분석 | – 구글 tensorflow – FB deepface | – 자연어 처리 – 필기체 인식 |
- 분석하고자 하는 대상에 따라 인공지능 알고리즘을 도입하여 목표하는 정보 수집, 처리 가능