Derin Sinir Ağı Modelleri

Önceki bölümde, yerleştirilmiş öğeleri öğrenmek için matrisi çarpanlara ayırmanın nasıl kullanılacağı gösterilmiştir. Matrisi ölçeklendirmenin bazı sınırlamaları şunlardır:

  • Yan özellikleri kullanmanın zorluğu (sorgu kimliği/öğe kimliği dışında herhangi bir özellik). Sonuç olarak model, yalnızca eğitim kümesinde bulunan bir kullanıcı veya öğeyle sorgulanabilir.
  • Önerilerin alaka düzeyi. İlk Colab'da da gördüğünüz gibi, özellikle benzerlik önlemi olarak nokta ürününü kullanan herkes için popüler öğeler tercih edilir. Belirli kullanıcı ilgi alanlarını yakalamak daha iyidir.

Derin nöral ağ (DNN) modelleri matrisi ölçeklendirmenin bu sınırlamalarını ortadan kaldırabilir. DNN'ler kolayca sorgu özelliklerini ve öğe özelliklerini (ağın giriş katmanının esnekliği nedeniyle) dahil edebilir, bu da kullanıcının belirli ilgi alanlarını yakalamanıza ve önerilerin alaka düzeyini artırmanıza yardımcı olabilir.

Öneri için Softmax DNN

Olası bir DNN modeli, sorunu aşağıdaki durumlarda çok sınıflı bir tahmin sorunu olarak ele alan softmax'tır:

  • Giriş, kullanıcı sorgusudur.
  • Çıkış, topluluktaki öğe sayısına eşit ve her bir öğeyle etkileşim kurma olasılığını temsil eden bir olasılık vektörüdür (örneğin, bir YouTube videosunu tıklama veya izleme olasılığı).

Giriş

DNN'de şunlar bulunabilir:

  • yoğun özellikler (ör. son izlenme tarihinden itibaren izlenme süresi ve süresi)
  • Seyrek özellikler (ör. izleme geçmişi ve ülke)

Matrisi çarpanlara ayırma yaklaşımından farklı olarak, yaş veya ülke gibi yan özellikleri ekleyebilirsiniz. Giriş vektörünü x ile gösteririz.

Softmax derin nöral ağında giriş katmanını vurgulayan resim
Şekil 1. Giriş katmanı, x.

Model Mimarisi

Model mimarisi, modelin karmaşıklığını ve ifade tarzını belirler. Gizli katmanlar ve doğrusal olmayan etkinleştirme işlevleri (ör. ReLU) ekleyerek model, verilerde daha karmaşık ilişkiler kurabilir. Ancak, parametre sayısı artırıldığında genellikle modelin eğitilmesi daha zor olur ve daha pahalı olur. Son gizli katmanın çıktısını \(\psi (x) \in \mathbb R^d\)tarihine kadar gösteririz.

Softmax derin nöral ağında gizli katmanları vurgulayan resim
Şekil 2. Gizli katmanların çıkışı, \(\psi (x)\).

Softmax Çıkışı: Tahmin Edilen Olasılık Dağılımı

Model, son katmanın ( \(\psi (x)\)) çıkışını, softmax katmanı aracılığıyla olasılık dağılımıyla eşleştirir \(\hat p = h(\psi(x) V^T)\). Burada:

  • \(h : \mathbb R^n \to \mathbb R^n\) softmax işlevidir. \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
  • \(V \in \mathbb R^{n \times d}\) softsoft katmanının ağırlık matrisidir.

Softmax katmanı, bir vektör vektörünü \(y \in \mathbb R^n\)(bazen logit olarak da adlandırılır) bir olasılık dağılımıyla eşler.

Softmax derin nöral ağında öngörülen olasılık dağılımını gösteren resim
Şekil 3. Tahmin edilen olasılık dağılımı, \(\hat p = h(\psi(x) V^T)\).

Kayıp İşlevi

