AI-For-Beginners/translations/tr/lessons/5-NLP/17-GenerativeNetworks
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
lab Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

Üretken ağlar

Ders öncesi quiz

Tekrarlayan Sinir Ağları (RNN'ler) ve Long Short Term Memory Cells (LSTM'ler) ile Gated Recurrent Units (GRU'lar) gibi kapalı hücre varyantları, dil modellemesi için bir mekanizma sağladı; çünkü kelime sıralamasını öğrenebilirler ve bir dizideki bir sonraki kelime için tahminlerde bulunabilirler. Bu, RNN'leri üretken görevler için kullanmamıza olanak tanır; örneğin sıradan metin oluşturma, makine çevirisi ve hatta görüntü başlığı oluşturma.

Yazarken metin tamamlama gibi üretken görevlerden faydalandığınız tüm zamanları düşünün. Favori uygulamalarınızda RNN'lerin kullanılıp kullanılmadığını görmek için biraz araştırma yapın.

Önceki biriminde tartıştığımız RNN mimarisinde, her RNN birimi bir sonraki gizli durumu bir çıktı olarak üretmiştir. Ancak, her tekrarlayan birime bir başka çıktı ekleyebiliriz; bu da bize dizi (orijinal dizinin uzunluğuna eşit) çıktısı vermemizi sağlar. Ayrıca, her adımda bir giriş kabul etmeyen RNN birimleri kullanabiliriz; sadece bazı başlangıç durumu vektörlerini alır ve ardından bir çıktı dizisi üretebiliriz.

Bu, aşağıdaki resimde gösterilen farklı sinir mimarilerine olanak tanır:

Yaygın tekrarlayan sinir ağı desenlerini gösteren bir resim.

Resim Andrej Karpaty tarafından Unreasonable Effectiveness of Recurrent Neural Networks başlıklı blog yazısından alınmıştır.

  • Bir-bir bir giriş ve bir çıkışı olan geleneksel bir sinir ağıdır.
  • Bir-çok bir giriş değeri kabul eden ve bir çıktı değeri dizisi üreten üretken bir mimaridir. Örneğin, bir resmi metin olarak tanımlayan bir görüntü başlığı oluşturmaı eğitmek istiyorsak, resmi giriş olarak alabiliriz, bir CNN'den geçirerek gizli durumunu elde edebiliriz ve ardından tekrarlayan bir zincir ile başlık kelimelerini kelime kelime üretebiliriz.
  • Çok-bir önceki birimde tanımladığımız RNN mimarilerine karşılık gelir, örneğin metin sınıflandırma.
  • Çok-çok, veya diziye-dizi ise makine çevirisi gibi görevlerle ilgilidir; burada ilk RNN, giriş dizisinden tüm bilgileri gizli duruma toplar ve başka bir RNN zinciri bu durumu çıktı dizisine açar.

Bu birimde, metin oluşturmaya yardımcı olan basit üretken modellere odaklanacağız. Kolaylık olmasıısından, karakter düzeyinde tokenizasyon kullanacağız.

Bu RNN'yi adım adım metin üretmesi için eğiteceğiz. Her adımda, nchars uzunluğunda bir karakter dizisi alacağız ve ağa her giriş karakteri için bir sonraki çıktı karakterini üretmesini isteyeceğiz:

'HELLO' kelimesinin RNN ile üretilmesini gösteren bir örnek resim.

Metin oluştururken (çıkarım sırasında), bazı uyarıcılarla başlarız; bu, RNN hücrelerinden geçirilerek ara durumunu üretir ve ardından bu durumdan üretim başlar. Bir seferde bir karakter üretiriz ve durumu ve üretilen karakteri bir sonraki RNN hücresine geçirerek bir sonraki karakteri üretiriz; yeterli karakter ürettiğimizdeye kadar devam ederiz.

Resim yazar tarafından

✍️ Alıştırmalar: Üretken Ağlar

Aşağıdaki not defterlerinde öğrenmeye devam edin:

Yumuşak metin oluşturma ve sıcaklık

Her RNN hücresinin çıktısı, karakterlerin bir olasılık dağılımıdır. Eğer her zaman en yüksek olasılığa sahip karakteri üretilen metindeki bir sonraki karakter olarak alırsak, metin genellikle aynı karakter dizileri arasında "dönmeye" başlayabilir; bu örnekte olduğu gibi:

today of the second the company and a second the company ...

Ancak, bir sonraki karakterin olasılık dağılımına baktığımızda, en yüksek birkaç olasılık arasındaki farkın çok büyük olmayabileceği durumlar vardır; örneğin, bir karakterin olasılığı 0.2, diğerinin 0.19 olabilir. Örneğin, 'play' dizisinde bir sonraki karakter, ya boşluk ya da e (örneğin player kelimesinde olduğu gibi) olabilir.

Bu, daha yüksek olasılığa sahip karakteri seçmenin her zaman "adil" olmadığını sonucuna götürür; çünkü ikinci en yüksek olanı seçmek de anlamlı bir metne yol açabilir. Olasılık dağılımından karakterler örneklemek daha akıllıcadır. Ayrıca, daha fazla rastgelelik eklemek istiyorsak olasılık dağılımını düzleştirecek bir parametre, sıcaklık kullanabiliriz; ya da en yüksek olasılığa sahip karakterlere daha fazla bağlı kalmak istiyorsak daha dik bir hale getirebiliriz.

Bu yumuşak metin oluşturmanın yukarıda bağlantılı not defterlerinde nasıl uygulandığını keşfedin.

Sonuç

Metin oluşturma kendi başına yararlı olsa da, asıl faydalar, RNN'ler kullanarak bazı başlangıç özellik vektörlerinden metin üretebilme yeteneğinden gelir. Örneğin, metin oluşturma, makine çevirisinin bir parçası olarak kullanılır (bu durumda encoder'dan gelen durum vektörü, çevrilen mesajı üretmek veya decode etmek için kullanılır) veya bir görüntünün metinsel tanımını oluşturma (bu durumda özellik vektörü CNN çıkarıcısından gelir).

🚀 Zorluk

Bu konuda Microsoft Learn'da bazı dersler alın

Ders sonrası quiz

Gözden Geçirme & Kendi Kendine Çalışma

Bilgilerinizi genişletmek için bazı makaleler

Görev

Karakter karakter metin oluşturmanın nasıl yapıldığını gördük. Laboratuvar ortamında, kelime düzeyinde metin oluşturmayı keşfedeceksiniz.

ıklama:
Bu belge, makine tabanlı AI çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluk konusunda çaba göstersek de, otomatik çevirilerin hatalar veya yanlış anlamalar içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilmektedir. Bu çevirinin kullanımı sonucunda ortaya çıkan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.