"Akademik makale" Sigmoid fonksiyonunun parçalı doğrusal olmayan uydurma yöntemi ve FPGA uygulaması

Özet:

Transandantal fonksiyonu hesaplamak için parçalı doğrusal olmayan yaklaşım algoritmasını kullanın.Nöral ağlarda en yaygın kullanılan Sigmoid fonksiyonunu örnek alarak, fonksiyonun simetrik doğasını ve düzensiz türev özelliklerini birleştirerek, makul bir parçalı yöntem önerilmiş ve aynı parçalı yöntem verilmiştir. Yaklaşık polinom sırasının yaklaşım sonucunun doğruluğu üzerindeki etkisi. Algoritmanın donanım uygulamasını FPGA'da tamamlayın ve üçüncü dereceden polinom işleme Sigmoid işlevini kullanarak uygun bir sonuç ve boru hattı mimarisi sunun.İşlem doğruluğu 10-5 büyüklüğe ulaşır ve maksimum frekans 127.327 MHz'e ulaşarak yüksek hızlı ve yüksek hassasiyette işlemeyi sağlar. İddia.

Çince alıntı biçimi: Song Yukun, Gao Xiaohang, Zhang Duoli ve diğerleri.Sigmoid fonksiyonunun parçalı doğrusal olmayan yerleştirme yöntemi ve FPGA uygulaması.Elektronik Teknoloji Uygulaması, 2017, 43 (8): 49-51.

İngilizce alıntı biçimi: Song Yukun, Gao Xiaohang, Zhang Duoli, vd.Sigmoid fonksiyonunun parçalı doğrusal olmayan yaklaşımı ve FPGA'daki uygulaması. Application of Electronic Technique, 2017, 43 (8): 49-51.

0 Önsöz

Gerçek zamanlı görüntü işlemede, dijital sinyal işlemede ve diğer alanlarda, doğrusal olmayan işlevlerin yüksek hızlı hesaplamaları genellikle gereklidir. Yapay sinir ağlarında, çok sayıda doğrusal olmayan fonksiyonun hesaplanması gerekir. Bu nedenle, yapay sinir ağlarının araştırma alanında, doğrusal olmayan fonksiyonların yüksek hızda nasıl işleneceğini incelemek büyük önem taşımaktadır. En yaygın kullanılan yapay sinir ağı Sigmoid işlevidir. Sigmoid işlev gerçekleştirme teknolojisi ile ilgili mevcut araştırma temel olarak iki kısma ayrılmıştır: yazılım gerçekleştirme ve donanım gerçekleştirme. Yazılım, donanımdan daha yavaş olduğundan ve düşük derecede paralelliğe sahip olduğundan, hızlı işlem için gereksinimlerini karşılayamaz. Bu nedenle, VLSI'nin hızlı gelişiminin mevcut döneminde, Sigmoid işlevlerini hızlı bir şekilde işlemek için donanımın nasıl kullanılacağını incelemek açıkçası daha anlamlı.

Yeniden yapılandırılabilir teknolojisinin esnekliği ile FPGA, Sigmoid fonksiyonunun yüksek hızlı hesaplanması sorununu çözmek için güçlü bir araç haline geldi. Şu anda, Sigmoid fonksiyonunu FPGA kullanarak hesaplamak için yaygın olarak kullanılan yöntemler arasında arama tablosu yöntemi, CORDIC algoritması, Taylor serisi genişletme yöntemi ve parçalı doğrusal yaklaşım yöntemi bulunmaktadır. Tarama tablosu yöntemi tüm hesaplama sonuçlarını önceden bir ROM'a kaydeder.Bu yöntem uygun ve uygulaması kolaydır, ancak fonksiyonun hesaplama doğruluğu arttıkça ve uyum aralığı arttıkça gerekli depolama kaynakları önemli ölçüde artacaktır. Tüketim yüksektir. CORDIC algoritması, bazı karmaşık işlemleri çoklu yineleme yoluyla basit işlemlere dönüştürür, ancak doğruluk arttıkça, algoritmanın yineleme sayısı artacak ve hesaplama hızı yavaşlayacaktır. Taylor serisi genişletme yöntemi, yüksek doğruluk gereksinimleri altında çarpanların ve toplayıcıların kullanımını artıracak ve büyük kaynaklar tüketecektir. Parçalı doğrusal yaklaşım yöntemi, bir arama tablosunu düşük dereceli bir polinom ile birleştirir ve hesaplama hızı daha hızlıdır.Bu sorunu çözmek için temel yöntemdir.Ancak, düşük sıralı polinom sınırlı bir kesit aralığına uydurmak için kullanılır. Doğrulukta hiçbir avantaj yoktur ve yüksek hassasiyetli bilgi işlem gereksinimlerini karşılamak zordur.

