blip-2: چگونه ترانسفورماتورها یاد می گیرند که تصاویر را ببینند و درک کنند


نویسنده (ها): آرناوبه

در ابتدا منتشر شده در به سمت هوش مصنوعیبشر

این یک قدم به قدم از نحوه حرکت یک تصویر از طریق BLIP-2 است: از پیکسل های خام → ترانسفورماتور بینایی منجمد (VIT) → Q-Former → بازنمایی های پرس و جو نهایی که در یک مدل زبان تغذیه می شوند. شما می فهمید که “نمایش داده ها” چیست ، از کجا آمده اند و چگونه آنها تکامل می یابند.

مقدمه

اگر ترانسفورماتور را می شناسید اما همیشه تعجب می کردید چگونه مدل های بینایی و زبانی مانند Blip-2 در واقع وصل می شوند، این راهنما برای شما مناسب است.

ما دقیقاً آنچه اتفاق می افتد را ردیابی کنید ، Tensor توسط Tensor ، هنگامی که یک تصویر 3 224 224 224 از طریق BLIP-2 حرکت می کند

خواهید دید هر شکل ، هر مرحله: چگونه تعبیه های پچ ساخته می شوند ، چگونه q-former “نمایش داده شد” و چگونه خلاصه نهایی به آن وصل می شود LLMبشر

فهرست مطالب

  1. BLIP-2 در تلاش است چه کاری انجام دهد؟
  2. Vision Transformer (VIT): شکستن تصویر
  3. Q-Former: جایی که “نمایش داده شد” با دیدگاه ملاقات می کند
  4. چگونه Former در واقع کار می کند (با ابعاد)
  5. از خروجی Q-Former به LLM: تبدیل دید به زبان
  6. قرار دادن همه اینها: یک مثال پایان به پایان
  7. نتیجه گیری: چرا این طرح قدرتمند است؟

1. BLIP-2 در تلاش است؟

پل های blip-2 تصاویر و زبان توسط:

  • گرفتن یک تصویر → تبدیل آن به مشتی از تعبیه های جمع و جور و غنی از اطلاعات → تغذیه مستقیم به LLM برای تولید متن یا پاسخ به سؤالات.

اما تصاویر هستند عظیم ، بنابراین blip-2:

  • از a استفاده می کند ترانسفورماتور بینایی منجمد (VIT) برای خلاصه کردن تصویر به عنوان 196 تعبیه پچ
  • سپس یک اجرا می کند ترانسفورماتور قابل آموزش کوچک (Q-Former) در بالا ، که آن 196 بردار را به پایین تقسیم می کند 32 “پرس و جو” ویژه

این 32 نمایش داده شده همان چیزی است که از مدل زبان تغذیه می شوند.

blip-2: چگونه ترانسفورماتورها یاد می گیرند که تصاویر را ببینند و درک کنندblip-2: چگونه ترانسفورماتورها یاد می گیرند که تصاویر را ببینند و درک کنند
شکل: نمای کلی Blip-2-رمزگذار تصویر VIT یخ زده ، Q-Former برای استخراج پرس و جو و یک مدل زبان یخ زده برای تولید متن.
منبع: کاغذ

2. Vision Transformer (VIT): تجزیه تصویر

2.1 تقسیم تصویر به تکه ها

  • تصویر ورودی: 224 × 224 × 3 (RGB)
  • اندازه پچ: 16 × 16
  • تعداد تکه ها: 14 × 14 = 196
  • هر پچ است مسطح به یک بردار 3 بعدی 16 × 16 × 16

2.2 تعبیه پچ + رمزگذاری موقعیتی

  • هر پچ: از طریق پیش بینی خطی قابل یادگیری (768 768)
  • تعبیه موقعیتی قابل یادگیری اضافه شده (بنابراین مدل می داند که پچ از کجا آمده است)
  • نتیجه: ماتریس 768 × 196 (ویژگی های پچ)

2.3 رمزگذار VIT

  • پشته 12 رمزگذار ترانسفورماتور لایه ها (خود توجه + MLP)
  • همه 196 نشانه پچ در یکدیگر شرکت می کنند
  • خروجی: 768 × 768 تانسور ، هر ردیف تعبیه شده در سطح جهانی

در BLIP-2 VIT کاملاً یخ زده است. هیچ شیب، بدون به روزرسانی این فقط یک استخراج کننده ویژگی ثابت است ، بنابراین چگونه می توانیم چیزی یاد بگیریم؟ صبر کنید و تماشا کنید.

#Image: (یک تصویر شبکه ای که نشان دهنده پچ شدن تصویر است ؛ در زیر ، یک ردیف از 196 بردار پچ به صف کشیده شده است ؛ یک فلش به یک پشته با عنوان “12 لایه ترانسفورماتور” ؛ خروجی به عنوان 196 بردار)

