- 2022년 5월 27일 오후 8:03
- 조회수: 6765
INFORMATION
- 2022년 5월 27일
- 오후 1시 ~
- 고려대학교 신공학관 218호
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

오늘 세미나는 불균형 데이터를 다루는 알고리즘 접근법 3가지를 집중해서 다룹니다. 첫 번째는 기존 cross entropy loss에 클래스별 빈도의 역수를 곱하는 간단한 방법으로 소수 클래스의 loss 영향을 높이는 weighted cross entropy loss, 두 번째는 예측 결과를 난이도로 가정하여 1에 가까운 확정적인 예측값의 영향도를 낮추는 focal loss, 마지막으로 데이터가 많은 클래스는 추가되는 데이터의 정보 overlap이 커지기 때문에 얻는 정보량은 제한적일 것이라는 개념을 추가한 class balanced loss입니다. 느낀 점은 다 범주의 분류 문제일수록 알고리즘 접근법이 데이터 접근법보다 구현이 쉽겠다는 생각이 들었고 이러한 사유로 이미지 인식 문제에서 알고리즘 접근법이 발전하지 않았나 추측해봅니다. 다만 hyper parameter가 추가되기 때문에 튜닝의 부담이 늘어나는 것은 production에 적용 시 단점으로 볼 수 있는데 이를 learnable parameter로 고안하는 연구는 없는지 궁금점도 생기는 세미나였습니다.

불균형 데이터에도 효과적인 학습을 하기 위한 샘플링 기반과 손실함수 가중치 기반 방법론들에 대해 알아보았다. 다양한 방법에 대해 간단하게 살펴본 후, Focal Loss 와 Class-Balanced Loss 에 대해 중점을 맞추었다.
Focal Loss 는 One-Stage Object Detection 구조인 RetinaNet 과 함께 제안되었다. 단순 클래스 비율로 가중치를 고정하는 것이 아닌 예측확률에 따라 동적으로 손실함수의 가중치를 조절한다는 것이 특징이다.
Class-Balanced Loss 는 클래스 별로 데이터가 추가 될 때 정보의 중복을 고려한 Effective Number 라는 값을 구하여 Loss 를 reweighting 한다. Effective Number 는 Volume N이라는 집합을 커버하는 Set-Covering 문제와 관련있다. 결론적으로, 이미 충분한 수의 데이터가 있는 클래스는 데이터가 추가되어도 정보의 이득이 크지 않은 반면, 소수 클래스는 데이터가 추가되었을 때 정보의 이득이 크다. Effective Number는 이러한 점을 고려하여 Cross Entropy 나 Focal Loss 의 term 에 곱해진다.
Class-Balanced Loss 는 처음 들어본 알고리즘이라서 되게 유익했던 것 같다. 세미나를 준비하느라 고생하신 진용이형께 감사의 말씀을 전한다.

금일 세미나는 불균형 데이터를 다루기 위한 알고리즘 레벨의 방법론들에 대해 소개되었다. 기존의 데이터에서 소수 클래스의 데이터를 오버샘플링, 혹은 다수 클래스의 데이터를 언더 샘플링하는 데이터 레벨의 방법론과는 별개로 본 세미나에서 소개된 알고리즘 레벨의 방법론들은 loss 식에 변형을 주어 불균형 데이터를 효율적으로 학습하게 한다.
Weighted cross entropy loss는 기존 cross entropy loss에서 각 클래스 별 loss의 비율을 조절하는 가중치를 추가하여 학습량의 균형을 맞춰준다. Focal loss는 분류하기 쉬운 샘플과 어려운 샘플에 서로 다른 가중치를 적용하여 해결한 방법이다. 각 샘플의 예측 확률을 통해 학습 난이도를 반영하였다. Class-based loss는 같은 클래스 데이터 사이의 정보 중복을 고려하였고 가중치로 단순히 샘플 수를 이용하는 대신 effective number of samples 개념을 활용하였다.
이전에 데이터 레벨에 대한 불균형 데이터 처리 방법론들에 대해서만 학습을 했었는데 본 세미나를 계기로 알고리즘 레벨의 방법론들에 대해서도 학습할 수 있었다. 보다 복잡한 형태의 불균형 데이터를 처리할 때 기존의 데이터 레벨의 방법론들보다 알고리즘 레벨의 방법론들이 더 효율적으로 작용될 수 있을 것이라는 생각이 들었다. 점점 단점을 보완해 나가는 알고리즘들의 설명을 이해하기 쉽게 설명해주신 정진용 연구원님께 감사드리며 본 세미나 후기를 마친다.

