5 Temmuz 2021 Pazartesi

Yapay Zeka: Gelin birlikte anlayalım

Lisans tezimden yola çıkarak bu yazıyı yazmak istedim yapay zekanın günümüz teknolojisinde ne kadar önemli bir detaya sahip olduğunu yakından inceleyecek hatta bazı durunmlarda ciddiyete kapılır endişe duyacağız.(şaka biraz gerilim iyidir) bende sizler gibi yapay zekayı anlayarak aslında ne olduğunu kavramak istediğim ve projemin ilerleyen safhalarında kullandığım metaryellere kadar size açıklıyorum buyrun okumaya devam.

Yapay Zeka çalışmalarının genel amacı, insan beyninin çalışma mantığının modellenerek, söz konusu modeller vasıtasıyla bilimin her safhasında çığır açacak gelişmelere imza atmaktır. Slage‟ye göre yapay zeka; sezgisel programlama temelinde olan bir yaklaşım olup, “Yapay zeka insanların yaptıklarını bilgisayarlara yaptırabilme çalışmasıdır.” Geneserth ve Nilsson‟a göre yapay zeka, “Akıllı davranış üzerine bir çalışmadır. 

Ana hedefi, doğadaki varlıkların akıllı davranışlarını yapay olarak üretmeyi amaçlayan bir kuram oluşturmasıdır.” Tesler‟e göre ise “şu ana kadar yapılmayanlardır.” Axe göre yapay zeka; “akıllı programların hedefleyen bir bilimdir. Bu programlar aşağıdakileri yapabilmektedir; 1. İnsanın düşüncesini taklit ederek karmaşık problemleri çözebilmek. 2. Yorumlarını açıklayabilmek, yani bir durum karşısında kişiye yanıt verebilmek 3. Öğrenerek uzmanlığını geliştirmek ve eski bilgileri tabanını genişletmektir. 




Yapay Zeka da Bilginin Kullanılışı 

Bilgisayarların, insan zekasının yapabildiği gibi henüz tecrübeleri yada çalışıp öğrenme yetenekleri olmamasına rağmen uzmanlar kullanabilirler. Bu tür bilgiler, olaylar, anlayışlar problem çözme yada karar vermede uygulanabilir olması için düzenlenmiş ve analiz edilmiş bilgidir. Bir yapay zeka sisteminde kullanılacak olan bir problemle ilgili bilgilerin kümesine bilgi tabanı denir.


Akıllı ev sistemleri, yapay zeka teknikleri ile yapılacak olan işlem adımlarını gerçekleştirmek için ev içinde standartların oluşturulması gerekmektedir. Kullanıcının ev otomasyon sistemini kullanırken yaptığı işlemleri takip ederek kayıt edilmesi amaçlanmıştır. Daha sonra bu verileri kullanarak kullanıcı yaptığı işlemleri yapay zeka davranışlarını belirleyerek sonraki adımı tahmin etmektedir. Ancak bu süreç zorlu geçmektedir. 

Çünkü yapay zeka algoritmalarının tam olarak çalışması için sürekli olarak denemeler yapması gerekmektedir. Kullanıcının ev otomasyon sistemini kullanırken yaptığı işlemleri takip ederek kayıt edilmesi amaçlanmıştır. Daha sonra bu verileri kullanarak kullanıcı yaptığı işlemleri yapay zeka davranışlarını belirleyerek sonraki adımı tahmin etmektedir. Ancak bu süreç zorlu geçmektedir. Çünkü yapay zeka algoritmalarının tam olarak çalışması için sürekli olarak denemeler yapması gerekmektedir. 

Bu deneme süreçleri sonuca bağlaması neden-sonuç ilişkisi kurarak ileri ki adımları tahmin etme yetisinin arttırması gerekmektedir. Bunun için gereken süreçte kullanıcıyı sürekli takip ederek verileri kaydederek, veri setleri oluşturması gerekmektedir. Bu süreçte kullanıcının rutinin dışında olması ve belirli davranışları bir daha tekrarlamaması sonucunda kayıtlarda gürültü olma ihtimali yüksek olduğunu göz önünde bulundurmamız gerekir. Ayrıca bu kayıt işlemleri için hedef kitleye uyan örnek bir birey seçilmeli gürültüyü en aza indirerek derin öğrenmenin daha kolay hale gelmesi için çalışılmalıdır.

