Merhabalar, uzun sayılabilecek bir aradan sonra tekrardan yeni yazımla sizlerleyim. Bugün son yıllarda popüler hale gelen konulardan biri olan Explainable Artificial Intelligence (XAI) yani açıklanabilir yapay zeka olarak adlandırılan kavram üzerinde duracağım ve kullanılan yöntemlerden bahsetmeye çalışacağım.
Yapay zeka hepinizin bildiği gibi her geçen gün daha da yaygınlaşmakta ve gitgide hayatımızın vazgeçilmezi haline geleceği aşikar. Bu tarz gelişmeler olurken aklıma şu soru takılıyor, evet yapay zeka günümüz teknolojisi, birçok alanda kullanılıyor fakat insanların yapay zekaya bakışı nasıl, insanlar bu teknolojiye ne kadar güveniyor? Bizler (yapay zeka ile ilgilenen kişiler) makine öğrenmesi, derin öğrenme gibi yaklaşımları kullanarak bazı modeller oluşturuyoruz ve bunların çıktılarını yorumlayarak hayatımızın kritik yerlerinde kullanabiliyoruz. Örnek vermek gerekirse, kendinizi biraz kırgın hissediyorsunuz ve doktora gittiğinizi düşünelim. Doktorunuz size gerekli testleri yaptı ve burada çıkan sonuçları da bir modele input olarak verdi ve modelden çıkan sonuca göre grip olduğunuzu söyledi. Aklınıza şu tarz sorular gelebilir, model benim grip olduğumu neye göre belirledi, hangi özellikleri göz alarak benim grip olduğumu söyledi? Bu da insanın aklında acaba model gerçekten doğru teşhis mi koydu, ya yanlış teşhis koyduysa, neden böyle çıktı verdi diye düşünmemize sebep oluyor. Ağırlığı çok daha büyük bir hastalıkta yanlış teşhis koyulduğunu düşünürsek sonuçları geri dönülemez olacaktır. Bu durumda da modele olan güvende sorun yaşayabiliyoruz ve bu güven sorunu büyük çerçeveye bakınca aslında yapay zekaya olan güveni etkiliyor. Bu ve buna benzer sorunları önlemek amacıyla XAI kavramı hayatımıza girmiş oluyor. Genel bir tanım yapacak olursak, Açıklanabilir Yapay Zeka (XAI), insan kullanıcıların makine öğrenmesi algoritmaları tarafından oluşturulan sonuçları ve çıktıları kavramalarına ve bunlara güvenmelerine olanak sağlayan bir dizi süreç ve yöntemdir [1].
Makine öğrenmesi geliştirirken elimizdeki dataya gerekli işlemleri yaptıktan sonra test veri setimizi modele input olarak veririz. Model aldığı inputtan bir sonuç elde eder. Burada modelin işlemleri yaptığı kısım aslında ‘black box’ olarak adlandırılır ve yorumlanması neredeyse imkansız hale gelir. XAI daki yaklaşım bu bilinemez, açıklanamaz olan durumları açıklayabilmemize olanak sağlıyor. Bunun için 2 farklı yaklaşımdan bahsedeceğim. Bunlar, LIME ve SHAP.
SHAP (SHapley Additive exPlanations) ile başlayacak olursam, SHAP’ in temeli aslında oyun teorisine dayanmaktadır. Bir grup oyuncunun bir oyun oynadığını düşünelim ve oyunun sonunda oyunu kazandığımızı varsayalım. Bu yaklaşımda oyunun kazanılmasında hangi oyuncunun payı ne kadar, kim ne kadar katkı vermiş bunu anlamamıza yarıyor. Bu yaklaşımın aynısını alıp makine öğrenmesinde kullanıyoruz. Modelden bir sonuç çıktı evet, bu sonucun çıkmasında hangi özellik ne kadar etkili oldu, hangi özellik bu sonucun çıkmasında büyük katkı sağladı olarak düşünüyoruz ve bu da bize sonucu yorumlamamıza olanak sağlıyor.
LIME (Local Interpretable Model-Agnostic Explanations) da herhangi bir ‘black box’ sınıflandırıcısını iki veya daha fazla sınıfla açıklayabilir. Tek ihtiyacımız olan, sınıflandırıcının ham metin veya sayısal bir dizi alan ve her sınıf için bir olasılık veren bir işlevi uygulamasıdır. Peki LIME nasıl çalışıyor?
LIME, 2 aşamadan oluşmaktadır.
Örnekleme ve temsili veri kümesi elde etme: LIME, açıklanan örneğin çevresinde yerel olarak güvenilir açıklamalar sağlar. Varsayılan olarak, normal dağılımın ardından özellik vektörünün 5000 örneğini üretir. Ardından, kararlarını açıklamaya çalıştığı tahmin modelini kullanarak bu 5000 örnek için hedef değişkeni elde eder.
Yedek veri setinden Özellik Seçimi: Yedek veri setini elde ettikten sonra her satırı orijinal örnek/gözlemden ne kadar yakın olduklarına göre tartar. Ardından, en önemli özellikleri elde etmek için Lasso gibi bir özellik seçme tekniği kullanır.
Bu yazımda sizlere XAI nedir, neden ihtiyaç duyuyoruz, hangi yöntemler mevcut gibi kavramları anlatmaya çalıştım. Umarım açıklayıcı ve bilgilendirici olmuştur. Bir sonraki yazımda bu yazıda bahsettiğim yöntemlerin uygulamasını nasıl yapıyoruz ondan bahsedeceğim. Okuduğunuz için teşekkür ederim, kendinize iyi bakın..