Youtube derin öğrenme öneri sistemi belgelerini yeniden okumaya götürürsünüz

Kaynak: Sütunu bilin

Yazar: Wang Zhe

Bu makale hakkında 5400 Word, önerilen okuma 10+ dakika.

Göze çarpmayacağını düşündüğüm şey, Youtube mühendislerinin değerli mühendislik deneyimini de gizliyordu.

İşte Wang Zhe'nin makine öğrenimi notları: Her bir ila iki haftada bir, bir algoritma mühendisinin bakış açısından bilgisayar reklamcılığı ve öneri sistemleriyle ilgili bazı makaleleri açıklayacağım. Makalelerin seçimi aşağıdaki üç koşulu karşılamalıdır:

  • Biri Mühendislik Oryantasyonu nın-nin;
  • iki Ali, Facebook ve Google gibi birinci sınıf İnternet şirketleri tarafından üretilmiştir
  • Üç Modern veya klasik .

Bu hafta Youtube'un "YouTube Önerileri için Derin Sinir Ağları" adlı derin öneri sistemi makalesini tartışacağız. Bu bir 2016 makalesi. Bugünün standartlarına göre, bu konuda yeni bir şey yok. Bunu iki yıl önce de okudum. Bunu bu makalenin arkasına koydum ama birkaç gün önce bu makaleyi tekrar okuduğumda birçok parlak nokta keşfettim, hemen hemen her yerde rutin ve deneyimle ve bir tanrı olarak şaşırmaktan kendimi alamadım. Bu ilahi metin bende iki noktada derin bir etki bıraktı:

  • Bu şüphesiz Bir endüstri kağıtları modeli , Saygı duyduğum mühendislik odaklı bir makale, algoritma mühendisleri için mutlaka okunması gereken bir makale;
  • Fark edilmeyen yerin Youtube mühendislerinin değerli mühendislik deneyimini de gizlediğini düşünüyorum.Ali'nin geçen hafta tanıttığı derin ilgi ağı DIN ile karşılaştırıldığında en önemli değer Dikkat mekanizmasında yatıyor. Deneyim için cümleye doğru Bir tanrı olarak şok olmamın nedeni budur.

Çok saçma değil, bu makaleyi iki kez okumanın farklı deneyimlerini ve kazanımlarını sizinle paylaşmama izin verin.

Bu yazıyı ilk okuduğumda herkesin algoritmanın mimarisine odaklandığını düşünüyorum .. Bugün derin öğrenme öneri sistemi büyük şirketlerin "temel operasyonu" haline geldiğinde, YouTube algoritma mimarisine şaşırmıyor. Burada, makaledeki derin öğrenme öneri sisteminin algoritma mimarisini hızlı bir şekilde tanıtalım.

Söylemeye gerek yok, dünyanın en büyük UGC video sitesi olan Youtube'un kullanıcı öneri senaryosu, milyonlarca video ölçeğinde kişiselleştirilmiş öneriler gerektiriyor. Çevrimiçi sistem gecikmesi sorunu göz önüne alındığında, aday videolar çok büyük olduğundan, doğrudan önermek için karmaşık bir ağ kullanmak uygun değildir, bu nedenle Youtube, tüm öneri sürecini tamamlamak için iki katmanlı derin bir ağ kullanır:

  • İlk katman Aday Oluşturma Modeli Aday videoların hızlı taraması tamamlandı Bu aşamada aday video seti bir milyondan yüze indirildi.
  • İkinci katman kullanmaktır Sıralama Modeli Yüzlerce aday videonun ince sıralamasını tamamlayın.

İlk olarak aday nesil modelinin mimarisini tanıtın:

Youtube Aday Oluşturma Modeli

Bu ağa aşağıdan yukarıya bakıyoruz, alttan giriş, kullanıcının izlediği videonun gömme vektörü ve arama teriminin gömme vektörü. Bu gömme vektörünün nasıl oluşturulduğuna gelince, yazarın orijinal kelimeleri şu şekildedir:

