علیرضا مدنی
علیرضا مدنی
خواندن ۳ دقیقه·۱۰ ماه پیش

تولید تصویر در مدلهای Stable Diffusion (بخش دوم)

بخش نخست این مقاله را می‌توانید در این پست مطالعه نمائید.

نحوه عملکرد diffusion

ایده اصلی تولید تصاویر با مدل های انتشار بر این واقعیت استوار است که ما مدل های بینایی کامپیوتری قدرتمندی داریم. با توجه به مجموعه داده به اندازه کافی بزرگ، این مدل ها می توانند عملیات پیچیده را یاد بگیرند. مدل‌های diffusion با قاب‌بندی مسئله به شکل زیر به تولید تصویر نزدیک می‌شوند:

بگوییم یک تصویر داریم، مقداری نویز تولید می کنیم و آن را به تصویر اضافه می کنیم.

اکنون می توان این را به عنوان یک نمونه آموزشی در نظر گرفت. ما می‌توانیم از همین فرمول برای ایجاد نمونه‌های آموزشی زیادی برای آموزش بخش مرکزی مدل تولید تصویر خود استفاده کنیم.

در این مثال اضافه کردن مقدار کم نویز (مقدار 0، بدون نویز) تا کل نویز (مقدار 4، نویز کل) نشان می‌دهد، ما به راحتی می‌توانیم میزان نویز اضافه شده به تصویر را کنترل کنیم، بنابراین می‌توانیم آن را طی ده‌ها مرحله پخش کنیم و به این ترتیب برای هر تصویر در مجموعه داده‌ی آموزشی، ده‌ها نمونه‌ی آموزشی ایجاد کنیم.

با استفاده از این مجموعه داده، می‌توانیم «پیش‌بینی‌کننده‌ی نویز» را آموزش دهیم و در نهایت به یک پیش‌بینی‌کننده‌ی نویز قدرتمندی برسیم که در صورت اجرا با پیکربندی خاص، تصاویر واقعی را تولید کند. اگر با یادگیری ماشین آشنایی داشته باشید، مرحله‌ی آموزش برایتان آشنا به نظر خواهد رسید

اکنون ببینیم که چگونه این مدل می‌تواند تصاویر را تولید کند.

رسم تصاویر با حذف نویز

پیش بینی کننده نویز آموزش دیده می تواند یک تصویر نویزدار و تعداد مرحله حذف نویز بگیرد و قادر به پیش بینی بخش نویز آن است.

نویز نمونه‌برداری شده به گونه‌ای پیش‌بینی می‌شود که اگر آن را از تصویر کم کنیم، تصویری به دست می‌آید که به تصاویر مورد استفاده در آموزش مدل نزدیک‌تر باشد. (البته نه دقیقا همان تصاویر، بلکه توزیع آنها. منظورمان دنیای چینش پیکسل‌هاست که در آن آسمان معمولا آبی و بالای زمین است، افراد دو چشم دارند، گربه‌ها ظاهر خاصی دارند – گوش‌های تیز و معمولا، بی‌تفاوت به نظر می‌رسند.)

اگر مجموعه‌ی داده‌ی آموزشی شامل تصاویر دلنشین و زیبا باشد (مانند مجموعه‌ی LAION Aesthetics که برای آموزش «Stable Diffusion» استفاده شد)، تصویری که در نهایت ایجاد می‌شود نیز به احتمال زیاد دلنشین و زیبا خواهد بود. در مقابل، اگر مدل را با تصاویر لوگو آموزش دهیم، به یک مدل تولیدکننده‌ی لوگو تبدیل می‌شود.

با این توضیحات، توصیف ما از تولید تصویر با استفاده از مدل‌های انتشار که بیشتر بر اساس «مدل‌های احتمالی انتشار حذف نویز» بود، به پایان می‌رسد. حالا که درک اولیه‌ای از Diffusion دارید، با اجزای اصلی نه تنها Stable Diffusion، بلکه Dall-E 2 و Imagen گوگل نیز آشنا شده‌اید.

لازم به ذکر است که فرآیند انتشار توضیح داده شده ، تصاویر را بدون استفاده از هیچ داده‌ی متنی ایجاد می‌کند. بنابراین، اگر این مدل را پیاده‌سازی کنیم، تصاویر فوق‌العاده‌ای تولید خواهد کرد، اما هیچ راهی برای کنترل اینکه تصویر یک هرم، گربه یا هر چیز دیگری است، نخواهیم داشت. در پست بعدی، نحوه‌ی ادغام متن در این فرآیند برای کنترل نوع تصویری که مدل تولید می‌کند، بررسی خواهیم کرد.

stable diffusionیادگیری ماشینپردازش تصویرهوش مصنوعیمیدجورنی
شاید از این پست‌ها خوشتان بیاید