IPT [Kor]

Chen et al. / Pre-Trained Image Processing Transformer / CVPR 2021

1. Problem definition

ģ“ėÆøģ§€ 처리(Image processing)ėŠ” 볓다 źø€ė”œė²Œķ•œ ģ“ėÆøģ§€ ė¶„ģ„ ė˜ėŠ” 컓퓨터 비전 ģ‹œģŠ¤ķ…œģ˜ low-level 부분 중 ķ•˜ė‚˜ģž…ė‹ˆė‹¤. ģ“ėÆøģ§€ ģ²˜ė¦¬ģ˜ ź²°ź³¼ėŠ” ģ“ėÆøģ§€ ė°ģ“ķ„°ģ˜ ģøģ‹ ė° ģ“ķ•“ė„¼ ģˆ˜ķ–‰ķ•˜ėŠ” ķ›„ģ† ģƒģœ„ 레벨 부분에 크게 ģ˜ķ–„ģ„ 미칠 수 ģžˆģŠµė‹ˆė‹¤. 최근 ė”„ėŸ¬ė‹ģ€ GPU넼 ķ™œģš©ķ•œ ķ•˜ė“œģ›Øģ–“ ģ»“ķ“ØķŒ… ģ„±ėŠ„ģ“ ź°•ė „ķ•˜ź²Œ ģ¦ź°€ķ–ˆź³  Pre-Trained Deep Learning Modelź³¼ ėŒ€ź·œėŖØ ė°ģ“ķ„°ģ…‹ģ„ ķ†µķ•˜ģ—¬ 기씓 방법볓다 ģ¢‹ģ€ 결과넼 ė³“ģ—¬ģ£¼ģ—ˆģŠµė‹ˆė‹¤. ė˜ķ•œ, ģ“ėŸ¬ķ•œ ė”„ėŸ¬ė‹ źø°ģˆ ģ€ ģ“ėÆøģ§€ ģ“ˆź³ ķ•“ģƒė„(super-resolution), ģøķŽ˜ģøķŒ…(inpainting), ė””ė ˆģø(deraining), ģ±„ģƒ‰(colorization)ź³¼ ź°™ģ€ ė‚®ģ€ ģˆ˜ģ¤€ģ˜ 비전 ģž‘ģ—…ģ„ ķ•“ź²°ķ•˜źø° ģœ„ķ•“ 널리 적용되고 ģžˆģŠµė‹ˆė‹¤. ķ•˜ģ§€ė§Œ Pre-Trainingģ„ 통핓 ģ—¬ėŸ¬ ģ“ėÆøģ§€ 처리 Taskė“¤ģ„ ģ¼ė°˜ķ™”ķ•œ ģ—°źµ¬ėŠ” ź±°ģ˜ ģ—†ģŠµė‹ˆė‹¤.

ė³ø ė…¼ė¬øģ—ģ„œėŠ” Pre-Trained Deep Learning Modelģø IPT(image processing transformer)넼 통핓 ė…øģ“ģ¦ˆ 제거, ģ“ˆź³ ķ•“ģƒė„ ė° ė””ė ˆģ“ė‹ģ™€ ź°™ģ€ low-level 컓퓨터 비전 Task에 ėŒ€ķ•“ ģ¼ė°˜ķ™”ķ•˜ź³  ķ˜„ state-of-the-art ģ“ģƒģ˜ ź²°ź³¼(ģ„±ėŠ„)넼 ė³“ģ—¬ģ¤ė‹ˆė‹¤. ė˜ķ•œ ė§Žģ€ ģ–‘ģ˜ ģ†ģƒėœ ģ“ėÆøģ§€ ģŒģ„ ģ‹¤ķ—˜ģ— ģ‚¬ģš©ķ•˜źø° ģœ„ķ•“ ģž˜ ģ•Œė ¤ģ§„ ImageNet 벤치마크넼 ķ™œģš©ķ•©ė‹ˆė‹¤.

2. Motivation

1. Image processing

ģ“ėÆøģ§€ ģ²˜ė¦¬ėŠ” super-resolution(ķ•“ģƒė„ė„¼ ė†’ģ“ėŠ” ģž‘ģ—…), denoising(ė…øģ“ģ¦ˆ 제거), dehazing(연묓, ģ•ˆź°œ 등 ėŒ€źø° ģ¤‘ģ˜ ėÆøģ„øģž…ģž ė…øģ“ģ¦ˆ 제거) , deraining(ė¹„ė‚“ė¦¬ėŠ”ė“Æķ•œ ė…øģ“ģ¦ˆ 제거), debluring(ėø”ėŸ¬ 제거 ģž‘ģ—…) ė“±ģ„ ķ¬ķ•Øķ•œ ģ“ėÆøģ§€ ģ”°ģž‘ģœ¼ė”œ źµ¬ģ„±ė©ė‹ˆė‹¤.

  • (Dong et al.) ģ€ ģ“ˆź³ ķ•“ģƒė„ė„¼ ģœ„ķ•“ SRCNNģ„ ģ œģ•ˆķ•˜ģ˜€ģŠµė‹ˆė‹¤. Low Resolution(ģ €ķ•“ģƒė„) ģ“ėÆøģ§€ģ—ģ„œ High Resolution(ź³ ķ•“ģƒė„) ģ“ėÆøģ§€ė„¼ ģž¬źµ¬ģ„±ķ•˜ėŠ” end-to-end ėŖØėøģ„ ė„ģž…ķ•œ ģ„ źµ¬ģ ģø ģ—°źµ¬ģž…ė‹ˆė‹¤.

  • (Kim et al.) ģ€ ģœ„ģ˜ ģ—°źµ¬ģ—ģ„œ ė” ź¹Šģ€ ģ»Øė³¼ė£Øģ…˜ ė„¤ķŠøģ›Œķ¬ė„¼ ģ‚¬ģš©ķ•˜ģ—¬ 심층 ģ‹ ź²½ė§ģ˜ ķ¬źø°ģ„ ķ‚¤ģ› ģŠµė‹ˆė‹¤.

  • (Ahn et al. & Lim et al.) ģ€ SR(super-resolution) Task에 Residual block ź°œė…ģ„ ģ¶”ź°€ķ•˜ģ˜€ģŠµė‹ˆė‹¤.

  • (Zhang et al. & Anwar & Barnes) ėŠ” attentionģ˜ ź°•ė „ķ•œ ģ„±ėŠ„ģ„ SR Task에 ķ™œģš©ķ•˜ģ˜€ģŠµė‹ˆė‹¤.

