Hayri Cem

20 Aralık 2020

Yapay zekâ ve makine öğrenimi

Tüm Makine Öğrenmeleri bir yapay zekâ uygulaması olmasına rağmen tüm yapay zekâ sistemlerinde makine öğrenimi uygulanmış olduğunu söyleyemeyiz: Makine öğrenimi yapay zekâ teknolojisinin bir alt dalıdır

Yapay zekâyı ve yapay zekâ kullanım alanlarını daha önceki yazılarımda etraflıca yazdığım için bu yazı kapsamında tekrar etmeyeceğim. Aşağıdaki linklerden bu yazılara ulaşabilirsiniz.[1]

Özetle; yapay zekâ, insan zekâsının karar verme yöntemini, yapay sinir ağlarının matematiksel modelini çıkartarak, karşılaştığı verileri analiz edip, yorumlayan, karar alan ve uygulayan algoritma ve sistemlerdir.

Yapay zekâ teknolojisi artık günümüzde insan hayatının çok önemli bir parçası haline gelmiştir. Ağır endüstri üretiminden, günlük tüketim malları ve hizmetlere kadar pek çok alanda kullanılmaktadır.

Yapay zekânın birçok alt dalı bulunmaktadır. Bunlar; makine öğrenimi, derin öğrenme, doğal dil işleme, konuşma sentezi, konuşma anlama, uzman sistemler, örüntü tanıma, genetik algoritmalar, genetik programlama, bulanık mantık, çoklu örnekle öğrenmedir.[2]

Bu alt dallardan bazılarının kullanım alanlarına aşağıdaki dipnotta belirtilen yazılarımda yer vermiştim. Ancak Makine Öğrenmesi ve Derin Öğrenme alt dalları genel olarak yapay zekâ kavramı ile karıştırıldığından, ayrı bir makale olarak ele alınmasında yarar görmekteyim.

Tüm Makine Öğrenmeleri bir yapay zekâ uygulaması olmasına rağmen tüm yapay zekâ sistemlerinde makine öğrenimi uygulanmış olduğunu söyleyemeyiz: Makine öğrenimi ise yapay zekâ teknolojisinin bir alt dalıdır.

Makine öğrenimi nedir?

Makine öğreniminin en önemli gücü uzman ellerden çıkmış matematiksel modellemelere dayanan algoritmalardır. Ancak, istatistik ve matematik bilgisi sınırlı olan okuyucuları göz önüne alarak, kullanılan istatistik modelleri, karar ağaçları gibi bu makaleyi kısmen zor anlaşılabilecek hale getirebilecek konulara girmeden anlatmayı yeğliyorum.

Makine öğrenimi üç ana öğrenim yönetiminden oluşmaktadır: Denetimli Öğrenme (Supervised Learning), Denetlenmeyen Öğrenme (Unsupervised Learning) ve Destekli (Güçlendirilmiş, Pekiştirilmiş) Öğrenim (Reinforcement Learning).

Elbette bu öğrenme yöntemlerinden başka, Yarı-Denetimli Öğrenme ve Pekiştirmeli öğrenme gibi alt küme yöntemler de mevcuttur. Ancak biz ana öğrenme yöntemlerine göz atalım:

Denetimli Makine Öğrenimi (Supervised Machine Learning)

Denetimli Öğrenme ve Denetlenmeyen Öğrenme yöntemi arasındaki en belirgin fark, tahmin yaparken kullanacakları verilerden nasıl öğrendikleridir.

Denetimli Öğrenme yöntemi en yaygın olarak kullanılan yöntemdir. Bu yöntemde öğrenme bir insan denetiminde gerçekleşmektedir. Bir veri uzmanı, makineye gelen verileri etiketleyerek, algoritmanın bu verileri kullanarak hangi sonuçlara varması gerektiğini belirler ve öğretir. Bu işlem tek katmanlı bir işlemdir.

Bir an ilkokul yıllarımıza dönelim. Hiç bir varlıktan haberimiz yokken, duvarlarda gördüğümüz ilk fişleri hatırlayın. Değişik canlı ve cansız varlıkların resimlerinin altında isimleri yazardı: Elma, Kuş, Kalem gibi. Bu resimleri birer veri, altlarında yazan isimleri ise birer veri etiketi olarak düşünün.