Yukarıdaki problemleri çözmek için, bu makale Sigmoid fonksiyonunu ele almak için geleneksel parçalı doğrusal olmayan yaklaşım yöntemini kullanır. Literatürde, parçalı doğrusal olmayan yaklaşım yöntemi sinir ağlarında yaygın hiperbolik tanjant fonksiyonunun üstesinden gelmek için kullanılır, ancak, makale parçalı yöntem için temel vermez ve her alt bölüm aralığında elde edilen doğruluk da çok farklıdır. . Bu nedenle, bu sorunu çözmek için, bu makale Sigmoid işlevini araştırma nesnesi olarak alır, Sigmoid işlevinin simetrisini ve türevinin tekdüzeliğini birleştirir ve makul bir bölütleme yöntemi vermek için yaklaşıklık ilkesi olarak sayısal analizde en küçük kare yöntemini kullanır. Aynı zamanda, üniform segmentasyonu karşılaştırmanın işleme modu altında yaklaşıklık doğruluğunun farkı verilmiştir. Donanım tanımlama dili, donanım yapısının tasarımını gerçekleştirmek için kullanılır ve gerçek doğrulama ve performans testi Xilinx Virtex-5 serisinin XC5VLX110T cihazlarında tamamlanır ve tasarım sonuçları, kaynak kullanımı, işlem hızı ve hesaplama doğruluğu açısından makul bir şekilde değerlendirilir.

1 Parçalı doğrusal olmayan uyum şeması ve Sigmoid fonksiyonunun sonuç analizi

Parçalı doğrusal olmayan yaklaşım yönteminin temel ilkesi, eğriyi yaklaşık olarak hesaplamak için yüksek dereceli polinomları kullanmaktır. İlk olarak, yaklaştırılacak fonksiyon belirli bir şekilde segmentlere ayrılır ve ardından her segment için yaklaşık olarak orijinal eğriyi değiştirmek üzere yüksek dereceli bir polinom oluşturulur, böylece karmaşık doğrusal olmayan fonksiyonların hesaplama problemi bir polinom hesaplama problemine dönüştürülür.

Taylor formülü prensibine göre, bir fonksiyon Taylor formülüne göre belirli bir noktada genişletilir.Genişletilmiş terimlerin sayısı arttıkça, yaklaşım formülünün hatası gittikçe küçülecektir. Ve öğelerin sayısı arttıkça, her bir öğenin değeri kademeli olarak azalır ve sonunda sonsuz küçük olma eğilimindedir. Fonksiyon belirli bir noktada Taylor formülüne göre genişletilir.N-mertebeli polinom muhafaza edildiğinde, aşağıdaki tüm terimler hatayı etkiler ve (N + 1)-sıra türev fonksiyonunun değeri, N-mertebeli polinomun yaklaşık sonucunu doğrudan etkiler. Spesifik etki yöntemi şudur: N + 1 dereceli türev mutlak değeri aldıktan sonra, değer ne kadar büyükse, bu noktada N dereceli polinom yaklaşımı kullanan fonksiyonun hatası o kadar yüksek olur, bu nedenle karşılık gelen segment aralığı aralığı nispeten olmalıdır. Daha küçük; değer ne kadar küçükse, bu noktada N dereceli polinomu kullanarak fonksiyona yaklaşma hatası o kadar düşüktür, bu nedenle bu noktada karşılık gelen segment aralığı aralığı nispeten büyük olmalıdır. Segmentasyon düşünüldüğünde, fonksiyonun segmentasyon aralığı, aşırı hataları önlemek için N + 1-dereceli türevin değerine göre dinamik olarak ayarlanabilir. Bu işleme yöntemi sayesinde segmentasyon yöntemi optimize edilebilir. Aşağıda Sigmoid işlevi ile birleştirilmiş özel bir analiz yer almaktadır.

