top of page
소량 데이터 셋 기반 피드백 지도 학습

연구 인원  

본인 역할  

개발 환경

총 3명

Data Augmentation(기여도 : 90%)

1) Tool : jupyter notebook

2) Language : keras, tensorflow, python3

images.jpg

프로젝트 소개 (요약)

대학원 프로젝트 A-1을 보강한 프로젝트로써, 사용자 피드백 방법을 추가하여 실험하였습니다. 사용자 인터페이스를 통해 Data Augmentation 기법을 사용하여 초기 학습 데이터를 증강한 실험을 추가 하였습니다.

Q1. 이 연구를 개발한 목적이 궁금한데?

A1.

기계학습 뿐 아니라 사용자의 피드백을 통해 소량의 데이터에도 불구하고, 딥러닝을 통하여 분류 향상도를 높이고자 하였습니다. 대학원 A-1의 프로젝트를 수행한 뒤, 향상도가 미세하게 증가하여 실망하였습니다. 향상도를 눈에 띄게 증가할 수 있는 방법을 생각하다가 Data Augmentation이라는 데이터 증강방법을 알게 되었습니다. 아무래도 2000개 이하의 데이터는 적었다고 생각하여 해당 방법을 사용한 실험을 추가 하였습니다.

 

Q2. 어떻게 학습했니?

A2.

사용자 인터페이스를 만들었습니다. 이미지를 인터페이스에 띄우고, 해당 이미지에서 카테고리를 대표하는 영역을 사용자에 의해 선택 됩니다. 선택된 영역을 제외한 나머지 부분은 zero-padding을 사용하여 전부 "0" 값으로 만듭니다. 이를 초기 학습 데이터 셋에 추가적으로 피드백을 주게 됩니다. 원래 초기 학습 데이터 셋에 추가적으로 이미지를 부여하여 향상도를 측정하였습니다. 

개발 내용(본인 구현 부분)

컴퓨터초이스인터페이스.png

[그림 1] 사용자 인터페이스

> 사용자 인터페이스 입니다.

> 데이터베이스에서 이미지를 불러옵니다.

> 사용자는 이미지에 대한 카테고리를 선택하고, 카테고리를 대표할 영역을 해당 이미지 안에서 드래그를 통해 선택합니다.

> 선택된 영역을 제외한 나머지 부분은 "0" 값으로 지정됩니다.

> 모든 아이템에 대하여 해당 방식을 적용하여 데이터 셋을 만듭니다.

> 데이터 증강 방법 (Data Augmentation)

ㅇㄹㅇㄴㄹㄴ.png

[그림 2] 분류 시스템 흐름도

ㅇㄹ.png

[그림 3] VGG16 모델 구조

> 원본 이미지 데이터 셋을 각 레이어에 연결합니다.

> CIFAR-10 데이터 셋으로 구성된 딥러닝 모델에 사전학습 시킵니다.

> 원본 이미지 데이터 셋에서 train 75%, test 25%로 나눕니다.

> 사용자 피드백 이미지 데이터 셋을 추가 합니다.

> 딥러닝 모델을 통하여 이미지를 학습 및 분류합니다.

> 사용자 이미지 데이터는 점진적으로 추가하여 성능을 확인 하였습니다.

   - 10%, 20%, ... ,100%

ㅇㄹㅇㄹ.png

[그림 4] 정확도

ㅇㄹㅇㄹㅇㄹ.png

[그림 5] 향상도

> 10% 씩 점진적으로 추가하여 실험한 결과 100%를 주었을 경우, 확실한 향상 효과가 나타납니다.

   - 90%의 정확도

> [그림 4]의 노란 부분은 원본 이미지 데이터 셋을 입력 값으로 딥러닝을 통해 분류한 정확도 입니다.

bottom of page