Menü
Bedava
giriş
ana  /  Firma yazılımı / Basit kelimelerle sinir ağları. Zor hakkında basit kelimeler: sinir ağları nedir? Sinir Ağları Tarihi

Sinir ağları basit kelimelerdir. Zor hakkında basit kelimeler: sinir ağları nedir? Sinir Ağları Tarihi

James Loy, Georgia Teknoloji Üniversitesi. Yeni başlayanlar için rehber, daha sonra Python'da kendi sinir ağınızı oluşturabilirsiniz.

Motivasyon:odaklanmak kişisel deneyim Derin eğitimi öğrenirken, örneğin, örneğin, karmaşık bir eğitim kütüphanesi olmadan sıfırdan bir sinir ağı oluşturmaya karar verdim. Acemi veri bilimcisi için, iç yapıyı anlamak önemli olduğuna inanıyorum.

Bu makale, öğrendiklerimi içeriyor ve umarım sizin için faydalı olacak! Konudaki diğer faydalı makaleler:

Sinir ağı nedir?

Sinir ağlarındaki çoğu makale beyin paralellikleri ile gerçekleştirilir. Beni tarif etmek daha kolay nöral ağlar Matematiksel bir fonksiyon olarak, belirtilen girişi istenen sonucu görüntüler, detaylı değil.

Sinir ağları aşağıdaki bileşenlerden oluşur:

  • giriş katmanı, x
  • rasgele sayı Gizli Katmanlar
  • Çıkış katmanı, ŷ
  • ayarlamak tartmak ve yer değiştirme Her katman arasında W. ve b.
  • her Gizli Katman İçin Seçim σ ; Bu işte, Sigmoid Aktivasyon özelliğini kullanacağız.

Aşağıdaki şema, iki katmanlı bir sinir ağının mimarisini göstermektedir (Sinir ağındaki katman sayısını sayarken, giriş seviyesinin genellikle dışlandığını unutmayın).

Python'da bir sinir ağ sınıfı oluşturmak basit görünüyor:

Eğitim sinir ağı

Çıktı ŷ basit iki katmanlı sinir ağı:

Yukarıdaki denklemde, W ve Ofset B, ŷ çıkışını etkileyen tek değişkenlerdir.

Doğal olarak, ağırlıklar ve yer değiştirmeler için doğru değerler tahminlerin doğruluğunu belirler. Süreç İnce ayar Giriş verilerinden gelen ölçekler ve yer değiştirmeler olarak bilinir.

Öğrenme sürecinin her bir yinelemesi aşağıdaki adımlardan oluşur.

  • Öngörülen çıkışın hesaplanması ŷ doğrudan dağıtım olarak adlandırılır
  • ağırlıkları ve yer değiştirmeleri güncelleme

Aşağıdaki seri grafiği işlemi göstermektedir:

Doğrudan dağıtım

Yukarıdaki tabloda gördüğümüz gibi, doğrudan dağıtım kolay bir bilgi işlemdir ve baz 2 katmanlı sinir ağı için, sinir ağının çekilmesi formül tarafından verilir:

Bunu yapmak için Python-E'deki kodumuza doğrudan bir dağıtım işlevi ekleyelim. Sadelik için, ofsetin 0'a eşit olduğunu önerdik.

Ancak, tahminlerimizin "kalitesini" değerlendirmek için bir yola ihtiyacınız var, yani tahminlerimizin ne kadar uzakta olduğu). Kayıp fonksiyonu Sadece bunu yapmamızı sağlar.

Kayıp fonksiyonu

Mevcut birçok kayıp fonksiyonu vardır ve sorunumuzun niteliği bize zarar işlevinin seçimini belirlemelidir. Bu işte kullanacağız hataların karelerinin toplamı Kayıp fonksiyonu olarak.

Hata kareleri miktarı, her öngörülen ve gerçek değer arasındaki ortalama bir farktır.

Öğrenmenin amacı, kayıp fonksiyonunu en aza indiren bir dizi ölçek ve yer değiştirme bulmaktır.

Ters dağılım

Şimdi tahminlerimizi (zarar) ölçtümüz, bir yol bulmalıyız. Hatanın geri dönüşünün yayılması ve ağırlık ve ofsetlerimizi güncelleyin.

Ağırlıkları ve yer değiştirmeleri ayarlamak için doğru miktarı bulmak için, kayıpların türev fonksiyonunu ağırlık ve ofsetler ile ilgili olarak bilmemiz gerekir.

Analizden hatırlamak türev fonksiyon, fonksiyonun bir eğim açısıdır.

Eğer bir türevimiz varsa, o zaman ağırlıkları ve ofsetleri güncelleyebilir, onları artırabilir / azaltabiliriz (yukarıdaki tabloya bakınız). Denir.

Bununla birlikte, Kayıp fonksiyonunun denkleminin ölçek ve yer değiştirme içermemesinden bu yana, ağırlık ve yer değiştirmelere göre kayıp fonksiyonunun türevini doğrudan hesaplayamayız. Bu nedenle, hesaplamaya yardımcı olmak için bir zincir kuralına ihtiyacımız var.

FUCH! Zahmetli, ancak ihtiyacımız olanı elde etmesine izin verildi - ağırlıklarla ilgili olarak kayıp fonksiyonlarının bir türev (eğim). Şimdi ağırlıkları uygun şekilde ayarlayabiliriz.

Python-E'deki kodumuza BackPropagation özelliğini ekleyin:

Nörosetiklerin çalışmalarını kontrol etme

Artık doğrudan ve geriye doğru dağıtım yapmak için Python-E'de tam kodumuz var, örneğin sinir ağımıza bakalım ve nasıl çalıştığını görelim.


Mükemmel ölçek seti

Nöral ağımız, bu işlevi sunmak için mükemmel ölçek kümesini keşfetmelidir.

Sinirini 1500 yineleme için eğitelim ve ne olduğunu görelim. Aşağıdaki yineleme üzerindeki kayıpların takvimi göz önüne alındığında, kayıpların monoton olarak minimum olarak azaldığını açıkça görebiliriz. Bu, daha önce söylediğimiz gradyan iniş algoritmasıyla tutarlıdır.

1500 yinelemeden sonra nihai tahmin (çıkış) bakalım.

Yaptık!Doğrudan ve İade Yaygınlaştırma Algoritmamız, sinir ağının başarılı bir şekilde çalışmasını göstermiştir ve tahminler gerçek değerler üzerinde birleşir.

Tahminler ve gerçek değerler arasında küçük bir fark olduğunu unutmayın. Bu arzu edilir, çünkü nöronal ağın görünmez verileri genelleştirmek için daha iyi önlenmesidir.

Son yansımalar

Kıymadan kendi sinir ağımdan yazma sürecinde çok şey öğrendim. Her ne kadar Tensorflow ve Keras gibi derin öğrenme kütüphaneleri olsa da, sinir ağının içsel çalışmalarını tam olarak anlamadan derin ağların oluşturulmasına izin verirken, acemi veri bilimcinin-AM'nin daha derin anlayışlarını elde etmek için yararlı olduğunu görüyorum.

Kişisel zamanımın çoğunu yatırım yaptım. bu işVe umarım sizin için faydalı olacak!


Sinir ağlarındaki terimlerin çoğu biyoloji ile ilişkilidir, bu yüzden en başından başlayalım:

Beyin karmaşıktır, ancak birkaç ana parçaya ve operasyona ayrılabilir:

Nedensel ajan olabilir (örneğin, bir görüntü veya fikir):

Ve şimdi ana ve basitleştirilmiş bir göz atın parçalarbeyin:


Beyin genellikle kablo şebekesine benzer.

Nöron- Beyindeki ana hesap ana birimi, diğer nöronların kimyasal sinyallerini alır ve işler, bir dizi faktöre bağlı olarak veya hiçbir şey yapmaz veya hiçbir şey yapmaz veya bir elektrik püskürtüsü oluşturur veya bu da sinyalleri kullanan ayarlamak bağlınöronlar:

