본문 바로가기

컴퓨터비전/CNN14

[딥러닝] Learning Rate Scheduler(keras) 개요 Learning Rate는 동적으로 변경해주는 것이 모델 학습에 유리합니다. Learning Rate Scheduler는 모델 학습할 때마다 다양하게 적용이 가능합니다. 종류 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.optimizers import SGD from tensorflow.keras.callbacks import LearningRateScheduler import tensorflow as tf import numpy as np def step_decay(epoch): start = 0.1 drop = 0.5 epochs_drop = .. 2022. 3. 22.
[딥러닝] 미세 조정(Fine Tuning) 전이 학습(Transfer Learning) 전이 학습은 사전에 학습이 된 모델의 가중치를 가져오는 것입니다. 우리가 동물을 분류하는 모델을 만든다고 가정하였을 시, 그 여러 가지 데이터를 수집하고 만드는 데는 엄청난 시간과 비용이 들것입니다. 하지만 이미 동물을 분류하는데 특출난 가중치만 가지고 있다면 어느 동물의 사진을 넣든 그 동물을 분류하는데 최적화될 것입니다. 우리가 만약 개와 고양이 두 마리의 동물을 분류한다고 가정하면, 모델의 ImageNet Pretrained을 커스텀 모델로 활용하고, 마지막 Classification Layer의 분류가 1000개이기 때문에 이것만 개와 고양이 2개의 Layer로 커스터마이징 해주면 될 것입니다. 미세조정(Fine Tuning) 미세 조정(Fine Tun.. 2022. 3. 20.
[딥러닝] EfficientNet 모델의 개요 및 특징 개요 네트워크의 깊이(Depth), 필터 수(Width), 이미지 Resolution 크기를 최적으로 조합하여 모델 성능 극대화하는 것입니다. 기존에는 이 세 가지를 수동으로 조절하였지만, compound scaling방법을 연구합니다. 깊이, 필터 수, 이미지 크기가 일정한 관계가 있다는 것을 알아내고, 이 관계를 수식으로 만듭니다. 위의 그림을 보면, 상대적으로 타 모델 대비 높은 정확도와 적은 파라미터, 연산 수를 나타냅니다. 필터 수, 깊이를 일정 수준 이상 늘려도 성능 향상은 미비하지만, 이미지 크기는 어느 정도 약간씩 성능 향상이 지속되고 있습니다. 이미지 해상도가 높을 경우 더 큰 Receptive field가 더 많은 픽셀을 포함하는 비슷한 피처들을 잘 캡처할 수 있습니다. 그리고 더 많은.. 2022. 3. 20.
[딥러닝] ResNet 모델의 개요 및 특징 개요 앞서 소개한 VGG, AlexNet에서 층이 깊어질수록 모델이 좋아진다는 것이 증명되었습니다. 하지만 무작정 계속 늘리면 늘릴수록 좋을까요?? 그렇지 만은 않습니다. 위 그림을 보면 56층을 갖는 구조가 20층을 갖는 모델보다 더 에러가 많이 나왔습니다. ResNet저자들은 깊이를 늘릴 방법을 연구했고, input을 x라고 하고, 최적 함수를 H(x)라고 했을 때 H(x) = x 가 나오는 Convolution Layer가 identity 역할을 하게 생성하면 층을 계속 늘려도 성능이 저하되지는 않을 것이라고 추측하였습니다. 위의 그림을 보면 Identity block을 이렇게 구성하면 될 것 같은데 ReLU와 같은 비선형 Layer로 인하여 identity mapping이 어렵습니다. 그래서 나온.. 2022. 3. 20.