딥러닝
-
Data Augmentation 도메인이 다르다고 하면 과연 이 세 장의 이미지에서 "무엇이" 다른 걸까요 ? 이미지에는 Semantic (Content) 정보와 Apperance (Style) 정보가 있습니다. 따라서 컨텐츠만 잘 하면 새로운 스타일의 이미지가 왔을 때 잘 분류할 수 있지 않을까요 ? 그리고, 1번과 3번 이미지는 비슷한 스타일이기는 하지만 자세라던지, 귀의 방향 등이 다릅니다. 그러면 1번 컨텐츠에 3번 스타일을 적용한 새로운 이미지를 생성한다면 학습에 도움이 되지 않을까요 ? 이것이 Domain Generalization 에 사용되는 Data Augmentation 의 방법입니다. 그러면 Contents 를 표현하는 것과 Style 을 표현하는 것은 무엇이 다를까요 ? ADaIN A..
Domain Generalization : Data Manipulation MethodsData Augmentation 도메인이 다르다고 하면 과연 이 세 장의 이미지에서 "무엇이" 다른 걸까요 ? 이미지에는 Semantic (Content) 정보와 Apperance (Style) 정보가 있습니다. 따라서 컨텐츠만 잘 하면 새로운 스타일의 이미지가 왔을 때 잘 분류할 수 있지 않을까요 ? 그리고, 1번과 3번 이미지는 비슷한 스타일이기는 하지만 자세라던지, 귀의 방향 등이 다릅니다. 그러면 1번 컨텐츠에 3번 스타일을 적용한 새로운 이미지를 생성한다면 학습에 도움이 되지 않을까요 ? 이것이 Domain Generalization 에 사용되는 Data Augmentation 의 방법입니다. 그러면 Contents 를 표현하는 것과 Style 을 표현하는 것은 무엇이 다를까요 ? ADaIN A..
2023.12.06 -
Domain Generalization 이 무엇일까 ? 위에 이 두 개는 같은 도메인일까요 아닐까요 ? 기준을 어떻게 두느냐에 따라서 도메인의 정의는 달라집니다. 수학적 정의 input x 의 marginal distribution 을 domain 이라고 정의 하는 경우가 많습니다. 혹은 input 과 output 의 joint distribution 으로 정의하는 경우도 있습니다. 그래서 우리는 각각의 Domain 에서 나온 Feature 들이 이와 같이 Label Space 에서 Clustering 되기를 바라는 것 입니다. Single-Source vs. Multi-Source Domain Generalization 그러면 학습할 때 도메인은 몇 개를 사용하면 될까요 ? 학습할 때 하나의 도메인만 ..
Domain GeneralizationDomain Generalization 이 무엇일까 ? 위에 이 두 개는 같은 도메인일까요 아닐까요 ? 기준을 어떻게 두느냐에 따라서 도메인의 정의는 달라집니다. 수학적 정의 input x 의 marginal distribution 을 domain 이라고 정의 하는 경우가 많습니다. 혹은 input 과 output 의 joint distribution 으로 정의하는 경우도 있습니다. 그래서 우리는 각각의 Domain 에서 나온 Feature 들이 이와 같이 Label Space 에서 Clustering 되기를 바라는 것 입니다. Single-Source vs. Multi-Source Domain Generalization 그러면 학습할 때 도메인은 몇 개를 사용하면 될까요 ? 학습할 때 하나의 도메인만 ..
2023.12.06 -
Backdoor Attack은 Adversarial Attack 의 한 종류입니다. 위와 같은 Attack 을 Evasion Attack 이라고 합니다. 우리가 실제로 모델을 학습시킬 때 사용하는 게 아니라, 학습된 모델을 테스트할 때 테스트 이미지를 조작해서 잘못된 결과를 내도록 하는 것입니다. Backdoor Attack Backdoor Attack 은 "트로이 목마" 처럼 무언가를 심어 놓는 것입니다. 이미 학습을 할 때부터 심어 놓게 됩니다. 이때 Poison instance 는 우리가 학습을 시키는 데이터셋에 오염된 instance 를 추가시키거나, 기존에 있던 데이터셋을 조금 변형시키는 것입니다. 예를 들어 데이터셋이 10,000 장이면 100 장 정도에 perturbation 이나 의도를 가..
Backdoor Attack on Self-Supervised LearningBackdoor Attack은 Adversarial Attack 의 한 종류입니다. 위와 같은 Attack 을 Evasion Attack 이라고 합니다. 우리가 실제로 모델을 학습시킬 때 사용하는 게 아니라, 학습된 모델을 테스트할 때 테스트 이미지를 조작해서 잘못된 결과를 내도록 하는 것입니다. Backdoor Attack Backdoor Attack 은 "트로이 목마" 처럼 무언가를 심어 놓는 것입니다. 이미 학습을 할 때부터 심어 놓게 됩니다. 이때 Poison instance 는 우리가 학습을 시키는 데이터셋에 오염된 instance 를 추가시키거나, 기존에 있던 데이터셋을 조금 변형시키는 것입니다. 예를 들어 데이터셋이 10,000 장이면 100 장 정도에 perturbation 이나 의도를 가..
2023.11.24 -
K, He, et al. "Masked Autoencoders Are Scalable Vision Learners", ICCV, 2022 Very simple method, but highly effective BERT-like algorithm, but with crucial design changes for vision Intriguing properties - better scalability and more from analysis MAE 같은 형식의 문제가 여기서 처음 나온 건 아닙니다. 우리가 Pretext Task 중에서, Context Prediction 이라는 impainting 태스크가 있었습니다. 또한 Transformer 에서 언급했던 Pixel GPT 도 있습니다. 그런데 2022..
MAE : Masked AutoEncoder🤿K, He, et al. "Masked Autoencoders Are Scalable Vision Learners", ICCV, 2022 Very simple method, but highly effective BERT-like algorithm, but with crucial design changes for vision Intriguing properties - better scalability and more from analysis MAE 같은 형식의 문제가 여기서 처음 나온 건 아닙니다. 우리가 Pretext Task 중에서, Context Prediction 이라는 impainting 태스크가 있었습니다. 또한 Transformer 에서 언급했던 Pixel GPT 도 있습니다. 그런데 2022..
2023.11.23 -
이때까지 Contrastive Learning 에서는 Negative Sample 이 중요했습니다. 하지만 BYOL 은 이와 조금 다릅니다. Key Ingredients Image Transformations : Comparing embeddings Target Networks : Similar to MoCo Additional Predictor on top of online network Interest of the method Simple training procedure No negative examples Work at the embedding level : no pseudo-labels BYOL 은 Negative Sample 을 사용하지 않고, Positive Sample 들 간에 얼마나 가까..
Contrastive Learning : BYOL (Bootstrap Your Own Latent)이때까지 Contrastive Learning 에서는 Negative Sample 이 중요했습니다. 하지만 BYOL 은 이와 조금 다릅니다. Key Ingredients Image Transformations : Comparing embeddings Target Networks : Similar to MoCo Additional Predictor on top of online network Interest of the method Simple training procedure No negative examples Work at the embedding level : no pseudo-labels BYOL 은 Negative Sample 을 사용하지 않고, Positive Sample 들 간에 얼마나 가까..
2023.11.20 -
Contrastive Learning 을 하는 이유는 Postive Pair 는 가깝게, Negative Pair 는 멀게 하기 위함입니다. 여기서 가장 흔히 사용되는 Loss 는 InfoNCE 라는 loss 입니다. 다만 이후 Clustering 을 할 때 있어서 문제가 발생합니다. InfoNCE 로 인코더를 학습하고 나면 x와 x' 의 위치는 Embedding space 상에서 가까워 지게 됩니다. 그런데 과연 가까워 지는 쪽으로 업데이트를 하는 게 옳을까요 ? 가까워지는 방향에 Negative Pair 들이 있다면 어떻게 될까요 ? Negative Pair 들이 없는 방향으로 옮겨가야 하지 않을까요 ? 즉, Negative 랑은 멀게, Positive 랑은 가깝게 하려면 momentum 을 고려해야..
Contrastive Learning : Moco (Momentum Contrast)Contrastive Learning 을 하는 이유는 Postive Pair 는 가깝게, Negative Pair 는 멀게 하기 위함입니다. 여기서 가장 흔히 사용되는 Loss 는 InfoNCE 라는 loss 입니다. 다만 이후 Clustering 을 할 때 있어서 문제가 발생합니다. InfoNCE 로 인코더를 학습하고 나면 x와 x' 의 위치는 Embedding space 상에서 가까워 지게 됩니다. 그런데 과연 가까워 지는 쪽으로 업데이트를 하는 게 옳을까요 ? 가까워지는 방향에 Negative Pair 들이 있다면 어떻게 될까요 ? Negative Pair 들이 없는 방향으로 옮겨가야 하지 않을까요 ? 즉, Negative 랑은 멀게, Positive 랑은 가깝게 하려면 momentum 을 고려해야..
2023.11.16 -
Contrastive Learning 이 이전의 Pretext Task 와 다른 점은 다음과 같습니다. Contrastive Learning 은 특정한 일을 시키면서 Representation 을 학습시키는 게 아니라, invariance 와 contrast 를 사용합니다. 비슷하게 생기거나, semantic 하게 유사한 애들을 positive pair 라고 하고, 그렇지 않은 애들을 negative pair 라고 하면, invariance 와 contrast 는 다음과 같이 정의됩니다. Invariance : Representations of related samples should be similarContrast : Representations of unrelated samples should ..
Self - Supervised Learning : Contrastive LearningContrastive Learning 이 이전의 Pretext Task 와 다른 점은 다음과 같습니다. Contrastive Learning 은 특정한 일을 시키면서 Representation 을 학습시키는 게 아니라, invariance 와 contrast 를 사용합니다. 비슷하게 생기거나, semantic 하게 유사한 애들을 positive pair 라고 하고, 그렇지 않은 애들을 negative pair 라고 하면, invariance 와 contrast 는 다음과 같이 정의됩니다. Invariance : Representations of related samples should be similarContrast : Representations of unrelated samples should ..
2023.11.09 -
Self-supervised learning 의 필요성과 기능 Supervised Learning 이 발전함에 따라서, 필연적으로 Self-Supervised Learning 이 각광을 받게 되었습니다. DNN 은 기적같은 성과를 내었지만 이를 위해서는 상당히 많은 양의 Labeled 데이터가 필요했습니다. Annotation 은 상당히 비용이 많이 들고, 돈이 있다고 해서 모두 할 수 있는 것도 아닙니다. 예를 들어 Medical Data 같은 경우 전문성이 필요합니다. Self-Supervised Learning 을 처음 들었을 때 , "스스로 Annotation 을 해 주는 건가 ?" 라는 생각이 들 수 있습니다. 그렇다기보다는, label 자체를 "누군가가 애써서 만들지 않아도 된다" 라고 생각..
Self - Supervised Learning : Pretext TaskSelf-supervised learning 의 필요성과 기능 Supervised Learning 이 발전함에 따라서, 필연적으로 Self-Supervised Learning 이 각광을 받게 되었습니다. DNN 은 기적같은 성과를 내었지만 이를 위해서는 상당히 많은 양의 Labeled 데이터가 필요했습니다. Annotation 은 상당히 비용이 많이 들고, 돈이 있다고 해서 모두 할 수 있는 것도 아닙니다. 예를 들어 Medical Data 같은 경우 전문성이 필요합니다. Self-Supervised Learning 을 처음 들었을 때 , "스스로 Annotation 을 해 주는 건가 ?" 라는 생각이 들 수 있습니다. 그렇다기보다는, label 자체를 "누군가가 애써서 만들지 않아도 된다" 라고 생각..
2023.11.09 -
무엇을 배우는가 ? 의 관점에서 KD 는 크게 3가지로 분류할 수 있습니다. Response-Based : 결과값을 따라가는 것 Feature-Based : 중간에 나오는 값들 (과정) 도 다 따라가는 것 Relation-Based : 단편적인 값들의 비교가 아닌, 중간 중간의 값들이 어떤 프로세스에 의해 나오는지 (Flow) 흐름도 따라가는 것 What to match ? Output Logits Output logit 을 따라가는 것은 직관적이고 이해하기 쉽습니다. 하지만 이는 Supervised Learning 에서밖에 사용할 수 없습니다. 답이 있어야 하니까요. Intermediate Features 중간 feature 값으로부터 학습을 하는 것입니다. 하지만 이런 Feature 를 matchin..
다양한 Knowledge Distillation 방법들 : 1. Response - based KD무엇을 배우는가 ? 의 관점에서 KD 는 크게 3가지로 분류할 수 있습니다. Response-Based : 결과값을 따라가는 것 Feature-Based : 중간에 나오는 값들 (과정) 도 다 따라가는 것 Relation-Based : 단편적인 값들의 비교가 아닌, 중간 중간의 값들이 어떤 프로세스에 의해 나오는지 (Flow) 흐름도 따라가는 것 What to match ? Output Logits Output logit 을 따라가는 것은 직관적이고 이해하기 쉽습니다. 하지만 이는 Supervised Learning 에서밖에 사용할 수 없습니다. 답이 있어야 하니까요. Intermediate Features 중간 feature 값으로부터 학습을 하는 것입니다. 하지만 이런 Feature 를 matchin..
2023.10.16 -
Knowledge Distillation 의 정의 Knowledge Distillation is a process of distilling or transferring the knowledge from a large, cumbersome (다루기 어려운) model(s) to a lighter, easier-to-deploy single model, without significant loss in performance KD 는 퍼포먼스의 손실을 최소화하면서 크고 복잡한 모델로부터 작은 모델로 Knowledge 를 전파하는 것을 의미합니다. 큰 모델에서 나오는 성능을 작은 플랫폼에서 돌아가는 모델에 어떻게 적용할 수 있을까 ? 에 관련한 연구들은 다양한 방면에서 진행되고 있습니다. 예를 들어 다음과 같은..
Knowledge Distillation 개요Knowledge Distillation 의 정의 Knowledge Distillation is a process of distilling or transferring the knowledge from a large, cumbersome (다루기 어려운) model(s) to a lighter, easier-to-deploy single model, without significant loss in performance KD 는 퍼포먼스의 손실을 최소화하면서 크고 복잡한 모델로부터 작은 모델로 Knowledge 를 전파하는 것을 의미합니다. 큰 모델에서 나오는 성능을 작은 플랫폼에서 돌아가는 모델에 어떻게 적용할 수 있을까 ? 에 관련한 연구들은 다양한 방면에서 진행되고 있습니다. 예를 들어 다음과 같은..
2023.10.16 -
ViT 의 한계점 Self-Attention 을 Computer Vision 도메인에 적용한 ViT 는 Classification 분야에서 SOTA 의 성능을 보여주었습니다. 다만 ViT 는 Classification 문제만 다룰 수 있다는 한계점이 있었습니다. 또한, ViT는 NLP 의 transformer 를 거의 그대로 가져다 썼기 때문에, Vision 문제 처리에 특화된 transformer 구조를 제안할 수 있지 않을까 ? 하는 제안도 있었습니다. Computational Cost 가 크다는 문제점도 있고요. Swin Transformer 의 제안 Swin Transformer 는 이런 단점을 극복하기 위해서 만들어졌습니다. 이는 계층적인 (Hierarchical) 트랜스포머입니다. Shifte..
큰 이미지에서 동작하는 ViT : Swin TransformerViT 의 한계점 Self-Attention 을 Computer Vision 도메인에 적용한 ViT 는 Classification 분야에서 SOTA 의 성능을 보여주었습니다. 다만 ViT 는 Classification 문제만 다룰 수 있다는 한계점이 있었습니다. 또한, ViT는 NLP 의 transformer 를 거의 그대로 가져다 썼기 때문에, Vision 문제 처리에 특화된 transformer 구조를 제안할 수 있지 않을까 ? 하는 제안도 있었습니다. Computational Cost 가 크다는 문제점도 있고요. Swin Transformer 의 제안 Swin Transformer 는 이런 단점을 극복하기 위해서 만들어졌습니다. 이는 계층적인 (Hierarchical) 트랜스포머입니다. Shifte..
2023.10.04 -
Attention in Vision Attention 을 CV 에 적용하기 위해서 다양한 방법들이 시도되어져 왔습니다. 이 그림은 "Stand - Alone Self-Attention in Vision Models" 라는 논문에 나오는 그림인데, 어떤 값을 낼 때 Convolution 을 하는 게 아니라, 가운데 있는 픽셀 값을 Query 로 날리고 Key 는 Fully connected로 학습해서 만들고, Value도 곱해서 만들어서 Self-attention 을 하기는 했습니다. 다만 이 구조도 CNN 의 Locality 를 극복하지는 못 했습니다. 그 다음에는 NLP의 word 대신 pixel 을 넣는 네트워크들이 제안되기는 했는데, 메모리 사용량이 너무 많다는 단점이 있었습니다. 원리상으로는 pi..
어텐션을 비전에 : ViT (Vision Transformer)Attention in Vision Attention 을 CV 에 적용하기 위해서 다양한 방법들이 시도되어져 왔습니다. 이 그림은 "Stand - Alone Self-Attention in Vision Models" 라는 논문에 나오는 그림인데, 어떤 값을 낼 때 Convolution 을 하는 게 아니라, 가운데 있는 픽셀 값을 Query 로 날리고 Key 는 Fully connected로 학습해서 만들고, Value도 곱해서 만들어서 Self-attention 을 하기는 했습니다. 다만 이 구조도 CNN 의 Locality 를 극복하지는 못 했습니다. 그 다음에는 NLP의 word 대신 pixel 을 넣는 네트워크들이 제안되기는 했는데, 메모리 사용량이 너무 많다는 단점이 있었습니다. 원리상으로는 pi..
2023.10.02