Bilimsel elektronik kütüphane. Sinir Ağlarında Aktivasyon İşlevleri

Aktivasyon fonksiyonu

İlişkilerden alınan sinyal aktivasyon fonksiyonuna iletilir. Bu işlevi hesaplarken elde edilen sonuç, Nyron Y'nin çıkış sinyalidir.

Bu nedenle, aktivasyon işlevini F olarak belirlerseniz, Nyron çıkış sinyali, giriş değerlerinin vektörüne ve ağırlık katsayılarının ağırlığına aşağıdaki gibidir:

Y \u003d F (X1 * W1 + X2 * W2 + ... + XN * WN)

Uygulamada, nöronun davranışını değiştirmek için, örneğin, doğrusal, eşik, sigmoid vb. Davranışını değiştirmek için farklı aktivasyon fonksiyonları kullanılır. Örneğin, bu işlevlerin bir kısmını kısaca göz önünde bulundurun. Daha fazla açıklama, örneğin, içinde bulacaksınız.

Doğrusal Aktivasyon Fonksiyonu

Doğrusal aktivasyon fonksiyonunun grafiği, Şekil 2'de gösterilmiştir. 4-3. Gördüğünüz gibi, bu grafik düz bir çizgidir, eğim açısı, sabit K'ye bağlıdır ve koordinatların yatay ekseni boyunca kaydırma değeri - Sabit T'den.

4.

5.

6. Sinir ağının görevi gerçekleştirebilmesi için, eğitilmelidir (bkz. Şekil 1). Bir öğretmen ve öğretmen olmadan öğrenme algoritmaları var.
Öğretmenle ilgili öğrenme süreci, örnekleme örnekleri ağının sunumudur. Her numune, ağ girişlerine beslenir, daha sonra NA yapısının içinde işlenir, ağın çıkış sinyali hesaplanır; bu, ağın istenen çıkışı olan hedef vektörün karşılık gelen değeri ile karşılaştırılır. Ardından, belirli bir kuralla, bir hata hesaplanır ve seçilen algoritmaya bağlı olarak Ağ Ağırlık katsayıları ağ içerisinde değiştirilir. Eğitim seti vektörleri sırayla sunulur, hatalar ve ağırlıklar, tüm eğitim dizisi boyunca bir hata kabul edilebilir bir düşük seviyeye ulaşıncaya kadar her vektör için hesaplanır.

Bir öğretmen olmadan öğrenirken, bir öğrenme seti sadece giriş vektörlerinden oluşur. Eğitim algoritması, ağın ağırlığını ayarlar, böylece kararlaştırılan çıkış vektörlerinin elde edildiği, yani Aynı çıkışlar verilen yeterince yakın giriş vektörlerinin sunumu için. Bu nedenle, öğrenme süreci, öğrenme setinin istatistiksel özelliklerini ve sınıflarda benzer vektörler gruplarını tahsis eder. Vektör girişinin bu sınıftan sunumu belirli bir çıktı vektörü verecektir, ancak bu, bu girdi vektörleri tarafından bir çıktı ne yapıldığını, eğitimi tahmin etmek mümkün değildir. Sonuç olarak, böyle bir ağın çıktıları, öğrenme süreci nedeniyle bazı anlaşılır bir forma dönüştürülmelidir. Bu ciddi bir sorun değil. Ağ tarafından ayarlanan giriş ve çıkış arasındaki bağlantıyı tanımlamak genellikle zor değildir.
Bir öğretmen olmadan sinir ağlarını öğretmek için, Hebba ve OHA'nın eğitiminin bir sinyal yöntemi uygulanır.



Matematiksel olarak, öğrenme işlemi aşağıdaki gibi tanımlanabilir. Çalışma sürecinde, sinir ağı Y \u003d g (x) işlevini gerçekleştiren, Y çıkış sinyalini üretir. Ağ mimarisi belirtilirse, G işlevinin formu, sinaptik ölçeklerin ve yerinden edilmiş ağın değerleri ile belirlenir.

Bazı görevlerin çözeltisinin Y \u003d F (x) işlevi olmasına izin verin, parametreleri ayarla Giriş ve çıkış (x 1, y 1), (xn, y2), ..., (xn, yn), bunun için YK \u003d F (XK) (K \u003d 1, 2, ..., N) .

Eğitim, G işlevinin aranması (sentezi), E hatası işlevinin nesnesi anlamında F'ye yakın, E. (bkz. Şekil 1.8).

Çeşitli eğitim örnekleri seçilirse - çiftler (xn, yn) (K \u003d 1, 2, ..., n) ve hata işlevini hesaplama yöntemi, sonra sinir ağ eğitimi bir sorunu dönüştürür. Çok büyük bir boyuta sahip olan çok boyutlu optimizasyon ve E işlevi, genel durumda keyfi bir eğitim türüne sahip olabildiğinden - çok ekstremel olmayan bağlantısız bir optimizasyon problemi olabilir.

Bu sorunu çözmek için, aşağıdaki (yinelemeli) algoritmalar kullanılabilir:

1. İlk siparişin özel türevlerinin hesaplanmasıyla yerel optimizasyon algoritmaları:

· Degrade algoritması (rektrik öncesi iniş yöntemi),

· Hedef fonksiyonun Antigigs yönünde tek boyutlu ve iki boyutlu optimizasyonu olan yöntemler,

· Konjuge gradyanların yöntemi,

· Agadiethr yönünü göz önünde bulunduran yöntemler, algoritmanın birkaç aşaması;

2. Birinci ve ikinci siparişin özel türevlerinin hesaplanmasıyla yerel optimizasyon algoritmaları:

· Newton yöntemi,

· Seyrek matrisler Hessen ile optimizasyon yöntemleri,

· Yarıcı yöntemleri,

· Gaussa Newton yöntemi,

· Levenberg Marquardt ve ark.

3. Stokastik Optimizasyon Algoritmaları:

· Rastgele bir yönde arama yapın

· İmitasyon tavlama,

· MONTE CARLO yöntemi (sayısal istatistiksel test yöntemi);

4. Global Optimizasyon Algoritmaları (Global Optimizasyon Görevleri, hedef fonksiyonun bağlı olduğu değişken değerlerin bütünlüğü kullanılarak çözülür).

7. Sinir ağı Veya, insan sinir sistemi, tüm organizma sistemlerinin birbirine bağlı davranış sağlayarak, bir insan yapılarının karmaşık bir ağıdır.

Biyolojik nöron, bir çekirdek, hücre gövdesinden ve işlemlerden yapısal olarak oluşan özel bir hücredir. Anahtar nöron görevlerinden biri, tüm sinir ağı boyunca bir elektrokimyasal nabızın, diğer nöronlarla kullanılabilir bağlantılardan iletilmesidir. Ayrıca, her bir bağ, bir sinaptik iletişim kuvveti olarak adlandırılan belirli bir değer ile karakterize edilir. Bu değer, başka bir nörona iletirken elektrokimyasal bir nabızla gerçekleşeceğini belirler: ya artacaktır veya zayıflatılır veya değişmeden kalır.

Biyolojik sinir ağı yüksek bir bağlantı derecesine sahiptir: Bir nöron, diğer nöronlarla birkaç bin bağlantıya sahip olabilir. Ancak, bu yaklaşık bir değerdir ve her durumda farklıdır. İmpulların bir nörondan diğerine transferi, tüm sinir ağının tamamı bir uyarma oluşturur. Bu uyarma büyüklüğü, sinir ağının bazı giriş sinyallerine reaksiyonunu belirler. Örneğin, eski ailelerle olan bir kişi, bu arkadaşınızla aydınlık ve hoş bir yaşam hatıralarıyla ilişkilendirilirse, sinir ağının güçlü bir başlatılmasına neden olabilir. Buna karşılık, sinir ağının güçlü uyarılması, kalp atışının artmasına, daha sık göz yanıp sönmesine ve diğer reaksiyonlara yol açabilir. Sinir ağı için yabancı bir kişi ile yapılan toplantı neredeyse göze çarpmayan yapılacak ve bu nedenle güçlü reaksiyonlara neden olmayacak.

Biyolojik sinir ağının güçlü bir şekilde basitleştirilmiş modeli verilebilir:

Her nöron, çekirdeği içeren bir hücre gövdesinden oluşur. Hücrenin gövdesinden, birçok kısa lif doğar, dendritler denir. Uzun dendritler Axon denir. Aksonlar, uzun mesafelere gerilir, bu resmin ölçeğinde gösterilenleri çok daha fazla aşılır. Genellikle, aksonlar 1 cm uzunluğundadır (hücre gövdesinin çapının 100 katını aşan), ancak 1 metreye ulaşabilir.

XX yüzyılın 60-80 yılında, yapay zeka alanındaki araştırmanın öncelikli yönü idi. uzman sistemler. Uzman sistemler kendilerini iyi kanıtladı, ancak sadece çok özel alanlarda. Daha fazla evrensel akıllı sistemler oluşturmak için başka bir yaklaşım gerekliydi. Muhtemelen, bu yapay zekanın araştırmacılarının insan beyninin altındaki biyolojik sinir ağlarına dikkat çekti.

Yapay zekide sinir ağları biyolojik sinir ağlarının basitleştirilmiş modelleridir.

Bu benzerlik sona erer. İnsan beyninin yapısı yukarıda yukarıda açıklanandan çok daha karmaşıktır ve bu nedenle en azından daha az çoğaltmak mümkün değildir.

Sinir ağlarının birçok önemli özelliğine sahiptir, ancak bunların anahtarı öğrenme yeteneğidir. Sinir ağının eğitimi öncelikle nöronlar arasındaki sinaptik bağların "kuvvetini" değiştirmekten oluşur. Aşağıdaki örnek açıkça göstermektedir. Pavlov'un klasik deneyiminde, zil her zaman köpeği beslemeden önce zili çaldı. Köpek hızlı bir şekilde bir çan zili gıda alımıyla ilişkilendirmeyi öğrendi. Bu, işitme ve tükürük bezlerinden sorumlu olan serebral alanlar arasındaki sinaptik bağlantıların yoğunlaştırıldığı gerçeğinin bir sonucu oldu. Ve zilin sesinin nöral ağının uyarılmasında, köpeğin daha güçlü bir tükürüğüne yol açmaya başladı.

Bugüne kadar, Sinir Ağları, yapay zeka alanındaki çalışmaların öncelikli alanlarından biridir.

8. Çok katmanlı perceptrons Sinir ağlarını doğrudan dağıtım çağırın. Bu tür ağlarda giriş sinyali doğrudan katmandan katmana dağıtılır. Genel sunumdaki çok katmanlı perceptron, aşağıdaki unsurlardan oluşur:

· Giriş katmanını oluşturan giriş düğümlerinin setleri;

· Bilgisayar nöronlarının bir veya daha fazla gizli katmanı;

· Bir çıkış nöronları.

Çok katmanlı perceptron, Rosenblatt'ın tek katmanlı persekptronunun genelleştirilmesidir. Çok katmanlı bir peripton örneği, sinir ağının aşağıdaki modelidir:

Çok katmanlı bir algıdaki giriş ve çıktı elemanlarının sayısı, sorunun şartları ile belirlenir. Şüpheler nasıl kullanılacağı ve hangisinin olmadığı için ortaya çıkabilir. Orta katmanların ve bunlardaki elemanların ne kadar kullandığı sorusu tamamen belirsizdir. İlk yaklaşım olarak, bir ara katman alınabilir ve içindeki elemanların sayısı giriş ve çıkış elemanlarının sayısı kadar yarıya eşit olmalıdır.

Çok katmanlı perceptrons, çeşitli karmaşık görevleri çözmek ve aşağıdaki üç ayırt edici özelliğe sahip olmak için başarıyla kullanılır.

Bir kişinin davranışlarını yönetmesi, hedefe giderken zorlukların üstesinden gelmek için gücünü harekete geçirme yeteneğidir. Bir kişinin herhangi bir eylemi iradesiz değildir. Bilinçli bir hedefle ilgili olmayan ve zorlukların üstesinden gelme eylemleri (örneğin, keskin veya beklenmedik bir sese dönüş) istemsizdir. Keyfi eylemler her zaman farkındalık bilinci, elde edilebileceği operasyonların temsili olduğunu göstermektedir. Bunlar, belirli bir hedefe yönelik ve hedefe giden bir kişinin karşılaştığı zorlukların üstesinden gelmekle ilgili bilinçli eylemlerdir.

İnsanın zihinsel aktivitesinde, birbiriyle ilişkili iki işlevi gerçekleştirir - etkinleştirme ve frenleme. Etkinleştirme işlevi, bir kişinin iç kuvvetlerini harekete geçirmesine ve bilinçli olarak belirlenmiş bir hedefe ulaşmak için aktif aktivitelere yönlendirmesini sağlayacak şekilde kendini gösterir. Bir kişinin bilgi ve deneyimlerinden pratik faaliyete ihtiyaçları, niyetleri, ilgi alanlarına uygun olarak geçişini sağlayacaktır. Aynı zamanda, gönüllü çabaların yardımıyla, bir kişi davranışını düzenler, bu tür hareketlerin ortaya çıkmasını ve idealler, gerekli olan inançlarla karşılaşmayan bu tür eylemlerin uygulanmasını engeller. Bu, frenleme, kontrol, davranış kontrolünün ifadesidir.

Fizyolojik bazlar, serebral korteksin birinci ve ikinci sinyal sistemlerinin etkileşimini oluşturacaktır. Kullanımı, esas olarak, ilk sinyal sistemi doğrudan çevreye, insan aktivite koşullarına yansıtılır. Hedefin yerleştirilmesi, bunu başarmanın yollarıyla düşünmek, bilinçli çabalar, zorlukların üstesinden gelmek, kendilerinin tedavisi, ikinci sinyal sisteminin faaliyetine dayanır. Bu iki sistemin birliğinde ve etkileşiminde, ikinci sinyal sistemi öncü bir rol oynar. "MAN," I.P. Pavlov, "Her şeyden önce, ilk sinyalleme sistemi aracılığıyla gerçekliği algılar, daha sonra ikinci sinyal sistemi (kelime, konuşma, bilimsel düşünme) yoluyla gerçekliğin ustası haline gelir." Dedi.

Bir gönüllü eylem yapıldığında, beynin korteksinde karmaşık uyarma ve frenleme işlemleri meydana gelir. Heyecan, etkinleştirmenizi sağlar, frenleme kelimeleri ve hareketleri geciktirmektir. Beynin korteksinin (birinci ve ikinci sinyal sistemlerinin) kuvvetinin gücü ve dengesi, insan davranış düzenlemesinin temelidir.

Kaydırıcı süreci, insan ruhunun diğer tüm taraflarıyla yakından bağlantılıdır: dikkat, düşünme, hayal gücü, hafıza, duygular, mizaç, yetenekler, karakter. "Volya," I.M. Schenov, "Yaklaşık bir etki ajanı yok, sadece hareket tarafından atma, zihnin aktif tarafı ve ahlaki duygudur" yazdı.

Bir kişi, yalnızca irade sayesinde değil, ihtiyaçları, duyguları, deneyimleri, bilgi, alışkanlıklarından etkilenen bir engelin üstesinden gelir. Bu nedenle, zorlukların üstesinden gelen tek kriterin tek kriterinin dikkate alınması imkansızdır. Vakitsel zihinsel sürecin özellikleri, hedefe ulaşmak için tüm fırsatların aktivasyonunu amaçlayan bilinçli çabalardan oluşur.

Her bir gönüllü eylemin belirli bir iç yapıya sahiptir. Basit gönüllü eylemde, iki seviye açıkça ayırt edilir - amaç ve yürütmenin amacı. Hedefe ulaşmayı amaçlayan eylem, uygun sebep ortaya çıktığında hemen gerçekleştirilir. Orta linkler burada eksik.

Karmaşık bir gönderi eylemi içerir: hedefin farkındalığı, önemi; En uygun eylem yollarının hedefine ulaşmanın yollarının tanımı; karar verme; yürütme alınan, görevi yerine getirin; Değerlendirme yapıldı.

Herhangi bir gönüllü eylem, bir kişinin önünde ortaya çıkan bir hedefin varlığını içerir. Başka bir deyişle, bir kişi belirli eylemlerle elde etmek istediğinin farkındadır - takımdaki konumunu değiştirin, bazı ihtiyaçları karşılayın vb. İnsanlarda amaç, iç motiflerin (motiflerin) gerçekleştirilmesi sonucu veya lider, komutan tarafından sağlanan görevin farkındalığını gerçekleştirmenin bir sonucu olarak ortaya çıkar. Buradaki önemli bir psikolojik sorun, bu görevi yerine getirme ihtiyacı olan bir kişinin derin bir farkındalığıdır, bunu içsel olarak kabul edilen bir hedefe, başarma arzusunun ortaya çıkması.

Kaydırıcı eylemin bir sonraki bağlantısı, hedefin nasıl elde edileceğini düşünmek, bunu başarmanın yolu ne olmalı, ne tür eylemler ona gidecektir. Aynı zamanda, bazen bir şekilde veya diğerinin fizibilitesi, hedefin gerçek başarısını sağlayan araçların seçimi ile tartılır. Bütün bunlar, entelektüel insan faaliyetlerinden kaynaklanmaktadır. Genellikle kişiliğin motivasyon alanından etkilenir, motiflerin güreşi ortaya çıkar, yani. Seçimin sahip olacağı rakip, süzülmeyen motivasyonların çarpışması. Ve burada kişi, çelişkili motivasyon mücadelesinin üstesinden gelmek için gönüllü bir çaba göstermek zorunda.

Becerinin temel bağlantısı, bu eylemi uygulamaya, hangi hedefe ulaşmak için bir karar vermektir. Karar vermek, sadece maksimum farkındalık değil, aynı zamanda belirleme, kişilik sorumluluğu gereklidir. Karar verme, bir kural olarak, deşarj gelir, motiflerin mücadelesine eşlik eden stresi zayıflatır. Bir kişi tam bir rahatlama, bir memnuniyet duygusu, tüm salınımlar ve iç stresler kaldırılır, eğer kararı arzularını, düşüncelerini yaptıysa. Ancak rahatlama gelir ve daha sonra karar, bir kişinin arzuları ve özlemleriyle tam olarak tutarlı olmadığında gelir. Voltaj, kararın çok gerçeği azaltır.

Çözümün yürütülmesi, gönüllü eylemin ana kısmıdır. Her zaman dış ve iç güçlüklerin üstesinden gelmekle ilişkilendirilir. Dış, nesnel zorluklar, kişiye bağlı değildir. Bunlar işlerde zorluk, gerçekleştirilen operasyonların karmaşıklığı, büyük fiziksel çabalar, diğer insanların, hava ve iklim koşullarının direnişini vb. Yurtiçi, öznel zorluklar, kişinin fiziksel ve zihinsel durumuna bağlıdır. Bunlar, eski alışkanlıklar ile yeni gereksinimler, vb. Çoğu durumda, eski alışkanlıklar ve yeni gereksinimler arasında çelişki eksikliğini içerir.

Bu zorlukların üstesinden gelmek için, bir kişi tarafından odaklanmış bir eylem veya kesinti yapmak için harcanan enerji miktarı ile karakterizedir. Kaydırıcı çabalar, gönüllü eylemin tüm bağlantılarına nüfuz eder - hedefin farkındalığı, başarmanın yollarının tanımı, karar verme. Ancak özellikle zorluklarla mücadelede bir karar yürütme sürecinde özellikle tezahür eder. İnsanın isteklerini yargılamak için gönülsüz çaba gösterme yeteneğine göre.

Bir gönüllü eylemin psikolojik yapısında önemli bir yer yapılan bir değerlendirmeyi kaplar. Aktivite sürecinde bile, bir kişi eylemlerini kontrol eder ve ayarlar. Her an, sonuçta ortaya çıkan sonucu, önceden oluşturulan ideal bir yolla (veya parçaları) ile birleştirir. Faaliyetin son aşamasında, sonuçlarının değerlendirilmesi, başarı sürecinin analizi bağımsız bir değer tarafından elde edilir. Gelecekte insan eylemlerinde olumlu ve dezavantajları tanımlamak ve dikkate almak gerekir.

Özellikle önemli bir gönüllü eylem (kahramanca tapu, feat) herkesin güçlerini harekete geçirirken son derece kısa bir sürede acele olarak taahhüt edilir. Bu tür koşullarda, gönüllü eylemin tüm bağlantıları birbirine birleştiriliyor gibi görünüyor, birbirlerine karşılıklı olarak nüfuz eder. Hedef, karar verme, eylem programı, buradaki hedefe ulaşmanın yollarının tanımı, bir kişinin doğrudan pratik eylemlerine dahildir. Çoğu zaman acil durumlarda olur: bir savaş durumunda, insanların hayatının kurtulmasında, doğal eylemler, kazalar, felaketler vb.

Makalenin ikinci bölümünde, derin öğrenmenin inceliklerini tartışmaya devam ediyoruz.

5. Aktivasyon fonksiyonlarının seçimi

Derin bir sinir ağının en önemli yönlerinden biri aktivasyon fonksiyonu (Aktivasyon işlevi), ağa getiren doğruluk dışı olma. Daha sonra, ortak aktivasyon işlevlerini göz önünde bulunduruyoruz ve seçtikleri için önerilerde bulunuyoruz.

Sigmoid

Sigmoid (sigmoid) aşağıdaki formülle ifade edilir: Σ (x) \u003d 1 / (1 + e -x). Bu fonksiyon girişte keyfi bir gerçek numara alır ve çıkışta 0 ila 1 aralığında gerçek bir sayı verir. Özellikle, büyük (modül) negatif sayılar sıfıra dönüşür ve büyük pozitif hale gelir. Tarihsel olarak, sigmoid yaygın olarak kullanılmıştır, çünkü çıkışı nöronun aktivasyonu seviyesi olarak iyi yorumlanır: aktivasyon eksikliğinden (0) tamamen zengin aktivasyon (1).

Şu anda, sigmoid kendi popülerliğini kaybetti ve çok nadiren kullanılır. Bu özelliğin iki ciddi dezavantajı vardır:

  1. Sigmoid doygunluğu degradelerin zayıflamasına yol açar. Sigmoidin son derece istenmeyen özelliği, işlevi bir taraftan veya başka bir (0 veya 1) yerlilerken, bu sitelerdeki gradyanın sıfıra yaklaşmasıdır. Hatanın ters yayılımı sürecinde, bu (yerel) degrade'in ortak bir gradyan tarafından çarpıldığını hatırlayın. Bu nedenle, yerel gradyan çok küçükse, aslında genel degradeyi sıfırlar. Sonuç olarak, sinyal neredeyse nörondan ağırlıklarına ve tekrar verilerine aktarılmayacaktır. Ek olarak, doygunluğu önlemek için sigmoid nöronların terazilerini başlatırken çok dikkatli olmalıdır. Örneğin, kaynak ağırlıkların çok büyük değerleri varsa, çoğu nöronun, şebekenin zayıf eğitileceği bir sonucu olarak doygunluk durumuna girer.
  2. Sigmoid çıktısı sıfıra göre ortalanmamıştır. Bu özellik istenmeyen, çünkü sonraki katmanlardaki nöronlar sıfıra göre ortalanmamış değerler alacak ve bu da dinamikleri etkiler. dereceli alçalma (Dereceli alçalma). Nöronlara giren değerler her zaman pozitif olursa (örneğin, x\u003e 0. Temel olarak B. f \u003d ω t x + b), sonra hatası döndürme işleminde tüm ölçeklerdeki tüm gradyanları ω olumlu ya da olumsuz olacak (tüm ifadenin degradesine bağlı olarak) f.). Bu, istenmeyen zikzak kilo güncellemelerinin dinamiğine yol açabilir. Bununla birlikte, bu gradyanların bir pakette özetlendiğinde, ağırlıkların son güncellemesi, kısmen tarif edilen dezavantajı düzleştiren farklı işaretlere sahip olabileceği belirtilmelidir. Böylece merkezleme eksikliği rahatsızlıktır, ancak doygunluk sorunuyla karşılaştırıldığında daha az ciddi sonuçlara sahiptir.

Hiperbolik teğet

Hiperbolik tansiyon (hiperbolik teğet, tanh) girişte keyfi bir gerçek sayı alır ve çıkışta -1 ila 1 arasında gerçek bir sayı verir. Sigmoid gibi, hiperbolik teğet doyurulabilir. Bununla birlikte, sigmoidin aksine, bu fonksiyonun çıkışı sıfıra göre ortalanır. Bu nedenle, pratikte, her zaman bir hiperbolik teğet kullanımı tercih edilir ve bir sigmoid değildir.

Reldur.

Son yıllarda, "doğrultucu" olarak adlandırılan aktivasyon özelliği (doğrultucu, elektrik mühendisliğinde tek-alterojenik bir doğrultucu ile analojiye göre) büyük bir popülerlik kazanmıştır. Bu aktivasyon fonksiyonlu nöronlar RELU (düzeltilmiş doğrusal ünite) denir. Reldur, aşağıdaki formüle sahiptir. f (x) \u003d maksimum (0, x) Ve sıfırda basit bir eşik uygular.

Reldur'un olumlu ve olumsuz taraflarını düşünün.

Olumlu taraflar:

  1. Sigmoid ve hiperbolik teğetlerin hesaplanması, egzersiz gibi kaynak yoğun işlemlerin uygulanmasını gerektirirken, Reldur, aktivasyon matrisinin sıfırda basit bir eşik dönüşümü kullanılarak uygulanabilir. Ek olarak, Reldur, doygun değil.
  2. Reldur kullanımı, sigmoid ve hiperbolik teğet ile karşılaştırıldığında stokastik bir degrade inişin (bazı durumlarda 6 kez) yakınsama oranını önemli ölçüde arttırır. Bunun doğrusal karakter ve bu fonksiyonun doygunluğunun olmaması nedeniyle olduğuna inanılmaktadır.

Olumsuz taraflar:

  1. Ne yazık ki, Reldur, yeterince her zaman güvenilir değildir ve öğrenme sürecinde başarısız olabilir ("ölmek"). Örneğin, Reldur'dan geçen büyük bir gradyan, bu nöronun asla etkinleştirilmediği bir ölçek güncellemesine yol açabilir. Bu olursa, bu noktadan başlayarak, bu nörondan geçen degrade her zaman sıfır olacaktır. Buna göre, bu nöron geri dönüşümsüz engelli olacaktır. Örneğin, çok fazla öğrenme hızı (öğrenme oranı) ile, Reldur'un% 40'ına kadar "ölü" (yani asla aktif değildir) ortaya çıkabilir. Bu sorun, uygun eğitim hızı seçilerek çözülür.

Şu anda, Reldur'un çeşitli modifikasyonlarında bir aile var. Sonra, özelliklerine bakacağız.

Lrelu αi'nin sabit bir değeri var, çünkü Prelu αi için veriler temelinde belirlenir, çünkü rrelu αji, eğitim sırasında belirtilen aralıktan rastgele üretilir ve test sırasında sabit kalır.

Sızdıran reldur.

Bir "sızıntı" (LEaky Relu, Lrelu) ile Reldur, sıradan Reldur'un başarısızlığının üzerinde açıklanan sorunu çözme girişimlerinden biridir. Aralıkta Normal Reldur x.< 0 Çıkışta sıfır verirken, LRELU'nun bu aralıkta küçük bir negatif değeri vardır (yaklaşık 0.01 köşe katsayısı). Yani, Lrelu işlevinin formu var. f (x) \u003d αx için x.< 0 ve f (x) \u003d x için x ≥ 0.α'nın küçük bir sabit olduğu yer. Bazı araştırmacılar bu aktivasyon fonksiyonunun başarılı bir şekilde uygulanmasını bildirir, ancak sonuçlar her zaman kararlı değildir.

Parametrik Reldur.

Parametrik Reldur (Parametrik Reldur, Prelu) için, negatif aralıktaki açısal katsayısı tanımlanmamıştır ve veri bazında belirlenir. Yayın yazarları, bu aktivasyon fonksiyonunun kullanımının, Imagenet'in görüntü tanıma görevinde insan seviyesini aşan önemli bir faktör olduğunu iddia. Hatanın ters yayılımı ve Prelu (s. 43 slayt) için güncelleme işlemi oldukça basittir ve geleneksel Reldur'ün uygun işlemine benzer.

Randomize reldur.

Randomize randomize bir Reldur, RRELU, eğitim sırasında negatif bir aralıkta açısal bir katsayısı, belirtilen aralıktan rastgele üretilir ve test sırasında sabit kalır. Ulusal Veri Bilimi Bowl (NDSB) bir parçası olarak, RRELU (NDSB) RRELU, doğallığın var olan rastgele elemanından dolayı yeniden eğitimi azalttı. Bu yarışmanın galibiyetine göre, öğrenirken α BEN. dağıtımdan rastgele üretilir 1 / u (3, 8)Ve test sırasında değer sürekli ve matematiksel beklentiye eşitti: 2 / (l + u) \u003d 2/11.

L1 Düzenlemesi, bunun sonucunda, vektör vektörlerinin seyrek olması (yani sıfıra çok yakın) olduğu gerçeğinden oluşan ilginç bir mülke sahiptir. Başka bir deyişle, L1 düzenlemeli nöronlar nihayetinde en önemli girdilerin sadece küçük bir alt kümesini kullanır ve buna göre, neredeyse "gürültülü" girdilerden etkilenmez.

Uygulamada, doğrudan özellik seçimine gerek yoksa, L2 Düzenlemesi, L1 düzenlemesine kıyasla en iyi sonucu sağlayacaktır.

Vektör standartlarını tartın

Bir başka düzenleme yöntemi, ağırlık vektörünün normunu sınırlama yöntemidir (Max Norm Sınırlaması). İçinde bu method Her nöronun ağırlık vektörünün normu için mutlak üst limiti ayarladık. Kısıtlamaya uygunluk, yansıtılabilir gradyan inişi (öngörülen gradyan inişi) tarafından sağlanır. Uygulamada, bu şu şekilde uygulanır: Ağırlıkların güncellenmesi her zamanki gibi yapılır ve ardından vektör ağırlıkları ω Her nöron şartla sınırlıdır || Ω || 2.< c . Tipik olarak, değer c. Bu yaklaşık 3 veya 4'tür. Bazı araştırmacılar bu düzenlileştirme yöntemini kullanırken olumlu bir etki bildirir. Bu yöntemin faydalı özelliklerinden biri, ağırlıkların "patlayıcı" büyümesini bile çok fazla eğitim hızı ile bile önlemenize izin vermesidir, çünkü tartım güncellemeleri her zaman sınırlıdır.

Damlatmak

Bırakma - yukarıda belirtilen yöntemleri tamamlayan basit ve çok etkili bir düzenleme yöntemi. Son zamanlarda işte önerildi. Yöntemin özü, öğrenme sürecinde paylaşılan Ağ Rastgele rastgele alt ağdan çıkın ve tartım güncellemesi yalnızca bu alt ağda gerçekleştirilir. Nöronlar olasılıkla alt ağa düşer p.hangi matkap katsayısı denir. Test sırasında, düşme geçerli değildir, bunun yerine, ağırlık, tüm alt ağların topluluğu için ortalama tahmini elde etmek mümkün olduğu bir sonucu, akış hızı katsayısı ile çarpılır. Uygulamada, matkap katsayısı p. Genellikle 0,5'e eşit olarak seçilir, ancak bir doğrulama veri kümesi kullanılarak seçilebilir.

Damlalar, en popüler düzenleme yöntemlerinden biridir. 2014 yılında Google bu yöntem için bir patent başvurusu yapmıştır.

7. Görselleştirme

Öğrenme sürecinde, öğrenmenin etkinliğini kontrol etmek için görselleştirme yapmak faydalıdır.

Bildiğiniz gibi, öğrenme oranı çok hassas bir parametredir. Şekil 1 Aşağıda, çok büyük (çok yüksek) bir eğitim hızlarında, hata eğrisinin kabul edilemez bir forma sahip olacağını görüyoruz. Küçük (düşük) bir öğrenme hızı ile, çok sayıda dönemden sonra bile hata çok yavaş azalır. Büyük (yüksek) bir eğitim hızı ile, hata hızla hızla azalır, ancak sonra ağın iyi sonuçlara ulaşamayacağı bir sonucu olarak yerel bir asgariye girer. Öğrenme hızı doğru şekilde seçildiğinde (iyi) (kırmızı çizgi), hata sorunsuz bir şekilde azalır ve sonunda minimum değere ulaşır.

Şimdi daha büyük bir ölçekte hata eğrisine bakalım. ERA (EPOCH), sırasıyla bir öğrenme veri seti için tek bir geçişe karşılık gelir, her dönem birçok mini paket (mini toplu iş) içerir. Her bir mini paket için hatayı görselleştirirsek, hata eğrisi Şekil 2'de görülecektir. Hata yavaşça azalırsa, muhtemelen öğrenme hızı çok büyüktür. Eğrinin "genişliği", mini paketin boyutuna karşılık gelir. "Genişlik" çok büyükse, yani mini paketler arasındaki dağılım çok büyük, mini paketin boyutunu arttırmanın gerekli olduğu anlamına gelir.

Başka bir sonuç, hassasiyet eğrileri kullanılarak yapılabilir. Şekil 3'te, kırmızı eğri öğrenme veri setinde doğruluğu temsil eder ve doğrulama üzerindeki yeşildir. Eğriler arasındaki mesafe, modelin ne kadar etkili olduğunu gösterir. Çok uzak bir mesafe, ağın eğitim verileriyle iyi bir şekilde sınıflandırıldığını ve doğrulama verilerini zayıflattığını göstermektedir. Sonuç olarak, bu durumda bir yeniden eğitim var. Bu sorunu çözmek için, düzenlileşmeyi güçlendirmek gerekir. Eğriler arasındaki mesafe yoksa ve her iki eğri de düşük doğruluk seviyesine karşılık gelirse, modelimizin yetersiz öğrenmesi olduğu anlamına gelir. Bu durumda, sonucu geliştirmek için modelin kabını arttırmak gerekir.

8. derin ağların ansumps

Bir modelin eğitiminin çeşitli aşamaları

Öğrenme sürecinin kaynaklar için çok talep edilmesi durumunda, örneğin her dönemden sonra bir modelin (kontrol noktası) eğitiminin bir topluluğunda birleştirilebilir. Bu yaklaşım daha fazla çeşitlilik sağlamaz, ancak pratikte yeterli iyi sonuçlar olabilir.

Pratik Örnek:

Gerçek görevlerde, veriler genellikle sınıflar tarafından düzensiz bir şekilde dağıtılır, yani bazı sınıfların çok sayıda eğitim görüntüsü vardır ve bazıları önemli ölçüde daha azdır. Son bir raporda bildirildiği gibi, dengesiz eğitim verileri, derin konvigasyonel ağların genel etkinliği üzerinde ciddi olumsuz etkileri olabilir. Bu sorunun en basit çözümü, sınıftaki görüntülerde, çok sayıda resimle görüntülerin dışlanmasıyla çoğaltmaktır. Yukarıda açıklanan rekabet bağlamında başvurduğumuz bu soruna başka bir çözüm kırpma. Kültürel olayların ilk görüntüleri, sınıflarca düzensiz bir şekilde dağıtıldığından, az sayıda eğitim örneği olan sınıflar için görüntü parçalarını öğrendik. Bir yandan, bu yaklaşım çeşitli öğrenme verileri ve diğeri ise dengesizlik sorununu çözmenize izin verilir.

Açıklanan sorunu çözmek için, stratejiyi de uygulayabilirsiniz. İnce ayar Tercih modellerinin (ince ayar). Özellikle, ilk eğitim veri seti, bir kısmın çok sayıda görüntü tarafından temsil edilen sınıflar içereceği ve diğer birçok görüntü tarafından temsil edilen diğer sınıfları içereceği şekilde iki parçaya ayrılabilir. Her bölüm nispeten dengeli olacaktır. Bundan sonra, önce modelleri çok sayıda görüntüle ve daha sonra az sayıda görüntüle sınıflarda ilk önce eğitmeniz gerekir.

Stanislav Petrenko 'nun çevirisi

) Üniversitedeki bilimsel çalışmamın bir parçasıdır, bu şöyle geliyordu: "Convinital bir sinir ağı kullanarak video akışındaki kişileri tespit etmek için programatik bir kompleks." Çalışmanın amacı, video akışındaki kişileri tespit etme sürecinde hız özelliklerini geliştirmektir. Bir akıllı telefon kamerası, bir video akışı olarak kullanıldı, bir masaüstü PS (Kotlin Dili), bir konvizyonlu sinir ağını oluşturmak ve öğretmek ve eğitimli ağı kullanan Android mobil uygulama (Kotlin Dili) oluşturmak ve bireyleri tanımaya çalışan Android mobil uygulaması (Kotlin Dili) için yazılmıştır. Kamera video akışından. Sonuçların öyle kullanılacağını söyleyeceğim kesin kopya Benim ve risk için önerilen topoloji (tavsiye etmem).

Teorik görevler

  • Çözülen problemin çözüldüğünü belirleyin (sınıflandırma, tahmin, modifikasyon);
  • girişi tanımlayın (tür: görüntü, ses, boyut: 100x100, 30x30, format: RGB, gri tonlamalı) ve çıktı (sınıf sayısı);
  • convinitional ağın topolojisini belirlemek (konvigasyonel, yükseltme, komple katmanların sayısı; işaretlerin belirtileri, çekirdeklerin boyutu, aktivasyon fonksiyonları).

Giriş

Na en iyi skorlar Bireylerin tanınması alanında, konvolitasyon nöral ağı, NA mimarisi fikirlerinin bir Cognitron ve Neocognitron olarak mantıklı gelişimi olan konviüzyonsal sinir ağı (bundan sonra SNA olarak da adlandırılır) gösterilmiştir. BAŞARI, çok katmanlı perceptrons'ın aksine, iki boyutlu görüntü topolojisine muhasebe olasılığı nedeniyledir.

Kavrama sinir ağları, ölçek, yer değiştirmeler, dönüşler, açı ve diğer bozulmalardaki değişikliklere karşı kısmi direnç sağlar. Kuplaj sinir ağları, ölçek değişikliğinin değişmezliğini sağlamak için üç mimari fikri birleştirir, vardiya ve mekansal bozulmayı çevirin:

  • yerel reseptör alanları (yerel iki boyutlu nöron bağlantıları sağlar);
  • ortak sinaptik katsayılar (görüntünün herhangi bir yerinde bazı özelliklerin tespit edilmesini sağlar ve toplam ağırlık katsayısı sayısını azaltın);
  • mekansal alt bölümlü hiyerarşik organizasyon.
Şu anda, konvigasyonel sinir ağı ve modifikasyonları, doğruluk açısından en iyisi ve olay yerinde nesneleri bulma algoritmalarının hızı olarak kabul edilir. 2012'den bu yana, sinir ağları, Imagenet görüntülerini tanımak için tanınmış uluslararası yarışmada ilk yerleri işgal ediyor.

İşte bu yüzden çalışmasında, shogynitronun ilkelerine ve bir hata dağıtım algoritmasında acil bir öğrenmeyi temel alan konviüzyonel bir sinir ağı kullandığımdır.

Kuplaj sinir ağ yapısı

SNS oluşur farklı türler Katmanlar: Kuplaj (konvolitional) katmanlar, alt düzenleme (alt örnekleme, alt örnek) katmanlar ve "sıradan" sinir ağı - perseceptron katmanları, Şekil 1'e göre.


Şekil 1 - Convinitional Sinir Ağı Topolojisi

İlk iki kat katman türü (Convinitional, AboutPling), kendi aralarında alternatif, çok katmanlı bir perceptron için işaretlerin giriş vektörünü oluşturur.

Convomition, adını operasyonun başlığına aldı - bir konvolasyon, özü açıklanacak bir konvolite.

Kavrama ağları biyolojik olarak inanılır ağlar ve geleneksel bir çok katmanlı perceptron arasında başarılı bir ortamdır. Bugüne kadar, görüntü tanımadaki en iyi sonuçlar yardımlarıyla elde edilir. Ortalama olarak, bu tür ağların tanınmasının doğruluğu, normal denetimleri% 10-15 oranında aşmaktadır. SNS, temel bir teknoloji derin öğrenmedir.

SNS başarısının temel nedeni, paylaşılan ölçekler kavramıydı. Büyük boyuta rağmen, bu ağların ataları - neocognitron ile karşılaştırıldığında az miktarda özel parametreye sahiptir. NEOSOGNITRON'a benzer, bu tür ağlarda, bu tür ağlarda, ilişkili ölçeklerin bir kısmi reddetmesi, ancak öğrenme algoritması da aynı kalır ve geri dönüş hatasına dayanan SNA'nın (kiremitli konvolitasyon nöral ağının) varyantları vardır. SNA, bir seri makine üzerinde hızlı bir şekilde çalışabilir ve her karttaki konvolasyon işleminin net paralellenmesi ve ağ hatası dağıtıldığında ters bir konvolasyon nedeniyle hızlıca öğrenebilir.

Aşağıdaki şekil, bir evrişim ve alt seçim görselleştirmesini göstermektedir:

Nöron modeli


Convinitional Nouralo Topolojisi

Ağ topolojisinin tanımı, çözülmüş göreve odaklanır, bilimsel makaleler Ve kendi deneysel deneyimi.

Topoloji seçimini etkileyen aşağıdaki aşamaları seçebilirsiniz:

  • sinir ağıyla çözülmüş sorunu belirleyin (sınıflandırma, tahmin, modifikasyon);
  • Çözülen problemdeki sınırlamaları belirlemek (yanıtın hız, doğruluğu);
  • girişi tanımlayın (tür: görüntü, ses, boyut: 100x100, 30x30, format: RGB, gri notlar halinde) ve çıktı (sınıf sayısı).
Sinirsel görevim çözüldü - görüntülerin sınıflandırılması, özellikle de kişiler. Ağdaki empoze edilen kısıtlamalar cevap hızıdır - 1 saniyeden fazla değil ve en az% 70'lik tanıma doğruluğu. Şekil 2'ye göre toplam ağ topolojisi.


Şekil 2 - Convinitional Sinir Ağı Topolojisi

Giriş katmanı

Giriş verileri, JPEG'in renkli görüntülerini gösterir, 48x48 piksel boyutu. Boyut çok büyükse, hesaplama karmaşıklığı sırasıyla artacaktır, yanıt hızı üzerindeki kısıtlamalar kırılacaktır, bu sorundaki boyutun tanımı seçim yöntemiyle çözülür. Boyutu seçerseniz çok küçükse, ağ, insanların kilit belirtilerini tanımlayamaz. Her görüntü 3 kanala ayrılır: kırmızı, mavi, yeşil. Böylece, 48x48 piksel boyutunun 3 görüntüsü elde edilir.

Giriş katmanı, iki boyutlu görüntü topolojisini dikkate alır ve birkaç karttan (matrisler) oluşur, resim sadece gri tonlarında sunulursa, aksi takdirde her kartın bir Belirli bir kanalla (kırmızı, mavi ve yeşil) resim.

Her spesifik piksel değerin girişi, formüle göre 0 ila 1 arasında normalleştirilir:

Kesici katmanı

Koçluk katmanı bir dizi karttır (başka bir isim - işaret belirtileri, günlük yaşamın sıradan matrislerdir), her kartın bir sinaptik çekirdeği vardır (farklı kaynaklarda farklı şekilde adlandırılır: bir tarama çekirdeği veya filtre).

Kart sayısı, çok sayıda kart alırsanız, Tanınma Kalitesi artacaktır, ancak hesaplama karmaşıklığı artacaktır. Bilimsel makalelerin analizine dayanarak, çoğu durumda, bir ila iki, yani önceki katmanın her bir kartının (örneğin, bir önceki ilk konvizyon katmanında, bir önceki girişte) ilişkili olması önerilir. Konvigrumel katmanın iki kartıyla, Şekil 3'e göre. Kart sayısı - 6.


Şekil 3 - Korv gelişim katmanının kartları ile bir önceki arasındaki bağlantıların organizasyonu

Konvolitasyon katmanının tüm kartlarının boyutu aynıdır ve formül 2 ile hesaplanır:

Çekirdek, önceki kartın tüm bölgesi boyunca kaygan bir filtre veya bir penceredir ve belirli nesnelerin belirtileri bulur. Örneğin, ağ bir dizi kişi üzerinde eğitildiyse, çekirdeklerden biri, göz, ağız, kaşlar veya burun alanındaki en büyük sinyali üretmek için öğrenme sürecinde bir tane olabilir, başka bir çekirdek başka işaretleri algılayabilir . Çekirdek boyutu genellikle 3x3 ila 7x7 arasında değişmektedir. Çekirdeğin boyutu küçükse, çok büyükse, nöronlar arasındaki bağlantıların sayısı arttırılamazsa, herhangi bir işaretleri vurgulayamayacaktır. Ayrıca, çekirdeğin boyutu seçilir, böylece konvigasyonel katman kartlarının büyüklüğü bile, boyutun aşağıda açıklanan telektal katmanda azaltıldığında bilgi kaybetmenize izin verir.

Çekirdek, bir paylaşılan ölçek veya sinaps sistemleridir, bu, konvinitör nöral ağın ana özelliklerinden biridir. Her zamanki çok katmanlı ağda, nöronlar arasında, yani synaps'lar arasında yavaşça algılama işlemini yavaşlatan birçok bağlantı vardır. Convinitional ağda, aksine, toplam ağırlıklar bağlantı sayısını azaltır ve tüm görüntü alanındaki aynı işarete izin verir.

Başlangıçta, her bir konvetimize katman kartının değerleri 0'a eşittir. Nükleer ağırlığın değerleri bölgede -0.5 ila 0.5 arasında rastgele belirtilmiştir. Çekirdek önceki haritayı kaydırır ve görüntüleri işlemek için kullanılan bir konvolasyon işlemi yapar, formül:

Gayri resmi olarak, bu işlem aşağıdaki gibi tarif edilebilir - çekirdek boyutu penceresi, verilen bir adım (genellikle 1) tüm görüntü f, her adımda, pencerenin içeriğini çekirdek g'ye çarptığımızda, sonucu toplandıktan sonra ve sonuç matrisinde, Şekil 4'teki gibi kaydedildi.


Şekil 4 - ÇALIŞTIRMA VE KONTROL EDİLDİ


İşlemi kesin ve konvigrik kart değerleri almak. Çekirdek kaydırılır, yeni kart öncekiyle aynı boyutta elde edilir (aynı)

Bu durumda, orijinal matrisin kenarlarının işleme yöntemine bağlı olarak, sonuç, orijinal görüntüden (geçerli), aynı boyutta (aynı) veya daha büyük boyut (Dolu), Şekil 5'e göre.


Şekil 5 - Kaynak matrisinin üç türü

Basitleştirilmiş bir formda, bu katman formülle tanımlanabilir:

Aynı zamanda, sınır etkileri nedeniyle, ilk matrislerin boyutu, formül:

Sugorating katmanı

Sling katmanı ve önyükleyicinin de kartları vardır, ancak bunları önceki (konvutional) katmanla çakışıyor, 6'dırlar. Katmanın amacı, önceki katman kartlarının boyutunu azaltmaktır. Önceki konvolasyon işlemi zaten bazı işaretleri tanımlamışsa, daha sonra daha fazla işleme için, daha fazla işlem için artık gerekli değildir ve daha az ayrıntılı olarak sıkıştırılır. Ek olarak, zaten gereksiz parçaların filtrelemesi yeniden eğitilmemeye yardımcı olur.
Önceki katmanın haritasının alt katmanının (filtre) çekirdeğini tarama işleminde, tarama çekirdeği konvigasyon katmanının aksine kesilmez. Genellikle, her kartın, konvomitasyon katmanının önceki kartlarını 2 kez azaltmanıza olanak sağlayan 2x2 bir çekirdekten sahiptir. Tüm işaret kartı, maksimum değerin seçili olan elemanın 2x2 hücresine ayrılmıştır.

Genellikle, telektal katmanda RELU aktivasyon işlevi kullanılır. Şekil 6'ya göre olay işletimi (veya MaxPooling maksimum seçimdir).


Şekil 6 - Formasyon yeni kart Önceki bağlantı katmanı kartına göre kaynak katmanı. Maksimum Havuzlama

Resmi olarak, katman formül tarafından tanımlanabilir:

Tam kat

Katman türlerinin sonundaki son derece çok katmanlı bir perceptron katmanıdır. Katmanın amacı sınıflandırma, tanıma kalitesinin iyileştirilmesini optimize eden karmaşık bir doğrusal olmayan işlevi simüle eder.

Önceki alt örnek katmanın her bir kartının nöronları, bir gizli tabaka nöron ile ilişkilidir. Böylece, gizli tabakanın nöronlarının sayısı, alt toprak tabakasının kartlarının sayısına eşittir, ancak iletişim mutlaka gerek olmayabilir, örneğin, alt toprak tabakasının herhangi birinin herhangi birinin nöronlarının yalnızca bir kısmı ile ilişkilidir. Gizli katmanın ilk nöronu ve ikinci haritaların ikinci veya tüm nöronları ile kalan kısım, gizli tabakanın 1 ve 2. nöronlarıyla ilişkilidir. Nöron değerlerinin hesaplanması, formülle tanımlanabilir:

Çıkış katmanı

Çıkış katmanı, önceki katmanın tüm nöronlarıyla ilişkilidir. Nöron sayısı, tanınabilir sınıfların sayısına karşılık gelir, yani 2 yüz ve yüz değil. Ancak, ikili vaka için bağlantı ve hesaplamaların sayısını azaltmak için, bir nöron kullanılabilir ve bir aktivasyon fonksiyonu olarak kullanıldığında, hiperbolik teğet, nöronun -1 değeri olan, "yüz değil" sınıfına ait olduğu anlamına gelir, 1 değeri olan nöron veriminin karşısında - sınıfa ait anlamına gelir.

Etkinleştirme işlevini seçin

Sinir ağının gelişmesinin aşamalarından biri, nöronların aktivasyon işlevini seçmektir. Aktivasyon fonksiyonunun türü büyük ölçüde belirlenir. fonksiyonellik Nöral ağı ve bu ağı öğrenme yöntemi. Klasik hata dağıtım algoritması iki katmanlı ve üç katmanlı sinir ağlarında iyi çalışıyor, ancak derinlikte daha fazla artışla sorun yaşamak için başlıyor. Sebeplerden biri de degradelerin sağırlığı olarak adlandırılır. Hata çıkış katmanından her kattaki girişe dağıtıldığı için, akım sonucu aktivasyon fonksiyonunun türevine dayanır. Geleneksel sigmoid aktivasyon fonksiyonunun türevi, tüm tanım alanındaki üniteden daha azdır, bu nedenle birkaç katmandan sonra hata sıfıra yaklaşır. Aksine, aktivasyon fonksiyonunun sınırsız bir türev vardır (örneğin, bir hiperbolik teğet olarak), yayılma işleminin dağılmasından kaynaklanacağı için, hatadaki patlayıcı bir artış meydana gelebilir, bu da öğrenme prosedürünün kararsızlığına yol açacaktır.

Bu çalışmada, gizli ve çıkış katmanlarında aktivasyonun bir fonksiyonu olarak bir hiperbolik teğet kullanılır, Reldur, konvinitasyon katmanlarında uygulanır. Sinir ağlarında kullanılan en yaygın aktivasyon işlevlerini göz önünde bulundurun.

Sigmoid Aktivasyon Fonksiyonu

Bu fonksiyon, sürekli fonksiyonların bir sınıfını belirtir ve girişte keyfi bir gerçek numara alır ve çıkışta 0 ila 1 aralığında gerçek bir sayı verir. Özellikle, negatif sayılar sıfıra ve büyük pozitif olarak birinde. Tarihsel olarak, sigmoid yaygın olarak kullanılmıştır, çünkü çıkışı nöronun aktivasyonu seviyesi olarak iyi yorumlanır: aktivasyon eksikliğinden (0) tamamen zengin aktivasyon (1). Sigmoid (sigmoid), formül tarafından ifade edilir:

Aşağıdaki şekle göre bir sigmoidal fonksiyonun grafiği:

Sigmoidin son derece istenmeyen özelliği, işlevi bir taraftan veya başka bir (0 veya 1) yerlilerken, bu sitelerdeki gradyanın sıfıra yaklaşmasıdır.

Hatanın ters yayılımı sürecinde, bu (yerel) degrade'in ortak bir gradyan tarafından çarpıldığını hatırlayın. Bu nedenle, yerel gradyan çok küçükse, aslında genel degradeyi sıfırlar. Sonuç olarak, sinyal neredeyse nörondan ağırlıklarına ve tekrar verilerine aktarılmayacaktır. Ek olarak, doygunluğu önlemek için sigmoid nöronların terazilerini başlatırken çok dikkatli olmalıdır. Örneğin, kaynak ağırlıkların çok büyük değerleri varsa, çoğu nöronun, şebekenin zayıf eğitileceği bir sonucu olarak doygunluk durumuna girer.

Sigmoidal işlev:

  • sürekli;
  • monotonca artan;
  • farklılaştırılmış.

Aktivasyon fonksiyonu hiperbolik teğet

Bu çalışmada, gizli ve çıkış katmanları için bir aktivasyon işlevi olarak hiperbolik teğet kullanılır. Bu, aşağıdaki nedenlerden kaynaklanmaktadır:
  • hiperbolik teğetler gibi simetrik aktivasyon fonksiyonları, standart lojistik fonksiyondan daha hızlı yakınsama sağlar;
  • İşlev sürekli bir ilk türevine sahiptir;
  • İşlev, hesaplamaların tasarrufu sağlayan değeri ile hesaplanabilen basit bir türev vardır.
Hiperbolik teğet fonksiyonunun grafiği Şekilde gösterilmiştir:

Relu Aktivasyon Fonksiyonu

Sinir ağlarının yeterince katman varsa ve aktivasyon fonksiyonunun doğrusal olmadığı durumlarda keyfi karmaşık bir işlevi getirme yeteneğine sahip olduğu bilinmektedir. Sigmoid veya teğet gibi aktivasyon fonksiyonları doğrusal değildir, ancak zayıflama veya artan degradelerle ilgili sorunlara yol açar. Bununla birlikte, çok daha basit bir seçenek kullanmak mümkündür - formül tarafından ifade edilen düzleştirilmiş bir doğrusal aktivasyon işlevi (düzeltilmiş doğrusal ünite, reldur):

RELU fonksiyonunun grafiği aşağıdaki resme göre:

Relu kullanmanın avantajları:

  • türevi bir birime veya sıfıra eşittir ve bu nedenle büyüme, gradyanların oluşabileceği veya zayıflaması, çünkü Ünitenin Hata Delta Üzerindeki Çoğaltılması Bir hata alacağız, örneğin bir hiperbolik teğet, daha sonra Delta hatası, o zaman, yani, bunun türevi olabilir, Hiperbolik teğet, sayıyı farklı işaretler ve zayıflamayı veya gradyanın büyümesini kuvvetle etkileyebileceğiniz büyüklüğü döndürür. Ayrıca, bu fonksiyonun kullanımı, ölçeklerin inceltilmesine yol açar;
  • sigmoid ve hiperbolik teğetin hesaplanması, egzersiz gibi kaynak yoğun operasyonların uygulanmasını gerektirirken, Reldur, aktivasyon matrisinin sıfırda basit bir eşik dönüşümü kullanılarak uygulanabilir;
  • kanaldaki gereksiz parçaları olumsuz bir çıktı ile keser.
Dezavantajlardan, Reldur'un her zaman yeterince güvenilir olmadığı ve öğrenme sürecinde başarısız olabileceği belirtilebilir ("Die"). Örneğin, Reldur'dan geçen büyük bir gradyan, bu nöronun asla etkinleştirilmediği bir ölçek güncellemesine yol açabilir. Bu olursa, bu noktadan başlayarak, bu nörondan geçen degrade her zaman sıfır olacaktır. Buna göre, bu nöron geri dönüşümsüz engelli olacaktır. Örneğin, çok fazla öğrenme hızı (öğrenme oranı) ile, Reldur'un% 40'ına kadar "ölü" (yani asla aktif değildir) ortaya çıkabilir. Bu sorun, uygun eğitim hızı seçilerek çözülür.

Deneylerde kullanılan eğitim örnekleri

Eğitim örneği olumlu ve olumsuz örneklerden oluşur. Bu durumda, bireylerden ve "kişiler değil". Olumsuz örneklerin 4 ila 1, 8000 pozitif ve 2000 olumsuzluğuna pozitif oranı.

LFW3D veritabanı olumlu bir eğitim örneği olarak kullanıldı. JPEG tipi ön kişilerin, 90x90 piksel boyutunun renk görüntülerini 13000 miktarında içerir. Veritabanı FTP tarafından sağlanır, erişim şifre ile gerçekleştirilir. Bir şifre almak için doldurmanız gerekir ana Sayfa Site basit formu adınızı belirler ve e-posta. Veritabanındaki bireylerin bir örneği aşağıdaki şekle göre gösterilir:

Olumsuz eğitim örnekleri olarak, Sun397 veritabanı kullanıldı, kategorilere ayrılmış olan her türlü sahne türünü içerir. Toplam 130.000 görüntü, 908 sahne, 313000 sahne nesnesi. Bu tabanın toplam ağırlığı 37 GB'dir. Görüntü kategorileri oldukça farklı ve son PS'nin kullanılacağı daha spesifik bir ortam seçmenize izin verir. Örneğin, bir priori, kişilerin dedektörünün yalnızca iç mekanları tanıdığı için tasarlandığı biliniyorsa, doğa, gökyüzü, dağlar vb. Bu nedenle, aşağıdaki görüntü kategorileri çalışmanın yazarı tarafından seçildi: oturma odası, ofis, serin oda, bilgisayar odası. Sun397 eğitim örneğinden görüntü örnekleri, aşağıdaki şekle göre gösterilmiştir:

Sonuçlar

Sinyalin giriş görüntüsünden 90x90 piksel boyutuyla doğrudan dağılımı 20 ms (PC'de), 3000 ms sürer mobil uygulama. 640x480 piksel çözünürlükte bir video akışında bir yüzü tespit ederken, 90x90 piksellik bir boyutu olan kaplama alanını tespit etmek mümkündür. Seçilen ağ topolojisiyle elde edilen sonuçlar Jones Violi algoritmasına kıyasla daha kötüdür.

sonuç

Kavrama sinir ağları, ölçek, yer değiştirmeler, dönüşler, açı ve diğer bozulmalardaki değişikliklere karşı kısmi direnç sağlar.

Çekirdek - Tüm görüntünün boyunca kaydırılan ve herhangi bir yerde bir kişinin işaretlerini bulmuş bir filtredir (arzusun değişmezliği).

Sugorating katmanı Verir:

  • önceki katmanın kartlarının boyutunu azaltarak hesaplamaların hızında (en az 2 kez) bir artış;
  • zaten gereksiz parçaların filtrelenmesi;
  • İşaretleri daha fazla ara yüksek seviye (bir sonraki konvizyon katman için).
Son katmanlar - Her zamanki çok katmanlı perceptron katmanları. İki tam ve bağlı ve bir gün kapalı. Bu katman, sınıflandırmadan, matematiksel bir bakış açısıyla sorumludur, bu, tanıma kalitesinin iyileştirildiğini optimize eden karmaşık bir doğrusal olmayan işlevi simüle eder. Bir tabakadaki nöron sayısı 6, alt toprak tabakasının işaretlerinin kartlarının sayısı ile.

Muhtemel iyileştirmeler

  • nureRetas Fast-RCNN, Yolo'yu düşünün;
  • grafik işlemcilerindeki öğrenme sürecinin paralelleştirilmesi;
  • performansı iyileştirmek için Android NDK (C ++) kullanma

Convinitional Sinir Ağının eğitimi,

Yapay nöron ne yapar? Basit kelimelerGirişlerinde ağırlıklı bir miktarı dikkate alır, ofset (önyargı) ekler ve karar verir, bu değer hariç tutulmalı veya kullanılmalıdır (evet, aktivasyon fonksiyonu çalışır, ancak sıraya girelim).

Aktivasyon fonksiyonu Nöronun çıkış değerini, askıya alınmış miktarın ve eşik değerinin sonucuna bağlı olarak tanımlar.

Nöronları düşünün:

Şimdi değer Y. Bantta ve-sonsuzluktan + sonsuzluğa kadar herhangi bir olabilir. Gerçekte, nöron, aktivasyonun olması gerektiği sınırını bilmiyor. Nöronun aktif olup olmadığına karar verdiğimizin sorusunu cevaplayacaklar (aktivasyon düzenini, biyolojiyle bir benzettiğimiz gibi düşünüyoruz. Böylece beyin çalışır ve beyin, bir çalışmanın iyi bir ifadesidir. karmaşık ve makul bir sistem).

Bu amaçla, bir aktivasyon işlevi eklemeye karar verdiler. Nöron tarafından üretilen değeri kontrol eder Y. Harici iletişimin bu nöronu etkin olarak görmesi gerektiği konusunda veya göz ardı edilebilir.

Adım Fonksiyon Etkinleştirme

Aklıma gelen ilk şey, aktivasyon fonksiyonu için bir aktivasyon sınırı olarak kabul edilenlerin sorusudur. Değerse Y. Bazı eşiklerden daha fazlası, nöronun aktif olduğunu düşünüyoruz. Aksi takdirde, nöronun aktif olmadığını söylüyoruz. Böyle bir şema çalışmalı, ancak önce resmileştirilelim.

  • Fonksiyon A \u003d Y\u003e Sınır ise etkinleştirilir, aksi halde değil.
  • Başka bir yöntem: A \u003d 1, eğer öĞRENDİRME, aksi takdirde A \u003d 0.

Yeni oluşturduğumuz işlev bir adım attı. Bu işlev aşağıdaki şekilde gösterilir.

İşlev değeri alır 1 (aktif olarak) ne zaman Y\u003e 0 (sınır) ve 0 değeri (etkin değil).

Bir nöron için bir aktivasyon işlevi yarattık. Bu kolay bir yol, ama içinde kusurlar var. Aşağıdaki durumu düşünün.

Oluşturduğumuzu hayal et İkili sınıflandırıcı - "Evet" ya da "Hayır" diyecek bir model (etkinleştirilip). Kademeli bir işlev sizin için yapacak - 1 veya 0 görüntüler.

Şimdi, daha fazla sayıda nöron gerekli olduğunda durumunu hayal edin. birçok sınıfın sınıflandırılması: Class1, Class2, Class3 vb. 1'den fazla nöron etkinleşirse ne olacak? Tüm nöronlaraktivasyon fonksiyonundan, 1. Bu durumda, hangi sınıfta belirli bir nesneye çıkması gereken sorular ortaya çıkıyor.

Sadece bir nöronu etkinleştirmek istiyoruz ve diğer nöronların aktivasyon işlevleri sıfırdı (sadece bu durumda, ağın sınıfı doğru bir şekilde belirlediğinden emin olabilirsiniz). Böyle bir ağ, yetişmek ve yakınsama aramak zordur. Aktivasyon işlevi ikili değilse, değerler "% 50 oranında" etkinleştirilir ","% 20 "ve benzeri. Birkaç nöron etkinse, nöronu aktivasyon fonksiyonunun en büyük değeri ile bulabilirsiniz (elbette daha iyi, böylece softmax. işlev ve değil maksimum. Ancak bu sorularla ilgilenmeyene kadar).

Ancak bu durumda, daha önce olduğu gibi, birden fazla nöron "% 100 aktive" deyin, sorun hala kalır. Var olduğu için ara değerler Nöronun sonucunda, öğrenme süreci daha pürüzsüz ve hızlı ve egzersiz sırasında tam olarak aktif olan birkaç nöronun görünümünün kademeli bir aktivasyon fonksiyonuna kıyasla azaltılması (ne verdiklerinize ve hangi verilerin üzerine bağlı olmasına rağmen) azalır. ).

