Yapay Zeka Bilgisayar Mühendisliğine Giriş Dersi
Özlem Özgöbek E.Ü. Bilgisayar Mühendisliği Bölümü
1
İçindekiler ●
●
●
●
●
Tanım Amaç Yöntemleri Kullanım alanları Kaynaklar
2
Yapay Zeka Nedir? ●
●
●
”Bir bilgisayarın, genellikle 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çlere ilişkin görevleri yerine getirme yeteneğidir.” [1] ”İnsanların yaptıklarını bilgisayara yaptırma çabasıdır.”[1] İnsanın düşünme yöntemlerini analiz ederek bunların benzeri yapay yönergeleri geliştirmeye çalışmaktır. [2]
3
●
●
●
●
Yapılan yapay zeka tanımları genel olarak 4 bölümde incelenebilir [3]: İnsanlar gibi düşünen sistemler İnsanlar gibi davranan sistemler Mantıklı/akıllı düşünen sistemler Mantıklı/akıllı davranan sistemler 4
Yapay zeka, bilgisayar bilimleri ile ilişkilendirilir ancak matematik, psikoloji, biyoloji, felsefe ve bilişsel bilimlerle (cognitive science) de önemli bağlantıları vardır. [4]
5
Neden Yapay Zeka? Bilgisayarlar, programlanmış sabit kuralları kullanarak birbirini tekrar eden monoton işlemleri doğru ve güvenilir şekilde hızla yapabilmektedir. Ancak, insanların tersine bilgisayarlar belli durumları anlayamaz ve yeni durumlara uyum sağlayamazlar. Yapay zeka, bilgisayarların bu tür karmaşık sorunların üstesinden gelebilmesi için gereklidir. 6
İnsanların soyut düşünce, üst seviye çıkarsamalar yapma ve örüntü tanımaya (pattern recognition) dayalı değişik problem çözme yaklaşımları vardır. İnsanların nasıl düşündükleri ve problem çözme yaklaşımları halen araştırılmaktadır. Yapay zeka çalışmaları bir açıdan bu araştırmalara da destek vermektedir. 7
Yapay Zeka Yöntemleri ●
●
●
3 ana kategoride incelenebilir: Arama (Search) Makine Öğrenmesi (Machine Learning) Bilgi Temsili ve Çıkarsama (Knowledge Representation & Inference)
8
1- Arama ●
●
Ağaç ve çizge yapıları üzerinde arama. Aranan şey, bir düğüm ya da bir yol olabilir.
9
2- Makine Öğrenmesi ●
●
●
●
Öğrenme farklı anlamlarda kullanılabilir: Ezberlemek. Gözlem ve araştırma sonucu bazı gerçeklere ulaşmak. Uygulamalar yaparak zihinsel ve hareketsel becerileri geliştirmek. Yeni bilgiyi genel ve etkili biçimde ifade etmek. 10
Öğrenme sistemleri bir problemin örneklerinden bilgiler çıkarmalıdır ve bu çıkarımlar sayesinde verilen görevi daha iyi yapabilmelidir. Dolayısıyla, gördüğü her resim dosyasını kaydeden bir sisteme öğrenen bir sistem diyemeyiz. Bu tür bir sistemin çok fazla bilgisi olmasına rağmen bu bilgilerden yararlanamaz. 11
3- Bilgi Temsili ve Çıkarsama ●
●
Bir konuyu sembolik olarak ifade etmenin yollarıdır. Ontolojiler, anlamsal (semantik) web örnek olarak verilebilir.
12
Kullanım Alanları Örüntü Tanıma (Pattern recognition) Parmak izi tanıma, plaka tanıma, yüz tanıma sistemleri. Güvenlik ve sağlık alanları. Örnek: Yüz Tanıma Sistemi, yüzün karakteristik özelliklerini analiz ederek, farklı noktalar ve bölgeler arası biyometrik ölçumler yaparak veritabanı ile karşılaştırma yapar ve kişiyi tanımlar. [6] 13
Örüntü tanıma işleminde yapay sinir ağları gibi yapay zeka yöntemleri kullanılabilir.
14
Uzman Sistemler - Belirli bir uzmanlık alanında, gerçek kişilerden derlenen bilgileri temel alarak, zamanla kendisini geliştirebilme yeteneği de olan yazılımlardır. Sağlık alanında teşhis koymada (Mycin, CADUCEUS), muhasebede, otomatik sorun çözme (troubleshooting) alanlarında kullanılabilir. 15
16
Karar Ağacı (Decision Tree)
17
Genetik Algoritmalar - Genetik algoritmalar problemlerin çözümü için evrimsel süreci bilgisayar ortamında taklit ederler. Genetik algoritmalar problemlerin çözümünü parametrelerin değerleriyle değil, kodlarıyla arar. Parametreler kodlanabildiği sürece çözüm üretilebilir. Bu sebeple genetik algoritmalar ne yaptığı konusunda bilgi içermez, nasıl yaptığını bilir.
18
Genetik algoritmalarda, tıpkı biyolojideki gibi kromozom ve gen adı verilen birimler vardır.
19
Bulanık Mantık (Fuzzy Logic) – Sonucun sadece 0 veya 1 değil, 0'la 1 arasındaki diğer sayıların da olabileceğini anlatır.
Normal program: Temel girdiler → Program → Sabit bir sonuç Bulanık mantık: Sayısı belli olmayan veri yığını → Program → Girdilere ve varsayıma göre değişken bir veya birden fazla sonuç 20
21
Yapay Sinir Ağları – İnsan beynindeki sinir hücrelerinin işleme mantığından yola çıkılarak geliştirilmiş bir yöntemdir. Biyolojik sinir ağlarını daha iyi anlamak ya da problem çözmek için kullanılabilir. Tahminleme, sınıflama, eniyileme (optimizasyon) ya da kontrol teorisinde kullanılabilir. 22
Biyolojik sinir ağlarına benzer yapay nöronlar ve aralarındaki ilişkiler söz konusudur. 23
Yüz, ses, el yazısı tanıma sistemlerinde, hava tahmini yapmada, satranç benzeri bilgisayar oyunlarında, otomatik araç kontrollerinde, istenmeyen e-postaların (spam) engellenmesinde ve daha pek çok alanda uygulamaları vardır.
24
Doğal Dil İşleme - İnsanlara özgü tüm dillerin işlenmesi ve kullanılması amacı ile ortaya çıkmıştır. Doğal dillerin kurallı yapısının çözümlenerek anlaşılması veya yeniden üretilmesi amacını taşır. Yazılı dokümanların otomatik çevrilmesi, soru-cevap makineleri, otomatik konuşma ve komut anlama, konuşma sentezi, konuşma üretme, otomatik metin özetleme, bilgi sağlama gibi birçok konuda faydası olacak bir çalışma alanıdır.
25
Kaynaklar [1] Yapay Zeka – Vasif V. Nabiyev [2] Wikipedia http://en.wikipedia.org Vikipedi http://tr.wikipedia.org [3] Artificial Intelligence A Modern Approach – S. Russel P. Norvig [4] http://ai-depot.com/Intro.html [5] http://www.grimedia.com/?page=yuz_tanima_sistemi
26