Open denizyuret opened 7 years ago
From: Melike Date: 3/4/16 Subject: Knet documentation feedback
Hocam merhaba,
Sıkça Knet documentation’ınızı okuyorum, herhangi bir feedback’i faydalı gördüğünüzü bildiğim için de okurken ara sıra aklıma takılan iki noktayı paylaşmak istedim. Yaklaşımım biraz genel ve yanlış düşünüyor, fazla inceliyor olabilirim, ama bir ihtimal yazacaklarınızı kurgularken öğrenci bakış açısıyla söylediklerimin bir faydası dokunur. Affınıza sığınarak biraz direkt yazacağım.
Gözüme çarpan birinci nokta şu: Bu, implementation’da Knet kullanan bir machine learning kitabı mı, yoksa Knet’in kullanılması için gerekli machine ön bilgilerini veren bir Knet tutorial’ı mı? İkisinin karışımı ise, bu parametrelerin kafanızdaki ağırlığı nedir? Bence bu ayarın tutmadığı yerler var. Demek istediğim, derslerle de karşılaştırarak söylüyorum, bazı yerlerde machine learning boyutunda konunun anlaşılması için önemli olan noktaları çok iyi açıklarken bazı yerlerde biraz hızlı geçiyorsunuz.
İkinci konu birinci ile biraz ilintili. Tutorial introduction’ın başında machine / Julia ön bilgisinin gerekli olmadığını yazmışsınız, bu o section için mi geçerli yoksa metinlerin genelini mi kastediyor bilmiyorum ama bence bu önemli bir söylem. Gerçekten de gerekli tüm konseptleri açıklıyorsunuz, ama bence metinler machine learning bilmeyen, genel programlama bilgisi ile okumaya başlayan birinin fazla yoğun bulacağı bir teknikaliteye sahip. Bunu söylememin sebebi şu: öncesinde derste sizden dinlemiş olmasam metinleri anlamam çok zorlaşırdı. Bu bağlamda dışarıdan giren biri metni yoğun bulup konuları daha basic ele alan kaynaklara yönelebilir. Bu problemin altında yatan soru şu: intended audience’ınız nedir? Çözüm önerisi (eğer intended audience’ınız belirttiğiniz gibiyse): Bunu Atılberk ile bu konu üzerine tartışırken düşündük. İlgili kişilerin anlamasını kolaylaştırmak için bazı kavramları daha temelden anlatan kaynaklara referans verebilirsiniz. Bunu yaptığınız yerler var ve çok faydalı oluyor; mlp representational power’daki referanslar gibi. Glossary de faydalı olabilir.
Örnekler:
Aslında örneklerle ifade edilebilecek bir sorundan ziyade okurken edindiğim hissi ifade etmeye çalıştım. Eğer dediklerim sizin için anlamlı olduysa eleştirel okumaya ve yorumlarımı iletmeye devam edebilirim.
İyi çalışmalar, Melike
mlbook todo (3/19/16):
Sozle aktardiklarimi not almak adina mesajla iletmis olayim. Asagidaki notlari benim formal programlama egitimi almadigimi, uygulamalarda gerektirdigi noktada ihtiyac duydugum kadarini ogrenerek ilerledigimi dusunerek filtrelemen iyi olur. Sanirim elektrik kokenli sinyal islemecilerin arasinda benim gibiler oldukca coktur. Programlama egitimi artik cok daha iyi oldugu icin yeni nesileri dusundugumuzde alttakiler gereksiz detaylar olabilir.
Knet icin acilis sayfasindaki notlara eklemeyi dusunebilirsin:
Diger notlar:
[ ] House price data orneginde, egitim tamamlandiktan sonra sisteme ornek veri vererek tahminde bulunmasini saglayacak 1-2 satir ornek kod iyi olur. Baslangic seviyesindeki biri, o ilk ornekte hizlica sonuc alip kullanabilirse ilerler, takilirsa (diger DNN kaynaklarinin mevcudiyetini dusunerek) mucadeleden vazgecebilir.
[ ] Orneklerde module icerisinde fonksiyon tanimlari Julia'ya aliskin olmayanlar icin biraz karisik: hem 'main', hem 'inline function declaration', hem de alisildik fonksiyon tanimi icice. Matlab'de genelde her fonksiyon ayri bir dosyada tutuluyor (dosya ismi ile fonksiyon ayni isimde olup dogrudan tek isimle cagiriliyor) ve o dosya birden fazla fonksiyon iceriyorsa sadece dosya ile ayni isimde olan fonksiyona ulasilabiliyor, diger fonksiyonlar ana fonksiyon icerisinde ulasilan 'internal' fonksiyonlar olarak dusunuluyor. Belki o main'leri 'initSpecs' gibi ismi olan ayri bir fonksiyona tasiyabilirsin.
Ilerledikce not alir sonra sona topluca iletirim.
julia> using MNIST: xtrn, ytrn, xtst, ytst, minibatch
satirina 'accuracy' ve 'train' de eklenmeli.
Onun disinda sorunsuz gorunuyor, ~%92 accuracy raporlandi.
B