Yapay Sinir Ağları (YSA) Nedir ?


Canlıların davranışlarını incelenerek, matematiksel modellenmesidir. Yapay modellerin üretilmesi ise sibernetik kavramını doğurmuştur. Eğitilebilir, adaptif ve kendi kendine organize olup öğrenebilen ve değerlendirme yapabilen yapay sinir ağları ile insan beyninin öğrenme yapısı modellenmeye çalışılmaktadır.İnsanlarda olduğu gibi yapay sinir ağları vasıtasıyla makinelerin öğrenmesi ve karar verebilme yeteneğini geliştirmek amaçlanmıştır. 

Yapay Sinir Ağları İnsan ve Makine öğrenimi


İnsan ve Makine öğreinimi ilişkilendirmek  ve daha iyi anlamak için öncelikle insan biyolojisinde bir sinir ağını ardından Makineye modellenmesi ile karşılaştıralım. Öncelikle İnsan biyolojisini anlamak için bir sinir hücresinin biyolojik gösterimini aşağıda gösterilmiştir. 


Sinir Hücresi Biyolojisi

Matematik Modellenmesi için  model olan Sinir Hücresi Biyolojisi  Makine Öğrenimin de kullanılan Matematiksel modellemeyi 

YSA'nın Matematiksel Modellemesi


                    YSA'nın Matematiksel Modellemesi

Yapay Sinir Ağları matematiksel modellenmesinde en küçük yapı taşı olarak bilinen perceptron adı verilmiştir. 1957 yılında Frank Rosenblatt tarafından tanımlanmış bu model günümüzde de Yapay Sinir Ağları Makine öğreniminde çalışmalara destek olmuştur.


Yapay Sinir Ağları Perceptron ile Makine Öğrenimi Nasıl Olmaktadır?

Perceptron modellenmesinde kullanılan denklem


Matematiksel modellenmesi yukarıdaki resimde  gösterilen  perceptron ile modellenmesi (1)’de ki denklem ile ifade edilmiştir.


Y: denklemde x’in değerine bağlı olduğundan bağımlı değişkendir. Girdiye ait skoru verir.
X: Bağımsız değişken, girdi.
W: Ağırlık Parametresi.
B: Bias Değeri
Yapay Sinir Ağları ya da Derin Öğrenme modelinde yapılan temel işlem; modelin en iyi durumu vereceği W ve B parametrelerinin hesabını yapmaktır. Bu işlemin daha iyi anlaşılması için örneklenecektir ;

Yapay Sinir Ağı 1.durum


Yukarıdaki  yer alan tek katmalı Yapay Sinir Ağı modeli ele alalım.  Bu durumda modelde şu işlemler gerçekleştirelebilir; 4+2=6  nöron bulunmaktadır.  Burada giriş katmanını hariç tutmak zorundayız. Daha sonra [3*4]+[4*2]=20 ağırlık parametresini vermektedir. Bias değeri için ise 4+2=6 olmak üzere toplamda 26 adet öğrenilmesi gereken parametre mevcuttur.


Yapay Sinir Ağı 2.durum



2. Durumda ise yukarıdaki resimde belirtildiği gibi iki gizli katmanlı Yapay Sinir Ağı modeli görülmektedir, bu arada ise 4+4+1=9 nöron sayısına sahiptir. Ağırlık parametresini hesaplamak için ise; [3*4]+[4*4]+[4*1]=12+16+4=32 bulunmaktadır. Bias değeri için ise  4+4+1=9 toplamda 41 adet öğrenilmesi gereken parametre vardır.

Bu durumda Tek katmanlı ve çok katmanlı Yapay Sinir Ağı modelleri incelendiğinde önemli bir konunun ayrımına varılmaktadır. Yapay Sinir Ağları nöron incelemesi ile Derin Öğrenmenin en küçük yapı taşı olarak geçmektedir. Bu arada Katman kavramı ilk 1960 yılında Widrow ve Hoff çok katmanlı yapıya geçen ilk çalışmayı yapmışlardır. Böylece “Katman” kavramı Yapay Sinir Ağları konusunun alt başlığında incelenmektedir.




