Medikal Görüntülerde Bilgisayarlı Görü

Bilgisayarlı görüde medikal görüntüler ile çalışırken dikkat edilmesi gerekenler

Ayyüce Kızrak, Ph.D.
7 min readMay 14, 2020

“Bir şeyi yalnız tek bir yönden anlarsanız onu hiç anlamamışsınız demektir.” Marvin Minsky

Görsel Kaynak: Unsplash-National Cancer Institute

Bu blog yazısının içeriği Sanayi ve Teknoloji Bakanlığı tarafından düzenlenen Açık Seminer dizisinin 20. gününde Derin Öğrenme ile Göğüs Röntgeni Görüntülerinde Tanı Önerisi Çalışması başlığı altında 14 Mayıs 2020'de sunulmuştur.

Farklı görüntü verileri işleyerek ve yapay öğrenme teknikleri kullanarak çeşitli problemlere çözümler üretmeye çalışıyoruz. Ancak unutulmamalı ki verilerin hangi alandan (domain) geldiği, probleme olan yaklaşımımızı bazen kısmen bazen tamamen değiştirmektedir. Öyle ki, klasik bir nesne sınıflandırma yapar gibi medikal görüntülerle çalışmanın ne kadar sorunu beraberinde getireceğini uzman olmayan kişiler kestiremeyebilir. Bu yazıda görüntü temelli sağlık verilerinde yapay öğrenme modelleri uygularken karşılaştığımız zorlukları aşmanın yöntemleri ve dikkat edilmesi gerekenleri anlatmaya çalışacağım. Ek olarak da sağlık verisi gibi hassas verilerde açıklanabilirlik ve mahremiyete ilişkin bir bakış açısı ile sizi başbaşa bırakacağım.

Görüntü Temelli Sağlık Verileri ve Evrişimli Sinir Ağları

Veri Türlerine Örnekler

Evrişimli sinir ağları temelleri ile çeşitli medikal görüntüler üzerine literatürde çok kıymetli çalışmalar bulabilirsiniz (örnek verilen tüm çalışmalar kaynaklar bölümünde listelenmiştir). Bu çalışmalarda deri hastalıkları, göz retina görüntülerinden diyabetik tanısı ya da mikroskop görüntülerinden belki türlü kan kanserleri teşhis edilebilmektedir.

Evrişimli sinir ağı temelleri için Derine Daha Derine başlıklı yazımdan da faydalanabilirsiniz.

2019 yılının Aralık ayında Çin’de ortaya çıkan ve 2020 yılının şimdilik ilk yarısına damgasını vuran, milyonlarca insanın yakalandığı COVID-19 salgını ile mücadele kapsamında göğüs X-ray görüntüleri bir çok sağlık personeli ve kurumunun tanı konmasında hızını artırmıştır. Çünkü hastalık zatürre benzeri semptomlar barındırmaktadır ve bunlar görüntüde kendini belli etmektedir. 2017 yılında National Health Institute tarafından 8 farklı göğüs hastalığının tanınması için de evrişim temelli derin öğrenme modeli önerilmiştir.

8 Farklı akciğer hastalığının X-ray görüntüleri

Amacımız etiketli veride etiket ile kestirim olasılığı arasındaki farkı hesaplamak, bu doğrultuda modeli güncellemek ve yeniden daha iyi bir kestirim yapmaktır. Bu çok tanıdık bir yöntem, o zaman klasik nesne sınıflandırma gibi düşünsek olmuyor mu? Olmuyor! O halde bakalım farklı olarak bu çalışmalarda nelere dikkat etmek gerekiyormuş.

🏋 Zorluklar ve Üstesinden Gelme Yöntemleri

Üç temel zorlukla başlayabiliriz. Sağlık verileri ile çalışırken karşımıza çıkacak önemli sorunlardan biri, verinin dengesiz (imbalanced) olmasıdır. Sağlıklı verilerin daha fazla, hastalıklı verilerin ise daha az olması (ya da tam tersi) durumudur.

Tabi bunu çözmenin yollarından en yaygın kullanılanları Ağırlıklandırılmış Yitim hesabı yapmak ya da daha az olan veriden kopyalayarak çoğaltmaya çalışmaktır.

Dengeli bir veri kümesinde yaptığımız gibi İkili Çapraz Entropi (Binary Cross Entropy) kullandığımızda hesapladığımız yitim değerleri ile modelimizi doğru şekilde güncelleyemeyiz. Bu yüzden örneklerin veri kümesi içindeki dağılımlarına göre ağırlıklandırarak bu hesabı gerçekleştirmeliyiz. Diğer bir ihtimal de veri kümesinde az olan verinin kopyalanarak çoğaltılması ki bu daha az tercih edilen bir yöntemdir.

Eğer ikiden fazla sınıfın yani etiketin olduğu durum varsa yine aynı şekilde ağırlıklandırılmış yitim hesabı yapılırken her bir etiket için bu işlem gerçekleştirilmelidir.

