Yapay Zekanın Yükselişi ve Günümüze Yolculuğu - Türkiye Yapay Zekâ Inisiyatifi
Yapay Zekanın Yükselişi ve Günümüze Yolculuğu

Yapay Zekanın Yükselişi ve Günümüze Yolculuğu

Artık hepimiz rahatlıkla; “Hayatımızın önemli bir kısmını bilgisayar çağında geçirdik” diyebiliriz. Birçoğumuz, bu yeni çağın bir parçası olarak, donanım ve yazılımın, CPU’ların ve algoritmaların temellerini anlayabiliyoruz. Daha yüksek işlemci hızları, daha geniş veri yolları ve artan sayıda işlemci çekirdeği… Özetle bugünün işlemcileri giderek daha karmaşık yazılımlar çalıştıracak yetkinliğe ulaştı. Bunun bir getirisi olarak da, YouTube videolarını izlememize, belge yazmamıza ve büyük elektronik tabloları aynı anda işlememize olanak sağlayabilen sistemleri hayatımızın bir parçası haline getirdi. Bu sistemlerin temel parçalarından biri olan CPU’ların zamanla daha güçlü olmaya devam edeceğini ve daha karmaşık yazılım görevlerini de yerine getirebileceğiniz söyleyebiliriz.

Ancak, yaklaşık yirmi yıl önce, yeni bir teknoloji çağımıza müthiş bir ivme kazandırdı ve yapay zeka kavramının teoriden pratiğe dönüşümünde büyük bir katkı sağladı. Bu yeni teknoloji “grafik işlem birimi” ya da birçoğumuzun aşina olduğu tabirle “GPU” idi. Sadece son sekiz yılda, GPU gücündeki gelişmeler yapay zekanın teorik vaatlerini yerine getirmeye başlayabildi. Bu makalede, Yapay Zeka ve Derin Öğrenme için geçerli olan GPU’un farklı ve yenilikçi kısımlarından bahsedeceğiz. GPU’nun değerini takdir etmeden ve bu özel işlemci sınıfının neden bu kadar etkili olduğunu anlamadan önce,“Yapay Sinir Ağları” olarak adlandırılan farklı bir bilgi işlem türüne de kısaca deyinceceğiz.

Yapay Sinir Ağları

Yapay Sinir Ağları, temelde “İnsan beyni nasıl çalışır?” sorusundan ilham alır. Öyleyse, kendi beynimizin içinde hızlı bir ziyaretle başlayalım. Son derece karmaşık ve halen büyük oranda keşfedilememiş bir dünya olan beynimiz nöron adı verilen milyarlarca temel birimden oluşur. Nöronlar, dış dünyadan girdi almaktan, sinyalleri dönüştürmekten, iletmekten ve kaslarımıza motor komutları göndermekten sorumludur. Bir nöron kendi giriş sinyalleri tarafından tetiklendiğinde, bağlı olduğu nöronlara “ateşlenir”. Bu bağlantıların yaratılması ve ayarlanması ile oluşan yapı, öğrenme yeteneğimizi mümkün kılan şeydir.

Daha derine bakıldığında, beynimizdeki milyarlarca nöron, bilgiyi işleyen paralel sütunlar halinde düzenlenmiştir. Bir mini kolon 100 nöron içerebilir. Bu mini sütunlar ayrıca, yaklaşık 100 milyon sütundan oluşan daha büyük hiper sütunlar halinde düzenlenmiştir. Bu yapı, birçok girdiyi, en azından görünüşte paralel olarak işleme ve eyleme geçirme yeteneğimizi mümkün kılıyor. Bu büyük paralel işleme yapısının net sonucu, “programlanmış” olmaktan ziyade gözlem ve örneklerle öğrenme yeteneğimizi sağlıyor.

Bilgisayar teknolojisi özelinde incelediğimiz zaman ise yapay sinir ağları kavramı 1940’lara kadar uzanıyor. Ancak, yapay sinir ağlarının potansiyelini açığa çıkarmaya başlayacak hesaplama gücüne ve teknolojiye son yıllarda sahip olduğumuzu söyleyebiliriz.   Yapay sinir ağlarının nasıl inşa edildiğine bakacak olursak;

Tensorflow

https://playground.tensorflow.org kullanılarak oluşturulmuş eğitimli bir sinir ağının şeması. Yapay sinir ağları hakkında daha fazla bilgi edinmek için mükemmel bir eğitim aracı.

Yapay Sinir Ağlarını yapısal olarak üç katmanda değerlendirebiliriz:

1. İlk katman, girdi katmanıdır. Bu düğümler hesaplama yapmazlar, bunlar sadece giriş değişkenleridir ve gelen veri seti koşullarıyla eşleşirse çıktılarını ateşler.

2. Orta katmana, hesaplama işinin yapıldığı bir veya daha fazla katman olabilen “gizli katmanlar” denir. Her düğüm, çıkışına ateşlenip ateşlenmeyeceğine karar vermek için giriş bağlantılarından gelen sinyallere bir algoritma uygular.

