Yapay Bağışıklık Sistemi Algoritmaları

Ahmet Ataşoğlu
Deep Learning Türkiye
7 min readJun 10, 2019
illüstrasyon: kaynak

Yapay Bağışıklık Sistemi (YBS); karmaşık problemleri çözebilmek, optimizasyon (iyileme) ve biyolojik tabanlı diğer problem çözme yöntemlerinin geliştirilmesi gibi amaçlar için üzerinde çalışılan, yapay zekanın araştırma alanlarından biridir. Problemlere karşı yaklaşım ve çözümlerini -adından da anlaşıldığı gibi- vücudumuzun savunma sistemi olan bağışıklık sistemi mekanizmalarından esinlenerek geliştirir. Ortaya çıkışı çok yeni olmamasına rağmen son yıllarda popülerlik kazanmaya ve oldukça etkili algoritmalara sahip olmaya başlamıştır. Bu yazıda YBS’nin iki önemli algoritmasından bahsedeceğiz. Fakat YBS’yi daha iyi kavrayabilmek için öncelikle bağışıklık sisteminin kendinden biraz bahsetmemiz gerekiyor.

Doğal Bağışıklık Sistemimiz

Bağışıklık sistemi, sağlığımız için birer tehdit unsuru olan virüs, bakteri, tümör gibi çeşitli biyolojik organizmalara karşı vücudumuzu savunan, karmaşık ve son derece elzem bir sistemdir. Hastalıklardan hem korunmak hem de onlarla mücadele edebilmek için patojen* unsurların vücudumuza girmesinden hemen sonra bağışıklık sisteminin görevli hücreleri bir savunma durumuna geçer. Savunma durumunda vücudumuzun verdiği tepkilerin tümüne ‘bağışıklık cevabı’ adı verilir. Bağışıklık cevabı hastalığın üstesinden gelebildiyse, patojenlere karşı duyarlılık kazanan hücreler ‘hafıza hücreleri’ olarak saklanır ve sonraki saldırılarda daha hızlı ve doğru bir bağışıklık cevabı verilebilir.

Bağışıklık Sisteminin Temel Özellikleri

Doğal bağışıklık sistemini vücudumuzun diğer fizyolojik sistemlerinden ayıran bazı karakteristik özellikler bulunur. Bağışıklık sisteminin bu özellikleriyle bir bilgisayar sistemi arasında benzetim yapmak istersek; aynı haberleşme protokolünü ve ortak bir depolama alanını kullanan birden çok bilgisayarın, birbirlerinden bağımsız çalışarak bütün sistemin güvenliğini sağlamaya çalıştığı düşünülebilir. Doğal bağışıklık sisteminin aşağıdaki temel özelliklerini bu bilgisayar sisteminin üzerine inşa ederek, daha detaylı bir örneği gözünüzde canlandırmayı deneyebilirsiniz:

  1. Her bireyin bağışıklık sistemin yeteneği ve gelişmişlik seviyesi kendisine özgüdür.
  2. Bağışıklık sistemi, vücuda giren patojenleri tespit etme ve bunlara cevap verme yeteneğine sahiptir.
  3. Sistemin tüm hücreleri vücut boyunca dağılmış şekilde bulunur ve bir merkezi kontrol söz konusu değildir.
  4. Bağışıklık cevabı için, patojenlerin tam tanımlanmasına gerek duyulmamaktadır.
  5. Sistem patojenleri öğrenebilme ve daha sonra aynı patojenle karşılaştığında daha hızlı cevap verebilme yeteneğine sahiptir.
  6. Bağışıklık sistemi, farklılaşmayı teşvik eder.
  7. Değişen dış durumlara adapte olabilir.
  8. Kendine özgü bir hafıza sistemine sahiptir.

Bağışıklık sisteminin yapı taşlarından biri beyaz kan hücreleridir (lökositler) ve bunun da özelinde, esasen bir beyaz kan hücresi olan lenfositlerdir. Lenfositler T-lenfositleri ve B-lenfositleri olmak üzere iki gruba ayrılırlar:

  • T-lenfositleri: kanda dolaşan lenfositlerin çoğunluğunu oluşturur. B-lenfositlerinin aktif hale gelmesinde görevlidir.
  • B-lenfositleri: T-lenfositlerinden aldıkları sinyal sonucu uyarılır ve antikor** üretirler.

