top of page

-  Derin ÖÄŸrenme  -

- ( Deep Learning ) -

                                                                            

Endüstri ve akademik çevrelerdeki veri bilimciler görüntü sınıflandırma, video analizi, konuÅŸma tanıma ve doÄŸal dil öÄŸrenme süreci dahil olmak üzere çeÅŸitli uygulamalarda çığır açan geliÅŸmeler elde etmek üzere makineyle öÄŸrenmede GPU’ları (Grafik Ä°ÅŸlemci Ünitesi) kullanmaktadır. Özellikle, büyük miktarlarda etiketlenmiÅŸ eÄŸitim verilerinden özellik saptama yapabilen sistemler oluÅŸturmak için ileri teknoloji, çok seviyeli “derin” sinir aÄŸların kullanılması olan Derin ÖÄŸrenme, önemli derecede yatırım ve araÅŸtırmanın yapıldığı bir alandır.

​

Makineyle öÄŸrenme yıllardır kullanılan bir yöntem olmasına raÄŸmen, iki yeni yeni trend makineyle öÄŸrenmenin yaygın bir ÅŸekilde kullanılmasına yol açmıştır: çok büyük miktarlarda eÄŸitim verisi ile GPU hesaplama ile elde edilen güçlü ve verimli paralel hesaplama. GPU’lar, çok daha büyük eÄŸitim setleri kullanarak bu derin nöral aÄŸları çok daha kısa sürelerde ve çok daha az veri merkezi altyapısı kullanarak eÄŸitmek için kullanılmaktadır. GPU’lar aynı zamanda, çok daha fazla veri hacmi ve daha az güç ve altyapı destekleyerek, bulut içinde sınıflandırma ve tahmin yapmak için bu eÄŸitilmiÅŸ makineyle öÄŸrenme modellerini çalıştırmak için kullanılmaktadır.

Makineyle öÄŸrenme için GPU’ları kullanmaya ilk baÅŸlayanlar arasında en büyük web ve sosyal medya ÅŸirketlerinin yanı sıra, veri bilimi ve makineyle öÄŸrenme alanında çalışan üst düzey araÅŸtırma kuruluÅŸları bulunmaktadır. Binlerce hesaplama çekirdeÄŸi ve tek başına çalıştırılan CPU’lar (Merkezi Ä°ÅŸlem Birimi) ile karşılaÅŸtırıldığında 10 ile 100 kat uygulama performansı sunan GPU’lar, veri bilimcilerin büyük verilerin iÅŸlenmesinde tercih ettikleri iÅŸlemci olmuÅŸtur.

GPU’lar ile önceden kaydedilen konuÅŸmalar veya multimedya içerikleri çok daha hızlı bir ÅŸekilde yazıya geçirebilmektedir. Carnegie Mellon Üniversitesi’nden Profesör Ian Lane yürüttüÄŸü çalışmalarında CPU uygulaması ile karşılaÅŸtırıldığında, GPU’ların 33 kata kadar daha hızlı tanıma yaptığını ortaya koymuÅŸtur.

​

TensorFlow Nedir ?

​

TensorFlow, makine öÄŸrenmesi ve derin sinir aÄŸlarında kullanılmak üzere Google’s Machine Intelligence araÅŸtırma organizasyonu tarafından geliÅŸtirilmiÅŸ açık kaynak yazılım kütüphanesidir.

Tensorflow, birçok API sunmaktadır. En alt seviyeli API, TensorFlow Core olarak isimlendirilmektedir. Daha üst seviyedeki API’ler, TensorFlow Core’un üzerine kurulmaktadır.

Birçok derin öÄŸrenme kütüphanesi olmasına raÄŸmen TensorFlow’u diÄŸerlerinden ayıran bazı özellikler ÅŸöyle sıralanabilir:  

​

  • Google gibi büyük bir ÅŸirket tarafından geliÅŸtirilmeye devam edilmektedir.

  • GPU ve CPU üzerinde iÅŸlem yapabilme kabiliyetine sahiptir.

  • GPU destekli olması iÅŸlemlerin daha hızlı yapılmasını saÄŸlamaktadır.

  • Daha iyi görselleÅŸtirilme kabiliyetine sahiptir.

​

Tensor Nedir ?

​

Tensor, TensorFlow’daki en temel veri birimidir. Tensor, herhangi bir boyuta sahip dizi ÅŸeklindedir. Bir tensorun boyutu rank olarak adlandırılmaktadır. 

