inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

데이터 증강(Augmentation) 기법 관련 질문

931

준파리

작성한 질문수 2

0

안녕하세요 강사님!

데이터 증강 관련해서 2가지 질문이 있습니다.

먼저, 제가 다루고 있는 이미지 데이터가 ok/ng 2분류 데이터인데, ng 데이터가 적은 불균형 데이터입니다.

강의에서 설명해주신 데이터 증강은 불균형보단 데이터셋 전체 크기가 작은 상황을 가리키는 것 같은데요. 가지고 있는 데이터가 불균형을 이룰 경우 데이터 증강을 어떤 식으로 사용해야 하는지 궁금합니다.

ng 데이터만 따로 증강을 적용해서 해당 이미지들을 저장하여 학습시켜야 할까요?

두 번째 질문은..

데이터 증강을 적용했을 때 얼마나 더 많은 이미지를 변형시켜 만들어내는지는 model을 학습시킬 때 지정한 파라미터 epochs를 통해 판단하면 되나요?

ImageDataGenerator를 통해 변형을 시켰지만, 얼마나 더 많은 이미지를 만들어냈는지는 잘 모르겠습니다.

증강 머신러닝 배워볼래요? augmentation 데이터증강 tensorflow keras 불균형 kaggle 딥러닝 cnn

답변 1

0

권 철민

안녕하십니까,

생각해볼 거리를 제공하는 좋은 질문이군요.

  1. 불균형한 이미지 데이터 문제를 개선하기 위해 augmentation을 활용하기도 하지만 성능 향상을 크게 기대하기 어려운 경우가 많습니다.

일반적으로 이미지의 불균형 문제는 이미지 분류에서도 큰 문제 입니다. 가령 반도체 웨이퍼의 불량이미지를 검출한다고 할 때 일반적인 반도체 웨이퍼의 이미지는 매우 많지만 불량 이미지의 갯수는 상대적으로 적은 경우가 대부분이어서 모델 학습에 어려움이 있을 수 있습니다.

초기에 이런 문제를 해결하기 위해서 말씀하신대로 학습을 시키기 이전에 먼저 건수가 작은 이미지들을 augmentation으로 이미지를 증가시키는 기법을 적용하는 방법을 사용하기도 했습니다.

하지만 augmentation이 기본적으로는 원본 이미지를 기반으로 색상/명도/조도 또는 위치 변경등의 변형 작업을 수행하기 때문에 모델 성능을 크게 향상시키지는 못했습니다. 또한 학습 시에는 없던 다양한 형태의 이미지들이 테스트 데이터로 들어오게 되면 어쩔수 없이 성능이 저하되게 됩니다.

그래서 GAN 기법을 이용해서 synthetic 이미지를 만드는 방식도 한동안 유행하는데, 이 방식 역시 Augmentation보다는 조금 낫지만, 성능을 크게 향상 시키지는 못하게 됩니다.

이러한 문제는 아직도 개선을 위해서 많이 연구중이며 semi supervised나 self supervised와 같은 방식이 활발하게 연구중입니다.

  1. 네 맞습니다. 대략적 으로나마 이미지 변형 횟수는 epochs 횟수 정도로 가늠할수 밖에 없습니다. 왜냐하면 수행이 될 때마다 반드시 변형이 되는게 아니고 random으로 변형 확률이 정해지기 때문에 그렇습니다.

 

감사합니다.

 

 

resize 질문

0

50

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

76

1

Loss와 매트릭 관계

0

62

2

Boston 코랩 실습

0

163

2

배치 정규화의 이해와 적용 2 강의 질문

0

135

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

144

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

204

2

소프트맥스 관련 질문입니다

0

208

1

강의 관련 질문입니다

0

151

2

residual block과 identity block의 차이

0

189

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

240

1

실습 환경

0

165

2

입력 이미지 크기

0

243

2

데이터 증강

0

196

2

albumentations ShiftScaleRotate

0

207

1

Model Input Size 관련

0

279

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

204

1

일반적인 질문 (kaggle notebook사용)

0

272

2

실무에서 Augmentation 적용 시

0

338

2

안녕하세요 교수님

0

231

1

가중치 초기화(Weight Initialization) 질문입니다.

0

327

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

408

1

학습이 이상하게 됩니다.

2

1036

2

boston import가 안됩니다

0

229

1