
203
4
숫자 분류기의 학습 내부 들여다보기
>>> accuracy_3s = is_3(valid_3_tens).float() .mean()
>>> accuracy_7s = (1 - is_3(valid_7_tens).float()).mean()
>>> accuracy_3s,accuracy_7s,(accuracy_3s+accuracy_7s)/2
(tensor(0.9168), tensor(0.9854), tensor(0.9511))
일단 시작은 꽤 좋아 보입니다! 숫자
3
과
7
모두에서
90
%가 넘는 정확도를 얻었으며, 브로드
캐스팅으로 평가지표를 편리하게 정의하는 방법도 알아보았습니다. 다만 약간 솔직해질 필요
가 있습니다.
3
과
7
은 매우 다르게 생긴 숫자이고
37
, 원본
MNIST
가 제공하는 숫자
10
개 중 두
개만 분류하는 모델을 만들었기 때문에, 앞으로는 이보다 더 나은 결과를 얻어야만 합니다!
더 나은 결과를 얻으려면 이제는 실제로 무언가를 학습하는 시스템을 시도해야 합니다. 즉 시
스템이 스스로 자동 수정해나가도록 하는 방법이 필요하죠. 다음은 이를 실현하는 방법으로
SGD
와 학습 과정을 살펴봅니다.
4.4
1
장에서 인용한 아서 사무엘이 묘사한 머신러닝을 기억하나요?
실제 성능적 관점에서 현재 할당된 모든 가중치의 유효성을 자동으로 검증하는 ...