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 비교

항목CNNDNNRNN
개념– 합성곱신경망– 심층신경망– 자가순환신경망
특징– Convolution
– Pooling
– 오류역전파
– 가중치 조정
– 자가 순환
– 차기값 예측
한계– 시계열 데이터 부족– 과적합 발생
– 시간 복잡도
– 이전 데이터
Loss 발생
사례– 정지 이미지 분석– 구글 tensorflow
– FB deepface
– 자연어 처리
– 필기체 인식
  • 분석하고자 하는 대상에 따라 인공지능 알고리즘을 도입하여 목표하는 정보 수집, 처리 가능

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^