이번 세미나는 데이터의 불균형이 심할 때 이를 해결하기 위한 방법에 대해서 진행되었다. 불균형 데이터로 학습할 경우 모델이 편향된 모델이 만들어지기 때문에 실제 데이터에 대해서 정확도가 낮게 나오게 된다. 개인 연구 주제로 생각하고 있는 anomaly detection의 경우 실제 이상치 데이터는 거의 대부분의 경우에서 정상 데이터보다 규모가 작기 때문에 본 세미나를 관심 있게 들을 수 있었다. 불균형 데이터를 해결할 수 있는 방안으로 Data-level 방법과 Algorithm-level 방법을 소개해주었으며 특히 Cost-sensitive learning 방법에 초점을 맞추어 설명해주었다. 해당 방법에는 WCE loss, Focal loss, Class Balanced loss 등이 있었으며 그 중에서 Class-Balanced Loss이 흥미로웠는데 같은 클래스 데이터 사이의 정보 중복을 고려하여 가중치를 Loss에 적용하는 방법이었다. 생각해보니 이를 loss 뿐만 아니라 데이터 셋에서도 유사하게 적용할 수 있지 않을까 하는 생각이 들어서 의미 있는 시간이었다. 유익한 세미나를 준비해주신 정진용 연구원님께 감사 인사를 드리며 본 세미나 후기를 마친다.

이번 세미나에서는 불균형 데이터에 대해서 설명하고, 불균형 문제점을 해결하는 방법에 대해서 설명을 해주었다. 불균형 데이터란 데이터 내에서 각 클래스가 갖고 있는 데이터의 양이 차이가 큰 경우를 말한다. 불균형 데이터의 문제점으로는 다수의 클래스에 의해 적절한 분류 경계선이 생성되지 못한다는 것이다. 불균형 데이터 해결방안으로 Data level 방법, Algorithm level방법 에 대해서 설명을 해주었다. data level 방법은 데이터 수를 직접 늘리거나, 줄이는 방법이다. 다수 클래스의 비중을 줄이기 위해 다수 클래스 샘플을 무작위로 제거해주는 random under sampling 기법, 다수 클래스 수와 같아지도록 소수 클래스 샘플을 무작위로 복제해서 늘려주는 random over sampling 기법, k-nn 방식을 적용하여 새로운 소수 샘플을 생성하는 SMOTES 방식이 있다. 다음으로는 소수 클래스 관측지에 대한 Cost값에 가중치를 더 많이 주어 균형 잡힌 학습을 하도록 만들어주는 Cost sensitive learning 방법에 대해서 설명을 해주었다. 여기서 Cross entropy loss의 문제점을 짚어주었는데, 가중치가 큰 것에 더 치중해서 학습을 하게 된다는 것이다. 그래서 weighted cross entropy loss를 사용해서 클래스마다 비율이 다르다는 점을 반영을 하였다. 각 클래스 별 loss 비율을 조절하는 가중치(sample수 역수에 따른 가중치)를 추가를 하여, 클래스 별 샘플 수에 따른 균형을 맞추었다. Focal loss는 맞추기 쉬운 샘플과 맞추기 어려운 샘플의 기여도를 다르게 주는 방식이다. 맞추기 어려운 샘플일수록 loss값을 키우는 방법이다. 이를 통해 클래스 별 샘플 수에 따른 균형에 다가 샘플 별 예측 확률에 따른 균형을 맞추어준다. Class balanced loss은 클래스 데이터 사이의 정보 중복을 고려하였고 가중치로 단순히 샘플 수를 이용하는 대신 effective number of samples 이라는 새로운 loss design term개념을 활용하였다. 현재 관심분야로 비정상 데이터를 분류하는 anomaly detection 분야에 대해서 공부를 하고 있는데, 데이터들이 불균형을 이루기 때문에 이번 세미나를 매우 흥미 있게 들을 수 있었습니다. 기존에 알고 있던 방법론이 아닌 새로운 Class balanced loss 방법론을 배울 수 있어서 유익한 세미나 였습니다. 이번 세미나를 준비해주신 정진용 연구원님께 감사를 드립니다.