Kesintisiz kelime dili modellerinden ilham alarak, sabit bir kelime dağarcığındaki her video için yüksek boyutlu yerleştirmeleri öğreniyor ve bu yerleştirmeleri ileri beslemeli bir sinir ağına besliyoruz

Bu yüzden yazar, videoyu ve arama jetonunu gömmek için önce word2vec yöntemini kullandı ve sonra onu girdi olarak kullandı.Bu aynı zamanda yerleştirmenin "temel işlemidir", bu nedenle çok fazla tanıtmaya gerek yoktur, tabii ki diğeri herkese aşina olmalıdır. , Bir gömme katmanı ekleyerek yukarıdaki DNN ile eğitmek mi? İki yöntemden hangisi daha iyi veya daha kötü? Uygulanabilir durumlar nelerdir? Tartışabilirsiniz.

Özellik vektörü ayrıca kullanıcının coğrafi konumunun yerleştirilmesini, yaşını ve cinsiyetini de içerir. Sonra tüm bu özellikleri birleştirin ve bunları üst ReLU sinir ağına aktarın.

Üç katmanlı sinir ağından sonra softmax işlevini görüyoruz. Burada Youtube öğrencileri, bu sorunu bir sonraki izlemeyi öneren kullanıcıların sorunu olarak görüyorlar, bu nedenle çıktının tüm aday videolarda bir olasılık dağılımı olması gerekiyor ki bu da doğal olarak bir çoklu sınıflandırma problemidir.

Tamam, derin öğrenmenin bu "temel işlemleri" seti Youtube'un aday oluşturma ağını oluşturuyor. Olağanüstü görünüyor, ancak yine de bazı gizli sorunlar var, örneğin:

  • Mimari diyagramın sol üst köşesinde, neden çevrimiçi hizmet verirken tahmin için bu ağı doğrudan kullanıp en yakın komşu arama yöntemini kullanmayasınız?
  • Çok kategorili problemde, Youtube'un aday videoları bir milyon kadar büyüktür, bu da milyonlarca kategori olduğu anlamına gelir. Bu, kaçınılmaz olarak eğitim etkisini ve hızını etkileyecektir. Nasıl iyileştirilir?

Bu sorunları ilk okuduğumda derinlemesine düşünmedim ama mühendislik uygulamasında kaçınılmaz olarak karşılaşılacak sorunlardır.Sonra yazıda çözümlerini derinlemesine tanıtacağız.

Artık yüzlerce aday seti elde edildiğine göre, bir sonraki adım, sıralama modelini ince sıralama için kullanmaktır.Aşağıda, sıralama derin öğrenme ağının mimari diyagramıdır.

Youtube Sıralama Modeli

İlk bakışta, yukarıdaki sıralama modeli aday nesil modeli ile aynı gibi görünüyor.Model mimarisi hala derin öğrenmenin "temel işlemidir". Tek fark özellik mühendisliğidir, hadi özellik mühendisliği hakkında konuşalım.

Aslında orijinal metin, bir sıralama modeli olarak başka bir DNN setini tanıtmanın amacının, aday video setini doğru bir şekilde sıralama amacına ulaşmak için videoyu, kullanıcıyı ve ikisi arasındaki ilişkiyi tanımlayan daha fazla özellik sunmak olduğunu da açıkça belirtti.

Sıralama sırasında, videoyu ve kullanıcının videoyla ilişkisini açıklayan daha birçok özelliğe erişimimiz var çünkü aday nesilde puanlanan milyonlar yerine yalnızca birkaç yüz video puanlanıyor.

