Bir sinir ağı ön eğitim nedir?


22

Eh soru her şeyi söylüyor.

"Sinir ağının ön eğitimi" ile ne kastedilmektedir? Birisi basit basit İngilizce olarak açıklayabilir mi?
Bununla ilgili herhangi bir kaynak bulamıyorum. Biri beni onlara yönlendirebilirse çok iyi olur.


www.deeplearningbook.org konuyla ilgili iyi bir giriş yapmıştır.
mnagaraj

Yanıtlar:


22

Bir ağı eğitmenin normal yolu:

Bir veri kümesinde (örneğin bir resim kümesi) bir görevi (örneğin sınıflandırma) gerçekleştirmek için sinir ağını eğitmek istiyorsunuz. Ağırlıkları rastgele başlatarak eğitime başlarsınız. Eğitime başlar başlamaz, görevi daha az hatayla (yani optimizasyon) yapmak için ağırlıklar değiştirilir. Eğitim sonuçlarından memnun kaldığınızda, ağınızın ağırlığını bir yerde saklarsınız.

Artık farklı bir veri setinde (örneğin görüntüler de daha önce kullandıklarınızla aynı olmayan görüntüler) yeni bir görev (örneğin, nesne algılama) gerçekleştirmek için bir ağı eğitmekle ilgileniyorsunuz. İlk ağ için yaptıklarınızı tekrarlamak ve rastgele başlatılmış ağırlıklar ile antrenman yapmak yerine, önceki denemeden kaydettiğiniz ağırlıkları yeni denemeniz için başlangıç ​​ağırlık değerleri olarak kullanabilirsiniz. Ağırlıkları bu şekilde başlatmak, önceden eğitilmiş bir ağ kullanmak olarak adlandırılır. İlk ağ, önceden eğitilmiş ağınızdır. İkincisi, ince ayar yaptığınız ağdır.

Ön eğitimin arkasındaki fikir, rastgele başlatmanın ... iyi ... rastgele, ağırlıkların değerlerinin, çözmeye çalıştığınız görevle ilgisi olmadığıdır. Neden bir dizi değer diğerinden daha iyi olsun ki? Fakat ağırlıkları başka nasıl başlatabilirsin? Görevleri için bunları doğru şekilde nasıl başlatacağınızı biliyorsanız, bunları en iyi değerlere (biraz abartılı) ayarlayabilirsiniz. Hiçbir şey eğitmene gerek yok. Probleminize en uygun çözüme sahipsiniz. Ön eğitim ağa bir başlangıç ​​sağlar. Daha önce verileri görmüş gibiydi.

Antrenman sırasında nelere dikkat edilmeli:

Ağın ön eğitiminde kullanılan ilk görev, ince ayar aşaması ile aynı olabilir. Antrenman öncesi ve ince ayar için kullanılan veri setleri de aynı olabilir, ancak farklı olabilir. Farklı bir görev ve farklı veri kümesindeki ön eğitimin hala biraz farklı olan yeni bir veri kümesine ve yeni bir göreve nasıl aktarılabileceğini görmek gerçekten ilginç . Önceden eğitilmiş bir ağın kullanılması genellikle hem görevlerin hem de her iki veri kümesinin ortak bir özelliği olup olmadığını anlamlıdır. Boşluk arttıkça, ön eğitim daha az etkili olacaktır. İlk önce finansal veriler üzerinde eğiterek bir ağın görüntü sınıflandırma için ön eğitilmesi çok mantıklı değildir. Bu durumda , antrenman öncesi ve ince ayar aşamaları arasında çok fazla bağlantı kesilmesi var .


10

Pretraining / fine-tuning şu şekilde çalışır:

  1. Makine öğrenme modeliniz .m
  2. Ön eğitim : Bir veri kümesi var antrenman hangi .Am
  3. Bir veri kümesi var . Modeli eğitmeye başlamadan önce, parametresinin bir kısmını üzerinde eğitilmiş modelle başlatırsınız .Bmbir
  4. İnce ayar : üzerinde çalıştırıyorsunuz .mB

Bu transfer öğrenmenin bir şeklidir. Böylece, veri kümesi elde edilen bilgilerin kısmını veri kümesi aktarabilirsiniz . Çok az kelimeyle açıklanan bu ve daha fazla terim için Makine Öğrenim Sözlüğüme bakın .birB


Yan not: İnsanlar ince ayar kelimesini yalnızca ağırlıkları dondurmazsanız (dondurmazsanız) kullanabilirler. Bu terimin tutarlı bir kullanımı olup olmadığından emin değilim
Martin Thoma

4

Yukarıdaki iki cevap, iyi açıklar. Sadece Derin İnanç Ağları (DBN) için ön eğitim ile ilgili ince bir şey eklemek istiyorum. DBN için ön eğitim denetlenmemiş öğrenmedir (etiketli veriler olmadan) ve daha sonra eğitim denetlenir (öğrenim ile etiketlenmiş veriler).

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.