XYZNOT

งานวิจัย · arXiv 2010.11929

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

เผยแพร่ cs.CVcs.AIcs.LG arXivPDF

อ่านพร้อมคำแปลและ AI

สรุปสามบรรทัด

  1. 🎯 โครงข่ายประสาทเทียมแบบคอนโวลูชันครองวงการคอมพิวเตอร์วิทัศน์มาอย่างยาวนานเนื่องจากมี inductive bias ที่แข็งแกร่ง ในขณะที่ Transformer มาตรฐานยังขาดการนำไปประยุกต์ใช้กับภาพ 2 มิติที่ขยายขนาดได้อย่างมีประสิทธิภาพโดยตรง
  2. 🔧 แบ่งภาพออกเป็นแพตช์ขนาดคงที่ที่ถูกทำให้แบน (เช่น 16x16) ทำการแปลงเชิงเส้น (linear projection) ให้เป็น token embeddings เพิ่ม position embeddings และส่งผ่านเข้าไปยัง Transformer encoder มาตรฐานพร้อมกับแทรก [class] token ไว้ข้างหน้า
  3. 📈 เมื่อพรีเทรนบน JFT-300M โมเดล ViT-H/14 ทำความแม่นยำ top-1 ได้ 88.55% บน ImageNet, 90.72% บน ImageNet ReaL และ 77.63% บน VTAB โดยใช้ต้นทุนการคำนวณในการพรีเทรนน้อยกว่า CNNs ที่มีประสิทธิภาพเทียบเคียงกันอย่างเห็นได้ชัด

บทคัดย่อ

แม้ว่าสถาปัตยกรรม Transformer ได้กลายเป็นมาตรฐานโดยพฤตินัยสำหรับงานประมวลผลภาษาธรรมชาติ แต่การประยุกต์ใช้ในคอมพิวเตอร์วิทัศน์ยังคงมีจำกัด ในงานด้านวิทัศน์ attention มักถูกนำมาใช้ร่วมกับโครงข่ายแบบคอนโวลูชัน หรือใช้แทนที่องค์ประกอบบางส่วนของโครงข่ายคอนโวลูชันโดยยังคงรักษาโครงสร้างโดยรวมไว้ เราแสดงให้เห็นว่าการพึ่งพา CNNs เช่นนี้ไม่มีความจำเป็น และการใช้ Transformer แบบบริสุทธิ์กับลำดับของแพตช์ภาพโดยตรงสามารถทำผลงานได้ดีเยี่ยมในงานจำแนกประเภทภาพ เมื่อพรีเทรนบนข้อมูลปริมาณมหาศาลและถ่ายทอดการเรียนรู้ไปยังชุดทดสอบการรู้จำภาพขนาดกลางหรือขนาดเล็กหลายชุด (ImageNet, CIFAR-100, VTAB ฯลฯ) Vision Transformer (ViT) ให้ผลลัพธ์ที่ยอดเยี่ยมเมื่อเทียบกับโครงข่ายคอนโวลูชันระดับแนวหน้า (state-of-the-art) โดยใช้ทรัพยากรการคำนวณในการเทรนน้อยกว่าอย่างมีนัยสำคัญ

บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)

While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.

คู่มือการอ่าน

ปัญหาและแรงจูงใจ

สถาปัตยกรรมแบบคอนโวลูชัน (เช่น ResNet) เป็นรากฐานของคอมพิวเตอร์วิทัศน์สมัยใหม่มาอย่างยาวนาน เนื่องจากการมี inductive bias ในตัว เช่น translation equivariance และการคงสภาพความสัมพันธ์เชิงพื้นที่แบบสองมิติ (two-dimensional locality) แม้ว่า Transformer จะกลายเป็นมาตรฐานในงานประมวลผลภาษาธรรมชาติ (NLP) จากประสิทธิภาพการคำนวณและความสามารถในการขยายสเกลอย่างมหาศาล แต่ความพยายามก่อนหน้านี้ในการนำ self-attention มาใช้ในงานวิทัศน์มักจะต้องผูก attention เข้ากับกระดูกสันหลัง (backbone) ของ CNN หรือใช้รูปแบบ local/axial attention แบบเฉพาะทางซึ่งยากต่อการขยายขนาดอย่างมีประสิทธิภาพบนฮาร์ดแวร์เร่งความเร็ว งานวิจัยนี้จึงศึกษาว่าสถาปัตยกรรม Transformer แบบบริสุทธิ์ที่ประยุกต์ใช้กับลำดับของแพตช์ภาพโดยตรงและปรับแต่งเพียงเล็กน้อย จะสามารถทัดเทียมหรือมีประสิทธิภาพเหนือกว่า CNNs ระดับแนวหน้าได้หรือไม่