Her katmanın ve her katmanda ki nöronların modele etkisi incelersek; Bir katman içindeki nöronların birbiriyle ilişkisi yoktur ve sistemde bellekte tuttuğu  bilgiyi sonraki katmana ya da çıkışına akarma işini gerçekletirirler. Bu durum her nöron için geçerlidir. Arka arkaya bağlanan nöronlar birbirlerini çeşitli aktivasyon değerleriyle etkilemektedir ve modelin, sistemin öğrenme seviyesini belirleyici bir aktarım yapmaktadır.Bu aktivasyon fonksiyonlarının nasıl seçileceği ileride gösterilecektir.
Yapay Sinir Ağları bir diğer husus modelin bir katmanında bulunan nöron sayısı sistemin performasnı ve kararlılığını dolaylı olarak etkilemektedir.Katman sayısı arttıkça öğrenme performansın iyi bir seviyede olduğunu belirlemesi etken değildir. Çünkü model perfomansı, sadece katman sayısı ve girdilerle ilgisi olmasıdır. Fakat bu parametrelerde yeterli değildir aksine bir çok farklı etkiyen parametrenin etkisi çıkış performasnı etkilemektedir. Ağırlık vektörünün değerlerini oluşturmak buna büyük bir etkendir.

Yapay Sinir Ağ Modeli Tasarlarken Ağırlık Vektörü Oluşturma


Performanslı ve kararlı bir ağ modeli geliştirmek için ağırlık vektörü parametresi büyük değişimlere sebep verir, o yüzden ağırlık vektörü belirlenirken bazı hususlara dikkat edilmesi gerekir. Bu parametre başlangıçta rastgele atanabilir veya sistemin lti sistemler gibi geçmişte bulunan eğitilmiş bir modelin ağırlıkları giriş başlangıç ağırlıkları olarak da tanımlanabilmektedir. Ancak bu değerler atanırken zıt kutup değerli rastgele dağılımlı olarak belirlenmelidir. Sebebi ise “0” değeri verildiği durumlarda hesap katmanlarda devamlı aynı çıkacağından öğrenimi oluşturmaktadır. Bu ise istenmeyen bir durum ortaya koyar. Bunun için optimizasyon fonksiyonları tasarlanarak çözümleme yöntemi mümkündür.


Başarılı performanslı bir şekilde tasarlanmış bir ağ modelinin başarımını belirleyen “Kayıp/Yitim Fonksiyonu” değeri çeşitli optimizasyon teknikleriyle “0” a yaklaşması istenen bir fonksiyondur. Bu durumda eğitim ve test edilmesi ile karşılaştırılmasıyla hesaplama yapılmaktadır.
Bununla birlikte iki kesime uğrayan sebeple karşılaşılmaktadır;
Modelin tüm bilgilerini kullandığımızda elimizde büyük boyutlu bir parametre bilgisi oluşmaktadır.
Test işlemleri oluştururken eğitim setinde tüm verilerle karşılaştırılması yapıldığında bu işlemlerin yükü artar ve tespit süresi uzamaktadır.

Bu iki durumun verimli bir ağ modelinde olmaması gereken hususlardır. Basit bir çözüm oluşturulmak istenirse, test verileri eğitim verilerinden oluşan bir temsil grubuyla eşleştirilerek tespit edilmesi mümkündür. Böylece işlem yükünün azalması sağlanırken, sistemin hız bakımından performans artmasını sağlamaktadır. Burada dikkatli seçilmesi gereken parametre temsil verisinin nasıl seçilmesi gerektiğidir.
Eğitim verisinin içeriğindeki tüm bilgilerin temsil edildiği bir veri elde etmek gerekmektedir. Bunun için öğrenme işleminden sonra ilgili verinin ağırlık matrisi yani ortalaması temsil verisi olarak alınmaktadır. Burada temsil verileri eğitim verileri için örnek oluşumlar verirsek aşağıdaki resimde  verilmektedir. Burada araba, kuş ve kedi temsillerinin ağırlık ortalamaları alınarak eğitim verilerinile eşleştirilirse sistemimizin kararlılığı ve performansımızın iyi bir veri elde edilmesini sağlamaktadır.
 
