İçeriğe geç

2.3 · Seviye 0 · Yapay Zekâ Okuryazarlığı

Uzman sistemler

kural tabanlarının yükselişi ve bilgi edinme darboğazı

Yapay Zekâ Akademisi — M02, Kısa Bir Tarih · 2.330 kelime · 3 saha durumu · ≈ 11 dk okuma · 16 dk dinleme

Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Belirli ürün ve modeller hakkındaki gözlemler yazıldıkları tarihte geçerlidir ve «Tarihli gözlem» etiketiyle yılı belirtilerek verilir. Yapay zekâ çıktıları doğrulanmadan karar dayanağı yapılmaz; dersler hukuki, tıbbi ya da mali danışmanlığın yerini tutmaz.

Açılış

Kasımın ikinci pazartesisi Trabzon'daki sağlık merkezinde Dr. Seda Hanım öğle arasına kadar otuz iki reçete yazdı. Reçete ekranı bunların on dokuzunda kırmızı çerçeveli bir kutu açtı. Kutuların çoğu ona yıllardır bildiği şeyleri söylüyordu: yetmiş yaşın üstündeki hastada bu ilaç dikkatle kullanılmalı, bu iki ilaç birlikte yazıldığında tansiyon izlenmeli. Hasta her ay aynı iki ilacı alıyor, tansiyonu her ay ölçülüyordu; uyarı yine de her ay geldi. Seda Hanım her kutuda "Okudum, devam et" düğmesine bastı.

Yirmi yedinci reçetede eli düğmenin üstünde durdu. Bu kez kutu, hastanın iki hafta önceki tahlilinde böbrek değerinin düştüğünü ve yazdığı dozun azaltılması gerektiğini söylüyordu. Tahlil sonucu başka bir ekrandaydı ve Seda Hanım onu henüz açmamıştı. Uyarı haklıydı. Ama önündeki on sekiz kutunun ardından gelmişti ve aynı kırmızı çerçeveyle, aynı düğmeyle gelmişti.

Öğle yemeğinde Dr. Necati Bey'e anlattı. Necati Bey omuz silkti: "Ben artık okumuyorum, yalnız rengine bakıyorum." Seda Hanım o gün sağlık müdürlüğündeki bilgi işlem birimine kısa bir soru yazdı: Bu uyarıların kurallarını kim yazdı, hangi bilgiye dayanarak, ve son kez ne zaman gözden geçirildi?

Tek fikir

Uzman sistem, bir alanın uzmanından alınıp "eğer, ise" kurallarına dökülmüş bilgiyle akıl yürütür. Dar bir alanda uzman düzeyine yaklaşabilir; ama bilgiyi uzmandan çıkarmak, yazmak ve güncel tutmak her yeni kuralla pahalılaşır.

Nasıl çalışır

Ders 1.2'de kural tabanlı sistemi bir posta süzgeciyle tanımıştık: birkaç kelime, birkaç koşul. Yetmişli yıllarda bazı araştırma grupları aynı fikri çok daha iddialı bir yere taşıdı. Bir enfeksiyon uzmanının antibiyotik seçerken ya da bir göğüs hastalıkları uzmanının solunum testini yorumlarken kullandığı bilgiyi kurallara dökmek istediler.

Bu ayrım işin püf noktasıydı. Kurallar alana özgüdür, onları sırayla deneyen ve birbirine zincirleyen mekanizma ise değildir.

Motorun bir yöntemi geriye doğru çalışmaktır. Sistem bir hedefle başlar, örneğin "bu hastadaki etken bakteri hangisi?", ve o hedefi kanıtlayabilecek kuralları arar. Kuralın koşullarından biri bilinmiyorsa onu yeni bir alt hedef yapar ve gerekirse hekime sorar. Böylece sistem soruları rastgele değil, o anki akıl yürütmesine göre sıralar; sonunda da hangi kuralların zincirinden geçtiğini gösterebilir.

Bu yaklaşımın en açık tanıklığı, onu kuran grubun başındaki araştırmacıdan gelir.

Feigenbaum'un yazısında iki tez öne çıkar. Birincisi, bir programın gücünün çıkarım yönteminin genelliğinden değil, taşıdığı uzman bilgisinden geldiğidir; yazının deyişiyle ajanlar yöntemde fakir olsa bile bilgide zengin olmalıdır. İkincisi o bilginin doğasıdır: uzmanın bildiğinin büyük kısmı kesin olgular değil, deneyimden gelen "iyi tahminler" ve "iyi uygulamalar"dır. Üstelik bu bilgi çoğu zaman uzmana özeldir; uzman paylaşmak istemediği için değil, paylaşamadığı için. Feigenbaum'un cümlesiyle uzman, bildiğinin farkında olduğundan fazlasını bilir.

Bu ikinci tezden bir meslek doğdu. Uzmanla saatlerce oturup vakalar üzerinden konuşan, onun kararlarını kurala çeviren, kuralları sisteme ekleyip yeni vakalarla sınayan kişiye bilgi mühendisi dendi. Feigenbaum'un yazısındaki solunum testi örneği bu döngüyü adım adım gösterir.