ģ“ģ™øģ—ė„ 다넸 Task들에 ėŒ€ķ•œ ģ—°źµ¬ė„ ė§Žģ“ ģžˆģŠµė‹ˆė‹¤.

  • (Tian et al. ģ“ķ•˜ 5개 논문)ģ—ģ„œėŠ” ė…øģ“ģ¦ˆ ģ œź±°ģ™€ ź“€ė Øėœ Denoising에 ėŒ€ķ•“ ģ—°źµ¬ķ–ˆģŠµė‹ˆė‹¤.

  • (Cai et al. ģ“ķ•˜ 4개 논문)ģ—ģ„œėŠ” dehazing에 ėŒ€ķ•“ ģ—°źµ¬ķ–ˆģŠµė‹ˆė‹¤.

  • (Hu et al. ģ“ķ•˜ 6개 논문)ģ—ģ„œėŠ” deraining에 ėŒ€ķ•“ ģ—°źµ¬ķ–ˆģŠµė‹ˆė‹¤.

  • (Tao et al. ģ“ķ•˜ 4개 논문)ģ—ģ„œėŠ” debluring에 ėŒ€ķ•“ ģ—°źµ¬ķ–ˆģŠµė‹ˆė‹¤.

Idea 1. ģœ„ģ˜ ģ—°źµ¬ė“¤ģ—ģ„œėŠ” ź°œė³„ģ ģø 다넸 ė°©ė²•ģ„ ģ‚¬ģš©ķ•˜ģ—¬ ģ—°źµ¬ķ–ˆģ§€ė§Œ, ģ“ ė…¼ė¬øģ—ģ„œėŠ” ķ•˜ė‚˜ģ˜ 큰 ėŖØėø(pre-trained)ź³¼ ėŒ€ģš©ėŸ‰ģ˜ ė°ģ“ķ„°ė„¼ ģ‚¬ģš©ķ•˜ģ—¬ ģ—¬ėŸ¬ ģ“ėÆøģ§€ 처리 Task들에 ėŒ€ķ•“ģ„œ ģ‹¤ķ—˜ķ•˜ź³  ģ¢‹ģ€ 결과넼 ė³“ģ—¬ģ£¼ģ—ˆģŠµė‹ˆė‹¤.

2. Transformer

  • (Vaswani et al.) TransfomerėŠ” ė‹¤ģ–‘ķ•œ ģžģ—°ģ–“ 처리 ģž‘ģ—…ģ—ģ„œ ź°•ė „ķ•œ unsupervised ė˜ėŠ” self-supervised pretraining framework딜 ģ„±ź³µģ„ ģž…ģ¦ķ–ˆģŠµė‹ˆė‹¤.

  • (Radford et al.) GPTsėŠ” ź±°ėŒ€ķ•œ ķ…ģŠ¤ķŠø ė°ģ“ķ„° ģ„øķŠøģ—ģ„œ ė‹¤ģŒ 단얓넼 ģ˜ˆģø”ķ•˜ėŠ” ģžźø°ķšŒź·€ ė°©ģ‹ģœ¼ė”œ 사전 ķ›ˆė Øė©ė‹ˆė‹¤.

  • (Devlin et al.) BERTėŠ” ėŖ…ģ‹œģ ģø ź°ė… ģ—†ģ“ ė°ģ“ķ„°ģ—ģ„œ ķ•™ģŠµķ•˜ź³  ģ»Øķ…ģŠ¤ķŠøė„¼ 기반으딜 ė§ˆģŠ¤ķ‚¹ 단얓넼 ģ˜ˆģø”ķ•©ė‹ˆė‹¤.

  • (Colin et al.)ėŠ” ģ—¬ėŸ¬ Downstream Task에 ėŒ€ķ•œ ė³“ķŽøģ ģø Pre-training Framework넼 ģ œģ•ˆķ•©ė‹ˆė‹¤.

NLP ė¶„ģ•¼ģ—ģ„œ Transformer 기반 ėŖØėøģ˜ ģ„±ź³µģœ¼ė”œ ģøķ•“ 컓퓨터 비전 ė¶„ģ•¼ģ—ģ„œė„ Transformer 기반 ėŖØėøģ„ ķ™œģš©ķ•˜ė ¤ėŠ” 연구가 ģžˆģŠµė‹ˆė‹¤.

  • (Yuan et al.)ģ—ģ„œėŠ” ģ“ėÆøģ§€ ė¶„ķ• ģ„ ģœ„ķ•œ spatial attentionģ„ ģ†Œź°œķ•©ė‹ˆė‹¤.

  • (Fu et al.)ėŠ” spatial attentionź³¼ channel attentionģ„ ź²°ķ•©ķ•˜ģ—¬ context 정볓넼 ķ™œģš©ķ•œ DANETģ„ ģ œģ•ˆķ–ˆģŠµė‹ˆė‹¤.

  • (Kolesnikov et al.)ģ€ Transformer ėø”ė”ģœ¼ė”œ ģ“ėÆøģ§€ ė¶„ė„˜ė„¼ ģˆ˜ķ–‰ķ•©ė‹ˆė‹¤.(convolutional neural network넼 self‑attention block으딜 ėŒ€ģ²“)

  • (Wu et al. & Zhao et al.)ģ€ ģ“ėÆøģ§€ ģøģ‹ ģž‘ģ—…ģ„ ģœ„ķ•œ Transformer 기반 ėŖØėøģ— ėŒ€ķ•œ 사전 ķ•™ģŠµ ė°©ė²•ģ„ ģ œģ•ˆķ•©ė‹ˆė‹¤.

  • (Jiang et al.)ģ€ Transformer넼 ģ‚¬ģš©ķ•˜ģ—¬ ģ“ėÆøģ§€ė„¼ ģƒģ„±ķ•˜źø° ģœ„ķ•“ TransGANģ„ ģ œģ•ˆķ•©ė‹ˆė‹¤.

