- 2022년 5월 13일 오후 4:39
- 조회수: 7566
INFORMATION
- 2022년 5월 13일
- 오후 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
Feature Scaling은 효과적인 모델 학습을 위해 모델 학습 이전에 진행하는 데이터 전처리 과정의 중요한 단계 중 하나이다. Feature Scaling이란 Feature 들의 크기, 범위를 정규화 또는 표준화해 특정 Feature가 모델 학습에 더 큰 영향을 미치는 것을 방지하며, 대표적인 방법으로는 Normalization과 Standardization이 있다. 본 세미나에서는 먼저 Feature Scaling의 정의와 사용하는 목적, Feature Scaling의 대표적인 방법론들인 Normalization과 Standardization 각각의 구체적인 방법과 차이점에 대해 설명한다.이후에는 Normalization에 초점을 맞춰 Normalization 관련된 다양한 연구 사례들에 대해 소개한다.
참고 문헌 :
청취자 후기

금일 세미나는 normalization 기법을 주제로 진행되었다. Normalization은 입력된 데이터의 최소/최대 값을 사용하여 변수 값을 모두 0과 1 사이의 값으로 변환하는 방법이다. 본 세미나에서는 batch normalization, layer normalization, instance normalization, group normalization을 소개한다. Batch normalization은 gradient vanishing과 exploding 문제를 방지하는 획기적인 방법으로 등장하였고, 학습 속도를 비약적으로 향상시켰다. Batch normalization은 batch 단위별로 데이터가 다양한 분포를 갖더라도 평균과 분산을 활용하여 정규화한다. Layer normalization은 batch normalization이 batch에 의존하며 발생하는 문제점을 보완한 방법론으로, batch가 아닌 layer를 기반으로 normalization을 수행한다. 따라서 batch normalization과 달리 training과정과 testing과정에서 동일한 방식으로 계산을 수행한다. Instance normalization은 image style transfer 성능 향상을 위해 등장한 방법으로, 개별 이미지에 대해 각각 normalization을 수행한다. Instance normalization 논문에서는 실험적으로 batch normalization보다 instance normalization을 사용했을 때 성능이 향상됨을 보였다. Group normalization은 batch size가 작을 때 성능 저하를 유발하는 batch normalization의 단점을 개선하기 위한 방법론이다. 여러 개의 feature map을 하나의 그룹으로 지정하고 그룹 내에서 normalization을 수행한다. Group normalization의 특정 경우에는 layer normalization, instance normalization과 동일하게 연산된다. m개의 feature map이 있다고 가정하였을 때, 그룹에 속하는 feature map의 개수를 1로 설정하게 되면 layer normalization과 동일해진다. 반대로, 그룹에 속하는 feature map의 개수를 m으로 설정하면 instance normalization와 동일해진다.
여러 normalization 방법론의 등장 이유와 작동 방식을 꼼꼼히 설명해주어서, 알던 내용도 정리하고 여러 방법 간의 차이도 확실히 알 수 있는 유익한 세미나였다.

이번 세미나는 Normalization이라는 주제로 김정인 연구원님이 진행해 주었다. 모델을 학습할 때 특정 Feature가 너무 큰 영향을 미치거나, Gradient descent 알고리즘이 제대로 동작하지 않는 Gradient vanishing/exploding 문제가 발생하게 되는데 이를 방지하고 학습이 효과적으로 진행되기 위해서는 Feature scaling을 통하여 데이터를 적절히 전처리하는 것이 아주 중요하다. Feature를 scaling하는 다양한 normalization 기법이 있으며 본 세미나에서는 그 중 4가지, Batch/Layer/Instance/Group Normalization 대해서 소개해 주었다. 우선 Batch normalization은 아주 유명한 방법으로 Gradient vanishing/exploding 문제와 Internal covariate shift 문제를 방지하고 학습 속도도 높이는 획기적인 방법이다. 하지만 이때 Batch normalization은 batch size 만큼 데이터를 사용하게 되는데 여기서 비롯되는 다양한 문제점이 있고 이를 해결하기 위하여 다음의 3가지의 방법이 제안 되었다고 한다. 3가지의 각 방법론을 간단히 요약하자면 batch 단위가 아닌 layer에 기반한 normalization 수행, batch 단위가 아닌 각 이미지에 대해 개별적으로 normalization 수행, layer normalization 대상을 그룹화 하여 normalization 수행하는 것이라고 할 수 있다. 이미 수업을 통해 들었던 Batch normalization 외에도 다양한 normalization 방법을 배울 수 있어서 흥미로웠고 특히 MLP에서 Batch normalization의 적용만 알고 있었는데 CNN에서 image에 normalization 적용하는 방법은 새로웠다. 추후 연구를 진행할 때 normalization을 위하여 무조건 Batch normalization을 쓰는 것이 아니라 데이터나 구조에 맞는 다양한 방법을 고민하고 적용해야겠다는 생각이 들었다. 마지막으로 딥러닝을 위한 다양한 normalization 방법론을 소개해 주신 김정인 연구원님께 감사드리며 본 세미나 후기를 마친다.

