Kuru ürünler Li Feifei, Stanford Üniversitesi CS231n ders notlarını anlatıyor

Bu kurs, Stanford Üniversitesi'nde Feifei Li tarafından öğretilen Hesaplamalı Vizyondur. Ekipleri, makine görüsüyle ilgili içeriği öğretmek için ağırlıklı olarak makine öğrenimi ve derin öğrenme yöntemlerini kullanır. Bu makalenin yazarı, Jilin Üniversitesi'nden Zhao Yifan notları düzenledi. Yazarın yeteneği sınırlıdır, bir hata varsa lütfen bana bildirin.

Görüntü sınıflandırma görevi, bilgisayar görüşünde gerçek bir temel görevdir ve kesin olmak gerekirse, grafik işlemeyi incelemektir.

o Görüntü sınıflandırması yaparken, sınıflandırıcı bazı girdi görüntülerini kabul eder ve sevimli kedi gibi bir dizi sınıflandırma veya etiket belirler.

o Sınıflandırıcının görevi, sınıflandırılmamış resimlere bakmak ve bazı sabit sınıflandırma etiketlerine atamaktır.

Bu bilgisayarlar için zor bir şey

o Aslında, bir bilgisayar bu resimlere baktığında, kesinlikle genel bir kedi konseptine sahip değildir.Bilgisayarın resimleri sunma biçimi aslında çok sayıda sayıdır. Görüntü sadece birkaç benzer piksel olabilir ve her piksel kırmızı, yeşil ve mavi olmak üzere üç sayı ile temsil edilir.Binlerce devasa diziden kedilerin özelliklerini çıkarmak zordur.

Bu soruna anlamsal boşluk denir.Kediler veya diğer etiketler kavramı, bir görüntüye atanan anlamsal bir etikettir ve bu bilgisayarlar tarafından gerçekte görülen piksel değerleri arasında büyük bir boşluk vardır.

o Bu çok zor bir soru. Resim çok küçük ve ince şekillerde değiştirilebildiği için bu, tüm piksel ağının değişmesine neden olacaktır.

· Örneğin, aynı kedi ise, kedi sessizce oturur ama kamerayı diğer tarafa taşırsa, bu dev dijital ağdaki her küçük ızgara ve her piksel tamamen farklı olacaktır. Ancak yine de aynı kedi.

Aynı zamanda, algoritmanın bu değişikliklere karşı sağlam olması gerekiyor, ancak sadece görsel açı probleminden daha fazlası var.

o Sahnede aydınlatma sorunları da olacaktır.Kedinin karanlık, loş bir sahnede veya çok parlak ve güneşli bir sahnede görünmesi fark etmeksizin her zaman kedidir.

o Algoritma bu durumda da sağlam olmalıdır.

Kediler sıvı hayvanlardır

o Ve kedilerin çeşitli duruşları ve pozisyonları olabilir.

o Farklı deformasyon senaryoları için algoritma da sağlam olmalıdır.

Elbette örtbas etme sorunu var

o Yüz gibi kedinin sadece bir kısmı veya koltuk minderinden çıkıntı yapan kuyruğun ucu olabilir.

İşleme sırasında kaotik fotoğraf arka planı sorunu olacak

o Belki bir resmin ön tarafında, fotoğrafın arka planına çok benzeyen bir kedi gösteriliyor.

Sınıf içi farklılıklarla ilgili sorunlar da olabilir.

o Bu fotoğraf bazı kedilere benziyor ama aslında her kedinin görsel bir farkı olacak.

o Örneğin, kedilerin farklı şekilleri, boyutları, renkleri ve yaşları vardır.

Bu gerçekten zor bir problem, ancak beyin bu şeylerle başa çıkmakta zorlanmıyor çünkü beyin bu şeyleri işlemek için beyinde uzun zamandır var olmuştur.

Eğer bir bilgisayar programının bunları aynı anda halletmesini istiyorsanız, kedi yavrularının resimlerinden bahsetmiyorum bile, aklınıza gelen herhangi bir görüntü zor bir algoritma problemi olacaktır.

o Bu sorunların üstesinden gelinmesi zor olsa da, mucizevi olan şu ki, bu sorunların üstesinden gelmek için zaten etkili algoritmalar var.

