Neden eğitim verilerini geliştirmeniz gerekiyor, nasıl geliştirilecek?

Leifeng.com: Bu makale Leifeng Subtitles Group tarafından derlenen teknik bir blog. Eğitim verilerinizi ve nasıl yapılacağınızı neden geliştirmeniz gereken orijinal başlık, yazar Pete Warden.

Çeviri | Sun Zongyao, Guo Jiachang, Shi Jinhong, Liu Jiao, Zhang Shaohua Organize | Fanjiang

Resim Lisha Li'den geliyor

Andrej Karpathy bu filmi tren AI konuşmasında gösterdi, çok beğendim. Bu film, araştırma ve üretim arasındaki derin öğrenme arasındaki farkı mükemmel bir şekilde ortaya koyuyor. Genel olarak konuşursak, akademik makalelerin ana enerjisi yeni ve gelişmiş modeller geliştirmektir. Veri setleri açısından genellikle genel veri kümelerinden kullanılır. Aksine, derin öğrenme teknolojisini pratik uygulamalar olarak kullanmak isteyen geliştiriciler, enerjilerinin çoğu eğitim verileri hakkında endişelenmeye harcadı.

Bu araştırmacıların enerjilerini neden model mimariye koyacaklarını açıklamak için birçok iyi neden var ve gerçek üretim sürecinde makine öğrenimini kullanmak isteyenler için daha az ilgili rehberlik materyali var. Bu sorunu çözmek için, bu konferansta konuşmamın teması "düşünülemeyen eğitim verileri üzerindeki etkisi" idi ve bu blogda optimizasyon eğitimi verilerinin neden bu kadar önemli olduğunu açıklamak istiyorum ve bazı pratik kullanımlar bazı pratiklik verilir. Öneriler.

Çalışmamda, genellikle birçok araştırmacı ve yapım ekibi ile yakın işbirliğim var ve verileri optimize etme büyüsünün bir model oluştururken oynadıkları rolü ve getirilen büyük faydaları tanık olduğum için olduğuna inanıyorum. Çoğu uygulama için, derin öğrenme kullanımının önündeki en büyük engel, model doğruluğunun gerçek kullanım gereksinimlerini karşılayabileceğidir. Bildiğim kadarıyla, doğruluğu iyileştirmenin en hızlı yolu eğitim setini optimize etmektir. Dağıtım sırasında gecikme veya depolama gibi faktörlerle sınırlıysanız, performans gereksinimlerini ve eklektik daha az model mimarisini karşılayan daha küçük bir model mimarisinde model doğruluğunu artırmanız gerekebilir.

ses kontrolü

Üretim sisteminde gözlemlediğimi paylaşamıyorum, ancak bunu açık kaynaklı bir proje örneğinden kanıtlayabilirim. Geçen yıl, TensorFlow çerçevesi aracılığıyla basit bir ses tanıma sistemi oluşturdum, ancak uygulama sürecinde, modeli eğitmeme izin verecek hazır bir veri kümesi olmadığını buldum. Çok sayıda gönüllünün yardımıyla 60.000 1 saniyelik ses parçaları topladım. Burada AIY ekibine açık konuşma web sitesinde teşekkür etmek istiyorum. Bu veri seti sayesinde, son eğitimli model mevcuttur, ancak doğruluk beklentilerimi karşılamıyor. Bunun tasarlanmış modelimin neden olup olmadığını görmek için, Kaggle'da aynı eğitim setiyle bir yarışma başlattım. Yarışmada, birçok yarışmacı tarafından tasarlanan model benimkinden daha iyidir, ancak farklı takımlardan farklı yöntemlerden bile, nihai doğruluk sadece%91'e ulaşabilir. Benim için bu, veri setinde bazı temel hatalar olduğu anlamına geliyor. Gerçekten de, bazı rakipler de eğitim seti hakkında birçok hatayı işaret etti, örneğin: Bazı ses etiketleri yanlış ve bazı sesler eksik. Bu, yeni bir veri kümesi yayınlama, işaret ettikleri sorunları çözme ve daha fazla örnek ekleme motivasyonuna sahip olmamı sağladı.

Yanlış ölçüm standardına bakarak ne tür bir kelime dağarcığını anladığımı anlıyorum. Sonuçlar, "diğer" türünün (ses tanıma sistemi sesi tanıdığında, kelimenin model tarafından eğitilmiş kelime dağarcığında olmadığını), hatayı tanımlamak için en kolay olduğunu göstermektedir. Bu sorunu çözmek için, eğitim verilerinin çeşitliliğini sağlamak için daha farklı kelimeler elde ettik.