Özellikle soldan sağa özellikler şunlardır:

  • gösterim video kimliği yerleştirme: Şu anda hesaplanacak videonun gömülmesi
  • izlenen video kimliklerinin ortalama yerleştirme: Kullanıcıların izlediği son N videonun ortalama havuzu
  • dil yerleştirme: Kullanıcı dilinin yerleştirilmesi ve mevcut video dilinin yerleştirilmesi
  • son izlemeden bu yana geçen süre: Aynı kanal videosunu en son izlediğinizden bu yana geçen süre
  • #previous gösterimler: Bu videonun bu kullanıcıya gösterilme sayısı

Yukarıdaki beş özellik arasında dördüncü ve beşinciye odaklanmak istiyorum. Çünkü bu ikisi, kullanıcı davranışının gözlemlenmesine iyi bir giriş niteliğindedir.

Dördüncü özelliğin arkasındaki fikir şudur:

En önemli sinyallerin, bir kullanıcının öğenin kendisiyle ve diğer benzer öğelerle önceki etkileşimini tanımlayanlar olduğunu gözlemliyoruz.

Dikkat çekmek için bazı anlamlar vardır, burada kullanılır son izlemeden bu yana geçen süre Bu özellik, benzer videoları izleyen kullanıcılar arasındaki zaman aralığını yansıtır. Bunu kullanıcının bakış açısından düşünün. "DOTA Classic Review" kanalının videosunu yeni izlediysek, bu kanalın videosunu izlemeye devam etme olasılığımız yüksek. O zaman bu özellik, bu kullanıcı davranışını iyi bir şekilde yakalayabilir. .

Beşinci özellik #previous gösterimler Belirli bir dereceye kadar, aynı videonun aynı kullanıcıya sürekli olarak geçersiz şekilde maruz kalmasını önlemek için keşif fikri getirilir. Kullanıcıların izlemediği yeni videoların pozlama olasılıklarını artırmaya çalışın.

Şimdiye kadar, makaleyi ilk okumam bitti ve Youtube'un algoritmik çerçevesine dair bir konseptim var, ama her zaman bunun çok fazla olmadığını hissediyorum, çok fazla yenilik yok.

Ama gerçekten öyle düşünüyorsan, bu hala çok saf. Ali'nin Derin İlgi Ağı DIN Aradaki fark şu ki, DIN'nin dikkat mekanizmasını anlarsanız, kağıdının değerinin% 70'ini yakalayabilirsiniz, ancak bu makale, Yalnızca Youtube'un öneri sistem mimarisini anlarsanız, değerin yalnızca% 30'unu alırsınız. Peki kalan% 70'in değeri nerede?

Bu makaleyi bir mühendisin bakış açısından yeniden okurken, her zaman "nasıl başarılır" dizesiyle mücadele ediyordum ve daha önce bu makalenin mühendislik değerini büyük ölçüde görmezden gelmiştim. Aşağıda makalede çözülen çok değerli on sorunu listeliyorum:

  • Makalede öneri problemi çoklu sınıflandırma problemine dönüştürülmüştür.Bir sonraki izleme senaryosunda her aday video bir sınıflandırma olacaktır, bu nedenle toplam sınıflandırma milyonlardır, bu şüphesiz softmax eğitimi kullanırken verimsizdir. Youtube bu sorunu nasıl çözdü?
  • Aday üretme modelinin sunum sürecinde Youtube, tahmin için eğitim sırasında neden doğrudan modeli kullanmıyor ama en yakın komşu arama yöntemini kullanıyor?
  • Youtube kullanıcıları yeni videoları tercih ediyor, peki bu özelliği model oluşturma sürecinde nasıl tanıtabilirim?
  • Eğitim setinin ön işlemesinde Youtube orijinal kullanıcı günlüğünü kullanmadı, ancak her kullanıcı için eşit sayıda eğitim örneği çıkardı.Neden?
  • Youtube neden RNN'ye benzer bir Sıra modelini benimsemiyor, ancak kullanıcının görüntüleme geçmişinin zaman dizisi özelliklerini tamamen terk ediyor ve kullanıcının son göz atma geçmişini aynı şekilde ele alıyor.Bu etkili bilgileri kaybetmiyor mu?
  • Test setiyle uğraşırken, Youtube neden klasik rastgele uzatma yöntemini kullanmıyor, ancak kullanıcının en son görüntüleme davranışını test seti olarak alması gerekiyor?
  • Optimizasyon hedefini belirlerken Youtube neden klasik TO veya oynatma oranını benimsemedi, ancak optimizasyon hedefi olarak gösterim başına beklenen izlenme süresini neden kullandı?
  • Video yerleştirme yaparken neden çok sayıda uzun kuyruklu video doğrudan 0 vektörle değiştirilsin?
  • #Previous gösterimler gibi belirli özellikler için, neden kök ve kare işleme üç özellik giriş modeli olarak kullanılmalı?
  • Sıralama modeli neden çıktı katmanı olarak klasik lojistik regresyon kullanmıyor, bunun yerine ağırlıklı lojistik regresyon kullanıyor?