3. q-former: جایی که “نمایش داده شد” با دید روبرو می شود

3.1 “نمایش داده شد” چیست؟

آن را مانند این تصویر کنید:

  • پس از خروجی VIT منجمد: یک ماتریس شکل [196 x 768] – 196 تکه ، هر کدام با 768 ویژگی.
  • این بردارهای پچ 196 در کنار هم تمام اطلاعات تصویر ویتامان را در اختیار دارند.
  • اما: تغذیه 196 نشانه به یک مدل زبان کند ، گران است و نه آنچه LLM انتظار دارد.

وارد Q-Former شوید.

  • Q-Former به طور مستقیم روی 196 نشانه پچ کار نمی کند.
  • در عوض ، از آن شروع می شود 32 بردار قابل آموزش، هر یک از اندازه 768.
    س (0): [32 x 768] -32 نمایش داده شده ، هر یک بردار 768 بعدی.
  • این 32 بردار خوانده می شوند “نمایش داده شد” (فقط یک نام – آنها پارامترها هستند ، نه خروجی از VIT).
  • در شروع آموزش ، آنها تصادفی هستند ، یا گاهی اوقات از Bert یا مشابه شروع می شوند.
  • کل هدف Q-Former:
    بگذارید این 32 نمایش داده شده بارها و بارها از ویژگی های 196 پچ بپرسید و یاد بگیرید که همه جنبه های مهم تصویر را فقط در 32 شکاف خلاصه کنید.

مقایسه:
تصور کنید 196 دانش آموز (تکه های VIT) همه چیز را در مورد تصویر می دانند. به جای خواندن 196 مقاله ، شما 32 مصاحبه کننده (نمایش داده شد) را برای گفتگو با کل گروه می فرستید و هر یک خلاصه می نویسند.

Q-Former a است مینی ترجمه کننده تنها کار این است که این 32 مصاحبه کننده سؤال بهتر و متمرکز تر را با گذشت زمان بپرسند.

3.2 چرا مستقیماً 196 تکه را تغذیه نمی کنیم؟

  • خاطره: 196 توکن × 768 ابعاد = 150،528 مقدار در هر تصویر.
  • کارایی: به جای آموزش یک ویترین کل برای تولید 196 تکه معنی دار ، می توانیم یک پارامتر کوچک Q-Former را آموزش دهیم که “یاد بگیرد” چگونه می توان اطلاعات ارزشمند را از این 192 تکه استخراج کرد.
  • تخصص: هر پرس و جو می تواند یاد بگیرد که روی “جنبه” دیگری از تصاویر تمرکز کند (شی ، رنگ ، موضوع ، …)

کوتاه : Q-Former هم یک کمپرسور و هم یک یادگیرنده استبشر

4. چگونه Former در واقع کار می کند

اکنون که می دانید Q-Former خود یک ترانسفورماتور است ، بیایید دقیقاً تجزیه کنیم آنچه در هر لایه اتفاق می افتد، قدم به قدم.

ورودی به هر لایه Q-Former

  • س (نمایش داده شد ، لایه فعلی): شکل [32 x 768] -32 بردار پرس و جو ، هر 768 بعدی.
  • V (خروجی VIT ، همیشه یخ زده): شکل [196 x 768] – 196 تعبیه شده از ترانسفورماتور بینایی

4.1 خودآگاهی (در نمایش داده شد)

هر یک از 32 نمایش داده شده “با همه” صحبت می کنند.
هدف: نمایش داده ها هماهنگی ، به اشتراک گذاری اطلاعات و می تواند تخصص داشته باشد تا هیچ دو نمایش داده شود.

چگونه کار می کند:

  1. عادی سازی لایه:
    از Q استفاده کنید ، Amply Layernorm → نتیجه هنوز است [32 x 768]
  2. توجه خود چند سر:
    Q پیش بینی می شود که به نمایش داده شد ، کلیدها و مقادیر برای هر سر (12 سر ، هر 64 دیم)
    توجه بین همه جفت های نمایش داده شد (32 32 32 ماتریس توجه) خروجی است [32 x 768]
  3. اتصال باقیمانده:
    این خروجی را به Q اصلی (افزودنی Elementwise) اضافه کنید ، بنابراین شکل باقی می ماند [32 x 768]

مقایسه:
32 مصاحبه کننده را در یک اتاق تصور کنید ، همه یادداشت ها را قبل از بیرون رفتن برای پرسیدن سؤال در مورد تصویر تصور کنید. هر یک از “موضوع مصاحبه” خود را بر اساس آنچه دیگران روی آن تمرکز می کنند ، ترفند می کند.