İlk olarak, Şekil 1'de gösterildiği gibi Sigmoid fonksiyonunun ve türevinin özelliklerini analiz edin. F (x) Sigmoid fonksiyonudur ve G (x) dördüncü dereceden türev fonksiyondur. Yeterli bölümlenmiş aralıklar sağlandığında, üçüncü dereceden bir polinom kullanılarak daha yüksek bir yaklaşım doğruluğu elde edilebilir. Bu nedenle, bu makale Sigmoid fonksiyonuna yaklaşmak için üçüncü dereceden bir polinom kullanır ve dördüncü dereceden türev fonksiyonu G (x), yaklaşımın hatasını doğrudan etkiler. Görüntüyü inceleyerek aşağıdaki sonuçlar çıkarılır:

(1) Sigmoid fonksiyonu F (x), simetri merkezi olarak (0, 0.5) noktası olan bir fonksiyondur.Bu nedenle, Sigmoid fonksiyonunun değeri hesaplanırken, sadece pozitif veya negatif aralığın hesaplanması gerekir ve diğer yarısı simetrik ilişki ile elde edilebilir;

(2) Pozitif aralığı araştırma nesnesi olarak alarak Sigmoid fonksiyonunun 4. türevi, x = 1'e yakın maksimum değeri alır ve her iki tarafa da bozulur. X arttıkça, 4. türev sonunda 0'a yönelir.

Bu türeve dayalı bölümleme yönteminin yaklaşım sonuçlarının doğruluğu açısından avantajlara sahip olup olmadığını doğrulamak için, bu makale bu bölümleme yöntemini geleneksel eşit mesafeli bölümleme yöntemiyle karşılaştırmayı seçmektedir. İlk olarak, Sigmoid fonksiyonunun işlenecek aralığı eşit parçalara bölün ve ardından her bir alt aralığın fonksiyonunun dördüncü dereceden türevinin genel değişim yasasını karşılaştırın, aralığı nispeten büyük türevle kısaltın ve aralığı nispeten küçük türevle genişletin. Bu iki bölümleme yöntemi altında tüm alt aralıklar için üçüncü dereceden bir polinom oluşturun ve her alt aralığın hatasını ve işlevin genel aralığını karşılaştırarak bu bölümleme yönteminin avantajlarını doğrulayın.

Bu makale MATLAB'ı bir işlev uydurma aracı olarak seçer, en küçük kareler ilkesini kullanarak uygun polinomları oluşturur ve hesaplama sürecinde yüksek doğruluğu sağlayabilen veri türü olarak çift kesinlikli kayan nokta sayılarını seçer. İki segmentasyon yönteminin segmentasyon sonuçları ve hata karşılaştırması aşağıda verilmiştir. Deneysel sonuçların güvenilirliğini sağlamak için her segment aralığının sayısı yeterince büyüktür (burada sayı 0.0001 aralığında alınmıştır) ve sonuçlar Tablo 1'de gösterilmiştir.

Tablo 1'den, Sigmoid fonksiyonuna yaklaşmak için üçüncü dereceden polinom kullanıldığında, dördüncü dereceden türev fonksiyonunun değerine atıfta bulunan segmentasyon işleme yönteminin, ortalama mutlak hata ve ortalama kare hatası açısından eşit aralıklı segmentasyondan daha iyi olduğu sonucuna varılabilir. İşleme metodu. Genel aralığa bakıldığında, ortalama mutlak hata% 51,4 ve ortalama kare hatası% 71,9 azalmaktadır.

Sigmoid işlevinin 2 FPGA uygulaması

Yüksek hassasiyetli uydurma gereksinimlerini elde etmek için, bu makale Sigmoid fonksiyonuna üçüncü dereceden bir polinom kullanarak uydurmak için Tablo 1'deki türev tabanlı bölümleme yöntemini kullanır ve Şekil 2'de gösterildiği gibi FPGA uygulama yapısını verir. Üçüncü dereceden polinomun y = Ax3 + Bx2 + Cx + D olduğunu ve FPGA'daki hesaplama sürecinin şöyle olduğunu varsayalım:

(1) Katsayıyı alın. Her segmentteki A, B, C ve D katsayıları önceden RAM'de saklanır ve karşılık gelen katsayılar A, B, C ve D, x girilerek çıkarılır.

(2) Cx ve x2'yi hesaplayın.

(3) Cx + D, Bx2 ve x2'yi hesaplayın.

(4) Bx2 + Cx + D ve Ax3'ü hesaplayın.

(5) Ax3 + Bx2 + Cx + D'yi hesaplayın.

(6) Çıkarma için 1'i ve adım (5) 'in sonucunu kullanın.

(7) Seçici. X girişi negatif olmayan bir sayı olduğunda, çıktı (5) adımının sonucudur; x girişi negatif bir sayı ise, çıktı (6) adımının sonucudur.

Yukarıdaki tüm çarpanlar, toplayıcılar ve çıkarıcılar, Xilinx tarafından sağlanan 32 bitlik tek hassasiyetli kayan noktalı IP çekirdeği kullanılarak tasarlanmıştır.Tüm algoritma bir boru hattı yapısı kullanır.Veri girildikten sonra, hesaplama sonucu 10 döngü gecikmeden sonra elde edilir. Spesifik deneysel veriler Tablo 2'de gösterilmektedir.

Deney sırasında, FPGA üzerinde algoritma ile hesaplanan sonuçlar ile Sigmoid fonksiyonunun gerçek değeri (doğruluk deneyin doğruluğundan çok daha yüksektir) karşılaştırılarak Tablo 1'deki hata sonuçları elde edilmiştir. Tablo 1'deki hata sonuçlarıyla karşılaştırıldığında, Tablo 2'deki hata sonuçları ortalama mutlak hata açısından biraz yetersizdir çünkü FPGA'da kullanılan 32 bitlik tek duyarlıklı kayan noktalı sayılar MATLAB'da kullanılan 64 bitlik çift kesinlikten doğruluk açısından farklıdır. Kayan nokta, bu nedenle ikisi arasında küçük bir fark vardır, ancak bu, algoritmanın doğruluğunu etkilemez.

Türev tabanlı bölümleme yöntemini kullanmak ve FPGA'da üçüncü dereceden polinom uydurma şemasını kullanmak, klasik CORDIC algoritmasından ve parçalı doğrusal yaklaşım yönteminden daha fazla kaynak kullanır, ancak bu uydurma şeması algoritmanın doğruluğunu sağlar 10-5 sırasına göre, her alt bölüm aralığı 10-6 sırasına bile ulaşır. Elbette, daha yüksek dereceli polinom yaklaşımının kullanılması teorik olarak daha yüksek doğruluk sağlayabilir, ancak bu maliyet daha fazla donanım kaynağı tüketecektir. Sigmoid fonksiyonunun işleme sonuçları üzerinde bu yazıda kullanılan parçalı doğrusal olmayan yaklaşım yönteminin doğruluğu, mevcut literatürdeki diğer iki algoritmanın elde ettiği doğruluktan çok daha büyüktür. Ve daha yüksek doğruluk elde etmek için CORDIC algoritması, hesaplama hızını azaltmak için yineleme sayısını büyük ölçüde artıracak ve parçalı doğrusal yaklaşım, depolama kaynaklarını büyük ölçüde artıracaktır.

3 Sonuç

Yapay sinir ağlarında en yaygın olarak kullanılan Sigmoid işlevini hedefleyen bu makale, Sigmoid işlevinin simetrik doğası ve düzensiz türevin özellikleri ile birlikte geleneksel parçalı doğrusal olmayan yaklaşım yöntemini benimser ve makul bir bölümleme yöntemi sunar. Sayısal analizde klasik en küçük kareler yöntemi, segment aralığında uydurma yaklaşımı ilkesi olarak kullanılır ve ilk segment aralığı ve yaklaşım polinomunun uydurma sonucunun doğruluğu üzerindeki etkisi elde edilir. Yukarıdaki yönteme göre, Sigmoid fonksiyonunun bu aşamada yüksek hızlı ve yüksek hassasiyetli işleme gereksinimlerini gerçekleştiren, 10-5 büyüklük sırasına sahip bir doğrulukla Sigmoid işlevinin uygun bir şeması verilmiştir.

