deep_learning
-
Data AugmentationData miner/Development log 2021. 1. 7. 17:30
이미지 분류 작업을 한다고 가정해보자. 모델을 충분하지 않은 데이터로 학습시킬 경우, 학습데이터에 존재하지 않은 분류 클래스별 특징으로 인해, 모델의 정확도가 떨어질 수 있다. 이 경우, 이미지를 단순히 변형시키는 방식으로 Augmentation으로 하여, 모델의 정확도를 향상시킬 수 있다. 아래의 사진을 보자. 왼쪽 고양이의 원본 사진은 고양이의 귀가 위를 향한 사진이었다. 누워 있는 고양이를 식별하기 위해서, 우리는 왼쪽 사진을 오른쪽으로 45도 정도 회전시켜 학습시킬 수 있다. 우리가 기대하는 효과는, 누워있는 고양이의 귀의 특징을 변형된 왼쪽 사진을 활용해 학습시키는 것이다. Data augmentation는 Keras의 preprocessing의 ImageDataGenerator의 클래스를 활용..
-
[딥러닝 학습 팁] Drop outData miner 2020. 12. 9. 18:30
특정 모델이 학습 데이터에 과학습 되었을 때만 사용하는 기술이다. 학습하는 데이터의 수가 적은 경우, 딥러닝 모델이 데이터의 노이즈 부분까지 세밀하게 학습하여 궁극적으로 테스트 데이터에서 좋은 성능을 내지 않을 수 있다. 테스트 데이터와 학습 데이터의 분포가 동일함에도 이러한 문제는 발생한다. 학습하는 데이터의 수가 충분하여 모델이 과학습 되지 않았다면, 굳이 사용하지 않아도 된다. 여러 모델의 결합이 머신러닝의 성능을 높여줄 수 있으나, 이러한 접근 방식은 비용이 많이 드는 방식이다. 여러 모델은 각기 다른 아키텍처를 가지고 있어야 하며, 다른 데이터에서 학습된 것이어야 하기 때문이다. Dropout은 이러한 이슈를 해소시켜준다. Dropout은 모델의 과학습을 방지하기 위한 Regularization..