4.2 توجه متقابل (نمایش داده شد به خروجی های VIT)

اکنون ، هر وکتور پرس و جو به تمام 196 ویژگی پچ از VIT (“اطلاعات واقعی” از تصویر) نگاه می کند.
هدف: این جایی است که نمایش داده ها اطلاعات مربوطه خود را از تصویر استخراج می کنند.

چگونه کار می کند:

  1. Layernorm:
    دوباره نمایش داده شد (شکل [32 x 768]
  2. توجه متقابل:
    هر یک از 32 نمایش داده شده (ردیف) در تمام 196 خروجی VIT (تکه) شرکت می کند
    این مانند “خلاصه وزنی” از همه تکه ها برای هر پرس و جو است
    خروجی: [32 x 768]
  3. اتصال باقیمانده:
    این خروجی را به نمایش داده شد (هنوز هم [32 x 768])

مقایسه:
اکنون هر مصاحبه کننده به 196 دانش آموز (تکه) می رود و می گوید: “به من بگویید که در مورد منطقه تمرکز من چه می دانید.” مصاحبه کننده پاسخ سفارشی می کند.

4.3 خوراک به جلو + باقیمانده

سپس هر پرس و جو به صورت جداگانه توسط یک شبکه عصبی کوچک (MLP) پردازش می شود:

  • دو لایه خطی:
    لایه اول به 3072 گسترش می یابد ، فعال سازی GELU را اعمال می کند ، سپس پروژه ها را به 768 باز می گرداند.
  • Layernorm و باقیمانده:
    نتیجه هنوز است [32 x 768]

موارد فوق کار فقط یک لایه است ، این برای 6 لایه تکرار می شود.

شکل:
BLIP-2 Q-Former: هر پرس و جو در تمام تعبیه های واشنگتن یخ زده شرکت می کند ، با سایر نمایش داده ها در تعامل است و از یک لایه خوراک به جلو عبور می کند-برای تقطیر ویژگی های تصویر برای کارهای زبان.
منبع: کاغذ

5. از خروجی Q-Former تا LLM: تبدیل دید به زبان

5.1 چگونه LLM از نمایش داده شد؟

قالب ورودی:

  • در 32 خروجی پرس و جو دقیقاً مانند 32 توکن اول در یک دنباله متن رفتار می شوند.
  • بوها [DEC] نشانه در مرحله بعدی اضافه می شود (برای جدا کردن نشانه های بصری و نشانه های متن).
  • سپس بیا نشانه های متن – این می تواند یک سؤال سریع باشد.

بنابراین ورودی کامل برای LLM به این شکل است:
[visual tokens (32)] با [DEC token (1)] با [text tokens (M)]

LLM فقط یک دنباله طولانی را می بیند ، که در آن هر “توکن” یک بردار 768 بعدی است.

5.2 چگونه توجه کار می کند: ماسک علی

  • در نشانه های بصری (آن 32 نمایشگاه تصویر) فقط می توانند یکدیگر را ببینند. آنها به جلو نگاه نمی کنند.
  • در نشانه های متن می تواند به همه چیز نگاه کند – هم خلاصه بصری و هم کلمات قبلی در سریع.
  • در هر مرحله که متن را تولید می کند ، LLM مجاز به استفاده از زمینه تصویر (32 نمایش داده شده) است. [DEC] نشانه ، و هر کلمه ای که تاکنون تولید شده است.
blip-2 q-former: ماسک علی
منبع: کاغذ

6. قرار دادن همه اینها: یک مثال پایان به پایان

7. نتیجه گیری: چرا این طرح قدرتمند است؟

  • VIT منجمد: ذخیره حافظه ، نه شیب از طریق رمزگذار تصویر غول پیکر یا ترانسفورماتور.
  • تنگنای کوچک: فقط قطار Q-Former و 32 نمایش داده شده ، نه VIT.
  • برای LLMS کارآمد: 32 پیشوند توکن قابل کنترل است. با نحوه انتظار LLMS متن مطابقت دارد.
  • تطبیق پذیری: می توان برای زیرنویس استفاده کرد (اگر هیچ متنی به عنوان ورودی ارائه نشده است) ، VQA ، گفتگوی چند چرخش (فقط Z را در جلو نگه دارید ، متن را ضمیمه کنید)

اگر این به شما کمک کرد تا blip – 2 را بهتر بشناسید ، لطفاً چند چاشنی یا یک نظر بگذارید. این به دیگران کمک می کند تا آن را کشف کنند ، و واقعاً به من انگیزه می دهد که نوشتن را ادامه دهم.

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/computer-vision/blip-2-how-transformers-learn-to-see-and-understand-images