o Bu algoritmalar sadece etkili değil, aynı zamanda belirli koşullar altında insan beynini işlemeye de yakındır.Bu algoritmalar sadece birkaç yüz milisaniye sürer ki bu inanılmaz bir teknoloji.

Görüntü sınıflandırması için, bir resmi parametre olarak kabul eden bir python modeli yazabilir ve ardından bir tanrı işlemleri dalgası yazabilir ve sonunda resme geri dönebilirseniz, bu bir kedi mi yoksa bir köpek mi?

o Ancak görüntü tanıma algoritmasını çözmek için basit bir algoritma yoktur.Bir algoritma sınıfındaysanız, dışbükey gövdeleri hesaplıyorsanız veya bilgi şifreleme teknolojisi algoritmalarındaysanız, olası tüm adımları sıralayabilirsiniz.

o Ancak, nesneleri tanımlamak için algoritmaları çözmek söz konusu olduğunda, bu tanımlamaları doğrudan tamamlayabilecek özlü bir algoritma yoktur.

Buna rağmen, insanlar farklı hayvanları tanımlamak için bir dizi kodlama kuralı deneyen birçok girişimde bulundu.

o Kediler için kedilerin kulakları, gözleri, ağzı ve burnu vardır. Hubel ve Wiesel'in araştırmasına göre, görsel tanıma için kenar algılama çok önemli

o Böylece görüntünün kenarlarını hesaplamayı deneyebilir ve ardından çeşitli kenar ve köşe şekillerini sınıflandırabilirsiniz.

· Örneğin, kesişen üç çizgi varsa, bu bir köşe noktası olabilir.Örneğin, kedi kulaklarının da böyle bir köşesi vardır vb. Bu kedileri tanımlamak için bazı kurallar yazabilirsiniz.

o Ama aslında bu algoritma pek iyi değil

· Her şeyden önce hata yapmak kolaydır

· İkinci olarak, kediler dışında bir nesneyi sınıflandırmak istiyorsanız, her şeye yeniden başlamalısınız.

Dolayısıyla, bu veriye dayalı yaklaşıma dayanarak

o Bir kediyi veya balığı tanımlamak için belirli sınıflandırma kuralları yazmayın, bunun yerine İnternet'ten çok sayıda kediyi veya diğer görüntü veri setlerini alın.

· Cep telefonu resim veri kümesinin bu yöntemi aslında zaman alır, ancak neyse ki halihazırda çok sayıda yüksek kaliteli resim veri seti mevcuttur.

· Bir veri kümesine sahip olduğunuzda, makineyi bu görüntüleri sınıflandırması için eğitin.Makine tüm verileri toplayacak, bir şekilde özetleyecek ve ardından bu farklı nesne türlerini tanımanın özünün sadece öğeden ibaret olduğu sonucuna varmak için bir model oluşturacaktır.

· Son olarak, tanınabilir olup olmadıklarını görmek için yeni resimleri tanımak için bu modeli kullanın.

o Yani, bir resmi girip sonra bunun bir kedi olduğunu fark eden bir işlevden daha fazlası var. Bunun yerine, iki işleve ihtiyaç vardır, biri resmi ve etiketi alan ve ardından modeli çıkaran eğitim işlevi; diğeri ise bir modeli kabul eden ve resmin türünü tahmin eden tahmin işlevidir.

Bu ders esas olarak sinir ağlarını, evrişimli sinir ağlarını, derin öğrenmeyi vb. Tartışmaktadır.

o Ancak bu veriye dayalı algoritma, derin öğrenmeden daha geniş bir kavramdır ve çok kullanışlıdır.

o En yakın komşu denen basit bir sınıflandırıcı için bu süreç sayesinde bu algoritma dürüst ve sessiz olmak istiyor.

    • Makinenin eğitimi sürecinde, tüm eğitim verileri basitçe kaydedilir. Resim tahmini adımında, yeni resme en çok benzeyenini bulmak için eğitim verilerinden bazı yeni resimler çekilir ve ardından buna göre bir etiket verilir.

Özellikle, CIFAR-10 adlı bir veri kümesi gibi

