- 2020년 5월 21일 오후 8:20
- 조회수: 4402
REFERENCES
INFORMATION
- 2020년 5월 22일
- 오후 1시 ~
- 고려대학교 신공학관 218호
TOPIC
OVERVIEW
발표자 후기
이번 세미나는 Domain Adaptation의 의미와 최근에 아마존랩에서 발표한 d-SNE라는 논문에 대해 소개해 보았다. SNE라는 단어가 붙어서 기존의 차원축소 기법과 연관있어 보이지만 실제로는 전혀 다른 모델이다. 내가 이해한 만큼 청취자분들에게 전달을 할 수 있기에 최대한 잘 설명을 하고 싶었으나 세미나를 진행 할 때 하고 싶었던 말도 잘 전달하지 못한거 같아서 많이 아쉬웠다. 특히 질문을 받을 때 나왔던 "Domain Adaptation"의 목적이 무엇인가에 대해 단지 한두개의 사이트에서 소스도메인과 타겟도메인 모두 좋은 퍼포먼스를 내주기 위한것 이라고 나온것을 보고 둘다 좋게 해준다 라고 잘못 전달한 것에 대해 민망한것 같다.(데이터 셋의 수가 적거나 label이 안되어 있는 타겟도메인을 위한 것이다.) 그리고 결과 설명 부분도 잘 설명을 못해서 나의 발표 자세에 대해 너무 아쉬웠다. 개인적으로 무엇을 고쳐야 하고 더 준비해야 하는지 알게 해주는 세미나 준비였다.
청취자 후기
오늘은 Domain Adaptation 기법과 임베딩 기법을 결합하여 새로운 데이터 셋에 대한 성능을 높이는 기법에 관한 연구인 d-SNE에 관한 세미나가 진행되었다. Domain Adaptation은 많은 양의 레이블 된 데이터가 존재하는 소스 데이터를 이용해 데이터 분포의 차이가 있으며 소량의 레이블된 데이터를 가지는 타겟 데이터 학습에 사용하는 기법을 의미한다. 소스 데이터와 타겟 데이터를 동시에 학습하면서 각각 데이터 셋에 대한 성능을 높임과 동시에 동일 레이블끼리는 유사하게 임베딩을 진행하는 기법이 바로 d-SNE였다. 최근 진행한 프로젝트에서 서로 다른 지역에 대한 데이터 셋이 존재한다. d-SNE 기법을 활용하여 성능을 높일 수 있을 것이라는 생각이 들었고, 실제로 잘 작동하는 지 확인해보고 싶어졌다. 흥미로운 주제로 발표를 진행해준 승섭이형에게 감사를 표한다.
오늘 세미나 주제는 Domain adaptation using stochastic neighborhood embedding (d-SNE)으로 승섭이형이 진행했다. Domain adaptation 이란 Domain(영역)이 다른 데이터가 수집되어도 adaptation (적응) 하여 분류 성능을 높이는 방법이다. 즉, 같은 class label 을 갖고있는 데이터 내 전반적인 Domain(영역: 분포)가 다른 특성의 데이터를 고려하여 분류성능을 향상시키는 것으로, 예를 들어 우리나라 도로 이미지와 미국의 도로이미지가 있을 때, "도로"라는 정답은 같지만 전반적으로 그 도로 분위기가 다르다. 그리고 우리나라 도로이미지는 다수 있고 미국의 도로이미지는 적을 때, 분류모델은 미국의 도로이미지를 정확히 예측하는 경우가 적을 수 있다. "도로"라는 정답을 예측하기 위해 우리나라 도로이미지 특성을 더 많이 반영했기 때문이다. 이러한 상황에 적용하는 게 Domain adaptation이다. 같은 클래스 내 다수 domain을 Source (s) domain, 소수 domain을 target (t) domain으로 정의하여, s와 t가 내 같은 클래스끼리는 거리가 최소화 되도록 목적식을 구성한다. 즉, domain(도로 분위기)가 달라도 "도로"끼리는 유사한 feature를 갖도록 하는 것이다.
우리는 Multiclass classification 문제에서 소수의 클래스를 맞추기 어려운 경우에 많이 직면한다. 이런 경우 차선책으로 여러 class를 하나의 그룹으로 보고자 하는 경우가 있는데 Domain adaptation을 적용하면 차선책 중 최선의 대안이 되지 않을까 싶다. 예를 들어 자동차 A, 자동차 B, 자동차 C 등 "자동차"라고 그룹지을 수 있는 경우, A, B, C를 Domain으로 보고 소수 domain을 지정하여 데이터 특성을 잘 통합하면 좋을 것 같다. 승섭이형이 연구원들에게 활용적이지만 어려운 내용을 직관적으로 설명해주기 위한 많은 노력이 엿보였던 세미나였다. 수고 많으셨습니다.
Transfer Learning 의 범주에 있는 Domain Adaptation Task의 방법론 d-SNE에 대한 세미나였다. 이름만 보고서는 t-SNE를 떠올렸는데 데이터포인트 간 거리를 확률정보로 사용하는것 이외에는 전혀 다른 테스크를 위한 방법론이었다. d-SNE는 적은 학습데이터가 있는 상황을 극복하기 위해 비슷한 도메인의 대량의 데이터를 이용할 수 있게 한다. 이 방법론의 핵심은 서로 다른 두 데이터셋을 하나의 Feature Space로 매핑하는 것이다. 이때 서로다른 데이터셋의 데이터포인트끼리 비교하여 같은 레이블의 데이터는 가깝게, 다른 레이블의 데이터는 멀게 매핑이 이루어진다. 최종 Loss Function에는 이렇게 매핑을 담당하는 Loss와 더불어 각 데이터셋에 대한 분류성능을 높이기 위한 Loss가 사용된다. 이 두 종류의 Loss는 서로 모델이 공간 매핑과 각 데이터셋의 독립적인 분류성능 중 어느 한쪽으로 치우쳐지지 않고 균형있게 학습되도록 한다.
인공지능을 연구하면서 서로 다른 Vector Space를 하나의 공간으로 매핑해야 하는 경우는 생각보다 빈번하다. 워드임베딩과 Knowledge Graph 임베딩을 동시에 사용하는 경우, 화장품 리뷰의 텍스트와 화장품의 메타데이터를 동시에 사용하는 경우 등, 종류가 다른 두 테이터를 동시에 사용경우에 그런 이슈가 발생한다. 이때 서로다른 데이터지만 같은 클래스를 갖는 데이터를 다루고 있다면 이 방법을 통해 두 데이터를 하나의 Feature Space에 매핑할 수 있겠다.
워드임베딩과 Knowledge Graph 임베딩을 함께 사용하려 하는 나의 진행중인 연구에 새로운 고민을 하게 해주는 좋은 시간이었다.
오늘 세미나는 Domain Adaptation using Stochastic Neighborhood Embedding(d-SNE) 에 대한 내용으로 진행이 되었다. 세미나 서두에 직관적으로 단어뜻으로 풀어서 설명해주고 예시도 적절하게 들어주어 차근차근 이해하며 들을 수 있었다. d-SNE 는 t-SNE 와는 전혀 다른 개념이었다. t-SNE 는 차원 수를 줄여서 visualization 을 하는데 목적이 있고 d-SNE 는 뉴럴 네트워크 모델 그자체다. 이미 충분한 데이터가 있는 소스 도메인의 정보를 이용하여 데이터가적은 타겟도메인의 성능을 높혀주는 방법인데, 현장에서는 많이 나타날 수 있는 데이터 부족(혹은 불균형) 문제를 해결할 수 있는 좋은 아이디어라고 생각했다.
발표자료 appendix 로 SNE 에 대한 설명도 상세하게 해주어서 어렴풋이 알고 있던 개념을 명확히 할 수 있었다.
직관적이고 깔끔하게 설명해 주신 정승섭 연구원님께 감사를 드리고 싶다.
금일 세미나는 승섭이형이 레이블이 존재하는 소량의 타겟 데이터가 있을 때 다량의 소스 데이터를 사용하여 타겟 데이터의 분류 성능을 높이는 분류모델 학습 방법인 (supervised) domain adaptation에 대한 설명과 함께 2019 CVPR에서 발표된 논문인 D-SNE에 대하여 세미나를 진행해주었다. 소스 데이터와 타겟 데이터의 형태와 데이터로부터 처리하려는 task가 같지만 도메인이 다른 경우 도메인 특성에 따라 데이터 분포가 다를 수 있다는 가정 하에 각 도메인별 neural network를 사용하여 shared feature space로 embedding된 관측치간 유클리디안 거리를 계산한다. 각 도메인에서 같은 레이블을 갖는 관측치간 거리는 짧을 것이라는 가정 하에 정규분포를 기반으로 관측치별 레이블 할당 확률을 계산하고, 이 확률들의 역수의 합을 loss를 취해서 최적화를 시키게 된다. 유사한 관측치들이 저차원 공간에서 유사하도록 embedding을 시킨 후 시각화를 하는 T-SNE의 아이디어를 차용하였기 때문에 D-SNE라는 알고리즘 네이밍이 만들어졌음을 알 수 있었다.
DA 분야에서 다양한 방법론들이 많이 연구가 되고 있어, 오늘 소개해준 D-SNE 방법론 자체가 특별하게 인상적이거나 우수할 것이라고는 생각하지 않지만, 시각화 알고리즘을 전혀 상관 없는 DA 분야에 적용해서 독자적인 방법론을 제안한 저자들의 자세는 배워야 할 것 같다. 재밌는 논문을 소개해준 승섭이형에게 감사하다는 말을 전한다.
금일 세미나는 Domain adaptation using stochastic neighborhood embedding (d-SNE) 주제로 승섭이형이 발표했다. Domain adaptation은 도메인이 다르지만 관련이 있는 새로운 영역에 기존 영역의 정보를 적응시키는 것이다. 이때 사용한 방법은 stochastic neighborhood embedding으로 기존 도메인과 새로운 도메인의 데이터 간 레이블을 매칭시키고 같은 레이블은 더욱 가깝게, 다른 레이블은 더욱 멀리 해주게 된다. d-SNE는 기존 도메인의 모델과 새로운 도메인의 모델을 동시에 사용하면서 손실 함수를 최소화하는 방향으로 모델 파라미터를 구하고 이를 통해 d-SNE의 목적에 도달하게 된다. 최근에는 많은 데이터들이 생성되고 있는 상황이며 Domain adaptation을 해결하기 위한 방안은 중요하다고 생각한다. 이를 강화학습을 사용하여 해결하는 방안이 있지 않을까 생각하면서 기회가 된다면 공부해보고 싶다.
오늘은 d-SNE에 대해서 세미나가 진행되었습니다. d-SNE는 Domain adaptation 모델로 기존의 source domain에서 잘 동작하는 모델을 source domain과 약간 다른 target domain에 적용하는 방법론입니다. d-SNE는 Neural Network 모델을 통해 기존의 source domain의 데이터와 target domain의 데이터를 같은 feature space에 embedding 시킵니다. Embedding 된 feature space에서 하나의 target domain의 데이터와 모든 source domain의 데이터의 거리를 계산합니다. Softmax 함수를 통해 특정 target domain의 데이터에 대한 전체 source domain 데이터들의 거리에 대한 확률을 표현합니다. 이때 동일한 target domain의 데이터와 source domain의 데이터가 동일한 클래스라면 해당 확률을 최대화하고 다른 클래스라면 해당 확률을 최소화하는 방식으로 학습을 진행하게 됩니다. 하지만 이때 모든 거리에 대해서 계산을 하는 것은 계산량이 많기 때문에 모든 거리에 대해 계산하지 않고 약간 변형된 방식을 사용합니다. Target domain의 데이터와 동일한 클래스에 속하는 source domain 데이터 중에서 거리가 가장 먼 데이터와의 확률은 최소화하고 다른 클래스에 속하는 source domain 데이터 중 거리가 가장 가까운 데이터와의 확률은 최대화합니다. 앞에서 설명된 loss 함수뿐 아니라 classification과 같은 특정 task를 수행할 때 발생하는 loss 함수까지 더해서 전체 모델을 학습하게 됩니다. 이를 통해서 target domain의 데이터가 학습된 모델을 통해 feature space에 올바르게 embedding 될 수 있으며 학습 시 진행한 task에 대해서도 좋은 성능을 보이게 됩니다. 오늘 세미나를 통해서 d-SNE라는 방법론에 대해서 새롭게 알게 되었으며 기존의 SNE와 t-SNE와의 차이점에 대해서도 공부할 좋은 기회가 되었다.
금일 세미나는 Domain adaptation using stochastic neighborhood embedding (d-SNE) 주제로 정승섭 연구원님이 발표해주셨다. Domain Adaptation이란 영역(Domain)이 약간 달라졌을 때 다르지만 관련 있는 새로운 영역에 기존 영역의 정보를 적응(Adaptation)시키는것인데 소스도메인의 정보를 타겟도메인에 적응시켜 성능을 높일 수 있는 확률을 올려 주는것이 목표이다. t-SNE에 대해서도 일부 짚어서 말씀해주셨는데 d-SNE와 이름은 비슷하지만 t-SNE는 visualization이 목적이며 d-SNE는 뉴럴네트워크 모델로 둘의 목적은 전혀 다르다는 것도 알 수 있었다. 프로젝트를 하다보면 데이터 부족현상을 겪는 경우가 많은데 Domain Adaptation기법을 이용한다면 지도, 비지도학습 모두에서 용이하게 쓰일 수 있을 것 같다고 생각했다. 흥미로운 주제에 대해 직관적인 장표로 잘 진행해주신 정승섭연구원님께 감사를 표한다.
금일 세미나는 Domain Adaptation using Stochastic Neighborhood Embedding (d-SNE)에 대하여 진행되었다. 제목만 들었을 때에는 주로 시각화에 활용되는 방법인 t-SNE와 유사하다고 생각하였지만 세미나를 통하여 공부한 결과 전혀 다른 분야에서 사용되는 방법론이었다. Domain Adaptation이란 기존 영역의 정보와는 조금 다른 새로운 데이터가 들어왔을 때, 기존 영역의 정보를 적용시켜 새로운 데이터와 기존 영역 데이터 모두 잘 분류하도록 학습시키는 방법이다. 이 때 기존 영역을 소스 도메인, 새로운 데이터의 영역을 타겟 도메인이라고 부른다. 즉, d-SNE의 목표는 소스 도메인의 정보를 타겟 도메인에 적응시켜 성능을 높이려는 방법론이다. 소스 도메인과 타겟 도메인이 하나의 feature space에 임베딩 시킨 후, 한 타겟 샘플과 같은 label을 갖는 모든 소스 샘플들의 확률로 Loss Function을 계산하게 된다. 이 때 계산량을 줄이기 위하여 동일한 label 중 가장 거리가 먼 것을 최소화하고, 다른 label을 가진 소스 샘플들 중 가장 거리가 가까운 것을 최대화 시키는 방향으로 계산하게 된다. 이를 통하여 타겟 도메인의 새로운 정보가 들어오더라도 같은 label인 점끼리는 가깝게, 다른 label인 점끼리는 멀게 임베딩되도록 진행하는 기법이 d-SNE이다. 이번 세미나를 바탕으로 domain adaptation이라는 분야에 대하여, 그리고 그 방법론에 대하여 알아볼 수 있었으며, 어려운 내용을 직관적이고 이해가 쉽게 설명해주셔서 추후 연구에 자주 활용될 수 있을 것이라는 생각이 들었다.
오늘 세미나는 Domain Adaptation using Stochastic Neighborhood Embedding (d-SNE)에 대해서 진행되었다. Domain Adaptation은 데이터가 많이 확보되어 어느정도 이상의 성능이 나오는 도메인에서 만든 모델을, 데이터 레이블이 적은 '유사하지만 다른' 도메인에서도 잘 사용할 수 있도록 만드는 분야이다. 기존의 소스 도메인에서 새로운 타겟 도메인으로 기존의 정보를 얼마나 잘 전달하는가가 핵심이다. 이를 딥러닝 관점에서 살펴보자면 소스와 타겟 도메인의 네트워크를 통과한 feature가 유사해야 한다고 생각할 수 있다. 이를 측정하는 방법에는 여러가지 방법이 있겠지만 오늘 소개해준 논문에서는 modified Hausdorff distance를 사용했다. Hausdorff distance는 두 집합의 거리를 계산하는 방식의 하나이다. 일반적으로 우리가 계산하는 최단거리는 한 점과 한 점 사이의 거리를 계산할 때는 성립하지만, 모든 점들의 조합에서는 성립하지 않는다. 이를 보완하기 위해 어느 점들의 조합에서도 동일한 결과를 갖도록 하는 metric으로써 사용하는 것이 Hausdorff distance이며, 이를 모든 점들에 대해서 계산하여 loss를 구하는데에는 시간이 너무 오래걸리기 때문에 최댓값에 대해서만 연산을 하는 방식을 취했다. 이 부분에서 논문에서 사용한 데이터셋의 경우 '난이도가 낮은' 경우에 속하기 때문에 최댓값에 대해서만 반영해도 괜찮았겠지만, 데이터의 난이도가 좀 올라가면 오히려 악영향을 끼칠 것이라고 생각되었다. 전반적으로 연구의 목적과 수식에 대해서 이해하기 쉽도록 설명을 해줘서 쭉 발표 흐름대로 즐겁게 들을 수 있었다.
이번주 세미나는 승섭이형이 ‘d-SNE’라는 주제를 가지고 진행하였다. 먼저 d-SNE를 이해하기 위해서는 Domain Adaptation을 알아야한다. Domain Adaptation이란 분석하고자 하는 데이터의 영역이 약간 달라졌을 때 다르지만 관련 있는 새로운 영역에 기존의 영역의 정보를 적응시키는 것을 의미하며 기존의 영역을 소스도메인 새로운 영역을 타겟도메인이다. 목적은 소스도메인을 타겟도메인에 적응시켜 성능을 높일 수 있는 확률을 올려 주는 것이다. d-SNE는 소스도메인과 타겟도메인에서 만들어진 feature들의 공간에서 동일한 label을 가지고 있는 샘플 중 거리가 먼 것을 최소화 하고 다른 label을 가지고 있는 샘플들 중에서 거리가 가까운 것을 최대화 하며 학습하게 된다. 또한 소스도메인에서 나오는 loss값과 타겟도메인에서 나오는 loss값에 두가지 도메인에서 나오는 loss값을 최소화 시킨다. 이번 세미나를 듣기 전에는 t-SNE와 비슷한 방법론인줄 알았지만 전혀 다른 방법론이라는 것을 알게되었다. d-SNE에 대해 직관적으로 잘 설명해준 승섭이형에게 감사하다는 말을 전하고 싶다.
이번 세미나는 Domain Adaptation using Stochastic Neighborhood Embedding(D-SNE)와 관련한 내용으로 진행되었다. Domain Adaptation이란 Domain(영역)이 조금 달라졌지만 유사한 새로운 영역이 존재할 때, 기존 Domain 정보를 새로운 Domain에 Adaptation(적응)시켜 모델 성능을 높일 수 있는 확률을 올려주는 방법론이다. 이 때 중요한 것은 ‘어떻게 해야 기존 Domain에서 학습된 정보를 유사한 새로운 Domain에 잘 Adaptation 할 수 있을 것인가’이다. 이번 세미나에서는 2019년에 발표된 d-SNE 방법론을 중심으로 설명이 진행되었다. 먼저 기존 Domain과 새로운 Domain 각각의 network에서 만들어진 feature 값들의 공간을 만든다. 이후 각 데이터 간의 유클리디안 거리를 계산한 뒤, 기존 Domain과 새로운 Domain에서 같은 Label을 가진 데이터 중 가장 거리가 먼 것은 최소화 하고 다른 Label을 가진 데이터 중 가장 거리가 가까운 것은 최대화 하는 방식으로 학습하게 된다. 개인적으로 ‘Domain Adaptation은 적용 가능한 범위가 아주 넓지 않지만 특정 부분에서는 정말 좋은 효과를 볼 수 있지도 않을까’ 생각했다. 새로운 Domain이 생겼을 때, 기존에 이와 정말 유사한 Domain이 존재하여 그 정보를 활용한다면 적은 데이터로도 예상보다 좋은 성능의 모델을 구축할 수 있을 것이라 생각했기 때문이다. 예를 들어 특정 사업에서 기존에 불량을 검사하던 공정이 존재한 상황에서 새로운 불량 검사 공정이 생겼다고 하자. 이 경우 기존 불량 검사 공정에서는 데이터가 많이 존재하지만 새로운 불량 검사 공정에서는 데이터가 거의 없을 것이다. 하지만 두 공정에서 불량을 검사하는 항목 자체는 매우 유사할 것이다. 이러한 경우에 Domain Adaptation 방법을 한번 적용해보면 생각보다 적은 데이터로도 좋은 성능의 모델을 구축해 볼 수 있지 않을까라는 생각을 해보았다. 또 새로운 영역에 대한 공부를 할 수 있게 자료를 잘 준비해준 승섭이형에게 감사함을 표한다.
Domain Adaptation은 학습하고자 하는 도메인에 데이터가 부족할 때, 상대적으로 데이터가 풍부한 유사 도메인을 활용하고자 하는 연구 분야이다. 매번 양질의 데이터를 풍부하게 수집하기 어려우니 '기존에 쌓아둔 데이터를 어떻게 하면 잘 활용할 수 있을까?'라는 고민은 아마 이론을 연구하는 학생들보다 제조와 의료 등의 현업에 계신 분들이 자주 던지는 질문일 것이다. 가령, 제품 A를 생산하며 수집한 공정 데이터를 신제품 B에 대한 분류/회귀 모델을 구축할 때 활용한다면 빠른 공정화에 도움이 될 것이다. 전이학습의 한 연구 갈래로써 Domain Adaptation은 상당히 실용적이고 쓸모가 많은 방법론이란 생각이 든다. 오늘 소개한 논문은 class label이 항상 주어지는 지도학습 상황에만 국한짓고 있는데, 개인적으론 class label이 필요하지 않는 비지도 Domain Adaptation에 대해 관심이 생겼고 공부하여 연구로 발전시켜보고자 한다.
금일 세미나 주제는 Domain Adaptation으로 승섭 선배가 진행해주셨다. Domain Adaptation 핵심은 기존에 가지고 있는 데이터 분포와 비슷한 형태를 가지고 있으나 영역(데이터분포)이 약간 다른 영역에 기존 데이터 분포를 적응시키는 것이다. 세미나에서 중점적으로 다룬 모델은 D-SNE( Domain Adaptation using Stochastic Neighborhood Embedding)였는데, 세미나를 통해 학습 구조가 t-SNE와 비슷하다는 것으로 이해하였고 이름이 왜 유사한지 알게 되었다.
기존에 가지고 있는 데이터 영역을 Source domain, 새로 적응시키고자 하는 데이터 영역을 Target Domain이라 하였을 때, 두 영역간 데이터들 사이의 거리는 레이블이 동일한 경우에는 작고, 다를 경우에는 멀 것이라는 가정하에 D-SNE의 학습이 진행된다. 따라서 거리가 작을 경우 데이터 레이블이 동일하게끔, 거리가 멀 경우 데이터 레이블이 다르게끔 정규분포를 활용한 확률로 최적화 함수를 정의하여 D-SNE를 학습한다. 학습 결과 두 Domain 각각의 Feature를 함께 학습하였으며, 같은 label 간 데이터는 가깝게, 다른 label간 데이터는 최대한 멀게하는 특성을 가지고 있다. 이와 같은 결과를 통해 세미나 마지막 부분은 실험 결과를 보여주었고, 실험 결과 해석 토론 시간에 교수님 및 선배들의 코멘트를 통해 더욱 깊게 Domain Adaptation을 알 수 있게 되었다. 흥미로운 주제이나 어려운 내용을 직관적으로 소개시켜준 승섭 선배의 노력이 돋보였고, 감사하다는 말을 전하고 싶다. 고생하였습니다!
이번 세미나는 d-SNE(Domain Adaptation using Stochastic Neighborhood Embedding) 주제로 승섭오빠가 진행하셨다. Domain Adaptation은 영역(Domain)이 달라졌을 때, 다르지만 관련 있는 새로운 영역에 기존 영역의 정보를 적응(Adaptation)시키는 방법론이다. 여기서의 영역은 데이터의 분포를 의미한다. 소스 도메인의 정보를 타겟 도메인에 적응시켜 소스 도메인에서 수행한 task의 성능에 가까워질 수 있도록 확률을 올려주는 것을 목표로 한다. 소스도메인과 타겟 도메인을 같은 feature 공간으로 매핑시켜 둘 사이의 거리를 유클리디안 거리로 계산하여 같은 레이블을 갖을 확률을 정규분포로 판단한다. d-SNE의 학습은 같은 레이블인 점끼리는 최대한 가깝게, 다른 레이블인 점끼리는 최대한 멀게 하는 방향으로 진행되고, 학습 시간 단축을 위해 Modified-Hausdorff 거리를 사용하였다. 전의학습의 한 종류인 Domain Adaptation을 이해하기 쉬운 발표 자료와 발표로 처음 접하게 되어 전의학습의 다른 세부 방법론들에 흥미가 생기는 세미나였다. 유익한 주제로 앞으로의 연구와 다가올 세미나 주제에 대한 시야를 넓혀 주신 승섭오빠께 감사를 표한다.
이번 세미나 주제는 Domain Adaptation using Stochastic Neighborhood Embedding (d-SNE)이다. 여기서 Domain은 데이터의 분포를 의미하는데 기존의 모델이 동작하도록 학습된 데이터의 분포를 소스 도메인이라하고 Adaptation을 할 새로운 데이터 분포를 타겟 도메인이라 한다. 따라서 Domain Adaptation은 데이터의 분포가 달라졌을 때 다르지만 관련 있는 새로운 데이터의 분포에 기존의 데이터 분포를 적응시키는 것이다. 이 과정에서 서로 다른 두 도메인 각각의 신경망을 거쳐서 feature들을 같은 공간에 매핑을 하게 되는데 이때 같은 레이블은 서로 가깝게, 다른 레이블은 서로 멀리 떨어진다. 레이블 간의 거리 산정은 Hausdorff distance를 기준으로 가까운 거리에 있는 다른 레이블의 거리는 최대한 떨어뜨리고 먼 거리에 있는 같은 레이블의 거리는 최대한 가깝게 하도록 진행된다. Hausdorff distance는 점으로 이루어진 집합 간의 거리를 구하는 방법이라고 한다. 해당 방법은 최장 거리를 구하게 되는데 두 집합 A, B 사이의 근접점을 구한 뒤 집합A의 근접점 중 집합B에 속한 점 중 가장 먼 것을 찾아 거리를 구한다. 아직은 전이학습 분야가 많이 생소하지만 보다 더 알아갈 수 있는 좋은 기회였던 것 같다. 멋진 세미나를 준비해주신 승섭이형께 감사의 말을 전한다.
금일 세미나의 주제는 d-SNE(Domain Adaptation using Stochastic Neighborhood Embedding)였다. Domain adaptation은 목표하는 데이터(target)이 모델을 학습시키기에 어려움이 있을 때 비슷한 다른 데이터(domain)를 이용하는 방법론이다. 이 논문에서 사용된 방법은 비선형 차원축소에 많이 사용하는 t-SNE와 같은 Stochastic Neighborgood Embedding을 응용하였다. 즉, 원래 데이터를 축소된 feature space에 표현하는데, t-SNE는 기존의 input 정보들(unlabeled)만 사용하지만, 이 논문은 label을 활용하여 동일한 label끼리는 가깝게, 다른 label끼리는 멀게 embedding을 하게 된다. 이렇게 embedding 하는 방법을 domain과 target이 공유하게 되면서 적은 수의 target 만으로도 비교적 정확한 학습이 가능하게 된다. 기존의 transfer learning이나 meta learning 등에서 target의 데이터가 부족한 상황에서 distance 기반으로 학습하는 방법론들이 있다. 보통 이런 방법론들은 pretrain 혹은 meta train 이라는 과정을 거쳐 domain 데이터를 이용한 학습 과정이 있는데, d-SNE는 target과 domain의 loss를 한번에 합쳐서 학습시켰다. domain과 target이 서로 매우 비슷하다면 합쳐서 학습하는 것이 더 유리할 것 같다. 또한 distance를 구할 때 항상 나타나는 계산 복잡도 문제를 해결하기 위해 최대값만 이용하여 연산하는 Modified-Hausdorff distance를 사용하였다.
Domain adaptation은 데이터가 풍부하고 잘 학습된 모델이 있는 source domain과 데이터가 부족하고 유사한 task를 잘 수행하고 싶은 target domain이 있을 떄, source domain의 데이터 또는 모델을 이용하여 target domain의 task를 잘 수행할 수 있는 모델을 만드는 것을 목표로 한다. 이번 세미나에서는 stochastic neighborhood embedding의 아이디어를 이용해서 domain adaptation을 수행하는 방법론인 d-SNE에 대해 다루었다. Stochastic neighborhood embedding은 원래 original feature space에서의 local structure를 embedded feature space에서도 보존하기 위한 방법론으로, 주로 고차원 데이터를 저차원으로 변환하여 시각화하는 데 많이 사용된다. d-SNE에서는 이런 SNE의 아이디어를 source domain과 target domain에서 같은 레이블을 갖는 데이터는 feature space상에서 유사한 위치에 embedding시키는데, 다른 레이블을 갖는 데이터는 feature space상에서 먼 곳에 embedding시키는데 사용하였다. 간단한 아이디어 이지만 논문의 실험 결과를 봤을 떄 효과적으로 domain adaptation을 수행하는 것을 알 수 있다. 최근 representation learning과 관련하여 contrastive learning이 많이 이용되고 있는데, d-SNE에서도 같은 개념을 사용하고 있는 만큼, d-SNE 이후로 어떤 연구들이 수행되고 있는지 알아보면 좋을 것 같다.
금일 세미나는 승섭이형이 d-SNE(Domain Adaptation using Stochastic Neighborhood Embedding)주제로 발표를 진행해주셨다. d-SNE의 자세한 설명 전에 Domain Adaptation에 대해 먼저 설명해주셨다. A,B라는 2개의 다른 도메인이 있을 때 특정 도메인 A 또는 B 정보를 잘 활용해서 다른 도메인을 알아보고자 하는 것이 Domain Adaptation이라고 이해했다. 이 말은 듣고 사실 전이 학습(transfer learning)이 가장 먼저 떠올랐다. 사전에 알고 있는 지식을 활용해서 새로운 환경에 대해 학습을 하는 것이 knowledge transfer라고 알고 있는데, 이 역시 유사한 목적을 가지고 탄생한 이론인 것 같고, 승섭이 형도 Domain Adaptation이 전이 학습의 부분 집합이라고 말씀해주셨다. 사전에 잘 알고 있는 환경이 Source domain이고 학습하고자 하는 새로운 환경이 Target domain이라고 생각하니 세미나의 내용을 더 잘 이해할 수 있었던 거 같다. 그리고 기존에 알고있던 t-SNE와 유사할 알고리즘이라고 생각했지만 사실 이름만 비슷할 뿐 다른 이론이라는 것도 알 수 있었다. t-SNE는 텍스트와 같은 데이터를 고차원의 벡터로 표현을 하고 샘플 간에 구조적인 특성을 보존하며 벡터로 표현된 것을 시각화 해주는 알고리즘으로 알고 있는데 d-SNE 같은 경우는 벡터를 시각화 하고자 하는 것이 아닌 새로운 환경의 데이터를 학습하고자 하는 것으로 완전히 다른 결인 것을 알 수 있었다. 오늘도 새롭고 유익한 이론에 대하여 잘 설명해주신 승섭이형에게 고맙다고 전하고 싶다.
이번 세미나는 ‘Domain adaptation using stochastic neighborhood embedding (d-SNE)’이라는 주제로 고려대학교 신공학관 218호에서 정승섭 연구원님 발표로 진행되었습니다. Domain Adaptation이라는 연구분야에 대해 간단히 소개를 하면, 기존의 source domain 데이터를 이용하여 준수한 성능을 내는 모델을 학습시킨 상태에서 원하는 target domain에 맞게끔 모델을 수정하면서도 성능 저하가 없게끔 하는 것이 목표인 기법입니다. 특히, 이런 상황에서 target domain에 해당하는 데이터의 수가 적어서 새로운 모델을 만드는 것이 어려운 경우를 가정합니다. 이러한 Domain Adaptation에 사용되는 방법 중에 하나가 이번에 소개한 d-SNE입니다.
기존에 흔히 접했던 t-SNE와는 Stochastic Neighborhood Embedding 기법만 공유할 뿐, 목적 자체는 다른 방법입니다. t-SNE는 차원축소와 시각화를 주 목적으로 하지만, d-SNE는 source domain과 target domain 데이터를 feature space로 넣어준 후 유사한 class끼리는 가까워지게 하고 다른 class끼리는 멀어지게 하여 Domain Adaptation을 진행하는 방식입니다. 여기서 사용된 개념인 ‘가까워진다’와 ‘멀어진다’는 일반적으로 사용하는 Euclidean Distance입니다. 그리고 계산량에서 효율적인 modified Hausdorff distance를 이용하여 feature space 상의 point 사이의 거리를 계산하였습니다. 위와 같은 내용을 매끄럽게 설명해주신 정승섭 연구원님께 감사의 말을 전합니다.
데이터 과학이라는것에 관심을 가지면서 캐글이란 곳을 알았고 많은 커널 게시글에서 t-SNE라는 개념을 접하였다. 설명변수들이 고차원일 경우임에도 불구하고 분포를 2차원으로 시각화한 개념이 신기해서 어떻게 가능할까 원리를 찾아보다가 어려워서 좌절한 적이 있다. 석사과정을 하면서 주변에 얻은 지식들이 하나씩 결합되서 최근에 T-SNE라는것에 대해서 이해가 조금 생겼을 무렵 승섭이가 d-SNE라는걸 설명해준다고 해서 신기했었다. 교수님이 설명하신것처럼 이건 시각화가 목적이 아닌 Domain Adaptation으로 기존의 성능이 잘나오는 모델을 가지고 다른 도메인의 분류 성능도 향상시켜보자는 개념이 가미되어서 시각화라기 보다는 실제 분류성능을 향상시키는 분류기법이라는 것에서 큰 차이가 있고 기존의 학습 잘되는 모델을 pretrained 되는건지 안되어서 from scratch로 시작되는지 차이도 있는것 같다. 그 부분에 있어서 실제로 pretrained model 즉 이전 도메인에서 학습된 성능의 향상이 있는지 궁금하다. 그리고 현구가 질문한것처럼 모든 데이터 찾아본 다음에 최소와 최대값으로 min-max를 하는 부분에서의 계산량을 보면 전체를 찾아보는것에서 이미 데이터 사이즈가 N이라고 하면 O(N)만큼 발생을 하여 계산량에서 분명 개선점이 없어보이는 것 같다. 샘플링을 해서 min, max를 하게 된다면 개선효과가 있겠지 않을까 싶다는 생각이 드는데 이건 관련 논문을 찾아봐야할 것 같다. 주변에서 이 Domain Adaptation을 가지고 논문을 쓰는 회사분이 있는데 말로만 들었던 개념을 State of Art로 Amazon AI Lab에서 나온 최근 연구로 자세히 알게 해준 승섭이게 감사의 마음을 전한다.
오늘 세미나는 승섭오빠가 d-SNE (Domain Adaptation Using Stochastic Neighborhood Embedding)에 대해 진행해주셨다. 처음 제목만 보고서는 t-SNE와 유사한 목적을 가진다고 생각했는대 stochastic neighborhood embedding을 domain adaptation에 활용한 방법론이었다. 오늘 예시와 같이 알고리즘안에 어떤 한 부분이 새로운 목적으로 사용되어 새로운 알고리즘의 뼈대가 되는 경우를 기존에 확인한 적이 많다. 나도 연구 아이디어를 낼 때 이런 부분을 생각할 수 있는 사람이 되어야겠다. Stochastic neighborhood embedding은 데이터 공간에서의 데이터간 인접구조를 임베딩 공간에서도 보존하기 위한 방법론으로, 주로 고차원 데이터를 저차원으로 변환하여 시각화하는 데 많이 사용된다. d-SNE에서는 이런 SNE의 아이디어를 source domain과 target domain에서 같은 레이블을 갖는 데이터는 임베딩 공간 안에서 유사하게 학습되도록, 다른 레이블을 갖는 데이터는 임베딩 공간 안에서 멀게 학습되는데 사용하였다. d-SNE는 적은 학습데이터가 있는 상황에 비슷한 도메인의 대량의 데이터를 활용하는 방법으로 어찌보면 transfer learning과 유사한 문제상황에 있기 때문에 domain adaptation과 transfer learning과의 차이점과 공통점에 대해서 알아두면 좋을 것 같다는 생각을 했다.