CODEDRAGON ㆍDevelopment/AI
일반 분류기 vs 컨볼루션 신경망
컨볼루션 신경망(DL)이 일반분류기와 다른 점은 특징 추출과 분류가 하나의 프로세스로 이루어집니다.
구분 |
분류 과정 |
일반 분류기 |
기존 ML의 방식
|
컨볼루션 신경망 |
|
컨볼루션 신경망 분류 과정
컨볼루션 신경망은 입력된 이미지에서 다시 한번 특징을 추출하기 위해 마스크(필터, 윈도 또는 커널이라고도 함)를 도입하는 기법입니다. 예를 들어, 입력된 이미지가 다음과 같은 값을 가지고 있다고 합시다.
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
여기에 2×2 마스크를 준비합니다. 각 칸에는 가중치가 들어있습니다. 샘플 가중치를 다음과 같이 ×1, ×0라고 하겠습니다.
x1 |
x0 |
x0 |
x1 |
이제 마스크를 맨 왼쪽 위칸에 적용시켜 보겠습니다.
1x1 |
0x0 |
1 |
0 |
0x0 |
1x1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
적용된 부분은 원래 있던 값에 가중치의 값을 곱해 줍니다. 그 결과를 합하면 새로 추출된 값은 2가 됩니다.
(1 × 1) + (0 × 0) + (0 × 0) + (1 × 1) = 2 |
이 마스크를 한 칸씩 옮겨가서면 모두 적용하게 됩니다.
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
마스크를 적용하여 새로 추출된 값(컨볼루션)은 다음과 같습니다.
2 |
1 |
1 |
0 |
2 |
2 |
0 |
1 |
1 |
입력값에서 마스크를 통해 새롭게 만들어진 층을 컨볼루션(convolution; 합성곱)이라고 부릅니다.
컨볼루션을 만들면 입력 데이터로부터 더욱 정교한 특징을 추출할 수 있습니다. 이러한 마스크를 여러 개 만들 경우 여러 개의 컨볼루션이 만들어집니다.
입력값 |
마스크 |
컨볼루션 |
|||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||
|
|
|
생성된 여러 개의 컨볼루션을 통해 보다 정밀한 분류 및 예측을 수행할 수 있습니다.
'Development > AI' 카테고리의 다른 글
맥주와 기저귀 (0) | 2019.11.11 |
---|---|
정분류율 & 오분류율 (0) | 2019.11.10 |
Jitter(지터) (0) | 2019.11.09 |
Bayesian networks, 베이즈 네트워크 (0) | 2019.11.08 |
열 벡터(column vector) (0) | 2019.11.07 |