Kendi AI Avatarını Yaratmak İçin Yapay sinir ağı nasıl eğitilir?

Emre Can Güllü
5 min readDec 12, 2022

--

Son zamanlarda sosyal medyada çok popüler olan Yapay zeka avatarlarını hepimiz duymuş veya görmüşüzdür. Bu avatarlar hepimizin bildiği üzere 10–20 adet görselimizin yapay sinir ağını eğitmesi ve talebimize göre yaratması ile ortaya çıkmaktadır.

Bu hizmeti veren servislerin kullanılması ise ortalama 200 TL civarındadır.

Ben de ufak bir araştırma sonrası, “Neden bu servise para vermek yerine kendi ağımı eğitmiyorum ki ?” Sorusunu sordum ve eğittim de…
Aşağıda adım adım DreamBooth ve StableDiffusion kullanımı göstereceğim.

StableDiffusion , Dall-E gibi doğal dil açıklamalarından yola çıkarak gerçekçi dijital görüntüler oluşturan bir makine öğrenmesi modelidir.

Python kodlarını yürütebilmek için Google Colab’i kullanmamız gerekecek. Bu işlemler için ise tavsiye ettiğim işletim sistemi LINUX’tur.

Endişlenmenize gerek yok bu kodları yürütürken siz kod yazmak zorunda kalmayacaksınız, sadece bloklara doğru parametreleri girip çalıştırmanız yeterli olacak :)

Her parametrenin ayrıntılarına girmeyeceğim, amaç size kendi AI modelinizi nasıl hızlı bir şekilde oluşturabileceğinizi göstermek. Daha sonra kendiniz detaylı şekilde inceleyebilirsiniz.

1- Görselleri hazırlayın !

Nasıl olmalı ?
✅ Omuzlar görünmeli
✅ Farklı açılar, pozlar, açılardan oluşmalı
✅ Günün farklı zamanlarında çekilmiş fotoğraflar olmalı
✅ Yalnızca kameraya değil farklı yönlere de bakmalısınız.

Dikkat etmeniz gereken noktalar
❌ Aynı özellik ve ayarda fotoğraflar olmamalı
❌ Yalnızca kameraya baktığınız görseller olmamalı
❌ Her fotoğrafta aynı yüz ifadesi olmamalı
❌ Parlak makyaj olmamalı
❌ Birden fazla kişi olmamalı
❌ Gözlük olmamalı
❌ Çocuk, çıplaklık ve başkasına ait fotoğraflar kendi projenizde yer almamalıdır.

Ardından, her fotoğrafı 512x512 boyutuna çekmeliyiz. Nasıl uğraşacağım diye korkmayın, bunun da kolaylığı var.
Bu link yardımı ile tüm fotoğraflarınızı aynı anda istenilen ölçeğe çekebilirsiniz.

İpucu: Eğer 20 adet yakın çekim fotoğrafınız yok ise, diğer görselleri kırparak yakın bir halde 512x512 boyutuna çekebilirsiniz. Bunun için Ubuntu işletim sisteminde “Krita” Adlı programı kullandım.

Son olarak, Her fotoğrafınızı aynı şekilde isimlendirmelisiniz. Örneğin; Emre1 Emre2 Emre3 …

2- Google Colab’ı yapılandırın

Colab ile çalışmaya başlamak için Google hesabınızda oturum açmanız yeterlidir. Colab not defterleri, Google Drive hesabınızda depolanır ve size komut dosyalarınızı çalıştırmanız için eksiksiz bir ortam sağlar.

Not defterine bu linke tıklayarak giriş yapıyoruz :
https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast-DreamBooth.ipynb

Runtime > Change Runtime Type’e gidin ve GPU’nun etkin olup olmadığını kontrol edin.

3— StableDiffusion’u yapılandır

Bu adımda sırası ile bloklara doğru parametreleri girip, sol üstteki play butonuna tıklayarak o bloğu çalıştıracağız.

  1. Google Drive’ınıza bağlanın.
  2. İkinci satırı çalıştırarak çevreyi ve bağlılıkları yükleyin.

