BLM-431 YAPAY ZEKA Ders-1 Yapay Zekaya Giriş Yrd. Doç. Dr. Ümit ATİLA [email protected] http://web.karabuk.edu.tr/umitatilla/ Zeka ● Biyolojik tanım: – – – – İnsan beyninin organik yapısının gelişim ve olgunlaşmasının fizyolojik bir ürünü Potansiyel özelliğe sahip bir yetenek. Zeka, beyindeki bir çok nöronun birbirleri ile olan bağlantı derecesi ile ilgilidir. Bağlantıları en iyi olan ve bunları uygun bir şekilde çalıştırabilen, en zeki olanlardır. 2 Beyin ● Yapay zeka çalışmaları ve beynin işleyişinin incelenmesi – Beynin çalışması ● ● ● ● ● ● ● ● ● Bilgi girişi Sentezleme ve kıyaslama Çıkış ve eylem Beynin işleyişinin esası nöronlar arası elektriksel sinyal iletimi İnsan sinir sistemi; çok yönlü ve karmaşık davranışların ortaya çıkmasını sağlar. Beyin hakkında şu an bilinenler bilinmiyenler yanında son derece azdır. Beynin işlevini anlamak ve kısmen de olsa bilgisayarda modelleyebilmek insanlığa hizmettir. Davranışlarımız beynin farklı bölgeleri tarafından kontrol edilir. Beyin, bütün olarak çalışan bir sistemdir. Her beyin işlevi beynin tümünü ilgilendiren bir olaydır 3 Yapay Zeka • Bilgisayarların insana özgü nitelikler olduğu varsayılan akıl yürütme, anlam çıkarma, genelleme ve geçmiş deneyimlerden öğrenme gibi yüksek zihinsel süreçleri yerine getirme yeteneğidir. • Makineler veya yazılımlar tarafında üretilen zekadır. • Yapay zeka, insan zekasının bilgisayarlar tarafından taklit edilmesini sağlamaya yönelik metodlarla ilgilenen bir çalışma alanıdır. • YZ araştırmacıları bu alanı akıllı etmenlerin tasarımı olarak tanımlar. • Akıllı etmen, çevresini algılayabilen ve başarı şansını maksimize etmek için eylemler gerçekleştiren sistemdir. 4 İnsan gibi davranma: Turing Test ● Turing (1950) “Computing Machinery and Intelligence”: – – – “Makineler düşünebilir mi?” → “Makineler akıllıca davranabilir mi?” Akıllıca davranışı belirlemek için bir test: Taklit oyunu Bir makinenin bu testi geçebilmesi için hangi yetneklere sahip olması gerekir? 5 İnsan gibi davranma: Turing Test ● ● ● Turing, 2000 yılında bir bilgisayarın ancak %30 şansla 5 dakika boyunca insan gibi cevap vermeye vakıf olabileceğini tahmin etmiştir. Ayrıca sonraki 50 yıl için yapay zekanın ihtiyaç duyduğu ana bileşenleri tahmin etmiştir. Böylece yapay zekanın alt alanları oluşmuştur. Yapay zeka bilimi yüksek teknik gerektiren özelleşmiş bir alandır ve bir birleri ile etkileşimi fazla olmayan alt alanlara bölünmüştür. • • • • • • • Çıkarsama (Reasoning) Bilgi temsili (Knowledge representation) Planlama Öğrenme Doğal dil işleme (iletişim) Algılama (Perception) Robotik 6 Yapay Zeka ● Yapay zeka için yapılan tanımlar 2 temel düşünce üzerine oturtulur. – – ● ● Düşünme süreci ve çıkarsama Davranış İnsan gibi düşünen sistemler Rasyonel düşünen sistemler İnsan gibi daranan sistemler Rasyonel davranan sistemler Tablonun solundaki tanımlar insan performansına yaklaşmayı başarı ölçüsü kabul eder. Sağdaki tanımlar rasyonelliği temel alır. 7 Yapay Zeka • Yapay zeka alanında popüler olan yöntemler • Arama ve matematiksel optimizasyon • Mantık • Olasılıksal yöntemler • Yapay zeka iç içe girmiş farklı disiplinlerden oluşur. • Bilgisayar bilimi • Psikoloji • Dil bilim • Filozofi • Sinir bilim 8 Yapay Zekanın Tarihçesi • Mantık alanındaki çalışmalar • Programlanabilir elektronik devrelerin icadı (Alan Turing vd.) • Turing’in hesaplanabilirlik teorisi ( İlk zeki sistemler çalışmaları). • Turing'in hesaplama teorisi bir makinenin "0" ve "1" gibi iki basit sembolü kullanarak matematiksel işlemleri simüle edebileceğini önermiştir. 9 Yapay Zekanın Tarihçesi • 1948 : Sibernetik ( İnsan-makine) • Nöroloji ve sibernetik bilimindeki ilerlemeler bir grup araştırmacıyı ciddi olarak elektronik bir beyin üretme olasılığını düşünmeye sevketmiştir. • 2. Dünya savaşı sonrası : Asıl gelişmeler, modern bilgisayarların ortaya çıkmasından sonra yaşandı. • 1956 : İlk olarak YZ deyimi kullanıldı. YZ konusunda düzenlenmiş ilk konferans olan Dartmouth Konferansında, John McCarthy “yapay zeka” terimini türetti. • Allen Newell, J.C. Shaw ve Herbert Simon’un yazdığı Mantık Kuramcısı (The Logic Theorist) adlı ilk YZ programı tanıtıldı. • 1957 : Aynı kişiler General Problem Solver’ı yazdılar. • 1952-1962 : IBM’den Arthur Samuel, satranç oynayabilen ilk programı yazdı. (Daha önce 1950’de Shannon, sonra Turing) • 1958 : MIT’den John McCarthy, LISP dilini geliştirdi. 10 Yapay Zekanın Tarihçesi ● ● ● ● ● 1961 : LISP’te Üniversite 1. Sınıf düzeyindeki matematik problemlerini çözebilen bir program olan Saint (Aziz)’i yazıldı. 1962 : İlk endüstriyel robot şirketi kuruldu. 1963 : MIT’de, IQ sorularını çözebilen Analogy programı yazıldı. Ivan Sutherland, bilgisayarlarda etkileşimli grafik kullanımını başlattı. Edward A. Feigenbaum ve Julian Feldmnan, YZ konusundaki ilk makale olan “Bilgisayarlar ve Düşünce’yi” yayınladı. 1964 : MIT’deki bir araştırma sonuçları, bilgisayarların doğal dili, basit matematik problemleri çözebilecek kadar anladığını gösterdi. 1965 : Joseph Weizenbaum, herhangi bir konuda ingilizce sohbet edebilen ELIZA’yı geliştirdi. Bu programın psikoterapist sürümü, oldukça popüler bir oyuncak haline geldi. 11 Yapay Zekanın Tarihçesi ● ● ● ● ● ● 1968 : Marvin Minsky ve Seymour Papert, sinir ağlarının sınırları konusunda bir makale yayınladı. Sonraki yıl, “Perceptrons” adlı kitabı yayınladılar. 1969 : YZ konusundaki ilk uluslararası konferans düzenlendi. 1971 : İngilizce söylenen komutları yerine getirebilen robot kol. 1975 : Öğrenme yeteneğine sahip bir programın bulduğu sonuçların bilimsel dergilerde yayımlanmasının ilk örneği. 1979 : Uzman sistemler geliştirilmeye başlandı. Pittsburgh Üniversitesinde ilk iyileştirici program Internist (Stajer) geliştirildi. 1980 : Uzman Sistemler, ticari alanda kullanılmaya başlandı. Amerika YZ derneği, ilk ulusal YZ konferansını gerçekleştirdi. 12 Yapay Zekanın Tarihçesi ● ● ● ● ● 1984 : Yapay Sinir Ağları yaklaşımı ortaya çıktı 1987 : Marvin Minsky, zihnin teorik tanımlamasını yapan “Toplumun Zihni” adlı kitabı yayınladı. 1997 : Deep Blue adlı satranç programı, dünya satranç şampiyonu Garry Kasparov’u yendi. 1998 : İnternet’in yaygınlaşması ile, YZ tabanlı birçok program geniş kitlelere ulaştı. 2000 : Etkileşimli robot oyuncaklar piyasaya sürüldü. 13 Yapay Zekanın Tarihçesi ● 2005: Standford robotu DARPA büyük ödülünü kazandı. ● ● Çöl ortamında 131 mil boyunca otonom olarak araç sürüşü 2007: CMU'dan bir ekip DARPA şehir ödülünü kazandı. ● Şehir ortamında trafik kurallarına uyarak 55 mil araç sürüşü 14 Yapay Zekanın Amaçları ● ● ● ● ● ● ● ● Temel amaç, insanların zor yaptığı işleri yapabilecek sistemler üretmek. İnsan beyninin fonksiyonlarını, bilgisayar modelleri yardımıyla anlamaya çalışmak. İnsanın bilgi kazanma, öğrenme ve buluş yapma gibi zihinsel yeteneklerini araştırmak. Öğrenme metotlarını bilgisayar sistemlerine aktarmak. İnsan bilgisayar iletişimini kolaylaştıran kullanıcı arabirimleri geliştirmek. Yapay uzman sistemler oluşturmak. Yapay zekaya sahip robotlar geliştirmek ( İşbirliği) Bilgisayarları, bilimsel araştırma ve buluşlarda kullanmak. 15 Yapay Zeka Günümüzde Ne Yapabilir? ● Tıbbi Teşhis (Medical Diagnosis) – – – – ● Lojistik Planlama – – ● Olasılık analizlerine dayalı çalışan medikal algılama programları. Lenf bezi patolojisi ile ilgili karmaşık bir durumun teşhisi ile ilgili bilgisayara girdiler veriliyor. Bilgisayar kararını etkileyen temel faktörleri belirliyor ve bu durumda olan bir kaç semptomla ilgili incelikleri açıklıyor. İşin uzmanı doktor da bilgisayarı onaylıyor. 1991 yılındaki Basra Körfezi krizinde ABD kuvvetleri otomatik lojistik dağıtımı ve taşıma planlaması için DART (Dynamic Analysis and Replanning Tool) sistemini uyguladı. Bu sistem diğer yöntemlerle haftalar alabilecek bir planın saatler içerisinde yapılabilmesini sağladı. Robotics – Artık ameliyatlar robot yardımı ile gerçekleştiriliyor. 16 Çıkarsama ve Problem Çözme (Reasoning and Problem solving) • İlk yapay zeka araştırmacılarının geliştirdiği algoritmalar • Bir insanın bir bulmacayı çözerken yaptığı gibi adım-adım çıkarsama yapmayı taklit eden algoritmalar • 90'lı yıllarda geliştirilen algoritmalar • Kesin olmayan durumlar veya eksik bilgi ile baş edebilen, olasılık tabanlı metotlar. • Ancak bir çok problem için bu algoritmaların çoğu aşırı derecede fazla hesaplama kaynağı tüketimine ihtiyaç duymakta. • Yapay zekada daha verimli problem çözme algoritmaları geliştirmek ana hedeflerdendir. 17 Çıkarsama ve Problem Çözme (Reasoning and Problem solving) • İnsanoğlu, karşılaştığı problemleri ilk yapay zeka araştırmacılarının yapmaya çalıştığı gibi bilinçli şekilde adım adım sonuç çıkararak değil, hızlı ve sezgisel yargılamalar ile çözer. • Yapay zeka bu tür problemlerin çözümünde ilerleme sağladı. • Etmen (agent) yaklaşımının kullanılması daha iyi çıkarsama için sensorimotor kabiliyetlerin önemine vurgu yapmakta. • Sinir ağı araştırmaları bu tür sensorimotor yetenekleri kontrol eden insan beyni içindeki yapıları simule etmeye çalışır. • İstatistiksel yaklaşımlar ise insan doğasında bulunan olasılıksal tahmin yeteneğini taklit eder. 18 Bilgi Temsili (Knowledge Representation) • Yapay zeka için çok önemli bir alandır. • Problemlerin çözümü için makineler o problem ile ilgili bilgiye ihtiyaç duyar. • Yapay zekanın temsil etmesi gerekenler: • Nesneler • Özellikler • Kategoriler ve nesneler arası ilişkiler • Durumlar, olaylar, zaman • Olaylar ve etkileri • Bilgi hakkında bilgi (başka insanların bildiği hakkında biz ne biliyoruz) 19 Bilgi Temsilinde Problemler • Nitelendirme problemi: • İnsanların bildiği her şey geçerli kabullere göre şekillenir. Örneğin "kuş" dendiğinde herkesin zihninde uçan cik cik öten şirin bir hayvan canlanır. • Ama bu özelliklerin hepsi her kuş için geçerli değildir. • Jonh McCarthy 1969'da bu problemi tanımladı. • Yapay zeka araştırmacıları herhangi sağduyuya dayalı bir kuralı temsil ederken, geniş ölçüde istisnayı göz önüne alma eğiliminde olmalı. 20 Bilgi Temsilinde Problemler • Sağduyu bilgisi genişliği problemi • Bir insanın bildiği atomik olguların sayısı astronomiktir. • Sağduyuya dayalı bilgi ile ilgili bilgi tabanı oluşturmayı hedefleyen araştırmalar, çok fazla sayıda ontolojik labaratuar çalışmasına ihtiyaç duyar. • Ana hedef, bir bilgisayarın internet gibi ortamlardan okuduklarından öğrenebilmesi ve bunları kendi bilgi dağarcığına ekleyebilmesi için yeteri kadar kavramı anlaması. 21 Bilgi Temsilinde Problemler • Bazı sağduyu bilgisinin alt sembolik biçimde olması • İnsanların bildiği bazı şeyleri olgular veya cümleler ile temsil etmesi mümkün değildir. • Örneğin usta bir satranç oyuncusunun tehlikeli olabilecek bir takım hamlelerinizi engelleyecek önlemler alması. • Bu tür şeyler beyinde bilinçli olmadan ve alt sembolik olarak temsil edilen sezgisellerdir. 22 Planlama (Planning) • Akıllı etmenler kendilerine hedef koymalı bunlara ulaşmalıdır. • Etmenler ortam bilgisini almalı ve kendi eylemlerinin ortamı nasıl değiştireceği hakkında tahminler yapabilmeli ve olası eylemler arasından hangisinin kendisi için en iyi olduğuna dair seçim yapabilmeli. 23 Planlama (Planning) • Klasik planlama problemlerinde, etmen kendisini dünya üzerinde eylem gerçekleştiren tek şey olarak kendisini görür ve eylemlerinin sonuçları hakkında emin olabilir. • Ancak, eğer etmen ortamdaki tek aktör değilse, bu durumda periyodik olarak ortamın kendi tahminleriyle eşleşip eşleşmediğini kontrol etmek ve gerekli olduğunda planlarını buna göre değiştirmelidir. • Etmenin belirsizlik durumunda çıkarsama yapması 24 Öğrenme (Learning) • Yapay zekanın başlangıcından itibaren en merkezi konumda yer alan alandır. • Bilgisayar algoritmaları ile bir problem ile ilgili geçmiş tecrübelerden makinenin öğrenmeyi gerçekleştirmesi ve yeni durumlar hakkında genelleme yapabilmesidir. 25 Öğrenme (Learning) • Danışmansız öğrenme bilgisayara verilen giriş bilgileri arasındaki ilişkiyi öğrenmeye çalışmaktır. • Danışmanlı öğrenmede ise hem girişler hem de bunlara karşılık olması gereken çıkış bilgileri bilgisayar gösterilir. Bilgisayar örnekler ile karşılaştıkça genelleme yeteneğini artırır ve görmediği girişlere karşılık çıkışı belli bir hata ile tahmin edebilir hale gelir. 26 Öğrenme (Learning) • Danışmanlı öğrenmede sınıflandırma veya regresyon problemleri çözülür. • Sınıflandırma, belli sınıflara ait örneklerin bilgisayar gösterilmesi ve yeni gösterilen bir örneğin bu sınıflardan hangisine ait olduğunun tahmin edilmesidir. • Regresyonda ise çıkışlar sınıflara ait etiketler değil gerçek sayısal değerlerdir. • Regresyonda, giriş ile çıkışlar arasındaki ilişkiyi tanımlayan fonksiyon bulunmaya çalışılır ve girişler değiştikçe çıkışların nasıl değişmesi gerektiği tahmin edilmeye çalışılır. • Takviyeil öğrenmede ise etmen verdiği iyi cevaplar için ödüllendirilir, kötü cevaplar için ise cezalandırılır. 27 Doğal Dil İşleme • Doğal dil işleme insanların konuştuğu dili okuma ve anlama yeteneği kazandırmaya çalışır. • Doğal dil işleme uygulamaları olarak yazılı bir metinden anlam çıkarma veya başka bir dile çeviri yapma gösterilebilir. 28 Algılama (Perception) • Makine algılaması, sensör verilerinden (kamera, mikrofon, sıcaklık, nem, ışık vb.) girişleri edinmeye ve sonuç çıkarmaya çalışır. • Bilgisayarlı görme (computer vision) görsel girişleri analiz etmeye çalışır. • Örnek problemler arasında, konuşmacı tanıma, yüz tanıma, nesne tanıma gösterilebilir. 29 Robotik • Robotik alanı yapay zeka ile yakında ilişkilidir. • Robotlar için bir nesneyi değiştirme, navigasyon, konumlandırma (ben neredeyim başka şeyler nerede), haritalama (etrafta neler var ve ortamın haritasını çıkarma), hareket planlama (istene yere gitme), yol planlama (karşılaşılan engelleri aşarak istenen hedefe ulaşmaya çalışma) 30