مقدمه
میدونیم استفاده از هوش مصنوعی تولید تصویر میتونه کارمون رو سریعتر و راحتتر کنه ولی خیلی وقتها نمیتونیم به نتیجه دلخواهمون برسیم و بعد از کلی سر و کله زدن با هوش مصنوعی، نتیجه نهایی اصلا مثل تصاویر نمونهای که میبینیم نمیشه. چی باعث میشه یک سری از کاربرای هوش مصنوعی بتونن از قدرتش استفاده کنن و تصاویر زیبایی مثل این ها تولید کنند؟
راز تولید کردن تصاویر بی نظیر با هوش مصنوعی در نوشتن پرامپت درست و اصولیه.
با من در این مقاله همراه باشید تا با هم مهمترین نکتههای پرامپت نویسی رو یاد بگیریم و اشتباهات رایج پرامپت نویسی رو بررسی کنیم. هر آنچه که برای نوشتن بهترین پرامپت ها نیاز دارید در این مقاله هست.
پرامپت چیست؟
پرامپت هوش مصنوعی، متنی هست که شما مینویسید و به هوش مصنوعی میگید که خواستتون چیست و اون باید براتون باید چیکار کنه.
- در مدل های متنی مثل ChatGPT: پرامپت شما میتونه شامل یک سری اطلاعات پیش زمینه و یک سوال باشه.
در مدل های تولید تصویر: پرامپت شما شرح تصویری هست که هوش مصنوعی باید براتون بسازه. مثل این پرامپت نمونه:
"تصویر یک زوج خوشحال که هر کدام یک چمدان در دست دارند و در فرودگاه راه میروند"
هوش مصنوعی چطور تصویر میسازه؟
هوش مصنوعی تولید تصویر، فرایند ساخت عکس رو از یک عکس برفکی (Random noise) شروع میکنه و مرحله به مرحله، سعی میکنه با حذف مقداری نویز (برفک) از تصویر، اون رو به تصویر نهایی نزدیکتر کنه. پرامپت شما در هر مرحله هوش مصنوعی رو راهنمایی میکنه که تصویر رو به چه سمتی ببره. و در نهایت تصویر نهایی به دست میاد که -به امید خدا- همون چیزیست که خواسته بودید.
نزدیک بودن تصویر نهایی به انتظارات ما و کیفیت اون، به دو عامل بستگی داره:
- قدرت هوش مصنوعی استفاده شده
- درست نوشتن پرامپت
چطور پرامپت خوبی بنویسیم؟
با توجه به نیاز و هدف ما یک پرامپت خوب میتونه از یک کلمه یا حتی ایموجی تا یک پاراگراف طولانی باشه.قالب مشخصی برای نوشتن پرامپت وجود نداره، اما یک سری اصول و نکات هست که دونستن و رعایت کردن اونها موقع نوشتن پرامپت بسیار مهم و تعیین کنندهست.
نکته اول: پرامپت شرح تصویر است
پرامپت شما باید یک شرح دقیق و عینی از تصویری که قصد دارید با هوش مصنوعی تولید کنید باشه، یعنی فرض کنید اون تصویر جلوی شماست و میخواید برای کسی که اون تصویر رو نمیبینه، جوری اون رو شرح بدید که دقیقترین حالت ممکن در ذهنش شکل بگیره.
مثلا این عکس رو ببینید و چند لحظه فکر کنید که چطور شرحاش میدید:
برای شرح دادن تصویر با کلمات، راجع به اجزای مختلفش صحبت میکنیم. احتمالا شما هم همین کارو کردید. یعنی چیزی شبیه به این گفتید: "این یک عکس سیاه و سفید یه گربس که تو یه اتاق تاریک نشسته و داره از پنجره که نور ازش میاد، بیرون رو نگاه میکنه."
اما اجزای یک تصویر چه چیزهایی هستن؟ ما راجع به چه ابعادی از تصویر باید توضیح بدیم؟
اجزای یک تصویر
- نوع تصویر یا مدیوم
این تصویر چطور به وجود اومده؟
- عکس، نقاشی، طراحی دیجیتال، رندر سه بعدی و… کلماتی هستند که برای مشخص کردن نوع تصویر یا مدیوم اون، استفاده میکنیم.
- سوژه
سوژه در هر تصویر میتونه یک یا چند انسان، حیوان یا هر شخصیت یا آبجکت دیگری باشه.
- سوژه چیزیست که تصویر برای نمایش اون خلق شده
- اتفاق
هر سوژه ای در تصویر هست، یا داره یک اتفاقی واسش میفته یا داره یک اتفاقی رو رقم میزنه.
- در حال راه رفتن، قرار گرفته روی میز، در حال خندیدن و امثالهم.
- ترکیب بندی یا کامپوزیشن
- هنگام مشخص کردن ترکیب بندی یک تصویر، باید ۲ چیز رو مشخص کنیم
- ما از کجا این تصویر رو میبینیم؟ از چه زاویه ای و چه فاصله ای؟
- هر بخش این تصویر در کجای قاب قرار داره؟
- محیط: تصویر کجا واقع شده؟ در یک جنگل، در یک فضای سورئال یا در یک کافه
- استایل یا سبک: در هر نوع تصویر سبک ها و استایل های مختلفی وجود داره. به طور مثال امپرسیونیسم، کوبیسم، رئالیسم و یا به سبک ون گوگ یا داوینچی. این سبک میتونه مربوط به یک آرتیست یا عکاس خاص، یا به طور کلی یک ژانر، استایل یا مکتب هنری باشه.
- نور و رنگ: رنگ ها در تصویر ما چگونه اند؟ سیاه و سفید، رنگ های پاستیلی، رنگ های خنثی و یا رنگ های روشن و تیره. نورپردازی تصویر چگونه است؟ رنگ طبیعی، کم نور و مودی، یا اسپات لایت؟
نکته بسیار مهم: راجع به هر کدوم از اجزای تصویر در پرامپتمون بنویسیم، هوش مصنوعی سعی میکنه چیزی که خواستیم رو رعایت کنه و هرکدوم از اجزا رو ننویسیم، خود به خود، شانسی تعیین میشه. پس برای نوشتن یک پرامپت خوب سعی کنید هرکدوم از این اجزا که براتون مهمه رو به خوبی و کامل، توضیح بدید.
نکته دوم: هر چیزی که میخواهید ببینید رو بنویسید
درک این نکته آزمون و خطای ما رو موقع کار با هوش مصنوعی کمتر میکنه.
فرض کنید من یک تصویر از محیط داخلی یک کافه خیلی زیبا و پر رونق میخوام. میتونم پرامپت رو به این صورت بنویسم:
"عکس حرفه ای از یک کافه در پاریس با نورپردازی گرم"
مدل عکس یک کافه رو میسازه ولی این اصلا چیزی که تو ذهن من بود نیست! این کافه چرا هیچ کس توش نیست؟ اما اگر صراحتا بنویسیم:
"عکس حرفه ای از یک کافه در پاریس که سه نفر در آن مشغول صحبت هستن، با نورپردازی گرم"
حالا کافمون مشتری هم داره. تصور ما این بود که خب یک کافه حداقل چند نفری داخلش هستند. ولی خیلی وقت ها هوش مصنوعی جزئیات رو طوری که ما تصور کردیم به تصویر نمیکشه.
بنابراین باید به این فکر کنیم که چه چیز هایی رو بنویسیم که هوش مصنوعی در تصویری که تولید میکنه در نظر بگیره. انتظار نداشته باشید هوش مصنوعی ذهن شما رو بخونه و تصویر رو اونطوری که فکر میکنید تولید کنه.
نکته سوم: استفاده از کلمه های دقیق و تشریح جزئیات به جای استفاده از کلمه های کلی و گنگ
هرچقدر توضیحات ما راجع به اجزای تصویر دقیق تر باشه و جای برداشت های متفاوت نذاره، تو رسیدن به تصویر دلخواهمون موفق تریم. استفاده کردن از کلمات جمع مثل چند، تعدادی و… زیادی نتیجه رو به شانس میسپاره، در مثال قبل، اگر در پرامپتمون به جای سه نفر، مینوشتیم چند نفر، انتظار داریم پنج-شش نفر رو در تصویر بگذاره، ولی هوش مصنوعی میاد تصویرو تا میتونه پر از آدم میکنه!
علت اینه که ما یک کلمه کلی و گنگ مثل "چند نفر" رو استفاده کردیم. این نکته فقط در مورد تعداد نیست. مثلا راجع به ابعاد و اندازه، به جای این که بگیم یک ساختمون بزرگ، میگیم یک آسمون خراش بیست و پنج طبقه. به جای ماشین قدیمی، میگیم یه ماشین کلاسیک مدل ۱۹۶۰.
نکته ۴. مشخص کردن استایل و کلمات کلیدی
این نکته باعث خاص و منحصر به فرد شدن تصاویر تولید شده با هوش مصنوعی شما میشه.
هوش مصنوعی توانایی اینو داره که عکس های واقع گرایانه، کارتونی، لوگو، نقاشی و طراحی و حتی تصاویری به سبک خاص هنرمندان مختلف و حتی ترکیب سبک های مختلف رو تولید کنه. پس یکی از نکات مهم پرامپت نویسی اینه که اگر استایل خاصی مدنظرتون هست، حتما اسم استایل و کلمات مرتبط باهاش رو بنویسید.
مثال هایی از استایل های هنری: سیاه قلم، مینیمالیست، امپرسیونیستی، نقاشی با آبرنگ، وکتور آرت، سینماتیک
یک سری کلمات کلیدی هم هستند که در داده هایی که هوش مصنوعی روی اونها تمرین داده شده معمولا مرتبط با تصاویر با کیفیت بوده. مثل:
- 4k
- 8k
- Masterpiece
- High quality,
- sharp
- detailed
- Ultra HD
و یک سری افکت ها مثل:
- Lens Flare: درخشش نور لنز، مشابه عکاسی حرفهای
- Depth of Field (DOF): کنترل عمق میدان، بخشهایی از تصویر تار و بقیه واضح
- Bloom Effect: ایجاد هالههای نور نرم
- Ambient Occlusion: سایهزنی جزئیات بسیار دقیق
- Motion Blur: ایجاد حس حرکت با محو کردن جزئیات در سرعتهای بالا
- Volumetric Lighting: نور حجمی برای نمایش عمق و جو تصویر
- Spherical Aberration: انحراف کروی برای افکتهای خاص لنزی
- Vignette: تاریک کردن گوشههای تصویر برای جلب توجه به مرکز
از این کلمات کلیدی میتونید در پرامپت هاتون استفاده کنید.
۵. استفاده از صفت ها و کلمات توصیفی
هوش مصنوعی معمولا صفت ها و کلمات توصیفی رو خوب متوجه میشه و استفاده کردن از این کلمات به تصویر شما روح میده و اون رو جذاب تر میکنه. به همین خاطر توصیف کردن بیشتر میتونه تو رسیدن به نتیجه دلخواه کمکمون کنه.
حالا بیاید یه پرامپت ساده بنویسیم:
"نقاشی یک مرد که گیتار دستشه و پشتش یک خونه قرار داره" خروجی مورد نظرمون در اینجا خیلی معمولی و بدون روحه.
حالا همون پرامپت رو مینویسیم ولی به اجزای پرامپت، یک سری صفت هم اضافه میکنیم."نقاشی یک مرد چاق و جوان خوشحال که یک گیتار الکتریک خوش رنگ و براق دستشه و پشتش یک خونه مدرن و گرون قیمت قرار داره"
میبینیم که خروجی خیلی جذابتر شد. هر بخشی از این تصویر یه حرفی برای گفتن داره. خاص و مشخص بهتر از معمولی و بی طعمه.بیاین این نکته رو اینطور بیان کنیم: یادتونه وقتی مدرسه میرفتیم، تو کلاس فارسی یک سری تمرین بود که میگفت: از کلمات توصیفی استفاده کنید و فلان جمله رو بنویسید؟ دقیقا چیزی که ما اینجا میخوایم همین کلمات توصیفیه. امیدوارم برعکس من، شما این تمرینا رو تو مدرسه از رو بغل دستیتون ننوشته باشید!
اشتباهات رایج
- نوشتن پرامپت خیلی کوتاه: در حالت کلی اشکالی نداره و میتونید برای گرفتن ایده های جدید پرامپت های کوتاه و کلی بنویسید. اما اگر تصویر مد نظرتون در ذهنتون شکل گرفته، سعی کنید تصویر ذهنیتون رو کامل بیان کنید.
- نوشتن پرامپت خیلی طولانی با کلمات تکراری: همیشه پرامپت طولانیتر بهتر نیست. گاهی ما در نوشتن پرامپت زیادهروی میکنیم. یک سری کلمات رو به هم وصل میکنیم که خیلی هاشون تکرارین و این هوش مصنوعی رو گیج میکنه و باعث میشه اون جزئیات اصلیای که میخوایم کمرنگتر بشن.
- تناقض منطقی: اگر چیزهایی که با هم تناقض دارند رو در یه پرامپت بنویسیم، مدل رو دچار خطا میکنیم. برای مثال: یک پرتره از گردن به بالا از یک مردی با کفش مشکی. با دریافت این پرامپت، مدل نمیتونه هم اون پرتره گردن به بالاای که خواستیمو رعایت کنه هم کفش مشکیای که ازش خواستیم رو نشون بده. معمولا هم اگه شما چیزی رو بنویسید، سعی میکنه هر طور شده اون رو در تصویر جا بده. برای همین اگه چیزی رو میخواید که با ترکیب بندی متناسب نیست، بهتره که حذفش کنید.
نتیجه گیری
پرامپ نویسی در عین سادگی دارای جزییات تاثیر گذاریه. هر چقدر که بهتر بتونیم زبان تعامل با مدلها رو بهتر متوجه بشیم و محدودیتهای مدل رو دقیق بشناسیم، میتونیم به خروجی ایدهآل نزدیکتر بشیم. تو این مسیر صراحت و توصیفی بودن پرامپتهایی که مینویسیم در کنار دوری کردن از تناقضها و اطلاعات اضافی غیر کاربردی میتونه به میزان قابل توجهی به ما کمک کنه. همچنین فراموش نکنید که قبل از پرامپت نوشتن برای تولید تصویر، با خودتون مرور کنید که هر تصویر چه اجزا و ترکیباتی داره و سعی کنید با تصور اون چیزی که تو ذهنتونه به صورت دقیق مدل رو شیرفهم کنید تا اون هم با شما همراهی کنه. پس تصور کنید، بنوسید و اجازه بدید که مدل تصورتون از رویا به واقعیت تبدیل کنه!