NVIDIA kısa süre önce, Netfix 2009un netflixprize rekabet verilerine dayanan, işbirliğine dayalı filtreleme için DeepRecommender adlı yeni bir karşılaştırma ölçütü yayınladı. Otomatik kodlayıcı nın-nin İşbirlikçi filtreleme Doğruluk oranı, sıradan modellere göre daha yüksektir.
Netflix ödül yarışmasının amacı çok basit. Bir kullanıcının bir film için vereceği puanın olası değerini tahmin etmektir (Netflix para kazanmak için en ilginç filmleri önermek ister, değil mi?) Aslında, rekabet puanlarını değerlendirmek için kayıp işlevi de çok basittir. Kare hatası:
ri Gerçek skor Yi modeldir Tahmin puanı Mi ek bir maske kontrolü , Gerçek skor ri = 0 ise mi = 0, aksi takdirde mi 1'e eşit olabilir.
Açıkçası bu bir İşbirlikçi filtreleme sorunu . A kullanıcısının izlediği filmler o kadar sınırlıdır ki, Netflix film kitaplığındaki tüm filmleri çıkarır ve bir liste yapar. Bu kişinin çok az filmi vardır, bu yüzden bu l çok seyrek . fakat . . . Netflix'imiz pek çok kullanıcısı olan büyük bir şirkettir.Benzer kullanıcılara göre, A kullanıcısı için uzun boş listeler listesini doldurabiliriz (modelinize göre değişir)
Nvidia tarafından kullanılan DeepRecommender bize önceki işbirliğine dayalı filtreleme yönteminin çok düşük olduğunu söylüyor, hadi DL otomatik kodlayıcımızın etkisini görelim:
Gönderen: https://arxiv.org/pdf/1708.01715.pdf
RMSE ve MMSE göstergeleri arasındaki dönüşüm sadece bir kök işareti ekler: RMSE = MMSE.
Önemli olan nokta, otomatik kodlayıcının uçtan uca ve eğitilmesinin daha kolay olmasıdır:
Otomatik kodlayıcı burada giriş Bir kullanıcının seyrek bir film derecelendirme listesidir, Çıktı Bu kullanıcının tüm film derecelendirmelerinin tahminidir. Model ilk kez ilk kullanıcının tahmini için yoğun bir film listesi değerlendirmesi oluşturduğu sürece, diğer kullanıcılar için hatalar oluşacaktır (çünkü diğer kullanıcılar diğer filmleri derecelendirir)
Makalede kullanılan otomatik kodlayıcı mimarisine bir göz atın:
Giriş ve çıkış n, film listesinin uzunluğunu ifade eder (çok uzun bir dizge olmalıdır). Sonraki 128, 256, 256, 256 ve 128 her katmanın çıktılarıdır.Bu ağların hepsinin 6 katmanlı otomatik kodlayıcılar olduğu görülebilir.
dp, makaleye götüren bırakmanın kısaltmasıdır İlk numara : Bırakma oranını artırın. makale Otomatik kodlayıcının bırakılması özeldir, sadece orta katmanda kullanılmaz, aynı zamanda bırakma oranı da çok yüksektir (0,8). Orta katmanda sıkıştırılan bilgilerin o kadar yoğun olduğu ve çoğu bırakma biriminin ilgisiz olduğu görülebilir. (Aynı zamanda genelleme yeteneğini de geliştirebilir).
Başka bir makale bize şunu kullanmamızı söylüyor Negatif değerli aktivasyon fonksiyonu Ayrıca oldukça önemli:
Ek olarak, makale aynı zamanda benzersiz Yoğun yeniden besleme Hile. DeepRecommender, tahmin edilen f (x) 'i otomatik kodlayıcıya yeni bir örnek tahmini f (f (x)) olarak yeniden takar, sonuç f (x) ile tutarlı olmalıdır, bu özel doğrulama yöntemi veya Veri geliştirme Yöntem aynı zamanda aşırı uyumu önlemeye yardımcı olur (öğrenme oranını biraz artırarak):
Gönderen: https://arxiv.org/pdf/1708.01715.pdf
Son olarak, makale proje kaynak kodunu da verir: https://github.com/NVIDIA/DeepRecommender
Referanslar:
Yeniden yayınlandı: E5% 99% A8% E7% 9A% 84% E5% 8D% 8F% E5% 90% 8C% E8% BF% 87% E6% BB% A4collaborative-filtering% EF% BC% 8C% E8% 8B% B1% E4% BC% 9F% E8% BE% BE% E8% AE% BA /