แนวคิดหลัก

  • ภาพในฐานะลำดับของคำ (Images as Sequences of Words): ภาพ จะถูกแบ่งออกเป็นแพตช์ที่ไม่ทับซ้อนกันขนาด โดยแพตช์ที่ถูกทำให้แบนราบจะได้รับการประมวลผลเหมือนกับโทเค็นใน NLP ทุกประการ
  • Inductive Bias ที่น้อยที่สุด: ต่างจาก CNNs ที่ spatial locality และ translation equivariance จะฝังอยู่ในทุกเลเยอร์ ViT ใช้ global self-attention ครอบคลุมทั่วทั้งแพตช์ โครงสร้างแบบ 2 มิติจะถูกอ้างอิงเฉพาะตอนตัดแบ่งแพตช์และตอนทำ interpolation ของ position embeddings สำหรับการ fine-tuning ด้วยความละเอียดที่สูงขึ้นเท่านั้น
  • ขนาดสเกลเอาชนะ Inductive Bias (Scale Trumps Inductive Bias): หากปราศจาก inductive bias ที่เข้มข้น ViT จะทำผลงานได้ด้อยกว่า ResNet บนชุดข้อมูลขนาดเล็กถึงขนาดกลาง (เช่น ImageNet มาตรฐานโดยไม่มี regularization ที่หนักหน่วง) อย่างไรก็ตาม เมื่อพรีเทรนบนชุดข้อมูลขนาดใหญ่ (ImageNet-21k ที่มี 14 ล้านภาพ หรือ JFT-300M ที่มี 303 ล้านภาพ) ViT สามารถทำประสิทธิภาพได้เทียบเท่าหรือเหนือกว่า CNN โดยใช้ FLOPs ในการเทรนน้อยกว่าอย่างมาก

วิธีการ

  1. การสร้าง Patch Embedding และอินพุต: เมื่อกำหนดขนาดแพตช์ ภาพจะถูกแบ่งออกเป็น แพตช์ แต่ละแพตช์ที่แบนแล้ว จะถูกแปลงเชิงเส้นด้วยเมทริกซ์ ไปสู่มิติ จากนั้นจะแทรกโทเค็นสำหรับการจำแนกประเภทที่เรียนรู้ได้ ไว้ข้างหน้าสุด และบวกด้วย position embeddings แบบ 1 มิติที่เรียนรู้ได้ :
  2. เลเยอร์ Transformer Encoder: ลำดับดังกล่าวจะส่งผ่านบล็อกที่เหมือนกันจำนวน บล็อก ซึ่งสลับระหว่าง Multihead Self-Attention (MSA) และบล็อก MLP โดยใช้ pre-LayerNorm (LN) และ residual connections:
  3. ตัวแทนข้อมูลและส่วนหัวจำแนกประเภท (Representation and Head): เวกเตอร์ตัวแทนของภาพจะได้มาจากเอาต์พุตโทเค็นแรก: MLP ขนาดเล็ก (ที่มีเลเยอร์ซ่อนหนึ่งชั้น) จะทำหน้าที่เป็น classification head ในระหว่างการพรีเทรน ซึ่งจะถูกแทนที่ด้วย linear projection ชั้นเดียว () เมื่อนำไป fine-tuning
  4. การ Fine-Tuning ด้วยความละเอียดภาพที่สูงขึ้น: เมื่อทำการ fine-tuning ที่ความละเอียดภาพสูงขึ้น (เช่น หรือ ) ขนาดแพตช์ จะคงที่ ส่งผลให้ความยาวลำดับ เพิ่มขึ้น ตัว position embeddings แบบ 1 มิติที่พรีเทรนมาจะถูกปรับขนาดผ่านการทำ 2D bicubic interpolation ตามตำแหน่งกริดเชิงพื้นที่ดั้งเดิม