Bağışıklık Cevabının Geliştirilmesi

Vücudumuzun tehditlere karşı gösterdiği tepkiler adım adım şu şekildedir:

  • Vücuda giren yabancı maddeler makrofaj*** hücreleri tarafından sarılır ve diğer bağışıklık sistemi hücrelerinin harekete geçmesi teşvik edilir.
  • Beyaz kan hücreleri T-lenfositleri tarafından uyarılarak çoğalmaya başlar.
  • Uyarılan hücrelerden B-lenfositleri antikor üretimine geçer ve üretilen antikorlar, antijenlerin**** daha kolay yok edilmesini sağlar.

Bütün bu süreçte vücudumuza ait hücrelerin (self) zarar görmemesi için, vücudumuza ait olmayan (nonself) hücrelerden ayırt edilmesi gerekir. Hücrelerin ayrım yeteneği çeşitli seçilim mekanizmalarıyla geliştirilebildiği gibi, ayrımın yeterince iyi yapılamadığı durumlarda ‘self’ hücrelerin ‘nonself’ olarak algılanması sonucu vücudun kendi hücrelerini yok etmeye çalışması da mümkün olabilir. (Bkz. Otoimmün hastalıklar)

Yapay Bağışıklık Sisteminin Temelleri

Doğal bağışıklık sisteminin bahsettiğimiz özelliklerini modellemek için yapılan çalışmalar 1970’li yıllara dayanmaktadır. İmmünolog Niels Kaj Jerne ve teorik biyolog Geoffrey W. Hoffmann tarafından geliştirilen ‘Bağışıklık Ağı Teorisi’ (1974) ile ortaya konulan bağışıklık sistemi modelleri, yapay zeka araştırmacılarının da ilgisini çekmiş ve doğal bağışıklık sisteminden esinlenen Yapay Bağışıklık Sistemi’nin ilk adımları atılmıştır. İlk kullanımı ise bilgisayar virüslerinin tanınması için bilgisayar bilimci Stephanie Forrest tarafından gerçekleştirilmiştir. (1996)

YBS, Yapay Sinir Ağları gibi nispeten daha popüler algoritmalarla aynı dönemlerde geliştirilmeye başlanmış olmasına karşın zaman içinde bu algoritmaların gölgesinde kalmıştır. Fakat son zamanlarda özellikle de optimizasyon konusunda epey ilgi görmektedir ve bu konuda mesafe katederek etkili algoritmalara sahip olmaya başlamıştır.

Sonraki kısımda YBS’nin en çok kullanılan algoritmalarından Negatif Seçim Algoritması ve Klonal Seçim Algoritmasını inceleyeceğiz.

Negatif Seçim Algoritması (NSA)

Negatif seçim, biyolojik sistemlerdeki evrimin temel fonksiyonlarından biri olan doğal seçimin tam tersi bir işlev gösterir ve bir popülasyondaki bireyler arasından ‘en iyinin’ değil ‘en kötünün’ seçilmesi üzerinedir.

YBS’de ise negatif seçim: istenmeyen veya zararlı olan birimlerin ayırt edilmesi ve dışlanabilmesi için kullanılır. Doğal bağışıklık sisteminin self ve nonself hücreleri ayrımsamadaki yetenekleri bu algoritmaya ilham olmuştur. Makine öğrenmesinde de önemli bir yer edinen desen tanıma işlemi; benzer şekilde burada da NSA tarafından yürütülür. NSA’nın bilinen çözüm adayları (antikor) arasından, sistemde uygunluk için istenmeyen adaylar (nonself) hakkında bilgi toplaması ve bu adayları tespit edebilmesi bir desen tanıma süreci olarak görülebilir.

NSA’nın başlıca kullanım alanları:

  • Desen tanıma
  • Anormallik belirleme problemleri
  • Bilgisayar ve ağ güvenliği
  • Zaman serileri analizi