Temsil Verilerinin Görsel ile Benzetimi


Vektör Oluşturma Kayıp/Yitim Fonksiyonu (Loss funtion)


Kayıp Fonksiyonu olarak ele alacağımız bu değeri Regularizasyon (R) değerin sayesinde Kayıp değeri hiçbir zaman sıfır olmayacaktır. Bu durum tabi ki de ağırlık vektörünün sıfır olduğu durumlar haricinde oluşmaktadır.
Regularizasyon sayısı kullanılması derin öğrenme başarısını  artı yönde katkı sağlamaktadır. Kayıp hesabı yapılırken farklı optimizasyon teknikleri kullanılabilir. Bu tekniklerden biri aşağıdaki şekilde gösterildiği hesaplanabilir.

Vektör oluşturma kayıp fonksiyonu regularizasyon sayısı eklenmesi



Ayrıca Kayıp Fonksiyonu minimum bulmak için regalizasyon sayısı ile rastgele arama, rastgele yerel arama, gradyan iniş takip etme  yöntemleri ile geliştirilebilir. Fakat en etkili yöntemlerden biri olan Geriye Yayılım (Backpropagation) yöntemini incelenecektir.

Başarıyı İçin Geri Yayılım Yöntemi (Backpropagation)


Sistemin kurucusu 1986 yılında Rumelhard ve arkadaşları tarafından kullandığında popülerite kazanmıştır. Gizli katman ve çıkış katmanlarda ki tüm  ağırlıkları hesaba katılmaktadır. Hata sayısı gizli katmanlarda bulunan nöronlara geri dönerek modelin başarımı için başvurulan yöntemdir. Giriş değerleri ağırlık katsayılarıyla çarpılarak gizli katman çıkışından modelin çıkışına aktarılır. Bu zaten ileri  yayılımdır. Geri yayılım sayesinde modelin ağırlık katsayıları yenilenir ve sistem optimize edilmiş olur. Bu arada Transfer fonksiyonlarını devreye girmesi ile aktarım gerçekleştirilmektedir.

Transfer Öğrenimi ve Fonksiyonları 


Transfer öğrenimi, bir görev için oluşturulması ile eğitilen bir modelin, ikinci bir görev başlangıç noktası için tekrar kullanılabileceğini anlamasını sağlayan bir yaklaşım türüdür. Transfer öğrenimi süre gelmiş makine öğreniminden farklıdır, çünkü ikincil bir göreve başlamak için önceden eğitimini alınmış bir modele sıçrama tahtası olarak kullanmayı seçmesi onun çalışma mantığında yatar.Transfer foknsiyonları Şekil ’de verildiği gibi algoritmada yerini almaktadır.
 

Yapay Zeka Akışı



Bu yaklaşımı için insanlar rol model olmuş, bir insanın bir görev için önceden öğrenilen bilgileirni kullanması ile yeni görevi ona göre taklit etmesi benzeri bir örnek olarak nitelendirilebilir. Örneğin Hamza 1.sınıfta öğrendiği kalkülüs yöntemlerini taklit ederek 2.sınıfta aldığı elektromanyetik dalgalar dersinde uygulayabilmesidir.

Transfer Öğrenimi ve Derin Öğrenme ile Birlikte Kullanmanın Yararları


Bir modeli kararlı ve performansını arttırma tüm sistemlerin iyileştirilmesinde temel amaç taşımaktadır. Transfer Öğrenimi ana avantajlaları şunlardır;
Daha az eğitim verisi: Bir modeli sıfırdan eğitmeye başlamak çok zahmetli bir iştir ve çok fazla veri yükü gerektirir.
Modeller daha iyi genelleme yapması bir modelde transfer öğrenimi kullanmak, modeli eğitim görmediği verilerle iyi bir performans göstermeye hazırlar. Bu genelleme olarak bilinir. Transfer öğrenimi baz alınarak yapılan modellemelerde bir görevden diğerine hızlı bir sıçrama ile genellemelere sahip olabilir. Çünkü yeni sıçramalar uygulanabilecek özellikleri tanımlayı daha kolay ve pratik hale getirerek öğrenmek için eğitilmişlik durmunu daha iyi kavrar. Böylelikle iş yükü azalarak daha hızlı bir sistem geliştirilebilir.
Derin öğrenmeyi daha erişebilir hale getirmesi en büyük avantajlardan biridir. Çünkü transfer öğrenimi ile çalışmak derin öğrenmeyi daha kazançlı hale getirir. Bu sayede derin öğrenme uzmanı oluşturulan hazır olan modelleri de sisteminize uygulamak sizin için açık bir kaynak görevi görmesi ile büyük avantaj sağlamaktadır.

