"New Neural", MetaTrader 5 platformu için bir sinir ağı motorunun Açık Kaynak projesidir. - sayfa 71

 
joo :

Nöronların eğitimini mikro seviyeler (GA'da bağımsız dizi işleme döngüleri, bireysel ağ nöronlarının hesaplanması, vb.) ve makro seviyeler (tüm FF) olarak düşünürsek, ilki ile ilgili herhangi bir soru veya sorun yoktur - her şey mükemmel bir şekilde paralel ve GPU'da harika çalışacak.

Ancak makro düzeyde bir sorun var. İlk olarak, GPU'da işlenen bilgi miktarındaki kısıtlamalar nedeniyle bunun mümkün olmadığından şüpheleniyorum. Tam zamanlı bir test cihazı ve bulut kullanarak bu sorunu aşmak mümkün olacaktır (her makro düzeyi ayrı aracılara iletilecektir ve zaten mikro düzeyde işlenecektir - tabii ki ana bilgisayar izin verirse). Ancak harici bir GA kullanmak için test cihazını dışarıdan kontrol etmemize izin veren araçlarımız yok.

Bu nedenle, kendimizi mikro düzeyde ivme ile sınırlamamız gerekecek. Hızlanma da çok iyi olacaktır, çünkü gridler ve GA birbirinden bağımsız hesaplamalarla doludur.

UGA'nın kendisine gelince - OpenCL altındaki iyileştirmesine dokunmazsanız , o zaman pratikte geliştirilecek hiçbir şey yoktur (belki de kodun bazı bölümleri hariç, ancak bu, tartışmaya katılanlar sayesinde hava durumunu yapmayacaktır) makaleden algoritmanın iş parçacığı). Yalnızca eğitim ağları için özel olarak UGA ayarlarını seçmeyi deneyebilirsiniz.


Modern GPU'larda en az 1 GB RAM bulunur

Daha büyük bir eğitim örneği hakkında çok az fikrim var

Makro düzeyinde her şey yolunda - işaretli)

GA için aşağıdaki mimariyi kullanmak mantıklıdır: CPU'da GA'nın kendisi ve GPU'da yoğun FF hesaplamaları

 
onun.insan :

MT5 için ufak bir kullanım örneği alabilir miyim?


Neyin örneği? Sinir ağı göstergesi, sinir ağı stratejisi, ... ?
 
yu-sha :

Modern GPU'larda en az 1 GB RAM bulunur

Daha büyük bir eğitim örneği hakkında çok az fikrim var

Yanılmıyorsam, modern video kartlarında iki tür işletim belleği vardır - birkaç GB olabilen ve oldukça yavaş olan ortak bir bellek ve her bir GPU işlemcisinin sahip olduğu - hızlı, ancak az miktarda birkaç yüz KB. Sorunun burada ortaya çıkabileceğini düşündüm.

yu-sha :

Makro düzeyinde her şey yolunda - işaretli)

Ama sen öyle diyorsan, o kelimeye inanıyorum ve şimdi sakinim. :)

yu-sha :

GA için aşağıdaki mimariyi kullanmak mantıklıdır: CPU'da GA'nın kendisi ve GPU'da yoğun FF hesaplamaları

Eh, bu dedikleri gibi, bir teknoloji meselesi. Öyle olabilir. Bildiğim kadarıyla OpenCL, hesaplamaların hangi çekirdekler üzerinde yapılacağını kodda seçmenize izin veriyor - CPU veya GPU'da.

 
yu-sha :
Neyin örneği? Sinir ağı göstergesi, sinir ağı stratejisi, ... ?
Serbest (tamamen bağlı olmayan) bir ağ mimarisi nasıl ayarlanır, girdi nereye uygulanır, çıktı nereden alınır, ağırlıklar nerede?
 
joo :

Yanılmıyorsam, modern video kartlarında iki tür işletim belleği vardır - birkaç GB olabilen ve oldukça yavaş olan ortak bir bellek ve her bir GPU işlemcisinin sahip olduğu - hızlı, ancak az miktarda birkaç yüz KB. Sorunun burada ortaya çıkabileceğini düşündüm.

Genel "yavaş", CPU için DDR'nin tam analogudur (~ 0.75 - 1.00 GHz - çok yavaş değil)

Hızlı, CPU önbelleğine benzer.

GPU'lar, CPU'nun aksine (belki yanılıyorum, ama bir şekilde böyle bir soruyla uğraşmak zorunda kalmadım) bu çok çip üzerinde (önbellek) belleği yönetmenize izin veriyor.