ผลการทดลอง

  • การเปรียบเทียบกับ SOTA:
    • ViT-H/14 ที่พรีเทรนบน JFT-300M ทำความแม่นยำได้ 88.55% บน ImageNet, 90.72% บน ImageNet ReaL, 94.55% บน CIFAR-100 และ 77.63% บนชุดทดสอบ VTAB 19 งาน โดยใช้เวลา 2.5k TPUv3-core-days
    • ViT-L/16 ที่พรีเทรนบน JFT-300M ทำได้ 87.76% บน ImageNet โดยใช้เพียง 0.68k TPUv3-core-days ซึ่งเอาชนะ BiT-L (ResNet152x4, 87.54%, 9.9k TPUv3-core-days) และใกล้เคียงกับ Noisy Student EfficientNet-L2 (88.4/88.5%, 12.3k TPUv3-core-days)
    • การพรีเทรนบนชุดข้อมูลสาธารณะ: ViT-L/16 ที่พรีเทรนบน ImageNet-21k ทำได้ 85.30% บน ImageNet
  • ความคุ้มค่าระหว่างพลังการคำนวณและประสิทธิภาพ: จากการทดลองปรับสเกลบน JFT-300M โมเดล ViT แบบบริสุทธิ์ครองตำแหน่งเหนือกว่า ResNets บน Pareto frontier โดยใช้การคำนวณน้อยกว่า ถึง เพื่อให้ได้ความแม่นยำที่เท่ากัน
  • การแสดงแทนข้อมูลภายใน (Internal Representations): เลเยอร์ล่างๆ ประกอบด้วย attention heads ที่ให้ความสนใจครอบคลุมทั่วทั้งภาพควบคู่ไปกับ heads ที่มีระยะ attention แคบเฉพาะจุด โดยทั่วไปแล้วระยะของ attention จะเพิ่มขึ้นตามความลึกของเลเยอร์

ข้อจำกัดและคำถามปลายเปิด

  • ความต้องการข้อมูลสูง (Data Hunger): ViT มีความสามารถในการสรุปข้อมูล (generalization) ต่ำบนชุดข้อมูลขนาดเล็ก หากไม่มีข้อมูลพรีเทรนจำนวนมหาศาล (ImageNet-21k หรือ JFT-300M) หรือการใช้ regularization อย่างเข้มข้น
  • ช่องว่างของการเรียนรู้แบบ Self-Supervised: การทดลองเบื้องต้นด้วยการทำนายแพตช์ที่ถูกมาสก์ทำได้ 79.9% บน ImageNet (ViT-B/16) ซึ่งยังมีช่องว่างประสิทธิภาพตามหลังแบบ supervised pre-training อยู่ 4%
  • การนำไปใช้กับงาน Dense Prediction: งานวิจัยช่วงแรกนี้เน้นไปที่การจำแนกประเภทภาพเท่านั้น การปรับใช้ patch transformer แบบบริสุทธิ์สำหรับงานเชิงพื้นที่ความละเอียดสูง เช่น object detection และ semantic segmentation ยังคงเป็นความท้าทายที่ต้องศึกษาวิจัยต่อไป

คำศัพท์สำคัญ