Diğer bir sorun da veri kümesi boyutunun az olmasıdır. Genelde nesne sınıflandırma gibi çalışmalarda böyle bir sorun yoktur. Konu sağlık verisi olunca işler değişiyor. Bu problemi çözmek için de temel iki yaklaşımı benimsemek uygun olur. Ama yine de dikkatlı olmalıyız! Önceden eğitilmiş model ile sağlık veri kümemizi eğiterek bir transfer öğrenme uygulaması yapabiliriz. Burada da sık yapılan bir hata, modelin son katmanlarında hatta bazen sadece sınıflandırma katmanından faydalanarak medikal bir görüntüyü sınıflandırmaya çalışmaktır. Oysa eğitilmiş modelin hangi tür ve domaindeki verilerle eğitildiği de çok önemlidir. Sizin veriniz ile model ön eğitiminde (pre-training) kullanılan verinin boyutları arasındaki ilişki de değerli bir kriterdir. Aşağıdaki şekilde de gördüğünüz gibi 4 farklı şekilde transfer öğrenme stratejisi benimseyebiliriz. Eğitilen modelin veri kümesi ile sağlık görüntüsünün benzerliği zayıftır. Elimizdeki X-ray görüntü büyüklüğümüz de azdır. Demek oluyor ki; aşağıdaki veri büyüklüğü-veri benzerliği grafiğinde sol alttaki gibi ilk katmanları farklı veri kümesinde eğitilmiş ancak modelin orta ve daha derin katmanlarında sağlık verileri ile eğitim yapılması gerekir.

Açık seminer sunumundan

Transfer öğrenme hakkında daha detaylı bilgiye buradan erişebilirsiniz.

Açık seminer sunumundan

Bu sorun için önerilen bir başka yöntem de veri artırmadır. Ancak yine nesne tanıma problemlerini ele aldığımız gibi davranamayız. Soldaki şekilde yukarda gördükleriniz uygun veri artırma yöntemidir. Ancak aşağıdaki gibi y ekseninde simetrisi alınan bir görüntüde kalbin yeri tamamen değişir ve bu nadir rastlanan bir hastalığın belirtisidir. Bu yüzden eğer bu şekilde bir çalışma yapıldıysa ya mutlaka çoğaltılmış olan verinin etiketi konusunda da hemfikir olması gerekir ya da güvenilir veri artırma yöntemleri uygulanmalıdır.

Veri artırma uygulamalı anlatımına buradan erişebilirsiniz.

📈 Değerlendirme Metrikleri

AI for Medicine

Tabiri caizse veri kümenizin çöp olmaması ve modelinizin başarımını doğru anlamlandırabilmeniz için hastanın çakışması, küme örnekleme stratejisi ve gerçek etiket kesinliği gibi 3 konuyu doğru şekilde ele almış olmanız gerekir.

Nesne tanıma problemlerinde aynı verilerin eğitim, test ve geçerleme (validation) kümelerinde olmamasına özen gösteririz. Sağlık verisinde bir hastanın birden fazla görüntüsü varsa bu görüntüler farklı mıdır yoksa aynı mıdır? Görüntülerin etiketleri değişmiş; yani kişi hastalanmış ya da iyileşmiş olsa da aynı kişiye ait bir veri hem eğitimde hem de test kümesinde olmamalıdır. Basit örüntüler evrişimli sinir ağları tarafından kolay öğrenilir ve kolay unutulmaz. Eğer böyle bir hata yapılırsa, test performansını yukarı çeken bir manipülasyon yapılmış olur ve bu hatanın literatürdeki adı aşırı-iyimser test seti performansıdır (over-optimistic test set performance) ve gerçeği yansıtmaz!

Açık seminer sunumundan

Pekala; eğitim ve geçerleme setlerini hasta IDlerine göre ayırdığımızı varsayalım ve test kümesindeki rastgele örneklerimizi test edelim. Biraz bekleyin! Yukardaki şekilde bir sorun daha var: hastalıklı görüntülerdeki veri dengesizliği sebebiyle genellikle test kümeniz normale (bias) yanlıdır. Bu da test kümesinden doğru bir performans değerlendirmesi yapılamamasına sebep olur. Bu yüzden nesne tanıma problemlerinden farklı olarak, önce test kümesi mümkün derecede sınıflandırılması istenen etiketli verilerden barındırdığına emin olarak düzenlenmelidir. Ardından geçerleme ve eğitim kümeleri uygun şekilde hazırlanmalıdır.

Açık seminer sunumundan

Gerçek etiketimizden şüphe duyduduğumuz durumlar olabilir. Örneğin; soldaki şekilde bir X-ray görüntüsü uzmanlara gösterildiğinde kimi zatürre kimi ise COVID-19 tanısı koyabilmektedir. O halde, biz bunu nasıl güvenilir şekilde etiketleyebiliriz? Uzmanların eş görüş veremediği durumda, uzman görüşlerinin ortalamaları bizim etiketimiz olarak atanabilir ya da bir grup uzmanın kendi arasında tartışıp tek bir görüş sunması istenebilir. Ancak bu şekilde görüş alarak bu sorunun önüne geçmek mümkün olabilir.

