Mustafa Kemal Üniversitesi Bilgisayar Mühendisliği Bölümü Ders Materyal Ve Notları

Sponsor

14 Temmuz 2014 Pazartesi

Yapay Zekâ (Artifical Intelligent)

Posted by samgar at 12:21 0 Comments



Yapay Zeka (Artifical Intelligent)’nın birçok tanımı olmasına rağmen bana en uygun tanım; makinelere insanlar gibi düşünme, karar verme, karşılaştırma, analiz etme gibi birtakım fonksiyonların kazandırılmasıdır.
Konuya geçmeden öncelikle işin tarihi kısmına kısaca bir göz atalım;
"Yapay Zekâ" kavramının geçmişi modern bilgisayar bilimi kadar eskidir. Fikir babası, "Makineler düşünebilir mi ?" sorusunu ortaya atarak Makine Zekâsını tartışmaya açan Alan Mathison Turing’dir.
Alan Mathison Turing Kimdir?
Bir matematikçi olan Alan Turing bilgisayar alanının büyük öncülerindendir. Günümüzde “Turing makinesi” ve “Turing testi” ile anılır. Matematiksel algoritmayı dijital bilgisayarlara uygulamıştır. Araştırmaları yapay zeka alanının doğal yaratılması ve makineler arasındaki ilişkisinde yoğunlaşmıştır. Turing dijital bilgisayar kavramının gelişmesine öncülük etmiştir. Günümüzde bilgisayar bilimcileri hala onun makalelerinden yararlanmaktadırlar...

Yapay Zeka’da Kullanılan Teknikler
- Tavlama Benzetimi (Simulated Annealing),
- Uzman Sistemler (Expert Systems),
- Bilgisayarlı Görme (Computer Vision),
- Konuşma Tanıma (Speech Recognition),
- Yapay Sinir Ağları (ANN: Artificial Neural Networks),
- Bulanık Mantık (Fuzzy Logic),
- Genetik Algoritmalar (Genetic Algorithms),
- Kaotik Modelleme,
- Robotik
Bunların bir veya birkaçının kullanılmasıyla oluşturulan “Hibrid (karma)” sistemler başlıca teknikleri oluşturmaktadır. Son on yıldır mühendislik problemlerinin tasarımı ve analizinde etkin olarak kullanılmaya başlanmıştır. Aslında bunların her biri başlı başına bir konu olup ben eğer izin verirseniz sadece burada çok temel kavramlar üzerinde durmaya çalışacağım:
Yapay Zekâ İle İlgili İlk Araştırmalar
İdealize edilmiş tanımıyla yapay zekâ konusundaki ilk çalışmalardan biri 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ıyordu. Her hangi bir hesaplanabilir fonksiyonun sinir hücrelerinden oluşan ağlarla hesaplanabileceğini ve mantıksal ve / veya işlemlerinin gerçekleştirilebileceğ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.
Mc Carthy, Minsky, Shannon ve Rochester 1956 yılında yapay zeka konusunda düzenlenmiş olan ve “Dartmouth Konferansı” olarak bilinen konferansta John McCarthy ilk olarak “Yapay Zeka” ifadesi kullanılmıştır. Takip eden yıllarda ise bu çalışmalar daha sistematik olarak sırasıyla;
- Uzman sistemler,
- Yapay sinir ağları,
- Bulanık Mantık (Fuzzy Logic)
 - Genetik algoritmalar şeklinde alt dallara ayrılmıştır.
