전체 글

논문 함께 읽기/2D Image Classification (IC2D)

[IC2D] EfficientNetV2: Smaller Models and Faster Training (ICML2021)

안녕하세요. 지난 포스팅의 [IC2D] Big Transfer (BiT): General Visual Representation Learning (ECCV2020)에서는 구글의 미친듯한 실험력을 보여준 BiT에 대해서 소개해드렸습니다. 해당 논문을 통해 전이 학습 시 큰 데이터셋으로 대규모 모델을 사전학습하게 되면 더 높은 성능을 얻을 수 있다는 점과 이 과정에서 Group Normalization과 Weight Standardization이 큰 역할을 한다는 점을 알게 되었습니다. 오늘도 구글에서 나온 유명한 논문 중 하나인 EfficientNetV2에 대해서 소개시켜드리도록 하겠습니다. EfficientNetV2: Smaller Models and Faster Training This paper in..

Programming/Coding Problem

BOJ 25305번: 커트라인

핵심 포인트 정렬 알고리즘 제출코드 N, k = map(int, input().split()) numbers = list(map(int, input().split())) for i in range(1, N): key = numbers[i] for j in range(i-1, -1, -1): if numbers[j] > key: numbers[j+1] = numbers[j] else: j += 1 break numbers[j] = key print(numbers[-k]) 해설 지난 포스팅의 BOJ 2750번: 수 정렬하기의 삽입정렬을 그대로 이용하여 문제를 풀 수 있습니다. 삽입정렬에 대한 자세한 알고리즘은 지난 포스팅을 참고해주시길 바랍니다. 여기서 주의할 점은 오름차순으로 정렬되어 있기 때문에 큰 숫자..

Programming/Coding Problem

BOJ 2587번: 대표값 2

핵심 포인트 정렬 알고리즘 중앙값의 정의 제출코드 numbers = [int(input()) for _ in range(5)] for i in range(1, 5): key = numbers[i] for j in range(i-1, -1, -1): if numbers[j] > key: numbers[j+1] = numbers[j] else: j += 1 break numbers[j] = key print(int(sum(numbers)/5)) print(numbers[2]) 해설 지난 포스팅의 BOJ 2750번: 수 정렬하기의 삽입정렬을 그대로 이용하여 문제를 풀 수 있습니다. 삽입정렬에 대한 자세한 알고리즘은 지난 포스팅을 참고해주시길 바랍니다. 문제에서 항상 5개의 숫자만 입력되기 때문에 중앙값은 정렬..

논문 함께 읽기/2D Image Classification (IC2D)

[IC2D] Big Transfer (BiT): General Visual Representation Learning (ECCV2020)

안녕하세요. 지난 포스팅의 [IC2D] Self-Training with Noisy Student Improves Imagenet Classification (CVPR2020)에서는 외부 unlabeled dataset을 이용하여 기존 Knowledge Distillation에서 Knowledge Expansion으로 바꾸어 ImageNet-1K에서 높은 성능 향상을 달성한 Noisy Student에 대해서 알아보았습니다. 오늘은 전이학습 (Transfer Learning)을 보다 효율적으로 다양한 task들에 적용할 수 있는 Big Transfer (BiT)에 대해서 알아보도록 하겠습니다. 결과적으로 구글의 실험 능력이 정말 넘사벽이라는 것을 느끼게 해준 논문인 거 같습니다. Big Transfer (..

Programming/Coding Problem

BOJ 2750번: 수 정렬하기

핵심 포인트 정렬 알고리즘 (삽입정렬과 거품정렬) 제출코드 (삽입정렬) N = int(input()) numbers = [int(input()) for _ in range(N)] for i in range(1, N): key = numbers[i] for j in range(i-1, -1, -1): if numbers[j] > key: numbers[j+1] = numbers[j] else: j += 1 break numbers[j] = key print(*numbers, sep='\n') 제출코드 (거품정렬) N = int(input()) numbers = [int(input()) for _ in range(N)] for i in range(0, len(numbers)): for j in range(0..

논문 함께 읽기/Transformer

[Transformer] Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions (ICCV2021)

안녕하세요. 지난 포스팅의 [Transformer] Training Data-efficient Image Transformer & Distillation through Attention (ICML2021)에서는 기존의 ViT와 Swin-Transformer에서 수행하는 JFT-300M에 학습 후 ImageNet-1K에 fine-tuning하지 않고 곧바로 ImageNet-1K에 학습해도 성능이 충분히 좋은 모델인 DeiT에 대해서 소개시켜드렸습니다. 오늘은 많은 Transformer 기반 모델에서 핵심 backbone 모델로 자리잡은 Pyramid Vision Transformer (PVT)에 대해서 알아보도록 하겠습니다. ICCV 2021 Open Access Repository Pyramid Visi..

논문 함께 읽기/2D Image Classification (IC2D)

[IC2D] Self-Training with Noisy Student Improves Imagenet Classification (CVPR2020)

안녕하세요. 지난 포스팅의 [IC2D] Improving Convolution Networks with Self-Calibrated Convolutions (CVPR2020)에서는 기존 어텐션 모듈과는 다르게 전혀 연산량을 늘리지 않는 Self-Calibrated Convolution에 대해서 설명드렸습니다. 오늘은 외부 unlabeled 데이터셋을 활용하여 ImageNet에서 성능 향상을 이룬 Noisy Student Training에 대해서 소개시켜드리도록 하겠습니다. Background 저희가 지금까지 보았던 다양한 모델들의 필수 과정은 ImageNet과 같은 대규모 데이터셋에서 full supervision을 필요로 합니다. 본 논문에서는 레이블이 존재하지 않는 외부 데이터셋도 함께 사용하여 Im..

논문 함께 읽기/2D Image Classification (IC2D)

[IC2D] Improving Convolutional Networks with Self-Calibrated Convolutions (CVPR2020)

안녕하세요. 지난 포스팅의 [IC2D] Big-Little Net: An Efficient Multi-Scale Feature Representation for Visual and Speech Recognition (ICLR2019)에서는 높은 연산량을 필요로 하는 high-scale 영상은 low-branch, 적은 연산량을 필요로 하는 low-scale은 추가적인 정보를 추출하기 위해 high-branch에 입력하여 연산량을 감소시키는 bL-Net에 대해서 알아보았습니다. 오늘은 지금까지 알아본 Attention 기반 모델과는 살짝 방향성이 다른 Self-Calibrated Convolution에 대해서 알아보도록 하겠습니다. CVPR 2020 Open Access Repository Jiang-Ji..

Johns Hohns
Everyday Image Processing