Bir önceki yazıda yapay sinir ağlarının Azure ML Studio (AMLS) üzerinden nasıl tanımlanacağını anlatmıştım. Bu yazıda ise işi nasıl bir adım öteye götürüp işi nasıl derin ağlara doğru götüreceğinizden bahsedeceğim.
Derin öğrenme bir çok kaynakta katman sayısı 3'ün üzerindeki yapay sinir ağları olduğu belirtilir[1][2][3]. Bunun dışında işin arkaplanını anlatan yerli ve yabancı çok fazla kaynak bulabileceğiniz için bu yazıda Azure kısmından pek çıkmayacağız (Gelecek bir yazıda C# ile 0 dan yazacağız ama 😉).
AMLS içinde hemen her şey görsel şekilde halledilirken derin öğrenme mevzuları için bir betik (script) dilini kullanmamız gerekmektedir. Bu dilin adı ise net#. Bu dilin temellerine başka bir yazıda değineceğim. Şimdilik sizi resmi dokümana alalım.
Hızlı örneğimizi bir önceki yazıdaki modeli biraz daha geliştirerek yapacağız modeli hızlıca hatırlayalım:
Tahmin de edebileceğiniz üzere değişiklik "Neural Network Regression" modülünde olacak. Bu modülün vardığı nokta şu:
Bir önceki modelimize göre tek farkı "Hidden Layer Specification" kısmına eklenen küçük betikte bulunuyor.
input Data auto;
hidden Hidden1 [20] rlinear from Data all;
hidden Hidden2 [20] rlinear from Hidden1 all;
hidden Hidden3 [20] rlinear from Hidden2 all;
output Result auto from Hidden3 all;
Bu betik(script) dilinin adı net# (net sharp). Basit ve kendi kendini oldukça açıklayan bir dil. Toplamda 5 katmanımız için her bir katman için 1 satır tanımlama yapmamız yetti.
- Girdi (input) katmanı için modüle atanan veriyi (Data) al. Parça/Nitelik (node) sayısını veriye göre kendin belirle.
- Gizli katman ekle adı "Hidden1" olsun. Node sayısı 20 olsun. Aktifleştirme için rlinear fonksiyonunu kullan. Veri olarak girdi katmanını kullan.
- Gizli katman ekle adı "Hidden2" olsun. Node sayısı 20 olsun. Aktifleştirme için rlinear fonksiyonunu kullan. Veri olarak "Hidden1" katmanını kullan.
- Gizli katman ekle adı "Hidden3" olsun. Node sayısı 20 olsun. Aktifleştirme için rlinear fonksiyonunu kullan. Veri olarak "Hidden2" katmanını kullan.
- Çıktı katmanını "Hidden3" den gelen veriyle kullan ve aktifleştime fonksiyonuna ve node sayısına kendin (auto) karar ver.
Pek tabii CNN, LTSM, RNN gibi daha karışık ağları kurarken script dili bu kadar da basit olmayacak.
Bir sonraki yazıda görüşmek üzere.