تولید تصویر هوش مصنوعی با مدل‌های GPT و Diffusion


دنیا مجذوب هوش مصنوعی (AI) است، به‌ویژه پیشرفت‌های اخیر در پردازش زبان طبیعی (NLP) و هوش مصنوعی مولد – و دلیل خوبی هم دارد. این فناوری‌های نوآورانه پتانسیل افزایش بهره‌وری روزانه را در تمامی انواع وظایف دارند. مثلا، GitHub Copilot به توسعه دهندگان کمک می کند تا به سرعت کل الگوریتم ها را کدنویسی کنند، OtterPilot به طور خودکار یادداشت های جلسه را برای مدیران تولید می کند و صبح به کارآفرینان اجازه می دهد تا به سرعت وب سایت ها را راه اندازی کنند.

این مقاله مروری مختصر بر هوش مصنوعی مولد، از جمله نمونه‌های مربوط به فناوری هوش مصنوعی ارائه می‌کند، سپس با یک آموزش هوش مصنوعی مولد، تئوری را عملی می‌کند که در آن رندرهای هنری با استفاده از مدل‌های GPT و Diffusion ایجاد می‌کنیم.

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

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

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

در سال 2022، بسیاری از مدل پایه پیاده سازی ها به بازار آمدند و پیشرفت های هوش مصنوعی را در بسیاری از بخش ها تسریع کردند. پس از درک چند مفهوم کلیدی، می‌توانیم مدل پایه را بهتر تعریف کنیم:

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

آ مدل پایه یک شبکه عصبی عمیق است که بر روی مقادیر عظیمی از داده های خام آموزش دیده است. به عبارت عملی تر، یک مدل پایه یک نوع بسیار موفق از هوش مصنوعی است که می تواند به راحتی وظایف مختلف را تطبیق داده و انجام دهد. مدل های بنیادی هسته اصلی هوش مصنوعی مولد هستند: هر دو مدل زبان تولید کننده متن مانند GPT و مدل های انتشار تصویر، مدل های پایه هستند.

متن: مدل های NLP

در هوش مصنوعی مولد، مدل‌های پردازش زبان طبیعی (NLP) برای تولید متنی آموزش داده می‌شوند که گویی توسط یک انسان نوشته شده است. به خصوص، مدل های زبان بزرگ (LLM) به ویژه به سیستم های هوش مصنوعی امروزی مرتبط هستند. LLM ها، که با استفاده از حجم وسیعی از داده ها طبقه بندی می شوند، می توانند متن و محتواهای دیگر را شناسایی و تولید کنند.

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

لکس یکی از نمونه‌های ابزار نوشتن NLP با عملکردهای متعدد است: پیشنهاد عنوان، تکمیل جملات، و نوشتن کل پاراگراف‌ها در مورد یک موضوع معین. قابل تشخیص ترین LLM در حال حاضر GPT است. GPT که توسط OpenAI توسعه یافته است می تواند تقریباً به هر سؤال یا دستوری در عرض چند ثانیه با دقت بالا پاسخ دهد. مدل های مختلف OpenAI از طریق a در دسترس هستند API واحد. برخلاف Lex، GPT می‌تواند با کد، راه‌حل‌های برنامه‌نویسی برای نیازمندی‌های عملکردی و شناسایی مشکلات درون کد کار کند تا زندگی توسعه‌دهندگان را به طور قابل توجهی آسان‌تر کند.

تصاویر: AI Diffusion Models

مدل انتشار یک شبکه عصبی عمیق است که نگه می دارد متغیرهای پنهان قادر به یادگیری ساختار یک تصویر داده شده توسط رفع تاری آن (یعنی نویز). پس از اینکه شبکه یک مدل برای “دانستن” مفهوم انتزاعی پشت تصویر آموزش دید، می تواند تغییرات جدیدی از آن تصویر ایجاد کند. برای مثال، با حذف نویز از تصویر یک گربه، مدل انتشار تصویری تمیز از گربه را می‌بیند، می‌آموزد که گربه چگونه به نظر می‌رسد، و این دانش را برای ایجاد تغییرات جدید تصویر گربه به کار می‌گیرد.

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