Hayaller, anılar, öz düzenli hareketler, refleksler ve gerçekten düşündüğünüz her şey - her şey bu süreçten dolayı gerçekleşir: milyonlarca, hatta milyarlarca nöron farklı seviyelerde çalışır ve çeşitli paralel alt sistemler yaratan ve biyolojik nöral oluşturan bağlantılar oluşturur .

Tabii ki, hepsi basitleştirilmiş ve genellemeler, ama onlar sayesinde basit bir şekilde tanımlayabiliriz.
Sinir ağı:

Ve bir grafikle tanımlamak için resmileştirilmiştir:

Burada bazı açıklamalar gereklidir. Kupalar nöronlardır ve çizgiler aralarında bağlantılardır.
Ve bu aşamada karmaşık olmamak, mutabakatbilginin doğrudan hareketini temsil eder soldan sağa. İlk Neuron B. şu an Aktif ve vurgulanan gri. Ayrıca ona bir numara atadık (1 - eğer çalışsa, 0 - değilse). Nöronlar arasındaki sayılar ağırlıkİletişim.

Yukarıdaki grafikler, daha doğru eşleme için ağ saatinin anını gösterir, geçici segmentlere bölmeniz gerekir:

Sinir ağınızı oluşturmak için, ağırlıkların nöronları nasıl etkilediğini ve nöronların nasıl eğitildiğini anlamanız gerekir. Örnek olarak, bir tavşan (tavşan test edin) alın ve klasik deney şartlarına koyun.

Güvenli bir hava jeti tarafından gönderildiklerinde, tavşan, insanlar gibi, yanıp söner:

Bu davranış modeli grafiklerle çizilebilir:

Önceki şemada olduğu gibi, bu grafikler sadece tavşanın darbeyi hissettiği anı gösterir ve biz öyleyiz. kodlamamantıksal bir değer olarak yanıp söner. Ek olarak, ikinci nöronun ağırlık değerine göre tetiklenip tetiklenmeyeceğini hesaplarız. 1'e eşitse, o zaman dokunmatik nöron çalışır, yanıp sönüyoruz; Ağırlık 1'den az ise, yanıp sönmeziz: İkinci Nöron sınırlamak- 1.

Başka bir unsur tanıtıyoruz - güvenli ses sinyali:

Böyle tavşanın çıkarını simüle edebiliriz:

Ana fark şu anda ağırlığın eşit olmasıdır. sıfırBöylece, en azından, şimdilik de yansıyan bir tavşan alamadık. Şimdi takımın üzerinde yanıp sönen tavşanları öğretin, karıştırın
Uyarıcı (bip ve üfleme):

Bu olayların farklı geçici olarak gerçekleşmesi önemlidir. epochsGrafiklerde şöyle görünecek:

Kendi başına, ses hiçbir şey yapmaz, ancak hava akışı hala tavşan yanıp sönmeyi yapar ve uyarıcı (kırmızı) ile çarpılan ağırlıklar yoluyla gösteriyoruz.

Eğitimkarmaşık davranış, zamanla ilişkili nöronlar arasındaki ağırlıkta kademeli bir değişim olarak basitleştirilebilir.

Tavşanı yetiştirmek için eylemi tekrarlayın:

Planın ilk üç denemesi için şöyle görünecek:

Lütfen ses uyarıcı için ağırlığın her bir tekrarın ardından (kırmızı olarak vurgulandıktan sonra) büyüdüğü unutmayın, bu değer şimdi keyfidir - 0.30'u seçtik, ancak sayı bir şey olabilir, hatta negatif olabilir. Üçüncü tekrarladıktan sonra, tavşan davranışındaki değişiklikleri fark etmeyeceksiniz, ancak dördüncü tersinden sonra şaşırtıcı bir şey olacak - davranış değişecektir.

Havanın etkilerini kaldırdık, ancak tavşan hala yanıp sönüyor, bir bip sesi duyuyor! Bu davranışı açıklayın Son şemamız:

Tavşanı yanıp sönme sesine tepki verecek şekilde eğittik.


Gerçek bir deneyde, bu tür sonucu elde etmek için 60'tan fazla tekrar gerektirebilir.

Şimdi beyin ve tavşanların biyolojik dünyasını terk edeceğiz ve her şeyi uyarlamaya çalışacağız.
Yapay bir sinir ağı oluşturmayı öğrenin. Başlamak için basit bir görev yapmaya çalışalım.

Diyelim ki dört düğmeli bir makinemiz var, bu da doğru basıldığında yiyecek veren yiyecek verir.
Düğmeler (iyi veya enerji, eğer bir robotsanız). Görev, hangi düğmenin bir ücret verdiğini bulmaktır:

(Şematik olarak), aşağıdaki gibi basıldığında düğmeyi gösterebiliriz:

Bu görev, bütünü çözmek daha iyidir, bu yüzden doğru da dahil olmak üzere olası tüm sonuçlara bakalım:


Akşam yemeğinizi almak için 3. düğmeye tıklayın.

Sinir ağını koddaki çoğaltmak için, ağla eşleştirebileceğiniz bir model veya bir grafik yapmamız gerekiyor. İşte görev için uygun bir program, ayrıca biyolojik analogunu görüntüler:

Bu sinir ağı sadece gelen bilgileri alır - bu durumda, düğmenin hangi düğmeye basıldığını algılayacaktır. Daha sonra, ağ, kilo hakkındaki gelen bilgileri değiştirir ve katmanın eklenmesine dayanarak çıktı yapar. Biraz kafa karıştırıcı geliyor, ancak butonun modelimizde nasıl sunulduğunu görelim:


Lütfen tüm ağırlıkların 0'a eşit olduğunu unutmayın, böylece bir bebek gibi sinir ağı tamamen boş, ancak tamamen birbiriyle ilişkilidir.

Böylece, harici olayı sinir ağının giriş katmanıyla karşılaştırırız ve değeri çıktısından hesaplarız. Gerçeklikle çakışmayabilir ya da net bir bilgisayarın görevini tanımlamaya devam edebilir ve görmezden gelebiliriz. Terazilerin girişi ile başlayalım (JavaScript kullanacağız):

Var girişleri \u003d; var ağırlıkları \u003d; // Kolaylık için, bu vektörler çağrılabilir
Bir sonraki adım, giriş değerlerini ve ağırlıklarını toplayan ve çıktındaki değeri hesaplayan bir işlev oluşturmaktır:

İşlev DeğerlendirinAralNetwork (Inputvector, HooDvector) (VAR Sonucu \u003d 0; Inputvector.Fireach (layerValue \u003d Inputvalue * ağırlık için, sonuç + \u003d layervalue;)); geri dönüş (sonuç. (Sonuç. (2));) / / karmaşık görünebilir, ancak her şey Yaptığı kilo / giriş çiftlerini karşılaştırır ve sonucu ekler
Beklendiği gibi, bu kodu başlatırsak, modelimizde veya grafiklerimizde olduğu gibi aynı sonucu alacağız ...

Evaluateneuralnetwork (girişler, ağırlıklar); // 0.00
Canlı Örnek: Neal Net 001.

Nevalleşmemizin iyileştirilmesinde bir sonraki adım, kendi hafta sonlarını kontrol etmenin bir yolu veya gerçek durumla karşılaştırılabilir değerleri,
İlk önce bu özel gerçeği değişkende kodlayalım:

Tutarsızlıkları tespit etmek (ve kaç kişi), bir hata işlevi ekleyeceğiz:

Hata \u003d Gerçeklik - Sinir net çıkışı
Bununla, sinir ağımızın çalışmalarını değerlendirebiliriz:

Ancak daha da önemlisi - Gerçeklik olumlu bir sonuç verirken durumlara ne dersiniz?

Şimdi Sinir Ağı Modelimizin çalışmadığını (ve ne kadarını biliyoruz), harika olduğunu biliyoruz. Ve harika çünkü şimdi öğrenmemizi yönetmek için hata işlevini kullanabiliriz. Ancak, tüm bunlar, hata işlevini aşağıdaki şekilde yeniden tanımladığımız anlamına gelir:

HATA \u003d. Istenilen çıktı. - Sinir net çıkışı
Zor, ama böyle önemli bir tutarsızlık, sessizce yapacağız
Gelecekteki eylemlerle karşılaştırıldığında daha önce elde edilen sonuçları kullanın.
(Ve öğrenmek için, o zaman göreceğimiz gibi). Gerçek hayatta var, dolu
tekrarlayan desenler, bu yüzden evrimsel bir strateji olabilir (iyi,
çoğu durumda).

Var girişi \u003d; var ağırlıkları \u003d; var istenen \u003d 1;
Ve yeni özellik:

İşlev DeğerlendirinaleneRalterror (istenen, gerçek);) // Ağı ve hatayı değerlendirdikten sonra alırız: // "Sinir net çıkışı: 0.00 Hata: 1"
Canlı Örnek: Neal Net 002.

Sonucu özetleyelim. Görevle başladık, yaptı basit model Biyolojik bir sinir ağı şeklinde ve gerçekliğe kıyasla performansını ölçmek için bir yöntem ve bir yöntem elde edildi. Şimdi uygunsuzluğu düzeltmenin bir yolunu bulmalıyız - hem bilgisayarlar hem de insanlar için bir süreç, hem de eğitim olarak kabul edilebilir.

Bir sinir ağı nasıl eğitilir?

Eğitimin temelleri hem biyolojik hem de yapay sinir ağı bir tekrarlama.
ve eğitim AlgoritmalarıBöylece onlarla ayrı olarak çalışacağız. S tarafından başlayalım.
Eğitim algoritmaları.

Doğada, eğitimin algoritmaları altında fiziksel veya kimyasaldaki değişikliklere yönlendirilir.
Deneylerden Sonra Nöronların Özellikleri:

Koddaki zamandan sonra iki nöronun nasıl değiştiğinin ve "Algoritma Öğrenme" modelimizin nasıl değiştiğinin dramatik bir gösterimi, hayatınızı hafifletmek için bir süredir bir şeyi değiştireceğimiz anlamına gelir. Bu nedenle, yaşamın rahatlama derecesini belirlemek için bir değişken ekleyelim:

Var öğrenme hızı \u003d 0.20; // daha büyük değer, daha hızlı olan bir öğrenme süreci olacak :)
Ve ne değişecek?

Bu ağırlık değişecek (tıpkı bir tavşan gibi!), Özellikle elde etmek istediğimiz çıktının ağırlığı:

Böyle bir algoritmayı nasıl kodlayacağınız - Seçiminiz, basitlik için bir ağırlık öğrenme katsayısı eklerim, burada bir fonksiyon biçimindedir:

