Ticarette sinir ağlarını kullanma - sayfa 39

 

"Öncülerin" olmaması üzücü. kazacağım...

 
Fourier'in bir benzeri olan Hartley dönüşümünü denedim. Görevi, zaman içinde "geçmişe" kaydırılan dikdörtgen bir pencere işlevi kullanacak şekilde ayarladım. Elde edilen vektörleri bileşenlere ayırın ve bunları NN'ye girmek için kullanın. Tahmin olarak - spektral bileşenlerde bir değişiklik, ardından ters bir dönüşüm. Öngörülen spektrumun elde edilen ters dönüşümü göstergede kullanılmıştır. BURADA daha ayrıntılı olarak açıklanmıştır.
 

Bu ilginç makaleyi okudum.

Beyni bir sinir ağı olarak yapılandırma ilkesiyle ilgileniyordum - ilk önce, kalitesine fazla dikkat etmeden çok sayıda her türlü bağlantı toplanır, ardından seçim "her şeyi kaldırırız" ilkesine göre başlar. sonuca ulaşmak için gerekli değildir."

Böyle bir yaklaşımın hem aşırı eğitim hem de tabiri caizse "yapısal yetersizlik" ile mücadeleye yardımcı olması oldukça olasıdır.

Bu bağlamda soru şudur: NS teorisinde benzer bir ilkeye ilişkin çalışmalarla karşılaşan var mı?

 
alsu :

Bu ilginç makaleyi okudum.

Beyni bir sinir ağı olarak yapılandırma ilkesiyle ilgileniyordum - ilk önce, kalitesine fazla dikkat etmeden çok sayıda her türlü bağlantı toplanır, ardından seçim "her şeyi kaldırırız" ilkesine göre başlar. sonuca ulaşmak için gerekli değildir."

Böyle bir yaklaşımın hem aşırı eğitim hem de tabiri caizse "yapısal yetersizlik" ile mücadeleye yardımcı olması oldukça olasıdır.

Bu bağlamda soru şudur: NS teorisinde benzer bir ilkeye ilişkin çalışmalarla karşılaşan var mı?

Katsayılarda küçük bir mutlak değer bulunduğunda "ağ incelmesi" olan bir şey gördüm.

Ama öyle ki onlarca kez ve öyle ki temel ilke olarak "büyük, çok büyük bir fazlalık sonra indirgeme" - Bunu görmedim. karıştırmak ister misin?

İlgilenirim. Sadece bilgi işlem kaynakları yeterli olmayacaktır. // GPU'yu nasıl uyarlayacağımı hayal edemiyorum - yalnızca aynı tür şemaları hesaplamak faydalıdır, ancak burada her seferinde farklı bir ağ topolojisi.

 

MetaDriver :

karıştırmak ister misin?

İstemek. Ancak şimdilik şunu düşünüyorum: Hangi indirgeme algoritmasının kullanılacağını anlamak için dikkatlice düşünmemiz gerekiyor. İlk fikir, mutlak değerle gerçekten kırımıdır ve eşiği, halihazırda sunulan örneklerin sayısına bağlı hale getirir: eğitim örneği ne kadar büyükse, bağlantıların hayatta kalması o kadar zor olur.

 
MetaDriver :
GPU'yu nasıl uyarlayacağımı hayal edemiyorum - orada yalnızca aynı tür şemaları hesaplamak faydalıdır, ancak burada her seferinde farklı bir ağ topolojisi.
Aynı tür ve donanım uygulandı. Paralel hesaplamanın etkinliği genellikle büyük ölçüde abartılır, aslında (gerçek hesaplamalar vardır ve hatta bu konuda doktora hesapları savunulmaktadır) genel durumda, sıralı olanlardan bile daha yavaştırlar; Bunun nedeni, veri aktarımı için harcanan zamandır.
 
alsu :
Aynı tür ve donanım uygulandı. Paralel hesaplamanın etkinliği genellikle büyük ölçüde abartılır, aslında (gerçek hesaplamalar vardır ve hatta bu konuda doktora hesapları savunulmaktadır) genel durumda, sıralı olanlardan bile daha yavaştırlar; Bunun nedeni, veri aktarımı için harcanan zamandır.

Hemen anlaşamam. Ayrıntıları iyi anlarsanız, GPU'yu bazı görevlerden yüzlerce kat daha yüksek atış hızı elde etmek için tasarlayabilirsiniz. Bu nedenle, kapsamlı hesaplamalarla, sorunu çok " bazılarının" sınıfına indirgemeye çalışmak her zaman mantıklıdır. Eğer işe yararsa, getirisi çok büyük olabilir. Değilse, o zaman hayır - geleneksel bir işlemcide sırayla sayılır.

