https://teachablemachine.withgoogle.com/train
Teachable Machine
Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required.
teachablemachine.withgoogle.com
Teachable Machine을 통해 쉽게 머신 러닝이 무엇인가를 이해할 수 있다.
현재에는 사진, 음성, 포즈로 학습이 가능하다.
Teachable Machine 사용법
Image Project로 예를 들면,
크게 Class, Training, Preview로 나뉜다.
1. Class
여기서 Class란,
비슷한 속성을 가진 데이터의 집합을 말한다.
안경을 낀 사람과 그렇지 않은 사람을 예로 들었을 때
Class1에 안경을 낀 사람의 사진을 업로드하였다면
Class2에는 안경을 끼지 않은 사람의 사진을 업로드하면 된다.
클래스의 이름은 우측의 연필 아이콘을 이용하여 수정이 가능하며
새로운 클래스를 추가할 수도 있다.
사진 업로드하기
웹캠으로 직접 찍고 싶다면 왼쪽의 'Webcam' 아이콘을,
기존의 사진을 올리고 싶다면 오른쪽의 'Upload' 아이콘을 눌러
사진을 업로드한다.
더보기 아이콘을 누르면
클래스 삭제, 클래스 비활성화, 사진 모두 삭제, 사진 다운로드, 드라이브에 사진 저장을 할 수 있다.
2. Training
사진 업로드를 완료하면 Train Model 버튼이 활성화되는데,
말 그대로 컴퓨터에게 학습을 시키는 과정이다.
'Advanced'를 누르면 여러 가지 옵션이 나온다.
Epochs
전체 데이터 셋에 대해 forward pass와 backward pass 과정을 거치는 학습의 수.
즉 50번의 Epoch는 전체 데이터 셋에 대해 50번의 학습을 완료한 것이다.
Epoch값을 적절하게 설정해야
underfitting(epoch값이 너무 작을 때 발생) / overfitting(epoch값이 너무 클 때 발생) 을
피할 수 있다.
참고: https://m.blog.naver.com/qbxlvnf11/221449297033
Batch Size (+ Iteration)
Mini-Batch의 크기.
전체 데이터 셋을 batch size 크기의 Mini-Batch로 나누어 학습한다.
batch size가 5라면 5개의 샘플 데이터마다 가중치가 갱신된다.
Iteration은 1번의 Epoch를 위해 몇 회의 가중치 갱신이 일어났는가를 의미한다.
즉, Epoch를 몇 회로 나누어 실행했는가.
예를 들어
전체 데이터 셋의 크기가 100이고 Batch size가 20이라면
Mini-Batch의 크기는 20,
20개의 데이터에 대해 가중치 갱신이 일어나므로
Iteration의 총 횟수는 100/20 = 5회.
1 Epoch = 5 Iteration.
batch size가 클수록 학습이 빠르지만
컴퓨터의 메모리 문제 때문에 나누어 학습하는 것이다.
Learning Rate
반복 학습 시 Gradient Descent라는 학습 방법을 사용하는데,
이 알고리즘의 매개변수가 Learning Rate이다.
이는 각 반복에서 step의 크기를 결정한다.
step과 iteration의 차이가 무엇인가 찾아보았는데 같은 의미라고 봐도 무방할 것 같다.
위의 예에서와 같이 batch size가 20이고 5회의 step을 처리했다면
전체 데이터 셋의 크기는 100이 된다.
위 그래프에서 볼 수 있듯이
step이 클수록 learning rate가 큰 것이고
step이 작을수록 learning rate가 작은 것이다.
머신 러닝 모델이 학습하는 속도를 의미한다고 봐도 될듯.
모든 옵션을 정하고
옵션은 자동으로 입력되긴 한다
Train Model 버튼을 누르면
학습이 진행된다.
3. Preview
학습 결과를 확인할 수 있는 단계이다.
Export Model 버튼을 누르면 페이지 외부로 export 할 수 있다.
데이터 업로드와 버튼 하나 누르는 것만으로도
프로젝트에 사용할 수 있으니 매우 편할듯.
적은 양의 데이터로도 어느 정도의 결과가 나오는 게 신기함!
-
'Machine Learning' 카테고리의 다른 글
[Machine Learning] 머신 러닝의 간단한 개념 (0) | 2020.08.20 |
---|