İşlev öğrenmek (ağırlık için (fonksiyon (ağırlık, dizin, ağırlıklar) (eğer (Inputvector\u003e 0) (ağırlıklar \u003d ağırlık + öğrenme hızı;));)
Kullanıldığında, bu eğitim işlevi sadece kilo vektör eğitim katsayısını ekleyecektir. aktif neurona, Önce ve sonra öğrenme çemberi (veya tekrarlama), sonuçlar böyle olacaktır:

// Orijinal Ağırlık Vektör: // Sinir Net Çıkışı: 0.00 Hata: 1 Öğrenin (Giriş, Ağırlıklar); // Yeni Ağırlık Vektör: // Sinir Net Çıkışı: 0.20 Hata: 0.8 // Açık değilse, sinir ağının geri çekilmesi 1 (tavuk ihracı) - istediğimiz şey, bu yüzden biz olduğumuz sonucuna varabiliriz. doğru yönde hareket etmek
Canlı Örnek: Neal Net 003.

Tamam, şimdi doğru yönde hareket ediyoruz, bu yapbozun son ayrıntı tanıtılacak tekrar et.

Bu çok zor değil, doğada sadece aynı şeyi tekrar tekrar yaparız ve kodda sadece tekrar sayısını belirtiyoruz:

Var denemeleri \u003d 6;
Ve tekrarlama sayısının tanıtımı, öğrenme sinir ağımızda böyle görünecek.

Fonksiyon treni (denemeler) (için (i \u003d 0; i< trials; i++) { neuralNetResult = evaluateNeuralNetwork(input, weights); learn(input, weights); } }
Nihai raporumuz:

Sinir net çıkışı: 0.00 Hata: 1.00 Ağırlık vektör: Sinir net çıkışı: 0.20 Hata: 0.80 Ağırlık: Sinir Net Çıkışı: 0.40 Hata: 0.60 Ağırlık vektör: Sinir net çıkışı: 0.60 Hata: 0.40 Ağırlık vektör: Sinir net çıkışı: 0.80 Hata : 0.20 Ağırlık Vektör: Sinir Net Çıkışı: 1.00 Hata: 0.00 Ağırlık Vektör: // Tavuk yemeği!
Canlı Örnek: Sinir Net 004.

Şimdi, giriş vektörü gerçeğe karşılık gelirse (üçüncü düğmeye basarak) sadece bir sonuç (akşam yemeği için tavuk) verecek bir kilo vektörümüz var.

Peki, sadece yaptığımız serin ne?

Şöyle beton durum Sinir ağımız (eğitimden sonra) giriş verilerini tanıyabilir ve istenen sonucuna yol açacağını söyleyebilir (yine de belirli durumları programlamanıza gerek kalmayacağız):

Ek olarak, sizinle öğrenmemiz için ölçeklenebilir bir model, oyuncak ve araçtır. Makine öğrenmesi, sinir ağları ve yapay zeka hakkında yeni bir şey öğrenmeyi başardık.

DİKKAT Kullanıcılar:

  • Çalışılan ölçeklerin depolama mekanizması yapılmamıştır, bu yüzden bu sinir ağı bilen her şeyi unutacak. Kodu güncellerken veya yeniden başlatırken, bir kişinin veya makinenin rastgele sırayla düğmelere basacağını düşünüyorsanız, ağ tamamen eğitilmiş olan en az altı başarılı tekrara ihtiyacınız vardır.
  • Önemli şeyleri öğrenmek için biyolojik ağlar öğrenme hızına sahiptir, bu nedenle yalnızca başarılı bir tekrarlamanız gerekir.
  • Biyolojik nöronlara çok benzeyen öğrenme için bir algoritma var, akılda kalıcı ismi: widrof-Hoff Kuralı, veya widroff-hoff öğrenme.
  • Nöronların eşikleri (örneğimizde 1) ve yeniden eğitimin etkileri (çok sayıda tekrarla, sonuç 1'den büyük olacaktır) dikkate alınmaz, ancak doğada çok önemlidir ve büyük ve karmaşıklardan sorumludurlar. davranışsal reaksiyon blokları. Negatif ağırlıklar gibi.

Daha fazla okuma için notlar ve referanslar

Matematikten kaçınmaya ve katı terimlerden kaçınmaya çalıştım, ancak ilgileniyorsanız, çift sınıflandırıcıların (öğretmenle eğitilmesi), ağır bir şeyin, kontrollü eğitim algoritması (öğretmenle eğitim) olarak tanımlanan bir perceptron inşa ettik.

Beynin biyolojik yapısı, kısmen karmaşıklığı nedeniyle, kısmen yanlışlıklar nedeniyle basit bir konu değildir. Sinirbilim (Purves) ve Bilişsel Sinirbilim (Gazzaniga) ile başlamak daha iyidir. Gateway'den bir tavşan ile bir örneği değiştirdim ve uyarladım, bu da grafik dünyasına mükemmel bir iletken olan hafızaya (Gluck).

Başka bir şık kaynak, sinir ağlarına bir giriş (Gurney), tüm EI ile ilgili ihtiyaçlarınız için uygundur.

Ve şimdi Python'da! Python'daki verilen versiyon için Ilee Andshmidt'e teşekkür ederiz:

Girişler \u003d ağırlıklar \u003d istenen_result \u003d 1 Learning_Rate \u003d 0.2 Deneme \u003d 6 DEP Değerlendirin_NeNaNal_Network (Input_Array, Weight_Array): Sonuç \u003d 0 I için I için (LEN (Input_Array)): Layer_value \u003d Input_Array [i] * Weity_Array [i] Sonuç + \u003d Layer_Value Yazdır ("Değerlendirin_neural_network:" + STR (sonuç)) Yazdır ("Ağırlıklar:" + STR (Ağırlıklar)) İade Sonucu DEP Değerlendirmesi_Error (istenen, gerçek): Hata \u003d istenen - Gerçek baskı ("Değerlendirme_Error:" + STR (Hata) Dönüş Hatası Def Öğrenin (Input_Array, Weight_Array): I için I Print ("Öğrenme ...") için (Len (Input_Array)): INPUTE_Array [i]\u003e 0: Weity_Array [i] + \u003d Learning_Rate Def Train (denemeler) : Içinde aralık (denemeler): Neural_net_Result \u003d Değerlendirin_neural_network (girişler, ağırlıklar) Öğrenin (girişler, ağırlıklar) Tren (denemeler)
Ve şimdi git! Bu sürüm için teşekkür ederim Kirana Maher.

Paket ana içe aktarma ("FMT" "matematik") Func Main () (fmt.println ("Girdi ve Ağırlıklar Oluşturma ...") Girişler: \u003d float64 (0.00, 0.00, 1.00, 0.00) Ağırlıklar: \u003d float64 (0.00, 0,00, 0.00, 0.00) İstenen: \u003d 1.00 öğrenme hızı: \u003d 0.20 denemeler: \u003d 6 Tren (denemeler, girişler, ağırlıklar, arzu edilen, öğrenim hızı)) Func treni (denemeler, girişler64, ağırlıklar64), istenen float64, öğrenme hızı float64) I için: \u003d 1; ben< trials; i++ { weights = learn(inputs, weights, learningRate) output:= evaluate(inputs, weights) errorResult:= evaluateError(desired, output) fmt.Print("Output: ") fmt.Print(math.Round(output*100) / 100) fmt.Print("\nError: ") fmt.Print(math.Round(errorResult*100) / 100) fmt.Print("\n\n") } } func learn(inputVector float64, weightVector float64, learningRate float64) float64 { for index, inputValue:= range inputVector { if inputValue > 0.00 (Ağırlık \u003d Ağırlık + Öğrenme Hızı)) Return RoveryVector) Func Değerlendirin (Indiat64) Float64 (Sonuç: \u003d 0.00 Endeksi için, IndareValue: \u003d Aralığı Inputvector (LayerValue: \u003d Inputvalue * Ağırlık Sonucu \u003d Sonuç + LayerValue) İade Sonucu ) Func değerlendirmek (istenen float64, gerçek float64) float64 (istenen dönüş - gerçek)

Site geliştirmedeki bir miktar para yardımcı olabilir ve tercüme edebilirsiniz.

 

Neureetas şimdi moda içinde ve boşuna değil. Yardımlarıyla, örneğin, resimlerdeki nesneleri tanıyabilir veya aksine, Salvador Dali kabuslarını çizebilirsiniz. Uygun kütüphaneler sayesinde, en basit sinir ağları, kodun tüm çifti tarafından oluşturulur, artık yapay IBM istihbaratına hitap etmeyecektir.

Teori

Biyologlar, beynin nasıl çalıştığını, ancak operasyon ilkesini tam olarak bilmiyorlar. bireysel unsurlar Sinir sistemi iyi çalışılmıştır. Nöronlardan oluşur - kendi aralarında elektrokimyasal sinyaller değişen özel hücrelerden oluşur. Her nöronun birçok dendrites ve bir akson vardır. Dendriti, verilerin nöronda alındığı girişlerle karşılaştırılabilir, Axon çıkışına hizmet eder. Dendritler ve akson arasındaki bileşikler sentsler denir. Sadece sinyalleri iletmezler, aynı zamanda genlik ve sıklıklarını da değiştirebilirler.

Bireysel nöronların düzeyinde meydana gelen dönüşümler çok basittir, ancak çok küçük sinir ağları bile çok yeteneklidir. Solucanın Davranışı Caenorhabditis Elegans - Hareket, Gıda Araması, Dış uyaranlara çeşitli reaksiyonlar ve çok daha fazlası sadece üç yüz nöronda kodlanmıştır. Ve tamam solucanlar! Karıncalar bile 250 bin nöron kaplar ve ne yaptıklarını, arabalar kesinlikle yapamazlar.

Neredeyse altmış yıl önce Amerikan araştırmacısı Frank Rosenblatt yaratmaya çalıştı bilgisayar sistemi, beynin imajında \u200b\u200bve benzerliğinde düzenlenmiş, ancak yaratılışının olanakları son derece sınırlıydı. Nöral ağlara ilgi art arda engellendi, ancak zaman içinde bir kez hesaplama gücünün herhangi bir gelişmiş sinir ağında eksik olduğu ortaya çıktı. Son on yılda bu konuda çok fazla değişti.

Motorlu Elektromekanik Beyin

Rosenblatt's arabası Mark I Perceptron olarak adlandırıldı. Görüntüleri tanımak amaçlanmıştır - bilgisayarların hala böyle başa çıktığı görevler. Mark I Gözün retinası ile donatılmıştı: 400 fotosellerin kare matrisi, yirmi dikey ve yirmi yatay olarak. Elektronik nöron modellerine rastgele bağlı fotoğraf hücreleri ve sırayla sekiz çıkışa kadar. Elektronik nöronları, fotoselleri ve çıkışları bağlayan sinapslar olarak, Rosenblatt Potansiyometreleri kullandı. Bir perceptron 512 step motorları eğiterken, potansiyometre otomatik olarak döndürülür, çıkış sonucunun doğruluğuna bağlı olarak nöronlardaki gerilmeyi ayarlamaktadır.

Burada iki kelimede, Nörallet'e nasıl çalışır. Yapay nöron, gerçek olduğu gibi, birkaç giriş ve bir çıktı vardır. Her girişin bir ağırlık katsayısı vardır. Bu katsayıları değiştirerek, sinir ağını eğitebiliriz. Çıkıştaki sinyalin giriş sinyallerinden bağımlılığı, sözde aktivasyon işlevini belirler.

Rosenblatt'ın algınlığı olan aktivasyon fonksiyonu, mantıksal birimin alındığı tüm girdilerin ağırlığını katladı ve ardından eşik değeri ile sonuçlandı. Eksi, bu yaklaşımla ağırlık katsayılarından birinde hafif bir değişimin sonuç üzerinde orantısız bir şekilde önemli bir etkisi olabileceğidi. Bu, öğretmeyi zorlaştırır.

Modern nöral ağlarda, doğrusal olmayan aktivasyon fonksiyonları genellikle sigmoid gibi kullanılır. Ek olarak, eski sinir ağlarının çok az katı vardı. Şimdi giriş ve çıktı arasında, bir veya daha fazla gizli nöron katmanı genellikle sahiptir. En ilginç olanı var.

Ne hakkında konuştuğumuzu anlamayı kolaylaştırmak için bu şemaya bakın. Bu, bir gizli tabaka ile doğrudan bir doğrudan dağılım ağıdır. Her bir daire nörona karşılık gelir. Sol giriş katmanının nöronlarıdır. Sağda - çıktı katmanının nöronu. Ortada dört nöronlu gizli bir katman var. Giriş katmanının tüm nöronlarının çıktıları, birinci gizli tabakanın her nöronuna bağlanır. Buna karşılık, nöron çıkış katmanının girişleri, gizli katman nöronlarının tüm çıktılarıyla ilişkilidir.

Sinir ağları bu şekilde düzenlenmemiş. Örneğin, nöronlardan gelen sinyalin sadece şemamızdan doğrudan bir dağıtım ağı gibi, aynı zamanda ters yönde de yalnızca bir sonraki katmana uygulanmadığı (daha az sık görülen) ağlar vardır. Bu tür ağların tekrar tekrar denir. Tamamen bağlı katmanlar da seçeneklerden biridir ve alternatiflerden birine bile dokunduk.

Uygulama

Öyleyse, en basit sinir ağını kendi ellerinizle inşa etmeye çalışalım ve yol boyunca çalışmalarında anlaşma yapalım. Numpy kütüphanesiyle Python'u kullanacağız (biri numy olmadan yapabiliyordu, ancak Numpy ile bir lineer cebir daha az güçleniyor). Dikkate alınan örnek, Tracke'nin Endru'sine dayanmaktadır.

Sigmoid ve türevini hesaplamak için fonksiyonlara ihtiyacımız olacaktır:

Devam sadece katılımcılara mevcut

Seçenek 1. Sitedeki tüm malzemeleri okumak için Site topluluğuna katılın

Belirtilen süre boyunca topluluğa üyelik sizi hacker'ın tüm malzemelerine erişimini açacak, kişisel birikimsel indiriminizi artıracak ve profesyonel bir XAKEP puanı derecelendirmesi birikecektir!

2016 yılının ilk yarısında, Dünya Sinir Ağları alanında birçok gelişme duydular - algoritmaları Google (alphago'da ağ oynatıcı), Microsoft (görüntüleri tanımlamak için çeşitli hizmetler), MSQRD, Prisma Başlangıçları ve Diğerleri tarafından gösterilmiştir. .

Yer imlerine

Editör Kurulu, ihtiyaç duydukları sinir ağları olduklarını, neden şimdi gezegeni yakaladıklarını, yıllarca ya da daha sonra olmadıklarını, üzerinde, üzerinde kaç tane kazanılabileceklerini ve ana pazar oyuncuları kimin kazandığını söylüyor. MIP, Yandex, Mail.ru grubundan ve Microsoft'tan gelen uzmanlar da görüşleriyle paylaşıldı.

Sinir ağları nedir ve hangi görevleri çözebilecekleri

Sinir ağları, yapay zeka sistemlerinin geliştirilmesindeki talimatlardan biridir. Fikir, insan sinir sisteminin çalışmalarını yakından taklit etmektir - yani, hataları öğrenme ve doğrulama yeteneği. Bu oluşuyor ana özellik Herhangi bir sinir ağı bağımsız olarak çalışabilir ve önceki deneyime dayanarak, her seferinde daha az ve daha az hata yapar.

NeureTiMima, sadece aktiviteyi değil, aynı zamanda insan sinir sisteminin yapısını da taklit eder. Böyle bir ağ, çok sayıda bireysel bilgi işlem elemanından ("nöronlar") oluşur. Çoğu durumda, her bir "nöron", belirli bir ağ katmanını ifade eder. Giriş verileri, ağın tüm katmanlarında sırayla işlenir. Her bir "nöron" parametreleri, önceki giriş setlerinde elde edilen sonuçlara bağlı olarak değişebilir, böylece tüm sistemin çalışmasını değiştirir.

Mail.ru grubundaki "Arama Mail.ru" Başkanı Andrei Kalinin'in, sinir ağlarının, diğer makine öğrenme algoritmaları ile aynı görevleri çözebileceğini, farkın sadece öğrenmeye yaklaştığını belirtir.

Sinir ağlarını çözebilecek tüm görevler bir şekilde öğrenme ile ilgilidir. Sinir ağlarının ana alanları arasında öngörmek, karar verme, görüntü tanıma, optimizasyon, veri analizi.

Rusya'daki Microsoft Teknolojik İşbirliği Programları Direktörü Vlad Sershulsky, sinir ağlarının şimdi her yerde kullanıldığını belirtti: "Örneğin, birçok büyük İnternet sitesinde, daha birçok büyük internet sitesini daha doğal ve faydalı bir kitlenin kullanıcılarının davranışlarına bir cevap vermek için kullanıyor. Nevraletalar çoğunluğun altında modern sistemler Konuşmanın tanınması ve sentezi, ayrıca tanıma ve görüntü işleme. Endüstriyel robotlar veya insansız otomobillerde, bazı navigasyon sistemlerinde kullanılırlar. Nöral ağ tabanlı algoritmalar, saldırganların saldırılarından gelen bilgi sistemlerini korur ve ağdaki yasadışı içeriği tanımlamaya yardımcı olur. "

Yakın gelecekte (5-10 yıl) Sershulsky inanıyor, sinir ağlarının daha geniş bir şekilde kullanılacağına inanıyor:

Yürütme mekanizmaları çeşitli kameralarla donatılmış olan tarımsal birleşimi hayal edin. Yörüngesinin şeridindeki her bitkinin dakikasında beş bin fotoğraf ve sinir ağı, analizler - hiçbir yabani olsaydı, hastalık ya da zararlılardan etkilenmedi. Ve her tesisi ayrı ayrı işler. Kurgu? Artık hiç değil. Ve beş yıl içinde norm olabilir. - Vlad Shershulsky, Microsoft

Sinir Sistemlerinin Laboratuvarı Başkanı ve Yaşam Sistemlerinin Derin Eğitim Merkezi Mfti Mikhail Burtsev, 2016-2018 için sinir ağlarının geliştirilmesinin bir haritasını yürütmüştür:

  • tanıma sistemleri ve görüntülerdeki nesnelerin sınıflandırılması;
  • ses arayüzleri, şeylerin interneti için etkileşim;
  • Çağrı merkezlerinde servis kalite izleme sistemleri;
  • sorun Giderme Sistemleri (Tahmin Etme Süresi dahil) bakım), anomaliler, siber-fiziksel tehditler;
  • entelektüel Güvenlik ve İzleme Sistemleri;
  • Çağrı Merkezi Operatörlerinin İşlevlerinin Bir Parçasının Botlarını Değiştirme;
  • video Analytics Sistemleri;
  • malzeme akışlarının yönetimini veya nesnelerin konumunu (depolarda, taşımacılıkta) optimize eden kendi kendine öğrenme sistemleri;
  • endüstriyel süreçler ve cihazlar için akıllı, kendi kendine öğrenme yönetim sistemleri (robotik dahil);
  • konferanslar ve kişisel kullanım için "Anında" evrensel çeviri sistemlerinin ortaya çıkması;
  • bot danışmanlarının görünümü teknik Destek veya kişisel asistanlar, eğlenceli bir kişiye fonksiyonlar.

Gregory Bakunov'un Yandex Technology Direktörü, önümüzdeki beş yıldaki sinir ağının dağılımının temelinin, bu tür sistemlerin çeşitli kararları kabul etme yeteneği olacağına inanıyor: "En önemli şey, sinir ağlarının şimdi bir kişi için yapmasıdır - kurtarmak aşırı karar vermeden. Dolayısıyla, yaşayan bir kişiye çok zekice çözümlerin olmadığı hemen hemen her yerde kullanılabilirler. Önümüzdeki beş yılda, bu beceri, karar vermeyi basit bir araçla değiştirecek olan bu beceri işletilecektir. "

Neden sinir ağları şimdi bu kadar popüler hale geldi?

Bilim adamları, 70 yılı aşkın bir süredir yapay sinir ağlarının gelişiminde bulunurlar. Sinir ağını resmileştirme girişimi, iki Amerikan bilimcisinin (Warren McKallock ve Walter Pitts), insan fikirlerinin mantıksal hesapları ve sinir aktivitesinin mantıksal hesabı hakkında bir makale sunduğunda 1943'e atıfta bulunur.

Bununla birlikte, yakın zamana kadar Andrei Kalinin Mail.ru grubundan, sinir ağının hızı çok düşüktü, böylece yaygınlaşabilecekleri ve dolayısıyla bu tür sistemler temel olarak bilgisayar vizyonunun geliştirilmesinde kullanıldı ve diğer algoritmalar kullanıldı. diğer alanlar. Makine öğrenimi.

Sinir ağ geliştirme sürecinin zaman alıcı ve uzun kısmı eğitimidir. Sinir ağının görevleri doğru şekilde çözmesi için, çalışmalarını on milyonlarca giriş seti üzerinde "çalıştırmak" için gereklidir. Çeşitli hızlandırılmış öğrenme teknolojilerinin ortaya çıkmasıyla birlikte, Sinir Ağı Andrei Kalinin ve Grigory Bakunov'un yayılmasını ilişkilendirir.

Şimdi olan ana şey, nöronal ağlara izin veren farklı hileler, yeniden eğitmeye önemli derecede daha az duyarlıdır. - Gregory Bakunov, Yandex

"İlk önce, çalışabileceğiniz büyük ve halka açık bir işaretli resim dizisi. İkincisi, modern video kartları yüz kat daha hızlı sinir ağları öğretmek ve bunları kullanmak için. Üçüncüsü, hazır, tercih edilen sinir ağları, görüntüleri tanımlamak, uygulamalarınızı yapabileceğiniz, nöral ağın uzun vadeli hazırlığına katılmayacağınız esas alınarak, çalışmalarına bağlı değildir. Bütün bunlar, kalinin notları, "Sinirsel ağların tam olarak görüntü tanıma alanında güçlü bir şekilde geliştirilmesini sağlar.

Sinir ağ pazarının hacimleri nelerdir?

"Hesaplanması çok kolaydır. Düşük vasıflı işçilerin kullanıldığı herhangi bir alanı alabilirsiniz - örneğin, çağrı merkezlerinin operatörlerinin çalışmaları - ve tüm insan kaynaklarını kesin. Ayrı bir ülke içinde bile çoklu milyar dolar piyasadan bahsettiğimizi söyleyebilirim. Dünyada kaç kişi düşük vasıflı çalışmalara katılır, kolayca anlaşılabilir. Öyleyse, çok özenle konuşuyor, bence, YANDEX Technologies'in yaygınlaştırılmasının direktörü Gregory Bakunov. "Diyor.

Bazı tahminlere göre, mesleklerin yarısından fazlası otomatikleştirilecek - bu, makine öğrenme algoritmalarının (ve özellikle sinir ağları) pazarının artırılabileceği maksimum hacimdir .- Andrei Kalinin, Mail.ru Group

"Makine öğrenme algoritmaları, gelişiminde herhangi bir işlemin otomasyonunda bir sonraki adımdır. yazılım. Bu nedenle, piyasa en azından tüm yazılım pazarına denk geliyor, ancak bunun yerine, eski yazılımlara erişilemeyen yeni entelektüel çözümler yapmak mümkün olduğundan, "Mail.ru" başlığını postayla devam ediyor. RU Group Andrei Kalinin.

Nöral ağların geliştiricileri neden kitle pazarı için mobil uygulamalar oluşturuyor?

Son birkaç ayda, Sinir Ağları'nı kullanan birçok yüksek profilli eğlence projesi piyasada ortaya çıktı - bu popüler bir video hizmeti sosyal ağ Facebook, I. rus uygulamaları Resimleri işlemek için (Haziran ayında, Mail.ru grubundan yatırım) ve diğerleri.

Kendi sinir ağlarının yetenekleri Google tarafından gösterildi (GO Şampiyonasında Alphago Technology; Mart 2016'da, Sinir Ağları ve benzeri tarafından çizilen 29 resmin açık artırması üzerine satılan şirket ve Microsoft (resimleri tanıma) resimlerde ve otomatik olarak onlara imza üreten; WhatDog projesi, bir köpeğin cinsini tanımlayan fotoğrafta; resimdeki bir kişinin yaşını belirleyen Howold hizmeti, ve yandex (Haziran ayında takımda, takım resimdeki otomobilleri tanımak için AUTA.RU'nun başvurusuna gömülü; sunan müzik albümü kaydetti; Mayıs ayında, ünlü sanatçıların tarzında çizim için bir proje likemo.net projesi oluşturdu).

Bu tür eğlence hizmetleri, sinir ağlarının amaçlandığı küresel görevleri çözmemek ve sinir ağının yeteneklerini göstermek ve eğitimini yürütmek için yaratılmaktadır.

"Oyunlar, davranışımızın biyolojik tür olarak karakteristik bir özelliğidir. Bir yandan, oyun durumlarında, insan davranışının neredeyse tüm tipik senaryoları simüle edilebilir ve diğerlerinde - oyunların hem yaratıcıları hem de özellikle oyuncular süreçten çok zevk alabilirler. Tamamen faydacı bir yön var. İyi tasarlanmış bir oyun, yalnızca oyuncuların memnuniyetini değil, oyun sürecinde sinir ağı algoritmasını öğretiyorlar. Sonuçta, Nöral Ağ Örneklere dayanıyor "diyor Microsoft'tan Vlad Shershulsky.

"Her şeyden önce, teknoloji olasılığını göstermek için bu yapılır. Başka bir sebep, aslında, hayır. Prisma hakkında konuşursak, ne yaptıkları açıktır. Çocuklar, resimlerle çalışmalarını sağlayan bazı piplini inşa etti. Bunu göstermek için stilizasyon oluşturmak için oldukça basit bir yol seçtiler. Neden olmasın? Yandex'in Gregory Bakunov'un sadece algoritmaların çalışmalarının bir gösterimi "diyor.

Mail.ru'dan Andrei Kalinin'in diğer görüşlerine bağlı kalıyor: "Tabii ki, halk açısından muhteşem. Öte yandan, eğlence ürünlerinin daha faydalı alanlarda uygulanamayacağını söylemem. Örneğin, şekillendirici görüntülerin görevi, çeşitli endüstriler için son derece alakalıdır (tasarım, bilgisayar oyunları, Animasyon sadece birkaç örnektir) ve nöral ağın tam kullanımı, onlar için içerik oluşturma maliyet ve yöntemleri önemli ölçüde optimize edebilir. "

Sinir ağ pazarındaki ana oyuncular

Andrei Kalinin notları, ve büyük, sinir ağı pazarında bulunan sinir ağlarının çoğu birbirinden farklıdır. "Tüm teknolojiler yaklaşık aynıdır. Ancak sinir ağının kullanımı, herkesin karşılayamayacağı bir zevktir. Bağımsız bir şekilde bir sinir ağını öğretmek ve çok fazla deney koymak için, pahalı video kartlarıyla büyük eğitim kümeleri ve otoparklara ihtiyacınız var. Açıkçası, bu tür bir fırsatlar var. büyük şirketler"Diyor.

Piyasadaki ana oyuncular arasında Kalinin'in Google'ı ve Google Deablmind bölümünü alphago ağını ve Google Beyin'ü oluşturan sözlerden bahseder. Microsoft'un kendi gelişmeleri bu alanda - Microsoft Araştırma Laboratuvarı'nda bulunurlar. Sinir ağlarının oluşturulması IBM, Facebook'ta (Facebook AI Araştırması), Baidu (Baidu Deep Öğrenme Enstitüsü) ve diğerleri ile uğraşmaktadır. Dünyanın dört bir yanındaki teknik üniversitelerde birçok gelişme tutulmaktadır.

Yandex Teknolojilerinin Yaygınlaştırılması Direktörü Gregory Bakunov, Sinir Ağları alanındaki ilginç gelişmelerin başlangıçlar arasında bulunduğunu belirtti. "Örneğin, Clarifai'yi hatırlardım. Bu, bir ara Google ile yapılan küçük bir başlangıçtır. Şimdi onlar, belki de, dünyanın içeriği, resmin içeriğini belirleyebilir. " Bu başlangıçlar MSQRD ve Prisma ve diğerlerini içerir.

Rusya'da sadece başlangıçlar değil, aynı zamanda büyük teknolojik şirketler nöral ağlar alanında gelişme ile uğraşmaktadır - örneğin, "Ara", görüntü analizi içindeki metinleri işlemek ve sınıflandırmak için nöral ağları tutan Mail.ru Group. Şirket ayrıca botlar ve diyalog sistemleriyle ilgili deneysel gelişmeler yürütmektedir.

Yandex, kendi sinir ağlarını yaratarak yapılır: "Temelde bu tür ağlar zaten görüntülerle birlikte, sesle birlikte kullanılıyor, ancak yeteneklerini diğer alanlarda keşfediyoruz. Şimdi, metinle birlikte çalışarak sinir ağı kullanırken çok fazla deney yaptık. " Gelişmeler üniversitelerde yapılmaktadır: Skoltech, MFT, MSU, HSE ve diğerlerinde.

2016 yılının ilk yarısında, Dünya Sinir Ağları alanında birçok gelişme duydular - algoritmaları Google (alphago'da ağ oynatıcı), Microsoft (görüntüleri tanımlamak için çeşitli hizmetler), MSQRD, Prisma Başlangıçları ve Diğerleri tarafından gösterilmiştir. .

Yer imlerine

Editör Kurulu, ihtiyaç duydukları sinir ağları olduklarını, neden şimdi gezegeni yakaladıklarını, yıllarca ya da daha sonra olmadıklarını, üzerinde, üzerinde kaç tane kazanılabileceklerini ve ana pazar oyuncuları kimin kazandığını söylüyor. MIP, Yandex, Mail.ru grubundan ve Microsoft'tan gelen uzmanlar da görüşleriyle paylaşıldı.

Sinir ağları nedir ve hangi görevleri çözebilecekleri

Sinir ağları, yapay zeka sistemlerinin geliştirilmesindeki talimatlardan biridir. Fikir, insan sinir sisteminin çalışmalarını yakından taklit etmektir - yani, hataları öğrenme ve doğrulama yeteneği. Bu, herhangi bir sinir ağının ana özelliğidir - bağımsız olarak çalışabilir ve her zaman daha az ve daha az hata yaparak önceki deneyime dayanarak hareket edebilir.

NeureTiMima, sadece aktiviteyi değil, aynı zamanda insan sinir sisteminin yapısını da taklit eder. Böyle bir ağ, çok sayıda bireysel bilgi işlem elemanından ("nöronlar") oluşur. Çoğu durumda, her bir "nöron", belirli bir ağ katmanını ifade eder. Giriş verileri, ağın tüm katmanlarında sırayla işlenir. Her bir "nöron" parametreleri, önceki giriş setlerinde elde edilen sonuçlara bağlı olarak değişebilir, böylece tüm sistemin çalışmasını değiştirir.

Mail.ru grubundaki "Arama Mail.ru" Başkanı Andrei Kalinin'in, sinir ağlarının, diğer makine öğrenme algoritmaları ile aynı görevleri çözebileceğini, farkın sadece öğrenmeye yaklaştığını belirtir.

Sinir ağlarını çözebilecek tüm görevler bir şekilde öğrenme ile ilgilidir. Sinir ağlarının ana alanları arasında öngörmek, karar verme, görüntü tanıma, optimizasyon, veri analizi.

Rusya'daki Microsoft Teknolojik İşbirliği Programları Direktörü Vlad Sershulsky, sinir ağlarının şimdi her yerde kullanıldığını belirtti: "Örneğin, birçok büyük İnternet sitesinde, daha birçok büyük internet sitesini daha doğal ve faydalı bir kitlenin kullanıcılarının davranışlarına bir cevap vermek için kullanıyor. Nevraletalar, çoğu modern konuşma tanıma sistemlerine ve konuşma sentezine ve tanıma ve görüntü işleme dayanmaktadır. Endüstriyel robotlar veya insansız otomobillerde, bazı navigasyon sistemlerinde kullanılırlar. Nöral ağ tabanlı algoritmalar, saldırganların saldırılarından gelen bilgi sistemlerini korur ve ağdaki yasadışı içeriği tanımlamaya yardımcı olur. "

Yakın gelecekte (5-10 yıl) Sershulsky inanıyor, sinir ağlarının daha geniş bir şekilde kullanılacağına inanıyor:

Yürütme mekanizmaları çeşitli kameralarla donatılmış olan tarımsal birleşimi hayal edin. Yörüngesinin şeridindeki her bitkinin dakikasında beş bin fotoğraf ve sinir ağı, analizler - hiçbir yabani olsaydı, hastalık ya da zararlılardan etkilenmedi. Ve her tesisi ayrı ayrı işler. Kurgu? Artık hiç değil. Ve beş yıl içinde norm olabilir. - Vlad Shershulsky, Microsoft

Sinir Sistemlerinin Laboratuvarı Başkanı ve Yaşam Sistemlerinin Derin Eğitim Merkezi Mfti Mikhail Burtsev, 2016-2018 için sinir ağlarının geliştirilmesinin bir haritasını yürütmüştür:

  • tanıma sistemleri ve görüntülerdeki nesnelerin sınıflandırılması;
  • ses arayüzleri, şeylerin interneti için etkileşim;
  • Çağrı merkezlerinde servis kalite izleme sistemleri;
  • sorun Giderme Sistemleri (öngörme süresi dahil), anomaliler, siber fiziksel tehditler;
  • entelektüel Güvenlik ve İzleme Sistemleri;
  • Çağrı Merkezi Operatörlerinin İşlevlerinin Bir Parçasının Botlarını Değiştirme;
  • video Analytics Sistemleri;
  • malzeme akışlarının yönetimini veya nesnelerin konumunu (depolarda, taşımacılıkta) optimize eden kendi kendine öğrenme sistemleri;
  • endüstriyel süreçler ve cihazlar için akıllı, kendi kendine öğrenme yönetim sistemleri (robotik dahil);
  • konferanslar ve kişisel kullanım için "Anında" evrensel çeviri sistemlerinin ortaya çıkması;
  • teknik destek veya kişisel asistanların bot danışmanlarının ortaya çıkması, erkeğe yakın işlevler için.

Gregory Bakunov'un Yandex Technology Direktörü, önümüzdeki beş yıldaki sinir ağının dağılımının temelinin, bu tür sistemlerin çeşitli kararları kabul etme yeteneği olacağına inanıyor: "En önemli şey, sinir ağlarının şimdi bir kişi için yapmasıdır - kurtarmak aşırı karar vermeden. Dolayısıyla, yaşayan bir kişiye çok zekice çözümlerin olmadığı hemen hemen her yerde kullanılabilirler. Önümüzdeki beş yılda, bu beceri, karar vermeyi basit bir araçla değiştirecek olan bu beceri işletilecektir. "

Neden sinir ağları şimdi bu kadar popüler hale geldi?

Bilim adamları, 70 yılı aşkın bir süredir yapay sinir ağlarının gelişiminde bulunurlar. Sinir ağını resmileştirme girişimi, iki Amerikan bilimcisinin (Warren McKallock ve Walter Pitts), insan fikirlerinin mantıksal hesapları ve sinir aktivitesinin mantıksal hesabı hakkında bir makale sunduğunda 1943'e atıfta bulunur.

Bununla birlikte, yakın zamana kadar Andrei Kalinin Mail.ru grubundan, sinir ağının hızı çok düşüktü, böylece yaygınlaşabilecekleri ve dolayısıyla bu tür sistemler temel olarak bilgisayar vizyonunun geliştirilmesinde kullanıldı ve diğer algoritmalar kullanıldı. diğer alanlar. Makine öğrenimi.

Sinir ağ geliştirme sürecinin zaman alıcı ve uzun kısmı eğitimidir. Sinir ağının görevleri doğru şekilde çözmesi için, çalışmalarını on milyonlarca giriş seti üzerinde "çalıştırmak" için gereklidir. Çeşitli hızlandırılmış öğrenme teknolojilerinin ortaya çıkmasıyla birlikte, Sinir Ağı Andrei Kalinin ve Grigory Bakunov'un yayılmasını ilişkilendirir.

Şimdi olan ana şey, nöronal ağlara izin veren farklı hileler, yeniden eğitmeye önemli derecede daha az duyarlıdır. - Gregory Bakunov, Yandex

"İlk önce, çalışabileceğiniz büyük ve halka açık bir işaretli resim dizisi. İkincisi, modern video kartları yüz kat daha hızlı sinir ağları öğretmek ve bunları kullanmak için. Üçüncüsü, hazır, tercih edilen sinir ağları, görüntüleri tanımlamak, uygulamalarınızı yapabileceğiniz, nöral ağın uzun vadeli hazırlığına katılmayacağınız esas alınarak, çalışmalarına bağlı değildir. Bütün bunlar, kalinin notları, "Sinirsel ağların tam olarak görüntü tanıma alanında güçlü bir şekilde geliştirilmesini sağlar.

Sinir ağ pazarının hacimleri nelerdir?

"Hesaplanması çok kolaydır. Düşük vasıflı işçilerin kullanıldığı herhangi bir alanı alabilirsiniz - örneğin, çağrı merkezlerinin operatörlerinin çalışmaları - ve tüm insan kaynaklarını kesin. Ayrı bir ülke içinde bile çoklu milyar dolar piyasadan bahsettiğimizi söyleyebilirim. Dünyada kaç kişi düşük vasıflı çalışmalara katılır, kolayca anlaşılabilir. Öyleyse, çok özenle konuşuyor, bence, YANDEX Technologies'in yaygınlaştırılmasının direktörü Gregory Bakunov. "Diyor.

Bazı tahminlere göre, mesleklerin yarısından fazlası otomatikleştirilecek - bu, makine öğrenme algoritmalarının (ve özellikle sinir ağları) pazarının artırılabileceği maksimum hacimdir .- Andrei Kalinin, Mail.ru Group

"Makine öğrenme algoritmaları, herhangi bir yazılımın geliştirilmesindeki herhangi bir işlemin otomasyonunda bir sonraki adımdır. Bu nedenle, piyasa en azından tüm yazılım pazarına denk geliyor, ancak bunun yerine, eski yazılımlara erişilemeyen yeni entelektüel çözümler yapmak mümkün olduğundan, "Mail.ru" başlığını postayla devam ediyor. RU Group Andrei Kalinin.

Nöral ağların geliştiricileri neden kitle pazarı için mobil uygulamalar oluşturuyor?

Son birkaç ayda, Sinir ağlarını kullanan birçok yüksek profilli eğlence projesi piyasada ortaya çıktı - bu, sosyal bir ağ Facebook'u ve resimlerin işlenmesi için Rusça uygulamaları olan popüler video hizmetidir (MAIL.RU'dan Haziran'da yatırımda) Grup) ve diğerleri.

Kendi sinir ağlarının yetenekleri Google tarafından gösterildi (GO Şampiyonasında Alphago Technology; Mart 2016'da, Sinir Ağları ve benzeri tarafından çizilen 29 resmin açık artırması üzerine satılan şirket ve Microsoft (resimleri tanıma) resimlerde ve otomatik olarak onlara imza üreten; WhatDog projesi, bir köpeğin cinsini tanımlayan fotoğrafta; resimdeki bir kişinin yaşını belirleyen Howold hizmeti, ve yandex (Haziran ayında takımda, takım resimdeki otomobilleri tanımak için AUTA.RU'nun başvurusuna gömülü; sunan müzik albümü kaydetti; Mayıs ayında, ünlü sanatçıların tarzında çizim için bir proje likemo.net projesi oluşturdu).

Bu tür eğlence hizmetleri, sinir ağlarının amaçlandığı küresel görevleri çözmemek ve sinir ağının yeteneklerini göstermek ve eğitimini yürütmek için yaratılmaktadır.

"Oyunlar, davranışımızın biyolojik tür olarak karakteristik bir özelliğidir. Bir yandan, oyun durumlarında, insan davranışının neredeyse tüm tipik senaryoları simüle edilebilir ve diğerlerinde - oyunların hem yaratıcıları hem de özellikle oyuncular süreçten çok zevk alabilirler. Tamamen faydacı bir yön var. İyi tasarlanmış bir oyun, yalnızca oyuncuların memnuniyetini değil, oyun sürecinde sinir ağı algoritmasını öğretiyorlar. Sonuçta, Nöral Ağ Örneklere dayanıyor "diyor Microsoft'tan Vlad Shershulsky.

"Her şeyden önce, teknoloji olasılığını göstermek için bu yapılır. Başka bir sebep, aslında, hayır. Prisma hakkında konuşursak, ne yaptıkları açıktır. Çocuklar, resimlerle çalışmalarını sağlayan bazı piplini inşa etti. Bunu göstermek için stilizasyon oluşturmak için oldukça basit bir yol seçtiler. Neden olmasın? Yandex'in Gregory Bakunov'un sadece algoritmaların çalışmalarının bir gösterimi "diyor.

Mail.ru'dan Andrei Kalinin'in diğer görüşlerine bağlı kalıyor: "Tabii ki, halk açısından muhteşem. Öte yandan, eğlence ürünlerinin daha faydalı alanlarda uygulanamayacağını söylemem. Örneğin, görüntüleri şekillendirme görevi bir dizi endüstriler için son derece alakalıdır (tasarım, bilgisayar oyunları, animasyon - işte sadece birkaç örnek) ve sinir ağının tam kullanımı, içerik oluşturma maliyetini ve yöntemlerini önemli ölçüde optimize edebilir. onları. "

Sinir ağ pazarındaki ana oyuncular

Andrei Kalinin notları, ve büyük, sinir ağı pazarında bulunan sinir ağlarının çoğu birbirinden farklıdır. "Tüm teknolojiler yaklaşık aynıdır. Ancak sinir ağının kullanımı, herkesin karşılayamayacağı bir zevktir. Bağımsız bir şekilde bir sinir ağını öğretmek ve çok fazla deney koymak için, pahalı video kartlarıyla büyük eğitim kümeleri ve otoparklara ihtiyacınız var. Açıkçası, büyük şirketler için bu tür bir fırsatlar var "diyor.

Piyasadaki ana oyuncular arasında Kalinin'in Google'ı ve Google Deablmind bölümünü alphago ağını ve Google Beyin'ü oluşturan sözlerden bahseder. Microsoft'un kendi gelişmeleri bu alanda - Microsoft Araştırma Laboratuvarı'nda bulunurlar. Sinir ağlarının oluşturulması IBM, Facebook'ta (Facebook AI Araştırması), Baidu (Baidu Deep Öğrenme Enstitüsü) ve diğerleri ile uğraşmaktadır. Dünyanın dört bir yanındaki teknik üniversitelerde birçok gelişme tutulmaktadır.

Yandex Teknolojilerinin Yaygınlaştırılması Direktörü Gregory Bakunov, Sinir Ağları alanındaki ilginç gelişmelerin başlangıçlar arasında bulunduğunu belirtti. "Örneğin, Clarifai'yi hatırlardım. Bu, bir ara Google ile yapılan küçük bir başlangıçtır. Şimdi onlar, belki de, dünyanın içeriği, resmin içeriğini belirleyebilir. " Bu başlangıçlar MSQRD ve Prisma ve diğerlerini içerir.

Rusya'da sadece başlangıçlar değil, aynı zamanda büyük teknolojik şirketler nöral ağlar alanında gelişme ile uğraşmaktadır - örneğin, "Ara", görüntü analizi içindeki metinleri işlemek ve sınıflandırmak için nöral ağları tutan Mail.ru Group. Şirket ayrıca botlar ve diyalog sistemleriyle ilgili deneysel gelişmeler yürütmektedir.

Yandex, kendi sinir ağlarını yaratarak yapılır: "Temelde bu tür ağlar zaten görüntülerle birlikte, sesle birlikte kullanılıyor, ancak yeteneklerini diğer alanlarda keşfediyoruz. Şimdi, metinle birlikte çalışarak sinir ağı kullanırken çok fazla deney yaptık. " Gelişmeler üniversitelerde yapılmaktadır: Skoltech, MFT, MSU, HSE ve diğerlerinde.