o Bu, makine öğreniminde çok yaygın olarak kullanılan bir test veri kümesidir. CIFAR-10 veri seti her yerde 10 farklı kategoriye sahip olacaktır. Her kategori 50.000 eğitim verisi görüntüsü ve 10.000 test görüntüsü verecektir

o Bir örnek ver

· Bu, sağdaki büyük ızgarada veri kümesindeki en yakın komşu sınıflandırıcıdır

· En soldaki sütun CIFAR-10 veri setinin test resimleridir.Sağda, eğitim resimleri sınıflandırılır ve test örneklerine karşılık gelen en benzer eğitim resimleri görüntülenir.

· Gördüğünüz gibi, tamamen doğru olmasalar da, yine de benzer görünüyorlar.

o Yani bu resimler için en yakın komşu seçildiğinde en yakın örnek eğitim setinde bulunabilir.

Bir ayrıntı net olmalı

o İki resim verilirse nasıl karşılaştırılabilir?

o Test resmini tüm eğitim resimleriyle karşılaştırmak isterseniz, hangi karşılaştırma fonksiyonunun gerekli olduğunu belirlemek için birçok farklı seçenek olacaktır.

o Yukarıdaki resim, bazen Manhattan mesafesi olarak adlandırılan mesafeyi uygular. Bu, resimleri karşılaştırmanın basit bir yoludur, sadece bu resimlerdeki tek tek pikselleri karşılaştırın.

o Sadece test görüntüsündeki pikseli alın, ondan eğitim görüntüsünün karşılık gelen pikselinin değerini çıkarın ve ardından bu pikselin iki görüntüsü arasındaki farkı elde etmek için mutlak değeri alın ve görüntüdeki tüm piksellerin farkını ekleyin.

o Resimleri karşılaştırmanın bu yöntemi biraz aptalca görünse de, bazen mantıklıdır. Bu aynı zamanda iki resmi karşılaştırmak için somut bir yol sağlar.

o Bu örnekteki iki görüntü arasında 456 fark var.

İşte en yakın komşu sınıflandırıcının tam Python kodu

o Çok özlüdür, çünkü Numpy vektör işlemleri kullanılır

o Bu, daha önce bahsedilen eğitim fonksiyonudur.En yakın komşu algoritmasına uygulamak çok basittir.Sadece eğitim verilerini kaydetmeniz gerekir.

o Test ederken görüntüyü girin ve ardından test görüntüsünü eğitim örneğiyle karşılaştırmak için mesafe işlevini kullanın ve ardından eğitim setinde en benzer örneği bulun.

o Vektörize edilmiş bu işlemler kullanılarak sadece bir veya iki satır Python kodu uygulanabileceği görülebilir.

o Basit bir soru var

· Yeniden eğitim setinde N örnek varsa, eğitim ve test sürecine kaç blok dahil edilebilir?

§ Eğitim hiçbir şey gerektirmediğinden, yalnızca verileri depolaması gerekir, veri kümesi ne kadar büyük olursa olsun, yalnızca bir işaretçiyi kopyalayın, bu sabit bir zaman olacaktır.

§ Bununla birlikte, test sırasında, veri setindeki N eğitim örneğini test görüntüleri ile karşılaştırmak çok yavaş bir süreçtir.

Pratikte, en yakın komşu algoritması nasıl çalışır?

o Böylece, en yakın komşu sınıflandırıcının karar alanı adı verilen bu grafik çizilir.

o Eğitim seti bu noktaları iki boyutlu bir düzlemde içerir ve noktaların renkleri farklı türleri temsil eder

o En yakın komşu sınıflandırıcı bulunduğunda, boşluk bitişik noktalara göre kesilebilir ve renklendirilebilir

o Ancak bu sınıflandırıcı şu anda en iyi seçim değildir, en yakın komşu sınıflandırıcıyla bazı problemler yaşayabilirsiniz.

· Bunlardan biri, yeşil noktaların çoğunun görüntünün ortasında yoğunlaşması, ancak ortada sarı bir nokta bulunmasıdır.Sarı alan ikiye bölünmüştür, diğer yerlerde de aynı durum görülmektedir.Yeşil noktanın maviye yakın bir alanı ve kırmızı Mavi alana yakın birkaç nokta da vardır, bu noktalar gürültü veya bozuk sinyaller olabilir.

