1.target size
-즉 이미지 사이즈인데, 이미지 사이즈가 작아질수록 손실이 생긴다. 당연하겠지
2.batch_size
-이미지 target_size가 커지면 메모리 소모량이 크기때문에 batch_size를 줄여준다.
3.모델바꾸기
-EfficientNetB0이라고 하면 B1~ 점차 숫자를 늘려준다
4.augmentation
-좌우위치도 영향이 감. 만약 개가 오른쪽에만 있다면? 학습할 때 우리 모델은 '개'라는 것은 오른쪽에만 있구나! 하고 인식하겠지,
-평가를 할때에도 어그멘테이션이 필요한가? ㄴㄴ
test나 valid 에서는 필요없지, 시간만 낭비니까
-크롭도있음. 크롭해서 주변인들을 없애는거야 ^^
5.learning rate
from tensorflow.keras.callbacks import EarlyStopping,ModelCheckpoint,ReduceLROnPlateau
es=EarlyStopping(patience=3,verbose=1)
mc=ModelCheckpoint('best.h5',save_best_only=True)
rl=ReduceLROnPlateau(patience=2)
#adam은 기본 학습률 0.001
early stopping
-val loss 내려갈 수록 좋음.
-global optimum 값에 가까이 가면 가까이갈수록, val_loss가 줄어든다. 그걸 인식해서 learning rate를 변경해준다.
-patience (3,5,10~ 설정)해서 참아준다.
ReduceLROnPlateau
어느정도 점수개선이 됐을때는 러닝레이트가 커서 최적의 지점을 찾기 어렵기 때문에 , 러닝레이트를 한번은 줄여줘야됨
EarlyStopping보다 Patience 작게 (멈추면 안되니까)
ModelChe ModelCheckpoint
-h5는 가중치를 저장할수있는 확장자.
-save_best_only=True #가장 best였던 확장자를 저장해주는것임
6. optimizer
SGD(momentum, nesterov_)
aikorea.org/cs231n/neural-networks-3/#sgd
from tensorlfow.keras.optimizers import SGD
거의 adam 이 좋지만 개,고양이는 SGD가 낫다
7. 교차검증
-딥러닝은 머신러닝과 다르게 값이 튐........ !!(안정적이지 않고, 시도마다 다르게 나온다는 뜻)
k-fold 교차검증으로 안정적으로 나올 수 있음
모든 값을 사용함으로써 !
'머신러닝-딥러닝 > Kaggle' 카테고리의 다른 글
1주차 머신러닝 (0) | 2021.01.22 |
---|---|
9주차 review (0) | 2021.01.14 |
7주차 review (0) | 2020.12.28 |
5주차 과제_정리 #axis, #state_farm(kaggle) (0) | 2020.12.22 |
개vs고양이 분류기 만들기(간편.ver) (0) | 2020.12.21 |