Aynı grubun antibiyotik seçimi yapan daha büyük sisteminin başarımı ise körlemeli bir deneyle ölçüldü.

Bu sayılar etkileyicidir, ama hangi koşulda elde edildiklerine dikkat et: tek bir hastalık, seçilmiş vakalar, kuralları dikkatle yazılmış bir alan. Sorun alan genişlediğinde başlar.

Feigenbaum aynı yazıda bu sorunu adıyla anar: alan bilgisinin edinilmesini, uygulamaya dönük akıllı programlar kurmanın darboğaz sorunu olarak gördüklerini yazar. Grubun kuralları örneklerden kendi kendine çıkaran bir program denemesinin bir gerekçesi de buydu.

Darboğazın bir de bakım tarafı vardır ve basit bir hesapla görülür. Her yeni kural, eskilerle çelişip çelişmediği, birini gölgede bırakıp bırakmadığı için gözden geçirilmelidir. Elli beş kuralın birbiriyle oluşturabileceği ikililer elli beş çarpı elli dört bölü iki, yani bin dört yüz seksen beş tanedir. Beş yüz kuralda bu sayı yüz yirmi dört bin yedi yüz elliye çıkar. Beş yüz birinci kuralı eklemek, kontrol edilecek beş yüz yeni ikili demektir. Her ikili gerçekten çatışmaz, ama hangisinin çatıştığını bilmenin yolu bakmaktır.

Sahada

Nerede yanılır

Bir uzman sistem yalnız kurallarının kapsadığı dünyayı bilir ve kapsamın kenarına geldiğini çoğu zaman fark etmez. Kurallarında hiç geçmeyen bir durumla karşılaşınca ya hiçbir kural tetiklenmez ve sistem susar, ya da koşulları kısmen tutan bir kural tetiklenir ve sistem aynı güvenle yanlış bir öneri verir. İnsan uzman alışılmadık bir vakada duraklar; kural tabanı duraklamaz. Bu kırılganlık bilinen ve tanınan bir hata biçimidir: sınama vakalarına iyi cevap veren sistem, sınama vakalarına benzemeyen ilk hastada çöker.

İkinci yanılma yeri belirsizliktir. Uzmanın bilgisi "genellikle", "çoğu hastada", "bu bölgede şimdilik" gibi kayıtlarla doludur. Kurala dökülürken bu kayıtlar ya bir güven sayısına çevrilir ya da düşer. Güven sayısı uzmanın sezgisinin bir tahminidir, ölçülmüş bir olasılık değildir; birden çok kural zincirlendiğinde bu sayıların nasıl birleşeceği de bir tasarım tercihidir. Feigenbaum'un grubu bile bu birleştirme yöntemini biçimsel olarak sağlam olmaktan çok uzmanın anlayabileceği kadar sade olmasını öncelediklerini yazar.

Üçüncüsü Seda Hanım'ın ekranında yaşanandır. Bir kural "bu iki ilaç birlikte yazılırsa uyar" diyorsa, hastanın o kombinasyonu yıllardır izlenerek kullandığını bilmez. Uyarı teknik olarak doğrudur ama o hekim için o anda işe yaramaz. Bu tür uyarılar biriktikçe hekim uyarıların tümünü daha az okur ve gerçekten önemli olan da aradan geçer. Erken işaret sayıdadır: uyarıların kaçta kaçının geçildiğini say, sonra geçilenlerin içinden bir örneği dönüp oku.

Uygulama

Bu derste bir bilgi mühendisi gibi çalışacak ve kendi bildiğin bir işi kurala dökmenin nerede tıkandığını sayacaksın.

Çoğu kişi bu alıştırmada iki şey görüyor. İlk beş kural on durumun ancak bir kısmını karşılıyor ve boşlukları kapatmak için eklenen kurallar kısa sürede ilk kurallardan sayıca fazla oluyor. Daha önemlisi, en sonda aradığın "kurala girmeyen şey" genellikle kararın asıl dayanağı çıkıyor. Gülay'ın "bakınca anlıyorum" dediği, Haydar Bey'in "kirli" dediği şey budur.

Defter: "Uzmanın kuralları" diye bir sayfa aç ve dört satır yaz: başlangıçtaki kural sayısı ve sondaki kural sayısı, hiçbir kuralın tetiklenmediği durum sayısı, çelişki sayısı, kurala çeviremediğin bilgi. Altına bir cümle ekle: bu kuralları bir başkası bir yıl sonra güncelleyecek olsa, neyi bilmeden yapamaz?

Hata köşesi

Yaygın yanlış"Uzman sistemler başarısız oldu ve tarihte kaldı."
Doğrusu

Menenjit sınamasındaki sistem dar alanında öğretim üyeleriyle yarışabilir sonuçlar verdi. Kural tabanlı akıl yürütme bugün de reçete uyarılarında ve sigorta listelerinde çalışıyor; Seda Hanım'ın ekranındaki kutular da Elif'in elli iki maddesi de bu ailedendir. Sorun yöntemin kendisinde değil, kapsamın genişlemesiyle büyüyen edinme ve bakım maliyetindeydi.

