Derin sinir ağı modelleri

Bir önceki bölümde, matris çarpanlarına ayırmanın yerleştirme hakkında daha fazla bilgi edinin. Matrisi çarpanlara ayırmanın bazı sınırlamaları şunlardır:

  • Yan özellikleri (diğer bir deyişle, sorgu kimliği/öğe kimliği) girin. Sonuç olarak, model yalnızca kullanıcı veya öğe olabilir.
  • Önerilerin alaka düzeyi Bu ilk slaytta Colab, Popüler öğeler, özellikle bir benzerlik ölçüsü olarak belirtmeyi unutmayın. Daha spesifik görseller kullanıcı ilgi alanları.

Derin sinir ağı (DNN) modelleri, matrisin bu sınırlamalarını ele alabilir çarpanlara ayırma. DNN'ler, sorgu özelliklerini ve öğe özelliklerini kolayca ekleyebilir (ağın giriş katmanının esnekliği sayesinde) yapılır. Kullanıcının belirli ilgi alanlarını saptayabilir ve kullanıcıların alaka düzeyini artırabilirsiniz. öneriler.

Öneri için Softmax DNN

Olası bir DNN modeli softmax'tır, çok sınıflı bir tahmin problemi olarak ele alan bu problemde:

  • Giriş, kullanıcı sorgusudur.
  • Çıkış, şuna eşit bir olasılık vektörüdür: mevcut öğelerle etkileşime girme olasılığını temsil eden Her öğe tıklama veya izleme olasılığı gibi, YouTube videosu.

Giriş

DNN'ye giriş şunları içerebilir:

  • yoğun özellikler (örneğin, son izlemeden bu yana izlenme süresi ve süresi)
  • seyrek özellikler (örneğin, izleme geçmişi ve ülke)

Matrisi çarpanlara ayırma yaklaşımından farklı olarak, yaş veya ülke. Giriş vektörünü x ile göstereceğiz.

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 düzeyini belirler. Gizli katmanlar ve doğrusal olmayan aktivasyon fonksiyonları (ör. ReLU) ekleyerek model, verilerde daha karmaşık ilişkileri yakalayabilir. Ancak, parametre sayısının artması, genellikle modelin ve hizmet vermesi daha pahalıdır. Son gizli tutulan son öğenin çıkışını \(\psi (x) \in \mathbb R^d\)katmanında seçim yapın.

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

Softmax Çıkışı: Tahmini Olasılık Dağılımı

Model, son katmanın ( \(\psi (x)\)) çıkışını softmax aracılığıyla eşler olasılık dağılımına ekleme \(\hat p = h(\psi(x) V^T)\)yapın:

  • \(h : \mathbb R^n \to \mathbb R^n\) softmax işlevidir, veren: \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
  • \(V \in \mathbb R^{n \times d}\) , softmax katmanıdır.

Softmax katmanı, puan vektörünü eşler \(y \in \mathbb R^n\) (bazen logits) bir olasılık dağılımına bakalım.

Softmax derin sinir ağında tahmini 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ğıdakini karşılaştıran bir kayıp fonksiyonu tanımlayın:

  • \(\hat p\), softmax katmanının çıktısı (olasılık dağılımı)
  • Kullanıcının sahip olduğu öğeleri temsil eden\(p\)gerçek doğrudur etkileşim kurulan YouTube videoları (örneğin, kullanıcının tıkladığı veya izlediği YouTube videoları). Bu, normalleştirilmiş çok sıcak dağılım (bir olasılık vektörü) içerir.

Örneğin, iki entropi arasındaki farkları iki olasılık dağılımını içerir.

Softmax derin nöral ağında kayıp işlevini gösteren resim
Şekil 4. Kayıp fonksiyonu.

Softmax Yerleştirmeleri

Öğenin olasılığı \(j\) \(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\), burada \(Z\) bağımsız bir normalleştirme sabitidir \(j\).

Başka bir deyişle, \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\), Dolayısıyla bir öğenin günlük olasılığı \(j\) (toplama sabitine kadar) yorumlanabilecek iki \(d\)boyutlu vektörlerin nokta çarpımı sorgu ve öğe yerleştirmeleri gibi:

  • \(\psi(x) \in \mathbb R^d\) , son gizli katmanın çıkışıdır. Buna, sorgunun yerleştirilmesini ( \(x\)) diyoruz.
  • \(V_j \in \mathbb R^d\) , son gizli katmanı j çıkışına bağlayan ağırlıkların vektörüdür. Buna, \(j\)öğesinin yerleştirilmiş olması diyoruz.
Softmax derin nöral ağındaki yerleştirmeleri gösteren resim
Şekil 5. Öğe yerleştiriliyor \(j\), \(V_j \in \mathbb R^d\)

DNN ve Matris Çarpanlarına Ayırma

Hem softmax modeli hem de matris çarpanlarına ayırma modelinde sistem bir yerleştirme vektörü öğrenir \(V_j\) öğe başına \(j\). Proje yönetimi \(V \in \mathbb R^{n \times d}\) matrise öğe yerleştirme matrisi çarpanlara ayırma, softmax katmanının ağırlık matrisidir.

Ancak sorgu yerleştirmeleri farklıdır. Öğrenmek yerine bir yerleştirme işlemi \(U_i\) yapıldığında \(i\), sistem bir eşleme öğrenir. sorgu özelliğinden \(x\) yerleştirmeye \(\psi(x) \in \mathbb R^d\). Dolayısıyla bu DNN modelini, matrisin genelleştirilmesi Çarpanlara ayırmada sorgu tarafını doğrusal olmayan işlev \(\psi(\cdot)\)'i seçin.

Öğe Özelliklerini Kullanabiliyor musunuz?

Aynı fikri öğe tarafına da uygulayabilir misiniz? Yani, bu bilgileri öğrenmek yerine bir yerleştirme varsa, model yine buradaki öğeler için doğrusal olmayan öğe özelliklerini nasıl eklerim? Evet. Bunun için iki kule kullanın iki nöral ağdan oluşur:

  • Bir nöral ağ eşlemesi sorgu özellikleri \(x_{\text{query}}\) sorgu yerleştirme işlemi için \(\psi(x_{\text{query}}) \in \mathbb R^d\)
  • Bir nöral ağ, öğe özelliklerini eşler \(x_{\text{item}}\) öğe yerleştirmeye \(\phi(x_{\text{item}}) \in \mathbb R^d\)

Modelin çıktısı, şunun nokta çarpımı olarak tanımlanabilir: \(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\) Bunun artık bir softmax modeli olmadığını unutmayın. Yeni model, çift başına bir değer \((x_{\text{query}}, x_{\text{item}})\) bir olasılık vektörü kullanmak yerine \(x_{\text{query}}\)kullanın.