Son olarak, aşağıdakileri karşılaştıran bir kayıp işlevi tanımlayın:

  • \(\hat p\), softmax katmanının sonucu (olasılık dağılımı)
  • \(p\), kullanıcının etkileşime girdiği öğeleri (ör. kullanıcının tıkladığı veya izlediği YouTube videoları) temsil eden kesin referans. Bu, normalleştirilmiş bir çok sıcak dağıtım (olasılık vektörü) olarak gösterilebilir.

Örneğin, iki olasılık dağılımını karşılaştırdığınız için çapraz entropi kaybını kullanabilirsiniz.

Softmax derin sinir ağındaki kayıp işlevini gösteren resim
Şekil 4. Kayıp işlevi.

Softmax Yerleştirme

Öğenin olasılığı, \(j\) \(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\)tarafından verilir. \(Z\) Bu değer, bağımlı olmayan bir normalleştirme sabitidir. \(j\).

Diğer bir deyişle, \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\) bir öğenin günlük olasılığı \(j\) (ek sabite kadar), iki boyutlu \(d\)boyutlu vektörlerin nokta ürünüdür ve bu, sorgu ve öğe yerleştirmeleri olarak yorumlanabilir:

  • \(\psi(x) \in \mathbb R^d\) , son gizli katmanın sonucudur. Buna, sorgunun yerleştirilmesi olarak adlandırıyoruz \(x\).
  • \(V_j \in \mathbb R^d\) , en son gizli katmanı j çıkışına bağlayan ağırlıkların vektörüdür. Buna, öğenin \(j\)yerleştirilmesi.
Softmax derin nöral ağında yerleştirmeleri gösteren resim
Şekil 5. Öğe yerleştiriliyor \(j\), \(V_j \in \mathbb R^d\)

DNN ve Matris Çarpanlarına Ayırma

Softmax modelinde ve matrisi çarpanlara ayırma modelinde sistem,\(V_j\) öğe başına \(j\)bir yerleştirme vektörünü öğrenir. Matrisi ölçeklendirmede öğe yerleştirme matrisi \(V \in \mathbb R^{n \times d}\) adını verdiğimiz özellik, artık softmax katmanının ağırlık matrisidir.

Ancak sorgu yerleştirmeleri farklıdır. Sistem, \(U_i\) sorgu başına \(i\)yerleştirmeyi öğrenmek yerine sorgu özelliğinden \(x\) yerleştirmeye \(\psi(x) \in \mathbb R^d\)giden bir eşleme öğrenir. Dolayısıyla, bu DNN modelini, sorgu tarafını doğrusal olmayan bir işlevle değiştirdiğiniz matrisi genelleştirme olarak düşünebilirsiniz \(\psi(\cdot)\).

Öğe Özelliklerini Kullanabilir misiniz?

Aynı fikri öğe tarafına da uygulayabilir misiniz? Yani model, öğe başına bir yerleştirme öğrenmek yerine öğe özelliklerini bir yerleştirmeyle eşleyen doğrusal olmayan bir işlev öğrenebilir mi? Evet. Bunu yapmak için iki nöral ağdan oluşan iki kuleli bir nöral ağ kullanın:

  • Bir nöral ağ, sorgu özelliklerini \(x_{\text{query}}\) sorgu yerleştirmeyle eşler \(\psi(x_{\text{query}}) \in \mathbb R^d\)
  • Bir nöral ağ, öğe özelliklerini \(x_{\text{item}}\) öğe yerleştirmeyle eşler \(\phi(x_{\text{item}}) \in \mathbb R^d\)

Modelin çıkışı,\(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\)adlı noktanın ürünü olarak tanımlanabilir. Bunun artık softmax modeli olmadığını unutmayın. Yeni model, her sorgu için bir olasılık vektörü yerine \((x_{\text{query}}, x_{\text{item}})\)çift başına bir değer \(x_{\text{query}}\)tahmin eder.