Learing rate decay
Learning rate decay의 개념은 아래 링크를 참고하자. 여기서는 텐서플로로 구현하는 방법만 살펴본다.
is_decay = True # learning_rate decay를 사용
starter_learning_rate = 0.1 # 최초의 learning rate
# is_decay 여부에 따라 학습 스케줄링 여부가 달라짐.
if(is_decay):
learning_rate = tf.keras.optimizers.schedules.ExponentialDecay(initial_learning_rate=starter_learning_rate,
decay_steps=1000,
decay_rate=0.96,
staircase=True)
optimizer = tf.keras.optimizers.SGD(learning_rate)
else:
optimizer = tf.keras.optimizers.SGD(learning_rate=starter_learning_rate)
tf.keras.optimizers.schedules.ExponentialDecay()
를 사용하면 계속 같은 비율로 학습률을 감소시켜 준다. staircase=True
로 설정하면 decay_steps
까지는 학습률을 감소시키지 않다가, 그 이후부터 감소시키기 시작한다.
특성 스케일링
아래 링크를 참고하자.
잡음 처리
잡음을 처리하면 데이터 분석을 더 효과적으로 할 수 있다. 예를 들어 다음과 같은 인물의 얼굴을 인식한다고 해보자.
왼쪽의 머리 전부를 사용한다면 그만큼 효율이 떨어질 것이다. 오른쪽처럼 얼굴 부분만 확대하여 학습에 사용해야 더 효율적으로 학습을 할 수 있다.
별도의 출처 표시가 있는 이미지를 제외한 모든 이미지는 강의자료에서 발췌하였음을 밝힙니다.
댓글남기기