​

TensorFlow ' Merhaba Dünya '

​

Herhangi bir bilgisayar dilinde yazmayı öÄŸrendiÄŸimiz ilk kod, ' Merhaba dünya ' dır. Burada geleneÄŸi sürdürüyoruz ve ' Merhaba dünya ' kodu ile baÅŸlıyoruz. TensorFlow yüklememizi doÄŸrulamak için önceki bölümde kullandığımız kod ÅŸöyledir:

​

  1.  import tensorflow as tf

  2.  message = tf.constant('Derin Sinir AÄŸları'nın heyecan verici dünyasına hoÅŸ geldiniz!')

  3.  with tf.Session() as sess :   

  4.      print(sess.run(message).decode())

​

    Ä°nceleme : 

​

1. import tensorflow " Bu TensorFlow kütüphanesini içe aktarır ve harika özelliklerini kullanmamızı saÄŸlar.

                       

                 import tensorflow as tf

​

2. Yazdırmak istediÄŸimiz mesaj sabit bir karakter dizisi olduÄŸundan " tf.constant  " kullanıyoruz :

​

                  message = tf.constant('Derin Sinir AÄŸları'nın heyecan verici dünyasına hoÅŸ geldiniz!')

​

3. Graf elemanını çalıştırmak için, " with " kullanarak oturumu ( Session) tanımlamalıyız ve " run " kullanarak oturumu çalıştırmalıyız :

​

                 with tf.Session() as sess:
     

                 print(sess.run(message).decode())

​

4. Çıktı, bilgisayar sisteminize ve iÅŸletim sisteminize baÄŸlı olarak, kodun makineniz için derlendiÄŸinde daha hızlı çalışabileceÄŸini ileri süren bir dizi uyarı mesajı (W) içerir

​

    The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations. 
    The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations.  

     The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations. 

     The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. 

     The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. 

     The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. 

     The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.

     The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

​

5. TensorFlow GPU ile çalışıyorsanız, kullanılan cihazların ayrıntılarını veren bilgilendirici mesajların (I) bir listesini de alırsınız :

​

Found device 0 with properties:  
     

     name: GeForce GTX 1070 
     

     major: 6 minor: 1 memoryClockRate (GHz) 1.683

​

pciBusID 0000:01:00.0 
     

     Total memory: 8.00GiB 
     

     Free memory: 6.66GiB 
     

     DMA: 0  
     

     0:   Y  
     

     Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1070, pci bus id: 0000:01:00.0)

​

6. Sonunda oturumda yazdırmak istediÄŸimiz mesaj:

​

    Derin Sinir AÄŸları'nın heyecan verici dünyasına hoÅŸ geldiniz!

​

    Nasıl Çalışmaktadır ? : 

​

Önceki kod üç ana bölüme ayrılmıştır. Kodumuzun kullanacağı tüm kütüphaneleri içeren içe aktarma (import) bloÄŸu var; mevcut kodda sadece TensorFlow kullanıyoruz. tf ifadesi olarak içe aktarılan tensorflow, tüm TensorFlow sınıflarına, yöntemlerine ve sembollerine Python eriÅŸimi saÄŸlar. Ä°kinci blok, graf tanım bölümünü içerir; Burada istenen bilgisayımsal grafımızı oluÅŸturuyoruz. Mevcut durumda, grafımız sadece bir düÄŸümden, "Derin Sinir AÄŸları'nın heyecan verici dünyasına hoÅŸ geldiniz" bayt dizisinden oluÅŸan tensör sabit mesajından oluÅŸuyor. Kodumuzun üçüncü bileÅŸeni, hesaplama grafını Oturum olarak çalıştırıyor; with anahtar kelimeyi kullanarak bir oturum oluÅŸturduk. Son olarak, Oturumda, yukarıda oluÅŸturulan grafı çalıştırıyoruz.

Åžimdi çıktıyı anlayalım. Alınan uyarı mesajları, TensorFlow kodunun daha yüksek bir hızda çalışabileceÄŸini söyler, bu da TensorFlow'u kaynaktan yükleyerek elde edilebilir (bunu daha sonra bu bölümde yapacağız). Alınan bilgi mesajları, hesaplama için kullanılan cihazlar hakkında sizi bilgilendirir. Onların her iki mesajı da oldukça zararsızdır, ancak onları görmekten hoÅŸlanmıyorsanız, bu iki satırlı kodu eklemek hile yapacaktır:

​

  1.  import os
  2.  os.environ['TF_CPP_MIN_LOG_LEVEL']='2'  

​

Kod, 2. seviyeye kadar tüm mesajları dikkate almamaktır. Seviye 1 bilgi,  2 uyarı ve 3 hata mesajları içindir. Program oluÅŸturulan grafı çalıştırmanın sonucunu yazdırır, graf, session.run () ifadesi kullanılarak çalıştırılır. Graf çalıştırılmasının sonucu, decode yöntemi kullanılarak ilaveten deÄŸiÅŸtirilen print fonksiyonuna beslenir. Session.run mesajda tanımlanan tensörü deÄŸerlendirir. print fonksiyonu, deÄŸerlendirmenin sonucunu stdout'a yazdırır:

 

  1.  b 'Derin Sinir AÄŸları'nın heyecan verici dünyasına hoÅŸ geldiniz'
    
Bu, sonucun bir bayt dizisi olduÄŸunu söylüyor. Dizi tırnaklarını ve b (bayt için) kaldırmak için,
decode () yöntemini kullanırız.

​

    TensorFlow program yapısını anlama : 

​

TensorFlow, diÄŸer programlama dillerinden çok farklıdır. Ä°lk olarak yaratmak istediÄŸimiz sinir ağının bir planını yapmalıyız. Bu, programı iki ayrı bölüme ayırarak, yani, sayısal grafiÄŸin tanımlanması ve yürütülmesiyle gerçekleÅŸtirilir. Ä°lk baÅŸta, bu geleneksel programlayıcıya zahmetli görünebilir, fakat bu, TensorFlow'un gücünü, yani çoklu platformlar ve paralel yürütme üzerinde çalışabilme kabiliyeti veren grafik tanımından yürütme grafiÄŸinin bu ayrımıdır.

Hesaplamalı grafik: Hesaplamalı bir grafik, düÄŸüm ve kenarlardan oluÅŸan bir aÄŸdır. Bu bölümde, kullanılacak tüm veriler, diÄŸer bir deyiÅŸle, tensör Nesneleri (sabitler, deÄŸiÅŸkenler ve yer tutucular) ve gerçekleÅŸtirilecek tüm hesaplamalar, yani Operasyon Nesneleri (kısaca ops olarak anılacaktır) tanımlanmıştır. Her düÄŸüm sıfır veya daha fazla giriÅŸe sahip olabilir, ancak sadece bir çıktı olabilir. AÄŸdaki düÄŸümler, Nesneleri (tensörler ve Ä°ÅŸlemler) temsil eder ve kenarlar, iÅŸlemler arasında akan Tensörlerdir. Hesaplama grafiÄŸi, sinir ağının planını tanımlar, ancak içindeki Tensörler henüz onlarla iliÅŸkili bir deÄŸere sahip deÄŸildir.

Bir hesaplama grafiÄŸi oluÅŸturmak için, gerçekleÅŸtirmemiz gereken tüm sabitleri, deÄŸiÅŸkenleri ve iÅŸlemleri tanımlarız. Sabitler, deÄŸiÅŸkenler ve yer tutucuları bir sonraki tarifte ele alınacaktır. Matematik iÅŸlemlerin matris manipülasyonları için tarifi ayrıntılı olarak ele alınacaktır. Burada, iki vektörü eklemek için bir grafiÄŸi tanımlamak ve yürütmek için basit bir örnek kullanarak yapıyı tanımlarız.

GrafiÄŸin yürütülmesi: GrafiÄŸin yürütülmesi, Oturum Nesnesi kullanılarak gerçekleÅŸtirilir. Oturum Nesnesi, tensör ve Ä°ÅŸlem Nesnelerinin deÄŸerlendirildiÄŸi ortamı kapsar. Gerçek hesaplamaların ve bilginin bir katmandan diÄŸerine aktarılmasının gerçekleÅŸtiÄŸi yer burasıdır. Farklı tensör Nesnelerinin deÄŸerleri baÅŸlatılır, eriÅŸilir ve yalnızca Oturum Nesnesine kaydedilir. Åžimdiye dek tensör Nesneleri sadece soyut tanımlamalardı, iÅŸte canlandılar.

​

​

​

​

​

​

​

​

​

  Duyuru - 1

     

-Duyurular-

-Ana Menü-

bottom of page