Idea 2. ģ“ėÆøģ§€ ģ²˜ė¦¬ģ— ėŒ€ķ•œ 연구와 Transformer넼 컓퓨터 비전 분야에 ķ™œģš©ķ•˜ėŠ” ģ—°źµ¬ė“¤ģ„ ė§Žģ“ ģžˆģ—ˆģ§€ė§Œ, Transformer와 ź°™ģ€ Pre-TrainingėŖØėøģ„ ķ™œģš©ķ•˜ģ—¬ ģ“ėÆøģ§€ ģ²˜ė¦¬ģ™€ ź°™ģ“ low-level vision tasks에 ģ“ˆģ ģ„ ė§žģ¶˜ ꓀련 ģ—°źµ¬ėŠ” ź±°ģ˜ ģ—†ģŠµė‹ˆė‹¤. ė”°ė¼ģ„œ ģ“ ė…¼ė¬øģ—ģ„œėŠ” ģ“ėÆøģ§€ 처리 ģž‘ģ—…ģ— ėŒ€ķ•œ ė³“ķŽøģ ģø Pre-Training ģ ‘ź·¼ ė°©ģ‹ģ„ ķƒźµ¬ķ•©ė‹ˆė‹¤.

3. Method

A. Image Processing Transformer (IPT)

IPTģ˜ 전첓 ģ•„ķ‚¤ķ…ģ²˜ėŠ” 4가지 구성 ģš”ģ†Œė”œ źµ¬ģ„±ė©ė‹ˆė‹¤. (Heads - Incoder - Decoder - Tails) ģ†ģƒėœ Input Image(ė…øģ“ģ¦ˆź°€ ģžˆėŠ” ģ“ėÆøģ§€ ė° ģ €ķ•“ģƒė„ ģ“ėÆøģ§€)ģ—ģ„œ Featureģ„ ģ¶”ģ¶œķ•˜źø° ģœ„ķ•œ Head Input Dataģ—ģ„œ ģ†Œģ‹¤ėœ 정볓넼 ė³µźµ¬ķ•˜źø° ģœ„ķ•œ ģøģ½”ė” - ė””ģ½”ė” Transformer ė””ģ½”ė”ģ—ģ„œ ė‚˜ģ˜Ø representationė“¤ģ„ ģ ģ ˆķ•˜ź²Œ ģ“ėÆøģ§€ė”œ ė³µģ›ķ•˜ėŠ” Tails image

1. Heads

다넸 ģ“ėÆøģ§€ 처리 Taskģ„ ģ”°ģ •ķ•˜źø° ģœ„ķ•“ 다중 ķ—¤ė“œ ģ•„ķ‚¤ķ…ģ²˜ė„¼ ģ‚¬ģš©ķ•˜ģ—¬ 각 Task넼 ź°œė³„ģ ģœ¼ė”œ ģ²˜ė¦¬ķ•©ė‹ˆė‹¤. 각 HeadėŠ” 3ź°œģ˜ ģ»Øė³¼ė£Øģ…˜ ė ˆģ“ģ–“ė”œ źµ¬ģ„±ė©ė‹ˆė‹¤. ģž…ė „ ģ“ėÆøģ§€ė„¼ ė‹¤ģŒź³¼ ź°™ģ“ ķ‘œģ‹œķ•©ė‹ˆė‹¤. x∈R3ƗHƗWx ∈ R^{3ƗHƗW} (3 means R, G, and B) , ķ—¤ė“œėŠ” C(볓통 64)ź°œģ˜ ģ±„ė„ģ„ 가진 feature map fH∈RCƗHƗWf_{H} ∈ R^{CƗHƗW} ģ„ ģƒģ„±ķ•©ė‹ˆė‹¤. ź³µģ‹ķ™”ķ•˜ģžė©“ fH=Hi(x)f_{H} = H^{i}(x) ģ“ė©°, ģ—¬źø°ģ„œ Hi(i=1,...,Nt)H^{i} (i = {1, ... , N_{t}}) ėŠ” i번째 Taskģ˜ ķ—¤ė“œ, NiN_{i} ėŠ” taskģ˜ 수딜 ė‚˜ķƒ€ėƒ…ė‹ˆė‹¤.

2. Transformer encoder

