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

 
Nöro Açık Kaynak :
Kodlanacak bir şey olurdu. Hala uygulama planını tartışacağımız proje yöneticisini bekliyoruz.

Son olarak, bir seçenek olarak, aynı soursforge'a kaydolabilir ve başlayabilirsiniz ...

Ama Metaquotes doğru ortamı ortaya çıkarana kadar beklemek muhtemelen daha iyidir.

 
Bu arada, paralelleştirme hakkında düşünmek güzel olurdu. Ama nasıl uygulanacağı hakkında hiçbir fikrim yok.
 
TheXpert :
Bu arada, paralelleştirme hakkında düşünmek güzel olurdu. Ama nasıl uygulanacağı hakkında hiçbir fikrim yok.
NN eğitiminin paralelleştirilmesinden mi bahsediyorsunuz? Bunun yapılabileceğini sanmıyorum. ağlar komitesi bir şekilde paralelleşmedikçe
 
TheXpert :
Bu arada, paralelleştirme hakkında düşünmek güzel olurdu. Ama nasıl uygulanacağı hakkında hiçbir fikrim yok.

Andrey, özyineleme ile ilgili mesajınızı kontrol ettim, haklısınız, özyineleme 1,5 kat daha yavaş çalışır ve derinliği sınırlıdır, bu nedenle döngüler kesinlikle kazandı.


Grafik işlemcisi için bir API olana kadar paralelleştirme konusunda endişelenmeyin, tüm bunlar hiç de fena değil, sinir ağları onları çekirdekler arasında paralel hale getirmek için çok basit görevlerdir (yüzlerce döngüden oluşan bir iş parçacığı olarak adlandırın).

PS MQ en azından sinir ağları için gerekli API'yi vermedikçe, ancak bu evrensel ağın resmileştirilmesini gerektirir, ki burada aslında yaptığımız şey budur. Bu yüzden önce proje, ardından kapıya çekiçle GPU için API verin.

 

5. sayfada önerilen koda açıklayıcı bir resim çizdim:

sarı , bağlantılı bellek hücreleridir (veya daha doğrusu, farklı bellek nesnelerine basit bir bağlantısı olan aynı bellek hücresidir),

gerisi, bellek nesnesi ilişkileri, kırmızı sonraki, yeşil önceki, mavi taraf.

okun yönü, işaretçinin geçtiği yönü gösterir.

gecikme operatörü bellek konumu sıfır, çıkış belleği konumu olarak kullanılır.


Bellek ters sırada bağlanır, çünkü bir girişin yalnızca bir çıkışı vardır (verileri aldığı yerden), ancak bunun tersi yoktur.

ZY Eh, muhtemelen sezgisel olarak, dairelerin girdiler, ağırlık kareleri, üçgenler geciktirme operatörü olduğu açıktır (Z operatörünün sıfır hücresi, bir nöronun çıkışıdır).

ZZY Artık son şemayı değiştirmeyeceğim: o)

 

1. IMHA, en önemli şey ticarette uzmanlaşmadır ve burada girdi verilerinin ön işlemesinin sistematizasyonu önemlidir. Temel fiyat eylemlerinin sinyalleri, hem kesikli sinyaller (örneğin, belirli bir aşırılığın kırılması veya belirli bir eşiğin üzerinde bir fiyat değişikliği) hem de sürekli olanlar (örneğin, arasındaki mesafe) biçiminde girdilere gönderilmelidir. 2 tik veya bir süre içinde fiyat değişikliği). Tabii ki, NN'nin kendisi sürekli ayrık öğrenmeden alabilir, ancak daha sonra bir kara kutuya girer ve bu her zaman gerekli değildir. Genel olarak, girdilerin, fiyat hareketi hesaplamasının sanal bir yöntem olarak tanımlanacağı ve kullanıcıların önceden yazılmış olanlardan seçim yapabilmeleri veya bunları kendilerinin yazabilmeleri için ayrı bir sınıfa ihtiyacı vardır.

2. Standart Uzman Danışman, temel fiyat-eylem sinyalleri ve bunlarla Boole cebri ile aynı işe sahiptir (ve/veya/veya değil). Bu nedenle, standart bir Uzman Danışman, belirli bir topoloji ve ağırlık ayarlarının bir sinir ağı olarak da tanımlanabilir. Belki de iyi bir seçenek, standart Uzman Danışmanların otomatik NN'ye dönüştürülmesi (bunu yapmak zor :)) veya en azından Boolean mantık şablonlarını kullanarak NN tasarlama fırsatı vermektir. Mantıksal bir yapı oluşturmak için bir başlangıç noktası vermek için NS ticareti yapın ve sadece bir topolojiye sahip bir dizi katman değil.

Oluşturulan NS'ye Boole cebirinin öğelerini eklemenin yanı sıra. Örneğin, bir NS kurduk ve basit bir filtrenin üzerindeki etkisini kontrol etme arzusu var, örneğin, sadece fiyat MA200'ün üzerindeyken alım satım yapıyoruz ve tam tersi satıyoruz. Elbette yeni bir girdi sunabilir ve ağı yeniden eğitebilirsiniz, vb. Veya bu filtreyi sadece boole mantığı biçiminde ekleyebilir ve sonucu nasıl etkilediğini kontrol edebilirsiniz.

