10.3 Kavramları Belirleme (Detecting Concepts)
Yazar: Fangzhou Li @ University of California, Davis
Şu ana kadar, özellik atıfı yoluyla kara kutu modellerini açıklamak için birçok yöntemle karşılaştık. Ancak, özellik tabanlı yaklaşımla ilgili bazı sınırlamalar vardır. İlk olarak, özellikler yorumlanabilirlik açısından kullanıcı dostu olmayabilir. Örneğin, bir görüntüdeki tek bir pikselin önemi genellikle pek fazla anlamlı bir yorum sağlamaz. İkinci olarak, özellik tabanlı açıklamanın ifade gücü, özellik sayısı ile sınırlıdır.
Kavram tabanlı yaklaşım, yukarıda belirtilen her iki sınırlamayı da ele alır. Bir kavram, renk, nesne veya hatta bir fikir gibi herhangi bir soyutlama olabilir. Herhangi bir kullanıcı tanımlı kavram verildiğinde, sinir ağı bu kavramla açıkça eğitilmemiş olsa bile, kavram tabanlı yaklaşım, sinir ağının öğrendiği gizli alanda yer alan bu kavramı tespit eder. Başka bir deyişle, kavram tabanlı yaklaşım, sinir ağının özellik alanıyla sınırlı olmayan açıklamalar üretebilir.
Bu bölümde, öncelikle Kim ve ark. tarafından yapılan Testing with Concept Activation Vectors (TCAV) makalesine odaklanacağız90.
10.3.1 TCAV: Testing with Concept Activation Vectors
TCAV, sinir ağları için global açıklamalar üretmeyi amaçlar, ancak teoride, yönlü türev almanın mümkün olduğu herhangi bir model için de çalışmalıdır. Herhangi bir verilen kavram için, TCAV, bu kavramın belirli bir sınıf üzerindeki model tahminine olan etkisini ölçer. Örneğin, TCAV, "çizgili" kavramının bir görüntüyü "zebra" olarak sınıflandıran bir modeli nasıl etkilediği gibi soruları yanıtlayabilir. TCAV, bir kavram ile bir sınıf arasındaki ilişkiyi tanımladığı için, tek bir tahmini açıklamak yerine, modelin genel davranışı için faydalı global yorumlamalar sağlar.
10.3.1.1 Kavram Aktivasyon Vektörü (CAV)
Bir CAV (Concept Activation Vector), bir sinir ağı katmanının aktivasyon alanında bir kavramı genelleştiren sayısal temsildir. olarak gösterilen bir CAV, bir kavram C ve bir sinir ağı katmanı l'ye bağlıdır, burada lll aynı zamanda modelin bir dar geçit (bottleneck) katmanı olarak da adlandırılır. Bir kavram C'nin CAV'ini hesaplamak için, öncelikle iki veri seti hazırlamamız gerekir: C'yi temsil eden bir kavram veri seti ve rastgele verilerden oluşan bir rastgele veri seti. Örneğin, "çizgili" kavramını tanımlamak için, kavram veri seti olarak çizgili nesnelerin görüntülerini toplayabiliriz, oysa rastgele veri seti çizgili olmayan rastgele görüntüler grubundan oluşur. Daha sonra, gizli bir katman lll'yi hedef alırız ve kavram seti tarafından oluşturulan aktivasyonları rastgele set tarafından oluşturulan aktivasyonlardan ayıran ikili bir sınıflandırıcı eğitiriz. Bu eğitilmiş ikili sınıflandırıcının katsayı vektörü, o zaman CAV'idir. Pratikte, ikili sınıflandırıcı olarak bir SVM veya lojistik regresyon modeli kullanabiliriz. Son olarak, bir görüntü girişi x verildiğinde, tahminin birim CAV yönündeki yönlü türevi hesaplanarak "kavram duyarlılığını" ölçebiliriz:
Burada , girdi 𝑥'i katman 𝑙'nin aktivasyon vektörüne haritalar de aktivasyon vektörünü sınıf 'nin logit çıktısına haritalar.
Matematiksel olarak, 'ın işareti yalnızca ın gradyanı ile arasındaki açıya bağlıdır. Eğer açı 90 dereceden küçükse, pozitif olacaktır ve açı 90 dereceden büyükse, negatif olacaktır. Çünkü gradyan , çıktıyı en hızlı şekilde maksimize eden yöne işaret eder, kavramsal duyarlılık , sezgisel olarak, 'ın 'ı maksimize eden benzer bir yöne işaret edip etmediğini gösterir. Böylece, kavramı , konsept 'nin, modeli 'i sınıfına sınıflandırmaya teşvik ettiği şeklinde yorumlanabilir. modelin sınıfını sınıflandırmasını teşvik ettiği şeklinde yorumlanabilir.
10.3.1.2 CAV'lerle Test Etme (TCAV)
Son paragrafta, tek bir veri noktasının kavramsal duyarlılığını nasıl hesaplayacağımızı öğrendik. Ancak, amacımız, bir bütün olarak bir sınıfın genel kavramsal duyarlılığını gösteren küresel bir açıklama üretmektir. TCAV tarafından yapılan çok basit bir yaklaşım, pozitif kavramsal duyarlılığa sahip girdilerin sayısını bir sınıf için girdilerin sayısına oranını hesaplamaktır:
Örneğimize geri dönelim, "çizgili" kavramının modeli, görüntüleri "zebra" olarak sınıflandırırken nasıl etkilediğiyle ilgileniyoruz. "Zebra" olarak etiketlenmiş veriler toplar ve her giriş görüntüsü için kavramsal duyarlılığı hesaplarız. Ardından, "çizgili" kavramının "zebra" sınıfını tahmin etmedeki TCAV skoru, pozitif kavramsal duyarlılığa sahip "zebra" görüntülerinin sayısının toplam "zebra" görüntüleri sayısına bölünmesidir. Başka bir deyişle, ve olan bir TCAV'nin 0.8 olması, "zebra" sınıfı için tahminlerin %80'inin "çizgili" kavram tarafından olumlu yönde etkilendiğini gösterir.
Bu harika görünüyor, ancak TCAV skorumuzun anlamlı olup olmadığını nasıl bilebiliriz? Sonuçta, bir CAV, kullanıcı tarafından seçilen kavram ve rastgele veri setleri kullanılarak eğitilir. CAV'i eğitmek için kullanılan veri setleri kötü ise, açıklama yanıltıcı ve işe yaramaz olabilir. Bu nedenle, TCAV'nin daha güvenilir olmasına yardımcı olmak için basit bir istatistiksel anlamlılık testi yaparız. Yani, sadece bir CAV eğitmek yerine, kavram veri setini aynı tutarak farklı rastgele veri setleri kullanarak birden fazla CAV eğitiriz. Anlamlı bir kavram, tutarlı TCAV skorları üreten CAV'ler üretmelidir. Daha detaylı test prosedürü aşağıda gösterilmiştir:
N rastgele veri seti toplayın, burada N'nin en az 10 olması önerilir.
Kavram veri setini sabitleyin ve her biri N rastgele veri seti kullanılarak TCAV skoru hesaplayın.
N TCAV skorunu, rastgele bir CAV tarafından oluşturulan diğer N TCAV skoru ile karşılaştırmak için çift taraflı t-testi uygulayın. Rastgele bir CAV, kavram veri seti olarak rastgele bir veri seti seçilerek elde edilebilir.
Eğer birden fazla hipoteziniz varsa, burada çoklu test düzeltme yöntemi uygulamanız da önerilir. Orijinal makale Bonferroni düzeltmesini kullanır ve burada hipotez sayısı test ettiğiniz kavram sayısına eşittir.
10.3.2 Örnek
TCAV GitHub'ında bulunan bir örneği görelim. Önceden kullandığımız "zebra" sınıfı örneğini devam ettirerek, bu örnek "çizgili", "zigzag" ve "noktalı" kavramlarının TCAV skorlarının sonucunu göstermektedir. Kullandığımız görüntü sınıflandırıcı InceptionV391'dir, bu ImageNet verileri kullanılarak eğitilmiş bir konvolüsyonel sinir ağıdır. Her kavram veya rastgele veri seti 50 görüntü içerir ve istatistiksel anlamlılık testi için 0.05 anlamlılık seviyesinde 10 rastgele veri seti kullanıyoruz. Bonferroni düzeltmesini kullanmıyoruz, çünkü sadece birkaç rastgele veri setimiz var, ancak pratikte yanlış keşifleri önlemek için düzeltmeyi eklemeniz önerilir.
Pratikte, daha iyi CAV'ler eğitmek için her bir veri setinde 50'den fazla görüntü kullanmak isteyebilirsiniz. Daha iyi istatistiksel anlamlılık testleri yapmak için 10'dan fazla rastgele veri seti kullanmak da isteyebilirsiniz. Ayrıca, daha kapsamlı bir gözlem için TCAV'yi birden fazla dar geçite uygulayabilirsiniz.
10.3.3 Avantajlar
Kullanıcıların sadece ilgilendikleri kavramları eğitmek için veri toplaması gerektiğinden, TCAV'nin kullanıcıların makine öğrenmesi uzmanlığına sahip olmalarını gerektirmez. Bu, TCAV'nin karmaşık sinir ağı modellerini değerlendirmek için alan uzmanları için son derece faydalı olmasını sağlar.
TCAV'nin başka bir benzersiz özelliği, özellik atıfının ötesindeki açıklamalarla etkinleştirilen özelleştirilebilirliğidir. Kullanıcılar, kavram veri seti ile tanımlanabilen herhangi bir kavramı araştırabilirler. Başka bir deyişle, kullanıcı, ihtiyaçlarına bağlı olarak açıklamaların karmaşıklığı ile yorumlanabilirliği arasında dengeyi kontrol edebilir: Bir alan uzmanı problemi ve kavramı çok iyi anlıyorsa, daha karmaşık veriler kullanarak kavram veri setini şekillendirip daha ince detaylı bir açıklama üretebilir.
Son olarak, TCAV, kavramları herhangi bir sınıf ile ilişkilendiren küresel açıklamalar üretir. Bir küresel açıklama, modelinizin genel olarak düzgün davranıp davranmadığı konusunda bir fikir verir, ki bu genellikle lokal açıklamalarla yapılamaz. Bu nedenle, TCAV, model eğitimi sırasında oluşan potansiyel "kusurları" veya "kör noktaları" belirlemek için kullanılabilir: Belki modeliniz bir kavramı uygunsuz şekilde ağırlamayı öğrenmiştir. Bir kullanıcı bu kötü öğrenilmiş kavramları tanımlayabilirse, modeli eğitim veri setine daha fazla "çizgili zebra" görüntüsü ekleyerek veya daha az "noktalı zebra" görüntüsü ekleyerek iyileştirebilir.
10.3.4 Dezavantajlar
TCAV, daha sığ (shallower) sinir ağlarında kötü performans gösterebilir. Birçok makalenin önerdiği gibi92, daha derin katmanlardaki kavramlar daha ayrılabilir. Eğer bir ağ çok sığsa, katmanları kavramları net bir şekilde ayırabilecek kapasitede olmayabilir, bu yüzden TCAV uygulanamaz.
TCAV, kavram veri setleri için ek anotasyonlar gerektirdiğinden, hazır etiketlenmiş veriye sahip olmayan görevler için çok pahalı olabilir. Annotasyonun pahalı olduğu durumlarda TCAV'ye olası bir alternatif, bir sonraki bölümde kısaca bahsedeceğimiz ACE'dir.
TCAV, özelleştirilebilirliği nedeniyle övülmesine rağmen, çok soyut veya genel kavramlara uygulanması zordur. Bunun ana nedeni, TCAV'nin bir kavramı karşılık gelen kavram veri seti ile tanımlamasıdır. Bir kavram ne kadar soyut veya genel ise, örneğin "mutluluk" gibi, o kavram için bir CAV eğitmek için o kadar fazla veri gereklidir.
TCAV, görüntü verilerine uygulanmada popülerlik kazansa da, metin verileri ve tabular verilerde nispeten sınırlı uygulamalara sahiptir.
10.3.5 Bonus: Diğer Kavram Tabanlı Yaklaşımlar
Kavram tabanlı yaklaşım, son zamanlarda artan bir popülerlik kazanmış olup, kavramların kullanımından ilham alan birçok yeni yöntem bulunmaktadır. Burada bu yöntemleri kısaca bahsetmek istiyoruz ve ilgileniyorsanız orijinal çalışmaları okumanızı öneriyoruz.
Automated Concept-based Explanation (ACE), TCAV'nin otomatik versiyonu olarak görülebilir. ACE, bir sınıfın bir görüntü seti üzerinden geçer ve görüntü segmentlerinin kümelemesi temelinde kavramları otomatik olarak oluşturur.
Concept bottleneck models (CBM), doğrudan yorumlanabilir sinir ağlarıdır. Bir CBM, girişleri kavramlara haritalayan ilk yarısı ve haritalanan kavramları model çıktılarının tahmininde kullanan ikinci yarısı ile bir encoder-decoder modeline benzer. Dar geçit katmanının her nöron aktivasyonu bir kavramın önemini temsil eder. Ayrıca, kullanıcılar dar geçit katmanının nöron aktivasyonlarını manipüle ederek modelin karşıt açıklamalarını (counterfactual explanations) oluşturabilirler.
Concept whitening (CW), doğrudan yorumlanabilir görüntü sınıflandırıcıları oluşturmak için başka bir yaklaşımdır. CW'yi kullanmak için, bir normalizasyon katmanını, örneğin bir batch normalization katmanını, CW katmanı ile değiştirirsiniz. Böylece, CW, kullanıcıların önceden eğitilmiş görüntü sınıflandırıcılarını doğrudan yorumlanabilir hale getirmek istediklerinde çok faydalıdır ve model performansını korur. CW, beyazlatma dönüşümünden (whitening transformation) büyük ölçüde ilham almıştır ve CW hakkında daha fazla bilgi edinmek istiyorsanız beyazlatma dönüşümünün matematiğini incelemenizi şiddetle öneririz.
10.3.6 Yazılım
TCAV'nin resmi Python kütüphanesi Tensorflow gerektirir, ancak çevrimiçi olarak diğer versiyonlar da mevcuttur. Kullanımı kolay Jupyter defterleri (notebook) ayrıca tensorflow/tcav üzerinde de erişilebilir.
Kim, Been, Martin Wattenberg, Justin Gilmer, Carrie Cai, James Wexler, and Fernanda Viegas. “Interpretability beyond feature attribution: Quantitative testing with concept activation vectors (tcav).” In International conference on machine learning, pp. 2668-2677. PMLR (2018).↩︎
Szegedy, Christian, Vincent Vanhoucke, Sergey Ioffe, Jon Shlens, and Zbigniew Wojna. “Rethinking the inception architecture for computer vision.” In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 2818-2826 (2016).↩︎
Alain, Guillaume, and Yoshua Bengio. “Understanding intermediate layers using linear classifier probes.” arXiv preprint arXiv:1610.01644 (2016).↩︎
Ghorbani, Amirata, James Wexler, James Zou and Been Kim. “Towards automatic concept-based explanations.” Advances in Neural Information Processing Systems 32 (2019).↩︎
Koh, Pang Wei, Thao Nguyen, Yew Siang Tang, Stephen Mussmann, Emma Pierson, Been Kim, and Percy Liang. “Concept bottleneck models.” In International Conference on Machine Learning, pp. 5338-5348. PMLR (2020).↩︎
Chen, Zhi, Yijie Bei, and Cynthia Rudin. “Concept whitening for interpretable image recognition.” Nature Machine Intelligence 2, no. 12 (2020): 772-782.↩
Last updated