- 2022년 11월 25일 오전 9:25
- 조회수: 14837
INFORMATION
- 2022년 11월 25일
- 오후 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

이번 세미나는 딥러닝에서 활용되는 Feature Extractor인 Backbone Network에 대해 진행되었다. Backbone Network는 입력 데이터에서 Feature를 추출해내는 부분으로, 예측 정확도 및 학습속도에 영향을 미치는 부분이다. 본 세미나에서는 여러 Backbone 중 최근 많은 집중을 받고 있는 Vision Transformer(ViT) 계열의 Swin Transformer에 대해 집중적으로 다룬다. 추가적으로, 이러한 Swin Transformer의 아이디어를 Inductive Bias 장점을 가진 CNN에 적용하여 효과를 얻은 ConvNext에 대해서도 소개한다.
먼저 Swin Transformer는 ViT계열의 Backbone으로, 기존 ViT가 갖던 이미지의 크기와 해상도가 달라 학습이 어렵다는 한계를 극복하기 위해 제안되었다. 가장 주된 방법론은 Hierarchical Shifted Windows라는 방법론이다. 이는 먼저 Patch Partition, Linear Embedding, Patch Mergeing을 통해 해상도를 줄여주는 과정을 거친다. 이후 W-MSA 및 SW-MSA를 통해 Window를 Shift하여 Self-attention을 수행한다. 이때, 기존 윈도우보다 작은 Window가 생성되어 계산 효율성이 떨어질 수 있지만, Cyclic Shift와 Attention Mask를 적용하여 이를 극복할 수 있었다. 추가적으로 Relative Position Bias를 활용하여 기존의 Positional Encoding보다 개선할 수 있었다. 또한 ConvNext는 이러한 Swin Transformer의 구조를 CNN에 적용하여 효과를 얻을 수 있었다. 이때 Macro Design 등의 5가지 전략을 CNN에 적용하였으며, 결과적으로 CNN모델임에도 ViT계열과 유사하거나 좋은 성능을 얻을 수 있었다.
이번 세미나를 통해 최근에 각광받는 Backbone Network인 Swin Transformer를 접할 수 있었다. Swin Transformer라는 기존에 없던 아이디어를 창출해낸 것도 신기하지만, 이러한 ViT계열 Swin Tranformer의 아이디어를 CNN에 적용하여 좋은 성능을 낼 수 있었던 ConvNext의 연구 과정이 흥미로웠다. 또한 세미나 발표적인 측면에서는 논문의 추상적인 그림만으로는 이해가 힘들었을 부분들을, 이해하기 쉽도록 그림을 따로 그려주어 쉽게 이해할 수 있었다. 유익한 세미나를 준비해주신 심세진 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 'Backbone notwork in Deep learning'을 주제로 진행되었다. Backbone network는 수행하고자 하는 task에 따라 다르지만, 이미지 분류, 객체 탐지, 객체 분할과 같은 다양한 비전 분야에서 사용하는 특징 추출기를 뜻한다. 따라서, 특징 추출기를 통해 입력 데이터의 특징을 잘 추출해야 하고 계산 복잡도를 낮추는 등과 같은 이유로 Backbone network는 굉장히 중요한 역할을 담당한다. 본 세미나에서는 transformer 계열의 backbone network인 Swin Transformer와 CNN 계열의 backbone network인 ConvNeXt에 대해 설명한다. 이에 대한 간략한 설명은 아래와 같다.
먼저 Swin Transformer의 큰 장점은 Transformer 계열임에도 불구하고 CNN 기반 모델과 유사한 학습 시간을 보이면서 높은 성능을 가진다는 것이다. 특히, 기존 Vision Transformer가 가지는 문제점을 Hierarchical Shifted windows 방법론을 통해 개선하여 ViT 대비 선형적인 계산 복잡도와 더 좋은 성능을 보였다. 다음으로 소개된 ConvNet은 CNN 계열의 backbone network로서, Sliding Window를 통해 파라미터를 공유하여 근접한 픽셀끼리 종속성을 가지거나 이미지가 어떤 위치에 있든 같은 출력을 갖게 하는 Transitional Invariance 등과 같은 CNN 모델의 장점과 Swin Tranformer의 구조에 맞춰 개발된 기법으로 Transformer 계열과 CNN 계열의 backbone network와 비교했을 때 더 좋은 성능을 보인다.
본 세미나에서 설명된 모든 이론과 관련된 내용에 예시를 곁들여 설명을 해주었다. 비전 분야에서 사용하는 transformer 계열의 backbone network에 대해서 제대로 접해본 적이 없었는데도 불구하고 자세한 예시 덕분에 전체적인 흐름을 이해하는 데 도움이 되었던 것 같다. 최근 프로젝트를 진행하면서 자연어 처리에서 적용하는 trasformer 관련 내용에도 꽤 흥미를 갖고 있었는데, 비전 분야에서 적용된 Swin Transformer를 보고 비전 분야에 적용된 transformer에 관한 내용도 좀 찾아보고 싶은 마음이 생겼다. 유익한 세미나를 준비해준 심세진 연구원에게 감사드리며 이상으로 후기를 마친다.