본 세미나는 불균형 데이터를 위한 여러 방법론 중 algorithm-level 방법론인 cost-sensitive learning 방법론을 설명한다. Cost-sensitive learning에는 cross entropy loss, weighted cross entropy loss, focal loss, class balanced loss가 있다. 이 중 class balanced loss는 같은 class에 속하는 데이터들의 정보 중복을 손실 함수에 반영하기 위해 effective number of samples라는 새로운 loss term을 제안한다. 최근에 참여한 학회에서 불균형 데이터를 위한 흥미로운 연구들을 접하며 최신 방법론들을 주로 공부하였는데, 본 세미나를 통해 불균형 데이터를 위한 기존의 보편적인 방법론을 다시 한번 리뷰해 볼 수 있었다.

불균형하게 수집된 데이터의 문제점과 데이터 및 알고리즘 관점 별 불균형 데이터 모델링 방법을 배울 수 있다. 알고리즘 수준에서의 불균형 데이터 처리 방법이 주된 세미나 내용이었는데, Weighted cross entropy loss, Focal loss, 그리고 Class-Balanced Loss에 대해 자세히 알아갈 수 있는 시간이었다. Weighted Cross Entropy Loss는 클래스 별 Loss의 비율에 대한 가중치를 고려하여, 적은 데이터 수를 가진 클래스도 유의미한 학습이 진행될 수 있도록 한다. Focal Loss는 Weighted Cross entropy Loss 아이디어(클래스 별 학습 로스 비 조절)에 덧붙여, 샘플 인덱스 수준에서의 예측 확률값 기반 학습 로스 비 조절 아이디어를 제안하였다. 정리해보면, 클래스 및 관측치, 모든 수준에서의 학습 균형을 고려하는 알고리즘이라 할 수 있다. 예측 확률값이 높을수록 쉬운 샘플이고, 로스에 대한 가중치를 줄인다라는 방식을 리마인드 할 수 있어서 좋았다. 마지막 방법론은 Focal Loss 아이디어에서 클래스 별 학습 로스 비 조절 방식을 개선한 방법론이다. Effective number라는 데이터 중복도(퀄리티라고 이해하면 좋을 듯 하다) 개념을 도입하였는데, 단순 갯수를 기반한 클래스 별 학습 로스 비 조절이 아니라, 데이터 정보량의 중복도(퀄리티)까지를 고려한 클래스 별 학습 로스 비 개념이 된다. 유의미한 내용 리뷰 및 새 방법론 접함에 있어 금일 세미나가 많은 도움이 되었고, 세미나 준비를 열심히 해주셨을 진용이 형에게 감사의 말씀을 전하며 세미나 후기를 마치도록 한다.

이번 세미나는 불균형한 데이터를 처리하는 방법에 관하여 다루었다. 실제로 불균형한 데이터의 형태는 우리 주변에서 가장 흔한 형태이며 쉽게 접할 수 있는 형식이다. 이러한 불균형 데이터 상황을 극복하기 위해서 본 세미나는 2가지 접근 방법론을 제안한다.
먼저 Data-Level Approach이다. 본 세미나에서는 크게 Undersampling 및 Oversampling을 소개하였으며, 조금 더 세부하게 Oversampling 중 SMOTE에 대해서도 다루었다. 두 번째 접근 방식은 Algorithm-based 접근 방식이다. 기존 Cross-Entropy를 불균형 상황에서 적용할 수 있는 Weighted Cross-Entropy, 그리고 Object Detection 분야에서 파생되어 나온 Focal Loss 등이 그러하다. 본 세미나는 이와 더불어 Effective Number 개념을 도입한 Cost-sensitive Learning Method를 추가적으로 설명한다. 이는 정보의 중복까지 고려한 접근방식으로 다수 클래스보다 소수 클래스에 데이터가 추가될 때 정보가 많을 것이라는 배경에서 출발한다. 이러한 Cost-sensitive Learning Method는 단독적으로 활용되기 보다는 기존의 방법론에서 응용될 수 있다. Weighted Cross-Entropy나 Focal Loss에도 각 Class에 대한 가중치 개념으로 Cost-sensitive Learning Method를 적용하면 정보의 중복까지 반영한 가중치로 활용하여 보다 세분화된 지표로 활용할 수 있다.
본 세미나를 통해 불균형한 데이터 상황에서 소수의 Class까지 잘 학습할 수 있는 방법론들에 대해 알 수 있었다. 기존에는 Data-level Approach 정도만 알고 있었는데, 이번 세미나를 계기로 Algorithm-based Approach에 대해서도 공부할 수 있었다. 또한 개인적으로 Label이 부족한 상황에서 잘 학습할 수 있는 방법론에 대해 관심이 많은데, 본 세미나의 내용까지 확장해서 공부한다면 시야를 더욱 확장할 수 있을 것이라는 생각이 들었다. 유익한 세미나를 준비해주신 정진용 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