금일 세미나는 Normalization 기법을 주제로 김정인 연구원이 진행해주었다. Normalization은 변수 값을 모두 0과 1 사이의 값으로 변환하여, 특정 feature가 큰 영향을 미치는 것을 막고, 알고리즘이 비정상적으로 동작하지 않도록, feature를 scaling해주는 전처리 방법이다.
이번 세미나에서는 batch , layer , instance , group normalization에 대해 설명을 해주었다. Batch normalization은 gradient vanishing과 exploding 문제를 방지하는 획기적인 방법이다.
batch 단위별로 데이터가 다양한 분포를 갖더라도 평균과 분산을 활용하여 정규화하여, 학습 속도를 비약적으로 향상시켰다.
하지만 batch size에 의존한 만큼, 여러가지 문제점이 발생하게 되는데, 이를 해결하기 위해 normalization의 기반을 3가지로 바꾸어 normalization을 하였다.
Layer normaliztion은 batch가 아닌 layer를 기반으로 normalization을 수행한다.
Instance normalization은 개별 이미지에 대해 각각 normalization을 수행한다.
Group normalization은 batch size가 작을 때, 성능 저하를 유발하는 batch normalization의 단점을 개선하기 위한 방법론이다. 여러 개의 feature map을 하나의 그룹으로 지정하고 그룹 내에서 normalization을 수행한다.
Group normalization은 feature map의 개수에 따라 layer normalization과 동일해 질 수 있고, instance normalization와 동일해질 수 있다.
여러 normalization 방법론의 정리를 들을 수 있는 매우 유익한 세미나였다. 가장 유명한 batch normalization만을 알고 있었으나, 다양한 normalization을 배우면서, 적절한 상황에 맞게 normalization을 해주는 것이 성능에 큰 영향을 준다는 것을 배울 수 있었다.
다양한 normalization 방법론을 소개해 주신 김정인 연구원께 감사드립니다.

데이터 내에 여러 정보들이 갖는 단위를 고려하지 않고 EDA 분석 및 모델링을 진행하게 되면, 데이터 자체가 갖는 본질성이 아니라, 순수하게 단위 자체에 의한 분석 편향을 야기할 수 있다. 금일 세미나는 이러한 문제이 딥러닝 기반 모델링 관점에서 어떻게 발생하고 해결되는지를 소개해주고 있다. 데이터 분석과 기계학습 모델링에 처음 입문하는 사람이 보면, 정말 좋을 정갈함과 내용을 갖고 있어 누구에게든 추천해주고 싶다. 또한, 이미 잘 알고 있는 사람에게도, batch, layer, group, instance 단위의 여러 가지 정규화 기법들이 본 세미나에서 잘 정리되어 있으니 또한 추천해주고 싶다. 좋은 세미나를 준비하느라 많이 노력한 정인이 형에게 감사의 말씀을 전하며 세미나 후기를 마친다.