Bunların hepsi başlıca ayrı konuları kapsadığından, konuyu uzatmamak ve sizleri okurken sıkmamak için şimdilik yukarıda ki başlıkların kısa tanımını anlatmaya çalışacağım.
BULANIK MANTIK (Fuzzy Logic)
Bilgi” teriminin farklı disiplinlerde farklı anlamlar, farklı çağrışımlar uyandırdığından, bilgiyi değerlendirme konusunda dikkatli bir değerlendirme aşamasından geçer. Yani, bilginin anlamı izafidir. Örnek üzerinde açıklamak gerekirse; 250°C sıcaklık bilgisinin, bir meteoroloji uzmanında uyandırdığı etki ile bir mühendiste veya bir hekimde uyandırdığı etki farklı farklıdır. Bu bilgi, yani 250°C sıcaklık ifadesi, kimyasal bir işlem için çok hassas bir kontrol gerektirirken, inşaat mühendisliğinde bu değer o kadar hassas bir ölçüm gerektirmeyebilir.  Yani sıcaklık bilgisini değerlendirilmesi ve işlenmesi onun kullanım alanı ile de doğrudan ilgili olmaktadır.
Bulanık mantık, adından anlaşılabileceği gibi mantık kurallarının esnek ve bulanık bir şekilde makinelere uygulanmasıdır. Klasik (boolean) mantıkta bildiğiniz gibi, “doğru” ve “yanlış” ya da “1” ve “0” lar vardır, oysa bulanık mantıkta, ikisinin arasından bir yerde olan önermelere ve ifadelere izin verilebilir ki, bu, gerçek hayata baktığımızda hemen hemen hiçbir şey kesinlikle doğru veya kesinlikle yanlış olmadığı gerçeği ile uyuşmaktadır. Gerçek hayatta önermeler genelde kısmen doğru veya belli bir olasılıkla doğru şeklinde değerlendirilir. Bulanık mantığa da zaten, klasik mantığın gerçek dünya problemleri için yeterli olmadığı durumlarda ihtiyaç duyulmuştur.
Bulanık mantığın sistemi şu şekildedir:
Bir ifade tamamen yanlış ise klasik mantıkta olduğu gibi (0) değerindedir, yok eğer tamamen doğru ise (1) değerindedir. Ancak bulanık mantık uygulamalarının çoğu bir ifadenin (0) veya (1) değerini almasına izin vermezler veya sadece çok özel durumlarda izin verirler. Bunların dışında tüm ifadeler (0)’dan büyük (1) den küçük reel değerler alırlar. Yani değeri 0.32 olan bir ifadenin anlamı %32 doğru %68 yanlış demektir. Bulanık mantığın da klasik mantıkta olduğu gibi operatörleri vardır; örneğin “and”, “or”, “not” gibi, ancak bunlar kendine has işlemlerdir. Örneğin, başka yaklaşımlarda olmasına rağmen “and” işlemi genelde çarpma olarak veya “not” işlemi de 1’den çıkarma şeklinde ifade edilir.
Bulanık mantığın uygulama alanları çok geniştir. Sağladığı en büyük yarar ise insana özgü olan tecrübe ile öğrenme olayının kolayca modellenebilmesi ve belirsiz kavramların matematiksel olarak ifade edilebilmesine olanak sağlamasıdır. Bu nedenle, lineer olmayan sistemlere yaklaşım yapabilmek için özellikle uygundur.
GENETİK ALGORİTMALAR
Kısaca, genetik algoritmalar en genel anlamda, biyolojik sistemlerle benzer olarak, evrimin bilgisayarlara uygulanmasıyla oluşan basit bir sistemlerdir,  Genetik algoritmalarda çözümü istenen problemle ilgili bağımsız değişkenler, problemin kritik bilgilerini oluşturur. Genetik algoritma, problem için, bilgisayar hafızasında oluşturulan alternatiflerin veya genetik algoritma terminolojisiyle, kromozomların en uygun çözüm için seçilime tabi tutulması, yani oluşacak kombinasyonlar içinde en uygun olanın seçimi işlemidir. Dolayısıyla
YAPAY SİNİR AĞLARI
Yapay sinir ağları, insan beyninin temel birimi olan nöronlara benzer olarak teşkil edilen yapay nöronların farklı topoloji ve ağ modelleriyle birbirine bağlanmasıyla oluşan karmaşık sistemlerdir. Bir yapay sinir ağı, birbiriyle etkileşim içindeki pek çok yapay nöronun paralel bağlı bir hiyerarşik organizasyonudur. Beynin en önemli işlevlerinden birisi de insanın çevresinde olanları öğrenmesi ve denediği bilgileri daha sonra kullanmak üzere depolamasıdır. Çevreden gelen uyarıların değerlendirilmesi ve uygun davranışların geliştirilmesi öğrenme yoluyla olmaktadır. Öğrenilen bilginin saklanmasını ise bellek sağlar. Öğrenme çok geniş bir kavram olup görme, işitme, dokunma, tat ve doku duyguları ile algılanan uyarıların ilişkilendirilme, tekrarlama gibi birden çok beyin işlemi sonucu gerçekleşir. Öğrenmenin doğrudan bir ölçümü yapılamamakta ancak ortaya çıkan davranış değişiklikleri ile değerlendirilebilmektedir. Nöral hesaplama algoritmik programlamaya bir seçenek oluşturan, temel olarak yeni ve farklı bir bilgi işleme tekniğidir. Programda adım adım yürütülen bir yöntemin verilmesi yerine noral ağ ilişkilendirmeyi yapan iç kurallarını kendi üretir ve bu kuralları, sonuçları örneklerle karşılaştırarak düzenler. En genel anlamda yapay sinir ağları, ileri beslemeli ve geri beslemeli ağlar şeklinde iki ana grupta düşünülebilir. İleri beslemeli ağlarda nöronlar; girdi, saklı ve çıktı olarak adlandırılan katmanlar vasıtasıyla organize edilir. Herbir katmandaki nöronlar, bir sonraki katman nöronları ile bağlantılı ağırlıkları vasıtasıyla ilişkilidir. Ancak katmanların kendi aralarında herhangi bir bağlantı yoktur. Bilgi, girdi katmanından çıktı katmanına doğru ilerler. Buna aktivasyon yönü de denilir. Bu tür ağlar denetimli öğrenme teknikleriyle eğitilir.
Yapay Sinir Ağlarında Öğrenme ve Ağın Eğitilmesi
Yapay sinir ağları klasik programlama gibi belirli bir algoritma çerçevesinde programlanmazlar. Sinir ağları insanlar gibi örnekler ile eğitilirler. Yapay sinir ağlarının öğrenmesi bir çocuğun öğrenmesi gibidir. Sıcak bir nesneye dokunmaması gerektiğini deneyerek öğrenen çocuklar, zamanla daha az sıcak olan bir cisme dokunabilme cesaretini gösterirler ve sıcak süt dolu bardağı elleriyle tutarlar. Yani çocuk sıcaklık bilgisini öğrenmiş olmaktadır. Yapay nöronlar da benzer olarak, mevcut örnek kümesi üzerinde girdi ile çıktı arasındaki bağıntının ağırlıklarının değiştirilmesiyle eğitilirler. Sunulan girdi kümesi için, transfer fonksiyonu tarafından sağlanan değerlere cevap olarak bağlantı ağırlıklarının tamamının veya bir kısmının, istenen çıktı ile ağ çıktısı arasındaki farkın belirli bir değere düşünceye kadar değiştirilmesidir. Bu amaçla günümüze kadar çeşitli öğrenme algoritmaları geliştirilmiştir.
Bunlar;
- Temel olarak denetimi öğrenme,
- Denetimsiz öğrenme
- Takviyeli öğrenme, olarak üç ana gruba ayrılır.
Denetimli öğrenmede sinir ağına hem girdi hem de çıktı değerleri sunulur. Ağın ürettiği çıktı ile istenen çıktı arasındaki fark sıfır veya ona yakın bir değere gelinceye kadar ağırlıklar değiştirilir.
Bu tür öğrenme modelini kullanan ağlar
- Perceptron ve ilişkili hafızalar,
- Takviyeli öğrenme,
- Stokastik öğrenme,
- Vektör nicelik öğrenmesi,
- Delta ve genelleştirilmiş delta kuralı,
- Geri yayılma algoritması, stokastik öğrenme.
Denetimsiz öğrenmede ağa sadece girdi vektörü uygulanır. Girdi değerlerine uygun bir çıktı üretilinceye kadar bağlantı ağırlıkları değiştirilir.
Bu metod;
- Görüntü işleme,
- İşaret işleme
- Kontrol problemlerinde etkin olarak kullanılır.
Kohonen’in kendini düzenleyen uzaylar ve “Adaptif  Rezonans Teorisi (ART)” denetimsiz öğrenmeye örnek olarak verilebilir.
Takviyeli öğrenmede ise giriş değerlerine karşılık gelecek uygun çıktıların elde edilmesi sırasında ağırlıkların en uygun değerlerinin bulunmasında genetik algoritmalar veya optimizasyon yöntemleri kullanılır. Böylece ağırlıklar optimize edilmektedir. Bunların dışında hibrit (karma) öğrenme algoritmaları da geliştirilmiştir.
ROBOTİK
Yapay zekanın en önemli uygulama alanı endüstri alanıdır. Robotikler bilgisayarlar ile endüstriyel robotların uyumlu bir bütünleşmesidir. Endüstriyel robotlara bilgisayarlar yardımıyla herhangi bir rutin hareketin nasıl yapılacağını öğretmek mümkündür. Örneğin; araba boyama, vida sıkma, malzeme taşıma ve hatta kusurlu parçaları tespit etme gibi daha karmaşık davranışları yapan robotikleri günümüzde görmek mümkündür. Yapay zekanın en büyük ticari başarıyı elde ettiği alan robotik alanıdır. Genel inancın aksine, robotikler bilimkurgu filmlerinde görülen robotlardan gerek görünüm gerekse işlev açısından oldukça farklıdır. Endüstriyel robotlar daha çok tekrarlı yani rutin işler için uygundur. Otomotiv sektörü robotlardan en fazla yararlanan sektördür. Bu sektörde robotlar daha çok boyama ve montaj işlemlerinde kullanılmaktadır. Elektronik sektörü, bu konuda ikinciliği tutmaktadır. Elektronik devrelerin testi ve yongaların yerleştirilmesi işlemlerinde robotlardan istifade edilmektedir. Bugün, artık cerrahi de bile robotlar kullanılabilmektedir. Örneğin bir beyin cerrahına yardımcı olan robotları tam donanımlı tıp merkezlerinde görmek mümkündür. Robotlar büyük bir doğruluk yüzdesi ile biyopsi yapabilmekte ve böylece ameliyatın daha hızlı, daha doğru ve daha güvenli yapılmasını sağlamaktadır. Robotlara işin nasıl yapılacağı bilgisayar tarafından öğretilir. Bir bilgisayar programı ile robotları kontrol etmek mümkündür. Bu program robota hareketin zamanı yönü mesafesi gibi konularda komut veren bir programdır. Bir kere programladıktan sonra, robotların hareketlerini kontrol etmek mümkündür. Bir kere programlandıktan sonra robotların hareketlerini kontrol etmeye fazla ihtiyaç yoktur. Robotlar konusunda görülen bir diğer gelişme ise, robotlara bazı beşeri algılama becerisini yerleştirmektir. Daha önce açıklanan robotlar beşeri algılama becerilerine sahip olmadıklarından dolayı ancak tekdüze işleri yapma becerisine sahiptirler ve bu yüzden de bu tür robotlara “seç-al- yerleştir” robotları demektedir. Eğer bu robotlara görme, işitme, konuşma gibi beceriler kazandırılırsa, bu robotların insan gibi davranması ve böylece bu robotlara belli standarttaki bir nesneden farklı nesneleri ayırt etmesi sağlanabilir. Doğal olarak, görsel sistem teknolojisindeki gelişmeler devam ettiği müddetçe tıpkı bir insan gibi işyerinde dolaşması da mümkün olabilecektir. Sonuç olarak robot teknolojisindeki gelişmeler bilim-kurgu filmlerinde gördüğümüz kimi sahneleri gerçek hale getirecek gibi görünmektedir.
UZMAN SİSTEMLER