Input features넼 Transformer body에 ģ ģš©ģ‹œķ‚¤źø° 전에 features넼 "word"처럼 간주 될 수 ģžˆė„ė” **패치(Patch)**딜 ė¶„ķ• ė©ė‹ˆė‹¤. 구첓적으딜 feature map fH∈RCƗHƗWf_{H} ∈ R^{CƗHƗW} ģ—ģ„œ ģ•„ėž˜ģ˜ ģ‹ź³¼ ź°™ģ“ ķŒØģ¹˜ė“¤ģ˜ sequence딜 ģž¬źµ¬ģ„±ė©ė‹ˆė‹¤. fpi∈RP2ƗC,i=1,...,Nf_{p^{i}} ∈ R^{P^{2}ƗC} , i = {1, . . . , N} ģ—¬źø°ģ„œ N=HW/P2N = HW/P^{2} ėŠ” ķŒØģ¹˜ģ˜ 갯수(sequenceģ˜ źøøģ“)ģ“ė©° PėŠ” 패치 ģ‚¬ģ“ģ¦ˆģž…ė‹ˆė‹¤. 각 ķŒØģ¹˜ģ˜ ģœ„ģ¹˜ 정볓넼 ģœ ģ§€ķ•˜źø° ģœ„ķ•“ Feature fpif_{p^{i}} ģ˜ 각 ķŒØģ¹˜ģ— ėŒ€ķ•œ Epi∈RP2ƗCE_{p^{i}} ∈ R^{P^{2}ƗC} 딜 ķ•™ģŠµ ź°€ėŠ„ķ•œ ģœ„ģ¹˜ ģøģ½”ė”©ģ„ ģ¶”ź°€ķ•©ė‹ˆė‹¤. ģ“ķ›„, Epi+fpiE_{p^{i}} + f_{p^{i}} ėŠ” Transformer encoderģ˜ ģž…ė „ ź°’ģ“ ė©ė‹ˆė‹¤. Encoder layerģ—ėŠ” original Transformer 구씰와 ź°™ģ“ multihead self-attention module ź³¼ a feed forward network딜 źµ¬ģ„±ė˜ģ–“ģžˆģŠµė‹ˆė‹¤. ģ—­ģ‹œ Encoderģ˜ Inputź³¼ Outputģ€ ź°™ģ€ ģ‚¬ģ“ģ¦ˆģ“ė©° ė‹¤ģŒź³¼ ź°™ģ“ ź³µģ‹ģ„ 계산할 수 ģžˆģŠµė‹ˆė‹¤. image ģ—¬źø°ģ„œ, l ģ€ ģøģ½”ė”ģ˜ ė ˆģ“ģ–“ ź°Æģˆ˜ģ“ė©°, MSAėŠ” Multi-head Self-Attention module, LNģ€ Layer Normalization, FFNģ€ ė‘ź°œģ˜ Fully Connected Layers넼 ķ¬ķ•Øķ•œ Feed Forward Network넼 ė‚˜ķƒ€ėƒ…ė‹ˆė‹¤.

3. Transformer decoder

ė””ģ½”ė” ė˜ķ•œ 기씓 Transformer와 ė™ģ¼ķ•œ ģ•„ķ‚¤ķ…ģ²˜ė„¼ ė”°ė„“ė©°, 2ź°œģ˜ MSA ė ˆģ“ģ–“ģ™€ 1ź°œģ˜ FFN ė ˆģ“ģ–“ė”œ źµ¬ģ„±ė©ė‹ˆė‹¤. ķ•œź°€ģ§€ ģ°Øģ“ģ ģ“ ģžˆė‹¤ė©“, Task별 ģž„ė² ė”©ģ„ ė””ģ½”ė”ģ˜ Input으딜 추가 ķ™œģš©ķ•œė‹¤ėŠ” ź²ƒģž…ė‹ˆė‹¤. Task별 ģž„ė² ė”©ģ˜ 경우 Eti∈RP2ƗC,i=1,...,NtE^{i}_{t} ∈ R^{P^{2}ƗC} , i = {1, ... , N_{t}} 으딜 ė‚˜ķƒ€ė‚“ė©°, 각각 다넸 Task ė³„ė”œ feature넼 decode ķ•©ė‹ˆė‹¤. ė””ģ½”ė”ģ˜ 경우 ė‹¤ģŒź³¼ ź°™ģ“ ź³µģ‹ģ„ 계산할 수 ģžˆģŠµė‹ˆė‹¤. image ģ—¬źø°ģ„œ, FDi∈RP2ƗCF_{D_{i}} ∈R^{P^{2}ƗC} ėŠ” ė””ģ½”ė”ģ˜ outputsģ“ź³ , decode된 P2ƗCP^{2}ƗC sizeģ˜ Nź°œģ˜ 패치 featureģ˜ 경우 CƗHƗWC Ɨ H Ɨ W size넼 ź°–ėŠ” fDf_{D} feature딜 ģž¬źµ¬ģ„± ė©ė‹ˆė‹¤.

4. Tails

Tailsģ˜ 경우 Headsģ˜ ģ†ģ„±ź³¼ ė™ģ¼ķ•˜ė©° multi tails넼 ģ‚¬ģš©ķ•˜ģ—¬ 각각 다넸 Taskė³„ė”œ ģ²˜ė¦¬ķ•©ė‹ˆė‹¤. ė‹¤ģŒź³¼ ź°™ģ“ ź³µģ‹ķ™” ķ•  수 ģžˆģŠµė‹ˆė‹¤. fT=Ti(fD)f_{T} = T^{i}(f_{D}) ģ—¬źø°ģ„œ Ti(i=1,...,Nt)T^{i} (i = {1, ... , N_{t}}) ėŠ” i번째 Taskģ˜ Head넼 ė‚˜ķƒ€ė‚“ė©°, NtN_{t} ėŠ” taskģ˜ ź°Æģˆ˜ģž…ė‹ˆė‹¤. output ftf_{t} ėŠ” ķŠ¹ģ • task에 ģ˜ķ•“ ź²°ģ •ėœ 3ƗH′×W′3 Ɨ H' Ɨ W' ģ“ėÆøģ§€ ģ‚¬ģ“ģ¦ˆź°€ ė©ė‹ˆė‹¤. 예넼 들얓, H′=2H,W′=2HH' = 2H, W' = 2H ė¼ė©“ 2ė°° ķ™•ėŒ€ķ•œ super-resolution task(ź³ ķ•“ģƒė„ ģž‘ģ—…)ģ“ 될 수 ģžˆģŠµė‹ˆė‹¤.

B. Pre-training on ImageNet

