분류 전체보기
-
제가 소프트웨어융합학과 졸업 논문으로 작성한 가 IEEE IRC 2023 에 Regular Paper 로 통과되었습니다. (하단에 리뷰도 있습니다.) 저는 연구실에서 논문을 쓰게 된 것도 아니고... 캡스톤디자인으로 수행한 프로젝트를 국제 학회에 내겠다는 오기와 끈질김 하나로 혼자서 끙끙거리면서 쓴 논문이라 처음에 정말 막막했습니다. 저는 작년 (2022) 에 소프트웨어중심대학에서 진행하는 K-SW Square 프로그램 연수생으로 선발되어 미국 Purdue 대학교에 지내면서 IEEE IRC CHARMS 워크샵에 6-page 논문을 제출했던 경험이 있는데, 이때는 제가 논문을 많이 작성하지 않았고 내용적으로도 아쉬움이 많아서 올해는 조금 더 좋은 성과를 내 보고자 했습니다. 작년 논문은 Main Con..
새싹🌱연구자가 배운 논문 쓰는 법 : 첫 논문 쓰는 과정에서 배웠던 꿀팁들과 실제로 받은 리뷰제가 소프트웨어융합학과 졸업 논문으로 작성한 가 IEEE IRC 2023 에 Regular Paper 로 통과되었습니다. (하단에 리뷰도 있습니다.) 저는 연구실에서 논문을 쓰게 된 것도 아니고... 캡스톤디자인으로 수행한 프로젝트를 국제 학회에 내겠다는 오기와 끈질김 하나로 혼자서 끙끙거리면서 쓴 논문이라 처음에 정말 막막했습니다. 저는 작년 (2022) 에 소프트웨어중심대학에서 진행하는 K-SW Square 프로그램 연수생으로 선발되어 미국 Purdue 대학교에 지내면서 IEEE IRC CHARMS 워크샵에 6-page 논문을 제출했던 경험이 있는데, 이때는 제가 논문을 많이 작성하지 않았고 내용적으로도 아쉬움이 많아서 올해는 조금 더 좋은 성과를 내 보고자 했습니다. 작년 논문은 Main Con..
2023.11.21 -
이때까지 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 -
트랜스포머 Transformer 1. 구조 Multi-head self-attention Feed-forward network Layer normalization Shortcut connection Positional encoding 2. Advantages of Transformer Long - range relationship : Attention 덕분에 (이전 포스팅 : Non-local Filter 참조) Parallelized computing : Multi-head self attention 이 병렬화를 가능하게 함. Capacity for big data : 파라미터가 엄청 많다 ( = 모델이 크다, 학습 시간이 길다) 3. Transformer 의 구성 트랜스포머는 인코더와 디코더로 구성되..
Transformer 완전 정복하기😎트랜스포머 Transformer 1. 구조 Multi-head self-attention Feed-forward network Layer normalization Shortcut connection Positional encoding 2. Advantages of Transformer Long - range relationship : Attention 덕분에 (이전 포스팅 : Non-local Filter 참조) Parallelized computing : Multi-head self attention 이 병렬화를 가능하게 함. Capacity for big data : 파라미터가 엄청 많다 ( = 모델이 크다, 학습 시간이 길다) 3. Transformer 의 구성 트랜스포머는 인코더와 디코더로 구성되..
2023.09.25 -
Self Attention 까지 가기 위해서는 거쳐야 할 관문들이 조금 있습니다. Self Attention 이 나오게 된 배경, 그리고 이 많은 연구들 사이에서 Self Attention 이 어떤 위치에 있는지까지 알기 위해서, 먼저 Image Denoising 의 역사를 살펴볼 필요가 있습니다. Image Denoising 실제와 다른 신호가 노이즈입니다. 이런 노이즈를 제거하기 위해, 예전에 사용하던 방법은 필터를 적용하는 것이었습니다. Box Filter, Gaussian Filter, Median Filter 등을 사용하는 이런 필터들의 공통점은 한 가지 가정을 따릅니다. 그것은 바로 "포인트의 값은 이웃들과 유사할 것이다" 라는 가정입니다. 다만 이런 가정은, 하늘이나 벽 처럼 Homogene..
왕초보를 위한 Self AttentionSelf Attention 까지 가기 위해서는 거쳐야 할 관문들이 조금 있습니다. Self Attention 이 나오게 된 배경, 그리고 이 많은 연구들 사이에서 Self Attention 이 어떤 위치에 있는지까지 알기 위해서, 먼저 Image Denoising 의 역사를 살펴볼 필요가 있습니다. Image Denoising 실제와 다른 신호가 노이즈입니다. 이런 노이즈를 제거하기 위해, 예전에 사용하던 방법은 필터를 적용하는 것이었습니다. Box Filter, Gaussian Filter, Median Filter 등을 사용하는 이런 필터들의 공통점은 한 가지 가정을 따릅니다. 그것은 바로 "포인트의 값은 이웃들과 유사할 것이다" 라는 가정입니다. 다만 이런 가정은, 하늘이나 벽 처럼 Homogene..
2023.09.21 -
지난 번에 사용했던 Warthog 로봇과는 달리, Husky 로봇 시뮬레이터에는 IMU가 탑재되어 있어서 따로 urdf 를 수정해 줄 필요가 없습니다. (야호) 다음과 같이 Husky robot 을 Gazebo 에 불러와주고 조종할 수 있게 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py rostopic list 로 토픽을 확인해 보면 다음과 같이 토픽이 있는 것을 확인할 수 있습니다. /clock /cmd_vel /diagnostics /e_stop /gazebo/link_states /gazebo/model_states /gazebo/parameter_descriptions /gazebo/parameter_updates /gazebo/performa..
Gazebo 에서 IMU 데이터 받아와서 csv 파일로 저장하고 데이터 시각화하기지난 번에 사용했던 Warthog 로봇과는 달리, Husky 로봇 시뮬레이터에는 IMU가 탑재되어 있어서 따로 urdf 를 수정해 줄 필요가 없습니다. (야호) 다음과 같이 Husky robot 을 Gazebo 에 불러와주고 조종할 수 있게 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py rostopic list 로 토픽을 확인해 보면 다음과 같이 토픽이 있는 것을 확인할 수 있습니다. /clock /cmd_vel /diagnostics /e_stop /gazebo/link_states /gazebo/model_states /gazebo/parameter_descriptions /gazebo/parameter_updates /gazebo/performa..
2023.09.17