Transfer Öğrenme Türleri Nelerdir?

Alan Adı Uyarlaması (Domain adaptation)


Bu yaklaşımda, sistemin eğitildiği bir veri kümesi hedef veri kümesinden farklıdır  ama tamamen ilgili kısmı vardır. Buna iyi bir örnekleme ise spam e-posta filtreleme modelini gösterebiliriz.  A kullanıcısında kullanılan modelinin spam e-postaları tanımlamak için eğitildiğini varsayalım. Model daha sonra B kullanıcısı için kullanıldığında, görevi aynı olsa bile(e-posta filtreleme), B kullanıcısı farklı  türde e-posta alabileceği için A kullanıcısı eğitlir taklit ederek B kullanıcısında olan emailleride ayırabilir.

Çok Görevli Öğrenme (Multitask learning)

Bu yöntem, benzerlik ve farklılılardan yararlanabilmek için aynı anda iki veya daha fazla görevin çözülmesini içermektedir. İlgili bir görev için eğitilmiş bir modelin yeni görevde ki yeteneğini geliştirecek beceriler kazanabileceği fikrine dayanmaktadır.

Sıfır vuruşlu öğrenme (Zero-shot learning)

Bu teknik ise eğitim  sırasında maruz kalmadığı bir görevi çözmeye çalışan bir model içermektedir. Örneğin, resimlerde ki hayvanları tanımlamak için bir model geliştirdiğimizi varsayalım. Hayvanları tanımlamak için, makineye 2 parametre tanımlanması öğretildiği düşünelim, sarı renk ve lekeler olsun. Model daha sonra civcilerin sarı olduğu, ancak lekeleri olmadığı ve lekeleri olduğunu ancak sarı olmadığını bildiği dallanmaları öğrenmeyi öğrendiği birden fazla civciv resmi üzerinde eğitililebilir.

Tek Adımda Öğrenme(One-shot learning)

Bu yöntem, bir modelin bir nesneye bir kez ya da sadece birkaç kez maruz bırakıldıktan sonra nasıl sınıflandırılacağını öğrenmesini gerektirir. Bunu yapmak için ised model bilinen kategoriler hakkında sahip olduğu bilgileri kullanabilmektedir. Örneğin, hayvan sınıflandırma modelimiz bir kedinin nasıl tanımlanacağını bilir. Model daha sonra kediye benzeyen bir köpeği gördüğünde ise model ek resimlere maruz kalmadan kediyi köpekten ayırabilecektir çünkü kediler hakkında zaten sahip olduğu bilgileri aktarmıştır.

Transfer öğrenimi derin öğrenmede yaygın olarak kullanılmaktadır. Derin transfer öğreniminin ana uygulamalarından bazıları transfer öğrenimi doğal  dil işleme (NLP), bilgisayar görme ve konuşma tanımadır.
Transfer öğrenimi NLP, belge tanımlamasını ve metinsel verilerle ilgili diğer görevleri kolaylaştırmak için kullanılmaktadır.Aktivasyon fonksiyonları tanımı bu durumda gösterilmesi gerekmektedir.


Makine Öğreniminde Sinir Ağları Aktivasyon Fonksiyonları


Sinir ağlarında Aktivasyon fonksiyonları Derin öğrenmenin çok önemli bir oluşumudur. Aktivasyon fonksiyonları, derin öğrenme modelinin çıktısını en şekilde doğruluğunu kararlılığını, bir modelin hesaplama verimliliğini belirler. Bu yöntem ile iyi ölçekli bir sinir ağı oluşturabilmektedir. Bu sistemlerin fonksiyonları yakınsama yeteneği ile geliştirilebilir bir modelin bir duruma yakınsaması karar verebilme yeteneği ile bütünleşir. Sistemlerin ve modellerin bu  durum etkinleştirme fonksiyonları ile daha kararlı yapılar elde etmek münkündür. Şekil ’de  genel gösterimi verilmiştir.