이번 세미나는 Backbone Network in Deep Learning 이란 주제로 세진이가 발표했다. Backbone Network는 입력 데이터에 대한 특징을 추출하는 특징 추출기이다. 대표적으로 Convolutional Neural Networks (CNNs)에는 AlexNet, VGGNet, ResNet 등이 사용되어 왔다. 또한, 자연어처리 분야에서 많이 활용된 Transformer는 최근 이미지를 처리할 수 있는 Vision Transformer (ViT)로 발전되어 왔다. 대표적으로 ViT 계열에는 Swin Transformer가 있다. Swin Transformer는 이미지 해상도 문제를 해결하기 위해 Shifted Windows 방법을 제안하였다. 이를 위한 프로세스는 Patch Partition, Linear Embedding, Patch Merging 등 다양한 프로세스로 존재한다. Swin Transformer의 구조를 CNN에 적용한 ConvNeXt는 장점을 살려 좋은 효과를 얻을 수 있다는 것을 결과로 보였다. 개인적으로 Backbone은 심플하면서도 좋은 것이 좋은 거다라고 생각한다. State of the Art (SOTA)라고 해서 모든 연구에 맞는 것은 아니다. 따라서, 풀고자하는 Task, 데이터셋 정보, 형태, 계산 복잡도 등을 고려하여 적절한 Backbone을 적용하는 것이 바람직하다고 생각한다. 아니면 경험적으로 실험을 통해 좋은 Backbone을 선택하는 것도 괜찮다. 나는 오늘도 강화학습을 위해 Convolution Layer 3개로 학습 중이다...

