Hesaplamalı Çizge

Hesaplamalı çizgeler, matematiksel ifadeleri düşünmek için güzel bir yöntemdir. Örneğin, E = (A + B) * (B + 1)   ifadesini düşünün. Üç işlem var: İki tane toplama ve bir tane çarpma işlemi. Bu denklemi parçalara ayırabiliriz ve ara değişkenler oluşturabiliriz. Örneğin, işlemleri şu şekilde tanımlayabiliriz:

C = A + B

D = B + 1

E = C * D

Bir hesaplama çizgesi oluşturmak için, bu işlemlerin her birini giriş değişkenleriyle birlikte düğümlere dönüştürelim. Bir düğümün çıktı değeri başka bir düğümün girişi olduğunda, ok birinden diğerine geçecek şekilde gösterilir.de.pngBu tür çizgeler, özellikle fonksiyonel programlardan söz ederken, bilgisayar bilimlerinde her zaman ortaya çıkıyor. Bağımlılık çizgeleri(dependency graphs) ve çağrı çizgeleri(call graphs) kavramlarıyla çok yakından ilişkilidirler. Girdi değişkenlerini belirli değerlere ayarlayarak ve düğümleri çizge yoluyla hesaplayarak denklemin sonucuna ulaşabiliriz. Örneğin,  A = 2 ve B = 1 olarak ayarlayalım, denklemin sonucunu 6 olarak hesapladık.
E6.png

Hesaplamalı Çizge Üzerindeki Türevler

Bir hesaplamalı çizgedeki türevleri anlamak için köşelerdeki türevleri anlamak gerekir. Eğer A doğrudan C’yi etkiliyorsa, C’yi nasıl etkilediğini bilmek isteriz. Yani C nasıl değişir? Buna, C’nin A’ya göre kısmi türevi diyoruz. Bu grafikteki kısmi türevleri anlamak için gerekliolan toplam kuralı ve çarpım kuralı:formul_kismiturevAşağıdaki çizgede her köşede etiketlenmiş türev vardır.TUREVV.pngDoğrudan bağlı olmayan düğümlerin birbirlerini nasıl etkilediğini anlamak istiyoruz. E’nin A’dan nasıl etkilendiğini düşünelim. A’yı 1 hızda değiştirirsek, C de 1 hızda değişir. Buna karşılık C 1 hızında değişirken, E 2 hızında değişir. Yani E,  A’ya göre 1 * 2 hızında değişir.

Genel kural, bir düğümden diğerine olası tüm yolları toplamak ve yolun her köşesindeki türevleri çarpmaktır. Örneğin, E’nin türevini B’ye göre elde etmek için:EB.png

Bu, E’nin C üzerinden B’den ve D üzerinden B’den nasıl etkilendiğini gösterir.

Bu genel “yollar üzerinden toplam”(sum over paths) kuralı, çok değişkenli zincir kuralı (multivariate chain rule) hakkında düşünmenin sadece farklı bir yoludur.

Hesaplamalı çizge TensorFlow ve Theano’nın ana mekanizmasını oluşturmaktadır. Yapay sinir ağlarında kullanılmaktadır.