Yaygın yanlış"Uzmanla bir kez oturup kuralları yazmak yeter."
Doğrusu

Solunum testi sisteminde bile kurallar vakalarla sınandıkça boşluklar ve tutarsızlıklar çıktı, uzmanla mühendis arasındaki gidiş geliş kuralları adım adım düzeltti. Alan değiştikçe, örneğin bir bölgedeki antibiyotik direnci arttıkça, kurallar da eskir. Kimin güncelleyeceği yazılmamış bir kural tabanı sahipsiz kalır.

Yaygın yanlış"Uyarıların çoğu geçiliyorsa sorun hekimlerin dikkatsizliğidir."
Doğrusu

On yedi çalışmayı derleyen ekip, uyarıları geçmenin çoğu zaman haklı olabileceğini ve iyileştirmenin yazılımdaki ve kurumdaki hata üreten koşullara odaklanması gerektiğini yazar. Gereksiz uyarı üreten bir kural tabanı, hekimi gerçek uyarıya karşı da körleştirir.

Sorumluluk

Bir uzman sistemin önerisi, kuralları yazan uzmanın, onları koda geçiren mühendisin ve sistemi satın alan kurumun kararlarının birleşimidir; ekranda ise yalnız tek bir kutu görünür. Hangi uyarının gösterileceğine, hangisinin susturulacağına ve kuralların hangi sıklıkla gözden geçirileceğine kurum karar verir ve bunun sorumluluğu ondadır. Hastaya yazılan reçetenin sorumluluğu ise hekimde kalır; uyarıyı geçmek de dikkate almak da onun kararıdır. Gereksiz uyarıların zararı önce hekime, sonra uyarısı aradan kaçan hastaya dokunur. Seda Hanım'ın bilgi işleme sorduğu üç soru, yani kuralı kim yazdı, neye dayandı, en son ne zaman doğrulandı, her kural tabanı için sorulması gereken sorulardır.

Kapanış

  1. Uzman sistem, dar bir alandaki uzman bilgisini "eğer, ise" kuralları olarak saklar ve bir çıkarım motoruyla bu kuralları zincirleyerek öneri üretir; kurallar okunabilir, akıl yürütme zinciri gösterilebilir.
  2. Dar ve dikkatle seçilmiş alanlarda bu sistemler uzman düzeyine yaklaştı; menenjit sınamasında sistemin önerileri öğretim üyelerininkinden daha sık kabul edilebilir bulundu.
  3. Bilgiyi uzmandan çıkarmak, belirsizliği kurala dökmek ve büyüyen kural tabanını çelişkisiz ve güncel tutmak, yani bilgi edinme darboğazı ve bakım yükü, bu yaklaşımın asıl sınırıdır.

Üç soru

  1. Çıkarım motorunu bilgi tabanından ayırmanın pratik yararı neydi? Feigenbaum'un anlattığı solunum testi sistemi bu ayrımdan nasıl yararlandı?
  2. Bir kural tabanında yüz kural varsa, birbirleriyle çelişip çelişmediği kontrol edilecek kaç kural ikilisi vardır ve yüz birinci kural kaç yeni ikili ekler?
  3. Seda Hanım'ın ekranında doğru olan bir uyarı neden gözden kaçmak üzereydi ve bu durum kural tabanının hangi zayıflığını gösterir?

Yanıtlar

  1. Kurallar alana özgüdür, onları uygulayan motor değildir; bu yüzden motor bir alandan ötekine taşınabilir. Feigenbaum'un yazısına göre solunum testi sistemini kuranlar yeni bir araç icat etmedi, antibiyotik sisteminin enfeksiyon kurallarını çıkarıp kalan motoru kendi elli beş kuralıyla kullandılar.
  2. Yüz çarpı doksan dokuz bölü iki, yani dört bin dokuz yüz elli ikili vardır. Yüz birinci kural, var olan yüz kuralın her biriyle bir yeni ikili oluşturur; yani yüz yeni ikili. Kural sayısı arttıkça her eklemenin kontrol maliyeti de büyür.
  3. Çünkü önceki on sekiz uyarının çoğu, hastanın zaten izlenen kombinasyonları hakkındaydı ve hekim aynı görünümlü kutuları okumadan geçmeye alışmıştı. Kural, hastanın bağlamını bilmeden yalnız koşulun tutup tutmadığına bakar; gereksiz uyarılar biriktikçe gerçek uyarının değeri düşer. Bu, kuralların özgüllüğü düşük olduğunda ortaya çıkan bir zayıflıktır.

Sonraki derse köprü

Menenjit sınaması ve solunum testi sonuçları gibi sonuçlar, dar alanlarda gerçek başarının mümkün olduğunu gösterdi; bu başarılardan yola çıkan beklentiler ise çoğu zaman o dar alanların çok ötesine uzandı. Ders 2.4, Yapay zekâ kışları, vaat ile sonuç arasındaki açığın alana verilen desteği iki kez nasıl kestiğini ve bu iki dönemden bir yatırım ya da satın alma kararı için hangi dersin çıkarılabileceğini inceliyor.

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.