آموزش: مدل انتشار و پیاده سازی GPT

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

توجه داشته باشید: این مقاله نحوه استفاده از تصاویر مولد هوش مصنوعی و مدل‌های زبان را برای ایجاد تصاویر با کیفیت بالا در سبک‌های جالب توضیح می‌دهد. از اطلاعات این مقاله نباید برای ایجاد دیپ فیک در نقض (سو) استفاده شود شرایط استفاده Google Colaboratory.

تنظیمات و عکس مورد نیاز

برای آماده شدن برای این آموزش، ثبت نام کنید:

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

  • کوچکتر از 512×512 پیکسل نباشد.
  • از تو باشد و فقط تو
  • فرمت پسوند یکسانی داشته باشید.
  • از زوایای مختلف گرفته شود.
  • شامل سه تا پنج ضربه تمام بدن و حداقل دو تا سه ضربه از وسط بدن. بقیه باید عکس های صورت باشد.

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

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

برای شروع، همراه این آموزش را باز کنید نوت بوک گوگل کولب، که حاوی کد مورد نیاز است.

  1. سلول 1 را اجرا کنید تا Colab را به Google Drive خود متصل کنید تا مدل را ذخیره کنید و بعداً تصاویر تولید شده آن را ذخیره کنید.
  2. برای نصب وابستگی های مورد نیاز، سلول 2 را اجرا کنید.
  3. برای دانلود مدل HuggingFace سلول 3 را اجرا کنید.
  4. در سلول 4، “How I Look” را در قسمت تایپ کنید Session_Name فیلد، و سپس سلول را اجرا کنید. نام جلسه معمولاً مفهومی را که مدل یاد خواهد گرفت مشخص می کند.
  5. سلول 5 را اجرا کنید و عکس های خود را آپلود کنید.
  6. برای آموزش مدل به سلول 6 بروید. با بررسی Resume_Training گزینه قبل از اجرای سلول، می توانید بارها آن را دوباره آموزش دهید. (این مرحله ممکن است حدود یک ساعت طول بکشد.)
  7. در نهایت، سلول 7 را اجرا کنید تا مدل خود را آزمایش کنید و آن را در عمل ببینید. سیستم یک URL خروجی می دهد که در آن یک رابط برای تولید تصاویر خود پیدا خواهید کرد. پس از وارد کردن یک اعلان، دکمه را فشار دهید تولید می کنند دکمه رندر تصاویر
یک اسکرین شات از رابط کاربری مدل با تنظیمات بسیار، یک جعبه متن ورودی، یک دکمه
رابط کاربری برای تولید تصویر

با یک مدل کار، اکنون می‌توانیم با اعلان‌های مختلفی که سبک‌های بصری متفاوتی را تولید می‌کنند، آزمایش کنیم (مثلاً «من به‌عنوان یک شخصیت متحرک» یا «من به‌عنوان یک نقاشی امپرسیونیستی»). با این حال، استفاده از GPT برای اعلان‌های کاراکتر بهینه است، زیرا در مقایسه با درخواست‌های تولید شده توسط کاربر، جزئیات بیشتری را ارائه می‌دهد و پتانسیل مدل ما را به حداکثر می‌رساند.

درخواست های مدل انتشار موثر با GPT

ما GPT را از طریق OpenAI به خط لوله خود اضافه می کنیم، اگرچه Cohere و سایر گزینه ها عملکرد مشابهی را برای اهداف ما ارائه می دهند. برای شروع، در پلتفرم OpenAI ثبت نام کنید و خود را ایجاد کنید کلید ای پی ای. اکنون، در بخش «Generating good prompts» نوت بوک Colab، کتابخانه OpenAI را نصب کنید:

