Kategoriler
İş Dünyası Yapay Zeka

Netflix’in kullandığı yapay zeka teknolojileri

İçerik önerileri dışında Netflix’in kullandığı yapay zeka teknolojileri hangileri? Netflix yapay zeka teknolojilerini ne amaçla kullanıyor?

Netflix’in bizlere içerek önerirken yapay zeka teknolojilerinden faydalandığını muhtemelen duymuşsunuzdur. Ama Netflix’in kullandığı yapay zeka teknolojileri, sadece kullanıcıya özel içerik önerileri üretmekle sınırlı değil. Bu yazıda ve muhtemelen devam eden yazılarda, Netflix’in hangi amaçla hangi yapay zeka teknolojilerini kullandığını basit bir dille anlatmaya çalışıyorum.

Netflix’in temel amacı

Kullanılan teknolojilere geçmeden önce şunu göz önünde bulundurmakta fayda var: Netflix, birtakım insanların hobi amaçlı kurdukları bir platform değil. Ticari bir işletme. Ve doğal olarak bir iş modeli ve amacı var. Amacı da çok karmaşık değil. Netflix’in amacı, kullanıcılarını her ay abone olarak tutmak. Bu kadar basit. Kullanılan tüm teknolojiler, hazırlanan ve seçilen tüm içerikler bu amaca hizmet ediyor. 

Netflix’in başarısının sırrının sadece “iyi içerik” olduğunu düşünenler var.

Belki siz de onlardansınız, bilemiyorum. Ama bu yazıyı okuduktan sonra, kullanıcıyı platforma bağlamak için düşünülen “incelikleri” ve kullanılan teknolojileri gördükten sonra, meselenin sadece “iyi içerik” olmadığından emin olacaksınız. 

O zaman, Netflix’in bize daha iyi bir izleme deneyimi sunmak için kullandığı yapay zeka teknolojilerini anlatmaya başlayalım. İlk olarak, yayın kalitesi ve izleme deneyimi için neler yaptıklarına bakalım.

Yayın kalitesi ve izleme deneyimi için Netflix’in kullandığı yapay zeka teknolojileri

İnternetten herhangi bir video seyrederken donma problemiyle karşılaşmayan yoktur. Görüntü donar, bir süre sonra devam eder. Netflix’te ise bu problemle neredeyse hiç karşılaşmayız.

Aynı internet bağlantısıyla başka sitelerde 5 dakikalık videoda bile bazen sorun yaşarken, Netflix’te 2 saatlik bir filmi bile hiç takılmadan seyrederiz. Bu nasıl oluyor da oluyor?

Netflix’in büyük problemi

Düşünün, 100 milyondan fazla aboneniz var. Bu aboneleriniz farklı farklı ülkelerde ve hepsi farklı koşullarla sisteminize bağlanıyor. Farklı markalardan farklı cihazlar, farklı bağlantı hızları ve abonelerin farklı davranış biçimleri var.

Üstelik Akıllı TV’lerin, bilgisayarların, tabletlerin ya da telefonların, internet bağlantısı konusunda farklı farklı özellikleri ve performansları var. 

Ayrıca 3G ve 4G gibi mobilden bağlananlar, Wi-Fi ile sabit geniş banttan bağlananlar var.

Bitmedi, her cihazdaki Netflix uygulamasının farklı versiyonları, güncellenmiş ya da güncellenmemiş halleri var.

Ve siz bunlara, aynı sorunsuz deneyimi sunmak zorundasınız.

Üstüne bir de yaptığınız iş video yayıncılık (video streaming) olunca, “internet hızı” dediğimiz şey de yayın kaliteniz için tek başına kriter olamıyor. 

Kullanıcının bağlı olduğu ağın hızıyla birlikte, stabilitesi ve öngörülebilirliği de önem kazanıyor. (Boşverin stabilite gibi kelimeleri. Biz buna, internet bağlantımızın oynaklığı diyelim:) Yani kullanıcının interneti çok hızlı olabilir. Ama bu sabit değil de dalgalanan bir hızsa, bağlantı esnasında düşüşler-yükselişler yaşanıyorsa, bu da Netflix’in size sorunsuz bir akış sağlamasını zorlaştırıyor.

Gelelim bu sorunlarla başa çıkmak için Netflix’in kullandığı yapay zeka teknolojilerine

1. Netflix, makine öğrenmesi modelleriyle ağ kalitesini tahmin etmeye çalışıyor

Yukarda bahsetmiştik, ağ kalitesi derken kastımız, internet bağlantısının oynaklığı. Yani bağlantıdaki olası dalgalanmalar. Netflix’in bunu öngörmes önemli çünkü siz bir videoyu başlattığınızda, izleyeceğiniz videoyu size hangi görüntü kalitesinde oynatmaya başlayacağına ve izleme süresince görüntü kalitesini nasıl ayarlayacağına bu sayede karar veriyor. 

