CNN이란?
이미지 데이터 구조를 "그대로" 사용하는 접근으로,
더불어, 한꺼번에 Feature의 개성을 고려하기보다 지역별 개성을 살려 feature를 추출한다.
Fully Connected layers은 흑백 이미지에서는 일정한 정도 성능을 보이지만
컬러 이미지 부터는 성능이 떨어진다! 그러므로 COVN layers를 사용한다.
Input 사진 (28X28X1) > 흑백, (32X32X3) > 컬러
- CNN 특징
- 마지막 숫자는 채널, 혹은 색상 채널이라고 말한다.
- filter( Convolutional Layer )를 거쳐서 다양한 Feature map이 생성된다.
- 필터의 depth는 inpurt의 depth를 따라간다.
- depth가 늘어날 수록 고레벨의 특징을 추출한다.
- CNN이 filter를 스스로 학습한다.
Convolutional Layer(Conv2D Layer)
- Number of Filters : 필터의 결과가 나오는 수(반복 노드)
- Filter size : Filter 크기 결정 (3x3)
- Stride : Filter의 이동 보폭 - Feature map 크기(가로, 세로)에 영향
- Zero Padding : 이전 feature map의 크기 유지, 외곽(가장자리) 정보를 더 반영하여 데이터 손실 방지
- Activation = relu
결과 : Feature map 생성
model.add( keras.layers.Conv2D(filters=64, # 새롭게 제작하려는 feature map의 수!
kernel_size=(3,3), # Conv2D Layer filter의 가로세로 사이즈 (depth는 케라스가 보정!)
strides=(1,1), # Conv2D Layer filter의 이동 보폭
padding='same', # 앞전 feature map의 가로세로 사이즈 유지 | 외곽 정보 더 반영
activation='relu', # 빼먹지 않기!
) )
- 파라미터 설명
filters = 32 : 서로 다른 가중치(값)를 가진 필터의 수
kernel_size = (3,3) : 필터의 가로세로 사이즈
strides = (2,2) : filter의 보폭 (어떻게 이동할 것인가)
padding = same (적용o), vaild (적용x) : 1. 이전 feature map의 크기 유지 2. 가장자리 손실 방지
activation = 'relu' : 활성화 함수
(MAX-)Pooling Layer > Sub-sampling
중요 정보만 추출하여 feature map의 크기를 줄임으로써 연산시간(연산량)을 줄이기 위한 레이어이다.
하드웨어 제약이 컸기때문에 필요했다.
model.add( keras.layers.MaxPool2D(pool_size=(2,2), # Maxpooling layer filter의 가로세로 사이즈
strides=(2,2), # Maxpooling layer filter의 이동 보폭
) )
pool_size = 2
Stride = 2
Dropout, BatchNormalization
모델 성능을 높이기 위한 테크닉이다.
- Mini-batch : 기본 32개의 데이터 덩어리(Batch)를 이용해 가중치(W)를 업데이트한다.
- BatchNormalization : 덩어리 데이터 분포를 평균이 0이고 분산이 1인 형태로 정규화한다.
Full-Connected
Flatten을 통해 3차원 데이터를 1차원으로 구성하는 방식으로 흑백 이미지에만 성능이 올라간다. (컬러엔 성능↓)
SoftMax
마지막에 분류를 진행 activation function이다.
- 시각화 데이터 사이트
AI-Hub
[문화관광] 한국 골목길 이미지 및 3D 데이터 #PCD # 세그멘테이션 조회수 16,358 관심등록 12 다운수 115
www.aihub.or.kr
2. kaggle
https://www.kaggle.com/datasetsFind Open Datasets and Machine Learning Projects | Kaggle
Download Open Datasets on 1000s of Projects + Share Projects on One Platform. Explore Popular Topics Like Government, Sports, Medicine, Fintech, Food, More. Flexible Data Ingestion.
www.kaggle.com
3. MDIS: 마이크로 데이터
'KT AIVLE School > 시각지능 딥러닝' 카테고리의 다른 글
100중 분류 (1) | 2024.10.24 |
---|---|
Transfer Learning (3) | 2024.10.23 |
Image Precessing & Augmentation - notMNIST (0) | 2024.10.23 |
MNIST에 CNN 추가, CIFAR-10에 CNN 추가 (0) | 2024.10.23 |
notMNIST 분류 (0) | 2024.10.21 |