전체 글

전체 글

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - Emerging Properties In Self-Supervised Vision Transformers (DINO)

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - Emerging Properties In Self-Supervised Vision Transformers (DINO)

    이전에는 Swin Transformer에 대해 알아봤습니다. 이번에는 새로운 Transformer Architecture를 제안하는 논문보다는, 방법론적인 측면에 보다 집중한 논문을 읽어보고 싶었습니다. DINO(Distillation with No label)을 살펴볼 것인데, 해당 논문에서는 Self-Supervised learning 과 관련된 사전 지식이 필요로 했습니다. Self-Supervised learning에서의 evaluation protocol나 이전에 제안되었던 SimCLR, MoCo, BYOL,.. 등을 말이죠. 몰라도 괜찮습니다, 해당 포스팅에서 제가 간단히 짚으면서 넘어가겠습니다. 해당 논문에서, DINO의 구조, DINO를 훈련시키는 방법, DINO의 성능 평가 방법과 훈련시..

    군대 스터디 정리

    SW개발병과 군사과학기술병이 모여있는 생활관에 들어갔습니다. 이에 IT와 관련해서 관심있는 분야가 다양했습니다. 이에 각자의 관심있는 분야를 발표하고 나누며 IT분야의 트렌드를 파악해 나가고자했습니다. 스터디는 동기 3명이서 시작했으며, 점차 인원이 늘어가고 있습니다. 여기에는 발표한 것들의 주제를 간단히 정리하는 용도입니다. 나중에 참고할 순간이 있길 바라며. ~2024-1-07 참여자: 구본규 일병, 이현서 일병, 황민환 일병 구본규 일병 로지스틱 회귀, 선형회귀, 경사하강법, 신경망 기본 이현서 일병 VAE, AE, GAN, ViT(Vision Transformer) ~2024-0-19 참여자: 이현서 일병, 박상욱 일병, 심준용 이병, 이상화 상병 이현서 일병 KD(Knowledge Distill..

    [ 딥러닝 최신 알고리즘 - PRMI Lab] - Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

    [ 딥러닝 최신 알고리즘 - PRMI Lab] - Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

    ViT, DeiT순으로 Vision Transformer와 관련된 내용을 쭉 살펴보았었습니다. 이들의 고질적인 한계점은, (1) high resolution image가 들어오게 되면, sequence의 길이가 quadratic하게 증가해서, 이에 계산 복잡도가 기하급수적으로 늘어난다는 것이었습니다. (2) Hierarachical Representation(=계층적인 표현)을 학습하지 못합니다. 기존의 CNN기반 모델이 가지는 이점이기도 합니다. (3) Translation Invariant(=이동 불변성)이 부족합니다. General Purpose모델에 중요한 요소중에 하나입니다. 그래서 이러한 문제점에 대해 해결책을 제시해서 General Purpose의 Backbone Model로서의 가능성을 제..

    [ 딥러닝 최신알고리즘 - PRMI Lab ] - DeiT (data-efficient image transformers & distillation through attention)

    [ 딥러닝 최신알고리즘 - PRMI Lab ] - DeiT (data-efficient image transformers & distillation through attention)

    이전에 ViT를 살펴보았고, data-efficient하지 못하다는 단점이 있었습니다. 이런 문제점등을 개선한 ViT모델을 찾아보다 DeiT를 볼 수 있게 되었고, 다양한 ViT의 변형모델을 볼 수 있었습니다. 예를 들면 Swin Transformer, CvT,...는 추후 포스팅에서 알아보도록 하겠고, 이번에는 DeiT논문을 기반으로 코드도 참고하며 디테일하게 파고들어보겠습니다. Abstract 이전의 ViT는 좋은 성능을 이끌어 내기 위해서는 JFT-300M(=300M)의 어마무시한 크기의 dataset으로 pre-train시켰습니다. 이렇기에 ViT를 채택하기에는 한계점이 있는 상황입니다. 해당 논문에서는, 오직 Imagenet만으로 top-1 accuracy (83.1%)를 찍은 convoluti..

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - KD: Knowledge Distillation

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - KD: Knowledge Distillation

    이전에는 ViT의 논문을 리뷰하고 이에대한 코드를 짜보고 Pre-train과 fine-tuning까지 해보았습니다. 하지만 ViT의 고질적인 문제인 데이터 효율적이지 못하다는 점이 가장 아쉬웠습니다. 이에, 데이터 효율적인 ViT인 DeIT를 리뷰하려고 했습니다. 다만, 그 전에 DeIT에서 Knowledge Distillation과 관련된 사전 지식을 요해서 이와 관련된 내용을 논문과 함께 간단히 정리하고 가면 좋을거 같다고 생각했습니다. 해당 논문은 딥하게 파고들지 않고, 그냥 이런 개념이 있구나~ 정도로만 살펴보도록 하겠습니다. ( 사실 KD가 Nosiy Student Model기반 모델과 유사하다는 느낌이 들어서 얼른 이것도 알아보고 싶거든요!) https://arxiv.org/pdf/1503.0..

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - ViT 구현과, huggingface를 이용한 fine-tuning

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - ViT 구현과, huggingface를 이용한 fine-tuning

    https://github.com/eunoiahyunseo/rofydeo-model-archiving/tree/main/models/ViT 해당 github 주소에 코드들은 올려 놓았습니다. 모델 구현 # pytocrh와 기타 util라이브러리를 import해온다. import torch import torch.nn.functional as F import matplotlib.pyplot as plt from torch import nn from torch import Tensor from PIL import Image from torchvision.transforms import Compose, Resize, ToTensor # 텐서의 차원관리를 해주는, einops from einops import ..

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - ViT: Vision Transformer(2021)

    [ 딥러닝 최신 알고리즘 - PRMI Lab ] - ViT: Vision Transformer(2021)

    https://arxiv.org/pdf/2010.11929.pdf 오늘 제가 알아볼 논문은, 비전 Task분야에서 Convolution Network 구조였던 걸 Transformer구조로 변경하는데에 시작점이 된 Vision Transformer(ViT) 입니다. 기존에 Transformer구조는 NLP를 공부하면서 접한 내용이였습니다. 하지만 지금 Text Task에서는 이미 Transformer(=Bert, ELECTRA, T5 etc,...)로 지배적인 상황이였습니다. 하지만 ViT가 비전 Task에 적용된 이후로부터 Swin ViT, DeiT,,.. 등 많은 변형과 이를 Classification, Segmentation, Captioning,,.. 다양한 비전 Task로도 적용하는 추세가 되었..

    [ Kafka ] - 카프카의 개념에 대한 설명

    [ Kafka ] - 카프카의 개념에 대한 설명

    이벤트 스트리밍 플랫폼 Kafaka는 세가지 주요 기능을 결합해서 end-to-end 이벤트 스트리밍을 구현할 수 있게 됩니다. 이벤트 스트리밍을 지속적으로 발행하고 구독. 이벤트 스트리밍을 원하는 만큼 내구성 있고 안정적으로 저장. KafkaCluster(broker) 이벤트 스트림을 발생 시 또는 소급하여 처리. 이 기능은 모두 분산되고 확장성이 뛰어나고 탄력적이고 내결함성이 있으며 안전항 방식으로 제공됩니다. Kafka는 베어메탈 하드웨어, 가상 머신, 컨테이너, 온프레미스 및 클라우드에 배포할 수 있습ㄴ다. 메시지 큐(Message Queue: MQ) 메시지 지향 미들웨어(Message Oriented Middleward: MOM)은 비동기 메시지를 사용하는 각각의 응용프로그램 사이의 데이터 송수..

    [ Database - Intermediate ] - MySQL 구조 및 동작 흐름 (MySql 8.0 Architecture)

    [ Database - Intermediate ] - MySQL 구조 및 동작 흐름 (MySql 8.0 Architecture)

    이번 포스팅은 MySQL에 대해 더욱 자세히 이해하고자, MySQL의 전체적인 아키텍처에 대해 조사해보는 시간을 가졌습니다. https://www.youtube.com/watch?v=vQFGBZemJLQ 위 우테코 강의를 참고했으니 참고하실 분은 해주시면 되겠습니다. MySQL 아키텍처 MySQL 접속 클라이언트 MySQL은 많은 언어에서 접속 클라이언트를 제공합니다. 그리고 쉘에서도 쉘 스크립트를 통해서도 MySQL에 접속할 수 있습니다. MySQL 엔진 클라이언트 접속과 SQL 요청을 처리합니다. 이는 쿼리 파서, 전처리기, 옵티마이저, 실행 엔진 등으로 이루어져 있습니다. 여기서 중요한 옵티마이저는 요청 SQL문을 최적화해서 실행시키기 위해 실행 계획을 짭니다. 이는 실제 쿼리 실행 과정을 살펴볼때..

    [ 딥러닝 최신 트랜드 - PRMI Lab ] - Variations of Transformers

    [ 딥러닝 최신 트랜드 - PRMI Lab ] - Variations of Transformers

    2017년에 Transformer가 나온 이후로 정말 많은 후속 연구가 있었습니다. 기본적인 "Attention is all you need"에서의 Transformer의 구조는 위와 같습니다. 그 이후로 Transformer는 아래와 같은 방향으로 주로 발전했습니다. Complexity의 개선 성능 개선 도메인 확장 이의 개선 방법에 따라 아래와 같이 범주화 할 수 있습니다. Module level Architecture level Pre-Train Application Recap: 트랜스포머(Transformer) & Computational Costs 실제로 Self-attention, Recurrent, Convolutional, restricted self-attention의 시간 복잡도와 S..