Transformer ģžģ²“ģ˜ ģ•„ķ‚¤ķ…ģ²˜ ģ™øģ—ė„ ģ„±ź³µģ ģø ķ•™ģŠµģ˜ 핵심 ģš”ģ†Œ 중 ķ•˜ė‚˜ėŠ” ėŒ€ź·œėŖØ ė°ģ“ķ„° ģ„øķŠøė„¼ ģž˜ ķ™œģš©ķ•“ģ•¼ ķ•©ė‹ˆė‹¤. ė˜ķ•œ, ķ•™ģŠµģ„ ģœ„ķ•“ģ„œėŠ” ģ •ģƒ ģ“ėÆøģ§€ģ™€ ģ†ģƒėœ ģ“ėÆøģ§€ź°€ ģ‚¬ģš©ė˜ėÆ€ė”œ ģ“ģ— ė§žėŠ” ė°ģ“ķ„° ģ„øķŠøź°€ ķ•„ģš”ķ•©ė‹ˆė‹¤. ImageNet ė²¤ģ¹˜ė§ˆķ¬ģ˜ ģ“ėÆøģ§€ėŠ” 질감 ė° ģƒ‰ģƒģ“ ķ’ė¶€ķ•œ 100만 개 ģ“ģƒģ˜ nature ģ“ėÆøģ§€ź°€ ķ¬ķ•Øė˜ģ–“ģžˆź³  1000개 ģ“ģƒģ˜ ė‹¤ģ–‘ķ•œ ģ¹“ķ…Œź³ ė¦¬ė„¼ 가지고 ģžˆģŠµė‹ˆė‹¤. ė”°ė¼ģ„œ ė ˆģ“ėø”ģ„ ģ œź±°ķ•˜ź³  ė‹¤ģ–‘ķ•œ Task에 ė§žź²Œ ģ‚¬ģš©ė  수 ģžˆė„ė” ģ“ėÆøģ§€ė„¼ ģ €ķ•˜ ėŖØėøģ„ ģ‚¬ģš©ķ•˜ģ—¬ ģˆ˜ė™ģœ¼ė”œ ė‹¤ģŒ ź³µģ‹ź³¼ ź°™ģ“ ģ†ģƒģ‹œģ¼œ ė°ģ“ķ„° ģ„øķŠøė„¼ 준비할 수 ģžˆģŠµė‹ˆė‹¤. Icorrupted=f(Iclean)I_{corrupted} = f(I_{clean}) ģ—¬źø°ģ„œ, f ėŠ” ģ €ķ•˜(ģ†ģƒ) ė³€ķ™˜ģ“ė¼ ķ•  수 ģžˆģœ¼ė©° Task에 ė”°ė¼ ė‹¬ė¼ģ§‘ė‹ˆė‹¤. ģ§€ė„ ė°©ģ‹ģœ¼ė”œ IPT넼 ķ•™ģŠµķ•˜źø° ģœ„ķ•œ 손실 ķ•Øģˆ˜ėŠ” ė‹¤ģŒź³¼ ź°™ģ“ ź³µģ‹ķ™”ķ•  수 ģžˆģŠµė‹ˆė‹¤. Lsupervised=sumi=1NtL1(IPT(Icorruptedi),Iclean)L_{supervised} = sum _{i=1} ^{N_{t}} L1(IPT(I_{corrupted}^{i}), I_{clean}) ģ—¬źø°ģ„œ L1ģ€ 기씓 L1 ģ†ģ‹¤ģ„ ė‚˜ķƒ€ė‚“ź³  ķ”„ė ˆģž„ģ›Œķ¬ź°€ ģ—¬ėŸ¬ ģ“ėÆøģ§€ 처리 ģž‘ģ—…ģœ¼ė”œ ė™ģ‹œģ— ķ›ˆė Øė˜ģ—ˆģŒģ„ ģ˜ėÆøķ•©ė‹ˆė‹¤. IPT ėŖØėøģ„ pre-trainingķ•œ ķ›„ģ—ėŠ” ė‹¤ģ–‘ķ•œ ģ“ėÆøģ§€ 처리 task에 ėŒ€ķ•œ ź³ ģœ ķ•œ featureź³¼ ė³€ķ™˜ģ„ 캔처(weight넼 ģ €ģž„)ķ•˜ėÆ€ė”œ 새딜 제공된 ė°ģ“ķ„° ģ„øķŠøė„¼ ģ‚¬ģš©ķ•˜ģ—¬ ģ›ķ•˜ėŠ” ģž‘ģ—…ģ— ģ ģš©ķ•˜ė„ė” ė”ģš± Fine-tuningķ•  수 ģžˆģŠµė‹ˆė‹¤. ģ“ė•Œ, 계산 ė¹„ģš©ģ„ ģ ˆģ•½ķ•˜źø° ģœ„ķ•“ 다넸 Heads와 TailsėŠ” ģ‚­ģ œė˜ź³  ė‚Øģ€ Heads와 Tails ė° Transformer bodyģ˜ ė§¤ź°œė³€ģˆ˜ėŠ” ģ—­ģ „ķŒŒģ— ė”°ė¼ ģ—…ė°ģ“ķŠø ė©ė‹ˆė‹¤.

ė‹¤ģ–‘ķ•œ ė°ģ“ķ„° ķ’ˆģ§ˆ ģ €ķ•˜ ėŖØėøģ“ ģžˆź³  ėŖØė“  ģ“ėÆøģ§€ 처리 task에 ģ ģš©ģ‹œķ‚¬ 수 없기에 IPTģ˜ ģ¼ė°˜ķ™” ģ„±ėŠ„ģ“ ė”ģš± 좋아야 ķ•©ė‹ˆė‹¤. NLPģ—ģ„œģ˜ Word 처럼 Patchė¼ė¦¬ģ˜ ź“€ź³„ė„ ģ¤‘ģš”ķ•˜źø°ģ— ė™ģ¼ķ•œ feature mapģ—ģ„œ ģž˜ė¦° patchėŠ” ģœ ģ‚¬ķ•œ ģœ„ģ¹˜ģ— ķ¬ķ•Øė˜ģ–“ģ•¼ķ•©ė‹ˆė‹¤. ėŒ€ģ”°ķ•™ģŠµ(contrastive learning)ģ„ 통핓 ė³“ķŽøģ ģø features넼 ķ•™ģŠµķ•˜ģ—¬ unseen tasks에 ėŒ€ķ•“ģ„œė„ IPTėŖØėøģ“ ķ™œģš©ė  수 ģžˆė„ė” ķ–ˆģŠµė‹ˆė‹¤. ź°™ģ€ ģ“ėÆøģ§€ģ˜ 패치 feature ģ‚¬ģ“ģ˜ 거리넼 ģµœģ†Œķ™”ķ•˜ė©° 다넸 ģ“ėÆøģ§€ģ˜ 패치 feature ģ‚¬ģ“ģ˜ ź±°ė¦¬ėŠ” ģµœėŒ€ķ™”ķ•˜ė„ė” ķ•˜ģ˜€ģŠµė‹ˆė‹¤. ėŒ€ģ”°ķ•™ģŠµģ˜ Loss Functionģ€ ė‹¤ģŒź³¼ ź°™ģŠµė‹ˆė‹¤. image ė˜ķ•œ, supervised ė° self-supervised 정볓넼 ģ™„ģ „ķžˆ ķ™œģš©ķ•˜źø° ģœ„ķ•“ IPTģ˜ ģµœģ¢… 목적 ķ•Øģˆ˜ė„¼ ė‹¤ģŒź³¼ ź°™ģ“ ź³µģ‹ķ™” ķ•  수 ģžˆģŠµė‹ˆė‹¤. image

