3 Uzman sistemlerBelirli bir alandaki bir uzmanın kabiliyetlerini bilgisayarlara aktarma çalışmalarıSöz konusu kabiliyetler:Problemi anlamaBilgi tabanıÇıkarım süreçleriAçıklama süreçleri
4 Uzman sistemler Yapay zekanın bir alt alanı Yapay zekanın tanımları: Minsky: “İnsanlar tarafından yapıldığında zeka gerektiren şeyleri makinelere yaptırma arayışıdır.”Chris Riesbeck: “Şu temel soruya cevap aramaktır: Bilgisayarlar neden bu kadar aptal?”
5 Neden YZ ile uğraşıyoruz? YZ’nin temel hedefleri:Makineleri daha akıllı / yararlı hale getirmekİnsan zekasını daha iyi anlamak için onu simule eden programlar yazmak.
6 Neden Uzman Sistemler?Yanıtı, Yapay Zekanın tarihçesinde gizli.
7 YZ’nın Kısa Tarihi 1943: McCulloch ve Pitts, ilk yapay nöron tasarımı 1949: Hebbian öğrenme kuralı (iki nöron aynı anda aktif olurlarsa aralarındaki bağ güçlenir.)1950: Turing’in makalesi1951: İlk yapay sinir ağı bilgisayarı (Minsky & Edmonds)
9 Ned Block’un Soru – Cevap ağacı X saatten az her mümkün söyleşinin içinde yer aldığı bir ağaç yapısı.Belki de depolayamayacağımız kadar büyük ama varsayalım ki elimizde.Zeka yalnızca soruları zeki bir insandan ayırt edilemeyen bir yolla yanıtlama yeteneği değildir.Bir davranışı zeki diye adlandırmak bu davranışın nasıl üretildiği hakkında bir önermede bulunmaktır.
10 1950 - 1966: Büyük beklentiler dönemi Turing: 50 yıl içinde sıradan sorgulayıcıların en az yüzde 30’u 5 dakikalık bir diyalogdan sonra doğru kararı veremeyecek.1957 Newell ve Simon: On yıl içinde dünya satranç şampiyonu bir bilgisayar olacak.arası: Otomatik dil çevirisi çok yakınımızda
11 1966 - 1973: Daha gerçekçi yaklaşımlar 1969: Minsky ve Papert’ın yapay sinir ağlarının birçok problem türünde başarısızlığını kanıtlamaları, yapay sinir ağları çalışmalarına ayrılan fonların durdurulması1969: Bryson ve Ho, çok katmanlı yapay sinir ağlarını keşifleri, 1980’lere kadar ilgi çekmemesiOtomatik çeviri sistemlerinde hüsran“the spirit is willing, but the flesh is weak”İngilizce’den Rusça’ya çevirisi:“the vodka is good but the meat is rotten”
12 …neden gerçekleşmediler? Dünya / Sağduyu (Common sense) bilgisinin büyük etkisiProblemlerin karmaşıklığının üstsel olmasıKısıtlı dünyaların (micro-worlds) gerçek dünyaya model olamaması
13 1979 - 1990: Tekrar Yükseliş ve Yeniden Akım Başlatma Uzman Sistemlerin ortaya çıkışıKural tabanlı, sonuçları insanlarca kolaylıkla anlaşılabilen kısıtlı alanlarda uzmanlık görevi gören sistemler (ör: MYCIN, kan enfeksiyonlarının analizi): Japonya Prolog temelli çalışan zeki makineler üretmek için ‘Fifth Generation’ adlı projesini duyurdu.Amerika ve Avrupa’da geride kalmamak için YZ projelerine büyük paralar yatırdı.Yazılımda yeni klişe: ‘now with AI!’YZ firmalarının sayısında büyük artış
16 ~1991 - ~1995: Tekrar Düşüş / YZ Kışı Fifth Generation durdurulduYZ endüstrisinde yeni odak:İnsanların yerini tamamen alabilecek programlar üretmeye çalışmak yerine;Uygun problemlere YZ tekniklerini uygulamakİnsanları destekleyen programlar üretmek
17 Günümüz1991 Körfez savaşında, Amerika tüm lojistik planlamasını YZ yazılımlarına yaptırdı.Deep Blue Garry Kasparov’u 1997’de yendi.Sürücüsüz arabalar (Darpa yarışması, 132 mil)Mars’ta otonom bir robotKısıtlı alanda konuşma, ses anlayan programlarYüksek doğrulukta hava tahmin sistemleriIBM’in Watson programı (2011)Google - otonom YZ ile işleyen araçlarBoston Dynamics’ in askeri robotlarıSürü zekası ile ilk yardım ve askeri araçlarGoogle – Derin öğrenme ile GO şampiyonu (2015)
18 YZ çalışmalarında karşılaşılan sürprizler İnsanlar için zor, makineler için kolay görevler:SatrançTaşıma planlamaHavayollarında uçuş saatlerini planlamaFraud (İnternette kredi kartı yolsuzluğu) tanımaTeorem ispatlamaFormülasyonu kolaylıkla yapılabilen görevler
19 YZ çalışmalarında karşılaşılan sürprizler İnsanlar için kolay, makineler için zor görevler:Konuşma tanımaYüz tanımaBeste / resim yapmaMotor aktiviteler (yürümek)Dil anlamaDünya bilgisi (Ör: Balıkların kaç ayağı var?)
20 Yapay Zeka: Doğal Zeka: Daha kalıcı Kopyalanabilir Geniş kitlelere yayımlanabilirDaha ucuzHer zaman tutarlıİşleyişi belgelenebilirDoğal Zeka:YaratıcıTecrübelerini konudan konuya aktarabilmeAdaptasyonBilinçli çaba olmadan modelleri öğrenebilme
21 Neden Uzman Sistemler?Yapay zeka çalışmalarının en çok başarı sağlayan alanı.Biz de uzmanlaşıyoruz. Her şeyi bilen insanlar yetiştirmek yerine, belli bir alanda uzman insanlar yetiştiriyoruz.
22 Uzman Sistemlerin Kullanıma Uygun Olduğu Alanlar Uzman sistemin sık sık kullanılmasına gereksinim duyuluyorsaKarar verme durumu karmaşıksa (basit durumlar için basit bir bilgisayar programından da yararlanılabilir)Karar verme mantığı bir kural hiyerarşisine dönüştürülebiliyorsaGözden geçirmenin çok uzun zaman alacağı, çok sayıda mümkün kombinasyonun olduğu problemlerdeÇok miktarda dikkate değer veriyi anlamlandırmanın ya da bilgilerin geri çağrılması işlemlerinin yapılmasının gerektiği durumlardaUygulama öneri, sınıflama, teşhis, yorum, açıklama, çözüm yolu seçme, durumu değerlendirme ve tahmin etme üzerinde yoğunlaşıyorsa.
23 Uzman Sistemlerin kullanımının uygun olmadığı durumlar Etkin / verimli çalışan klasik algoritmalar varsaAsıl zorluk bilgi temsili / kullanımı değil, hesaplama karmaşıklığı iseBilgi efektif bir şekilde temsil edilemiyor ya da alınamıyorsaKullanıcılar görevin kritikliği sebebiyle kararı bir makineye bırakmak istemiyorlarsa (otonom asker /uçak vb.)
24 Uzman sistem uygulamaları PUFF:Medical system for diagnosisPROSPECTOR:Used by geologists to identify sites for drilling or mining
25 Uzman sistem uygulamaları MYCIN:Medical system for diagnosing blood disorders. First used in 1979DESIGN ADVISOR:Gives advice to designers of processor chips
26 Uzman Sistem Modelleri / Türleri Kural tabanlı Uzman Sistemler (Rule-based expert systems)Bulanık Uzman Sistemler (Fuzzy expert systems)Çerçeve tabanlı Uzman Sistemler (Frame-based expert systems)Belirsizlik / olasılık ilintili Uzman Sistemler (Uncertainty / probability related expert systems)
27 Kural Tabanlı Uzman Sistemlerin Genel Yapısı Uzun süreli bellekKısa süreli bellek
28 Bilgi Tabanı (knowledge base): Problem çözümü için gerekli bilgileri içerir. Kural tabanlı uzman sistemlerde bilgiler kurallar halinde tutulur.Her kural bir ilişkiyi, bir emri, bir stratejiyi ya da bir sezgiyi ifade eder.IF (condition) THEN (action) yapısındadır.Kuralın ilk bölümü doğrulanırsa (kuralın ateşlendiği söylenir), ikinci kısmı uygulanır.Veri tabanı (database): bilgi tabanında yer alan kuralların ilk bölümleriyle eşleşen gerçekleri içerir.
29 Çıkarım Motoru (inference engine): Çıkarım işlemini yapan (gerçeklerle, kuralların ilk kısımlarını eşleştiren, ikinci kısımlarını uygulayan) bölümdür.Açıklama Kabiliyeti (explanation facilities): Sistemin, kullanıcısına eriştiği bir sonuca nasıl ulaştığını (çıkarım zincirini) anlatma / açıklama özelliğidir.Kullanıcı Arayüzü (user interface): Sistemin kullanıcısı ile etkileşimde bulunduğu bölümdür.
30 Uzman Sistemlerin Özellikleri Dar ve uzmanlık isteyen alanlarda bir insan uzmana yakın performansla çalışmasıÇözümün istenen zaman aralığında bulunmasıArama uzayını daraltmak için sezgisel kurallar kullanırlar.Sembolik çıkarım yaparlar. Semboller farklı türdeki bilgileri ifade etmek için kullanılırlar.Hata yaptıklarında hatanın izi sürülebilir; kaynağı genel yapıdaki bileşenlerden birindedir.
31 Uzman sistem çekirdeği (expert system shell): Genel yapıdaki bilgi tabanının boş olduğu, çeşitli alanlarda uzman sistem üretmek için tasarlanmış program.Bu programlar, bilgi mühendisleri ya da uzmanlar tarafından bilgi tabanlarına çözülmesi istenen probleme özgü kurallar eklenerek kullanılırlar.
32 Hangisi bilgi tabanlı program? Bilgiyi ve onu işleyen kısmı birbirinden ayrı tutan.
34 Alan uzmanı (domain expert): Uzman sistemin simule edeceği kabiliyete sahip kişi ya da kişiler. Bilgi Mühendisi (knowledge engineer): Uzman sistemin tasarlanmasından, test edilmesinden ve çalışacağı yere entegre edilmesinden sorumlu kişi.Alan uzmanıyla görüşen, uzman sistemde bilgi temsilinin nasıl yapılacağına, hangi programlama dilinin / uzman sistem çekirdeğinin kullanılmasına karar veren kişi.
35 Uzman?Belirli bir alanda çokça bilgisi (gerçekler ve kurallar) ve deneyimi olan.Bu sayede, o belirli bir alanda sıradan insanların yapamadığı şeyleri yapabilen.
36 Programcı: Bilgi mühendisinin direktiflerine göre sistemi kodlayan kişi Proje yöneticisi (project manager): Projenin planlanmasından, plana uygun ilerlemesinden sorumlu kişi. Yönetici bunları geliştirme takımındakilerle sürekli iletişim halinde bulunarak gerçekleştirir.Son kullanıcı (end-user): Sistemin bitmiş halini kullanacak kişi. Sistem geliştirilirken ve çalışma yerine entegre edilirken görüşleri mutlaka alınması gerekir.
38 Bilgi çıkarımının (bilgi tabanı oluşturmanın) özellikleri Zaman ve emek isteyen bir süreç.Uzman sistem geliştirmede en önemli darboğazUzman sistem geliştirmede en pahalı kısımOtomatik bilgi çıkarımı en uç hedef
39 Bilgi tabanının oluşturulmasında 4 farklı yaklaşım:
40 Bilgi tabanının oluşturulmasında 4 farklı yaklaşım:
41 Kural Tabanlı Uzman Sistemlerin Avantajları Bilginin doğal gösterimi: Alan uzmanları bilgilerini genelde “şöyle durumlarda şunları yaparım” formatında ifade ederler. Bu ifade tarzının kurallara çevrilmesi çok kolaydır.Tek tür bilgi gösterimi: Tüm bilgi ‘if then (else)’ yapısındadır. Açıklama kabiliyetini oluşturmak çok kolaydır.
42 Kural Tabanlı Uzman Sistemlerin Avantajları Bilgi ve bilginin işlenmesinin yalıtılmış olması: Bu özellik sayesinde uzman sistem çekirdekleri birçok farklı alanda kullanılabilirler.Tam olmayan, kesin olmayan bilgi ile çalışma: Çoğu kural tabanlı sistem bilgilerin tam olmadığı ya da olasılıklı olduğu durumlarda çalışabilir.
43 Kural Tabanlı Uzman Sistemlerin Dezavantajları Kurallar arası ilişkilerin yapısı: Kurallar birbirlerinden bağımsız. Birlikte oluşturdukları bütün mantıksız olabilir. Ana bir mekanizma yok.Etkisiz arama stratejisi: Kurallar kümesi büyüdükçe sistem ağırlaşabilir. Gerçek zamanlı uygulamalarda kullanmak zorlaşır.
44 Kural Tabanlı Uzman Sistemlerin Dezavantajları Öğrenememe: Genel olarak, uzman sistemler, uzman insanların aksine, tecrübelerini kullanarak kurallara ne zaman uymayacaklarını bilmezler, bilgi tabanlarını otomatik olarak güncellemezler, yeni kurallar eklemezler. Tüm bu işlemler bilgi mühendisi tarafından yapılmalıdır.Günümüzde, makine öğrenimi algoritma ve ilgili teknolojilerin sürekli gelişmesi ile bu sorun giderilmeye başlanmıştır.
45 Uzman Sistemlerin Yararları Uzmanlığın nadir olduğu durumlarda uzmanlık sağlamak.Uzmanlığı elde etmenin pahalı olduğu durumlarda uzmanlık sağlamak.Uzmanlara ulaşılamayan zamanlarda ve mekanlarda uzmanlık sağlamak.Bir uzman analizinin alacağı zamanı kısaltmak.Daha az deneyimli ve daha az usta personelin performans derecesini yükseltmek.Uzmanlığın; yeniden atama, emeklilik veya başka personel kaybı yoluyla kaybedilebileceği durumlarda bilgiyi ele geçirmek ve saklamak.Uzmanlığın, her seferinde; aynı tarzda, tarafsız ve devamlı olarak uygulanmasını sağlamak.En iyi uzmanların zamanını en zor problemler veya diğer önemli görevler için boşaltmak.Kullanım başına maliyet düşükKararlarını açıklama yeteneğine sahip
46 Uzman Sistemlerin Temel Problemi Kısıtlı bilgiYüzeysel bilgiElindekiler hakkında anlayışı yokHayat bilgisi (common sense) yokKapalı bir dünya “closed world”Sadece kendine söylenenleri bilirNeyi bilmediğini bilmez‘Böbrekleri 150 dereceye ısıtın’…???!!!
47 Uzman Sistemleri geliştirmede Uzman kullanmanın Dezavantajları Uzmanlar sıklıkla kendi analiz / karar mekanizmalarını açıklayamazlar.Uzmanlar, uzman sistem geliştirmede işbirliği yapmak istemeyebilirler.Uzmanlar birbirleriyle analiz ve karar süreçlerinde genelde hem fikir olmazlar.Büyük ölçekli sistemlerin doğrulaması zordur.
48 Temel Fikir: Mevcut Durum: | | EXPERT – AVERAGE PERSON | | = KNOWLEDGE Uzman insanla ortalama bir insanın farkı; bizim elde etmeye çalıştığımız bilgidir.Mevcut Durum:KBS = | | Expert Knowledge – Common Sense | |KBS = Knowledge Base System = Expert SystemUzman insanın bilgisiyle hayat bilgisinin (common sense yani ortalama insanın bilgisi) farkı; mevcut uzman sistemlerin bilgisidir.