Derin Öğrenmede 1D Konvolüsyon Katmanı nedir?


13

2D veya 3D uygulamalarda görüntü işleme için Deep Learning'deki evrişimsel katmanların rolü ve mekanizması hakkında iyi bir genel anlayışa sahibim - görüntülerde (3B durumunda 3 kanalda) 2B desenleri yakalamaya çalışırlar.

Ama son zamanlarda benim için bir çeşit sürpriz olan Doğal Dil İşleme bağlamında 1D evrişimsel katmanlara çarptım, çünkü benim anlayışımda 2D evrişim özellikle 1D (vektör) formunda ortaya çıkması imkansız olan 2B desenleri yakalamak için kullanılıyor görüntü pikselleri. 1D evrişiminin ardındaki mantık nedir?

Yanıtlar:


16

Kısacası, evrişim boyutlarının sayısı hakkında özel bir şey yoktur. Bir soruna uyuyorsa, evrişimin herhangi bir boyutu düşünülebilir.

Boyut sayısı, çözülmekte olan sorunun bir özelliğidir. Örneğin, ses sinyalleri için 1D, görüntüler için 2D, filmler için 3D. . .

Boyutların sayısını kısaca göz ardı ederek, aşağıdakiler, belirli veri türleriyle uğraşırken, tamamen bağlı modellerle karşılaştırıldığında, evrişimli bir sinir ağının (CNN) güçlü yanları olarak düşünülebilir :

  1. Evrişimin işlediği her bir konum için paylaşılan ağırlıkların kullanılması, tam bağlantılı ağ üzerinden işlenen verilere kıyasla, öğrenilmesi gereken parametre sayısını önemli ölçüde azaltır.

  2. Paylaşılan ağırlıklar bir çeşit düzenlileştirmedir.

  3. Bir evrişimsel modelin yapısı, verilerdeki yerel ilişkiler hakkında güçlü varsayımlar yapar, bu da gerçek olduğunda soruna iyi bir uyum sağlar.

    3.1 Yerel modeller iyi tahmin verileri sağlar (ve / veya daha yüksek katmanlarda daha karmaşık tahmin modellerine faydalı bir şekilde birleştirilebilir)

    3.2 Verilerde bulunan örüntü türleri birden fazla yerde bulunabilir. Farklı bir veri noktası kümesinde aynı kalıbı bulmak anlamlıdır.

CNN'lerin bu özellikleri boyut sayısından bağımsızdır. Tek boyutlu CNN'ler bir boyuttaki desenlerle çalışır ve sabit uzunluklu sinyaller üzerinden sinyal analizinde yararlı olma eğilimindedir. Örneğin, ses sinyallerinin analizi için iyi çalışırlar. Ayrıca bazı doğal dil işlemleri için - farklı dizi uzunluklarına izin veren tekrarlayan sinir ağları, özellikle LSTM veya GRU gibi bellek kapısı düzenlemelerine sahip olanlar için daha uygun olabilir. Yine de bir CNN'nin yönetimi daha kolay olabilir ve girişi sabit uzunlukta olacak şekilde yerleştirebilirsiniz.


2D sadece gri tonlamalı görüntüler için mi? RGB'yi tanıttığınızda ne olur?
Mohammad Athar

1
@MohammadAthar: RGB, ayrı 2D bilgilerinin kanalları (veya özellik haritaları ) olarak temsil edilir ve CNN katmanları tanımlanırken de genellikle 2D olarak kabul edilir. TensorFlow veya Keras kullanıyorsanız, renkli görüntüleri işlemek için kesinlikle bir Conv2D katman tanımı kullanırsınız. Bununla birlikte, uygulamaların ağırlıkları depolamak için genellikle dahili olarak 3D ve 4D yapıları olacaktır. . . ve çoklu kanallar arasındaki bir 2D evrişim, etkili bir şekilde 3D evrişimin matematiksel olarak özel bir örneğidir (giriş ve çekirdek boyutlarının son katman için eşleşmesi gerektiği yerlerde). Yani bu her şey kadar bir adlandırma kuralıdır.
Neil Slater
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.