금일 세미나는 Handling Imbalanced Data를 주제로 진행되었다. Imbalance data란 데이터 내에서 각 클래스가 갖고 있는 데이터의 양에 차이가 큰 경우를 의미한다. 이런 데이터를 가지고 모델을 학습시킬 경우 다수의 정상 클래스에 의해 적절한 분류 경계선이 생성되지 못하는 단점이 있다.
불균형 데이터를 해결하는 방법에는 data-level 방법과 algorithm-level 방법이 있는데, 본 세미나에서는 data-level 방법을 소개하였다. Random over sampling은 단순하게 소수 클래스 샘플을 무작위 복제하는 방법인데, 소수 클래스에 대해 과적합이 발생할 수 있다는 단점이 있다. SMOTE는 KNN 방식을 적용해 새로운 소수 샘플을 생성하는 방법이다.
Cost-sensitive learning method는 소수 클래스 관측치에 대한 cost값에 가중치를 더 많이 주어 균형 잡힌 학습으로 만드는 방법이다. 이 방법에는 cross entropy와 cross entropy의 단점을 극복한 weighted cross entropy loss 방법이 있다. 또한 focal loss 방법도 있는데 이는 object detection에서 사용된 개념이다. 검출 대상에 비해 배경이 상대적으로 많아 클래스 불균형 문제가 생기는 것을 해결하기 위한 방법이다. 세미나에서 비중있게 다룬 방법은 effective number of samples이다. 가중치로 단순하게 샘플 수를 이용하는 대신 같은 클래스 데이터 사이의 정보 중복을 고려한 값을 사용하는 방법이다.
이번 세미나를 통해 불균형 데이터를 처리할 수 있는 방법론을 알 수 있었다. 실제 데이터 분석을 할때 대부분의 경우 클래스 불균형 문제가 있었는데, 기본적인 개념의 복습과 더불어 새로운 방법론을 소개해준 유익한 세미나였다. 진용이형한테 감사드리며 세미나 후기를 마무리한다.

이번 세미나는 불균형 데이터를 주제로 진행되었다. 불균형 데이터는 각 클래스가 갖고 있는 데이터 양의 차이가 큰 경우를 말한다. 이러한 경우에 모델이 적절한 분류 경계선을 생성하는 것이 어려우며, test 단계에서 잘못 판단할 가능성이 커진다. 이 때문에 불균형 문제에서는 AUC가 아닌 F1 등 소수 클래스 분류를 고려하는 지표를 사용해야 한다. 불균형 데이터 해결 방안에는 Data-level과 Algorithm-level로 구분이 가능하다. Data-level에서는 다수 클래스를 무작위로 제거하는 Random under sampling, 소수 클래스를 무작위로 복제하는 Random over sampling, SMOTE 방법 등이 소개되었다. Algorithm-level에는 소수 클래스에 가중치를 두어 균형잡힌 학습을 만드는 Cost-sensitive learning이 있는데, 클래스 별 Loss 비율 조절 가중치를 추가하는 Weighted CE, Object Detection에서 분류하기 쉬운 배경과 같은 샘플에 대한 기여도는 줄이고 검출 대상이 되는 어려운 샘플의 기여도를 높이는 Focal loss, 데이터 수와 데이터 정보의 중복도 고려한 새로운 기준인 Class balanced loss가 소개되었다.
데이터 불균형 문제는 실무에서 빈번하게 발생되는 부분이라고 인지하고 있었지만, 세미나를 듣기 전까지는 Data-level 수준 만을 인지하고 있었다. Class balanced loss와 같이 새로운 방법이 소개되며 점점 발전하고 있는 분야인 것을 알게 되어 흥미로웠고 모델 훈련을 위해 이러한 기법의 발전이 점점 더 중요해질 것으로 예상된다. 유익한 세미나를 준비해 주셔서 감사의 말을 전하며 세미나 후기를 마친다.