Bu motivasyondan, K-en yakın komşu algoritması

o Sadece en yakın noktayı bulmakla kalmaz, aynı zamanda bazı özel eylemler de yapar.Ölçülen mesafe ölçümüze göre K noktalarını bulur, ardından bu komşu noktalar arasında oy kullanır ve ardından en çok oy alan komşu noktaların sonucunu tahmin eder.

o Bu görevi yerine getirmenin daha karmaşık bir yolunu hayal edebilirsiniz, ağırlıklandırılmış mesafeye vb. oy verebilirsiniz. Ancak bu görevi yerine getirmenin en kolay yolu oy çoğunluğuyla oy kullanmaktır.

o K 1, 3 ve 5'e eşit olan en yakın komşu sınıflandırıcıyı kullanarak burada aynı veri kümesini kullanın

· K 3'e eşit olduğunda, yeşil alandaki sarı gürültüyü görebilirsiniz, bu artık çevredeki alanın çoğunluk oylama yöntemi nedeniyle sarıya bölünmesine neden olmaz.

· K 5'e eşit olduğunda, mavi ve kırmızı alanlar arasındaki bu karar sınırları daha düzgün ve daha güzel hale gelecektir.

o Dolayısıyla, en yakın komşu sınıflandırıcı kullanılırken, K'ye her zaman nispeten büyük bir değer atanacaktır, böylece hi, daha iyi sonuçlar elde etmek için karar sınırını daha düzgün hale getirir.

[Öğrenci sorusu]:

· Beyaz alan neyi temsil ediyor?

· Beyaz alan, bu alanın en yakın komşunun K oylamasına sahip olmadığı anlamına gelir, başka bir kategoriye sınıflandırmak için cesur bir varsayımda bulunabilirsiniz.

Bilgisayar görüşü hakkında düşünürken, birkaç farklı bakış açısı arasında düşünmek ve doğrulamak çok yararlıdır.

o İlk bakış açısı, düzlemdeki yüksek boyutlu noktalar kavramıdır.

o Diğer bir nokta, belirli görüntülerin gözlemidir, çünkü görüntünün pikselleri bu görüntülerin yüksek boyutlu vektörler olarak görülmesine izin verir

Orijinal metni okumak için tıklayın, Stanford CS231n'yi yeni bitirdiğimi görmek için, ters vuruşum tam ekran orijinal kod

Şaşırtıcı bir şekilde, Çin filmlerinin geleceği için Tencent ve iQiyi bir araya geldi mi?
önceki
Apollo'nun yeni modellerinin önizlemesi: 24 Ekim'de dünya prömiyeri
Sonraki
Uzaktan çalışma stressizdir, sadece bir Dandelion X5 alın
Dinamik İç mekanda GPS sinyali yok, nasıl doğru bir şekilde gezinilir?
4 milyar yuan değerinde Perfect World ve Baidu Edebiyatının başkent oyunu nasıl oynanır?
TVB'ye yeni bir drama ile döndü ve 2019'da en çok beklenen ilk dizi bu!
Akıllı hilelerle kendi ağ diskinizi oluşturun, Dandelion Router X5 size yardımcı olabilir
Bu sefer ellerimi kesmeye hazırım! Adidas YEEZY BOOST 650 beyaz ayakkabının detayları açıklandı!
Cannesın "Film Satın Alma" nın Gizemini Çözmek: Çinli şirketler pazara çılgınca girerek yeni "Filarmoni Şehri" ni arıyor
Temel LeetCode algoritma problemi 47. gün: N-ary ağaç geçişi
Bir MPV istiyorsanız ve Alfa'yı karşılayamıyorsanız, neden bunlara bir göz atmıyorsunuz?
CIKM AnalytiCup 2018 şampiyon programı yayınlandı, model oluşturmadaki becerilerini görün
Betta Balık Karnavalı'nın Gözlemi: Üç gün içinde 300.000 kişinin "canlı yayın + tema parkı" sularını test etmesi bekleniyor
Bekar genç kadınlar için bir şölen | TVB'nin ilk on kadını evlenmeden nasıl yaşayabileceğinizi anlatıyor!
To Top