Üçüncü bloğa geçmeden önce kendinize bir REPO oluşturmanız ve bunun API KEY’ini oraya girmeniz gerek. Bunun için HuggingFace sitesini kullanıyoruz.
Huggingface’de bir kayıt oluşturun, giriş yapın ve ayarlar kısmında Access Token’a tıklayın. Orada yeni bir key yaratıp, kodunu Huggingface_Token kutucuğuna yapıştıracaksınız. Model versiyonunun 1.5 olduğunu unutmayın. Ve RUN !

4— Eğitim verilerini yükle (fotoğrafları)

Blok tamamlanınca aşağıda Create/Load a Session Bölümüne geçiyoruz. Burada modelimize Session_name: kısmında benzersiz bir isim vermeliyiz. Bu isim .ckpt uzantılı modelin ismi olacaktır. Ve sonra RUN !

Ardından Instance Images bölümüne geliyorsunuz, bloğu çalıştırıyorsunuz ve aşağıda dosya yükleme butonuna tıklayıp, hazırladığınız görsellerin hepsini oraya yüklüyorsunuz.

5 — Modeli Eğitmek !

Artık verilerimiz hazır, Yapmamız gereken tek şey Eğitim adımı “Training Steps” belirleyip, modeli eğitmek.
Bir kaç denemeden sonra En iyi sonucun 1600'da alındığına karar verilmiştir.

Bu işlem ortalama 30 dakika ile 1 saat arasında yüklediğiniz fotoğraf sayısına göre değişmektedir.

6 — Avatarını yarat !

Sonunda yapay zekamız bize görselleri sunmak için hazır 👌

Bu kısmı boş bırakıp isim vermeden bu seferlik devam edebilirsiniz. Sadece bloğu çalıştırın Veeee …

İşte bu kadar. Running on local URL size özel üretilen bir adrestir. Ve bu adreste yazdığımız metne göre eğittiğimiz ağı kullanarak görseller üretebileceğiz. Şimdi linke tıklayıp açılan web sitesinden devam edelim. Unutmayın, Her seferinde bu URL değişecektir.

ÖRNEK BİR UYGULAMA

Prompt kutucuğuna, görselimizin özelliklerini girmeliyiz.
Prompt önerileri için >> LINK

Sampling Steps yani örnekleme adımını optimum seviyede tutmalıyız. Benim testlerim sonucu 40–50 aralığı uygundur.

Örnekleme modelinde yine kendi testlerim sonucu en iyi sonuç vereni Euler ve Euler a oldu.

Batch Size, size üreteceği fotoğraf sayısını,
CFG scale ise ağırlıkları temsil eder. CFG scale değeri bana göre en uygunu 9.5 oldu.

İŞTE ALDIĞIM BAZI ÇIKTILAR ;

Modelinizi Hugging Face Reposuna Yükleme

Oluşturduğunuz yapay zeka modelini daha sonra yeniden eğitmekle uğraşmayıp, yeniden kullanabilirsiniz. Bunun için Bir REPO’ya yüklemeniz gerekir. Burada HuggingFace repomuzu kullanacağız.

Bunun için öncelikle Reponuzda yeni bir API KEY oluşturun fakat bu sefer bu Key için “Write” izni vermeyi unutmayın !

örnek: oluşturulmuş api key

Sonrasında name_of_your_concept kısmına Modelinize isim verin ve Kopyaladığınız API WRITE KEY’i hf_token_write kısmına yapıştırıp, bloğu çalıştırın !

Repo’nuza yüklenen Modelin Açıklamasındaki linke tıklayarak açılan Google Colab sayfasından modelin KEY’ini oraya girerek modeli yeniden kullanabilirsiniz.

Artık Ücretsiz olarak kendi yapay zeka avatarlarınızı yaratmaya hazırsınız 😎

Karmaşıklık her zaman beklentilerinize uyan mükemmel ayarları bulmakta yatar. Sonuçlarınızın kalitesini artırmak için denemeye devam edin!

Sonuçlarınızı LinkedIn Üzerinden paylaşıp, Beni etiketlemekten çekinmeyin 😄

https://www.linkedin.com/in/emrecangll/
Saygılarımla…

--

--