pip install openai

بعد، کتابخانه را بارگیری کنید و کلید API خود را تنظیم کنید:

import openai
openai.api_key = "YOUR_API_KEY"

ما اعلان های بهینه سازی شده ای از GPT تولید می کنیم تا تصویر خود را به سبک یک شخصیت انیمه تولید کنیم و جایگزین کنیم. YOUR_SESSION_NAME با “How I Look” نام جلسه در سلول 4 دفترچه تنظیم شده است:

ASKING_TO_GPT = 'Write a prompt to feed a diffusion model to generate beautiful images '\
                'of YOUR_SESSION_NAME styled as an anime character.' 
response = openai.Completion.create(model="text-davinci-003", prompt=ASKING_TO_GPT,
                                    temperature=0, max_tokens=1000)
print(response["choices"][0].text)

را temperature پارامتر بین 0 تا 2 است و تعیین می کند که آیا مدل باید به شدت به داده هایی که روی آن آموزش داده است (مقادیر نزدیک به 0) پایبند باشد یا در خروجی های خود خلاقیت بیشتری داشته باشد (مقادیر نزدیک به 2). را max_tokens پارامتر مقدار متنی را که باید برگردانده شود، با چهار نشانه معادل تقریباً یک کلمه انگلیسی تعیین می کند.

در مورد من، خروجی مدل GPT به شرح زیر است:

"Juan is styled as an anime character, with large, expressive eyes and a small, delicate mouth.
His hair is spiked up and back, and he wears a simple, yet stylish, outfit. He is the perfect
example of a hero, and he always manages to look his best, no matter the situation."

در نهایت، با وارد کردن این متن به عنوان ورودی در مدل انتشار، به خروجی نهایی خود می‌رسیم:

شش تصویر ایجاد شده توسط هوش مصنوعی از نویسنده مقاله که به عنوان شخصیت های مختلف انیمه طراحی شده اند.
شش تصویر ایجاد شده توسط هوش مصنوعی از نویسنده، که با اعلان‌های تولید شده توسط GPT پالایش شده‌اند.

دریافت GPT برای نوشتن اعلان‌های مدل انتشار به این معنی است که شما مجبور نیستید به جزئیات در مورد ظاهر یک شخصیت انیمه فکر کنید—GPT یک توصیف مناسب برای شما ایجاد می‌کند. شما همیشه می توانید اعلان را مطابق سلیقه بیشتر تغییر دهید. با تکمیل این آموزش، می توانید تصاویر خلاقانه پیچیده ای از خود یا هر مفهومی که می خواهید ایجاد کنید.

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

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

این فناوری‌های هوش مصنوعی زندگی ما را عمیقاً تحت تأثیر قرار خواهند داد. بسیاری پیش‌بینی می‌کنند که مدل‌های زبان بزرگ این کار را انجام خواهند داد بازار کار را به شدت تحت تاثیر قرار می دهد در طیف متنوعی از مشاغل، خودکار کردن وظایف خاص و تغییر شکل نقش های موجود. در حالی که نمی‌توانیم آینده را پیش‌بینی کنیم، غیرقابل انکار است که پذیرندگان اولیه که از NLP و هوش مصنوعی مولد برای بهینه‌سازی کار خود استفاده می‌کنند، در مقابل کسانی که این کار را نمی‌کنند برتری خواهند داشت.

تیم تحریریه وبلاگ مهندسی تاپتال از شما تشکر می کند فردریک آلبانی برای بررسی نمونه کدها و سایر مطالب فنی ارائه شده در این مقاله.



منبع

Matthew Newman

Matthew Newman Matthew has over 15 years of experience in database management and software development, with a strong focus on full-stack web applications. He specializes in Django and Vue.js with expertise deploying to both server and serverless environments on AWS. He also works with relational databases and large datasets
[ Back To Top ]