이번 세미나는 딥러닝에서 활용되는 Normalization Technique을 주제로 진행되었다. 흔히들 알 고 있는 Normalization이나 Standardization 개념과 비슷하지만, 이들은 전처리 과정에서 수행되는 기법들이고, 본 세미나에서는 모델 Layer 내부에서 Normalization이 이루어지는 기법들을 다루었다.
Normalization Technique으로 크게 4개의 기법들이 소개되었다. 흔하게 알고 있는 Batch 단위 Normalization 이외에도 Layer, Instance, Group 단위의 Normalization Technique이 소개되었다. Layer Normalization은 Layer 단위로 Normalization이 수행되고, Instance 및 Group Normalization은 Batch Normalization에서 데이터 개수를 조정한 것으로 이해했다. 특히 Group Normalization은 Instance Normalization과 Batch Normalization을 일반화한 방법론인 것을 알 수 있었다. 본 세미나에서는 단순한 이론적 설명과 더불어 Convolution에서 어떻게 적용되는지 그림을 통해 비교 제시하였는데, 내가 간과했던 부분을 다시금 짚고 넘어갈 수 있었던 좋은 계기가 되었다. Batch Normalization 이외에 3개의 방법론들은 모두 Batch Normalization의 한계를 극복하기 위해 나온 방법론들이었으며, 비교 실험에서도 빠른 수렴 및 좋은 성능을 보여주었다.
본 세미나를 통해 딥러닝에서 적용될 수 있는 다양한 Normalization 방법론들에 대해서 알 수 있었다. 내가 본 모델들에서도 아직은 Batch Normalization이 많이 활용되었는데, 추후 다른 Normalization이 적용된 모델들을 마주한다면 본 세미나를 생각하며 어렵지 않게 이해할 수 있을 것 같다. 유익한 세미나를 준비해주신 김정인 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 딥러닝을 위한 다양한 normalizatioin 기법을 주제로 진행되었다. Batch normalization, Layer normalizatioin, instance normalization, group normalization 등의 기법이 소개되었다.
SGD는 데이터를 한 번에 처리하지 못해 데이터를 batch 단위로 나눠서 학습을 하는 방법이다. 이때 batch size 별로 데이터 분포가 달라지는 현상인 internal convariant shift 문제가 발생한다. 이를 해결한 방법이 Batch normalization이다. 이를 통해 gradient vanishing/exploding 문제를 해결했고, 학습속도를 비약적으로 상승시켰다.
Layer normalization은 batch normalization의 단점을 보완한 방법이다. BN은 RNN과 같은 sequence data를 처리하는 모델에 사용하기 어렵다는 문제를 해결하였다. Sequence data 특성 상 배치 사이즈가 작다면 전체 데이터 셋을 표현하는데 어려움이 있기 때문이다. 따사서 LN은 batch가 아닌 layer에 기반하여 normalization을 수행하였다.
Instance normalization은 Image Style Transfer의 성능을 올리기 위해 등장한 방법이다. Batch 단위가 아닌 각 이미지에 대해 개별적으로 normalization을 진행한 방법이다. 마지막으로 group normalization은 batch normalization이 batch size에 따라 성능이 달라지는 문제를 해결한 방법이다. Batch size가 극도로 적은 상황(1or2)에선 batch normalization보다 좋은 성능을 보여주었다.
여러 normalization 방법을 쉽게 이해할 수 있는 세미나였다. Layer normalization 방법을 좀 더 찾아보고 sequence data를 다룰 때 실제로 적용해볼 예정이다. 좋은 세미나를 준비해준 정인이형에게 감사드리며 세미나 후기를 마친다.

해당 세미나는 normalization 기법들에 대한 내용을 다루었다. 인공지능 모델링을 하는데 있어, 설명 변수들의 scale이 다른 문제점이 발생하는데, 이를 위해 scale 을 맞추기 위해 사용하는 기법이 바로 normalization이다. 기본적으로 normalization은 범위를 0에서 1 사이로 맞춰주는 방법이며, 우리가 자주 사용하는 min/max scaling이 이에 해당한다 .
이번 세미나에서 다룬 normalization 기법들은 Batch normalization, layer normalization, instance normalization 그리고 group normalization이 있다.
[1] Batch normalization은 mini batch에 존재하는 데이터들의 특정 합쳐 normalize 하는 방식이며, 이를 통해 gradient vanishing/exploding 등과 같은 문제를 해결하였다.
[2] Layer layer를 기준으로 하므로, 각 인스턴스의 모든 channel을 합쳐 normalize 하는 방법이다.
[3] Instance instance를 기준으로 하며, 해당 인스턴스의 각 channel에 대해 normalization을 수행한다.
[4] group normalization은 layer normalization 과 instance normalization을 섞어놓은 형태로, 개별 instance에서 나온 channel 들을 N 개의 그룹으로 묶어 normalize 하는 방식이다
Normalization은 모델링을 하기 위해 거쳐 가는 과정 중 하나인데, 이에 대한 이해도를 높일 수 있는 유익한 세미나였다. 이러한 유익한 세미나를 준비해 준 정인 형에게 감사의 말을 전하며 세미나 후기를 마친다.