Ancak tüm bunlar ek optimizasyon sorularıdır, onlarsız yaşayabilirsiniz

 

onun.insan :

yu-sha :
Neyin örneği? Sinir ağı göstergesi, sinir ağı stratejisi, ... ?
Serbest (tamamen bağlı olmayan) bir ağ mimarisi nasıl ayarlanır, girdi nereye uygulanır, çıktı nereden alınır, ağırlıklar nerede?

Evet, evet, böyle bir itme örneğimiz olurdu ve sonra çözeriz.

Standart bir GA ve bir bulut, FF'nin hesaplanmasını paralelleştirmeye yardımcı olacaktır. Ayrıca, Renat şunları vaat etti:

Çalışmaz, test cihazı GA 64 arama biti ile sınırlıdır ve her ağırlık için ağırlıkları eğitmek için 16-64 bit gerekir (aramanın doğruluğuna bağlı olarak) ve ağırlıklar .. ... birkaç bin veya belki on ve yüz binlerce . UGA bunu oldukça iyi halledebilir, ancak test cihazı bunu yapamaz.

Yani ya GA'yı yükseltmek için MQ'yu tekmeleyin (ki bunu iki yıldır başarısız bir şekilde yapıyorum) ya da UGA'yı gömün, ancak bir kümeden çok daha yavaş olacaktır.

 
yu-sha :

Genel "yavaş", CPU için DDR'nin tam analogudur (~ 0.75 - 1.00 GHz - çok yavaş değil)

Hızlı, CPU önbelleğine benzer.

GPU'lar, CPU'nun aksine (belki yanılıyorum, ama bir şekilde böyle bir soruyla uğraşmak zorunda kalmadım) bu çok çip üzerinde (önbellek) belleği yönetmenize izin veriyor.

Ancak tüm bunlar ek optimizasyon sorularıdır, onlarsız yaşayabilirsiniz

Mesele bu değil, bellek bellektir, ancak GPU'da nesne mantığının püf noktalarını uygulamak zor olacak, içinde GPU hesaplama işlevlerinin bulunduğu nesnelerin karmaşık bir etkileşimi olarak NN'nin nasıl uygulanacağını oldukça iyi hayal ediyorum (bu mikro seviyelerle ilgilidir), ancak nesne kodunun tüm NS'yi GPU'ya farklı ağırlık setlerine (makro seviye) sahip birkaç FF olarak kaydırmasının ne kadar karmaşık olduğunu hayal edemiyorum ???

Soru retoriktir, ancak herhangi biri dinlemeye istekliyse.

 

Şu anda, çılgın bir küçük düşünce atışı:

belki MQ'ya sor   Küme görev API'sı ???

Test cihazını atlayarak görevi doğrudan MQL5'ten dağıtmak için. Görev kesinlikle zor, çok sayıda kontrol yüklemeniz gerekiyor, ancak çözülebilir.

Tehdit ne dersiniz yegenlerim, çok yüksekte sallanmıyor mu? salkım elbette kutsal bir inektir, ancak sürülmesi gerekir.

 
Ukrayna :

Evet, evet, böyle bir itme örneğimiz olurdu ve sonra çözeceğiz.

Örnek 1:

Sorunun formülasyonu:

- kaynağı mevcut olmayan (veya "yeniden çizim" göstergesi olan - bu arada, NN için iyi bir öğretmen olan) göstergenin algoritmasını geri yüklemek gerekir, ancak her çubuktaki değerler bilinmektedir

- gösterge değerleri (-1;+1) aralığında

Giriş verileri:

- bu göstergenin son 10 kapanış fiyatını kullandığını biliyoruz (şüpheli?)


Örnek #2:

Sorunun formülasyonu:

- geçmiş segmentinde en iyi (Karı/MaxDD'yi maksimize eden) ticaret yapan bir sinir ağı ticaret stratejisi seçmek gereklidir

Giriş verileri:

- MACD (13.35), MACD (50.100), RSI(8), RSI(13) normalleştirilmiş değerleri

Örnek #3:

Sorunun formülasyonu:

- sinir ağına çarpım tablosunu öğretin

Giriş verileri:

- (-1;+1) aralığında x,y çarpanları

Örneğinizi sunabilirsiniz ve mümkünse ağ mimarisini XML olarak göstereceğim.

 
yu-sha :

Siz örneğinizi sunabilirsiniz ve mümkünse ağ mimarisini XML olarak göstereceğim.

ve en önemlisi bu mimarinin nasıl oluşturulduğu, XML dosyasının nasıl oluşturulduğu.