4. Experiment & Result

A. Experimental Setup

1. DataSet

1백만 개 ģ“ģƒģ˜ 컬러 ģ“ėÆøģ§€ ImageNet ė°ģ“ķ„° ģ„øķŠøė„¼ ģ‚¬ģš©ķ•˜ė©° 3채널 48X48 ķŒØģ¹˜ė“¤ė”œ cropė©ė‹ˆė‹¤. (1천만 개 ģ“ģƒģ˜ 패치) ģ†ģƒėœ ė°ģ“ķ„°ėŠ” 6가지(2ė°°, 3ė°°, 4ė°° bicubic interpolation, 30, 50 level ź°€ģš°ģ‹œģ•ˆ ė…øģ“ģ¦ˆ, rain streaks(비 ė‚“ė¦¬ėŠ” ė…øģ“ģ¦ˆ))딜 ģƒģ„±ķ•©ė‹ˆė‹¤. ź³µģ •ķ•œ 비교넼 ģœ„ķ•“ CNN 기반 ėŖØėøģ—ė„ ė™ģ¼ķ•œ ķ…ŒģŠ¤ķŠø ģ „ėžµģ“ ģ ģš©ė˜ģ—ˆģœ¼ė©° CNN ėŖØėøģ˜ ź²°ź³¼ PSNR ź°’ģ€ źø°ģ¤€ģ„ ģ˜ ź°’ź³¼ ė™ģ¼ķ•©ė‹ˆė‹¤.

2. Training & Fine-tuning.

NVIDIA V100 32ģž„ģ„ ģ‚¬ģš©ķ•˜ģ—¬ Adam optimizer β1 = 0.9, β2 = 0.999딜 300ģ—ķ­ ģˆ˜ģ •ėœ ImageNet datasetģ„ ķ•™ģŠµķ•©ė‹ˆė‹¤. Learning rateėŠ” 5eāˆ’55e^{-5} 부터 2eāˆ’52e^{-5} ź¹Œģ§€ 256 배치 크기딜 200 ģ—ķ­ ė™ģ•ˆ ģ¤„ģ–“ė“­ė‹ˆė‹¤. ķ›ˆė Ø ģ„øķŠøėŠ” ģ„œė”œ 다넸 ģž‘ģ—…ģœ¼ė”œ źµ¬ģ„±ė˜ģ–“ ģžˆģ–“ ė‹Øģ¼ ė°°ģ¹˜ģ— 메모리 ķ•œź³„ė”œ ėŖØė“  inputģ„ 태울 수 ģ—†ģŠµė‹ˆė‹¤. ė”°ė¼ģ„œ 각 ė°˜ė³µģ—ģ„œ ė¬“ģž‘ģœ„ė”œ ģ„ ķƒėœ ģž‘ģ—…ģ˜ ģ“ėÆøģ§€ 배치넼 ģŒ“ģŠµė‹ˆė‹¤. IPT Modelģ„ pre-training ķ•œ ģ“ķ›„ ģ›ķ•˜ėŠ” task(e.g., 3ė°° super-resolution)넼 2eāˆ’52e^{-5} learning rate딜 30 ģ—ķ­ ė™ģ•ˆ ķ•™ģŠµķ•©ė‹ˆė‹¤. SRCNN ė°©ģ‹ ė˜ķ•œ ImageNet ķ•™ģŠµė°©ģ‹ģ„ ģ‚¬ģš©ķ•˜ė©“ super-resolution taskģ˜ ģ„±ėŠ„ģ“ ź°œģ„ ėØģ„ ė³“ģ—¬ģ¤¬ģŠµė‹ˆė‹¤.

B. Result

ģ“ˆķ•“ģƒė„ģ™€ 영상 ģž”ģŒ 제거넼 ķ¬ķ•Øķ•œ ė‹¤ģ–‘ķ•œ image processing tasks ģ—ģ„œ pre-trained된 IPTģ˜ ģ„±ėŠ„ģ€ state-of-the-art넼 ėŠ„ź°€ķ–ˆģŠµė‹ˆė‹¤.

1. Super-resolution

IPT Modelģ„ ėŖ‡ėŖ‡ģ˜ state-of-the-art CNN-based SR ė°©ģ‹ź³¼ ė¹„źµķ–ˆź³  Table 1ģ—ģ„œģ™€ ź°™ģ“ ėŖØė“  ė°ģ“ķ„°ģ…‹ģ—ģ„œ Ɨ2, Ɨ3, Ɨ4 scale ģ„±ėŠ„ģ“ ź°€ģž„ ģ¢‹ģ•˜ź³  Ɨ2 scale Urban100 datasetģ—ģ„œ 33.76dB PSNRģ„ ė‹¬ģ„±ķ•Øģ„ ź°•ģ”°ķ–ˆģŠµė‹ˆė‹¤. ģ“ģ „ ėŖØėøė“¤ģ“ ģ“ģ „ SOTA볓다 <0.2dB 씩 ź°œģ„ ė˜ģ—ˆģ—ˆģ§€ė§Œ ģ“ė²ˆ ėŖØėøģ€ ~0.4dBģ“ė‚˜ ź°œģ„ ė˜ģ–“ ėŒ€ź·œėŖØ pre-trained Modelģ˜ ģš°ģˆ˜ģ„±ģ„ ė‚˜ķƒ€ėƒˆģŠµė‹ˆė‹¤.