Aktivasyon Fonksiyonu Geçerlemesi


Aktivasyon Fonksiyonuna Neden İhtiyaç Duyarız?


Yapay sinir ağlarına doğrusal olmayan gerçek hayat simülasyonuna tanıtmak için aktivasyon fonksiyonlarına ihtiyaç duyulmaktadır. Temel olarak basit bir yapay sinir ağında x girdiler, w ağırlıklar olarak tanımlanır ve ağın çıkışına aktarılan değere yani aktivasyon işlemi uygulanmaktadır. Daha sonra ise bu nihai çıkış ya da bir başka katmanın girişi olacak şekilde ayarlanmaktadır.
Çıkışa aktarılacak bu sinyali aktitive etmeden yapamayız sebebi ise aktivasyon fonksiyonu kullanılmayan bir sinir ağı sınırlı öğrenme gücüne sahip bir doğrusal bağlanım gibi davranacaktır. Ama biz sinir ağımızın doğrusal olmayan durumları da öğrenmesini istiyoruz. Çünkü sinir ağında öğrenmesi için görüntü, video yazı ve ses gibi karmaşık gerçek dünya bilgileri verilmektedir. 

Diğer taraftan basit bir doğrusal sinyalli fonksiyon olur bu da tek dereceli polinomlardan olacağı için gerçek dışı veriler elimizde olur, sistem için bu istenmemiştir.
Birden fazla dereceye sahip olan fonksiyonlara doğrusal olmayan fonksiyonlar denir. Yapay sinir ağları, evrensel fonksiyon yakınsayıcıları olarak tasarlanmış ve bu hedefte çalışması istenmektedir. Bu herhangi bir fonksiyonu hesaplanması, öğrenme özelliğine sahip olmaları gerektiği anlamına gelmektedir. Doğrusal olmayan aktivasyon fonksiyonları sayesinde ağların daha güçlü öğrenmesi sağlanabilir.

Aktivasyon Fonksiyonları


Aktivasyon fonksiyonları, bir sinir ağının çıktısı olarak belirlenen matematiksel denklemlerdir. İşlevi ise ağda ki her bir nörona bağlanır ve nöronları ayrı ayrı model ve sistemin tahmini ile birlikte tetiklemesini gerekli olup olmadığını belirler. Aktivasyon fonksiyonları ayrıca her nöronun çıkışını 1-0 veya -1-1 arasında normalleştirmeye yakınsamasını sağlar.
Aktivasyon fonksiyonları bir sistem de oluşan katmanların da bulunan nöronları  çıktısını sıçraması için veya  ileriye taşımak için etkinleştirmeyi işlevleri kullanılması esas alınmaktadır. Aktivasyon fonksiyonları skaler bir fonksiyon olma özelliği taşırlar. Bir başka deyişle aktivasyon fonksiyonları sinir ağında gizli nöronların ağın modelleme yeteneği olarak adlandırabilir. Aktivasyon fonksiyonlarını inceleyelim.

Basamak Fonksiyonu (Step Function)


İki değer alan bir fonksiyondur ve kuralı gereği ikili sınıflayıcı olarak kullanılır. Bu yüzden genellikle çıkış katmanlarında kullanılmaktadır. Gizli katmanlarda türevi öğrenme değeri temsil etmediği için kullanılması tavsiye edilmediği için gizli katmanlarda kullanılamaz.Bu fonksiyon Şekil’de gösterilmiştir.

Basamak Fonksiyonu

Doğrusal Fonksiyon (Linear Function)



Bir dizi aktivasyon değeri üretir ve bunlar basamak fonksiyonunda olduğu gibi ikili değerler değildir. Birkaç nöron birbirine bağlamayı sağlayabilmektedir. Fakat bu fonksiyonun dezavantajı türevinin sabit olması. Çünkü backpropagation sistemini kullanırken yani geri yayılım algoritmasın ile öğrenme işlemini nöronlar için gerçekleştiriliyordu. Bu algoritma türev alan bir sistemden oluşuyor. Bu sistemlerde geri yayılım algoritması kullanılırsa doğrusal fonksiyon sonuç vermemektedir. Fonksiyon Şekil’de gösterilmiştir.
 