NSA Mekanizması

  • Tanınan modellerin kümesi belirlenir. Bu küme ‘self kümesi’ (P) olarak adlandırılır.
  • Rastgele çözüm adaylarından oluşan model kümesi oluşturulur ve ‘adaylar kümesi’ (C ) olarak belirlenir.
  • Self kümesine ait olmayan (nonself adayı) modelleri hafıza edebilmek için bir ‘algılayıcılar kümesi’ (M) oluşturulur. Oluşturulma yöntemi Şekil 1'de verilmiştir.
Şekil 1. Algılayıcılar kümesinin oluşturulması [3]
  • Bu süreç sonrasında, yeni modelleri içeren (sınanacak modellerin bir kümesi olarak) ‘korunanlar kümesi’ (P*) oluşturulur.
  • Algılayıcılar kümesindeki elemanların, korunanlar kümesindeki her bir eleman için tanınıp tanınmadığı eşleşme ile kontrol edilir.
  • Eşleşmenin olduğu durumlarda, bir nonself model tanınmış demektir. Şekil 2'de görülmektedir.
Şekil 2. Nonself modellerin tanınması [3]
  • Tanınan nonself modeller için bağışıklık cevabı verilmek üzere ilgili reaksiyonlar başlatılır.

Klonal Seçim Algoritması (KSA)

KSA, bir nonself modelin tanınmasının ardından karşı hamle olarak bağışıklık cevabının geliştirilmesiyle ilgilidir. Bu açıdan NSA’nın rolünü tamamlayıcı olarak çalışır.

KSA’nın çalışması, bir başka biyolojik tabanlı optimizasyon yöntemi olan Genetik Algoritmalar’a (GA) benzerlik gösterir. İki yöntemde de adayların çözüm için ne kadar elverişli oldukları uygunluk fonksiyonu ile ölçülür. Diğer bir ortak özellik; çeşitlilik için bireylerin özniteliklerinin değiştirilmesi GA’da olduğu gibi, burada da mutasyon operatörü ile gerçekleşir. Fakat GA’nın bir başka önemli operatörü olan çaprazlama operatörü KSA’da bulunmaz. KSA, aday popülasyonunu genişletmek için problemin çözümüne en çok yaklaşan adayları çaprazlamak yerine doğrudan kopyalamayı (klonlamayı) tercih eder.

Klonal Seçim Mekanizması

Vücuttaki yabancı maddeler tespit edildikten sonra antikor üretimine geçme görevinin B-lenfositlerine ait olduğundan bahsetmiştik. B-lenfositlerinin harekete geçmesi için gereken ‘görev çağrısı’ ise T-lenfositlerinden gelen uyarıcı etkiyle mümkün olur. Buradan sonra:

  • B-lenfositleri, uyarıldıktan sonra bölünerek ‘plazma hücreleri’ denilen antikor salgılayan hücrelere dönüşürler.
  • B-lenfositlerinin kopyalanarak çoğalması ‘mitoz bölünme’ yoluyla gerçekleşir ve yeni kopya bireyler oluşur.
  • Antijene karşı duyarlı olmayan kopyalar, duyarlı olan kopyalara göre daha az çoğalırlar.
  • Kopyalanan hücreler ‘hipermutasyon’a uğrarlar. (Bkz. Somatik hipermutasyon) Bu işlemle, yeni hücreler yabancı maddeye daha çok uyum sağlar.
  • B-lenfositleri ayrıca uzun ömürlü ‘hafıza hücreleri’ne de dönüşebilirler. Vücudun bağışıklık sistemi boyunca dolaşan hafıza hücreleri, benzer bir antijenle karşılaştığında, bu antijene yüksek uyum sağlayabilen antikor üretebilirler.
  • Antijeni daha az tanıyan hücreler ölürler ve yerlerine yeni hücreler görev alır.
  • Antijeni en iyi tanıyan ve ona en çok uyum sağlayabilen hücrelerin yaşam döngüsü daha uzun olabildiği için nihayetinde bu süreç; bağışıklık cevabı için en uygun antikoru üretebilen bireylerin çoğaltılmasını sağlamış olur.