2. Denoising

ķ•™ģŠµ ė° ķ…ŒģŠ¤ķŠø ė°ģ“ķ„°ėŠ” ź¹Øė—ķ•œ ģ“ėÆøģ§€ģ—ģ„œ σ = 30, 50 levelģ˜ ź°€ģš°ģŠ¤ ģž”ģŒģ„ ģ¶”ź°€ķ•˜ģ—¬ ģƒģ„±ė˜ģ—ˆź³  SOTA Modelź³¼ ė¹„źµķ–ˆģŠµė‹ˆė‹¤. Table 2ėŠ” BSD68 ė° Urban100 ė°ģ“ķ„° ģ„øķŠøģ— ėŒ€ķ•œ 컬러 ģ“ėÆøģ§€ ė…øģ“ģ¦ˆ 제거 ź²°ź³¼ģ“ė©°, IPT ėŖØėøģ“ ė‹¤ģ–‘ķ•œ ź°€ģš°ģŠ¤ ė…øģ“ģ¦ˆ ė ˆė²Øģ—ģ„œ ģµœģƒģ˜ ģ„±ėŠ„ģ„ ė³“ģ—¬ģ¤ė‹ˆė‹¤. Urban100 ė°ģ“ķ„°ģ…‹ģ—ģ„œėŠ” ∼2dB ģ„±ėŠ„ ķ–„ģƒģ„ 볓여주고, Pre-training ė°©ģ‹, Transformer 기반 ėŖØėøģ˜ ģš°ģˆ˜ģ„±ģ„ ė‚˜ķƒ€ė‚“ģ—ˆģŠµė‹ˆė‹¤. image

기씓 ė°©ģ‹ģœ¼ė”œėŠ” ė…øģ“ģ¦ˆ ģ“ėÆøģ§€ģ—ģ„œ ź¹Øė—ķ•œ ģ“ėÆøģ§€ė”œģ˜ 복구가 얓려웠고 ģ¶©ė¶„ķ•œ ė””ķ…Œģ¼ģ„ ģž¬źµ¬ģ„±ķ•˜ģ§€ 못핓 ė¹„ģ •ģƒģ ģø ķ”½ģ…€ģ„ ģƒģ„±ķ–ˆģŠµė‹ˆė‹¤. IPTģ˜ 경우 ėØøė¦¬ģ¹“ė½ģ˜ ėŖ‡ 가지 ė””ķ…Œģ¼ź¹Œģ§€ ģž˜ ė³µźµ¬ķ•˜ė©° ģ‹œź°ģ ģø ķ’ˆģ§ˆģ“ ģ“ģ „ ėŖØėøģ„ ėŠ„ź°€ķ–ˆģŠµė‹ˆė‹¤. image image

3. Generalization Ability

ė‹¤ģ–‘ķ•œ ģ†ģƒėœ ģ“ėÆøģ§€ ģƒģ„±ģ€ ź°€ėŠ„ķ•“ė„, ģžģ—°ģ ģø ģ“ėÆøģ§€ėŠ” ė³µģž”ė„ź°€ 높고 transformerģ˜ pre-trainingģ„ ģœ„ķ•“ ėŖØė“  ģ“ėÆøģ§€ ė°ģ“ķ„°ģ…‹ģ„ 합성(ģƒģ„±)ķ•  수 ģ—†ėŠ” ķ•œź³„ź°€ ģžˆģŠµė‹ˆė‹¤. ė”°ė¼ģ„œ IPT ėŖØėøģ“ Vision task넼 ė„˜ģ–“ NLPė¶„ģ•¼ģ—ģ„œź¹Œģ§€ ģ—¬ėŸ¬ task넼 ģž˜ ģ²˜ė¦¬ķ•  수 ģžˆėŠ” ėŠ„ė „ģ“ ģžˆģ–“ģ•¼ ķ•©ė‹ˆė‹¤. ģ“ėŸ¬ķ•œ ģ¼ė°˜ķ™” ėŠ„ė „ģ„ ź²€ģ¦ķ•˜ź³ ģž ImageNet ģ“ģ™øģ— ģ†ģƒėœ ģ“ėÆøģ§€(ė…øģ“ģ¦ˆ 10 & 70 level)ģ˜ ė…øģ“ģ¦ˆ 제거 ķ…ŒģŠ¤ķŠøė„¼ ģ§„ķ–‰ķ–ˆģŠµė‹ˆė‹¤. IPT ėŖØėøģ€ CNN ė° 다넸 ėŖØėøė³“ė‹¤ ģ¢‹ģ€ ģ„±ėŠ„ģ„ ė³“ģ—¬ģ£¼ģ—ˆģŠµė‹ˆė‹¤. image

4. Impact of data percentage

ė°ģ“ķ„° ė°±ė¶„ģœØģ“ Transformer ė° CNN ėŖØėøģ˜ pre-training ģ„±ėŠ„ģ— ģ–“ė– ķ•œ ģ˜ķ–„ģ„ ģ£¼ėŠ”ģ§€ ģ‹¤ķ—˜ķ•©ė‹ˆė‹¤. ImageNet ė°ģ“ķ„° ģ„øķŠøģ˜ 20%, 40%, 60%, 80% ė° 100%ģ„ ģ‚¬ģš©ķ•˜ģ—¬ Figure 6ź³¼ ź°™ģ“ 결과넼 ķ™•ģøķ•˜ģ˜€ģŠµė‹ˆė‹¤. ėŖØėøģ“ pre-trainingķ•˜ģ§€ ģ•Šź±°ė‚˜ ģ†ŒėŸ‰ ķ•™ģŠµė˜ėŠ” 경우 CNN ėŖØėøģ“ ė” ģ¢‹ģ€ ģ„±ėŠ„ģ„ ė³“ģ—¬ģ£¼ģ§€ė§Œ, ėŒ€ź·œėŖØ ė°ģ“ķ„°ģ—ģ„  transformer 기반 pre-trained ėŖØėø(IPT)ģ“ ģ„±ėŠ„ģ„ ģ••ė„ķ•©ė‹ˆė‹¤.

