FPGA üzerinde diferansiyel gelişim algoritması ile yapay sinir ağı eğitimi
Training of artificial neural network with differential evolution algorithm on FPGA
Yazar: ALİ RIZA YILMAZ
Danışman: YRD. DOÇ. DR. BURCU ERKMEN
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı / Elektronik Bilim Dalı
Derece: Yüksek Lisans, 2014
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
İleri yönlü yayılım ve eğitim algoritmalarındaki yoğun işlem yüküne sahip Yapay Sinir Ağlarının (YSA) donanım olarak tümdevre veya gömülü sistem üzerinde gerçeklenmesi, hızlı ve ağın yapısına uygun paralel tasarımlar sağlamasından dolayı yazılım uygulamalarına göre tercih edilmektedir. Tezde YSA'nın ileri yönlü yayılım işlemlerinin ve eğitim sürecinin gömülü sistem üzerinde tasarımı gerçekleştirilmiştir.
Esnek tasarım özelliklerine, programlanabilir ara bloklara ve paralel işlem yeteneğine sahip Alan Programlanabilir Kapı Dizileri (FPGA: Field-Programmable Gate Array), zaman ve maliyetten önemli kazanımlar sağlaması nedeniyle yoğun paralel yapıya ve işlem yüküne sahip YSA için kullanılacak en uygun platformlardan biridir.  YSA eğitim ve test süreçlerinin tasarımı hedeflenen gömülü sistem üzerinde tamamen sayısal olarak gerçekleştirilmesi sağlamıştır. 
YSA'ların eğitim işlemi yapılırken, yerel minimumlara takılma riski, gradyen tabanlı algoritmalara göre daha az olan sezgisel algoritmalardan, Diferansiyel Gelişim Algoritması (DGA) kullanılmıştır. 
Tez dört temel aşamadan oluşmaktadır. Birinci aşamada optimizasyon için kullanılacak olan DGA MATLAB ortamında, ileride donanımda kullanılacağı düşünülerek gerçeklenmiş ve iki bilinmeyenli bir denklem ile doğruluğu gözlenmiştir. İkinci aşamada bu algoritmanın YSA eğitimi için uygun olup olmadığını gözlemlemek amacıyla MATLAB ortamında Konik Kesit Fonksiyonlu Sinir Ağı (KKFSA) ve Çok Katmanlı Algılayıcı (ÇKA)  ağlarının eğitimi gerçeklenmiş ve çok boyutlu, doğrusal olmayan bir problem olan imza tanıma veri kümesi ile analiz edilmiştir. Daha sonraki aşamada DGA'nın donanım için uygun olup olmadığını gözlemlemek için FPGA'de gerçeklenmiş ve iki bilinmeyenli bir denklem optimizasyonu yapılmıştır. Son aşamada ise, FPGA üzerinde eğitim için tasarlanan bir ÇKA yapısının eğitim işlemi, DGA ile FPGA üzerinde gerçeklenmiştir. İleri yönlü YSA ve optimizasyon algoritmasının FPGA üzerinde tasarımında, hesaplamalarda sağladığı hassaslıktan dolayı kayan noktalı sayı formatı kullanılmıştır.

Abstract:
Feed forward propagation and training algorithm with heavy processing load of Artificial Neural Networks (ANN) on the hardware implementation of the integrated circuits or embedded system is preferred that of their software based counterparts due to rapid and parallel hardware designs suitable for the structure of the network. In this thesis, feed forward computation and training process of ANN were realized on embedded system.
FPGA that has a flexible design features, programmable intermediate blocks and parallel processing capability is the most appropriate platform for ANN with massively parallel structure and the processing load, since it provides significant gains in time and costs. ANN training and testing processes was carried out in completely digital on the targeted embedded system design.
In training process of ANN, Differential Evolution Algorithm (DEA) which has less risk to stick in local minimums than algorithms which are based on gradient were used.
This thesis consists of four parts. In the first part, DEA which wil use for optimization were realized intention to that it will be implement on hardware and its accuracy was demonstrated with an equation with two unknowns. In the secont part, the training of Conic Section Function Neural Network (CSFNN) and MLP has been realized on the MATLAB with this algorithm in order to see that DGA is as to whether convenient of ANN training or not and it has been analyzed by using high-dimensional and non-linear signature recognition data base. In the next part, DEA was implemented on FPGA as to whether convenient of hardware or not and the optimization of an equation with two unknowns was realized. In the last part, the training of MLP which designed for training was implemented with DEA on FPGA. Since The floating-point arithmetic provides sensitivity of calculations, this arithmetic is used for the design of the feed-forward CSFNN and the optimization algorithms on FPGA.