DL38 Vision Transformer (AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE) 논문 발표 당시 Transformer는 NLP 분야의 표준으로 자리잡았는데, CV에서의 적용은 한정적이었다. CV에서 attention은 CNN과 함께 적용되거나, CNN 구조를 유지하면서 특정 컴포넌트만 대체하는 데 사용되었다. 본 논문에서는 pure transforemr를 image pathes의 시퀀스에 직접 적용하는 것이 image classification 분야에서 좋은 성능을 낸다는 것을 입증한다. ViT의 특징 기존 CNN 기반 SOTA 모델보다 성능이 좋으면서 Fine-Tuning 과정에서 더 적은 리소스로도 더 좋은 성능을 보여준다. 기존 Transformer 모델처럼 parameter의 한계가 아직 없다. 더 많은 데이터와 더 많은 parameter로 더 좋은 성능을 보여줄 수 있다. .. 2024. 1. 29. YOLOv3 Pytorch 코드 리뷰 코드 : https://github.com/aladdinpersson/Machine-Learning-Collection/tree/master/ML/Pytorch/object_detection/YOLOv3 1. DarkNet + Multi-scale feature map extracter YOLO v3에서는 DarkNet-53이라는 새로운 Backbone network가 등장한다. 총 53개의 conv layer로 이루어져있다. """ Implementation of YOLOv3 architecture """ import torch import torch.nn as nn """ Information about architecture config: Tuple is structured by (filters, .. 2024. 1. 26. FLOPs FLOPs는 다양한 딥러닝 모델들의 논문을 볼 때 연산량을 나타내는 지표로써 많이 사용된다. FLOPs를 포함한 연산량과 관련된 지표를 간단히 정리하면 다음과 같다. FLOPs는 FLoating point Operations의 약자로, 부동소수점 연산을 의미한다. FLOPs의 연산은 산칙연산을 포함해 Root, log, exp 등의 연산도 포함되며, 각각을 1회의 연산으로 계산한다. FLOPS는 Floating point Operations Per Second로, 초당 부동소수점 연산을 의미함으로, 하드웨어의 퍼포먼스 측면을 확인하는 지표이다. MAC은 현대 하드웨어들이 tensor의 연산을 할 때 사용되는 명령어 셋인 FMA가 a*x+b를 하나의 연산으로 처리하여 이 연산이 몇 번 실행되었는지 세는 것.. 2024. 1. 25. YOLOv1 Pytorch 코드 리뷰 코드 : https://github.com/aladdinpersson/Machine-Learning-Collection/tree/master/ML/Pytorch/object_detection/YOLO 1. DarkNet DarkNet은 YOLOv1이 feature map을 생성하기 위해 만들어진 독자적인 CNN이다. ## model.py """ Implementation of Yolo (v1) architecture with slight modification with added BatchNorm. """ import torch import torch.nn as nn """ Information about architecture config: Tuple is structured by (kernel_siz.. 2024. 1. 25. DETR : End-to-End Object Detection with Transformers 논문 발표 당시 최근까지 나온 detection 모델을 설명하기 위해서는 Region proposl, Anchor box, NMS 등 새로운 개념들이 많이 등장했다. 이런 개념들은 실제로 구현하기 어렵고 코드가 길어진다는 단점이 있었는데, 2020년 당시 Facebook(현 META)은 이런 개념들을 적용하지 않고 네트워크 구조가 단순하면서 end-to-end 학습이 가능한 DETR을 제안한다. 기존 Object detection 본 논문에서는 객체 인식을 bbox와 category라는 set을 예측하는 task로 정의한다. 이 때 기존의 모델들은 다수의 proposal, anchor, window center 등을 기반으로 set을 찾는 간접적인 방법에 기반을 두고 있다. 본 논문에서는 이러한 pipe.. 2024. 1. 25. BPE(Byte Pair Encoding), WordPiece Tokenization BPE에 대해 정리하기 전에 Tokenization에 대해 간단히 정리를 하고 넘어간다. Tokenization Tokenization은 Text를 임의로 지정한 단위, 즉 token으로 나누는 작업이다. NLP 모델을 학습시킬 때 토큰화된 단어의 개수가 모델 성능에 다양한 영향을 미치며, 여기서 특히 Out-of-Vocabulary(OOV)는 큰 문제다. Tokenization은 크게 3가지 유형으로 분류한다. 1. Word based Tokenizer : 말 그대로 단어 단위로 토큰화를 한다. - 하지만 단어 단위로 토큰화를 하면 신조어를 처리하지 못하거나 OOV와 같은 문제가 있다. 2. Character based Tokenizer : 영어 기준 알파벳, 한국어 기준 초성 중성 종성 혹은 음절 단.. 2024. 1. 25. MDGAN : Mask guided Generation Method for Industrial Defect Images with Non-uniform Structures 코드 구현 및 리뷰 논문 : https://www.mdpi.com/2075-1702/10/12/1239 구현 코드 : https://github.com/hits-gold/MDGAN-pytorch/tree/main?tab=readme-ov-file 구현하게 된 배경 인턴으로 근무하던 당시 팀에서 반도체 불량 검출 과제를 하고 있었고, 이 후에도 같은 task를 다수 맡을 예정이었다.이에 '제조업계에서 사용되는 불량 검출 과제'에 선제적 대응을 할 요인을 찾아 대비하는 차원에서 1인 프로젝트를 시작하게 되었다. 선행연구조사를 통해 결함 이미지에 대한 classification이나 segmentation과 같은 task를 진행할 때 일반적으로 결함 이미지가 적어 데이터 불균형이 있다는 것을 알게 되었다. (불량률을 줄이기 위해 .. 2024. 1. 24. Transformer Pytorch 코드 리뷰 기본 Transformer 구조 Pytorch에는 Transformer가 구현되어 있어, 이를 활용한 기본 구조를 만들면 다음과 같다. # nn모듈을 활용한 Transformer 기본구조 import torch import torch.nn as nn import torch.optim as optim class Transformer(nn.Module): def __init__(self, num_tokens, dim_model, num_heads, num_encoder_layers, num_decoder_layers, dropout_p, ): super().__init__() # Layers self.transformer = nn.Transformer( d_model=dim_model, nhead=num_h.. 2024. 1. 24. EfficientDet CV 분야에서 모델의 효율성이 점점 더 중요해지고 있다. EfficientDet은 모델의 효율성을 상승시키기 위한 몇 가지 최적화 방법을 소개한다. Preview 시간이 흐르면서 detection 모델들의 성능이 계속 향상되었지만, 대부분 많은 파라미터를 가지고, 복잡한 구조로 다양한 Device에 적용이 어려웠다. 자율주행 차량 등 제약사항이 많은 곳에 사용되는 효율적인 모델들에 대한 필요성이 대두되었지만 그 요구사항들을 충족시키기 위해서는 해결해야할 근본적인 문제들이 있었다. 높은 정확성과 더 나은 효율을 동시에 달성하는 것이 가능한가? EfficientDet은 이 문제를 해결하기 위해 성능은 유지하면서 효율성을 증대시킬 수 있는 해결책을 두 가지 제시했다. 1. Efficient multi-scal.. 2024. 1. 24. 이전 1 2 3 4 5 다음