5. Impact of contrastive learning

Pre-trained modelģ˜ ģ„±ėŠ„ģ„ ź°œģ„ ģ‹œķ‚¤ź³ ģž Ɨ2 scale super-resolution taskģ—ģ„œ Set4 ė°ģ“ķ„°ģ…‹ģ„ ķ™œģš©ķ•“ Ī» ė§¤ź°œė³€ģˆ˜ė„¼ ģ‹¤ķ—˜ķ•©ė‹ˆė‹¤. Ī»=0 ģ—ģ„œė³“ė‹¤ Ī» = 0.1 ģ—ģ„œ 0.1dB ė†’ģ€ 38.37dB PSNR ź°’ģ“ ė‚˜ģ™”ź³  ģµœģ ģ˜ Ī» ė§¤ź°œė³€ģˆ˜ ź°’ģ„ ģ°¾ģ•˜ģŠµė‹ˆė‹¤. image

5. Conclusion

ģ“ ė…¼ė¬øģ—ģ„œėŠ” NLP ė¶„ģ•¼ģ—ģ„œ 그리고 컓퓨터 비전 ė¶„ģ•¼ź¹Œģ§€ ė°œģ „ė˜ź³  ģžˆėŠ” Transformer 기반 Pre-training źø°ė²•ģ„ ģ‚¬ģš©ķ•˜ģ—¬ IPTėŖØėøģ„ ź°œė°œķ•˜ź³  ė‹¤ģ–‘ķ•œ ģ“ėÆøģ§€ 처리 ė¬øģ œģ—ģ„œ ģµœģ‹  SOTA ģ“ģƒģ˜ ģ„±ėŠ„ģ„ ė³“ģ—¬ģ£¼ģ—ˆģŠµė‹ˆė‹¤. 원본 ģ“ėÆøģ§€ģ™€ ģ†ģƒėœ ģ“ėÆøģ§€ ė°ģ“ķ„° ģŒģ„ 통핓 IPT ėŖØėøģ„ 사전 ķ•™ģŠµķ•˜ģ—¬ 각 ģ“ėÆøģ§€ 처리 task에 ė”°ė¼ ģ‹ ģ†ķ•˜ź²Œ 미세 ģ”°ģ •ķ•  수 ģžˆė„ė” ķ•©ė‹ˆė‹¤. ė”°ė¼ģ„œ ķ•˜ė‚˜ģ˜ ėŖØėøė”œė„ ė‹¤ģ–‘ķ•œ Task에 ģ ģš©ķ•  수 ģžˆź³  ģ¼ė°˜ķ™” 될 수 ģžˆėŠ” ėŠ„ė „ģ„ ģž…ģ¦ķ–ˆģŠµė‹ˆė‹¤. ķŠ¹ķžˆ ėŒ€ź·œėŖØ ė°ģ“ķ„°ģ…‹ģ—ģ„œ ģ••ė„ģ ģø ģ„±ėŠ„ģ„ ė³“ģ—¬ģ£¼ģ—ˆź³  ė°ģ“ķ„°ģ˜ ė¹„ė”€ķ•˜ģ—¬ ģ„±ėŠ„ģ“ ė†’ģ•„ģ§ˆ ź²ƒģ“ė¼ź³  ķŒė‹Øė©ė‹ˆė‹¤.

A. Take home message (ģ˜¤ėŠ˜ģ˜ źµķ›ˆ)

  1. ģ“ėÆøģ§€ 처리 Taskģ—ģ„œė„ ėŒ€ź·œėŖØ ė°ģ“ķ„°ģ…‹ģ„ ķ™œģš©ķ•œ Transformer 기반 ėŖØėøģ˜ Pre-training & Fine-tuning źø°ė²•ģ€ ģ„±ėŠ„ģ“ 아주 ķšØź³¼ģ ģ“ģ˜€ģŠµė‹ˆė‹¤. ė˜ķ•œ ė°ģ“ķ„°ģ˜ ģ–‘ģ“ ė§Žģœ¼ė©“ ė§Žģ„ģˆ˜ė” ė¹„ė”€ķ•˜ģ—¬ ģ„±ėŠ„ģ€ ģ¢‹ģ•„ģ§‘ė‹ˆė‹¤.

  2. NLPģ˜ Word와 ź°™ģ“ ģ“ėÆøģ§€ input ė°ģ“ķ„°ė„¼ Patch딜 ė³€ķ™˜ķ•˜ģ—¬ Transformer źø°ė°˜ģ˜ ėŖØėøģ„ ģ‚¬ģš©ķ•  수 ģžˆģŠµė‹ˆė‹¤.

  3. IPT ėŖØėøģ„ 사전 ķ•™ģŠµķ•œ 후 각 Task에 ė§žėŠ” 고유 Feature들과 ė³€ķ™˜ģ„ ģŗ”ģ³ķ•˜ģ—¬ Fine-tuning ģ‹œ ģ›ķ•˜ėŠ” Task에 ė§žź²Œ ķ•„ģš”ģ—†ėŠ” ė§¤ź°œė³€ģˆ˜ėŠ” ģ‚­ģ œķ•˜ģ—¬ ė¹„ģš©ģ ģø ģø”ė©“ģ—ģ„œė„ ģœ ė¦¬ķ•“ė³“ģ˜€ģŠµė‹ˆė‹¤.

Author / Reviewer information

Author

ė°•ģ¤€ķ˜• (Junhyung Park)

  • Affiliation (KAIST AI / NAVER)

  • Machine Learning Engineer @ NAVER Shopping AI Team

Reviewer

  1. Korean name (English name): Affiliation / Contact information

  2. Korean name (English name): Affiliation / Contact information

  3. …

Reference & Additional materials

Last updated

Was this helpful?