Kaggle yarışmacılar etiket hataları sorununu bildirdiğinden, birinden ek bir doğrulama bağlantısı yapmasını istedim, birinden her ses parçasını dinlemesini ve beklenen etiketle tutarlı olduğundan emin olmasını istedim. Buna ek olarak, Kaggle veri kümesi de keşfedildiğinden, hala birçok ses veya kısa ses var, bu yüzden otomatik olarak bazı ses analizleri yapabileceğimi ve çok iyi olmayan bu küçük programları kaldırabildiğimi yazdım. Sonunda, birçok kötü ses verisi silinmiş olsa da, gönüllülerin ve bazı çalışanların çabaları sayesinde ses verilerini 100.000'e çıkardı.

Başkalarının veri setini daha iyi kullanmasına yardımcı olmak için (hatalarımı tekrarlamayın!) Tüm bunları bir Arixiv makalesi ve güncelleme sonrası doğrulukla ilgili yazdım. En önemli sonuç, model ve test kümesi verilerini değiştirmeden, üst bir (ilk tahmin) doğruluğunun%85.4'ten%89.7'ye yükselmesidir. Bu inanılmaz bir gelişmedir. Bu gelişme, Android veya Raspberry Pi küçük uygulamalarda modeller yerleştiren insanlar için çok tatmin edicidir. Buna ek olarak, kullanan model mimarisinin modeli belirli bir süre ayarlayarak az miktarda alacak şekilde ayarlamak için mevcut ileri seviyenin arkasında olduğundan çok eminim.

Bu, gerçek başvuru sürecinde tekrar tekrar iyi sonuçlar alma sürecidir. Ancak, aynı denemeyi yapmak istiyorsanız, başlamanız aslında daha zordur. Ses verilerinin işlenmesinden biraz ilham alabilirsiniz, ancak burada daha pratik yöntemlerim var.

İlk olarak, verilerinizi gözlemleyin

Bu açık görünüyor, ama aslında, önce yapmanız gereken, eğitim verilerinizi rastgele gözlemlemektir. Bazılarını yerel uçağınıza kopyalayın ve önizlemek için birkaç saat ayırın. Verileriniz bazı resimler ise, binlerce büzülme resmini görüntülemek için bazı macOS sistem görüntüleyicilerini çok hızlı bir şekilde kullanın. Ses için önizlemelerini oynayabilir veya metin için bazı parçaları terminal ekipmanına rastgele saklayabilirsiniz. İlk seste böyle bir iş yapmak için yeterli zaman kullanmadım, bu da Kaggle'ın çok fazla sorun bulmasına neden oldu.

Her zaman verileri gözlemleme sürecinin biraz aptal olduğunu hissediyorum, ama hiç pişman olmadım. Bunu her yaptığımda, veri kümesi hakkında dengesiz bir kategori, okunamayan veriler gibi birçok önemli sorun buluyorum (PNG formatının resmi gibi JPG formatındaki sonek ile eklenir), Etiketin yanlış etiketi veya garip bir kombinasyon. Tom White, ImageNet veri setinde ImageNet veri setinde verileri gözlemleme sürecinde bazı garip keşifler var. Kırmızı pelerin giyen bir kadın "pelerin" olarak işaretlendi. Andrej'in ImageNet'in fotoğraflarından manuel ayrımının çalışması da bana bir kişi için bile köpek türü de dahil olmak üzere veri setinin anlaşılması hakkında çok şey öğretti.

Yaptığınız eylem, keşfinize bağlıdır, ancak aslında diğer veri temizleme çalışmaları yapmadan önce verilerin ön gözlemleme süreci olduğu konusunda ısrar etmelisiniz, çünkü süreçte diğerlerinde olmanıza yardımcı olacak bazı sezgi bilgileri alacaksınız. Adımlar hakkında kararlar verin.

Modeli hızlı bir şekilde seçin

Model seçimine çok fazla zaman harcamayın. Görüntü sınıflandırması yapmanız gerekiyorsa, AutomL, Tensorflow'un model deposuna veya Fast.ai'nin örnek koleksiyonuna bakabilirsiniz. Bu model kütüphaneleri genellikle ürünlerinize benzer bazı modeller bulabilir. En önemli şey, gerçek kullanıcıların modelinizi mümkün olan en kısa sürede test etmesine izin verebilmeniz için modelinizi mümkün olan en kısa sürede yinelemektir. Sonraki süreçte modelinizi her zaman geliştirme fırsatına sahip olacaksınız ve daha iyi sonuçlar elde edebilirsiniz, ancak her şeyden önce, verilerinizin başlangıçta etkili olduğundan emin olmalısınız. Derin öğrenme hala en temel hesaplama yasasını takip eder ve geçersiz verileri girer, o zaman çıktı geçersizdir. Bu nedenle, en iyi model bile eğitim verilerindeki kusurlarla sınırlıdır. Bir model seçerek ve test ederek, eğitim verilerindeki sorunları bulacak ve bu sorunları geliştireceksiniz.