Öğretmen bu veri ve etiketlere aracılığı ile öğrenciye bunlardan hangilerinin canlı/cansız olduğu değerlerini öğretmeye çalışmanın gerçek amacı, öğrencinin yeni bir verinin ve veri etiketinin ne olabileceğine karar veren bir fonksiyonu/yöntemi bulmasını sağlamaktır.

Öğretmen öğrenciye yeterli sayıda örnekler vererek, tahmin yöntemi ile yeni verilerin değerlerini bulması ister. Yani öğrenci, kuşun canlı olduğunu, kalemin cansız olduğunu öğrenme sırasında öğrense de öğrenciden asıl istenen şey kuş canlı kalem cansızsa yeni verilecek bir varlık örneğinin hangi sınıfa ait olduğunu tahmin edebileceği yöntemi öğrenmesidir.

Diğer bir deyişle, öğretmen esasında öğrenciye bu etiketler aracılığı ile X(elma, kuş, kalem) gibi varlıkları ve bu varlıkların Y(canlı, cansız) olduğu bilgisini öğretir. Yeterli sayıda örnek verilerek öğrenciden X à Y (varlık ile varlık tipi arasındaki ilişki fonksiyonu) yani en doğru à (tahmin yöntemi) istenir.

Bu fonksiyonu en iyi öğrenen öğrenci ormanda yılan gördüğünde o yılana belki daha önce kendisine öğretilen hayvanlardan yola çıkarak canlı deyip, gördüğü silgiye de cansız diyebilecektir.

Öğretmen denetiminde, bu tek veri, tek etiketli (tek katmanlı) öğrenme yöntemine "Denetimli Öğrenme Yöntemi" denilmektedir. Bu örnekteki tek katmanlıdan kasıt tek veri olmasından kaynaklanmıyor. Bu modelde makine diğer modele göre daha az öğreniyor diyebiliriz.

Denetlenmeyen Makine Öğrenimi (Unsupervised Machine Learnining)

Bu öğrenme yönteminde veri setleri etiketlenmemiş ve tanımlanmamıştır. Ayrıca, makinenin öğrenme süreçleri bir insan (örn. veri uzmanı) tarafından yönlendirilip, denetlenmemektedir.

Denetlenmeyen Makine Öğrenimindeki temel amaç, verileri sınıflandırmak veya eldeki verilere bakarak gelecek için tahmin yapmak değildir. Bu öğrenme türündeki temel amacı eldeki veriye anlam kazandırmak diye özetleyebiliriz. Ya da, elde edilen verinin altında yatan yapıyı ortaya çıkarmak da diyebiliriz.

Denetlenmeyen Makine Öğreniminde, bilgisayara yüklenmiş olan algoritma, verileri birbiriyle karşılaştırıp, hangi verilerin birbirine benzer özelliklere sahip olduklarını ve hangi verilerin birbirinden farklı olduğunu belirliyor.

Denetlenmeyen Makine Öğrenimi ile bizlerin anlamlandıramadığı büyük miktarda veriler algoritmanın tespit ettiği en önemli özelliklerine göre ayrılır, veya bizim anlamlandıramadığımız karmaşık verilerin temel yapısı korunarak bizim anlayabileceğimiz hale getirilir.

Denetlenmeyen Makine Öğrenimine örnek olarak, bu sefer yukarıdaki Denetimli Öğrenme X - Y ikilisi yerine, öğretmen öğrenciye sadece X'i veriyor ve karşılığında bir fonksiyon beklemiyor çünkü sonuca varılacak bir etiket yok. Tam tersine, öğretmen öğrenciye X var ve bu "X nedir?" gibi bir soru soruyor. Algoritma da verileri birbiriyle karşılaştırıp hangi veriler birbirine benzer ve hangi veriler birbirinden farklı onu buluyor.

Yine ilkokul örneğimize dönecek olursak, bu kez çocuğun, öğretmenin yardımı olmadan, kendi sahip olduğu bilgilerden (verilerden) yola çıkarak, yeni karşılaştığı canlı/cansız varlıkları özelliklerinden yola çıkarak sınıflayıp, tanımlamaya ve etiketlemeye çalıştığını varsayalım.

