[Coursera] DeepLearning.AI TensorFlow Developer ( Tensorflow In Practice ) 강의 정리
Course 1 : Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
Course 2 : Convolutional Neural Networks in TensorFlow
- Week 1 - Exploring a Larger Dataset
- Week 2 - Augmentation: A technique to avoid overfitting
- Week 3 - Transfer Learning
- Week 4 - Multiclass Classifications
Course 3 : Natural Language Processing in TensorFlow
Course 4 : Sequences, Time Series and Prediction
Image Augmentation
Image Augmentation : 데이터 과적합 방지 위한 매우 강력한 도구
요약하면, 만약 고양이를 발견하기 위해 모델을 학습시키고 있고, 모델은 고양이가 누워있을 때 데이터가 없다면,
그 것을 인식하지 못할 수 있다.
이에, Augmentation은 회전, 줌 같은 변환을 사용하여 학습하는 동안 이미지를 즉시 수정한다.
예를 들어, ‘서 있는’ 고양이를 90도 회전시켜 누운 고양이의 이미지처럼 만들 수 있다.
그리고 데이터 세트를 기존 데이터셋보다 확장할 수 있다.
https://github.com/keras-team/keras-preprocessing에서 Augmentation 관하여 자세히 확인할 수 있다.
1 | |
rescale=1./255 - 스케일 조정
rotation_range=40 - 0-180도 회전 범위
width_shift_range=0.2 - 프레임 안쪽으로 이미지 수평 20% 이동
height_shift_range=0.2 - 프레임 안쪽으로 이미지 수직 20% 이동
shear_range=0.2 - 전단
zoom_range=0.2 - 줌
horizontal_flip=True - 오른쪽 왼쪽 전환
fill_mode='nearest' - 위 작업으로 손실될 픽셀 채워 줌
The impact of augmentation
전체코드
1 | |
https://www.coursera.org/professional-certificates/tensorflow-in-practice