Diğer bir konu: başarım metriklerinin hesaplanmasıdır. Sağlık verilerinde çalışırken yalnızca klasik doğruluk (accuracy) hesabı yapmak yanıltıcı performans değerlendirmeleri yapılmasına sebep olabilir. Bu yüzden mutlaka gerçekten pozitif, yanlışlıkla pozitif, gerçekten negatif ve yanlışlıkla negatif olarak sınıflandırılan durumların ilişkilerine bakılarak çalışmayı değerlendirmek gerekir. Duyarlılık, özgünlük, pozitif görme ve negatif görme değerleri mutlaka hesaplanmalı ve tartışılmalıdır. Çünkü bir erkeğe hamile tanısını yanlışlıkla koyarsanız bir terslik olduğunu anlayabilirsiniz. Ancak kanser olmayan birisine kanser tanısı koyup tedavi uygulamak ya da COVID-19 olan bir kişiyi sağlıklı diyerek evine göndermek, kişilerin ve toplumun sağlığını tehdit eder.

✔️ Açıklanabilirlik

Derin öğrenme modelleri her ne kadar yüksek başarımlı sonuçlar veriyor olsalar da karmaşıklıkları dolayısıyla açıklanabilirlikleri tartışılmaktadır. Bu yüzden modelin aktivasyon ağırlıklarından elde edilen ısı haritaları (Grad-Cam) sayesinde elde edilen sonucu hesaplarken görüntünün hangi bölgelerindeki verilerin ağırlığının yüksek ve düşük olduğunu görselleştiriyoruz. Böylece gerçekten uzmanların gözlemlediği yerlerden bu sınıflandırmayı yapıyorsak; evet modelimiz bizim istediğimiz gibi çalışıyor diyebiliyoruz.

X-ray görüntüsünden göğüs hastalıkları tanıları hesaplanırken modelin yoğunlaştığı yerleri göstermektedir.

Açıklanabilirlikle ilgili blog yazıma buradan erişebilirsiniz.

🔐 Mahremiyet

Sağlık verilerinin (yalnızca sağlık verileri değil) üretilmesi, toplanması, kalitesi, paylaşımı ve işlenmesine ilişkin tüm adımlar aşağıdaki şekilde gösterilmektedir.

Verinin toplanmasından işlenmesine kadar olan sürecin yönetimi

Verilerin anonimleştirilmesi bu bağlamda incelenmesi gereken konulardandır. Sağlık alanında uygulamaların güvenilirliğini artırmak için geliştirilen mahremiyet yaklaşımlarını araştırmanızı tavsiye edebilirim.

👾 Demo ve ek kaynaklar için👇🏻

🎬Sunum videosu için 👇🏻

🎉 Yazıyla ilgili geri bildirimler veren Başak Buluz, Zumrut MUFTUOGLU ツ ve Yavuz Kömeçoğlu’na çok teşekkür ederim.

👽 Daha fazla içerik için GitHub ve Twitter hesabımı da takip edebilirsiniz!

🍎 Sağlık görüntülerini de içeren diğer yazılarımdan seçkiler:

🐞 Ayrıca YouTube hesabımdan ücretsiz içeriklere ulaşabilirsiniz!

Merve Ayyüce Kızrak isimli yazarın Medikal Görüntülerde Bilgisayarlı Görü başlıklı eseri bu Creative Commons Atıf-AynıLisanslaPaylaş 4.0 Uluslararası Lisansı ile lisanslanmıştır.

⛲ Kaynaklar

Fundus photograph-based deep learning algorithms in detecting diabetic retinopathy

Impact of Deep Learning Assistance on the Histopathologic Review of Lymph Nodes for Metastatic Breast Cancer

Dermatologist-level classification of skin cancer with deep neural networks

ChestX-ray8: Hospital-scale Chest X-ray Database and Benchmarks on Weakly-Supervised Classification and Localization of Common Thorax Diseases

AI for Medicine Course on deeplearning.ai

Fine-Tuning ve Transfer Öğrenme Nedir?

Açıklanabilir Yapay Zeka Nedir ve İhtiyaç Mıdır?

COVID-Net: A Tailored Deep Convolutional Neural Network Design for Detection of COVID-19 Cases from Chest X-Ray Images

COVID-Net Open Source Initiative

CNN Explainer — Demo

OpenAI Microscope

When Private Data is Not Private

Medical Data Sharing, Harmonization, and Analytics

T-Covid, A fast COVID-19 Diagnosis Tool powered by AI

--

--

Ayyüce Kızrak, Ph.D.

AI Specialist @Digital Transformation Office, Presidency of the Republic of Türkiye | Academics @Bahçeşehir University | http://www.ayyucekizrak.com/