Kendisine daha önceden varlıklarından haberdar olmadığı elma, kuş, kalem ile armut, köpek ve silgi veriliyor. Öğrenci bunları (elma, armut), (kuş, köpek), (kalem, silgi) diye kendiliğinden grupluyor. Bu gruplara bakan öğretmen de ilk grupta meyve, ikinci grupta hayvan üçüncü grupta da kırtasiye eşyası olduğunu görerek, sınıflandırmayı belirliyor.

Öğrencinin hangi grubun ne olduğundan haberi yok, sadece benzer bulduğu objeleri grupladı. Öğrenciye üç yerine iki grup yap denseydi, (kuş, köpek) ve (elma, armut, kalem, silgi) olarak da gruplandırabilirdi. Bu varlıklar hakkında daha önce bilgisi olmayan biri de bu gruplara bakarak, demek ki ilk grup canlı ikinci grup cansız varlıklarmış diyebilir.

Özetleyecek olursak; Denetlenmeyen Makine Öğrenimi, etiketsiz veri analizlerinden öğrenme sürecidir. Makinedeki öğrenme algoritmasına, veri sonuçlarını ve tanımlarını yüklemeye gerek yoktur. Algoritmanın kendisi veriden gerekli sonuçları çıkartır.

Popüler kullanım alanları

Netflix, YouTube, Facebook, Twitter, Amazon ve Swarm gibi pek çok çevrimiçi platform, Makine Öğrenmesi teknolojilerini kullanarak, kişiselleştirilmiş kullanıcı deneyimi sunmaktadır. Makine Öğrenmesi bunun yanı sıra, başta Siri, Cortana ve Google Now gibi kişisel asistanlık uygulamaları olmak üzere pek çok ürün ve hizmette yüksek kullanıcı memnuniyeti sağlamak için kullanılmaktadır.[3]

Denetlenmeyen Makine Öğrenimi, şirketlerin müşterilerini analiz etmede çok sık kullanılıyor. Bir şirketin elinde müşterilerine ait bol miktarda veri olduğunu ancak bu verileri nasıl kullanacağını/anlamlandıracağını bilmediğini varsayalım. Bu durumda devreye algoritmalar girmektedir:

Algoritma, birbiriyle ayni türde müşterileri gruplara ayrıştırabilir ya da bu verileri görselleştirebileceğimiz bir boyuta (100 boyuttan 2 boyuta mesela) getirebilir. Denetlenmeyen Makine Öğrenimi, bazı koşullarda, etiketsiz veride Denetimli Makine Öğreniminin ilk adımı olabiliyor. Elimizde o veri için etiket yoksa (müşteri verisi var, etiket yok), Denetlenmeyen Makine Öğrenimi algoritmasının o veri içinden 3 temel grup bulduğunu varsayalım: reklamdan etkilenenler, reklamdan etkilenmeyenler, reklamdan olumsuz etkilenenler. Bu 3 grup artık yapılacak bir Denetimli Makine Öğreniminde etiket olarak kullanılabilir ve böylece yeni gelen bir müşterinin hangi gruba ait olabileceği tahmin edilebilir.

Günlük hayatımızda sıklıkla kullandığımız; sesli arama sistemleri, sesli asistanlar, çevrimiçi sohbet programları, aday müşteri puanlama sistemleri, müşteri tahminleme gibi hizmetler, makine öğrenme sistemlerinin önemli örnekleridir.[4]

Destekli (Güçlendirilmiş, pekiştirilmiş) öğrenim (Reinforcement Learning)

Yazının bundan sonraki bölümlerinde, bu öğrenim biçimi için "Pekiştirilmiş Öğrenim" tanımlamasını kullanacağım.

Pekiştirilmiş Öğrenim, denetimli öğrenmeye benzer bir davranışsal makine öğrenimi modelidir, ancak, algoritma örnek veriler kullanılarak eğitilmez. Bu model, deneme yanılma yoluyla ilerledikçe öğrenir. Belirli bir problemde, en iyi öneriyi veya politikayı geliştirmek için bir dizi başarılı sonuç pekiştirilecektir.[5]

Pekiştirilmiş makine öğrenimi algoritmaları, eylemler üreterek çevresi ile etkileşime giren ve hataları veya ödüllendirme yöntemi ile doğruları bulma olasılığını her adımda daha da fazla arttıran bir öğrenme yöntemidir. Deneme ve yanılma araştırması ve arkasından gelen ödül, pekiştirilmiş öğrenmenin en önemli özellikleridir. Bu yöntem, makinelerin ve yazılım aracılarının performansını en üst düzeye çıkarmak için belirli bir bağlamdaki ideal davranışın otomatik olarak belirlenmesine olanak tanır. Temsilcinin, hangi eylemin en iyi olduğunu öğrenmesi için basit ödül geri bildirimi gereklidir; bu yöntem ödül sinyali (geri beslemesi) olarak adlandırılır.[6]