Yinelemeli hızınızı daha da iyileştirmek için, büyük örnek verileri üzerinde eğitilmiş bir modelle başlayabilirsiniz. Model parametrelerini toplayabileceğiniz bir veri kümesinde incelemek için taşıma öğrenimini kullanın. Modeli eğitmek için küçük örnek verilerinizi doğrudan kullanma ile karşılaştırıldığında, genellikle daha iyi sonuçları daha hızlı alabilirsiniz ve ayrıca makbuzunuzu nasıl toplayacağınız konusunda gerekli bazı ayarlamaları da bulabilirsiniz. Bunu yapmanın en önemli etkisi, veri toplama sürecine eğittiğiniz sonuçları geri bildirebilmeniz ve eğitimden önce bir adım olarak veri toplamayı kullanmak yerine öğrenirken ayarlayabilmenizdir.

Yaratılıştan önce simüle et

Modelleme ve ürün modellemesi inceleme arasındaki en büyük fark, birincisinin başlangıçta genellikle çok net bir sorun tanımına sahip olması ve ikincisinin model için birçok gereksiniminin başlangıçta net değil, kullanıcının zihninde. . Örneğin, Jetpac'ın otomatik kentsel turizm yönergelerine iyi fotoğraflar sunmasını istiyoruz. Başlangıçta, skoru olandan fotoğrafı etiketlemesini istedik. Fotoğrafların "iyi" olduğunu düşünüyorlarsa, fotoğrafı işaretleyeceğiz. Ancak, nihayet bir gülümsemeyle çok fazla fotoğraf aldık, çünkü puan alan kişi bunların "iyi" fotoğraflar olduğunu düşündü. Test kullanıcısının tepkisini görmek için bu etiketli fotoğrafları ürün modelimize kullanıyoruz. Nihai sonuçtan memnun olmadıkları düşünülebilir. Bu sorunu çözmek için, etiketleme fotoğrafı değiştiğinde sorunu değiştirdik: "Bu fotoğraf sizi bu yerde seyahat etmeye çekecek mi?" Bu, aldığımız etiketleme fotoğraflarının kalitesini geliştirdi. Ancak, yine de bazı Bu. Etiket fotoğrafları, Güneydoğu Asya'da iş arayan bazı insanlar büyük otellerde otelde birçok konferans fotoğrafı olduğuna inanıyor. Bu yanlış etiketleme fotoğrafları bize mevcut hayatımızın kabarcık dönemini hatırlatıyor, ancak bu pratik bir sorun, çünkü hedef kalabalığımız Amerikalılar ve toplantının fotoğraflarını çok sıkıcı ve sıkıcı bulacaklar. Sonunda, Jetpac grubumuzdaki altı kişi manuel olarak 2 milyondan fazla fotoğraf işaretledi çünkü puanlama standardını herkesten daha netleştiriyoruz.

Bu nispeten aşırı bir örnektir, ancak veri işareti işleminin büyük ölçüde uygulamanızın gereksinimlerine bağlı olduğunu gösterir. Çoğu ürün uygulaması vakaları için, geliştiricilerin cevaplamak için ne tür bir soruya ihtiyacımız olduğunu anlamak için uzun zaman harcaması gerekir ve bu sorunu bulmak çok önemlidir. Modeliniz yanlış bir soruyu cevaplıyorsa, bu temelde asla iyi bir kullanıcı deneyimi oluşturmayacaksınız.

Thomas Hawk'tan resim

Wizard-of-Oz-ing Jetpac

Jetpac Facebook Instagram ImageNet ImageNet ImageNet ImageNet

Borneo

Wizard-of-Oz-ing

Slience Slience , Slience Slience Slience Slience Slience Slience

----TensorBoard softmax ( Tensorflow for poets )

Jaguar

djblock99andDave Adams

Jaguar

TensorBoard ()

Facebook Instagram ImageNet

Facebook Instagram