Onlar. bir araç tasarlamanın farklı aşamalarında bir kişi için sezgisel olarak anlaşılabilir Boole mantığını ve NN'yi birleştirmekten bahsediyoruz.

3. Sonraki eğitimlere katılmamaları için bazı bağlantıları düzeltmeyi mümkün kılmak mantıklıdır. Onlar. sistemin sık sık yeniden inşa edilmemesi gereken bir omurgası var, ancak daha sık uyarlanan bir parçası var. Tüm ağırlıkları yeniden eğitmek, formda bir artıştır.

4. 3. maddenin değişmeyen omurgasının otomatik olarak tahsis edilebilmesi kötü değil. Onlar. Örneğin bir test sitemiz var. N parçaya bölünmüştür. NN, her biri üzerinde sırayla eğitilir, ancak NN'nin sabitlenmiş bir kısmı kalacak şekilde (her bölümde yeniden eğitilmez) eğitilir.

Onlar. Buradaki nokta, mevcut pazara minimum düzeyde uyum gerektiren sağlam sinir ağları oluşturmaktır.

5. hedef öğrenme işlevi d.b. tahminde (işlemlerde) bireysel başarılar değil, öz sermaye eğrisinin bir özelliğidir. Kar faktörü ör. veya kullanıcı tanımlı

6. Tüm bunlar ve diğer özelliklerin uygulanması için Ulusal Meclis'i tasarlamak için görsel bir arayüze ihtiyacınız var.

 

tamamen yeni başlayanlar için, http://www.basegroup.ru/library/analysis/neural/fastneuralnet/ gibi bazı açık kaynaklı nesne yönelimli modelleri düşünebilirsiniz.

Analoji ile ne yapmak mantıklıdır, ticaret ve MQL5'in özellikleri verilen dezavantajlar nelerdir. Ya da tekerleği yeniden icat etmemek için açık kodlu daha gelişmiş bir model :)

BaseGroup.ru :: NeuralBase - нейросеть за 5 минут
  • basegroup.ru
Библиотека компонентов , предназначена для программной реализации нейронных сетей. В качестве примера, созданы компоненты реализующие две нейросетевые парадигмы: рекуррентную нейронную сеть, в нашем случае – это сеть Хопфилда и многослойную нейронную сеть обучаемую по алгоритму обратного распространения ошибки (back propagation). Основным...
 
Avallar :

1. IMHA, en önemli şey ticarette uzmanlaşmadır ve burada girdi verilerinin ön işlemesinin sistematizasyonu önemlidir. Temel fiyat eylemlerinin sinyalleri, hem kesikli sinyaller (örneğin, belirli bir aşırılığın kırılması veya belirli bir eşiğin üzerinde bir fiyat değişikliği) hem de sürekli olanlar (örneğin, arasındaki mesafe) biçiminde girdilere gönderilmelidir. 2 tik veya bir süre içinde fiyat değişikliği). Tabii ki, NN'nin kendisi sürekli ayrık öğrenmeden alabilir, ancak daha sonra bir kara kutuya girer ve bu her zaman gerekli değildir. Genel olarak, girdilerin, fiyat hareketi hesaplamasının sanal bir yöntem olarak tanımlanacağı ve kullanıcıların önceden yazılmış olanlardan seçim yapabilmeleri veya bunları kendilerinin yazabilmeleri için ayrı bir sınıfa ihtiyacı vardır.

Vay, bunun hakkında yazdım. Gerçek biraz farklı bir şekilde. Giriş fiyatı hareketinin nasıl görüneceğine dair küçük ve basit bir örnek verebilir misiniz?

Oluşturulan NS'ye Boole cebirinin öğelerini eklemenin yanı sıra. Örneğin, bir NS kurduk ve basit bir filtrenin üzerindeki etkisini kontrol etme arzusu var, örneğin, sadece fiyat MA200'ün üzerindeyken alım satım yapıyoruz ve tam tersi satıyoruz. Elbette yeni bir girdi sunabilir ve ağı yeniden eğitebilirsiniz, vb. Veya bu filtreyi sadece boole mantığı biçiminde ekleyebilir ve sonucu nasıl etkilediğini kontrol edebilirsiniz.

Neden web'e koydun? Bu, bir ağ olmadan bile kontrol edilmesi kolay ve basittir ...

Onlar. bir araç tasarlamanın farklı aşamalarında bir kişi için sezgisel olarak anlaşılabilir olan boole mantığını ve NN'yi birleştirmekten bahsediyoruz.

Neden o zaman NS? IMHO, NS her durumda girdileri çıktılara dönüştüren bir kara kutu olarak düşünülmelidir.

3. Sonraki eğitimlere katılmamaları için bazı bağlantıları düzeltmeyi mümkün kılmak mantıklıdır. Onlar. sistemin sık sık yeniden inşa edilmemesi gereken bir omurgası var, ancak daha sık uyarlanan bir parçası var. Tüm ağırlıkları yeniden eğitmek, formda bir artıştır.