Kullanılan bu kümülatif ödül sinyali sistemi, Pekiştirilmiş Öğrenim alanının en önemli öğesidir. Pekiştirilmiş Öğrenim, etiketli girdi/çıktı çiftlerinin sunulmasına gerek olmaması ve açıkça düzeltilmesi için standart dışı eylemlere ihtiyaç duyulmaması bakımından denetimli öğrenmeden farklıdır.

Ortam, tipik olarak, bir Markov karar süreci (Markov Decision Process) şeklinde ifade edilir, çünkü bu bağlam için pek çok pekiştirilmiş öğrenme algoritması "Dinamik Programlama" tekniklerini kullanarak yazılmaktadır.[7]

Dinamik Programlama ise bilgisayar yazılımının geliştirilmesi sırasında, aynı anda, matematiksel optimizasyon metodunun da kullanılması demektir. Burada yöntem, cevapları karmaşık sorunları alt parçalara bölerek, bölünmüş alt parçaları da yine matematiksel optimizasyon ve geri dönüşümlü algoritmalar ile tekrarlama yöntemi ile alt-parçalara bölerek geliştirilen bir yazılım geliştirme yöntemidir.

Yapay Zekâ ile ilgili yazılarımda, Google'ın geliştirdiği Deep Mind sisteminin AlphaGo ve AlphaZero yapay zekâ programları ve altında yatan matematiksel modelleme ile gerçekleştirdikleri başarıyı anlatmıştım. Bu programların geliştirilmesi aşamasında, programın her başarılı hamlesi bir başarı sinyali ile "ödüllendirilir". Oyunun sonundaki bu "ödül sinyali", pekiştirilmiş öğrenme yoluyla önceki aşamalardaki pozisyonlara yansıtılarak, onların da "makbul" olduğu bilgisi sinir ağına kodlanır. Böylece her aşamada daha da iyileşen değerlendirme formülü, bir sonraki aşamada kendi kendine oynanacak oyunların daha yüksek kalitede olmasına yol açar.

Ülkemizde bir dönem Riziko adıyla yayınlanan Jeopardy adlı TV programı, ABD'de çok beğenilen ve oldukça yüksek izlenme oranı (rating) alan bir bilgi yarışma programıdır. IBM'in Watson adlı yapay zekâ programı bu zor yarışmada tüm aşamaları başarıyla geçerek şampiyon oldu. Sistem, bir cevaba (veya olduğu gibi bir soruya), tahtada hangi karenin seçileceğine ve özellikle günlük çiftlerde ne kadar bahis oynanacağına karar vermek için pekiştirilmiş öğrenmeyi kullandı.


[1] https://t24.com.tr/yazarlar/hayri-cem-haftalik/endustri-4-0-in-bilesenleri-yapay-zekâ,26678

https://t24.com.tr/yazarlar/hayri-cem-haftalik/yapay-zekânin-kullanim-alanlari,26761

https://t24.com.tr/yazarlar/hayri-cem-haftalik/yapay-zekânin-uretimde-kullanim-alanlari,26847

[2] Kızrak, M. ve Bolat, B., (2018),"Derin Öğrenme ile Kalabalık Analizi Üzerine Detaylı Bir Araştırma", Bilişim Teknolojileri Dergisi, c.11, no.11, s. 263-286.

[3] AYAS Meryem, Yapay Zekâ – İnsandan Öte, Thinktech, 23.01.2018. URL: https://thinktech.stm.com.tr/detay.aspx?id=87

[4] https://t24.com.tr/yazarlar/hayri-cem-haftalik/yapay-zekânin-kullanim-alanlari,26761

[5] https://www.ibm.com/cloud/learn/machine-learning#toc-machine-le-K7VszOk6

[6] https://www.expert.ai/blog/machine-learning-definition/#:~:text=Machine%20learning%20is%20an%20application,use%20it%20learn%20for%20themselves.

[7] https://en.wikipedia.org/wiki/Reinforcement_learning