Nomalization, 정규화란
IT분야에 정의된 의미로는 데이터를 일정한 규칙에 따라 변형하여 이용하기 쉽게 만드는 일입니다. 즉 기계에게 학습을 진행하기 전에 데이터 값의 범위(scale)를 0과 1 사이 값으로 간단하게 만들어주어 노이즈가 생기는 걸 막아 오버 피팅을 방지하고 학습 속도를 높이기 위해 그리고 Local optimum 문제에 빠질 확률을 줄이기 위해 진행합니다. 대표적으로 배치 정규화:Batch Nomalization에 대해 알아보겠습니다.
StandardScaler
평균과 표준편차를 활용, 평균을 제거하고 데이터를 분산으로 조정
MinMaxScaler
최대/최솟값이 각각 1과 0이 되도록 함
이미지 데이터의 경우 0부터 255까지의 픽셀 값을 가지고 있는데 이것을 255로 나누어서 0과 1 사이의 데이터를 갖게 하여 학습에 사용한다.
Batch Nomalization, 배치 정규화
딥러닝 모델은 학습을 위해 가중치(weight), 편향(bias) 등 하이퍼 파라미터(Hyper Parameter)의 초기값을 지정해주어야 합니다. 하이퍼 파라미터는 절대적인 최적 값이 존재하지 않기 때문에 사용자가 히스토리를 기반으로 직접 설정해줍니다. 이때 정해지는 초기값에 따라 학습 시간과 정확도가 달라집니다. 잘못 설정한다면 긴 학습 시간을 거치고도 매우 낮은 정확도를 보여줄 수도 있습니다.
하지만 배치 정규화를 사용한다면 배치 단위로 정규화하여 초기값의 영향을 받지 않으며 모델의 학습 시간을 줄이고 정확도를 높일 수 있습니다. 이렇게 효과적인 방법의 특징과 알고리즘 그리고 장단점에 자세히 알아보겠습니다.
도입
학습 시 기울기 소멸이나 기울기 폭발이 일어나게 되면 그 부분의 학습은 원활하게 이루어지지 않습니다. 배치 정규화는 이런 문제를 해결하기 위해 2015년에 Sergey Ioff와 Christian Szegedy가 만든 딥러닝에서 가장 중요한 알고리즘 중 하나입니다. 인공 신경망의 각 층에 들어가는 입력을 평균과 분산으로 정규화하여 보다 학습을 효율적으로 만들어줍니다. CNN에서 2012년에 제안된 드롭아웃(Drop Out) 기법을 사용하여 정규화를 진행하였는데 배치 정규화가 등장하면서 대부분 드롭아웃 대신 배치 정규화를 사용하고 있습니다.
기울기 소멸, Gradient Vanishing: 학습 과정 중 기울기가 급격하게 감소하는 현상, 0에 가까워짐
기울기 폭발, Gradient Exploding: 학습 과정 중 기울기가 급격하게 증가하는 현상
특징과 아이디어
배치(Batch)란 데이터 전체 중에서 일부분을 표현하는 단어입니다. 신경망 모델을 학습시킬 때 전체 데이터를 한 번에 학습시키게 되면 시간이 오래 걸리므로 조그만 단위로 분할하여 학습을 시키는데 이때 조그만 단위를 배치라고 표현합니다. 이때 이 배치 단위로 정규화를 진행하는 것이 배치 정규화이며 각 층에 들어가는 입력들의 분포의 평균을 0으로 분산을 1이 되도록 정규화를 진행하여 학습을 효율적으로 만들어줍니다. 배치 정규화가 이루어지는 시점은 각 층에서 활성화 함수를 통과하기 전에 수행합니다.
배치 정규화 알고리즘은 Hidden Layer의 활성화 함수 입력값 또는 출력 값 상태인 배치의 평균과 분산을 계산합니다. 이후 해당 배치를 평균이 0, 분산이 1이 되도록 정규화합니다. 층이 깊은 신경망일수록 같은 Iuput값을 갖더라도 가중치가 조금이라도 달라지면 완전히 다른 Output이 나옵니다. 이를 해결하기 위해 각 Layer에 배치 정규화 과정을 추가해준다면 가중치의 차이가 완화되어 보다 안정적인 학습이 이루어집니다.
효과와 한계
배치 정규화의 효과는 학습률을 높게 설정할 수 있기 때문에 1. 학습 속도가 향상됩니다. 그리고 기울기 소멸과 폭발 문제를 해결하며 2. 오버 피팅을 방지합니다. 또 학습할 때마다 출력 값을 정규화하기 때문에 3. 가중치 초기화 민감도를 해소합니다.
반대로 한계로 평가받는 부분은 CNN에서 많이 사용되지만 1. RNN에 적용하기 어렵습니다. RNN의 경우 시간에 따라 다른 통계치를 가지고 있습니다. 이 부분이 적용을 어렵게 만들지만 RNN에서 배치 정규화를 적용하기 위한 여러 논문들이 제시되고 있습니다. 그리고 2. 미니 배치의 크기에 의존적입니다. 너무 작은 배치 크기에서는 잘 작동하지 않을 수 있습니다. 이처럼 배치 크기에 의존적인 면이 있습니다. 3. 배치의 크기가 너무 커도 잘 동작하지 않습니다.
Overfitting:오버피팅:과적합 방지, 해결을 위한 다양한 방법들
Overfitting, 과적합 딥러닝 모델을 연구하는 과정에서 피할 수 없는 문제인 과적합(Overfitting) 지난 포스팅에서 자세히 설명했던 과적합을 간단히 설명해보면 모델의 능력이 높아 학습 데이터를 다
aiday.tistory.com
내용 참고
한양대학교 인공지능융합대학원 딥러닝 개론 강의자료, 두산백과, 퇴근 후 딴짓_Youtube
'AI' 카테고리의 다른 글
포털 사이트를 위협하는 ChatGPT, 소개 | 사이트 | 가입 | 특징 | 사용법 | 오류 | 블로그 자동화 (by.OpenAI) (7) | 2023.01.30 |
---|---|
생성적 적대 신경망:GAN 원리/학습/구조/목적함수/활용사례 (41) | 2022.10.25 |
Overfitting:오버피팅:과적합 방지, 해결을 위한 다양한 방법들 (52) | 2022.10.22 |
비전공자도 알수있는 Overfitting(과대적합)과 Underfitting(과소적합) 의미 (66) | 2022.10.11 |
[로봇인공지능] 핵심 총정리 (58) | 2022.09.29 |