Not: Yüksek görüntü kalitesi demek dosya boyutunun büyümesi demek. Yani biz filmi izlerken, daha büyük boyutta dosyaların transferi demek. Bağlantının fazla oynak olduğu durumlarda, video bağlantı hızını o an yüksek görüp, yüksek görüntü kalitesiyle oynatmaya başlarsa, bağlantı hızının düştüğü anlarda ağ o dosya boyutunu taşıyamayacağı için, donma gerçekleşir. İşin içine ara bellek gibi kavramlar da giriyor ama o kadar detaya şimdilik gerek yok.

Aşağıda Netflix’in teknoloji blogundan aldığım bir grafik var. Gerçek verilerden oluşan bir grafik. Netflix’in herhangi bir andaki son 15 dakikalık ağ çıkışı (Network throughput) verilerini gösteriyor. Konunun uzmanı olmanıza gerek yok, nasıl bir dalgalanma olduğunu görebilirsiniz.

Netflix’in herhangi bir andaki son 15 dakikalık ağ çıkışı (Network throughput)

Yapay zeka teknolojileri burada devreye giriyor. Daha doğrusu, yapay zekanın bir dalı olan makine öğrenmesi. Burada kendilerine şöyle sorular soruyorlar: Geçmiş dalgalanmalara bakarak, önümüzdeki dakikalarda neler olacağını tahmin edebilir miyiz? İşte bu tam da, makine öğrenmesi dediğimiz, şu an yapay zeka alanındaki gelişmelerin lokomotifi olan yöntemin konusu. 

Makine öğrenmesi (Machine Learning) – Yapay Öğrenme

Makine öğrenmesi, daha güzel bir Türkçeyle yapay öğrenme, sorulara verileri kullanarak cevap vermeye yarayan bir yöntem. Netflix’in elinde de yukarda bizimle paylaştıkları gibi, sadece son 15 dakikalık veri yok. Bağlı olan her cihazın her an her davranışı kayıt altında. Yani ellerinde 100 milyonu aşkın kullanıcının bağlantı geçmişleriyle ilgili veri var.

İşte bu verileri kullanan makine öğrenmesi modelleriyle, biz Netflix’in karşısına geçtiğimizde, o oturumdaki internet bağlantımızın “oynaklığıyla” ilgili öngörülerde bulunup, bu öngörüleri seçtiğimiz videoyu kesintisiz izlememizi sağlamak için kullanıyorlar.

Bkz: Makine öğrenmesi nedir? Bkz: Makine öğrenmesi nasıl çalışır?

2. Netflix, izleme esnasında videonun kalitesini değiştirebilen bir algoritma kullanıyor

Netflix’te bir şeyler izlerken belki fark etmişsinizdir, görüntü kalitesi bazen düşer, bazen de yükselir.

Bunun sebebi şu: Netflix, içerikleri tek bir video kalitesinde standart depolamıyor. Farklı bağlantılar ve cihazlarda kullanıcıya en uygun deneyimi sunmak için farklı farklı formatlarda depoluyor. Hangi cihazda, hangi internet bağlantısı koşullarında, hangi formatı kullanacağına karar veren bir algoritması var. Ve bu seçim, sadece biz videoyu oynatmaya başladığımız anda yapılan bir seçim değil. 

Biz mesela seçtiğimiz filmi izlerken, cihazın ve bağlantının şartlarına göre videonun kalitesi değişebiliyor. Bağlantı kalitesi düşerse, görüntü kalitesi düşüyor, yükselirse artıyor. Bu sayede, şartlar değişse de video çoğunlukla donmuyor. 

Burada farklı parametreler de devreye giriyor.

Mesela bir filmi izlerken filmi tahmini kaç kere durduracağımız önemli. Çünkü filmi durdurduğumuz anlarda önbelleği kullanıp yüklemeye devam ediyor ve tekrar başlattığımızda daha yüksek kaliteli görüntüyle devam edebiliyor. Ya da videoyu ilk oynatmaya başladığımız anda videonun başlaması için gereken süreyi hesaba katması gerekiyor. Çünkü yüksek görüntü kalitesiyle başlatmak için bizi çok bekletirse sıkılırız, hemen oynatmaya başlarsa da düşük görüntü kalitesiyle başlaması gerekir. Optimum süreyi bulması gerek.

Ayrıca oynatma sırasında görüntü kalitesindeki değişimlerin miktarının da izleyici rahatsız edici seviyede olmaması gerekiyor. Yoksa bağlantıdaki her oynaklıkta görüntü kalitesi değişirse, izleyici için çok rahatsız edici olur.