Doğrusal Fonksiyon

Ayrıca tüm katmanlarda doğrusal fonksiyon kullanılırsa giriş katmanı ile çıkış katmanı arasında hep aynı doğrusal sonuca ulaşılır. Doğrusal fonksiyonların doğrusal bir şekilde birleşimi yine bir başka doğrusal fonksiyondur.Aktivasyon fonksiyonları hangi sistemlerde iyi bir şekilde kullanılması uzmanlık istemektedir.

Sigmoid Fonksiyonu


Doğada buluna bir çok olay doğrusal bir sistem değildir. Ve sigmoid bir fonksiyonun kombinasyonları da doğrusal olmaması bize iyi bir aktivasyon fonksiyonu olduğunu göstermektedir. Bu durumda sistemimizin katmanlarını sıraladığımızda ve ağırlıklarını hesapladığımızda aktivasyon fonksiyonları ile filtreden geçirebiliriz. Bu fonksiyon aşağıd da görülmektedir. 

Sigmoid fonksiyonların dezavantajları x-y değerleri çok yavaş tepki vermesi sistemimizde problemler doğrabilir, bu bölgelerde türev değerleri çok küçük olur ve 0’a yakınsar. Buna gradyanların kaybolması(vanishing gradient) denir. Bu durum öğrenme olayını performans düşüklüğüne sebep olmaktadır. Bu durum “0”  olursa o zaman öğrenmede mümkün olmaz. Yavaş bir öğrenme olayı gerçekleşeceğinden dolayı hatayı minimize eden optimizasyon algoritması lokal minimum değerlere takılabilme durumu oluşabilmektedir.
 

Sigmoid Fonksiyonu


Hiperbolik Tanjant Fonksiyonu


Sigmoid fonksiyonuna çok benzer bir yapıya sahiptir. Ancak fonksiyonun aralığı bu kez (-1,+1) olarak tanımlanmıştır. Sigmoid fonksiyonuna göre avantajı ise türevinin daha dik olmas yani daha çok değer alabilmesidir. Bu daha hızlı öğrenme ve sınıflama işlemileri daha geniş aralığa sahip olmasından dolayı daha verimli olabilmektedir. Bu fonksiyonun bazı problemlerde dezavantajı ise gradyanların ölmesi problemi oluşturabilmektedir.
 

Hiperbolik Tanjant Fonksiyonu


Relu Fonksiyonu


Bu fonksiyon ise doğada doğrusal olmayan bir fonksiyon olsa da sektörde iyi bir tahmin edici olarak bilinmektedir. Sebebi ise bu fonksiyon kombinasyonları ile herhangi başka bir fonksiyona da yakınsamak mümkündür. Bu durum ise Yapay Sinir Ağı katmanlarını sıralayabileceğimiz iyi bir seçenek gibi duruyor. 

Relu fonksiyonu [0,+∞] aralığında değer almaktadır. Fonksiyon durumu göz önüne alarak çok fazla nöronlu bir sinir ağı sistemi kurduğumuz varsayalım. Sigmoid ve Hiperbolik tanjant tüm nöronların aynı durumda aktif olmasını sağlarken, ağdaki bazı nöronların aktif olup, aktivasyon seyrek yani verimli bir hesaplama yükü olsun isteriz. Relu fonksiyonu ile bunu sağlayabilmektedir.
 
ReLU Fonksiyonu



Yapay zeka kullanan platformlar , bir çok alt yapıyı görüntü işlemeyi veya metinsel geribildirim argümanlarını , fonksyionlarını iç içe daha anlatacağım çok şey var yani, 

yazının devamı gelecek..

Hiç yorum yok:

Yorum Gönder

Esp32 İle TV Tuner Radio Alıcısı

 Yıllar evvel aklıma gelen bir proje rf sinyallere olan merakım giderek artıyor ve şimdiki pcb üretimimde rf antenler konusuna bir tık daha ...