쑤쑤_CS 기록장

Chapter 3: Training the Image Classifier _ 예제 결과 공유 본문

IT 지식 기록/ML for iOS | 인공지능

Chapter 3: Training the Image Classifier _ 예제 결과 공유

(╹◡╹)_ 2020. 7. 20. 17:29
728x90

챕터3의 이론은 다음 글에서 보다 자세히 다루고,

이번 글에서는 xCode와 ML을 이용한 예제에 대한 결과를 공유하고자 한다.

 

 

* The dataset 
snacks 관련된 데이터 zip 파일을 다운받는다.


* Create ML
<예제1> input에 train 데이터를 넣어 모델을 학습Train 시킨다.

이는 가장 기본적이고 간단한 형태로, 뒤이어 나올 예제에서는 이를 바탕으로 활용하고 다양한 옵션을 추가할 것이다.

 


The window shows Activity: 

Step 1 is to extract features, and there's a progress bar to show how many images have been processed:

Step 2 — training — a graph appears, displaying Training accuracy, Validation accuracy for each iteration. And when training is complete, you get a Metrics table listing Precision and Recall for the 20 classes:

 

결과는 다음과 같다.

 

Output을 클릭하여 데이터에 없던 새로운 이미지를 넣으면, 학습된 모델이 결과를 출력한다.

새로운 사과 이미지에 대한 100% confidence를 확인할 수 있다.

 

 

<예제2> 는 앞의 <예제1>에서 Maximum Iterations 값을 수정한다.

이 값은 기본으로 25값이 적혀있고, 이를 10 으로 줄여 모델 학습을 진행한다.

 

그 결과 Training accuracy 가 줄고, Validation accuracy 도 줄었다. 그러나 두 값은 더 서로 비슷해졌다.

 

 

<예제3>은 <예제1>에서 validation data를 AUTO 가 아닌 실제 validation data로 학습시킨다는 것이다. 

수행 결과는 다음과 같다.

 

 

<예제4>는 새로운 모델을 만들고 이때 Augmentations에 Crop 옵션을 선택한다.

나머지는 조건은 <예제1>과 동일하게 input에 train 데이터를 설정하고 Train 시킨다.

 

그 결과는 다음과 같다.

 

마지막으로 <예제5><예제1>에서 Testing 데이터도 직접 데이터를 넣어서 test를 진행해보는 것 이다.

그 결과, 88%의 accuracy를 가진다.

 

 

* Challenge 문제

앞의 예제를 바탕으로 새로운 문제에 적용시켜본다.

Kaggle에서 유명한 cat vs dog 문제의 model 을 생성한다.

 

큰 상관 없지만, https://www.kaggle.com/chetankv/dogs-cats-images 의 데이터 자료를 사용해보았다.

 

<활용1> input 데이터에 train 데이터만 넣어 모델을 생성한다.

결과는 다음과 같다.

Output을 선택하여 구글에서 찾은 이미지를 넣어보았다. 많은 학습 data로 train된 모델이다 보니 높은 정확도를 가진다.

 

 

<활용2> train과 test 항목 각각에 데이터를 넣어 모델을 학습시켜본다.

 

결과는 다음과 같다.

 

 

 

 

3장의 Key Points

  • You can use macOS playgrounds to test out Create ML, and play with the different settings, to create simple machine learning models.

  • Create ML allows you to create small models that leverage the built-in Vision feature extractor already installed on iOS 12+ devices.

  • Ideally, you want the validation accuracy to be similar to the training accuracy.

  • There are several ways to deal with overfitting: include more images, increase training iterations, or augment your data.

  • Precision and recall are useful metrics when evaluating your model.

728x90
Comments