Train/Dev/Test Sets (C2W1L01)
- 이번 주에는 신경망을 잘 동작하기 위한 : 하이퍼 파라미터 튜닝, 데이터 설정, 최적화 알고리즘 등에 대해 살펴봄.
실제로 ML 사용하는것은 매우 반복적인 과정
- 레이어의 개수, 은닉층 유닛 개수, 학습률, 활성화 함수 등을 고려해야하나 처음에는 어떻게 골라야할지 모름.
- 더 나은 신경망을 얻기 위해서 직접 지정해보고, 구현해서, 돌려보고 반복하여야 함.
- 신경망의 현재 활용 분야 NLP, Vision, Speech, 구조화된 데이터로 웹검색, 추천 등
- 한 분야의 내용이 다른 분야에서도 적용시킬수도 있음.
- 아무리 전문가라해도 한번에 하이퍼파라미터를 잘 지정하는건 어려움.
=> 여러번 반복 과정을 거쳐야함
훈련/개발/테스트 셋
- 빠르게 개발하기 위해서 효율적으로 위 사이클을 돌고, 데이터를 잘 모아야 함.
- 전체 데이터셋을 테스트셋/검증셋(개발셋)/테스트셋 으로 나누어 사용.
- 워크플로는 훈련셋으로 학습하고, 검증셋으로 어떤 모델의 성능이 최적인지 봄. 최종 모델에다가 테스트셋을 돌림.
- 관행 : 70 훈련, 30 테스트 혹은 60 훈련, 20 검증, 20 테스트
- 빅데이터 시대(현대) : 검증, 테스트셋의 비율을 최소한 평가할수 있을 만큼 줄여도 괜찬음.
일치하지 않은 훈련/테스트셋 분포
- 현대에는 일치하지 않는 훈련/테스트셋을 사용하고 잇음.
- 고양이 분류시 훈련셋은 웹에서 구한 고양이 사진, 테스트셋은 앱에서 사용자로부터 얻은 고양이 사진
* 웹에서 구한 사진은 고해상도고, 전문가스러우나, 앱에서 올라온것은 흐릿하고, 저해상도의 이미지들
=> 훈련셋과 테스트셋의 분포가 일치하지 않는다. => 같은 분포로 하는 것이 좋다.
- 테스트셋은 없어도 괜찬음. 테스트셋은 최종 신경망의 비편향성 추정치를 구하기 위함. 이게 필요없다면 테스트셋없이 검증셋만 있어도 됨. 검증 셋으로 서로 다른 아키텍처를 비교해서 더 나은걸 고르면 되겠다.
'컴퓨터과학 > 딥러닝 AI Andrew Ng' 카테고리의 다른 글
C4W2L06 Inception Network Motivation (0) | 2021.04.21 |
---|---|
C4W2L05 Network In Network (0) | 2021.04.21 |
C4W2L03, C4W2L04 Resnets, Why ResNets Work (0) | 2021.04.20 |
C4W2L01, C4W2L02 Why look at case studies?, Classic Network (0) | 2021.04.20 |
C1W2L01 ~ C1W2L03 Binary Classification, Logistic Regression, Logistic Regression Cost Function (0) | 2021.04.20 |