Referanslar

JAIN V K, LIN L.Doğrusal olmayan fonksiyonların yüksek hızlı çift hassasiyetli hesaplaması // Bilgisayar Aritmetiği Sempozyumu IEEE Computer Society, 1995: 107.

MOLZ R F, ENGEL P M, MORAES F G, ve diğerleri.Bir sınıflandırma problemi için tamamen paralel sinir ağının kod işareti.

LEBOEUF K, NAMIN A H, MUSCEDERE R, ve diğerleri. Hiperbolik tanjant sigmoid fonksiyonunun yüksek hızlı VLSI uygulaması // Uluslararası Yakınsama ve Hibrit Bilgi Teknolojisi Konferansı.IEEE, 2008: 1070-1073.

Wan Shuqin, Chen Wanfeng, Huang Songren, vb. Geliştirilmiş CORDIC algoritmasına dayalı yüksek hızlı doğrudan dijital frekans sentezleyicinin gerçekleştirilmesi Chinese Journal of Scientific Instrument, 2010, 31 (11): 2586-2591.

OUALI J, SAUCIER G. Hızlı nesil nöro-ASIC'ler // Uluslararası Sinir Ağı Konferansı. 1990.

ARMATO A, FANUCCI L, SCILINGO E P, et al. Yapay nöron aktivasyon fonksiyonlarının ve türevlerinin düşük hatalı dijital donanım uygulaması. Mikroişlemciler ve Mikrosistemler, 2011, 35 (6): 557-567.

BASTERRETXEA K, TARELA J M, DEL CAMPO I. Yapay sinir ağları için Sigmoid yaklaşımlayıcının sayısal tasarımı. Electronics Letters, 2002, 38 (1): 35-37.

XIE ZZ, ZHANG S YA sigmoid fonksiyonuna dayalı doğrusal olmayan yaklaşım FPGA // Proceedings of the 2011, International Conference on Informatics, Cybernetics ve Computer Engineering (ICCE2011) November 19-20, 2011, Melbourne, Australia. Springer Berlin Heidelberg , 2011: 221-223.

yazar bilgileri:

Song Yukun, Gao Xiaohang, Zhang Duoli, Du Gaoming

(Mikroelektronik Tasarım Enstitüsü, Hefei Teknoloji Üniversitesi, Hefei 230009, Anhui)

"The Spirit of Sima Qian" sonsuza kadar sürecek, röportaj ekibinin üyeleri Shaanxi'nin zengin bir geçmişe sahip olduğundan yakınıyor
önceki
Huawei, yeni bir cep telefonu dünyasının kapısını mı açıyor?
Sonraki
İlk araba ikinci el mi yoksa birinci el mi alınmalıdır?
"Blog post serial" PCB tasarımında 3W ilkesi nedir?
"Eski sevgiliden kurtul"! "Cesur Oyun" gişesi ağızdan ağıza "çift taç"!
Sadece Roewe i6'ya hizmet edeceğim
"Endüstri Sıcak Noktaları" Uluslararası Yarı İletken Endüstrisi Derneği, "Kalite Teknolojisi Çalışma Grubu" nu kurdu
"Blade Kill Girl: Different Cloth" 4 dakikalık savaş demosu
Satış büyümesi sektörü aştı Aeolus SUV Üç Silahşörler Central Plains'i aşmak mı istiyor?
Dinamik frekansa dayalı en uygun çip alanı güç tüketimi tasarımı
Arabalı ve arabasız hayattaki fark ne kadar büyük?
Kök oyma ustaları, sakatların harika hayatlarını oyuyorlar ama terk edilmemişler
Çevrimiçi çok oyunculu gibi ayrıntıları gösteren "Cave Adventure 2" oyun fragmanı
Ali "Cat Mall" adlı bir alışveriş merkezi açmak istiyor; Çin'in 4000 km / s azami hız ile süper hızlı tren planı | Lei Feng Morning Post
To Top