در این بخش می خوانید:
- Stable Diffusion چیست؟
- چرا Stable Diffusion مهم است؟
- Stable Diffusion چگونه کار می کند؟
- Stable Diffusion از چه معماری استفاده می کند؟
- کاربرد Stable Diffusion
Stable Diffusion چیست؟
Stable Diffusion یک ابزار هوش مصنوعی مولد (generative AI) است که تصاویر فوتورئالیستی منحصر به فردی را از پیام های متنی و تصویری تولید می کند. در ابتدا در سال 2022 راه اندازی شد. علاوه بر تصاویر، می توانید از این مدل برای ایجاد فیلم ها و انیمیشن ها نیز استفاده کنید. این مدل مبتنی بر فناوری diffusion است و از فضای پنهان استفاده می کند. این به میزان قابل توجهی نیازمندی های پردازشی را کاهش می دهد و می توانید مدل را روی دسکتاپ یا لپ تاپ های مجهز به GPU اجرا کنید. Stable Diffusion را میتوان برای برآورده کردن نیازهای خاص شما با حداقل پنج تصویر از طریق یادگیری انتقال بهخوبی تنظیم کرد.
چرا Stable Diffusion مهم است؟
Stable Diffusion مهم است زیرا دسترس پذیر و برای استفاده آسان است. می تواند بر روی کارت گرافیک های consumer-grade اجرا شود. برای اولین بار، هر کسی می تواند مدل را دانلود کرده و تصاویر خود را تولید کند. شما همچنین روی فراپارامترهای کلیدی، مانند تعداد مراحل حذف نویز و میزان نویز اعمال شده، کنترل دارید.
Stable Diffusion کاربرپسند است و برای ایجاد تصاویر نیازی به اطلاعات اضافی ندارید. دارای یک جامعه فعال است، بنابراین Stable Diffusion دارای مستندات و آموزش های کامل است. انتشار نرم افزار تحت مجوز Creative ML OpenRAIL-M است که به شما امکان استفاده، تغییر و توزیع مجدد نرم افزارهای اصلاح شده را می دهد. اگر نرم افزار مشتق را منتشر می کنید، باید آن را تحت همان مجوز منتشر کنید و یک کپی از مجوز اصلی Stable Diffusion را اضافه کنید.
Stable Diffusion چگونه کار می کند؟
به عنوان یک مدل دیفیوژن، Stable Diffusion با بسیاری از مدل های تولید تصویر دیگر متفاوت است. در اصل، مدل های diffusion از نویز گاوسی برای رمزگذاری تصویر استفاده میکنند. سپس، آنها از یک پیش بینی کننده نویز همراه با یک فرآیند دیفیوژن معکوس برای بازسازی تصویر استفاده می کنند.
جدا از تفاوت های فنی یک مدل دیفیوژن، Stable Diffusion از این نظر منحصر به فرد است که از فضای پیکسلی تصویر استفاده نمی کند. در عوض، از یک فضای پنهان با کیفیت کاهش یافته استفاده می کند.
دلیل این امر این است که یک تصویر رنگی با وضوح 512x512 دارای 786432 مقدار ممکن است. برای مقایسه، Stable Diffusion از تصویر فشرده ای استفاده می کند که 48 برابر کوچک تر در 16384 مقدار است. این به میزان قابل توجهی نیازهای پردازش را کاهش می دهد. و به همین دلیل است که می توانید از Stable Diffusion روی دسکتاپ با پردازنده گرافیکی NVIDIA با 8 گیگابایت رم استفاده کنید. فضای پنهان کوچکتر کار می کند زیرا تصاویر طبیعی تصادفی نیستند. Stable Diffusion از فایل های رمزگذار خودکار متغیر (VAE) در رمزگشا استفاده می کند تا جزئیات ظریفی مانند چشم را نقاشی کند.
Stable Diffusion از چه معماری استفاده می کند؟
اجزای اصلی معماری Stable Diffusion شامل Variational autoencoder، فوروارد دیفیوژن و دیفیوژن معکوس، Noise predictor (U-Net) و Text conditioning است.
Variational autoencoder
Variational autoencoder از یک encoder و decoder جداگانه تشکیل شده است. encoder تصویر 512x512 پیکسل را به یک مدل کوچکتر 64x64 در فضای پنهان فشرده می کند که دستکاری آن آسان تر است. decoder مدل را از فضای پنهان به یک تصویر با اندازه کامل 512x512 پیکسل بازیابی می کند.
فوروارد دیفیوژن
فوروارد دیفیوژن به تدریج نویز گاوسی را به تصویر اضافه می کند تا زمانی که تنها چیزی که باقی می ماند نویز تصادفی باشد. نمی توان تشخیص داد که تصویر از تصویر نویز نهایی چیست. در طول آموزش، تمام تصاویر این فرآیند را طی می کنند. انتشار رو به جلو بیشتر مورد استفاده قرار نمی گیرد مگر در هنگام انجام تبدیل تصویر به تصویر.
دیفیوژن معکوس
این فرآیند اساساً یک فرآیند پارامتری است که به طور مکرر انتشار رو به جلو را خنثی می کند. به عنوان مثال، شما می توانید مدل را تنها با دو تصویر، مانند یک گربه و یک سگ، آموزش دهید. اگر این کار را انجام می دادید، روند معکوس به سمت گربه یا سگ و هیچ چیز در این بین سوق پیدا می کرد. در عمل، آموزش مدل شامل میلیاردها تصویر است و از پرامپت ها برای ایجاد تصاویر منحصر به فرد استفاده می کند.
Noise predictor (U-Net)
Noise predictor (U-Net) کلید حذف نویز تصاویر است. Stable Diffusion از یک مدل U-Net برای انجام این کار استفاده می کند. مدل های U-Net شبکه های عصبی کانولوشنی هستند که در اصل برای تقسیم بندی تصویر در زیست پزشکی توسعه یافته اند. به طور خاص، Stable Diffusion از مدل شبکه عصبی باقیمانده (ResNet) توسعه یافته برای بینایی کامپیوتر استفاده می کند.
Noise predictor (U-Net) میزان نویز را در فضای پنهان تخمین زده و آن را از تصویر کم می کند. این فرآیند را چندین بار تکرار می کند و نویز را طبق مراحل مشخص شده توسط کاربر کاهش می دهد. پیش بینی کننده نویز به پرامپت های شرطی که به تعیین تصویر نهایی کمک می کند حساس است.
Text conditioning
رایج ترین شکل شرطی سازی، پرامپت های متنی است. یک توکنایزر CLIP هر کلمه را در یک پیام متنی تجزیه و تحلیل می کند و این داده ها را در یک بردار 768 مقدار جاسازی می کند. شما می توانید تا 75 توکن در یک پرامپت استفاده کنید. Stable Diffusion این پرامپت ها را از encoder متن به پ Noise predictor U-Net با استفاده از یک ترانسفورماتور متنی تغذیه می کند. با تنظیم seed روی یک مولد اعداد تصادفی، می توانید تصاویر مختلفی را در فضای پنهان ایجاد کنید.
کاربرد Stable Diffusion
انتشار پایدار نشان دهنده یک پیشرفت قابل توجه در تولید مدل متن به تصویر است. این به طور گسترده در دسترس است و نسبت به بسیاری از مدل های تبدیل متن به تصویر به قدرت پردازشی بسیار کمتری نیاز دارد. از قابلیت های آن می توان به تبدیل متن به تصویر، تصویر به تصویر، آثار هنری گرافیکی، ویرایش تصویر و ایجاد ویدئو اشاره کرد.
تولید متن به تصویر
این رایج ترین روشی است که مردم از Stable Diffusion استفاده می کنند. Stable Diffusion یک تصویر را با استفاده از یک پرامپت متنی تولید می کند. شما می توانید با تنظیم عدد seed برای ژنراتور تصادفی یا تغییر برنامه حذف نویز برای افکت های مختلف، تصاویر مختلفی ایجاد کنید.
تولید تصویر به تصویر
با استفاده از یک تصویر ورودی و پرامپت متنی، می توانید تصاویر را بر اساس یک تصویر ورودی ایجاد کنید. یک مورد معمولی استفاده از یک طرح و یک پرامپت مناسب است.
ایجاد گرافیک، آثار هنری و لوگو
با استفاده از مجموعه ای از پرامپت ها، می توان آثار هنری، گرافیک ها و لوگوها را در سبک های مختلف ایجاد کرد. به طور طبیعی، نمی توان خروجی را از قبل تعیین کرد، اگرچه می توانید با استفاده از یک طرح، ایجاد لوگو را راهنمایی کنید.
ویرایش و روتوش تصویر
می توانید از Stable Diffusion برای ویرایش و روتوش عکس ها استفاده کنید. با استفاده از ویرایشگر هوش مصنوعی، یک تصویر را بارگیری کنید و از یک براش پاک کن برای پوشاندن ناحیه ای که می خواهید ویرایش کنید استفاده کنید. سپس، با ایجاد یک پرامپت برای تعریف آنچه میخواهید به دست آورید، تصویر را ویرایش یا نقاشی کنید. به عنوان مثال، می توانید عکس های قدیمی را ادیت کنید، اشیا را از عکس ها حذف کنید، ویژگی های موضوع را تغییر دهید و عناصر جدیدی به تصویر اضافه کنید.
ایجاد ویدئو
با استفاده از ویژگی هایی مانند Deforum از GitHub، این امکان برای شما وجود دارد که با Stable Diffusion کلیپ های ویدیویی و انیمیشن های کوتاه بسازید. کاربرد دیگر اضافه کردن سبک های مختلف به یک فیلم است. همچنین این امکان برای شما وجود دارد که با ایجاد حس حرکت، مانند آب جاری، عکسها را متحرک کنید.