Ve neye dayanarak? Eh, topoloji değiştirilebilir (heh :)). Miktarı azaltabilirsiniz. Ama sadece özenle seçilmiş sinapsları eğitmek için...

4. 3. maddenin değişmeyen omurgasının otomatik olarak tahsis edilebilmesi kötü değil. Onlar. Örneğin bir test sitemiz var. N parçaya bölünmüştür. NN, her biri üzerinde sırayla eğitilir, ancak NN'nin sabitlenmiş bir kısmı kalacak şekilde eğitilir (her bölümde yeniden eğitilmez).

Evet, sadece yapıştırma işini kontrol edin. Bu tür entrikalarla zaten fiti çıkarmayacaksınız.

Onlar. Buradaki nokta, mevcut pazara minimum düzeyde uyum gerektiren sağlam sinir ağları oluşturmaktır.

5. hedef öğrenme işlevi d.b. tahminde (işlemlerde) bireysel başarılar değil, öz sermaye eğrisinin bir özelliğidir. Kar faktörü ör. veya kullanıcı tanımlı

Bu işe yaramayacak. Tüm girdiler bir stratejiye aktarılamaz. Yine de, NS, TS'den ayrılmıştır, genellikle bağımsızdırlar. Ancak bu, eğitim örneğinin girdi/çıktılarının oluşumu düzeyinde yapılabilir.

_________________________________

Ya da belki farklı hedefler belirlemeniz gerekir.

 
TheXpert :

Vay, bunun hakkında yazdım. Gerçek biraz farklı bir şekilde. Giriş fiyatı hareketinin nasıl görüneceğine dair küçük ve basit bir örnek verebilir misiniz?

bool F1(int nokta){

if (Yüksek[0]> iYüksek (NULL,0,MODE_HIGH,dönem,1)) return(true); başka dönüş(yanlış);

}

çift F2(int ma1P,int ma2P){

dönüş(iMA(..ma1P ...)-iMA(...ma2P....));

}

TheXpert :

Neden web'e koydun? Bu, bir ağ olmadan bile kontrol edilmesi kolay ve basittir ...

Neden o zaman NS? IMHO, NS her durumda girdileri çıktılara dönüştüren bir kara kutu olarak düşünülmelidir.

NN ve geleneksel mantığı birleştirir. NN, örneğin filtreleme gibi ticaret görevinin yalnızca bir kısmını çözebilir ve çalışmasının sonucu ya satın almak ya da satmak için takas edilir ya da hiçbir şey için ticaret yapmayız. Ancak giriş ve çıkış noktası ve diğer filtreler standart boole mantığında yer alabilir. Boolean kısmı olmadan çalışmaması gerekiyorsa (kar verin veya fiyat değişikliklerini tahmin edin) ihtiyacımız olan NN'yi nasıl eğitiriz? Onlar. sinir ağını öğrenmenin her adımı, ayrıca boole mantığında algoritmanın başlatılmasını da içermelidir.

TheXpert :

Ve neye dayanarak? Eh, topoloji değiştirilebilir (heh :)). Miktarı azaltabilirsiniz. Ama sadece özenle seçilmiş sinapsları eğitmek için...

neden? :) Örneğin, her biri temelde farklı sorunları çözen birkaç Ulusal Meclisten oluşan bir komite. Mutlaka aynı örnekler üzerinde ve aynı sıklıkta öğrenmeleri gerekmez mi? Farklı görevler farklı eğitim süreleri gerektirir.

Örneğin, bir trendi/düzlüğü oldukça iyi ortaya koyan NS burada. Farklı projelerde kullanabilir ve örneğin diğer NS'ye ekleyebilirsiniz. Ancak onları her yeniden eğitmeniz gerektiğinde onları yeniden eğitmeyin.

TheXpert :

Evet, sadece yapıştırma işini kontrol edin. Bu tür entrikalarla zaten fiti çıkarmayacaksınız.

Sanırım Ulusal Meclis için işe yarayacak tek yol bu :)

TheXpert :

Yine de, NS, TS'den ayrılmıştır, genellikle bağımsızdırlar. Ancak bu, eğitim örneğinin girdi/çıktılarının oluşumu düzeyinde yapılabilir.

neden birleştirilemezler? Daha sonra NN, görevlerin yalnızca bir kısmını çözecek, ancak tüm sistemin bir parçası olarak öğrenecektir. Ve genel olarak, stratejiyi optimize etme sürecini ve bunun bir parçası olan NN'yi öğrenme sürecini birleştirmek, çünkü bu aslında aynı şeydir. Onlar. örneğin, test cihazının her çalışmasıyla, sinir ağı test örneğinde eğitilir. Tabii ki, NN bağımsız bir tahmin edici değilse)) fiyatlar, ancak sistemin genel mantığının yalnızca bir parçasıysa bu mantıklıdır.

 

Numara. Bu işe yaramayacak.

Böyle konuşmak demagojidir. Genel olarak, birbirimizi anlamadan ve yaklaşık olarak aynı demeden farklı şeyler hakkında konuşabiliriz.