3. Üçüncü katman ise çıktı katmanıdır. Yapay sinir ağımızın görevi bir örneklemeyle açıklanacak olursa, eğer bir görüntünün kedi mi yoksa köpek mi olduğunu kategorize etseydi, kedi ya da köpek şeklinde, çıktı katmanında iki nöronumuz olurdu.

Yapay sinir ağının temel yapısı budur. Veri kümesinin kendisi ve potansiyel sonuçların sayısı, bu matrisin genişliğini ve derinliğini belirlemede faktör olacaktır.

 

Ağırlıklandırma ve Yayılma

Yararlı görevleri gerçekleştirmek için bu yapıyı nasıl eğittiğimize bakmadan önce incelememiz gereken üç kavram var.

Birincisi, “ağırlıklı bağlantılar” kavramıdır. Tüm katmanlardaki düğümlerin her biri, bir sonraki katmandaki düğümlerin her birine bağlanır, ancak bu bağlantıların gücü veya alaka düzeyine bir ağırlık faktörü verilir. Bu faktör, o düğümün bir sonraki algoritmaya girdi olarak göreceli etkisini belirleyecektir. Yukarıdaki şekilde çizgi kalınlığının, sonuçta ortaya çıkan eğitimli ağdaki ağırlıklandırmayı temsil ettiğini unutmayın. Eğitimden önce, tüm bağlantıların ağırlıkları(çizgi kalınlıkları) eşitti.

Sonraki “ileri yayılma” kavramıdır. Bu, belirli bir giriş için ağdan bu ağırlıklı bağlantılar üzerinden seyahat ederek bir çıktı alma işlemidir.

Ve son olarak, “ters yayılma” kavramını inceleyelim. Yapay sinir ağının “öğrenmesini” sağlayan işlev budur. Ters yaymada ağ, eğitim verilerini ağ tarafından üretilen çıktıyla karşılaştırır. “Hatayı” geriye doğru ağa yayarak, her bağlantının hataya ne kadar katkıda bulunduğunu hesaplar ve bu bağlantının ağırlığına bir düzeltme faktörü uygular. Bu süreci bir dizi etiketli eğitim verisi aracılığıyla yineleyerek, herhangi bir girdi kümesi için mümkün olan en doğru sonucu üretecek şekilde ağ kendini optimize edecektir.

Bu temel bilgiyle, artık yapay bir sinir ağının nasıl “eğitildiğini” inceleyebiliriz.

Yapay Zeka İçin İşlem Gücü

Sinir ağları tamamiyle paralel bir işlem paradigmasıdır. Bir ağ, ne kadar çok eşzamanlı hesaplama yapılabilirse o kadar hızlı “eğitilebilir” veya eğitimli bir ağ yeni verileri o kadar hızlı işleyebilir. Hesaplamaların kendisi oldukça basittir, bu nedenle olabildiğince hızlı bir şekilde çok sayıda basit matematiksel hesaplama yapabilen bir işlemci mimarisi istiyoruz. Geleneksel CPU’lar genel amaçlı hesaplama araçları olacak şekilde üretilirler ve genellikle sıralı bir şekilde çok çeşitli işlevleri yerine getirmek üzere programlanabilirler. Buna karşılık, bir GPU, sıralı olmayan ve büyük ölçüde paralel bir ortamda daha dar işlevler kümesi gerçekleştirmek için oluşturulmuş, amaca yönelik bir işlem birimi türüdür.

Bugünün CPU’su, her biri çok çeşitli karmaşık işlemleri gerçekleştirebilen az sayıda oldukça karmaşık çekirdeğe sahip olabilir. Buna karşılık GPU’lar, sınırlı sayıda matematiksel işlem için optimize edilmiş, çok daha küçük binlerce çekirdeğe sahip olan ünitelerdir. Bu yapı, yapay bir sinir ağını eğitmek için gereken yoğun, yüksek verimli paralel işlem için ideal bir yapıdır ve ayrıca mevcut, eğitimli bir modeli yeni veri kümelerine karşı kullanmada çok daha hızlıdır.

Yüksek çözünürlüklü grafik görüntüler, doğası gereği büyük bir veri kümesidir. GPU’lar teknoloji sahnesine ilk girdiğinde, etki alanları oyun ve grafikti. Gerçeğe yakın grafik görüntülerini hızlı bir şekilde oluşturma yeteneği sağladılar. Aynı GPU mimarisinin, çeşitli yapay sinir ağlarına uygulandığında çok daha etkili olduğu kanıtlandı. GPU’ların yapay sinir ağlarına uygulanması, karmaşık algoritmaların programlanmadığı, ağın “eğitildiği” yapay zeka ve derin öğrenme uygulamaları için yeni bir çığır açtı.

Advantech, endüstriyel bilgisayar sektörünün lider üreticisi olarak, özellikle dayanıklı ortamlar için tasarlanmış çok çeşitli CPU ve GPU tabanlı endüstriyel PC’ler sunmaktadır. Detaylı bilgi ve sorularınız için [email protected] üzerinden Advantech ekibi ile iletişime geçebilirsiniz.

Kaynak: Advantech

Benzer Haberler