iOS 캠프 TIL - 2021.04.20 화
CoreML
- CoreML
- CoreML: 머신러닝 모델을 앱에 통합하는 프레임워크
- CoreML을 사용해서 앱에 머신러닝을 통합할 수 있음
- 모델: training data에 머신러닝 알고리즘을 적용한 결과
- 지원 분야
- Vision: 이미지 분석
- Natural Language: 텍스트 처리
- Speech: 오디오를 텍스로 변환
- Sound Analysis: 오디오에서 사운드 식별
Image Classifer Model 생성하기
- Creating an Image Classifier Model
- Image Classfier는 이미지를 인식하는 머신러닝 모델이며, 이미지를 주면 그 이미지의 카테고리 label로 응답한다.
- Image Classifer를 이미 분류된 많은 이미지들로 훈련시킬 수 있다.
- 이미지
- 카테고리별로 최소 10장 필요
- 더 나은 퍼포먼스를 위해서는 다양한 각도와 조명의 많은 이미지 활용
- 카테고리별로 이미지 수의 밸런스를 맞춰야 함
- 이미지 포맷은 QuickTime Player가 열 수 있으면 됨
- 이미지가 서로 같은 크기가 아니어도 되고, 최소 299x299픽셀 이미지를 사용
순서
- Xcode메뉴 > Open Developer Tool > Create ML 선택
- New Project > Image Classification
- Training Data에 Traing Dataset 폴더 드래그
- Testing Data에 Testing Dataset 폴더 드래그
- Parameters 설정 > Maximum Iterations 디폴트는 25
- Augmentations 설정 > Add Noise, Blur, Crop…등 선택
- Train 시작
- 완료되면 Ouput탭 > Get 선택해서 모델 저장
의문점
Augmentations 설정을 아무것도 체크하지않고 모델 생성했을 때는 Evaluation탭의 Precision 항목이 모두 100%였다. 도형을 손으로 직접 그린 이미지를 판단해야하므로 여러각도의 경우도 학습시켜야겠다는 생각에 Rotate를 선택하고 생성하니 사각형과 삼각형 카테고리의 Precision이 80%, 69%로 내려갔다. 더 많이 학습을 시켰더니 오히려 정확성이 줄어든건가? 이 의미에 대해 아직 잘 모르겠다.
Leave a comment