Yapay Sinir Ağları Yapay Zeka
Yard.Doç.Dr . Mehmet Siraç ÖZERDEM
[email protected] [email protected]
Elektrik Elektronik Mühendisliği Bölümü Dicle Üniversitesi
Zeka
Deneyimden öğrenme yeteneği
Bilgi edinme, saklama ve uygulama
yeteneği
Yeni durumlara tepki verebilmek
için muhakeme edebilme yeteneği Problem çözme yeteneği
Yapay Zeka
Bilgisayarın insan gibi hareket ve muhakeme edebilmesini amaçlayan çalıĢma alanı Bilgisayarlara düĢünmeyi öğretmek Bilgisayarın insan aklını taklit etmesini sağlamak Ġnsanların iyi yapabildikleri konularda bilgisayarıların da iyi olmasını sağlamak (problem çözme, oyun oynama)
Yapay Zeka
Bilgisayarlar hiçbir zaman insanoğlunun yaratıcılık, duygu ve mizacının benzeĢimini aktarabilme becerisine sahip olamayacaktır. Bununla beraber, bilgisayarların belirli insan davranıĢlarını yapan makinalara yön vermesi ve belirli bir uzmanlık alanı ile ilgili (veri hesaplaması, tıbbi teĢhis gibi) beĢeri düĢünme sürecinin benzeĢimini yapan sistemlere beyin olma becerisine
sahip olması olasıdır.
Yapay Zeka
MIT (Massachusette Technical University)
araĢtırma grubunda YZ ile ilgili çalıĢmaların öncüsü olan Manvin Minsky YZ'nin "hareket eden bir ufuk" gibi olduğunu ifade etmiĢtir. YZ konusundaki çalıĢmalar 1960'lardan beri gündemde olmasına karĢın YZ uygulamalarının çok ileri boyutta bilgisayar gücüne ihtiyaç duymasından dolayı araĢtırmacıların çoğunun bu alanda yeni bir Ģey ortaya koyma gayreti sonuçsuz kalmıĢtır.
Yapay Zeka
Günümüzde bilgisayar teknolojisinde yaĢanan geliĢmelerin sağladığı ucuz ve güçlü bilgisayarlar sayesinde YZ alanında büyük ölçekli araĢtırma yapabilmek ekonomik açıdan mümkün hale gelebilmiĢtir. Bunun sonucu olarak, YZ'nin bir alt alanı olan uzman sistemler (expert systems) konusunda
daha Ģimdiden önemli geliĢmeler sağlanmıĢ olup, iĢ dünyasının karar verme sürecinde uzman sistemlerden önemli ölçüde yararlandığı gözlenmektedir.
Yapay Zeka
Yapay zeka, “insanın düĢünme yapısını anlamak ve bunun benzerini ortaya çıkaracak bilgisayar iĢlemlerini geliĢtirmeye çalıĢmak” olarak tanımlanır. Daha geniĢ bir tanıma göre ise, “yapay zeka, bilgi edinme, algılama, görme, düĢünme ve karar verme gibi insan zekasına özgü kapasitelerle donatılmıĢ bilgisayarlar” diye tanımlanır. Bu konudaki ilk çalıĢma McCulloch ve Pitts tarafından yapılmıĢtır. Bu araĢtırmacıların önerdiği, yapay sinir hücrelerini kullanan hesaplama modeli, önermeler mantığı, fizyoloji ve Turing'in hesaplama kuramına dayanır.
Yapay Zeka
Aynı araĢtırmacılar, her hangi bir hesaplanabilir fonksiyonun sinir hücrelerinden oluĢan ağlarla hesaplanabileceğini gösterdiler. Bu ağ yapılarının uygun Ģekilde tanımlanmaları halinde öğrenme becerisi kazanabileceğini de ileri sürdüler. Hebb, sinir hücreleri arasındaki bağlantıların Ģiddetlerini değiĢtirmek için basit bir kural önerince, öğrenebilen yapay sinir ağlarını gerçekleĢtirmek de olası hale gelmiĢtir. 1950'lerde Shannon ve Turing tarafından bilgisayarlar için satranç programları yazılmaktaydı.
Yapay Zeka
Ġlk yapay sinir ağı temeli, bilgisayar SNARC, MIT'de Minsky ve Edmonds tarafından 1951'de yapıldı. ÇalıĢmalarını Princeton Üniversitesi'nde sürdüren McCarthy, Minsky, Shannon ve Rochester'le
birlikte 1956 yılında Dartmouth'da iki aylık bir çalıĢma toplantısı düzenledi. Bu toplantıda bir çok çalıĢmanın temelleri atılmakla birlikte, toplantının en önemli özelliği McCarthy tarafından ilk kez “Yapay Zeka” teriminin kullanılmasıdır.
Yapay Zeka
Zeki davranıĢı üretmek için çalıĢmalarda kullanılan temel yapılardaki bazı önemli yetersizliklerin ortaya konmasıyla, bir çok araĢtırmacılar çalıĢmalarını durdurmuĢtur. Buna en temel örnek, sinir ağları konusundaki çalıĢmaların Minsky ve Papert'in 1969'da yayınlanan Perceptrons (Algaçlar) adlı kitaplarında tek katmanlı algaçların bazı basit problemleri çözemeyeceğini gösterip aynı kısırlığın çok katmanlı algaçlarda da beklenilmesi gerektiğini söylemeleri ile bıçakla kesilmiĢ gibi durmasıdır.
Yapay Zeka
Her sorunu çözecek genel amaçlı program yerine belirli bir uzmanlık alanındaki bilgiyle donatılmıĢ programlar kullanma fikri yapay zeka alanında yeniden bir canlanmaya yol açtı. Kısa sürede uzman sistemler adı verilen bir metodoloji geliĢti. Fakat burada çok sık rastlanan tipik bir durum, bir otomobilin tamiri için önerilerde bulunan uzman sistem programının otomobilin ne iĢe yaradığından haberi olmamasıydı. Ġnsanların iletiĢimde kullandıkları Türkçe, Ġngilizce gibi doğal dilleri anlayan programların dünya hakkında genel bilgiye sahip olması ve bu bilgiyi kullanabilmek için genel bir metodolojisi olması gerektiği belirtilmiĢtir.
Turing Testi
Ġçlerinde bir insan,bilgisayar ve sorgulayıcı bulunan üç oda. Sorgulayıcı diğer iki oda ile bir uzaktan yazıcı (teleprinter) sistemi ile haberleĢebilir. Sorgulayıcı odalardan hangisinde insan, hangisinde bilgisayar bulunduğunu ayırt etmeye çalıĢır. Makine sorgulayıcıyı kendisinin insan olduğuna inandırmaya çalıĢır. Eğer makine sorgulayıcıyı aldatabilirse makinenin düĢünebildiğine karar verilir.
Eliza
Turing Testini baĢarmıĢ, bir hasta ile etkileĢime geçebilen psikoterapist simülasyonunudur. 1964-1966 yılları arasında Joel Weizenbaum tarafından MIT de yazılmıĢtır. Ġlk yazılan hali “DOCTOR” dur. Kod kurallı ifadelere(regular expressions) benzemeyen bazı basit sözdizimi Ģablonlarını barındırıyordu. Her Ģablon, içerisinde dıĢarıdan gelen verileri de barındırabilecek kendisiyle iliĢkili cevaplara sahipti.(basit bir değiĢiklik ile “benim senin”) Weizenbaum karĢılaĢtığı tepkilere çok ĢaĢırdı: Psikiyatristler gelecek vaat ettiğini düĢündüler. Ġnsanlar simülasyonu kolayca insan yerine koydu. Birçok kimse NL problemlerinin çözüldüğüne inandı. ELIZA
Eliza
Ben psikoterapistinizim.Lütfen probleminizi anlatın.AnlatıĢınız her sonlandığında lütfen iki kez RET yazın. Öğrencilerimle zor zamanlar yaĢıyorum. Niçin öyle söylediniz. Nasıl desem,benden para isteyip duruyorlar. Belki planlarınızda bununla ilgilenmek için bir Ģeyler vardır. Ne planları? Peki “Ne planları?” demenizin sebebi yaĢadığınız bu hayat mı? Hayır öyle söyledim çünkü neden bahsettiğine dair hiçbir fikrim yok.
• Bu Emacs‟in içinde Eliza simülasyonuna benzer bir programla
yapılmıĢ bir sohbetin
kopyasıdır
Peki bana gelmenizin sebebi neden bahsettiğime dair bir fikrinizin olmaması mı? Hayır,geldim çünkü Turing testini geçip geçemeyeceğini görmek istedim. Peki gerçekten Turing Testini geçseydim seni rahatsız eder miydi?
….. Okulda problemlerini nasıl çözerdin? Bu tam bir zaman kaybı!Güle güle. Sekreterim size faturanızı gönderecektir.
H: Ġyi akĢamlar. Benim Adım Doktor
Colby’nin PARRY’si (Geçiştirici)
1968‟li yıllarda aynı tekniği Kenneth Colby
kullanarak bir paranoit (paranoyak) modelledi. PARRY temel duygu
biçimlerine sahipti. Eğer sinirlenirse cevapları daha saldırganlaĢıyordu.
Turing testinde, uzman psikiyatristler
PARRY‟nin cevaplarını gerçek paranoitlerden ayıramadılar.
Jones.
P: TanıĢtığımıza memnun oldum. H: Nasılsın? P: Ġyiyim galiba. H: Bana adını söylermisin? P: Pat Smith.
H: Bazı problemlerin olabileceğini düĢündüm. P: Son zamanlarda biraz üzgünüm. H: Neye karĢı? P: Ġnsanlar bazen sinirlerimi bozuyor. H: Devam et.
P: Bahisçiler hakkında bir Ģey biliyormusun? ...
Parry Eliza’yla
tanışır
P: Dürtülerini anlamıyorum. E: Neden anlamıyorsun? P: Anlamamalımıydım? E: Bunu neden söyledin Ģimdi? P: Öyle iĢte. E: Öyle olmadığını düĢün. P: Yani? E: Seni tam olarak anladığımı sanmıyorum. P: Bu soru üzerinde çok ısrarcısın . E: Bu benzerlik sana ne öneriyor? P: Anlamadım. E: AnlamıĢ olmak istermiydin?
Avantajları
Bilgisayarlar daha güçlü ve kullanıĢlıdır. Yeni problemleri çözebilir. Bilgiyi daha etkin kullanır. Arayüzler geliĢmektedir.
Dezavantajları
Artan Maliyet
YavaĢ yazılım geliĢimi Az sayıda uzman programcı Sektörde kullanımda olan az sayıda yazılım
Bilgisayarın Başarılı Olması için Gerekenler
Yapılacak iĢin açık tanımı Gerekli prosedürün tanımı Kural ve sınırların tanımlanması Sürekli değiĢen ve çok miktarda olan bilginin saklanması ve etkin olarak iĢlenmesi
YZ’nin Temelleri Bilgisayar Bilimi ve
Mühendisliği
Matematik
YZ
Ekonomi
Psikoloji
Kavramsal Bilim
Felsefe
Biyoloji
Dilbilimi
YZ sistemleri hala neyi yapamaz?
Doğal dilleri çok sağlıklı anlamak(Örnek; Gazetedeki bir makaleyi okuyup anlamak)
Internet de sörf yapmak. Görsel bir sahneyi isteğe bağlı yorumlamak Bir doğal dili öğrenmek Dinamik gerçek zamanlı bir alanda plan kurmak
KarmaĢık bir çevrede ilgiyi yeniden odaklamak
YaĢam boyu öğrenmek
Olası YZ Yaklaşımları Ġnsanlar gibi
DüĢünme
GPS
Ġyi
Rational agents YZ genelde bu alanda
çalışmaya meyilli
Hareket
Eliza
Heuristic systems
YZ Görüşleri Yapay Zeka görüĢleri 4 kategoriye ayrılır Ġnsanca düĢünmek
Rasyonel düĢünmek
Ġnsanca hareket etmek
Rasyonel hareket etmek
İyi Düşünme
Like humans
Think
Act
Well
GPS
Rational agents
Eliza
Heuristic systems
Bilgi temsili, mantık, öğrenme, hafıza, problem çözme gibi algoritmaların resmi modellerinin geliĢtirilmesi. KanıtlanmıĢ ve garantili en uygun çözümü olan sistemde genellikle vurgu vardır.
İyi Hareket Etme
Like humans
Think
Act
Well
GPS
Rational agents
Eliza
Heuristic systems
Verilen bir girdi için, ille de doğru olmayan fakat iĢi yaptıran uygun bir çıktı oluĢturur. Hiçbir çözümü garanti etmez: Bunların tümü çoğu zaman yeterince iyi olan çözümleri sunan faydalı keĢif için söylenebilir.
Like humans
İnsanlar gibi düşünme
Think
Act
GPS
Eliza
Well Rational agents
Heuristic systems
Sayısal modellerin „nasıl‟ ifade edilmesi gerektiğinin sonuçları elde edilmeli. Beynin iç aktivitelerinin bilimsel teorileri gerekir.
Bunları değerlendirmek için yeni mekanizmalar ve kavramsal teoriler, bunları ifade etmek için de yeni bir dil sağlamak. GPS (Genel problem çözücü): Amaç insana ait davranıĢlar üretmek değil (ELIZA gibi), benzer bir göreve çözüm bulan bir kiĢi tarafından izlenen mantık iĢleminin basamaklarının sırasını üretmektir.
Like humans
İnsanlar gibi hareket etmek
Think
Act
GPS
Rational agents
Eliza
Heuristic systems
DavranıĢçı yaklaĢım. Nasıl sonuçlar getireceğinle ilgilenmek değil, sadece insan sonuçlarına benzerliğiyle ilgilenmektir.
Örnek olarak turing testi (turing test) (Alan Turing, 1950).
Well
Yapay Zeka Yapay Zeka (Artificial Intelligence);
öğrenme, gerekçeleme, problem çözme, yabancı bir dili alma v.b. gibi insanoğlunun davranıĢlarını gösterebilen sistemlerle ilgilenen bir bilgisayar bilimidir.
Yapay Zeka‟nın ana amacı insanların davranıĢlarının ve sezgisel yeteneklerinin bilgisayar üzerinde benzetimidir. Ġnsanoğlu esas olarak Bilgi‟yi (Knowledge) kullanmakta ve onu iĢlemektedir. Bu yüzden bilgi ve bilginin kullanımı Yapay Zeka‟nın da anahtar karakteristikleridir.
Yapay Zeka
Yapay Zeka‟nın standart bir tanımı yapılamamakla beraber, yapılagelen tanımların ortak yönleri Ģunlardır; YZ bir bilgisayar bilim dalıdır, YZ bilgi ve davranışa dayanır, YZ zeki davranışları araştırmaktadır.
Zeka rakam ya da veriler yerine bilgiye dayalı mantıksal bir süreçtir. Bilgi ve bilginin işlenmesi ile zeki davranışlar ortaya
çıkarılabilir.
Yapay Zeka
Bir programın ya da sistemin zeki ya da akıllı olup olmadığını sınamak için bazı testler uygulanır; Turing Testi
Çin Odası Testi
Yapay Zeka
Bir programın ya da sistemin zeki ya da akıllı olarak kabul edilebilmesi için, en azından aĢağıdaki özelliklerden bazılarını sağlayabilmesi gerekir; Karar verme
Algılama Öğrenme Problem çözme
Muhakeme
ġekil ya da resim tanıma Doğal dil anlama
Yapay Zeka
YZ‟nın geleneksel programlamadan birçok farkı vardır; Öğrenebilirler Tecrübe kazanabilirler Bu tecrübeyi kullanarak yeni problemleri çözebilirler Eksik veri ile problemler çözebilirler Belirli bir algoritma yerine sezgisel yöntemler kullanırlar YanlıĢ yapabilirler
YAPAY ZEKA ARAÇLARI
Uzman Sistemler
Yapay Sinir Ağları Bulanık Mantık
Genetik Algoritmalar
Tabu AraĢtırma Algoritmaları BenzetilmiĢ Tavlama BenzetilmiĢ Su Verme Vaka Tabanlı Gerekçeleme
İNSAN VE ZEKA BĠR ĠNSANDA ORTALAMA: Hücre Adeti: 220 milyon Damar Uzunluğu: 200.000 km Kan Hızı: 2.000 m/saat Ağrıyı Duyma: 0.9 saniye Isıyı Duyma: 0.16 saniye Dokunmayı Duyma: 0.12 saniye Sinir Sistemi Bağlantı Noktası (NEURON) Sayısı: 1 trilyon Sinir Sistemi Bağlantı Sayısı: 10 trilyon Sinir Sistemi - Operasyon Sayısı: 1 milyar operasyon / saniye
ĠNSAN DAVRANIġLARI VE BAZI ÖZELLĠKLER
ĠNSANLAR: Öğrenebilir ve öğretilebilir DüĢünebilir Tecrübe kazanabilir, geçmiĢ tecrübelerini kullanarak yeni problemleri çözebilir
Karar verebilir
Mantık yürütebilir
Tahmin yapabilir
Kalabalıkta ya da karanlıkta gördüğü bir yüzü anımsayabilir Günlük yaĢantısında farkında olmadığı dilsel değiĢkenler kullanır Çoğalabilirler, çocukları büyük bir ihtimalle kendilerine benzer
UZMAN SİSTEMLER (EXPERT SYSTEMS)
Geleneksel Programlamadan Farkları Avantaj ve Dezavantajları Kullanım Alanları Uzman Sistem GeliĢtirme Araçları
UZMAN SİSTEMLER
Uzman Sistemler en eski Yapay Zeka
araçlarından birisidir
Belirli bir alanda, bir uzmanın önerdiği çözümleri üretebilen, o alanın bilgileri ile donatılmıĢ, gerekçeleme metotları ile olayları süzebilen programlardır. Bilgi Tabanlı Sistemler (Knowledge Based Systems) olarak ta bilinirler.
UZMAN SİSTEMLER (EXPERT SYSTEMS)
Genel Yapı ve Çalışma Mekanizması
UZMAN SİSTEMLER (EXPERT SYSTEMS)
KULLANIM ALANLARI
Proses tasarımı ve seçimi Ürün tasarımı, ĠĢlem planlama Medikal Tedavi Kalite Kontrol
Çizelgeleme Ses iĢleme Görüntü tanıma Robotik uygulamaları Hata düzeltme
UZMAN SİSTEMLER (EXPERT SYSTEMS)
AVANTAJ VE DEZAVANTAJLAR
Uzman Sistemler, çıkardıkları sonuçları nasıl ve neden çıkardığını açıklayabilir Üçüncü kiĢiler, uzman sistemleri yani kurallar üreterek rahatlıkla değiĢtirebilir Uzman sisteme bilgiyi verecek uzmanı bulmak her zaman kolay olmayabilir Uzmanlar bilgilerini kurallar halinde belirtemeye bilir
UZMAN SİSTEMLER (EXPERT SYSTEMS)
UZMAN SĠSTEM GELĠġTĠRME ARAÇLARI Programlama Dilleri: Prolog, C++, LISP Kabuklar: Leonardo, VP-Expert, KES, GoldWorks
YAPAY SĠNĠR AĞLARI (ARTIFICIAL NEURAL NETWORKS)
Yapay Sinir Ağları (YSA) genel olarak insan beyninin ya da merkezi sinir sisteminin
çalıĢma prensiplerinin taklit eden bilgi iĢleme sistemleridir.
YSA‟da bilgi basit iĢlem elemanları arasında paralel olarak dağıtılmıĢ olup, her bir proses elemanı birbiri ile bağlantılıdır. Bu yüzden YSA bazen, Paralel DağıtılmıĢ ĠĢleme Sistemleri (Paralel Distributed Processing Systems) ya da Bağlantıcı Sistemler (Connectionist Systems) olarak ta
adlandırılırlar.
YAPAY SĠNĠR AĞLARI (ARTIFICIAL NEURAL NETWORKS)
Genel Yapı ve ÇalıĢma Mekanizması
Öğretmenli ve Öğretmensiz Öğrenme
YAPAY SĠNĠR AĞLARI (ARTIFICIAL NEURAL NETWORKS)
Bir Proses Elemanın ÇalıĢması
YAPAY SĠNĠR AĞLARI (ARTIFICIAL NEURAL NETWORKS)
SINIFLANDIRMA
YAPAY SĠNĠR AĞLARI (ARTIFICIAL NEURAL NETWORKS)
KULLANIM ALANLARI
Robotik Uygulamaları
Proses kontrol
Ürün tasarımı ĠĢlem planlama
Kalite Kontrol
Gerçek zamanlı modelleme
Adaptif kontrol
Görüntü tanıma
Borsa endeksi, enflasyon ve kur tahmini, v.b
YAPAY SĠNĠR AĞLARI (ARTIFICIAL NEURAL NETWORKS)
AVANTAJ VE DEZAVANTAJLAR Uzman sistemler gibi bilgiyi kurallar halinde istemezler
Öğrenebilir ve hiç karĢılaĢmadıkları bir problemi çözebilirler Paralel yapıları nedeniyle çok hızlı çalıĢırlar Çıkardıkları sonuçları nasıl ve neden çıkardığını açıklayamaz (kapalı kutu) Eğitimleri oldukça zaman alıcı ve zordur