이번 세미나는 Backbone Network라는 주제로 심세진 연구원이 진행하였다. Backbone 네트워크는 이미지로 부터 특징을 추출하는 역할을 하는 네트워크를 나타내며 Backbone 네트워크에 의해 특징이 추출되면 원하고자 하는 Task에 맞는 뒷단의 네트워크를 통해 문제를 해결하게 된다. 따라서 어떤 Backbone 네트워크를 사용하는가에 따라서 이미지에서 특징을 추출하는 성능이 달라지게 되고 결과적으로 최종 Task의 성능에 영향을 주게 된다. 대표적인 Backbone 네트워크로 AlexNet, VGG, ResNet등이 있다. 실제로 제조 현장에서 비전을 활용하여 불량을 탐지하는 문제에서 ResNet을 Backbone 네트워크로 활용하여 현장에 적용하는 과제를 진행하는 팀원이 있었던 기억이 난다. 모델을 학습하는데 굉장히 많은 자원, 시간 그리고 데이터가 필요한데 Backbone 네트워크를 사용함으로써 특징을 추출하는데 필요한 시간과 비용을 들이지 않으니 확실히 간편하게 모델을 제작할 수 있었던 것 같다. 따라서 이번 세미나 주제처럼 Backbone 네트워크의 성능이 꾸준히 발전하면 보다 다양한 Task에서 쓰일 수 있기에 중요성에 대하여 체감할 수 있었다. 본 세미나에서는 높은 성능을 달성하고 있는 최신 방법론인 Swin Transformer와 ConvNext를 소개해주었다. Swin Transformer는 Transformer 구조를 활용하여 이미지에서 특징을 추출하는데 Patch Partition과 Patch Merging등 여러 기법들이 적용되고 있었고 예시 이미를 통한 설명으로 보다 편하게 이해할 수 있었다. 세미나를 청취하면서 Transformer는 정말 안쓰이는 곳이 없는 것 같고 성능도 잘나오는 것 같아서 관련 공부를 좀 더 진행해야겠다는 생각이 들었다. 두번째로 ConvNext는 CNN모델을 기반으로 여러 최신화 기법들을 적용하여 높은 성능을 달성 했다고 한다. 최신화 기법으로 총 5가지를 설명해주었으며 각 최신화 기법이 Swin Transformer의 특징과 맞아 떨어지는 것으로 이해하였다. 한편으론 이미지에서 각 Object들의 위치가 중요한 게임과 같은 상황에서 Transition Invariance 특성이 있으므로 모델을 약간 수정하여 적용하기도 하는데 대부분의 이미지기반 Backbone 네트워크는 위치 정보를 잃어버리지 않나 라는 생각이 들었다. 또한 사실 이미지를 Detection하는 Task와 실제 정확한 위치를 알아야 하는 Task는 성격이 다르기 때문에 Backbone의 성능은 결국 적용하려는 도메인에 Depend 할 수 밖에 없지 않은가 라는 생각이 들었다. 모든 이미지와 관련된 Task에서 최고의 성능을 낼 수 있는 Backbone이 등장할 수 있을지 궁금하고, 성능 좋은 Backbone 네트워크의 구조를 완벽히 이해하고 본인의 Task에 맞게 수정할 수 있는 것이 중요할것 같다는 생각이 들었다. 유익한 세미나를 준비해주신 심세진 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

금일 세미나는 이미지 데이터에 대한 효과적인 딥러닝 특징 추출기 2개(Swin Transformer, ConvNext)를 주제로 세진이가 진행해주었다. 딥러닝 모델 안에서 데이터 특징 추출 모듈을 딥러닝 모델의 BackBone(특징 추출기)라고 부르는데, BackBone 구조를 어떻게 설계하는가에 따라 성능 변화가 크기 때문에 중요하다. ResNet 이후로도 다양한 BackBone 모델들이 꾸준히 개발되고 있다는 것은 소식으로만 알고 있었는데, 금일 세미나를 통해 어떠한 특성들이 좋은 이미지 BackBone 모델 개발에 필요로 한지 알 수 있었다. 개인적으로 가장 좋았던 점은 Convolution 계열의 모델에만 익숙해진 나에게, Swin Transformer라는 새로운 모델의 작동 방식을 자세히 알아갈 수 있었다는 것이다. 세미나의 직관적인 그림들 덕분에 모델 작동 방식을 이해하는데 있어 많은 도움이 되었고, 특히, SW-MAS 연산의 Cycle Shift와 Attention mask 부분에 대한 그림 설명들이 인상 깊었던 세미나였다. 좋은 세미나를 준비하느라 고생했을 세진이에게 감사의 말씀을 전하며, 세미나 후기를 마치도록 한다.

