CNN'lerin girişi olarak yan görüntülere görüntü olmayan özellikler nasıl eklenir


14

Sis koşullarındaki (3 sınıf) görüntüleri sınıflandırmak için evrişimli bir sinir ağı eğitimi alıyorum. Bununla birlikte, yaklaşık 150.000 görüntünün her biri için, görüntülerin sınıflarını tahmin etmede yardımcı olabilecek dört meteorolojik değişkenim var. Meteorolojik değişkenleri (örneğin sıcaklık, rüzgar hızı) mevcut CNN yapısına nasıl ekleyebileceğimi merak ediyordum, böylece sınıflandırmada yardımcı olabilirdi.

Zaten aklıma gelen bir yol, CNN ile birlikte başka bir (küçük) ileri beslemeli sinir ağı oluşturmak ve daha sonra CNN tabakalarının çıktılarını ve görüntü olmayan sinir ağının gizli tabakalarını yoğun tabakada birbirine birleştirmektir.

Düşünebileceğim ikinci yol, bu özelliklerin yoğun katmanla temasa geçmesidir. Ancak, bu durumda, görüntü olmayan değişkenler (sanırım) sadece doğrusal tahminlerde bulunabilecektir.

Görüntü olmayan özelliklerin modele dahil edilmesinin başka (daha iyi) yolları var mı? Ve sahip olduğum veri miktarını göz önünde bulundurarak önerilen yöntem ne olurdu?

Sahip olduğum başka bir soru, görüntü olmayan bu özelliklerle eğitim yaparken kıvrımlı katmanları çözmem gerekip gerekmediğidir? Resnet-18'in bu katmanları (ImageNet üzerinde önceden eğitilmiş olarak başlatıldı) görüntüler kullanılarak zaten ince ayar yapıldı. Benim tahminim, onları donmuş tutmalı ve sadece yoğun katmanı çözmeliyim çünkü sadece burada olmayan görüntü özellikleri görüntü özellikleriyle (daha önce CNN'de değil) 'temasa' giriyor. Eğer bu konuda yanılıyorsam, lütfen söyleyin!


ek_özellikler ve resimler arasındaki birleştirme dağılımını GAN, VAE gibi bazı üretken modellerle modelleyebilirsiniz. o zaman gizli değişkenleri alıp denetimli bir kriterle kullanabilirsiniz
Fadi Bakoura

Ben de benzer bir durumdayım. Son 15 dakika boyunca, 15 dakika boyunca kameraya yakın güneş panellerinin çıktısını tahmin etmek ve tahmin etmek için gökyüzü görüntüleri yığını kullanıyorum. Son zamanlarda çeşitli hava özelliklerini oyuna dahil etmeye karar verdim (davanızdaki her resim için bir tane). İlk öneriniz ikincisinden çok daha iyi sonuç verdi (yoğun katmana doğrudan grafiksel olmayan özellikler ekleme). Kesin olmak gerekirse, ikinci öneri normalleşmeyle ilgili sorunlara yol açmıştır. Bazı nedenlerden dolayı henüz açıklayamam, Batchnorm katmanının grafiksel özelliği normalleştiremediğini
buldum

@VigneshVenugopal lütfen yorumlarda bana bahset, aksi takdirde bilgilendirilemem. Sorunuz nedir? :)
Medya

Hız ve gaz ve direksiyon açısını ağlarıma nasıl birleştirebilirim? Yoğun yoğun ekleme hakkında açıklar mısınız? Buna bağlı olan nedir?
Nasrinzaghari

Yanıtlar:


10

Benim çözümüm ilk tavsiyeniz gibidir, ancak küçük değişikliklerle.

  1. Evrişimsel katmanlarınızı oluşturun ve düzleştirme katmanına kadar istifleyin. Bu ağ, görüntü verileriyle beslenmelidir.
  2. Aktivasyon haritalarınızı düzleştirin
  3. İstenilen sayıda nöron ve katman ile tam bağlantılı bir ağ oluşturun.
  4. Evrişimsel ağın düzleştirilmiş tabakasının ve tam olarak bağlanmış ağın çıktılarını birleştirin.
  5. biraz yoğun katman ekleyin ve bunları sınıflarınızı temsil eden son katmana bağlayın.

Bu mimari için geleneksel maliyet işlevlerini kullanabilirsiniz.


Keras'ta Concatenate()katmanlarla yapabilir misiniz ?
Leevo

Evet. Bunları yan yana koymak için birleştirmelisiniz.
Medya

Kullandığım Shall Concatenate()veya concatenate()tabakalar? Farkı söyleyemem
Leevo

Ağınızı nasıl oluşturmak istediğinize bağlıdır. Bu arada, her birinin argüman listesini görebilirsiniz. Onlar farklı. Ayrıca buraya bir göz atmak isteyebilirsiniz .
Medya
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.