(Artificial Intelligence) sistemlerinin bir kolu olan “Uzman Sistemler (Expert Systems)”   herhangi bir karmaşık sistemde, uzman bir kişinin yaptığı işleri yapan bir bilgisayar programı gibi düşünülebilir. Uzmanların düşünce biçimini taklit ederek, özelleşmiş bir alanda önemli problemleri çözmeye yönelik yazılımlardır. Bu yazılımlar genellikle ara yüz, veri tabanı, kural tabanı gibi birden fazla programdan oluştuklarından sistem olarak adlandırılır. Uzman sistemler (US), öneride bulunan, problemi analiz edebilen, sınıflandırabilen, iletişim kurabilen, dizayn yapabilen, tanımlayabilen, inceleyebilen, tahmin yürütebilen, belirleyen, yargılayabilen, öğrenebilen, kontrol edebilen, programlayabilen ve öğreten yazılımlardır.
Yapay Zekanın Kullanım Alanları
Uzay: Uçuş simülasyonları, otomatik pilot uygulamaları vb. alanlarda
Otomotiv : Otomatik yol izleme, yol koşullarına göre sürüş analizi vb. gibi uygulamalarda
Bankacılık : Kredi uygulamaları geliştirilmesi, müşteri analizi ve kredi müracaat değerlendirilmesi
Savunma : Silah yönlendirme, hedef seçme, radar, sensör sonar sistemleri, sinyal işleme, görüntü işleme vb.
Elektronik: Kod sırası öngörüsü, çip bozulma analizi, non-lineer modelleme vs.
Finans: Pazar performans analizi
Üretim:  Ürün dizaynı, dayanıklılık analizi, makine yıpranmaları tespiti
Sağlık: Göğüs kanseri erken teşhis ve tedavisi, EEG, ECG, MR, ilaç etkileri analizi, kan analizi sınıflandırma, kalp krizi erken teşhis ve tedavisi vb. uygulamalarda
Robotik: Yörünge kontrol, forklift robotları, görsel sistemler, uzaktan kumandalı sistemler.
Güvenlik: Parmak izi tanıma, kredi kartı hileleri saptama, retina tarama, yüz eşleştirme vb. uygulamlarda

Bu Yayını Paylaş

Takipçi Ol

Mail adresinizi kaydedelim ilk sizin haberiniz olsun.

0 yorum:

Sponsor

Yazılarım Korunuyor

Yandex Metrica

Yandex.Metrica

Toplam Sayfa Görüntüleme Sayısı

back to top