Aktivasyon fonksiyonunun (analog fonksiyon) ara değerlerini elde etmek istediğimize karar verdik ve sadece "etkinleştirilmeden" ya da değil (ikili işlev).

Kafaya gelen ilk şey doğrusal bir fonksiyondur.

Doğrusal Aktivasyon Fonksiyonu

A \u003d cx.

Doğrusal fonksiyon düz bir çizgidir ve girişle orantılıdır (bu nörondaki ağırlıklı miktardır).

Böyle bir etkinleştirme işlevi, sadece bir ikili yanıt değil, değer yelpazesi almanızı sağlar. Birkaç nöronu birlikte bağlayabilirsiniz ve birden fazla nöron etkinleştirilirse, çözelti, maksimum işlemin (veya Softmax) uygulanmasına dayanarak yapılır. Ama işte sorunsuz değil.

Öğrenme yöntemine aşınırsanız, bu fonksiyonun, türevin sabit olduğuna eşit olduğunu fark edebilirsiniz.

Elde edilen A \u003d cx. tarafından X. eşit dan. Bu, degradenin bağlı olmadığı anlamına gelir. H.. Degrade kalıcı bir vektördür ve iniş kalıcı bir gradyane göre yapılır. Hatalı bir tahmin yapılırsa, hatalar tarafından yapılan değişiklikler de sabittir ve delta girişindeki (x) değişikliğine bağlı değildir.

İyi değil (her zaman değil, çoğu durumda). Ama başka bir sorun var. İlgili katmanları düşünün. Her katman, doğrusal bir fonksiyonla etkinleştirilir. Bu işlevin değeri, bir giriş olarak bir sonraki katmana geçer, ikinci katman, girişlerinde ağırlıklı miktarı dikkate alır ve sırayla başka bir lineer aktivasyon fonksiyonuna bağlı olarak nöronlar içerir.

Kaç kat katmanımız önemli değil. Hepsi onların doğası gereği doğrusal olarak, son kattaki son aktivasyon işlevi, ilk kattaki girdilerden doğrusal fonksiyon sağlar! Bir an durun ve bu fikri düşünün.

Bu, iki katmanın (veya N katmanının) bir katmanla değiştirilebileceği anlamına gelir. Katmanlardan set yapma fırsatını kaybettik. Nasıl yığıldığımız önemli değil, her şey hala doğrusal aktivasyon fonksiyonu olan bir katmana benzer olacaktır ( doğrusal fonksiyonların birleşimi doğrusal olarak - başka bir doğrusal fonksiyon).

Sigmoid

Sigmoid, pürüzsüz ve kademeli bir fonksiyona benzer görünüyor. Avantajlarını düşünün.

İlk olarak, sigmoid doğası gereği doğrusal değildir ve bu fonksiyonların kombinasyonu da doğrusal olmayan bir fonksiyon üretir. Şimdi katmanları istifleyebiliriz.

Böyle bir fonksiyonun bir diğer avantajı, adım fonksiyonunun aksine, analoğunun aktivasyonunu yapan ikili değildir. Sigmoid için ayrıca şık bir gradyan ile karakterize edilir.

Eğer fark ederseniz, değerler aralığında X. -2'den 2'ye kadar y değerler çok hızlı değişir. Bu, herhangi bir küçük değişim değerinin olduğu anlamına gelir X. Bu alanda, değerde önemli bir değişiklik Y.. İşlevin böyle davranışı, Y'nin eğrinin kenarlarından birine basma eğilimi olduğunu gösterir.

Sigmoid, sınıflandırma görevleri için uygun bir özellik gibi görünüyor. Değerleri eğrinin bir tarafına getirmeye çalışır (örneğin, üste x \u003d 2. ve aşağıda x \u003d -2.). Bu davranış, tahminde net sınırları bulmanızı sağlar.

Sigmoidlerin doğrusal bir fonksiyon üzerindeki bir başka avantajı aşağıdaki gibidir. İlk durumda, sabit bir fonksiyon değerleri aralığımız var -, doğrusal fonksiyon (-inf, inf) içinde değişirken. Sigmoid'in bu özelliği çok yararlıdır, çünkü büyük aktivasyon değerleri durumunda hatalara yol açmaz.

Günümüzde, Sigmoid, sinir ağlarında en sık aktivasyon fonksiyonlarından biridir. Ancak, dikkat etmeye değer olduğu eksiklikleri var.

Sigmoid değerinin uçlarına yaklaşırken, eğilimin değişikliklere zayıf bir şekilde cevap verdiğini görebilirsiniz. X.. Bu, bu alanlarda degradenin küçük değerler aldığı anlamına gelir. Ve bu, sırayla, kaybolma gradyanıyla ilgili sorunlara yol açar. Bir aktivasyon fonksiyonu her iki taraftaki eğrinin neredeyse yatay bir kısmına yaklaştığında ne olacağını ayrıntılı olarak düşünün.

Bu durumda, degradenin değeri çok az veya kaybolur (son derece küçük bir değer nedeniyle önemli bir değişiklik yapamaz). Nörtalet daha fazla öğrenmeyi reddediyor veya son derece yavaş hale getirir (kullanım yöntemine bağlı olarak veya degrade / hesaplama, kısıtlamalardan kısıtlamalardan akan bir nokta değerine maruz kalmaya başlar). Bu sorunlar üzerinde çalışmak için seçenekler var ve sigmoid sınıflandırma görevleri için hala çok popüler.

Başka bir sık \u200b\u200bkullanılan aktivasyon işlevi, hiperbolik bir teğettir.

Hiperbolik teğet sigmoid için çok benzer. Ve gerçekten, bu düzeltilmiş bir sigmoid fonksiyondur.

Bu nedenle, böyle bir işlev, daha önce tartışılan sigmoid ile aynı özelliklere sahiptir. Doğası doğrusal değildir, bir katmanın bir kombinasyonu ve fonksiyon değerleri aralığı için uygundur - (- 1, 1). Bu nedenle, aktivasyon fonksiyonunun büyük değerlerden yükleneceği konusunda endişelenmeniz mantıklı değildir. Bununla birlikte, teğet fonksiyonun degradesinin, sigmoidin (soğutucu türevi) olduğundan daha büyük olduğunu belirtmekte fayda var. Sigmoid veya teğet olup olmadığını seçme kararı, degrade genlik gereksinimlerinize bağlıdır. Sigmoidin yanı sıra, hiperbolik teğet, degradenin ortadan kaybolması sorunudur.

Teğet ayrıca çok popüler ve kullanılmış aktivasyon işlevidir.

Reldur.

Listemizde - Reldur'un aktivasyon işlevi,

A (x) \u003d max (0, x)

Tanımı kullanarak, Reldur'un bir değer döndürdüğü açıktır. h., Eğer bir h. Olumlu, I. 0 aksi takdirde. Çalışma şeması aşağıda gösterilmiştir.

İlk bakışta, Reldur'un birinci kadranda doğrusal olduğundan, Reldur'un doğrusal bir fonksiyonla aynı sorunlara sahip olduğu anlaşılıyor. Ama aslında, Reldur, doğası gereği doğrusal değildir ve Reldur kombinasyonu da doğrusal değildirK! (Aslında, böyle bir fonksiyon iyidir yaklaşımHerhangi bir fonksiyon bir reldur kombinasyonu ile yaklaştırılabildiğinden). Bu, katmanları istifleyebileceğimiz anlamına gelir. Bölge İzin verilen değerler Reldur -)

Konuya devam ediyor:
Akıllı telefon

Minitool Güç Veri Kurtarma Serbest Sürümü, verileri kurtarmak için tasarlanmış kullanımı kolay bir programdır. Minitool Güç Veri Kurtarma ile çalışmak için ...