KSA Mekanizması

  1. Problemin çözümü için belirlenen adaylardan bir başlangıç popülasyonu (N) oluşturulur. Popülasyonun her bir bireyi antikor, problem ise antijen olarak görülebilir.
  2. Antikorlar bit dizilerinden oluşurlar. Dizilerin uzunluğu problem için istenen hassasiyete göre seçilir.
  3. Her bir antikor için bit dizileri, uygunluk fonksiyonuna girdi olarak verilir ve sonuçlar (uygunluk değerleri) hesaplanır.
  4. En yüksek uygunluk değerine sahip n tane antikor seçilir ve uygunluk değerleriyle orantılı olarak kopyalanır.
  5. Belirlenen n tane hücrenin her biri için kopya sayısı (Nc) Formül 1’deki formül ile belirlenir.
  6. Oluşturulan kopyalar, uygunluk değerleriyle ters orantılı şekilde mutasyona uğratılır. Ardından uygunluk değerleri yeniden hesaplanır.
  7. Her bir kopya popülasyonu, başlangıçtaki popülasyonun alt popülasyonudur. Her bir alt popülasyonun en yüksek uygunluk değerine sahip bireyleri belirlenir ve yaşamasına izin verilir.
  8. Alt popülasyonun en kötü uygunluk değerine sahip d tane bireyi, rastgele üretilmiş bireylerle değiştirilir. Bu şekilde popülasyonda farklılaşma sağlanmış olur.
Formül 1. Beta: Çarpım faktörü, N: başlangıç popülasyonunun büyüklüğü, round: parametresini en yakın tam sayıya yuvarlayan fonksiyondur. [4]

Bu işlemler, aday çözümlerden beklenen başarı gerçekleşene kadar tekrar ettirilir. (Şekil 3)

Şekil 3. Klonal Seçim Algoritması [4]

Sonuç

Yapay Bağışıklık Sistemi, Yapay Sinir Ağları ve Genetik Algoritmalar’da olduğu gibi biyolojik mekanizmaları modelleyen bir sistemdir. Bu sistemlerin kullanıldığı çoğu alanda YBS ile de çalışmak mümkündür. Örneğin veri kümeleri üzerinde; desen tanıma, sınıflandırma ve bilgi çıkarımı amacıyla kullanılabilir. Önceki kısımlarda bahsettiğimiz gibi optimizasyon problemlerinde etkili olmasından dolayı bilimsel araştırmalarda bir hesaplama yöntemi olarak da kullanılabilir. Ek olarak ağ güvenliği, robotik, kontrol sistemleri, veri madenciliği, sınıflama sistemleri, sensör tabanlı teşhis, gen kütüphanelerinin gelişimi gibi konularda da uygulama alanına sahiptir.

Son olarak YBS’ye kavramsal açıdan en çok benzeyen algoritmalardan biri olan GA’ya göre avantajından ve dezavantajından bahsetmek gerekirse: GA, çözüm için aday popülasyonunda doğrudan global optimal değerlere ulaşmaya çalışırken; YBS lokal optimalliği de sağlayarak aynı amaca ulaşmaya çalışır. Yani GA, popülasyonun tamamında tek bir en iyi adaya odaklanırken, YBS; süreç boyunca oluşturulan alt popülasyonlarda da en iyi bireyleri ortaya çıkarmaya çalışır. Fakat bundan dolayı YBS’nin global optimal değerlere ulaşma performansı GA kadar iyi değildir. Bunun yanında GA’daki mutasyon oranı çok düşük (%1) seçilmesine karşın, YBS’de çok büyük mutasyon oranları seçilmektedir. Her iki algoritma için de mutasyon oranlarının problemin cinsine göre ve hassasiyetle seçilmesi gerekir. Aksi durumlarda, çalışılan araştırma uzayında yeterli tarama yapılamayacağı için algoritmaların optimal değerlere ulaşma ihtimali de düşecektir.

Yapay Bağışıklık Sistemi hakkında daha kapsamlı bir okuma için Prof. Dr. Derviş Karaboğa’nın 'Yapay Zeka Optimizasyon Algoritmaları' kitabına göz atabilirsiniz.

*Patojen: Hastalık yapıcı mikroorganizmalar.

**Antikor: vücuda giren yabancı maddeleri zararsız hale getirmek için oluşturulan moleküller.

***Makrofaj: dokularda bulunan patojenlerin, ölü hücrelerin, hücresel kalıntıların ve vücuttaki yabancı maddelerin yutulmasından sorumlu hücreler.

****Antijen: Vücuda giren yabancı maddeler.

Kaynaklar

--

--