Vision Transformer (ViT)
สถาปัตยกรรม Transformer แบบบริสุทธิ์ที่นำมาประยุกต์ใช้กับลำดับของแพตช์ภาพที่ไม่ทับซ้อนกันโดยตรงสำหรับงานวิทัศน์ โดยไม่มีการสกัดคุณลักษณะด้วยคอนโวลูชัน
Patch Embeddings
การแทนข้อมูลขนาด มิติที่ได้จากการฉายเชิงเส้น (linear projection) ของแพตช์พิกเซลขนาด ที่แบนแล้วเข้าไปยัง latent space ของโมเดล
Classification Token ([class])
โทเค็นที่เรียนรู้ได้ซึ่งถูกแทรกไว้หน้าลำดับแพตช์ โดยสถานะเอาต์พุตของมันหลังจากผ่านเลเยอร์สุดท้ายของ Transformer จะทำหน้าที่เป็นตัวแทนของภาพรวมทั้งหมด
Inductive Bias
สมมติฐานที่ถูกฝังไว้ล่วงหน้าในโครงสร้างสถาปัตยกรรม เช่น ใน CNNs จะมี spatial locality และ translation equivariance ซึ่งสิ่งเหล่านี้แทบไม่มีอยู่ใน ViT
Position Embeddings
เวกเตอร์ 1 มิติที่เรียนรู้ได้ซึ่งถูกนำไปบวกเข้ากับ patch embeddings เพื่อรักษาข้อมูลลำดับและตำแหน่งเชิงพื้นที่ภายในลำดับข้อมูล
Attention Distance
ระยะห่างเชิงพื้นที่เฉลี่ยในภาพที่ attention head ใช้ในการผสานรวมข้อมูล มีแนวคิดคล้ายคลึงกับขนาดของ receptive field ใน CNNs
Hybrid Architecture
โมเดลที่นำ patch embedding projection ไปประยุกต์ใช้กับ feature maps ที่สกัดมาจากโครงข่ายคอนโวลูชันส่วนต้น แทนที่จะใช้จากพิกเซลภาพดิบโดยตรง
Visual Task Adaptation Benchmark (VTAB)
ชุดเบঞ্চมาร์กที่ประกอบด้วย 19 งานทางด้านวิทัศน์ที่หลากหลาย แบ่งออกเป็นกลุ่ม Natural, Specialized, และ Structured โดยประเมินผลโดยใช้ตัวอย่าง 1,000 ตัวอย่างต่องาน

คำถามที่พบบ่อย

ทำไม ViT ถึงทำผลงานได้แย่กว่า ResNet บนชุดข้อมูลขนาดเล็กอย่าง ImageNet-1k?

Transformer ขาด inductive biases แบบคอนโวลูชัน เช่น locality และ translation equivariance บนชุดข้อมูลขนาดเล็ก ViT จึงมีแนวโน้มที่จะ overfit ได้ง่าย เพราะต้องเรียนรู้ความสัมพันธ์เชิงพื้นที่ทั้งหมดขึ้นมาใหม่ตั้งแต่ต้น ขณะที่ inductive biases ที่ฝังอยู่ใน ResNet ช่วยให้โมเดลมี sample efficiency ที่ดีกว่าเมื่อมีข้อมูลจำกัด

ViT จัดการกับภาพที่มีความละเอียดต่างกันหรือสูงขึ้นในขั้นตอน fine-tuning อย่างไร?

ViT จะคงขนาดของแพตช์ไว้เท่าเดิม ซึ่งทำให้ความยาวรวมของลำดับเพิ่มขึ้น ตัว 1D position embeddings ที่พรีเทรนไว้จะถูกนำมาจับคู่กลับเข้ากับกริด 2 มิติเดิม และทำการประมาณค่าตามกริดใหม่โดยใช้ 2D bicubic interpolation

การใช้ Position Embeddings ที่คำนึงถึงโครงสร้าง 2 มิติ ช่วยเพิ่มประสิทธิภาพของ ViT เหนือกว่าแบบ 1 มิติทั่วไปหรือไม่?

ไม่ช่วย ผู้เขียนพบว่าการใช้พิกัด 2D embeddings หรือ relative position embeddings ให้ประสิทธิภาพแทบไม่ต่างจากการใช้ 1D position embeddings แบบเรียนรู้ได้มาตรฐาน เนื่องจากโมเดลสามารถเรียนรู้โครงสร้างโทโพโลยีแถว/คอลัมน์แบบ 2 มิติได้ด้วยตัวเองอย่างง่ายดาย

ความแตกต่างระหว่าง ViT และสถาปัตยกรรมแบบ Hybrid คืออะไร?

ViT แบบบริสุทธิ์จะตัดแบ่งภาพอินพุตดิบออกเป็นแพตช์พิกเซลขนาด โดยตรงแล้วทำ linear projection ในขณะที่โมเดลแบบไฮบริดจะส่งภาพผ่าน ResNet ส่วนต้นก่อน แล้วจึงสกัดโทเค็นของแพตช์จาก feature map ระดับกลางที่ได้ออกมา

คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด

อ่านพร้อมคำแปลและ AI