Kötü sonuçlar dikkate alınabilir, ancak önceden her zaman çok açık değildir, bu nedenle pratik hatalardan ders almak çok önemlidir. Ürünlerinizin / pazarlarınızın yarısına sahip olduğunuzda, en kolay yollardan biri arızalı raporları kullanmaktır. İnsanlar sistem uygulamanızı kullandığında ve modelden bir sonuç aldığında, size söylemeyi kolaylaştırır. Mümkünse, modelin tam bir girişini alın, ancak hassas veriler ise, kötü çıktının ne olduğunu bildiğiniz sürece, bu araştırmanıza rehberlik edebilir. Bu kategoriler, daha fazla veri konumu toplamayı seçmenize ve mevcut etiket kalitesinin hangi seviyelerinin ait olduğunu anlamanıza yardımcı olabilir. Modelinizin yeni bir sürümü olduğunda, normal test bölümüne ek olarak, önceki olumsuz sonuçların girişini kullanın ve girişin bu bölümünün test sonuçlarını değerlendirin. Bu iyileştirme yöntemi biraz regresyon testi gibidir ve size kullanıcı deneyiminizin etkisini izlemek için bir yöntem sağlar, çünkü tek bir model doğruluk endeksi, insanların önemsediği tüm bilgileri asla tamamen yakalamayacaktır. Geçmişin küçük bir kısmına bakarak güçlü bir tepkiyi tetikledi, kullanıcılara daha iyi hizmetler sunduğunuzu belirtmek için bazı bağımsız kanıtlar alabilirsiniz. Model için bu giriş verilerini almak için çok hassassanız, hangi girişlerin bu hataları üreteceğini belirlemek ve ardından bir regresyon seti ile değiştirmek için kendi -testi veya dahili deneyleri kullanabilirsiniz.

Hikaye nedir, Glory?

Umarım sizi verilere daha fazla zaman harcadığınıza ve geliştirmeye nasıl yatırım yapacağınıza dair bazı görüşler verdiğinize başarılı bir şekilde ikna etmiştim. Bu değerli alana çok fazla dikkat etmiyorum. Burada sadece bazı yüzeysel önerilerde bulundum, bu yüzden stratejilerini benimle paylaşan herkese teşekkür ediyorum ve umarım başarınızda başarılı olduğunuz hakkında daha fazla şey duyacağım. Yöntemler. ML araştırmacılarını ilerlemeyi teşvik etmek için bırakmak yerine, veri setlerinin optimizasyonunu ve iyileştirilmesini organize etmek için giderek daha fazla profesyonel mühendis ekip olacağını düşünüyorum. Bunlar nedeniyle tüm alanın gelişimini görmek için sabırsızlanıyorum. Şiddetli kusurların eğitim verileri için bile modelin iyi çalışacağına her zaman şaşırıyorum, bu yüzden veri seti modelimizin iyileştirilmesinden sonra neler yapabileceğimizi görmek için sabırsızlanıyorum.

Orijinal bağlantı: https://petewarden.com/2018/05/28/why-do-to-improve-draining-data-to-it/

Leifeng.com Lei Feng.com

Mi 6 ile ilgili olarak, en çok ilgilendiğiniz ilk 7 soru burada.
önceki
SAIC Roewe ei6 gerçek otomobilin iç resmi Volvo S90'a benziyor
Sonraki
Anıları elinizde tutmak: Mijia fotoğraf yazıcısı deneyimi
PCPI Finalleri: Wei Shen zamansız doğum için 4 AM takımını suçluyor, OMG zehirli süt kazandı!
Huawei'nin yeni nesil Kirin işlemcileri seri üretime sokulmuş olabilir ve Samsung siparişleri alamadı!
2019 Fener Festivali Galası bu gece sahnelenecek, bu uzaktan kumanda kılavuzu toplandı
Virgil Abloh, sonbahar ve kış için şimdiden çok çalışıyor! OFF-WHITE x Levi's Made ve Crafted tam pozlama
İlk yerli sivil NB-IoT akıllı kilit Deschmann T86-NB resmi olarak piyasaya sürüldü
Öyle yapın! Pürüzsüz, dayanıklı ve yüksek değerli için önerilen beş bin yuan cep telefonu
Kuru ürünler! Temelden ileri düzeye, uzun bir makale Microsoft kuantum hesaplamanın kavramlarını ve algoritmalarını analiz eder (bölüm 2)
Apple Çin pazarını canlandırmak istiyor, sadece 25 milyon bağış yapmakla kalmıyor, aynı zamanda ünlü Çin üniversiteleriyle de işbirliği yapıyor!
"O Yıllar" dan sonraki en samimi gençlik filmi "Attack Boy"
Doublelift, Çin'e döndükten sonra ilk olarak UZI hakkında konuştu: UZI tarafından övüldü, gururla gülümsedi
Glory Academy'deki Fener Festivali'nin 18 gazisi güldü
To Top