--

Örneğin, çok sayıda eğitim örneğine sahip aynı tip (aynı topoloji ile) sinir ağlarının genetik optimizasyonu son derece faydalıdır (ateş hızı onlarca ve yüzlerce kat daha fazladır). Tek sorun, her topolojinin yeni bir OpenCL programına ihtiyaç duymasıdır. Bu, temel ocl şablonları oluşturularak ve belirli bir topoloji için otomatik olarak (programlı olarak) yeni bir ocl programı oluşturularak çözülür.

Bu arada. Yukarıdakileri yazarken, sorununuzu GPU için faydalı bir hesaplama sınıfına nasıl indireceğiniz fikri geldi. Bunu yapmak için, indirgemeyi aşamalar halinde gerçekleştirmek gerekir: her aşamada, her şeyi bir OCL programı kullanarak hesaplayın, ancak katsayıları sıfırlayarak (esas olarak simüle ederek) azaltmayı gerçekleştirin. Ve yeni aşama için, önceki aşamanın indirimlerinin programda zaten "yazıldığı" yeni bir program oluşturun. Vb. Ancak genetik "eğitim" kullanırsanız durum budur.

 
MetaDriver :
Hemen anlaşamam. Ayrıntıları iyi anlarsanız, GPU'yu bazı görevlerden yüzlerce kat daha yüksek atış hızı elde etmek için tasarlayabilirsiniz. Bu nedenle, kapsamlı hesaplamalarla, sorunu çok " bazılarının" sınıfına indirgemeye çalışmak her zaman mantıklıdır. Eğer işe yararsa, getirisi çok büyük olabilir. Değilse, hayır - geleneksel bir işlemcide sırayla sayın.

Kritik, hatırladığım kadarıyla, ana döngüde paralelleştirilmiş görevlerin yürütme süresinin paralelleştirilmemiş olanların (veri hazırlama, veri aktarımı) zamanına oranıdır ve paralellik ne kadar yüksek olursa, bunun için gereksinimler o kadar katı olur oran. Bu nedenle, algoritmayı sadece "paralel-filik" e indirgemek için çabalamak değil, aynı zamanda paralel olmayan kısmı da en aza indirmek gerekir.

Örneğin, şu anda moda olan (ve bu arada, ilk beşte uygulanan) bulut bilişimde, transfer süresi nedeniyle kazançlardaki sınırlar çok ciddi. Ancak adil olmak gerekirse, yalnızca bulut ağı en az yüzde onlarca yüklendiğinde görüneceklerini not ediyorum.

Pekala, şimdi bunun hakkında konuşmayalım, bu görevde gerçekten çok az paralellik gelecek.

 
MetaDriver : // Tek sorun, her topolojinin yeni bir OpenCL programına ihtiyaç duymasıdır. Bu, temel ocl şablonları oluşturularak ve belirli bir topoloji için otomatik olarak (programlı olarak) yeni bir ocl programı oluşturularak çözülür.


Paralellik işe yaramaz: şablonlar sırayla birbirine bağlıdır, bu da hepsini önceden oluşturmanız gerektiği anlamına gelir, ancak o zaman trilyonlarca olacak ve şu anda çoğu zaman doğru olanı aramak için harcayacağız)
 
alsu :

Paralellik işe yaramaz: şablonlar sırayla birbirine bağlıdır, bu da hepsini önceden oluşturmanız gerekeceği anlamına gelir, ancak o zaman trilyonlarca olacak ve şu anda çoğu zaman doğru olanı aramak için zaman harcayacağız)
Doğru değil. Aynı tür sinir ağları için yaptım. Hatta bir kod üreteci bile gönderebilirim. Soru farklı: görevinizi karlı bir sınıfa nasıl indirirsiniz. Bir önceki yazımı tekrar okuyun - oraya ekledim.

Tamam, tekrar edeceğim:

Bu arada. Yukarıdakileri yazarken, sorununuzu GPU için faydalı bir hesaplama sınıfına nasıl indireceğiniz fikri geldi. Bunu yapmak için, indirgemeyi aşamalar halinde gerçekleştirmek gerekir: her aşamada, her şeyi bir OCL programı kullanarak hesaplayın, ancak katsayıları sıfırlayarak (esas olarak simüle ederek) azaltmayı gerçekleştirin. Ve yeni aşama için, önceki aşamanın indirimlerinin programda zaten "yazıldığı" yeni bir program oluşturun. Vb. Ancak genetik "eğitim" kullanıyorsanız durum budur.

Neden: