Derin öğrenmede ağırlık ve önyargı nedir?


16

Makine öğrenmeyi Tensorflow web sitesinden öğrenmeye başlıyorum. Derin bir öğrenme programının izlediği akış hakkında çok temel bir anlayış geliştirdim (bu yöntem, kitap ve büyük makaleler okumak yerine hızlı öğrenmemi sağlıyor).

Karşılaştığım birkaç kafa karıştırıcı şey var, bunlardan 2 tanesi:

  1. Önyargı
  2. Ağırlık

Tensorflow web sitesindeki MNIST eğitiminde, bir görüntüdeki belirli bir modelin varlığına dair kanıt bulmak için önyargı ve ağırlığa ihtiyacımız olduğunu belirtmişlerdir. Anlamadığım şey, Önyargı ve Ağırlık değerleri nerede ve nasıl belirlenir?

Bu değerleri sağlamamız mı gerekiyor yoksa TensorFlow kütüphanesi bu değerleri egzersiz veri setine göre otomatik olarak hesaplıyor mu?

Ayrıca derin öğrenme hızımı nasıl artıracağım konusunda bazı önerilerde bulunabilseydiniz, bu harika olurdu!

Tensorflow Yeni Başlayanlar Eğitimi


3
Gibi parametreler a istatistiksel model , bunlar edilir öğrenilen veya tahmin edilen bir minimize ederek kayıp fonksiyonunu sizin verilere bağlıdır. Makine öğrenmesinin konusu budur. Bu pedogojik yöntemi uygularsanız birçok soru soracaksınız. Coursera'daki gibi bir MOOC almanızı öneririm, böylece şeyleri mantıklı bir şekilde öğrenebilirsiniz.
Emre

Bu çok basit, bu yüzden önerilen @Emre gibi bir ders yapmalısınız.
HelloWorld

Yanıtlar:


11

Matematiksel olarak konuşma. Bir model olduğunuzu düşünün (Hayır, bu tür değil, şekil 8 olanlar)

Y=WX+nbengerbenbirn

Ne anlıyorsun? Taraflı, sizin gibi bir modelde ön varsayımdır.

Ağırlık gelince, mantıksal olarak konuşursak, Gradyanınız (lineer cebirde a),

Gradyan Nedir? , Doğrusal fonksiyonun dikliği.

Doğrusal eğimi çok dik yapan nedir (Yüksek pozitif değer)?

Çünkü X'deki (giriş) küçük değişiklikler Y ekseninde (çıkış) büyük farklılıklara neden olur. Yani siz (Artık Model olarak değil, parlak bir Matematikçi (alter egonuz)) veya Bilgisayarınız, ağırlık diyebileceğiniz bu degradeyi bulmaya çalışır. Fark, bunu bulmak için bir kalem ve grafik kitabı kullanmanızdır, ancak kara kutu elektronik Magic'i kayıtlarla yapar.

Makine Öğrenme Sürecinde bilgisayar veya Siz veri noktalarında çok sayıda Düz çizgi veya Doğrusal işlev çizmeye çalışırsınız,

Neden birçok düz çizgi çizmeye çalışıyorsunuz?

Çünkü grafik kitabınızda / Bilgisayar belleğinizde, uygun çizgiyi görmeye çalışıyorsunuz.

Bilgisayarım veya bilgisayarım uygun çizgiyi nasıl bilebilirim?

Ortaokulumda, tüm veri noktasının ortasında mükemmel bir şekilde kesilen çizgiyi görsel olarak kontrol ederek, veri noktalarına bir çizgi çizmeyi öğrettim. . Ancak bilgisayara gelince, her satırın veri noktalarına doğru standart sapmasını ve varyansını dener. En az sapmaya sahip çizgi (bazen hata fonksiyonu olarak adlandırılır) seçilir.

Güzel! peki ve ne olur

Bu çizginin gradyanı hesaplanır, diyelim ki Öğrenme sorununun Ağırlığı Hesaplandı