이번 세미나는 backbone network in deep learning에 대해서 진행하였다. backbone network 란 vision 분야의 분류,객체 감지, 객체 분할 등에서 사용되는 특징 추출기를 말한다. backbone network는 학습된 모델의 예측 정확도를 높이고 계산량을 낮추기 위해서 중요하다.
본 세미나에서는 Swin Transformer(transformer 계열)와 ConvNext(CNN 계열)을 설명한다.
Swin Transformer는 Transformer 구조를 활용하여 이미지에서 특징을 추출하는 모델이다. CNN 기반 모델과 유사한 학습 시간을 보여주고, 높은 성능을 보여준다. Swin Transformer에서 주요 핵심은 Hierarchical Shifted windows 방법론이다. Patch Partition, Patch Mergeing을 사용하여 해상도를 줄이고, W-MSA 및 SW-MSA를 통해 Window를 Shift하여 Self-attention을 수행한다. window shift로 인해서 기존 윈도우 보다 작은 Window가 생성되어 계산 효율성이 떨어지게 된다. 이를 극복하기 위해서 Cyclic Shift와 Attention Mask를 적용하여 해당 문제를 해결한다.
다음으로 ConvNext은 CNN 계열의 구조를 활용한 backbone network 이다. CNN의 특징을 최신에 맞춰서 개선을 하여 transformer모델보다 더 좋은 성능을 내도록 만든 모델이다. Macro Design, ResNeXt-ify, Inverted Bottleneck, Large Kernel Sizes, Micro Design 5가지 최신화 방법을 적용하여 ViT보다 높은 성능을 보여준다.
이번 세미나를 통해서 transformer의 사용이 다양한 곳에 쓰일 수 있다는 것을 다시 한번 더 알 수 있었고, transformer에 대해서 더 상세한 공부를 해봐야겠다는 생각을 가지게 되었다. 또한, Swin transformer의 아이디어를 CNN에 적용할 수 있다는 것을 통해서 여러 분야의 연구를 살펴보고 아이디어를 결합해야 한다는 것을 깨달았다. 유익한 세미나를 준비해준 심세진 연구원에게 감사드리며 이상으로 후기를 마친다.

AlexNet 이후로 GoogLeNet, ResNet, DenseNet, Exception 등 다양한 CNN 모델들이 등장하였다. 이후 강화학습을 통해 최적의 모델 구조를 찾는 연구(Neural Architecture Search; NAS)가 관심을 끌어 EfficientNet, RegNet등이 등장하였다. 한편으로 Transformer는 기계 번역을 시작으로 문서 분류, 문서 요약 등 자연어 처리 분야에서 RNN을 대체하였다. 이후 Inductive Bias 가 없는 Transformer의 특징으로 인해 대용량 데이터에서 Transformer가 CNN보다 적합하다는 연구를 통해 Vision Transformer(ViT)가 등장하였다. 이후 DeiT, CaiT, XCiT, Swin Transformer가 등장하였으며, ViT를 기반으로 DINO 등의 다양한 자가지도학습 방법론이 연구되었다.
이렇듯 컴퓨터 비전에서는 오늘날까지도 다양한 backbone architecture에 대해 연구되고 있으며, 그 수는 기하급수적으로 증가하고 있다. 모든 논문이 수많은 사람의 땀과 결실로 이루어진 것을 알고 있으나 새로운 backbone 구조에 대한 논문을 나올때마다 다 볼 수는 없는 노릇이다. 금일 세미나는 2020년 이후 현재 가장 자주 사용되는 컴퓨터 비전 모델 구조인 Swin Transformer와 ConvNeXt에 대해 소개되었다.
개인적으로 보고 느낀점은 ViT 계열과 CNN 계열이 처음 출발점은 다르게 시작하였으나 결국은 둘 다 비슷해져 간다는 점이다. ViT의 장점은 CNN과 달리 Locality bias가 없다는 것과 Self-Attention mechanism을 통해 한번에 가장 먼 지점의 pixel과의 관계성을 추출할 수 있다는 것이다. 하지만 연산량이 매우 많다는 것이 단점이다. Swin Transformer에서 W-MSA와 SW-MSA는 결국 이러한 연산량의 한계를 인정하고 CNN Locality bias를 일부 차용한 것이다. 반대로 ConvNeXt에서도 Swin Transformer에서 사용한 모델 디자인을 일부 차용하였다. 같은 문제(컴퓨터 비전)을 해결하기 위해 등장한 서로 다른 두 갈래의 알고리즘이 처음엔 자기가 좋다고 서로 치고박다가 결국엔 서로 수용하여 합쳐지게 된 것 같다.
금일 세미나를 준비하느라 고생한 심세진 연구원에게 감사의 말씀을 전한다.