Video önerisi alanında da çalıştığım için sorumlu bir şekilde yukarıdaki on sorunun çok değerli olduğunu söyleyebilirim. Ama bugün burada tek bir nefeste yazarken, biraz enerji eksikliği hissediyorum. . Eğer ilgileniyorsanız, beğenebilirsiniz Yukarıdaki on sorunun cevabını yarın detaylı olarak analiz edeceğim.

Yukarıdaki soruların cevapları tamamlandı, lütfen bir sonraki makaleme bakın

Tamam, işte Wang Zhe'nin makine öğrenimi notlarının ikinci makalesi. Seviye sınırlıdır. Şikayet edebilir, eleştirebilir ve hataları düzeltebilirsiniz.

Referans malzemeleri: YouTube Önerisi için Derin Sinir Ağları'ndaki dikkat mekanizması Önerici Sistemi Kağıt Listesi Öneri Sistemi Alibaba Derin İlgi Ağı (DIN) - Bitiş -

Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.

Torino, İtalya çocuk hastanesi için ekipmanı değiştirdi
önceki
Dünyanın ilk S10 dört kameralı telefonunu piyasaya süren Gionee, gençleri yakalamak için savaşı başlatıyor
Sonraki
Mandzukiç cezalandırılmayacağını doğruladı! Hakemler 1 açıklama yaptı, Süper Lig'de 5 maç için uzaklaştırılabilir
Algoritma mühendislerinin bilmesi gereken görüşme becerilerinin radar şeması
Merkel, Köln Havalimanı'na acil iniş yaptı ve G20 açılış törenini kaçırmak zorunda kaldı
16.625 makale, 25 yılda yapay zekanın evrim yasasını ortaya koyuyor! Derin öğrenme çağı sona eriyor!
Bu AFC zaferi 1484 gün sürdü ve ayrıca 25 yıllık büyük bir rekoru tamamladılar!
1 milyardan fazla güneş kütlesine sahip bir kara delik galaksinin merkezinden "dışarı atıldı"!
Zhang Guiping'in gelişmiş eylemleri hakkında bir rapor toplantısı Guangyuan, Lizhou Bölgesinde düzenlendi
[Röportaj] Weiwei Technology Li Ziyang: OCR taraması yalnızca temel bir teknolojidir, küçük programlar ve iş zekası gelecekteki gelişimin odak noktasıdır
Cisse: Kırık bacak için gerçekten Zheng Zhi'yi suçlamıyorum.Umarım bir şansım olduğunda onunla tekrar görüşebilirim!
Bütçe açığı hala yüksek, İtalya Başbakanı G20 zirvesi iyimserliği ifade ediyor
Songpanpu'da yoğun kar yağışı, birçok bölümde kar ve koyu buz
SpaceX "roketi kurtarın ve yeniden fırlatın" ın farkına varır! Musk'ın hayali büyük bir adım atıyor
To Top