gRPC Performance Optimization

Streaming is more efficient than sending a separate RPC for each chunk of big data, but less efficient than a single RPC with all chunks in a repeated field. The overhead of streaming can be minimized by using a batched message type.

24 Kasım 2019

Posted In: grpc

Algoritmalar: Doğru, yanlış ama yansız değil

Bloomberg’de yayımlanan “Bir Robot Servetinizi Kaybederse Kime Dava Açmalı?” (https://www.bloomberg.com/news/articles/2019-05-06/who-to-sue-when-a-robot-loses-your-fortune) başlıklı haberi okuyunca askerde cezalandırılan nesneler (tank, ağaç, tepe, taş vs) hakkında anlatılan hikayeleri anımsadım. İnsan olmayan bir varlığa dava açmak veya onu cezalandırmak akıldışı görünebilir. Ama son yıllardaki gelişmeleri ve uygulamaları düşününce bir tankı veya ağacı cezalandırmaktan daha farklı bir durumla karşı karşıya olduğumuz anlaşılacaktır. Algoritmik karar sistemleri gündelik hayatta çeşitli sorumlulukları yerine getiriyorlar ve hızla yaygınlaşıyorlar. Bu sistemlerde kullanılan algoritmaların insanlardan yalnız daha hızlı değil, daha doğru karar verdiğini de varsayıyoruz. Bu varsayım çoğunlukla doğru. Fakat işler her zaman yolunda gitmeyebilir. Algoritmaların kararları nedeniyle insanlar çeşitli biçimlerde mağdur olabilirler. Böyle sorunlar yaşandığında sorumluluk kimde olacak?

Yazının devamında tartışacağımız gibi insanlar, en başta da toplumun dezavantajlı kesimleri, nasıl işlediğini bilmedikleri algoritmalar karşısında çaresiz kalabiliyorlar. Bloomberg’in haberindeki mağdur ise bu defa biraz farklı: Bir İngiliz gayrimenkul yatırım ortaklığı olan Shaftesbury PLC’nin başlıca yatırımcılarından Samuel Tak Lee’nin oğlu, Samathur Li Kin-kan. Hikaye, Li ve yatırım fonu satıcısı Raffaele Costa’nın 19 Mart 2017’de Dubai’de bir öğle yemeğinde bir araya gelmesiyle başlar. Costa, yapay zekâyı kullanarak yatırımları yönetebilen bir sistemden bahseder. Avusturya merkezli 42.cx adlı şirket tarafından geliştirilen K1 adlı sistem haberleri ve sosyal medyayı gerçek zamanda değerlendirerek ABD hisse senetleri üzerine tahminler yapacak ve borsa simsarını alınıp satılacak hisse senetleri hakkında yönlendirecektir. Sistem, Li’nin ilgisini çeker ve yemekten üç gün sonra Costa’ya attığı e-postada bunun tam da kendi tarzı olduğunu yazar. Sonraki aylarda Costa, Li’ye K1’in simülasyonlarını gösterir. Li, geriye dönük testler hakkında kuşkuları olmasına karşın en sonunda ikna olur ve 2,5 milyar doları K1’e teslim eder. Parasını ikiye katlamayı planlamaktadır.

Fakat 2017’nin sonunda, K1’in alım satım işlerine başlamasıyla beraber Li’nin beklentisi boşa çıkar. Li’nin parası düzenli olarak azalmaktadır. Hatta 14 Şubat’ta, tek bir günde, stop-loss emri (borsada zararı durdurma emri) nedeniyle 20 milyon dolar kaybeder. Li’nin avukatları, eğer K1, Costa’nın Li’yi inandırdığı kadar iyi olsaydı böyle bir şeyin olamayacağını iddia ediyorlar. Li’nin avukatları Costa’nın şirketi Tyndaris’e karşı açtıkları davada Costa’yı K1’in yapabileceklerini abartmakla suçluyor ve 23 milyon dolar tazminat talep ediyor. Tyndaris ise ödenmemiş ücretler nedeniyle Li’den 3 milyon dolar talep ediyor ve Costa’nın, yapay zekâ stratejisinin para kazandıracağı hakkında garanti vermediğini söylüyor.

Li’nin avukatlarına göre Costa, K1’i geliştiren mühendislerin özelliklerini abartarak da Li’yi yanıltmış. K1’i geliştirenler arasında 1997’de Kasparov’u yenen Deep Blue’yu geliştiren ekipten kişiler olduğunu söylemiş. Tyandris, Bloomberg’in bu iddia hakkındaki sorularını yanıtlamaktan kaçınmış. K1’i geliştiren 42.cx’in CEO’su Daniel Mattes, ekiplerinde Deep Blue’yu geliştiren ekipten hiç kimse olmadığını söylüyor. Sadece 1960’larda SSCB’de Kaisa adlı satranç programını geliştiren Vladimir Arlazarov’dan genel tavsiyeler almışlar ama Arlazarov K1 üzerinde hiç çalışmamış. Ayrıca Mattes’in belirttiği gibi algoritmalar oyunlarda daha başarılı, çünkü oyunlarda benzetim yapılabilen açık kurallar borsada yok; dolayısıyla oyunlardaki deneyimle yatırımcılık arasında fazla bir ilişki de yok.

Kısacası Li, Costa’nın kendisini K1’in yetenekleri hakkında yanılttığını iddia ediyor. Costa da Li’nin kaybında sorumluluğu olmadığını ve yapay zekânın kararları hakkında garanti vermediğini belirterek kendini savunuyor. Bir bakıma, “ben yapmadım, algoritma yaptı” diyor. İlginç bir dava olacak…

Haberde üzerinde durulduğu gibi, yapay zekâ, akıllı asistanlardan sürücüsüz arabalara kadar gündelik hayatın her alanına dahil olurken işler kötüye gittiğinde sorumluluğun kimde olacağı kritik bir sorundur. Şirketlerin ürünlerini satmak için otonom sohbet robotlarını kullanacağı günler yakın. Bir sorunla karşılaştığımızda satıcıyı (sohbet robotunu) sorumlu tutabilecek miyiz? 18 Mart 2018 tarihinde, Uber’in kendi kendine gidebilen aracı sokakta karşıdan karşıya geçen Elaine Herzberg’in ölümüne neden olmuştu. Arabanın içerisinde bir sürücü de vardı, ama kamera kayıtlarına göre kaza öncesinde yola bakmıyordu. Uber kazadan sorumlu tutulmadı. Fakat sürücüsüz aracın içindeki yedek sürücü Rafaela Vasquez hakkındaki araçla adam öldürme soruşturması devam ediyor. Belki kazanın sorumlusu Vasquez; gözünü yoldan ayırmaması gerektiğini söyleyen test talimatlarına uymamış olabilir. Peki test sürüşleri tamamlanıp araçlar trafiğe çıktığında kazaların sorumlusu kim olacak? Sürücüsüz araçlar, kaza oranlarını düşürecekler. Fakat herhangi bir olumsuzlukta insanlar sorumlu aramak isteyecekler.

Algoritmik karar sistemleri toplumsal yönetim ve karar süreçlerinde kullanılıyor. Bu sistemlerin yaptıkları hatalarda sorumluluk kimde olacak? Yuval Noah Harari, Homo Deus: Yarının Kısa Bir Tarihi başlıklı kitabında kıtlık, salgın ve savaşların artık önlenemez meseleler olmaktan çıktığını, artık doğaüstü güçlere yalvarmak zorunda olmadığımızı yazıyor. Bu sorunlar tamamen ortadan kalkmış değil. Fakat Harari’nin yazdığı gibi bu sorunlarla karşılaştığımızda bunu doğaüstü varlıklara bağlamıyor, “birilerinin sorumluluğunu yerine getirmediğini düşünüyor bir soruşturma komisyonu oluşturuyor ve bir daha aynı hataları tekrar etmeyeceğimizi söylüyoruz.”. Kamu hizmetlerinde görevli yöneticilerin ya da sistemleri geliştirenlerin ve pazarlayanların “ben yapmadım, algoritma yaptı” diyerek sorumluluğu eski zamanlarda olduğu gibi bir doğaüstü varlığa (algoritmaya!) yükleme hakları olabilir mi?

Herkes hata yapabilir… Algoritmalar da!

Algoritmik karar sistemleri her geçen gün daha da yaygınlaşıyor. Bize ürün, film, şarkı, arkadaş vs öneren sistemleri artık yadırgamıyoruz. Fakat algoritmalar yalnız çeşitli önerilerle ürün satmak için değil, yaşamızı etkileyecek büyük kararlarda da kullanılıyorlar:

  • İş başvurularını sıralama
  • Sosyal hizmetleri tahsis etme
  • Terfi ettirilecek veya işten çıkartılacak çalışanları seçme
  • Açık pozisyonlar, konutlar ve ürünler için verilen reklamları kimin göreceğine karar verme
  • Bir kişinin suç işleme riskini veya hapis cezasının süresini tahmin etme
  • Sigorta ve yardımları tahsis etme
  • Kredi belirleme
  • Arama motorlarında haber ve bilgileri sıralama

Bu sistemlerin çalışma ilkeleri hakkında ne biliyoruz? Her zaman algoritmaların sayısal kesinliğine güvenebilir miyiz? Google’ın aramalardaki isabetli arama sonuçları çoğu zaman kolaylaştırıyor. Ama Google, ya bazı haberleri özellikle öne çıkarıyorsa? İnsanların çoğu zaman ilk sayfadaki sonuçlarla yetindiği düşünülürse Google sunduğu enformasyonla bilgimizi de biçimlendirmiyor mu?

Artık elimiz ayağımız olan navigasyon uygulamalarına ne kadar güvenebiliriz? CHP Zonguldak Milletvekili Deniz Yavuzyılmaz’ın “sürücülerin yolculuk güzergahlarını belirlemesinde yardımcı olan navigasyon uygulamalarının vatandaşları hiçbir uyarı yapmadan ücretli yollara yönlendirmesiyle” ilgili önergesi insanı işkillendiriyor (https://www.birgun.net/haber-detay/navigasyon-uygulamalari-tbmm-gundeminde.html).

Bir yol tarifi alacaksam en azından iki kişiye sormaya tercih ederim. İlk sorduğum kişi yolu yanlış tarif etmiş ya da ben yanlış anlamış olabilirim. Ama bir çok insan gibi ben de navigasyon uygulamalarına (yayayken de) insanlardan daha çok güvenirim. Çoğunlukla önerdiği rotayı izlerim. Fakat hem Yazvuzyılmaz’ın önergesi hem de 2009’da Robert Jones’un başına gelenler navigasyon uygulamalarının gösterdiği rotayı gözü kapalı kabul etmememiz gerektiğini gösteriyor. Jones, navigasyon cihazının gösterdiği kestirme yolu takip eder. Yol gittikçe daralıp dikleşse de kuşkulanmaz; navigasyon cihazı, patikanın yol olduğu konusunda ısrarlıdır. Jones da ona güvenir ve ilerlemeye devam eder. Uçurumdan aşağı yuvarlanmaktan kıl payı kurtulur (Fry, 2019)!

Navigasyon cihazları çoğu zaman en doğru rotayı tarif etse de Jones, navigasyon cihazına körü körüne itaat etmekle hata etmiştir. Gündelik hayatta çoğumuz algoritmik sistemler karşısında benzer tepkiler veririz ve algoritmanın otoritesini sorgulamayız. Bilgisayarlar insanlardan daha hızlı ve doğru hesap yaparlar. Fakat kontrolü ne zaman elimize almamız gerekir?

Stanislav Petrov, nükleer erken uyarı sisteminden sorumlu bir Sovyet askeridir. 1983’te görev başındayken sistem, düşman füzesi algıladığına dair uyarı verir. Fakat sistem, sadece beş füze saptamıştır ama bu ABD’den beklenmeyecek derecede zayıf bir başlangıçtır. Petrov, uyarıyı rapor ederse, ardından SSCB’nin bir misilleme saldırısı gelecek ve dünya nükleer savaşa sürüklenecektir. Beklemeyi tercih eder. 23 dakika sonra algoritmanın hata yaptığı anlaşılır! Günümüzdeki erken uyarı sistemleri, 36 yıl önceki Sovyet teknolojisinden çok daha ileri olabilir. Fakat bu ileri sistemlerin insanlar gibi karar alma sorumluluğunun ağırlığını hissedebilmeleri zordur. Petrov, hatalı bir kararın felaket olacağının farkındadır. Uyarı sisteminin başında ya Petrov değil de uyarıları anında Kremlin’e iletebilen bir algoritma olsaydı (age) ?

O zaman insanların makinelerden daha iyi karar vericiler olduğunu söyleyebilir miyiz? Acele etmeyelim… 2015 yılında, Büyük Britanya’da bir eğlence trenindeki arızayı gideren mühendisler test için boş bir vagon gönderirler. Mühendisler gönderdikleri vagonun geri gelmediğini, rayların ortasında kaldığını fark etmezler. Her şeyin yolunda olduğunu düşünen görevliler müşterilerle dolu ilk vagonu gönderirler. Sistemi tasarlayanlar böyle bir hatanın olabileceğini öngörmüşlerdir. Müşteri dolu vagon durdurulur ve kontrol odası bir çarpışma olasılığına karşı uyarılır. Mühendisler ise treni onardıklarını ve uyarı sisteminin hata yaptığını düşünürler. Uyarıyı devre dışı bırakırlar ve sistemi tekrar çalıştırırlar; vagonların çarpışması sonucu çok sayıda insan yaralanır (age).

Algoritmalardan kaynaklı sorunlar da vardır, algoritmaların sağladığı yararlar da. Eğer kararların doğruluğu karşılaştırılırsa algoritmik karar vericilerin çok daha başarılı ve hatasız olduğu da söylenebilir. Ama algoritmik karar vericilerin kararlarından olumsuz etkilenen insanlar varsa bu olumsuzlukların kaynaklarını ve yapılabilecekleri de tartışmak zorundayız. Bu bağlamda, algoritmik sorumluluk konusu önem kazanıyor. Yazının başında Li’nin başına gelenlerden Costa’yı sorumlu tuttuğunu, Costa’nın ise sorumluluğu algoritmaya yüklediğini görmüştük. Algoritmik sorumluluk böyle durumlara karşı şirketlerin geliştirdikleri algoritmaların sonuçlarından sorumlu olmasını ifade ediyor. Şirketin olabilecek sorunlara karşı gerekli önlemleri alması ve bir sorun olması halinde sisteme gerekli müdahaleyi yapması gerekiyor. Sorumlu sistemlerin hatalara karşı bir düzeltme mekanizmaları vardır. Algoritmalar, hesaplamaları insanlardan çok daha hızlı ve doğru yaparlar; fakat girdilere, sistemin tasarımına ve çıktılara karar veren insanlardır. Bir diğer deyişle, hatayı yapan algoritmalar değil, teknolojinin tasarımcıları ve onu piyasaya süren şirkettir. Yani insandır!

Dolayısıyla “insanlar makinelere karşı” gibi bir durum aslında oldukça yanıltıcı. İnsan, insana karşı… Peki neden algoritmik sistemler özerk varlıklarmış gibi görülüyor?

Algoritma Nedir?

Algoritma, bilgisayarın belirli bir görevi yerine getirmesi için izlemesi gereken talimatlar dizisidir. Bir kurumun yöneticisi olduğunuzu ve personel alımı yapmak istediğinizi varsayalım. Yayımladığınız iş ilanında bir sınav yapacağınızı ve ilk ona giren adayları işe alacağınızı duyurdunuz. Bir programcıdan da ilk onu listeleyebilmek için bir yazılım geliştirmesini istediniz. Fakat yazılım, iki adayın puanı eşit olmasına rağmen birini 10., diğerini de 11. olarak belirledi. 11. olan aday sınav sonuçları açıklandığında 10. adayla puanının aynı olduğunu görerek sonuca itiraz etti. Algoritma adayların puanları eşit olduğunda nasıl bir yol izliyor? Sorumluluk ya yanlış bir algoritma uygulayan programcıdadır ya da sınav yönetmeliğini eksik hazırlayan ve duyuran kurum yönetimindedir. Ancak her iki durumda da sorunun nedenini bulmak ve mağduriyeti ortadan kaldırmak kolay olacaktır.

Şimdi başka bir senaryo düşünelim. Yine bir kurumun yöneticisi olduğunuzu ve çok fazla başvuru olduğu için adaylarla görüşmeden önce başvuruları bir otomasyon sisteminin desteğiyle değerlendirmek ve bazı adayları baştan elemek istediğinizi varsayalım. Burada bir algoritma var ama sistem bir kara kutu. Algoritmanın başvuruları kabul ederken ya da reddederken nasıl bir yol izlediği bilinmiyor. Yazılımı geliştirenler özellikle bir kural tanımlamamış olmasına rağmen aynı niteliklere sahip kadın ve erkek aday varsa, erkek aday daha üst sırada yer alıyor. İşte son yıllarda tartıştığımız, şikayet ettiğimiz algoritmalar bu tipte, kara kutu biçiminde olanlar.

Bu bağlamda algoritmaları kural tabanlı algoritmalar ve yapay öğrenme algoritmaları olarak ikiye ayırabiliriz. Kural tabanlı algoritmalar, doğrudan ve net yönergeler içerirler. İlk örnekte, programcının uyguladığı algoritmaya göre bir sıralama yapılır. Verinin miktarı veya dağılımı algoritmanın çalışmasını değiştirmez. Yazılımı açıp çalışma mantığını anlayabiliriz. Fakat Fry’ın (2019) altını çizdiği gibi kural tabanlı algoritmalar yalnızca insanın kural yazabileceği sorunlar karşısında işe yarar. Resimlerdeki nesneleri tanımada veya bir dilden diğerine çeviri yapmada yetersiz kalır.

Büyük veriyle beraber daha önemli hale gelen yapay öğrenme algoritmaları ise canlıların öğrenme biçimlerini taklit eder. Canlıların, deneyimlerinden öğrenmesi gibi yapay öğrenme algoritmaları da verinin içerdiği deneyimden öğrenir. Yapay öğrenme algoritmalarını dörde ayırabiliriz: Denetimli öğrenme, denetimsiz öğrenme, yarı denetimli öğrenme ve pekiştirmeli öğrenme.

Denetimli öğrenmede, girdi değişkenleri (x1, x2, x3, …, xn) ve çıktı değişkeni (y) vardır. Veri analiz edilir ve f(x)=y’yi sağlayan en uygun fonksiyon modellenir. Böylece model, yeni girdiler için y’nin değerini tahmin edebilir. Tecrübeli bir emlakçı evin özelliklerini değerlendirdiğinde evin kaç TL’ye satılabileceğini kestirebilir. Eğer elimizde daha önce satılmış evlerin fiyatları ve evlerin fiyatını belirleyebilen parametreleri içeren geniş bir veri kümesi varsa en uygun fonksiyonu modelleyip yeni evlerin fiyatlarını da bu modelleme yardımıyla tahmin etme şansına sahip olabiliriz. Ya da elimizde insanların resimleri ve yaşları olan bir veri kümesi olduğunu düşünelim. Algoritma, resimlerine bakarak insanların yaşını tahmin etmeyi öğrenebilir. Ayrıca denetimli öğrenme, sınıflandırma amacıyla da kullanılabilir. Örneğin algoritma, hasta kayıtları üzerinde çalışarak iyi veya kötü huylu olan tümörleri belirlemeyi öğrenebilir; yeni tümörlerle karşılaştığında tümörün iyi mi kötü mü olduğuna karar verebilir.

Denetimsiz öğrenmede ise girdi değişkenleri vardır ama bu değişkenlerden elde edilen belirli bir çıktı (y değeri) yoktur. Burada algoritma verideki benzerlik, farklılık ve örüntüleri araştırır. Örneğin, tüketicileri, alışveriş geçmişlerinden yararlanarak daha önce öngörülmemiş bir biçimde kümelere ayırabilir. Bir alışveriş sitesinde alınan bir ürünün yanında kullanıcılara yeni ürünler tavsiye edilebilir. Ya da banka hesaplarındaki hareketler incelenerek sıradışı işlemler yakalanabilir.

Yarı denetimli öğrenmede ise çok miktarda girdi olmasına karşın (gerçek hayatta sıkça olduğu gibi) yalnızca bazı verilerin y değeri vardır. Etiketlenmemiş (yani y değeri bilinmeyen) veriler, az miktarda etiketli (y değeri bilinen) veriyle birlikte kullanıldığında, öğrenme doğruluğunda bir gelişme sağlanabilmektedir. Girdi değişkenlerindeki yapıyı keşfetmek ve öğrenmek için denetimsiz öğrenme teknikleri kullanılabilir. Etiketlenmemiş verileri en iyi tahmin için denetimli öğrenme tekniklerini kullanabilir. Daha sonra bu tahminlerde elde edilecek verilerin sistemi geri beslemesiyle (elimizdeki etiketli verilerin miktarı artacağı için) sistem iyileştirilebilir.

Pekiştirmeli öğrenme ise davranışçılıktan esinlenmiştir ve en yüksek ödül miktarına erişebilmek için hangi eylemlerin yapılması gerektiğine odaklanır. Sistem doğru kararlarda ödüllendirilir, yanlış kararlarda cezalandırılır. Pekiştirmeli öğrenme, denetimli öğrenmeden farklı olarak doğru girdi ve çıktı eşleştirmesiyle başlamaz. Bilinmeyen uzayda keşif ve mevcut bilgiden yararlanma arasında bir denge kurmaya çalışır (https://tr.0wikipedia.org/wiki/Pekiştirmeli_öğrenme).

Yapay öğrenme algoritmaları veri yardımıyla yüzleri tanımayı, resimleri ayırt etmeyi, hangi filmi izlemek isteyebileceğimizi öğrenir. Beyazlardan oluşan bir veri kümesiyle eğitilen bir algoritma beyazların yüzlerini tanımada, bunun için matematiksel modeller kurmada ustalaşır. Siyahları da tanıyabilmesi için siyahların verilerine gerek duyar. Beyazlardaki kanser hücrelerini tanımada başarılı bir modelin siyahlardaki tahminleri hatalı olabilir. Bugün şirketlerin büyük bir açlıkla veri toplamasının, insanlar kişisel verilerini alabilmek için çeşitli (çoğu bedava olan) uygulamalar geliştirmelerinin arkasında 1984’teki gibi bir dünya arzulamaları değil, ekonomik çıkarları vardır. Verinin çeşitliliği ve zenginliği yeni olanaklar yaratmaktadır.

Bu algoritmalar gündelik hayatta başlıca dört görevi yerine getirir. Birincisi, sıralı liste verme. Google arama sonuçlarını sıralar, Netflix izlemekten hoşlanacağımız filmleri sıralar, navigasyon cihazı olası rotalar arasında en uygun olanı seçer. İkincisi, sınıflandırma. Şirketler reklamlarını artık rastgele yapmamakta, algoritmaların belirlediği gruplara özel reklamlar yapmaktadır. Üçüncüsü, ilişkilendirme. Alışveriş sitelerinde önceki müşterilerin verileri ve sizin alışkanlıklarınız birleştirilerek ilginizi çekebilecek ürünler önerilir. Kural tabanlı algoritmalarda olduğu gibi yazılıma “bunu satın alan, şunu alabilir” gibi kurallar doğrudan kodlanmaz. Algoritma, veriden öğrenir. Bu nedenle, beyzbol sopası alan birine kar maskesi de önermek gibi durumlar ortaya çıkabilmektedir. Dördüncü, filtrelemedir. Ses asistanları sesimizi daha iyi anlayabilmek için geri plandaki sesleri ayırırlar. Sosyal medya siteleri de aynı işlemi haber akışımızda yer alacak haberler için yapar (Fry, 2019).

Kural tabanlı algoritmalarda programcı hata yapabilir; ama güç, algoritmayı tasarlayan ve onu kodlayanların elindedir. Kod, tasarlandığı biçimde adım adım ilerler. Yapay öğrenme algoritmalarında ise algoritmayı tasarlayan yine insandır ama algoritmanın nasıl çalışacağı ve çıktısının ne olacağı veriye de bağlıdır. İki etken, insan ve veri, bir araya geldiğinde çeşitli karmaşıklıklar ortaya çıkmaktadır. Bu karmaşıklıkların başında da algoritmadaki yanlılık (bias) sorunsalı vardır.

Algoritmalarda Yanlılık

Bir algoritmanın çıktısının adaletsizliğe neden olmasına yanlılık adı veriliyor. Algoritmanın eğitildiği veri kümesindeki yanlılık, algoritmanın çıktılarını da etkilediğinden yanlılık sorunu çoğunlukla veriyle ilişkilendiriliyor.

Algoritmanın eğitildiği veri gerçekliğin zayıf bir temsiliyse veya halihazırdaki önyargıları yansıtıyorsa algoritma, yanlı çıktılar verir. Örneğin 2010 yılında, Microsoft’un Xbox oyun sisteminde kullanılacak Kinect teknolojisi piyasaya çıkmadan kısa bir süre önce bir kadın çalışan bu teknolojiyi evde denemek ister. Kinect, bir kumanda cihazı olmadan hareket algılama teknolojisi yardımıyla çalışmaktadır. Fakat sistem evde beklenildiği gibi çalışmaz. Hareket algılama teknolojisi kadının kocası için sorunsuz çalışırken kadın ve çocukların hareketlerini algılamada pek başarılı değildir. Çünkü sistem 18-35 yaş arasındaki erkekler üzerinde denenmiştir (Tugend, 2019).

Algoritmanın önyargıları pekiştirmesi de sık rastlanılan bir durumdur. Bir Microsoft müşterisi, krediler için risk puanlaması yapan bir finansal hizmetler algoritmasını test etmektedir. Fakat algoritmayı eğitirken kullanılan verilerde erkeklerin daha önce onaylanmış kredileri ağırlıklı olduğundan algoritma, erkeklerin daha risksiz müşteriler olduğuna karar vermeye meyillidir (age).

Verinin yanlılığa etkisi hakkındaki bir diğer ünlü örnek de Amazon’un iş başvurusu yapan adayların özgeçmişini değerlendirdiği otomasyon sistemidir. 2015 yılında şirket, iş başvurularının cinsiyetçi bir şekilde değerlendirildiğini fark eder. Çünkü sistem, eğitim sürecinde ağırlıklı olarak erkek adayların özgeçmişleriyle eğitilmiş ve bunun sonucunda erkekleri daha tercih edilebilir adaylar olarak belirlemiştir. Bu nedenle, içinde kadın kelimesi geçen (“kadın satranç takımı kaptanı” gibi) özgeçmişler cezalandırılmakta, aşağı sıralara itilmektedir. Sorunu fark eden Amazon, sistemi düzeltmeye (yanlılığı gidermeye) çalışır. Bazı iyileştirmeler yapsa da sonunda bu sistemi bırakmak zorunda kalır (Dastin, 2018).

Verinin hazırlanması aşamasında seçilen öznitelikler de yanlılığa neden olabilir. Kredi başvurularına olumlu ya da olumsuz yanıt vermesi istenen bir algoritma, veri kümesindeki kişilerin yaş, gelir, geri ödediği kredi sayısı gibi öznitelikleri seçilerek eğitilebilir. Bir işe alma sistemi ise cinsiyet, eğitim düzeyi veya tecrübe gibi öznitelikleri kullanabilir. Doğru öznitelikler seçilmişse (bu da ustalık gerektirir) modelin kestirimleri daha doğru olacaktır. Fakat Nao’nun (2019) altını çizdiği gibi seçilen özniteliklerin modelin doğruluğuna etkisini ölçmek kolayken aynı kolaylık yanlılığa etkisini belirlemede geçerli değildir.

Sistemlerin eğitiminde halihazırdaki toplumsal ilişkileri yansıtan veriler kullanıldığında ya da yanlılığa neden olabilecek öznitelikler seçildiğinde cinsiyetçi ve ırkçı önyargılar yeniden üretilir. Sorunun farkında olmak çözüme giden yolda bir adımdır. Fakat suçu tamamen verinin içerdiği yanlılığa ve öznitelik seçimindeki hatalara yüklemek, yanlılığı teknik bir soruna indirgemek de pek doğru değil.

Algoritmayı tasarlayan kişi ya da kişilerin değerleri (yanlılığı) de algoritmanın çıktılarında etkilidir. Problemin çerçevesinin çizilmesi, sistemin hedeflerinin belirlenmesi tarafsız bir eylem değildir. Bir kredi kartı şirketinin müşterilerin kredi itibarını tahmin eden bir sistem geliştirirken verdiği kararlar sistemin gelişimine yön verir. Çünkü en başta kredi itibarının ne olduğu sorusunu yanıtlanması ve bu yanıtın sayısallaştırılması gerekir. Şirketin hedefi nedir? Kârını mı yoksa geri ödenebilen kredi miktarını mı en üst düzeye çıkaracaktır? Şirketin istediği kârını artırmaksa, algoritma da buna en uygun fonksiyonu modelleyecektir.

Algoritmalar kimin yararına çalıştırılacak? Burada artık salt tekniğin ötesine geçmeye başlarız. Fry (2019) yazdığı “tedavi önerebilen teşhis makinesi” üzerinde düşünelim. Bu tip teknolojiler yaygınlaşacak ve doktorlardan çok daha isabetli kararlar verebilecek. Fakat Fry (2019) önemli bir soru soruyor ve bir seçim yapmak zorunda kalacağımızı vurguluyor: Teşhis makinesi, bireye mi, topluma mı hizmet edecek?

Algoritma, bireye hizmetin öncelikli olduğunu düşünürse ağır, ama bir süre sonra geçebilecek bir öksürük şikayetiyle doktora gittiğinizde sıkıntınızı birkaç gün hafifletmek için antibiyotik yazmaya karar verecek, risk almamak için daha fazla tahlil yaptırmanızı isteyecek. Ama topluma hizmeti öncelikli gören bir algoritma antibiyotik toleransına karşı daha duyarlı davranacak, ölümcül bir durum yoksa geçici sıkıntınızı önemsemeyerek ilaç vermek istemeyecektir. Ayrıca kaynakları boşa harcamamak için tahlil sayısını da azaltmaya çalışacaktır.

Elbette hayat siyah beyaz değil. Algoritmayı tasarlayanlar bireysel ve toplumsal çıkarlar arasında bir denge bulmaya çalışacaktır. Ancak bu denge arayışı teknik değil, politik bir çalışma olacaktır. Buna ek olarak, neoliberal çağın ruhuna uygun olarak, denkleme sağlık hizmetlerinin piyasalaşmasını kattığımızda korkunç bir algoritmayla karşı karşıya kalabiliriz.

Yanlılığın Çözümü Neden Zor?

Yanlılık bilgisayar bilimcilerin farkında olduğu ve üzerinde çalıştığı önemli konulardan biri. Fakat çözümü kolay değil. Hao (2019) yanlılık sorununun çözümünü zorlaştıran engelleri dört başlık altında ele alıyor.

Bilinmeyen bilinmeyenler. Daha model oluşturulurken verilerin ve tercihlerin yanlılığa neden olup olmayacağı belirgin değildir. Yanlılık, ileri safhalarda tespit edildiğinde ise geriye dönerek yanlılığın nedenini bulmak ve sorunu gidermek zor olmaktadır. Örneğin, önceki bölümde gördüğümüz gibi Amazon’un iş başvurusu değerlendirme sistemi kadın kelimesini içeren özgeçmişleri aşağı sıralara gönderiyordu. Amazon’un mühendisleri sorunu fark ettiklerinde sistemi yeniden programlayarak sistemin açık biçimde cinsiyet bildiren kelimeleri (women’s gibi) göz ardı etmesini sağladıklarında da sorun çözülmemiş. Çünkü sistem bu sefer de üstü kapalı olarak daha çok erkeklerle ilişkilendirilen executed, captured gibi kelimelerden yararlanarak cinsiyetçiliği yeniden üretmiş.

Eksik Süreçler. Bilgisayar bilimciler modelleri geliştirirken önce ellerindeki veriyi rastgele biçimde iki bölüme ayırırlar. Birinci bölümde yer alan veri, algoritmayı eğitmek için kullanılır. Eğitim işlemi tamamlandıktan sonra modelin performansı ikinci bölümdeki veri üzerinde test edilir. Bu süreçte, yanlılığın tespit edilmesi üzerinde durulmadığından ve hem modeli eğitmek için kullanılan veri hem de performansını test için kullanılan veri aynı yanlılıkları içerdiğinden önyargılı sonuçları tespit etmekte başarısız olunur.

Sosyal Bağlam Eksikliği. Caplan vd.’nin (2018) belirttiği gibi algoritmaları sıfırdan tasarlamak pahalı ve zordur. Algoritmaları tasarlarken nitelikli işgücü kullanmak, eğitim verisi bulmak, algoritmanın özelliklerini belirlemek, test etmek, iyileştirmek ve modeli uygulamak için para gerekir. Bu maddi gereklilikler, bilgisayar bilimcilerin problemleri çözmeye çalışırken farklı bağlamlarda farklı görevleri yerine getirebilecek sistemler tasarlama yaklaşımı ile birleşince belirli bir bağlama uygun olarak geliştirilen bir algoritmayı farklı bir bağlamda olduğu gibi veya değiştirerek kullanma gibi bir eğilim ortaya çıkmaktadır. Fakat Hoa’nın (2019) belirttiği gibi bu yaklaşım toplumsal sorunların çözümü için uygulandığında yeni sorunlara neden olur. Utah’ta tasarlanmış bir sistem farklı toplulukların farklı adalet anlayışları nedeniyle Kentucky’de doğrudan uygulanamaz. Aynı şekilde adil yargılama için kullanılan bir sistem istihdam alanında kullanılmamalıdır. Çünkü belirli bir bağlama göre oluşturulmuş standartlar ve algoritmanın ilgilendiği etik konular yeni uygulamada sorunlara neden olabilir.

Adaletin Tanımındaki Eksiklikler. Adalet konusu, felsefe, sosyal bilimler ve hukukta yıllardır tartışılmaktadır ve şimdi de bilgisayar biliminin gündemindedir. Ama bilgisayar biliminden adaleti matematiksel terimlerle açıklaması da beklenmektedir. Aşağıdaki tabloya bakalım:

Başlıca sorunlardan biri yanlış pozitiflerle yanlış negatifler arasındaki dengeyi bulabilmektir. Yanlış pozitifte, gerçekte negatif olan bir olgunun pozitif olduğunu tahmin etmişsinizdir (Birinin suçlu olduğunu tahmin ettiniz, ama gerçekte suçsuzdu). Yanlış negatifte ise gerçekte pozitif olan bir olgunun negatif olduğunu tahmin etmişsinizdir (Suçlu olan birine suçlu değil demek). Yani insanları haksız yere suçlama ihtimali de var, suçluları fark edemeyerek toplum güvenliğini tehlikeye atma ihtimali de. Algoritma, toplumun iyiliği için arada sırada suçsuz insanları mağdur etmeli midir (yanlış pozitif)? Yine bir denge kurmaya çalışsak bile insanların adalet hakkındaki düşüncelerinin de zaman içinde değiştiğini unutmamak gerekiyor.

Şeffaflık ve Sorumluluk

Kız çocuğu olan bir hakim, kadınlar lehine karar vermeye daha meyilli oluyor; tuttuğu takım yenilen hakimin kefalet talebini reddetme ihtimali daha yüksek; hakimler öğle yemeğinden hemen önce kefalet talebine uzak, yemekten sonra bu talebi kabule daha yatkın. Hakimler, arka arkaya benzer kararlar vermekten kaçınıyor. Dört kefalet talebine olumlu yanıt veren bir hakimin beşinci kefalet talebine olumlu yanıt verme olasılığı azalıyor (Fry, 2019).

Bu tip durumları düşününce algoritmik karar sistemlerinin daha adil kararlar için önemli bir potansiyele sahip olduğu görülüyor. Fakat Domingos’un (2017) uyardığı gibi “insanlar bilgisayarların çok akıllı hale gelip dünyanın kontrolünü eline geçirmesinden endişelense de asıl problem, çok aptal olmaları ve halihazırda dünyayı kontrol etmeleridir.” Sorunu, hakimlerin mi yoksa bilgisayarların mı daha doğru karar vericiler olduğu ekseninde tartışmak yanıltıcı olabilir. Önce hukuktan ne beklediğimizi sorgulamalıyız.

Hukuk, erişilebilir ve olabildiğince anlaşılır, açık ve tahmin edilebilir olmalı. Algoritmik karar sistemlerinin ise çoğunlukla bu beklentiyi karşılamaktan uzak olduğunu ve içerikleri ticari sır olarak saklanan birer kara kutu olarak çalıştıklarını görüyoruz. Normal bir yazılımın kaynak kodunu inceleyerek nasıl çalıştığını öğrenmek mümkünken aynı yöntem yapay öğrenme algoritmalarını kullanan sistemlerde yetersiz kalıyor. Çünkü algoritma üzerinde çalıştığı verilerden öğreniyor. Ayrıca kesinlik ve yorumlanabilirlik iki zıt uçta yer alabiliyor. Doğrudan kodlanmış bir algoritmayı anlamak kolayken, sinir ağlarında daha kesin sonuçlar için yorumlanabilirlikten feragat etmek zorunda kalıyoruz. Birçok durumda kesin sonuçlar tercih edilir, ama hukuk gibi insan yaşamını etkileyen konularda çubuğu yorumlanabilirliğe bükmek gerekebilir (Blacklaws, 2018).

Geçen yıl yürürlüğe giren GDPR (General Data Protection Regulation – Genel Veri Koruma Tüzüğü), şirketleri şeffaf ve sorumlu davranmaya zorlayabilecek önemli bir düzenleme. GDPR’nin uygulamadaki başarısı ve daha da geliştirilmesi, algoritmik karar sistemlerinin potansiyelini toplum yararına hayata geçirebilir. Kamuoyu, algoritmalar hakkında bilinçlendikçe GDPR gibi düzenlemelerden güç alarak şirketleri gerekli önlemleri almaya ve yeni çözümler geliştirmeye zorlayabilir. Fakat Selbst vd.’nin (2019) yazdığı gibi teknolojik çözümcülük tuzağına da düşmemek gerekiyor. Şirketler ellerinde çekiç olduğu için her şeyi çivi olarak görme eğilimindeler. Ama özellikle siyasi olarak tartışmalı sorunları teknolojiyle çözme girişimleri karşısında dikkatli olmalı.

Kaynaklar

Blacklaws, C. (2018). Algorithms: transparency and accountability. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 376(2128), 20170351.

Caplan, R., Donovan, J., Hanson, L., & Matthews, J. (2018). Algorithmic accountability: A primer. Data & Society.

Dastin, J. (2018). Amazon scraps secret AI recruiting tool that showed bias against women, https://www.reuters.com/article/us-amazon-com-jobs-automation-insight/amazon-scraps-secret-ai-recruiting-tool-that-showed-bias-against-women-idUSKCN1MK08G, son erişim 15/07/2019

Domingos, P. (2017). Master Algoritma: Yapay Öğrenme Hayatımızı Nasıl Değiştirecek?(çev. Tufan Göbekçin). Paloma Yayınevi, İstanbul.

Fry, H. (2019). Merhaba Dünya: Makine Çağında İnsan Olmak. (Çev. İ. G. Çıgay), Hep Kitap.

Hao, K. (2019). This is how AI bias really happens—and why it’s so hard to fix, https://www.technologyreview.com/s/612876/this-is-how-ai-bias-really-happensand-why-its-so-hard-to-fix/, son erişim 15/07/2019

Selbst, A. D., Boyd, D., Friedler, S. A., Venkatasubramanian, S., & Vertesi, J. (2019). Fairness and abstraction in sociotechnical systems. In Proceedings of the Conference on Fairness, Accountability, and Transparency (pp. 59-68). ACM.

Tugend, A. (2019) Exposing the Bias Embedded in Tech, https://www.nytimes.com/2019/06/17/business/artificial-intelligence-bias-tech.html, son erişim 15/07/2019

22 Kasım 2019

Posted In: algoritma, algoritmik yönetim, bias, Bilgisayar Bilimi, Gözetim, Özgür yazılım, sosyal ağlar, Teknoloji Tarihi, yanlılık, yapay öğrenme, Yapay Zeka

WP Twitter Auto Publish Powered By : XYZScripts.com