Netflix’in buradaki amacı, sisteme en az yük bindirecek şekilde, bize en kaliteli görüntüyü, en akıcı şekilde sunmak. Ellerindeki geçmiş verileri ve yukardakiler gibi değişkenleri kullanarak, sistemin o an en doğru kararı vermesini sağlamak için, makine öğrenmesinin bir dalı olan ödüllü öğrenme (reinforcement learning) yöntemini kullanıyorlar.

Reinforcement learning

Türkçeye birçok yerde pekiştirmeli öğrenme olarak çevrilse de, ben ödüllü öğrenme diye çevirmeyi tercih ediyorum.

Çünkü reinforcement learning, algoritmaları eğitmek için ödül ve ceza sistemi kullanan dinamik bir programlama türü. 

Kısaca şöyle çalışıyor: Algoritma, bir veri kümesinin içindeki kalıpları ve ilişkileri buluyor. Sistem, o veri setinin içinde istenen bir ilişki bulduğunda ödüllendiriliyor, istenmeyen bir ilişki bulduğunda da cezalandırılıyor. Algoritma, ödüllerden ve cezalardan öğreniyor ve kendini sürekli güncelliyor. Gerçek zamanlı veriyle çalışıyor. 

Netflix modelin ayrıntılarını paylaşmıyor ama modelin verdiği kararın, videonun oynatılması esnasında “donmaya” yol açması, ceza kısmı olsa gerek:)

3. Netflix, ne izleyeceğinizi tahmin ederek siz ona tıklamadan önce onu hazırlıyor

Netflix’in bu numarasını farketmemişsinizdir, ben de okuyunca öğrendim.

Netflix’i açıp koltuğa yayıldınız diyelim. Siz ne izleyeceğinize karar vermek için  bakınırken, Netflix de aynı şekilde sizin ne izleyeceğiniz hakkında düşünmeye başlıyor.

Arkada çalışan istatistiksel model, daha önce izlediklerimizden yola çıkarak o anda neye tıklayacağımız hakkında bir öngörüde bulunuyor. Ve tahmin ettiği içeriği önbelleğe alıp hazırlamaya başlıyor. (Mesela bir süredir izlediğimiz dizinin bir sonraki bölümü.)

Bu yöntem sayesinde, tahmin tutarsa tabii, tıkladığınızda hem video daha hızlı başlıyor hem de daha yüksek görüntü kalitesinde başlayabiliyor.

Netflix bu numarası için de, makine öğrenmesinin bir türü olan denetimli öğrenme (Supervised Learning) modelini kullanıyor. İzleme geçmişimiz, daha önceki davranışlarımız gibi verileri kullanarak, o an ne izleyeceğinizi öngören bir yapay zeka algoritması çalıştırıyor.

Denetimli öğrenme ve denetimsiz öğrenme gibi yapay zeka terimleri için

Bkz: Yapay Zeka Sözlüğü

4. Netflix, kullandığımız cihazlardaki anormallikleri tespit etmek için de yapay zeka teknolojileri kullanıyor

En başta da bahsettiğim gibi Netflix, 100 milyondan fazla kullanıcı ve binlerce çeşit cihazla uğraşıyor. Telefonlar, TV’ler, tabletler, kimi IOS kimi Android, kimi güncel kimi değil… Bu çeşitlilik cihaz, işletim sistemi ve kullanılan Netflix uygulaması sürümü özelinde binlerce farklı problem demek. Bunları manuel olarak tek tek takip edip sorunları düzeltmek de imkansız. 

Netflix bunun için de makine öğrenmesini ve istatistiksel modellemeleri kullanıyor. Ellerindeki verilerle problemleri kategorilere ayırıp, problemin kaynağıyla ilgili belli aşamaları tahmine dayalı modellerle gruplandırdıktan sonra, gerekirse manuel olarak müdahale ediyorlar. Bu da Netflix’te çalışan ekip için büyük bir kolaylık demek.

Yayın kalitesi ve izleme deneyimi için Netflix’in kullandığı bazı yapay zeka teknolojileri bunlar.

Devam eden başka bir yazıda, bizlere içerik önermek için Netflix’in kullandığı yapay zeka teknolojileri olacak muhtemelen. Linkini buraya da bırakırım.

Bazı okuyucular, yapay zeka böyle bir şey mi ki, diye soruyor olabilirler. Evet aslında böyle bir şey.

Bugün kullandığımız yapay zeka teknolojilerinin ne amaçla kullanıldığını ve nasıl çalıştığını merak ettiyseniz aşağıdaki yazılara da göz atabilirsiniz.

Yapay zeka nedir? Teknik terimlerle boğulmadan, yapay zeka nedir ve ne işe yarar sorularının cevabı

Yapay zekayı anlamak için 5 soru 5 cevap

Yapay zeka hakkındaki safsatalar ve gerçekler

Kaynaklar:

The Netflix Tech Blog – Using Machine Learning to Improve Streaming Quality at Netflix

Allen Yu – How Netflix Uses AI, Data Science, and Machine Learning — From A Product Perspective

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir