π€ Transformersλ‘ μμ μ ν΄κ²°νλ λ°©λ²
π€ Transformersλ‘ ν μ μλ μμ μμ μμ°μ΄ μ²λ¦¬(NLP), μμ± λ° μ€λμ€, μ»΄ν¨ν° λΉμ μμ λ±μ μ€μν μμ©μ λ°°μ μ΅λλ€. μ΄ νμ΄μ§μμλ λͺ¨λΈμ΄ μ΄λ¬ν μμ μ μ΄λ»κ² ν΄κ²°νλμ§ μμΈν μ΄ν΄λ³΄κ³ λ΄λΆμμ μ΄λ€ μΌμ΄ μΌμ΄λλμ§ μ€λͺ ν©λλ€. μ£Όμ΄μ§ μμ μ ν΄κ²°νλ λ§μ λ°©λ²μ΄ μμΌλ©°, μΌλΆ λͺ¨λΈμ νΉμ κΈ°μ μ ꡬννκ±°λ μ¬μ§μ΄ μλ‘μ΄ λ°©μμΌλ‘ μμ μ μ κ·Όν μλ μμ§λ§, Transformer λͺ¨λΈμ κ²½μ° μΌλ°μ μΈ μμ΄λμ΄λ λμΌν©λλ€. μ μ°ν μν€ν μ² λλΆμ λλΆλΆμ λͺ¨λΈμ μΈμ½λ, λμ½λ λλ μΈμ½λ-λμ½λ ꡬ쑰μ λ³νμ λλ€. Transformer λͺ¨λΈλΏλ§ μλλΌ μ°λ¦¬μ λΌμ΄λΈλ¬λ¦¬μλ μ€λλ μ»΄ν¨ν° λΉμ μμ μ μ¬μ©λλ λͺ κ°μ§ ν©μ±κ³± μ κ²½λ§(CNNs)λ μμ΅λλ€. λν, μ°λ¦¬λ νλ CNNμ μλ λ°©μμ λν΄ μ€λͺ ν κ²μ λλ€.
μμ μ΄ μ΄λ»κ² ν΄κ²°λλμ§ μ€λͺ νκΈ° μν΄, μ μ©ν μμΈ‘μ μΆλ ₯νκ³ μ λͺ¨λΈ λ΄λΆμμ μ΄λ€ μΌμ΄ μΌμ΄λλμ§ μ΄ν΄λ΄ λλ€.
- μ€λμ€ λΆλ₯ λ° μλ μμ± μΈμ(ASR)μ μν Wav2Vec2
- μ΄λ―Έμ§ λΆλ₯λ₯Ό μν Vision Transformer (ViT) λ° ConvNeXT
- κ°μ²΄ νμ§λ₯Ό μν DETR
- μ΄λ―Έμ§ λΆν μ μν Mask2Former
- κΉμ΄ μΆμ μ μν GLPN
- μΈμ½λλ₯Ό μ¬μ©νλ ν μ€νΈ λΆλ₯, ν ν° λΆλ₯ λ° μ§μμλ΅κ³Ό κ°μ NLP μμ μ μν BERT
- λμ½λλ₯Ό μ¬μ©νλ ν μ€νΈ μμ±κ³Ό κ°μ NLP μμ μ μν GPT2
- μΈμ½λ-λμ½λλ₯Ό μ¬μ©νλ μμ½ λ° λ²μκ³Ό κ°μ NLP μμ μ μν BART
λ λμκ°κΈ° μ μ, κΈ°μ‘΄ Transformer μν€ν μ²μ λν κΈ°λ³Έμ μΈ μ§μμ μμ§νλ κ²μ΄ μ’μ΅λλ€. μΈμ½λ, λμ½λ λ° μ΄ν μ μ μλ λ°©μμ μλ©΄ λ€μν Transformer λͺ¨λΈμ΄ μ΄λ»κ² μλνλμ§ μ΄ν΄νλ λ° λμμ΄ λ©λλ€. μμ λ¨κ³κ±°λ 볡μ΅μ΄ νμν κ²½μ°, λ λ§μ μ 보λ₯Ό μν΄ μ½μ€λ₯Ό νμΈνμΈμ!
μμ± λ° μ€λμ€
Wav2Vec2λ λ μ΄λΈμ΄ μ§μ λμ§ μμ μμ± λ°μ΄ν°μ λν΄ μ¬μ νλ ¨λ λͺ¨λΈλ‘, μ€λμ€ λΆλ₯ λ° μλ μμ± μΈμμ μν΄ λ μ΄λΈμ΄ μ§μ λ λ°μ΄ν°λ‘ λ―ΈμΈ μ‘°μ ν©λλ€.
μ΄ λͺ¨λΈμλ 4κ°μ§ μ£Όμ κ΅¬μ± μμκ° μμ΅λλ€:
νΉμ§ μΈμ½λ(feature encoder)λ μμ μ€λμ€ νν(raw audio waveform)μ κ°μ Έμμ μ λ‘ νκ· λ° λ¨μ λΆμ°μΌλ‘ νμ€ννκ³ , κ°κ° 20ms κΈΈμ΄μ νΉμ§ 벑ν°μ μνμ€λ‘ λ³νν©λλ€.
μ€λμ€ ννμ λ³Έμ§μ μΌλ‘ μ°μμ μ΄κΈ° λλ¬Έμ, ν μ€νΈ μνμ€λ₯Ό λ¨μ΄λ‘ λλλ κ²κ³Ό κ°μ΄ λΆν ν μ μμ΅λλ€. κ·Έλμ μμν λͺ¨λ(quantization module)λ‘ μ λ¬λλ νΉμ§ 벑ν°λ μ΄μ°ν μμ± λ¨μλ₯Ό νμ΅νκΈ° μν κ²μ λλ€. μμ± λ¨μλ μ½λλΆ(codebook)(μ΄νμ§μ΄λΌκ³ μκ°ν μ μμ΅λλ€)μ΄λΌλ μ½λλ¨μ΄(codewords) μ½λ μ μμ μ νλ©λλ€. μ½λλΆμμ μ°μμ μΈ μ€λμ€ μ λ ₯μ κ°μ₯ μ λνλ΄λ λ²‘ν° λλ μμ± λ¨μκ° μ νλμ΄ λͺ¨λΈμ ν΅κ³Όν©λλ€.
νΉμ§ 벑ν°μ μ λ°μ 무μμλ‘ λ§μ€ν¬κ° μ μ©λλ©°, λ§μ€ν¬λ νΉμ§ 벑ν°λ μλμ μμΉ μλ² λ©μ μΆκ°νλ Transformer μΈμ½λμΈ λ¬Έλ§₯ λ€νΈμν¬(context network)λ‘ μ λ¬λ©λλ€.
λ¬Έλ§₯ λ€νΈμν¬μ μ¬μ νλ ¨ λͺ©νλ λμ‘°μ μμ (contrastive task)μ λλ€. λͺ¨λΈμ μλͺ»λ μμΈ‘ μνμ€μμ λ§μ€ν¬λ μμΈ‘μ μ€μ μμνλ μμ± ννμ μμΈ‘νλ©°, λͺ¨λΈμ΄ κ°μ₯ μ μ¬ν 컨ν μ€νΈ 벑ν°μ μμνλ μμ± λ¨μ(νκ² λ μ΄λΈ)λ₯Ό μ°Ύλλ‘ κΆμ₯ν©λλ€.
μ΄μ wav2vec2κ° μ¬μ νλ ¨λμμΌλ―λ‘, μ€λμ€ λΆλ₯ λλ μλ μμ± μΈμμ μν΄ λ°μ΄ν°μ λ§μΆ° λ―ΈμΈ μ‘°μ ν μ μμ΅λλ€!
μ€λμ€ λΆλ₯
μ¬μ νλ ¨λ λͺ¨λΈμ μ€λμ€ λΆλ₯μ μ¬μ©νλ €λ©΄, κΈ°λ³Έ Wav2Vec2 λͺ¨λΈ μλ¨μ μνμ€ λΆλ₯ ν€λλ₯Ό μΆκ°νλ©΄ λ©λλ€. λΆλ₯ ν€λλ μΈμ½λμ μλ μν(hidden states)λ₯Ό λ°λ μ ν λ μ΄μ΄μ λλ€. μλ μνλ κ°κ° κΈΈμ΄κ° λ€λ₯Έ μ€λμ€ νλ μμμ νμ΅λ νΉμ§μ λνλ λλ€. κ³ μ κΈΈμ΄μ λ²‘ν° νλλ₯Ό λ§λ€κΈ° μν΄, μλ μνλ λ¨Όμ νλ§λκ³ , ν΄λμ€ λ μ΄λΈμ λν λ‘μ§μΌλ‘ λ³νλ©λλ€. κ°μ₯ κ°λ₯μ±μ΄ λμ ν΄λμ€λ₯Ό μ°ΎκΈ° μν΄ λ‘μ§κ³Ό νκ² μ¬μ΄μ κ΅μ°¨ μνΈλ‘νΌ μμ€μ΄ κ³μ°λ©λλ€.
μ€λμ€ λΆλ₯μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν μ€λμ€ λΆλ₯ κ°μ΄λλ₯Ό νμΈνμ¬ Wav2Vec2λ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
μλ μμ± μΈμ
μ¬μ νλ ¨λ λͺ¨λΈμ μλ μμ± μΈμμ μ¬μ©νλ €λ©΄, μ°κ²°μ£Όμμ μκ° λΆλ₯(CTC, Connectionist Temporal Classification)λ₯Ό μν΄ κΈ°λ³Έ Wav2Vec2 λͺ¨λΈ μλ¨μ μΈμ΄ λͺ¨λΈλ§ ν€λλ₯Ό μΆκ°ν©λλ€. μΈμ΄ λͺ¨λΈλ§ ν€λλ μΈμ½λμ μλ μνλ₯Ό λ°μμ λ‘μ§μΌλ‘ λ³νν©λλ€. κ° λ‘μ§μ ν ν° ν΄λμ€(ν ν° μλ μμ μ μ΄νμμ λνλ©λλ€)λ₯Ό λνλ λλ€. CTC μμ€μ ν μ€νΈλ‘ λμ½λ©λ ν ν°μμ κ°μ₯ κ°λ₯μ±μ΄ λμ ν ν° μνμ€λ₯Ό μ°ΎκΈ° μν΄ λ‘μ§κ³Ό νκ² μ¬μ΄μμ κ³μ°λ©λλ€.
μλ μμ± μΈμμ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν μλ μμ± μΈμ κ°μ΄λλ₯Ό νμΈνμ¬ Wav2Vec2λ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
μ»΄ν¨ν° λΉμ
μ»΄ν¨ν° λΉμ μμ μ μ κ·Όνλ 2κ°μ§ λ°©λ²μ΄ μμ΅λλ€:
- μ΄λ―Έμ§λ₯Ό ν¨μΉ μνμ€λ‘ λΆλ¦¬νκ³ Transformerλ‘ λ³λ ¬ μ²λ¦¬ν©λλ€.
- ConvNeXTμ κ°μ νλ CNNμ μ¬μ©ν©λλ€. μ΄λ ν©μ±κ³± λ μ΄μ΄λ₯Ό κΈ°λ°μΌλ‘ νμ§λ§ νλ λ€νΈμν¬ μ€κ³λ₯Ό μ μ©ν©λλ€.
μΈ λ²μ§Έ λ°©λ²μ Transformerμ ν©μ±κ³±(μλ₯Ό λ€μ΄, Convolutional Vision Transformer λλ LeViT)μ κ²°ν©νλ κ²μ λλ€. μ°λ¦¬λ μ΄ν΄λ³Ό λ κ°μ§ λ°©λ²λ§ κ²°ν©νκΈ° λλ¬Έμ μ¬κΈ°μ μ΄ λ°©λ²μ λ€λ£¨μ§ μμ΅λλ€.
ViTμ ConvNeXTλ μΌλ°μ μΌλ‘ μ΄λ―Έμ§ λΆλ₯μμ μ¬μ©λμ§λ§, 물체 κ°μ§, λΆν , κΉμ΄ μΆμ κ³Ό κ°μ λ€λ₯Έ λΉμ μμ μλ κ°κ° DETR, Mask2Former, GLPNμ΄ λ μ ν©νλ―λ‘ μ΄λ¬ν λͺ¨λΈμ μ΄ν΄λ³΄κ² μ΅λλ€.
μ΄λ―Έμ§ λΆλ₯
ViTμ ConvNeXT λͺ¨λ μ΄λ―Έμ§ λΆλ₯μ μ¬μ©λ μ μμ§λ§, ViTλ μ΄ν μ λ©μ»€λμ¦μ, ConvNeXTλ ν©μ±κ³±μ μ¬μ©νλ κ²μ΄ μ£Όλ μ°¨μ΄μ λλ€.
Transformer
ViTμ ν©μ±κ³±μ μ μ μΌλ‘ μμ Transformer μν€ν μ²λ‘ λ체ν©λλ€. κΈ°μ‘΄ Transformerμ μ΅μνλ€λ©΄, ViTλ₯Ό μ΄ν΄νλ λ°©λ²μ λλΆλΆμ μ΄λ―Έ νμ νλ€κ³ λ³Ό μ μμ΅λλ€.
ViTκ° λμ ν μ£Όμ λ³κ²½ μ¬νμ μ΄λ―Έμ§κ° Transformerλ‘ μ΄λ»κ² μ λ¬λλμ§μ μμ΅λλ€:
μ΄λ―Έμ§λ μλ‘ μ€μ²©λμ§ μλ μ μ¬κ°ν ν¨μΉλ‘ λΆν λκ³ , κ° ν¨μΉλ λ²‘ν° λλ ν¨μΉ μλ² λ©(patch embedding)μΌλ‘ λ³νλ©λλ€. ν¨μΉ μλ² λ©μ μ μ ν μ λ ₯ μ°¨μμ λ§λλ 2D ν©μ±κ³± κ³μΈ΅μμ μμ±λ©λλ€(κΈ°λ³Έ Transformerμ κ²½μ° κ° ν¨μΉμ μλ² λ©λ§λ€ 768κ°μ κ°μ΄ νμν©λλ€). 224x224 ν½μ μ΄λ―Έμ§κ° μλ€λ©΄, 16x16 μ΄λ―Έμ§ ν¨μΉ 196κ°λ‘ λΆν ν μ μμ΅λλ€. ν μ€νΈκ° λ¨μ΄λ‘ ν ν°νλλ κ²μ²λΌ, μ΄λ―Έμ§λ ν¨μΉ μνμ€λ‘ βν ν°νβλ©λλ€.
νμ΅ κ°λ₯ν μλ² λ©(learnable embedding)(νΉμν
[CLS]
ν ν°)μ΄ BERTμ κ°μ΄ ν¨μΉ μλ² λ©μ μμ λΆλΆμ μΆκ°λ©λλ€.[CLS]
ν ν°μ λ§μ§λ§ μλ μνλ λΆμ°©λ λΆλ₯ ν€λμ μ λ ₯μΌλ‘ μ¬μ©λκ³ , λ€λ₯Έ μΆλ ₯μ 무μλ©λλ€. μ΄ ν ν°μ λͺ¨λΈμ΄ μ΄λ―Έμ§μ ννμ μΈμ½λ©νλ λ°©λ²μ νμ΅νλ λ° λμμ΄ λ©λλ€.ν¨μΉμ νμ΅ κ°λ₯ν μλ² λ©μ λ§μ§λ§μΌλ‘ μΆκ°ν κ²μ μμΉ μλ² λ©μ λλ€. μλνλ©΄ λͺ¨λΈμ μ΄λ―Έμ§ ν¨μΉμ μμλ₯Ό λͺ¨λ₯΄κΈ° λλ¬Έμ λλ€. μμΉ μλ² λ©λ νμ΅ κ°λ₯νλ©°, ν¨μΉ μλ² λ©κ³Ό λμΌν ν¬κΈ°λ₯Ό κ°μ§λλ€. μ΅μ’ μ μΌλ‘, λͺ¨λ μλ² λ©μ΄ Transformer μΈμ½λμ μ λ¬λ©λλ€.
[CLS]
ν ν°μ ν¬ν¨ν μΆλ ₯μ λ€μΈ΅ νΌμ νΈλ‘ ν€λ(MLP)μ μ λ¬λ©λλ€. ViTμ μ¬μ νλ ¨ λͺ©νλ λ¨μν λΆλ₯μ λλ€. λ€λ₯Έ λΆλ₯ ν€λμ κ°μ΄, MLP ν€λλ μΆλ ₯μ ν΄λμ€ λ μ΄λΈμ λν΄ λ‘μ§μΌλ‘ λ³ννκ³ κ΅μ°¨ μνΈλ‘νΌ μμ€μ κ³μ°νμ¬ κ°μ₯ κ°λ₯μ±μ΄ λμ ν΄λμ€λ₯Ό μ°Ύμ΅λλ€.
μ΄λ―Έμ§ λΆλ₯μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν μ΄λ―Έμ§ λΆλ₯ κ°μ΄λλ₯Ό νμΈνμ¬ ViTλ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
CNN
μ΄ μΉμ μμλ ν©μ±κ³±μ λν΄ κ°λ΅νκ² μ€λͺ ν©λλ€. κ·Έλ¬λ μ΄λ―Έμ§μ λͺ¨μκ³Ό ν¬κΈ°κ° μ΄λ»κ² λ³ννλμ§μ λν μ¬μ μ΄ν΄κ° μλ€λ©΄ λμμ΄ λ κ²μ λλ€. ν©μ±κ³±μ μ΅μνμ§ μμ κ²½μ°, fastai bookμ ν©μ±κ³± μ κ²½λ§ μ±ν°λ₯Ό νμΈνμΈμ!
ConvNeXTλ μ±λ₯μ λμ΄κΈ° μν΄ μλ‘μ΄ νλ λ€νΈμν¬ μ€κ³λ₯Ό μ μ©ν CNN ꡬ쑰μ λλ€. κ·Έλ¬λ ν©μ±κ³±μ μ¬μ ν λͺ¨λΈμ ν΅μ¬μ λλ€. λμ μμ€μ κ΄μ μμ λ³Ό λ, ν©μ±κ³±μ μμ νλ ¬(컀λ)μ μ΄λ―Έμ§ ν½μ μ μμ μλμ°λ₯Ό κ³±νλ μ°μ°μ λλ€. μ΄λ νΉμ ν μ€μ³(texture)μ΄λ μ μ 곑λ₯ κ³Ό κ°μ μΌλΆ νΉμ§μ κ³μ°ν©λλ€. κ·Έλ¬κ³ λ€μ ν½μ μλμ°λ‘ λμ΄κ°λλ°, μ¬κΈ°μ ν©μ±κ³±μ΄ μ΄λνλ 거리λ₯Ό 보ν(stride)μ΄λΌκ³ ν©λλ€.
ν¨λ©μ΄λ 보νμ΄ μλ κΈ°λ³Έ ν©μ±κ³±, λ₯λ¬λμ μν ν©μ±κ³± μ°μ° κ°μ΄λμ΄ μΆλ ₯μ λ€λ₯Έ ν©μ±κ³± λ μ΄μ΄μ μ λ¬ν μ μμΌλ©°, κ° μ°μμ μΈ λ μ΄μ΄λ₯Ό ν΅ν΄ λ€νΈμν¬λ ν«λκ·Έλ λ‘μΌκ³Ό κ°μ΄ λ 볡μ‘νκ³ μΆμμ μΈ κ²μ νμ΅ν©λλ€. ν©μ±κ³± λ μ΄μ΄ μ¬μ΄μ νλ§ λ μ΄μ΄λ₯Ό μΆκ°νμ¬ μ°¨μμ μ€μ΄κ³ νΉμ§μ μμΉ λ³νμ λν΄ λͺ¨λΈμ λ κ²¬κ³ νκ² λ§λλ κ²μ΄ μΌλ°μ μ λλ€.
ConvNeXTλ CNNμ 5κ°μ§ λ°©μμΌλ‘ νλνν©λλ€:
κ° λ¨κ³μ λΈλ‘ μλ₯Ό λ³κ²½νκ³ λ ν° λ³΄νκ³Ό κ·Έμ λμνλ 컀λ ν¬κΈ°λ‘ μ΄λ―Έμ§λ₯Ό βν¨μΉν(patchify)βν©λλ€. κ²ΉμΉμ§ μλ μ¬λΌμ΄λ© μλμ°λ ViTκ° μ΄λ―Έμ§λ₯Ό ν¨μΉλ‘ λΆν νλ λ°©λ²κ³Ό μ μ¬νκ² μ΄ ν¨μΉν μ λ΅μ λ§λλλ€.
λ³λͺ©(bottleneck) λ μ΄μ΄λ μ±λ μλ₯Ό μ€μλ€κ° λ€μ 볡μν©λλ€. μλνλ©΄ 1x1 ν©μ±κ³±μ μννλ κ²μ΄ λ λΉ λ₯΄κ³ , κΉμ΄λ₯Ό λ릴 μ μκΈ° λλ¬Έμ λλ€. μ λ³λͺ©(inverted bottlenect)μ μ±λ μλ₯Ό νμ₯νκ³ μΆμν¨μΌλ‘μ¨ κ·Έ λ°λλ‘ μννλ―λ‘, λ©λͺ¨λ¦¬ ν¨μ¨μ΄ λ λμ΅λλ€.
λ³λͺ© λ μ΄μ΄μ μΌλ°μ μΈ 3x3 ν©μ±κ³± λ μ΄μ΄λ₯Ό κ° μ λ ₯ μ±λμ κ°λ³μ μΌλ‘ ν©μ±κ³±μ μ μ©ν λ€μ λ§μ§λ§μ μλ κΉμ΄λ³ ν©μ±κ³±(depthwise convolution)μΌλ‘ λ체ν©λλ€. μ΄λ λ€νΈμν¬ νμ΄ λν μ±λ₯μ΄ ν₯μλ©λλ€.
ViTλ μ΄ν μ λ©μ»€λμ¦ λλΆμ ν λ²μ λ λ§μ μ΄λ―Έμ§λ₯Ό λ³Ό μ μλ μ μ μμ νλλ₯Ό κ°μ§κ³ μμ΅λλ€. ConvNeXTλ 컀λ ν¬κΈ°λ₯Ό 7x7λ‘ λλ € μ΄ ν¨κ³Όλ₯Ό μ¬ννλ €κ³ μλν©λλ€.
λν ConvNeXTλ Transformer λͺ¨λΈμ λͺ¨λ°©νλ λͺ κ°μ§ λ μ΄μ΄ μ€κ³λ₯Ό λ³κ²½ν©λλ€. νμ±ν λ° μ κ·ν λ μ΄μ΄κ° λ μ κ³ , νμ±ν ν¨μκ° ReLU λμ GELUλ‘ μ νλκ³ , BatchNorm λμ LayerNormμ μ¬μ©ν©λλ€.
ν©μ±κ³± λΈλ‘μ μΆλ ₯μ λΆλ₯ ν€λλ‘ μ λ¬λλ©°, λΆλ₯ ν€λλ μΆλ ₯μ λ‘μ§μΌλ‘ λ³ννκ³ κ΅μ°¨ μνΈλ‘νΌ μμ€μ κ³μ°νμ¬ κ°μ₯ κ°λ₯μ±μ΄ λμ λ μ΄λΈμ μ°Ύμ΅λλ€.
κ°μ²΄ νμ§
DETR, DEtection TRansformerλ CNNκ³Ό Transformer μΈμ½λ-λμ½λλ₯Ό κ²°ν©ν μ’ λ¨κ°(end-to-end) κ°μ²΄ νμ§ λͺ¨λΈμ λλ€.
μ¬μ νλ ¨λ CNN λ°±λ³Έ(backbone)μ ν½μ κ°μΌλ‘ λνλΈ μ΄λ―Έμ§λ₯Ό κ°μ Έμ μ ν΄μλ νΉμ§ 맡μ λ§λλλ€. νΉμ§ 맡μ λν΄ 1x1 ν©μ±κ³±μ μ μ©νμ¬ μ°¨μμ μ€μ΄κ³ , κ³ μμ€ μ΄λ―Έμ§ ννμ κ°μ§ μλ‘μ΄ νΉμ§ 맡μ μμ±ν©λλ€. Transformerλ μνμ€ λͺ¨λΈμ΄κΈ° λλ¬Έμ νΉμ§ 맡μ μμΉ μλ² λ©κ³Ό κ²°ν©λ νΉμ§ 벑ν°μ μνμ€λ‘ νννν©λλ€.
νΉμ§ 벑ν°λ μ΄ν μ λ μ΄μ΄λ₯Ό μ¬μ©νμ¬ μ΄λ―Έμ§ ννμ νμ΅νλ μΈμ½λμ μ λ¬λ©λλ€. λ€μμΌλ‘, μΈμ½λμ μλ μνλ λμ½λμμ κ°μ²΄ 쿼리μ κ²°ν©λ©λλ€. κ°μ²΄ 쿼리λ μ΄λ―Έμ§μ λ€λ₯Έ μμμ μ΄μ μ λ§μΆ νμ΅λ μλ² λ©μΌλ‘ νμ΅λκ³ , κ° μ΄ν μ λ μ΄μ΄λ₯Ό μ§ννλ©΄μ κ°±μ λ©λλ€. λμ½λμ μλ μνλ κ° κ°μ²΄ 쿼리μ λν λ°μ΄λ© λ°μ€ μ’νμ ν΄λμ€ λ μ΄λΈμ μμΈ‘νλ μλ°©ν₯ λ€νΈμν¬μ μ λ¬λλ©°, κ°μ²΄κ° μλ κ²½μ°
no object
κ° μΆλ ₯λ©λλ€.DETRμ κ° κ°μ²΄ 쿼리λ₯Ό λ³λ ¬λ‘ λμ½λ©νμ¬ N κ°μ μ΅μ’ μμΈ‘μ μΆλ ₯ν©λλ€. μ¬κΈ°μ Nμ 쿼리 μμ λλ€. ν λ²μ νλμ μμλ₯Ό μμΈ‘νλ μΌλ°μ μΈ μκΈ°νκ· λͺ¨λΈκ³Ό λ¬λ¦¬, κ°μ²΄ νμ§λ ν λ²μ N κ°μ μμΈ‘μ μννλ μ§ν© μμΈ‘ μμ (
λ°μ΄λ© λ°μ€
,ν΄λμ€ λ μ΄λΈ
)μ λλ€.DETRμ νλ ¨ μ€ μ΄λΆ λ§€μΉ μμ€(bipartite matching loss)μ μ¬μ©νμ¬ κ³ μ λ μμ μμΈ‘κ³Ό κ³ μ λ μ€μ μ λ΅ λ μ΄λΈ(ground truth labels) μΈνΈλ₯Ό λΉκ΅ν©λλ€. Nκ°μ λ μ΄λΈ μΈνΈμ μ€μ μ λ΅ λ μ΄λΈλ³΄λ€ μ μ κ²½μ°,
no object
ν΄λμ€λ‘ ν¨λ©λ©λλ€. μ΄ μμ€ ν¨μλ DETRμ΄ μμΈ‘κ³Ό μ€μ μ λ΅ λ μ΄λΈ κ° 1:1 λμμ μ°Ύλλ‘ κΆμ₯ν©λλ€. λ°μ΄λ© λ°μ€ λλ ν΄λμ€ λ μ΄λΈ μ€ νλλΌλ μλͺ»λ κ²½μ°, μμ€μ΄ λ°μν©λλ€. λ§μ°¬κ°μ§λ‘, μ‘΄μ¬νμ§ μλ κ°μ²΄λ₯Ό μμΈ‘νλ κ²½μ°, ν¨λν°λ₯Ό λ°μ΅λλ€. μ΄λ‘ μΈν΄ DETRμ μ΄λ―Έμ§μμ λμ μ λλ 물체 νλμ μ§μ€νλ λμ , λ€λ₯Έ κ°μ²΄λ₯Ό μ°Ύλλ‘ κΆμ₯λ©λλ€.
κ°μ²΄ νμ§ ν€λκ° DETR μλ¨μ μΆκ°λμ΄ ν΄λμ€ λ μ΄λΈκ³Ό λ°μ΄λ© λ°μ€μ μ’νλ₯Ό μ°Ύμ΅λλ€. κ°μ²΄ νμ§ ν€λμλ λ κ°μ§ κ΅¬μ± μμκ° μμ΅λλ€: λμ½λ μλ μνλ₯Ό ν΄λμ€ λ μ΄λΈμ λ‘μ§μΌλ‘ λ³ννλ μ ν λ μ΄μ΄ λ° λ°μ΄λ© λ°μ€λ₯Ό μμΈ‘νλ MLP
κ°μ²΄ νμ§μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν κ°μ²΄ νμ§ κ°μ΄λλ₯Ό νμΈνμ¬ DETRμ λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
μ΄λ―Έμ§ λΆν
Mask2Formerλ λͺ¨λ μ νμ μ΄λ―Έμ§ λΆν μμ μ ν΄κ²°νλ λ²μ© μν€ν μ²μ λλ€. μ ν΅μ μΈ λΆν λͺ¨λΈμ μΌλ°μ μΌλ‘ μλ©ν±(semantic) λλ νλν±(panoptic) λΆν κ³Ό κ°μ μ΄λ―Έμ§ λΆν μ νΉμ νμ μμ μ λ§μΆ° μ‘°μ λ©λλ€. Mask2Formerλ λͺ¨λ μμ μ λ§μ€ν¬ λΆλ₯ λ¬Έμ λ‘ κ΅¬μ±ν©λλ€. λ§μ€ν¬ λΆλ₯λ ν½μ μ Nκ° μΈκ·Έλ¨ΌνΈλ‘ κ·Έλ£Ήννκ³ , μ£Όμ΄μ§ μ΄λ―Έμ§μ λν΄ Nκ°μ λ§μ€ν¬μ κ·Έμ λμνλ ν΄λμ€ λ μ΄λΈμ μμΈ‘ν©λλ€. μ΄ μΉμ μμ Mask2Formerμ μλ λ°©λ²μ μ€λͺ ν λ€μ, λ§μ§λ§μ SegFormerλ₯Ό λ―ΈμΈ μ‘°μ ν΄λ³Ό μ μμ΅λλ€.
Mask2Formerμλ 3κ°μ§ μ£Όμ κ΅¬μ± μμκ° μμ΅λλ€:
Swin λ°±λ³Έμ΄ μ΄λ―Έμ§λ₯Ό λ°μ 3κ°μ μ°μλ 3x3 ν©μ±κ³±μμ μ ν΄μλ μ΄λ―Έμ§ νΉμ§ 맡μ μμ±ν©λλ€.
νΉμ§ 맡μ ν½μ λμ½λμ μ λ¬λ©λλ€. μ΄ λμ½λλ μ ν΄μλ νΉμ§μ κ³ ν΄μλ ν½μ μλ² λ©μΌλ‘ μ μ§μ μΌλ‘ μ μνλ§ν©λλ€. ν½μ λμ½λλ μ€μ λ‘ μλ³Έ μ΄λ―Έμ§μ 1/32, 1/16, 1/8 ν΄μλμ λ€μ€ μ€μΌμΌ νΉμ§(μ ν΄μλ λ° κ³ ν΄μλ νΉμ§ λͺ¨λ ν¬ν¨)μ μμ±ν©λλ€.
μ΄λ¬ν μλ‘ λ€λ₯Έ ν¬κΈ°μ νΉμ§ 맡μ κ³ ν΄μλ νΉμ§μμ μμ κ°μ²΄λ₯Ό ν¬μ°©νκΈ° μν΄ ν λ²μ νλμ Transformer λμ½λ λ μ΄μ΄μ μ°μμ μΌλ‘ 곡κΈλ©λλ€. Mask2Formerμ ν΅μ¬μ λμ½λμ λ§μ€ν¬ μ΄ν μ λ©μ»€λμ¦μ λλ€. μ 체 μ΄λ―Έμ§λ₯Ό μ°Έμ‘°ν μ μλ ν¬λ‘μ€ μ΄ν μ (cross-attention)κ³Ό λ¬λ¦¬, λ§μ€ν¬ μ΄ν μ μ μ΄λ―Έμ§μ νΉμ μμμλ§ μ§μ€ν©λλ€. μ΄λ μ΄λ―Έμ§μ μ§μμ νΉμ§λ§μΌλ‘ λͺ¨λΈμ΄ μΆ©λΆν νμ΅ν μ μκΈ° λλ¬Έμ λ λΉ λ₯΄κ³ μ±λ₯μ΄ μ°μν©λλ€.
DETRκ³Ό κ°μ΄, Mask2Formerλ νμ΅λ κ°μ²΄ 쿼리λ₯Ό μ¬μ©νκ³ μ΄λ₯Ό ν½μ λμ½λμμμ μ΄λ―Έμ§ νΉμ§κ³Ό κ²°ν©νμ¬ μμΈ‘ μ§ν©(
ν΄λμ€ λ μ΄λΈ
,λ§μ€ν¬ μμΈ‘
)μ μμ±ν©λλ€. λμ½λμ μλ μνλ μ ν λ μ΄μ΄λ‘ μ λ¬λμ΄ ν΄λμ€ λ μ΄λΈμ λν λ‘μ§μΌλ‘ λ³νλ©λλ€. λ‘μ§κ³Ό ν΄λμ€ λ μ΄λΈ μ¬μ΄μ κ΅μ°¨ μνΈλ‘νΌ μμ€μ κ³μ°νμ¬ κ°μ₯ κ°λ₯μ±μ΄ λμ κ²μ μ°Ύμ΅λλ€.λ§μ€ν¬ μμΈ‘μ ν½μ μλ² λ©κ³Ό μ΅μ’ λμ½λ μλ μνλ₯Ό κ²°ν©νμ¬ μμ±λ©λλ€. μκ·Έλͺ¨μ΄λ κ΅μ°¨ μνΈλ‘νΌ λ° Dice μμ€μ λ‘μ§κ³Ό μ€μ μ λ΅ λ§μ€ν¬(ground truth mask) μ¬μ΄μμ κ³μ°λμ΄ κ°μ₯ κ°λ₯μ±μ΄ λμ λ§μ€ν¬λ₯Ό μ°Ύμ΅λλ€.
μ΄λ―Έμ§ λΆν μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν μ΄λ―Έμ§ λΆν κ°μ΄λλ₯Ό νμΈνμ¬ SegFormerλ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
κΉμ΄ μΆμ
GLPN, Global-Local Path Networkλ SegFormer μΈμ½λμ κ²½λ λμ½λλ₯Ό κ²°ν©ν κΉμ΄ μΆμ μ μν Transformerμ λλ€.
ViTμ κ°μ΄, μ΄λ―Έμ§λ ν¨μΉ μνμ€λ‘ λΆν λμ§λ§, μ΄λ―Έμ§ ν¨μΉκ° λ μλ€λ μ μ΄ λ€λ¦ λλ€. μ΄λ μΈκ·Έλ©ν μ΄μ μ΄λ κΉμ΄ μΆμ κ³Ό κ°μ λ°λ μμΈ‘ μμ μ λ μ ν©ν©λλ€. μ΄λ―Έμ§ ν¨μΉλ ν¨μΉ μλ² λ©μΌλ‘ λ³νλμ΄(ν¨μΉ μλ² λ©μ΄ μμ±λλ λ°©λ²μ μ΄λ―Έμ§ λΆλ₯ μΉμ μ μ°Έμ‘°νμΈμ), μΈμ½λλ‘ μ λ¬λ©λλ€.
μΈμ½λλ ν¨μΉ μλ² λ©μ λ°μ, μ¬λ¬ μΈμ½λ λΈλ‘μ μ λ¬ν©λλ€. κ° λΈλ‘μ μ΄ν μ λ° Mix-FFN λ μ΄μ΄λ‘ ꡬμ±λ©λλ€. νμμ λͺ©μ μ μμΉ μ 보λ₯Ό μ 곡νλ κ²μ λλ€. κ° μΈμ½λ λΈλ‘μ λμλ κ³μΈ΅μ ννμ μμ±νκΈ° μν ν¨μΉ λ³ν©(patch merging) λ μ΄μ΄κ° μμ΅λλ€. κ° μΈμ ν ν¨μΉ κ·Έλ£Ήμ νΉμ§μ μ°κ²°λκ³ , μ°κ²°λ νΉμ§μ μ ν λ μ΄μ΄κ° μ μ©λμ΄ ν¨μΉ μλ₯Ό 1/4μ ν΄μλλ‘ μ€μ λλ€. μ΄λ λ€μ μΈμ½λ λΈλ‘μ μ λ ₯μ΄ λλ©°, μ΄λ¬ν μ 체 νλ‘μΈμ€λ 1/8, 1/16, 1/32 ν΄μλμ μ΄λ―Έμ§ νΉμ§μ κ°μ§ λκΉμ§ λ°λ³΅λ©λλ€.
κ²½λ λμ½λλ μΈμ½λμμ λ§μ§λ§ νΉμ§ 맡(1/32 ν¬κΈ°)μ κ°μ Έμ 1/16 ν¬κΈ°λ‘ μ μνλ§ν©λλ€. μ¬κΈ°μ, νΉμ§μ μ νμ νΉμ§ μ΅ν©(SFF, Selective Feature Fusion) λͺ¨λλ‘ μ λ¬λ©λλ€. μ΄ λͺ¨λμ κ° νΉμ§μ λν΄ μ΄ν μ 맡μμ λ‘컬 λ° μ μ νΉμ§μ μ ννκ³ κ²°ν©ν λ€μ, 1/8λ‘ μ μνλ§ν©λλ€. μ΄ νλ‘μΈμ€λ λμ½λ©λ νΉμ±μ΄ μλ³Έ μ΄λ―Έμ§μ λμΌν ν¬κΈ°κ° λ λκΉμ§ λ°λ³΅λ©λλ€. μΆλ ₯μ λ κ°μ ν©μ±κ³± λ μ΄μ΄λ₯Ό κ±°μΉ λ€μ, μκ·Έλͺ¨μ΄λ νμ±νκ° μ μ©λμ΄ κ° ν½μ μ κΉμ΄λ₯Ό μμΈ‘ν©λλ€.
μμ°μ΄μ²λ¦¬
Transformerλ μ΄κΈ°μ κΈ°κ³ λ²μμ μν΄ μ€κ³λμκ³ , κ·Έ μ΄νλ‘λ μ¬μ€μ λͺ¨λ NLP μμ μ ν΄κ²°νκΈ° μν κΈ°λ³Έ μν€ν μ²κ° λμμ΅λλ€. μ΄λ€ μμ μ Transformerμ μΈμ½λ ꡬ쑰μ μ ν©νλ©°, λ€λ₯Έ μμ μ λμ½λμ λ μ ν©ν©λλ€. λ λ€λ₯Έ μμ μ Transformerμ μΈμ½λ-λμ½λ ꡬ쑰λ₯Ό λͺ¨λ νμ©ν©λλ€.
ν μ€νΈ λΆλ₯
BERTλ μΈμ½λ μ μ© λͺ¨λΈμ΄λ©°, ν μ€νΈμ νλΆν ννμ νμ΅νκΈ° μν΄ μλ°©ν₯μ λ¨μ΄μ μ£Όλͺ©ν¨μΌλ‘μ¨ μ¬μΈ΅ μλ°©ν₯μ±(deep bidirectionality)μ ν¨κ³Όμ μΌλ‘ ꡬνν μ΅μ΄μ λͺ¨λΈμ λλ€.
BERTλ WordPiece ν ν°νλ₯Ό μ¬μ©νμ¬ λ¬Έμ₯μ ν ν° μλ² λ©μ μμ±ν©λλ€. λ¨μΌ λ¬Έμ₯κ³Ό ν μμ λ¬Έμ₯μ ꡬλΆνκΈ° μν΄ νΉμν
[SEP]
ν ν°μ΄ μΆκ°λ©λλ€. λͺ¨λ ν μ€νΈ μνμ€μ μμ λΆλΆμλ νΉμν[CLS]
ν ν°μ΄ μΆκ°λ©λλ€.[CLS]
ν ν°μ΄ μλ μ΅μ’ μΆλ ₯μ λΆλ₯ μμ μ μν λΆλ₯ ν€λλ‘ μ λ ₯μ μ¬μ©λ©λλ€. BERTλ λν ν μμ λ¬Έμ₯μμ κ° ν ν°μ΄ 첫 λ²μ§Έ λ¬Έμ₯μΈμ§ λ λ²μ§Έ λ¬Έμ₯μ μνλμ§ λνλ΄λ μΈκ·Έλ¨ΌνΈ μλ² λ©(segment embedding)μ μΆκ°ν©λλ€.BERTλ λ§μ€ν¬λ μΈμ΄ λͺ¨λΈλ§κ³Ό λ€μ λ¬Έμ₯ μμΈ‘, λ κ°μ§ λͺ©μ μΌλ‘ μ¬μ νλ ¨λ©λλ€. λ§μ€ν¬λ μΈμ΄ λͺ¨λΈλ§μμλ μ λ ₯ ν ν°μ μΌλΆκ° 무μμλ‘ λ§μ€νΉλκ³ , λͺ¨λΈμ μ΄λ₯Ό μμΈ‘ν΄μΌ ν©λλ€. μ΄λ λͺ¨λΈμ΄ λͺ¨λ λ¨μ΄λ₯Ό λ³΄κ³ λ€μ λ¨μ΄λ₯Ό βμμΈ‘βν μ μλ μλ°©ν₯μ± λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€. μμΈ‘λ λ§μ€ν¬ ν ν°μ μ΅μ’ μλ μνλ μ΄νμ λν μννΈλ§₯μ€κ° μλ μλ°©ν₯ λ€νΈμν¬λ‘ μ λ¬λμ΄ λ§μ€ν¬λ λ¨μ΄λ₯Ό μμΈ‘ν©λλ€.
λ λ²μ§Έ μ¬μ νλ ¨ λμμ λ€μ λ¬Έμ₯ μμΈ‘μ λλ€. λͺ¨λΈμ λ¬Έμ₯ Bκ° λ¬Έμ₯ A λ€μμ μ€λμ§ μμΈ‘ν΄μΌ ν©λλ€. λ¬Έμ₯ Bκ° λ€μ λ¬Έμ₯μΈ κ²½μ°μ 무μμ λ¬Έμ₯μΈ κ²½μ° κ°κ° 50%μ νλ₯ λ‘ λ°μν©λλ€. λ€μ λ¬Έμ₯μΈμ§ μλμ§μ λν μμΈ‘μ λ κ°μ ν΄λμ€(
IsNext
λ°NotNext
)μ λν μννΈλ§₯μ€κ° μλ μλ°©ν₯ λ€νΈμν¬λ‘ μ λ¬λ©λλ€.μ λ ₯ μλ² λ©μ μ¬λ¬ μΈμ½λ λ μ΄μ΄λ₯Ό κ±°μ³μ μ΅μ’ μλ μνλ₯Ό μΆλ ₯ν©λλ€.
μ¬μ νλ ¨λ λͺ¨λΈμ ν μ€νΈ λΆλ₯μ μ¬μ©νλ €λ©΄, κΈ°λ³Έ BERT λͺ¨λΈ μλ¨μ μνμ€ λΆλ₯ ν€λλ₯Ό μΆκ°ν©λλ€. μνμ€ λΆλ₯ ν€λλ μ΅μ’ μλ μνλ₯Ό λ°λ μ ν λ μ΄μ΄μ΄λ©°, λ‘μ§μΌλ‘ λ³ννκΈ° μν΄ μ ν λ³νμ μνν©λλ€. κ΅μ°¨ μνΈλ‘νΌ μμ€μ λ‘μ§κ³Ό νκ² κ°μ κ³μ°λμ΄ κ°μ₯ κ°λ₯μ±μ΄ λμ λ μ΄λΈμ μ°Ύμ΅λλ€.
ν μ€νΈ λΆλ₯μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν ν μ€νΈ λΆλ₯ κ°μ΄λλ₯Ό νμΈνμ¬ DistilBERTλ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
ν ν° λΆλ₯
κ°μ²΄λͺ μΈμ(Named Entity Recognition, NER)κ³Ό κ°μ ν ν° λΆλ₯ μμ μ BERTλ₯Ό μ¬μ©νλ €λ©΄, κΈ°λ³Έ BERT λͺ¨λΈ μλ¨μ ν ν° λΆλ₯ ν€λλ₯Ό μΆκ°ν©λλ€. ν ν° λΆλ₯ ν€λλ μ΅μ’ μλ μνλ₯Ό λ°λ μ ν λ μ΄μ΄μ΄λ©°, λ‘μ§μΌλ‘ λ³ννκΈ° μν΄ μ ν λ³νμ μνν©λλ€. κ΅μ°¨ μνΈλ‘νΌ μμ€μ λ‘μ§κ³Ό κ° ν ν° κ°μ κ³μ°λμ΄ κ°μ₯ κ°λ₯μ±μ΄ λμ λ μ΄λΈμ μ°Ύμ΅λλ€.
ν ν° λΆλ₯μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν ν ν° λΆλ₯ κ°μ΄λλ₯Ό νμΈνμ¬ DistilBERTλ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
μ§μμλ΅
μ§μμλ΅μ BERTλ₯Ό μ¬μ©νλ €λ©΄, κΈ°λ³Έ BERT λͺ¨λΈ μμ μ€ν¬(span) λΆλ₯ ν€λλ₯Ό μΆκ°ν©λλ€. μ΄ μ ν λ μ΄μ΄λ μ΅μ’
μλ μνλ₯Ό λ°κ³ , λ΅λ³μ λμνλ μ€ν¬
μ μμκ³Ό λ λ‘κ·Έλ₯Ό κ³μ°νκΈ° μν΄ μ ν λ³νμ μνν©λλ€. κ΅μ°¨ μνΈλ‘νΌ μμ€μ λ‘μ§κ³Ό κ° λ μ΄λΈ μμΉ κ°μ κ³μ°λμ΄ λ΅λ³μ λμνλ κ°μ₯ κ°λ₯μ±μ΄ λμ ν
μ€νΈμ μ€ν¬μ μ°Ύμ΅λλ€.
μ§μμλ΅μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν μ§μμλ΅ κ°μ΄λλ₯Ό νμΈνμ¬ DistilBERTλ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
π‘ μ¬μ νλ ¨λ BERTλ₯Ό λ€μν μμ μ μ¬μ©νλ κ²μ΄ μΌλ§λ μ¬μ΄μ§ μ£Όλͺ©νμΈμ. μ¬μ νλ ¨λ λͺ¨λΈμ νΉμ ν€λλ₯Ό μΆκ°νκΈ°λ§ νλ©΄ μλ μνλ₯Ό μνλ μΆλ ₯μΌλ‘ μ‘°μν μ μμ΅λλ€!
ν μ€νΈ μμ±
GPT-2λ λλμ ν μ€νΈμ λν΄ μ¬μ νλ ¨λ λμ½λ© μ μ© λͺ¨λΈμ λλ€. ν둬ννΈλ₯Ό μ£Όμ΄μ§λ©΄ μ€λλ ₯ μλ (νμ μ¬μ€μ μλμ§λ§!) ν μ€νΈλ₯Ό μμ±νκ³ λͺ μμ μΌλ‘ νλ ¨λμ§ μμμμλ λΆκ΅¬νκ³ μ§μμλ΅κ³Ό κ°μ λ€λ₯Έ NLP μμ μ μμν μ μμ΅λλ€.
GPT-2λ λ¨μ΄λ₯Ό ν ν°ννκ³ ν ν° μλ² λ©μ μμ±νκΈ° μν΄ λ°μ΄νΈ νμ΄ μΈμ½λ©(BPE, byte pair encoding)μ μ¬μ©ν©λλ€. μμΉ μΈμ½λ©μ μνμ€μμ κ° ν ν°μ μμΉλ₯Ό λνλ΄κΈ° μν΄ ν ν° μλ² λ©μ μΆκ°λ©λλ€. μ λ ₯ μλ² λ©μ μ¬λ¬ λμ½λ λΈλ‘μ κ±°μ³ μΌλΆ μ΅μ’ μλ μνλ₯Ό μΆλ ₯ν©λλ€. κ° λμ½λ λΈλ‘ λ΄μμ GPT-2λ λ§μ€ν¬λ μ ν μ΄ν μ (masked self-attention) λ μ΄μ΄λ₯Ό μ¬μ©ν©λλ€. μ΄λ GPT-2κ° μ΄ν ν ν°(future tokens)μ μ£Όμλ₯Ό κΈ°μΈμΌ μ μλλ‘ ν©λλ€. μΌμͺ½μ μλ ν ν°μλ§ μ£Όμλ₯Ό κΈ°μΈμΌ μ μμ΅λλ€. λ§μ€ν¬λ μ ν μ΄ν μ μμλ μ΄ν μ λ§μ€ν¬λ₯Ό μ¬μ©νμ¬ μ΄ν ν ν°μ λν μ μ(score)λ₯Ό
0
μΌλ‘ μ€μ νκΈ° λλ¬Έμ BERTμmask
ν ν°κ³Ό λ€λ¦ λλ€.λμ½λμ μΆλ ₯μ μΈμ΄ λͺ¨λΈλ§ ν€λμ μ λ¬λλ©°, μΈμ΄ λͺ¨λΈλ§ ν€λλ μλ μνλ₯Ό λ‘μ§μΌλ‘ μ ν λ³νμ μνν©λλ€. λ μ΄λΈμ μνμ€μ λ€μ ν ν°μΌλ‘, λ‘μ§μ μ€λ₯Έμͺ½μΌλ‘ νλμ© μ΄λνμ¬ μμ±λ©λλ€. κ΅μ°¨ μνΈλ‘νΌ μμ€μ μ΄λλ λ‘μ§κ³Ό λ μ΄λΈ κ°μ κ³μ°λμ΄ κ°μ₯ κ°λ₯μ±μ΄ λμ λ€μ ν ν°μ μΆλ ₯ν©λλ€.
GPT-2μ μ¬μ νλ ¨ λͺ©μ μ μ μ μΌλ‘ μΈκ³Όμ μΈμ΄ λͺ¨λΈλ§μ κΈ°λ°νμ¬, μνμ€μμ λ€μ λ¨μ΄λ₯Ό μμΈ‘νλ κ²μ λλ€. μ΄λ GPT-2κ° ν μ€νΈ μμ±μ κ΄λ ¨λ μμ μ νΉν μ°μνλλ‘ ν©λλ€.
ν μ€νΈ μμ±μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν μΈκ³Όμ μΈμ΄ λͺ¨λΈλ§ κ°μ΄λλ₯Ό νμΈνμ¬ DistilGPT-2λ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
ν μ€νΈ μμ±μ λν μμΈν λ΄μ©μ ν μ€νΈ μμ± μ λ΅ κ°μ΄λλ₯Ό νμΈνμΈμ!
μμ½
BART λ° T5μ κ°μ μΈμ½λ-λμ½λ λͺ¨λΈμ μμ½ μμ μ μνμ€-ν¬-μνμ€ ν¨ν΄μ μν΄ μ€κ³λμμ΅λλ€. μ΄ μΉμ μμ BARTμ μλ λ°©λ²μ μ€λͺ ν λ€μ, λ§μ§λ§μ T5λ₯Ό λ―ΈμΈ μ‘°μ ν΄λ³Ό μ μμ΅λλ€.
BARTμ μΈμ½λ μν€ν μ²λ BERTμ λ§€μ° μ μ¬νλ©° ν μ€νΈμ ν ν° λ° μμΉ μλ² λ©μ λ°μ΅λλ€. BARTλ μ λ ₯μ λ³νμν€κ³ λμ½λλ‘ μ¬κ΅¬μ±νμ¬ μ¬μ νλ ¨λ©λλ€. νΉμ λ³ν κΈ°λ²μ΄ μλ λ€λ₯Έ μΈμ½λμλ λ¬λ¦¬, BARTλ λͺ¨λ μ νμ λ³νμ μ μ©ν μ μμ΅λλ€. κ·Έλ¬λ text infilling λ³ν κΈ°λ²μ΄ κ°μ₯ μ μλν©λλ€. Text Infilingμμλ μ¬λ¬ ν μ€νΈ μ€ν¬μ λ¨μΌ
mask
ν ν°μΌλ‘ λ체ν©λλ€. μ΄λ λͺ¨λΈμ΄ λ§μ€ν¬λ ν ν°μ μμΈ‘ν΄μΌ νκ³ , λͺ¨λΈμ λλ½λ ν ν°μ μλ₯Ό μμΈ‘νλλ‘ κ°λ₯΄μΉκΈ° λλ¬Έμ μ€μν©λλ€. μ λ ₯ μλ² λ©κ³Ό λ§μ€ν¬λ μ€ν¬μ΄ μΈμ½λλ₯Ό κ±°μ³ μ΅μ’ μλ μνλ₯Ό μΆλ ₯νμ§λ§, BERTμ λ¬λ¦¬ BARTλ λ§μ§λ§μ λ¨μ΄λ₯Ό μμΈ‘νλ μλ°©ν₯ λ€νΈμν¬λ₯Ό μΆκ°νμ§ μμ΅λλ€.μΈμ½λμ μΆλ ₯μ λμ½λλ‘ μ λ¬λλ©°, λμ½λλ μΈμ½λμ μΆλ ₯μμ λ§μ€ν¬ ν ν°κ³Ό λ³νλμ§ μμ ν ν°μ μμΈ‘ν΄μΌ ν©λλ€. μ΄λ λμ½λκ° μλ³Έ ν μ€νΈλ₯Ό 볡μνλ λ° λμμ΄ λλ μΆκ°μ μΈ λ¬Έλ§₯μ μ»λλ‘ ν©λλ€. λμ½λμ μΆλ ₯μ μΈμ΄ λͺ¨λΈλ§ ν€λμ μ λ¬λλ©°, μΈμ΄ λͺ¨λΈλ§ ν€λλ μλ μνλ₯Ό λ‘μ§μΌλ‘ μ ν λ³νμ μνν©λλ€. κ΅μ°¨ μνΈλ‘νΌ μμ€μ λ‘μ§κ³Ό ν ν°μ΄ μ€λ₯Έμͺ½μΌλ‘ μ΄λλ λ μ΄λΈ κ°μ κ³μ°λ©λλ€.
μμ½μ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν μμ½ κ°μ΄λλ₯Ό νμΈνμ¬ T5λ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
ν μ€νΈ μμ±μ λν μμΈν λ΄μ©μ ν μ€νΈ μμ± μ λ΅ κ°μ΄λλ₯Ό νμΈνμΈμ!
λ²μ
λ²μμ μνμ€-ν¬-μνμ€ μμ μ λ λ€λ₯Έ μλ‘, BART λλ T5μ κ°μ μΈμ½λ-λμ½λ λͺ¨λΈμ μ¬μ©ν μ μμ΅λλ€. μ΄ μΉμ μμ BARTμ μλ λ°©λ²μ μ€λͺ ν λ€μ, λ§μ§λ§μ T5λ₯Ό λ―ΈμΈ μ‘°μ ν΄λ³Ό μ μμ΅λλ€.
BARTλ μμ² μΈμ΄λ₯Ό νκ² μΈμ΄λ‘ λμ½λ©ν μ μλ μ λ ₯μ 맀ννκΈ° μν΄ λ¬΄μμλ‘ μ΄κΈ°νλ λ³λμ μΈμ½λλ₯Ό μΆκ°νμ¬ λ²μμ μ μ©ν©λλ€. μ΄ μλ‘μ΄ μΈμ½λμ μλ² λ©μ μλ³Έ λ¨μ΄ μλ² λ© λμ μ¬μ νλ ¨λ μΈμ½λλ‘ μ λ¬λ©λλ€. μμ² μΈμ½λλ λͺ¨λΈ μΆλ ₯μ κ΅μ°¨ μνΈλ‘νΌ μμ€λ‘λΆν° μμ² μΈμ½λ, μμΉ μλ² λ©, μ λ ₯ μλ² λ©μ κ°±μ νμ¬ νλ ¨λ©λλ€. 첫 λ²μ§Έ λ¨κ³μμλ λͺ¨λΈ νλΌλ―Έν°κ° κ³ μ λκ³ , λ λ²μ§Έ λ¨κ³μμλ λͺ¨λ λͺ¨λΈ νλΌλ―Έν°κ° ν¨κ» νλ ¨λ©λλ€.
BARTλ μ΄ν λ²μμ μν΄ λ€μν μΈμ΄λ‘ μ¬μ νλ ¨λ λ€κ΅μ΄ λ²μ μ mBARTλ‘ νμ₯λμμ΅λλ€.
λ²μμ μ§μ λμ ν μ€λΉκ° λμ ¨λμ? μμ ν λ²μ κ°μ΄λλ₯Ό νμΈνμ¬ T5λ₯Ό λ―ΈμΈ μ‘°μ νκ³ μΆλ‘ μ μ¬μ©νλ λ°©λ²μ νμ΅νμΈμ!
ν μ€νΈ μμ±μ λν μμΈν λ΄μ©μ ν μ€νΈ μμ± μ λ΅ κ°μ΄λλ₯Ό νμΈνμΈμ!