thats Machine Learning temel anlayışında ve bir lise öğrencisi kendi Graphbook'unda grafik çiziyor


10

Belki de bir kursa bakmanız gerektiğine dair sorunuzun yorumlarına katılıyorum, belki de Andrew Ng's Coursera on Machine Learning , bu çok saygın, ücretsiz bir giriş kursu. Bu, makine öğrenmesinin temelleri hakkında temel bir sorudur. Bu yüzden bu cevaptaki matematiği kapsamıyorum, bunu o ders dahil birçok yerden alabilirsiniz.

Önyargı ve Ağırlık değerleri nerede ve nasıl belirlenir?

Ağırlıklar ve yanlılıklar modelinizin öğrenilebilir parametreleridir. Sinir ağlarının yanı sıra, doğrusal regresyon gibi ilgili modellerde aynı adlarla görünürler. Çoğu makine öğrenme algoritması, bunun gibi bazı öğrenilebilir parametreleri içerir.

Öğrenme başlamadan önce bu parametrelerin değerleri rastgele başlatılır (bu, hepsinin tek bir değere dönüşmesini durdurur). Daha sonra eğitim sırasında verilerle sunulduğunda, doğru çıktıya sahip değerlere ayarlanırlar.

Bu değerleri sağlamamız mı gerekiyor yoksa TensorFlow kütüphanesi bu değerleri egzersiz veri setine göre otomatik olarak hesaplıyor mu?

Eğitimden önce değerler sağlamanız gerekmez, ancak kaç parametre olması gerektiği gibi şeylere karar vermek isteyebilirsiniz (her bir katmanın boyutuyla kontrol edilen sinir ağlarında). TensorFlow, egzersiz sırasında değerleri otomatik olarak hesaplar. Önceden eğitilmiş bir modeliniz olduğunda ve onu yeniden kullanmak istediğinizde, değerleri doğrudan örneğin dosyadan yükleyerek ayarlamak istersiniz.

Öğreticideki ağırlık ve sapma değişikliklerini işleyen özel kod şudur:

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

ve bu:

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

İlk satır, ağırlıkların ve değerlerin nasıl değiştirileceğini tanımlar. Bunu neredeyse kelimenin tam anlamıyla "sağlanan verilerin çapraz entropisini azaltmak için degrade iniş optimize ediciyi kullanan bir eğitim işlevi tanımla" olarak okuyabilirsiniz.

İkinci satır, belirli bir veri parçasıyla bu işlevi çağırır. Bu ikinci satır her çalıştırıldığında, ağırlık ve sapma değerleri sinir ağı çıkışları olacak şekilde ayarlanıry her biri için doğru ilişkilendirmeye biraz daha yakın x değer.


8

Ağırlık - Ağırlık bağlantının gücüdür. Eğer girdiyi arttırırsam, çıktı üzerinde ne kadar etkisi olur.

Sıfıra yakın ağırlıklar, bu girdinin değiştirilmesi çıktıyı değiştirmeyeceği anlamına gelir. Birçok algoritma, ağı basitleştirmek için bu ağırlıkları otomatik olarak sıfıra ayarlayacaktır.

Önyargı - tahminlerimizin gerçek değerlerden ne kadar uzakta olduğu anlamına gelir. Genel olarak parametrik algoritmalar, onları öğrenmeyi hızlı ve kolay anlaşılır, ancak genellikle daha az esnek hale getiren yüksek bir sapmaya sahiptir. Buna karşılık, algoritma yanlılığının basitleştirici varsayımlarını karşılayamayan karmaşık problemler üzerinde daha düşük tahmin performansına sahiptirler.

Düşük Sapma : Hedef fonksiyonun şekli hakkında daha fazla varsayım önerir.

High-Bia s: Hedef fonksiyonun şekli hakkında daha az varsayım önerir.


2
OP bir sinir ağındaki bias parametresini soruyordu. Önyargı tanımlarınız iyi, ancak soruyu cevaplamayın.
Neil Slater
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.