-
[DL for VS #5] 컬러 이미지 합성곱 연산 실습Machine Learning/Deep Learning for Vision Systems 2023. 4. 12. 16:40
3.6 컬리 이미지의 합성곱 연산(3D 이미지)
컬러이미지는 R, G, B채널을 포함하기 때문에 28x28 크기의 이미지를 컴퓨터는 28x28x3크기의 행렬로 다룬다.
3.6.1 컬러 이미지를 대상으로 합성곱 연산하기
합성곱 커널을 입력 이미지 위로 이동시키며 특징 맵을 계산하면 되는데, 이제 커널도 채널이 추가되어 3차원이 되었다.
*훈련데이터 : 모델을 학습하는데 사용하는 데이터
*검증 데이터 : 하이퍼파라미터를 튜닝할 때 훈련 데이터에 치우치지 않도록 하기 위한 별도의 데이터. 검증 데이터에서 학습한 내용이 모델 설정에 끼어들면 모델 평가가 편향된다.
*테스트 데이터 : 모델의 성능을 최종 판단하기 위해 사용하는 데이터
*레이블 행렬
원-핫 인코딩을 적용해서 (1,n) 모양의 레이블 벡터를 (10,n) 모양의 레이블 행렬(n은 이미지 수)로 변환했다. 만약 1,000개 이미지를 포함하는 데이터셋이 있다면 레이블 벡터의 모양은(1x1000)이었다가 원-핫 인코딩을 적용한 후에는 (1000x10) 모양의 레이블 행렬이 될 것이다.
책에서 제공하는 깃허브 코드.
의사코드 프로세스:
1단계. 데이터셋 읽어 들이기
2단계. 이미지 전처리, 픽셀값 정규화, 레이블 준비(원-핫 인코딩), 훈련데이터와 테스트 데이터 분할하기
3단계. 모델 구조 정의하기
- 신경망 구조를 설계하는 방법 : 유명한 신경망 구조(AlexNet, ResNet, Inception)의 문헌을 참고해서 설계와 관련된 결정을 내린 핵심 아이디어를 정리해보면 좋을 듯.
- 입력 이미지가 신경망의 층을 거칠 때 이미지 크기는 줄어들고 깊이(채널)는 증가한다. 등을 고려할 것.
- 시행착오 되풀이x 관련 연구 문헌 참고.
- 여기선 AlexNet의 간략 버전을 실제로 구현.
4단계. 모델 컴파일하기
- 모델의 학습을 시작 전 손실함수, 최적화 알고리즘, 학습 과정 모니터링에 사용할 평가 지표 등 세 가지
- 하이퍼파라미터를 결정해야 한다. 여기서는 평가 지표로 정확도를 의미하는 metrics=[‘accuracy’]
5단계. 모델 학습하기
*주의 깊게 관찰.
val_loss가 진동 -> 학습률을 감소시킨 후 학습 계속 모니터링.
val_loss가 감소하지 않음 ->과소적합
loss는 감소하는데 val_loss가 정체됨 -> 훈련 데이터에 대한 과적합 발생. 훈련데이터의 오차는
줄어드는데 검증 데이터의 오차는 줄어들지 않기 때문.
드롭아웃층 등 과적합 방지 수단 적용해야 함.
6단계. val_acc가 가장 좋았던 모델 사용하기 – load_weights()메서드 이용해서 val_acc 성능이
가장 좋은 가중치를 읽어 들인다.
7단계.모델 평가하기-올바르게 예측하는 빈도 백분율로 계산.
'Machine Learning > Deep Learning for Vision Systems' 카테고리의 다른 글
[DL for VS #7] 신경망 하이퍼파라미터 튜닝 (0) 2023.04.13 [DL for VS #6] 성능 지표 - 정확도, 혼동 행렬, 정밀도, 재현율, F-점수, 시각화 예제 (0) 2023.04.12 [DL for VS #4] CONV kernel, stride, padding, pooling, dropout (0) 2023.04.12 [DL for VS #3] 최적화 알고리즘-(배치, 확률적, 미니배치)경사하강법, 역전파 알고리즘 (1) 2023.04.08 [DL for VS #2] 순방향 계산 과정, 오차함수-평균제곱오차(MSE), 교차엔트로피, 오차와 가중치 관계(최적화 문제) (0) 2023.04.07