이번 세미나는 “Handling Imbalanced Data”를 주제로 진행되었다. 불균형 데이터로 이루어진 상황은 현실에서 흔하게 마주할 수 있다. 불균형 데이터는 소수 클래스를 잘 분류하지 못하는 모델이 학습됨에도 높은 정확도를 보이는 문제를 지닌다. 따라서 이를 해결하고자 직접 데이터를 샘플링하거나 생성하는 data-level 방법과 학습 과정 혹은 손실 함수를 개선시키는 algorithm-level 방법이 있다. 본 세미나는 algorithm-level 방법 중에서도 소수 클래스 관측치의 cost에 가중치를 둔 학습 방법인 cost-sensitive learning에 초점을 두어 진행되었다. 이에 속하는 방법론으로 먼저, weighted cross entropy loss는 클래스별 샘플 수를 고려하여 클래스별 loss에 가중치를 부여한 간단한 아이디어이다. 다음으로 focal loss는 object detection 문제에서 적용되기 시작한 아이디어로, 클래스별이 아닌 샘플별 예측 확률을 통해 예측하기 어려운 샘플별로 loss에 가중치를 부여한다. 마지막으로 class balanced loss는 같은 클래스 내 데이터 수 뿐만 아니라 데이터 정보의 중복을 고려하여, effective number라는 새로운 loss design term을 적용한 것이다. 간단하면서도 자주 활용되는 data-level 방법들 이외에, 새로운 algorithm-level 방법들에 대해 알아갈 수 있는 좋은 시간이었다. 추가적으로 회귀 문제를 위한 algorithm-level 방법들이 궁금해져 따로 더 공부해봐야겠다는 생각이 들었다. 세미나를 위해 고생해준 진용오빠에게 감사한 마음을 전하며 세미나 후기를 마친다.

이번 세미나는 Handling Imbalanced data를 주제로 진행되었다.
불균형 데이터란 말 그대로 데이터 내에 클래스별 불균형이 심한 데이터를 말한다. 이러한 불균형 데이터를 사용할 때의 문제점으로는 다수의 정상 클래스에 의해서 편향된 분류 경계선이 만들어질 수 있다는 점이다.
불균형 데이터를 사용할 때의 문제점을 개선하기 위한 방안으로는 직접 데이터를 활용해 해결하는 data level 방안과 손실함수를 개선하는 algorithm level 방안이 존재한다. 본 세미나에서는 Random under sampling, Random over sampling 그리고 Random over sampling이 갖는 과적합 문제를 개선한 over sampling 방식인 SMOTE에 대해서 간략한 소개 후 algorithm level 방안에 대해 좀 더 자세하게 설명되었다.
Algorithm level 방법 중 손실함수를 개선한 Cost-Sensitive learning에 대한 설명이 주를 이루었는데, Cost-Sensitive learning이란 소수 클래스 관측치에 대해 가중치를 더 많이 주어서 균형 잡힌 학습을 할 수 있도록 하는 방법을 말한다. 해당 방법에는 cross entropy loss, cross entropy loss의 단점(모든 클래스가 같은 가중치를 가짐)을 개선한 Weighted cross entropy loss, 예측 확률을 통해 각 샘플에 학습 난이도를 반영한 Focal loss, Effective number of samples를 통해 정보의 중복을 손실 함수에 반영한 Class balanced loss가 존재한다. 가장 인상적인 부분은 effective number of samples를 통해 구한 class balanced term에서 베타 값이 1에 수렴할수록 Weighted cross entropy loss와 Focal loss에서 사용했던 Inverse frequency weighted term과 같아지게 되어 Focal loss와 Weighted cross entropy loss에 적용할 수 있는 점이다.
본 세미나에서는 불균형 데이터란 무엇인가를 시작으로 불균형 데이터를 해결하는 방안에 대해서 data level과 algorithm level 두 가지 관점에서 설명되었고 잘 알지 못했던 algorithm level 방안에 대해서 알 수 있었다. 불균형 데이터 처리와 관련해 좋은 세미나를 준비해준 정진용 연구원에게 감사드리며 이상으로 세미나 후기를 마친다.