고려사이버대학교/Keras

[케라스 6주차] 소규모 데이터셋으로 데이터 부풀리기

꿈돌이. 2022. 4. 9. 23:21

오늘은 케라스 6주차로 소규모 데이터셋을 통해 효율적인 학습을 알아보려고 한다. 딥러닝을 적용하고 싶지만, 실제 학습할 때는 데이터셋 확보가 어렵다. 그럴 경우 데이터셋을 임의로 만들거나 이미 잘 만들어진 모델을 활용할 수 없는지 알아보자.

 

 

1. 데이터 부풀리기와 사전 훈련된 신경망 사용

데이터 부풀리기

rotation_range = 90
  • 지정된 각도 범위내에서 임의로 원본 이미지를 회전시킴
  • 단위는 도이며, 정수형임
  • 예를 들어, 90이라면 0~90도 사이에 임의의 각도를 회전시킴

 

width_shift_range = 0.1
  • 지정된 수평방향 이동 범위내에서 임의로 원본이미지를 이동시킴
  • 수치는 전체 넓이의 비율(실수)로 나타냄
  • 예를 들어 0.1이고 전체 넓이가 100이면, 10픽셀 내외로 좌우 이동시킴

 

height_shift_range = 0.1
  • 지정된 수직방향 이동 범위내에서 임의로 원본이미지를 이동시킴
  • 수치는 전체 높이의 비율(실수)로 나타냄
  • 예를 들어 0.1이고 전체 높이가 100이면, 10픽셀 내외로 상하 이동시킴

 

shear_range = 0.5

 

  • 밀림 강도 범위내에서 임의로 원본이미지를 변형시킴
  • 수치는 시계 반대 방향으로 밀림 강도를 라디안으로 나타냄
  • 예를 들어 0.5이라면, 0.5라이안 내외로 시계 반대 방향으로 변형시킴

 

horizontal_flip = True

수평방향으로 뒤집기를 함

 

vertical_flip = True

수직방향으로 뒤집기를 함