paint-brush
Daha Akıllı Yapay Zeka Önerileri İçin Özellikleri Çıkarmanın Yeni Bir Yoluile@yaml
Yeni tarih

Daha Akıllı Yapay Zeka Önerileri İçin Özellikleri Çıkarmanın Yeni Bir Yolu

ile YAML4m2025/02/16
Read on Terminal Reader

Çok uzun; Okumak

Ducho'nun mimarisi, verimli çok modlu özellik çıkarımı için tasarlanmış üç temel modülden oluşur: Veri Seti, Çıkarıcı ve Çalıştırıcı. TensorFlow, PyTorch ve Transformers'ı destekler ve esnek veri seti işleme, model seçimi ve öneri sistemlerine sorunsuz entegrasyon için YAML tabanlı yapılandırmaya olanak tanır.
featured image - Daha Akıllı Yapay Zeka Önerileri İçin Özellikleri Çıkarmanın Yeni Bir Yolu
YAML HackerNoon profile picture
0-item

Yazarlar:

(1) Daniele Malitesta, Politecnico di Bari, İtalya ve [email protected] ve Sorumlu yazarlar: Daniele Malitesta ([email protected]) ve Giuseppe Gassi ([email protected]);

(2) Giuseppe Gassi, Politecnico di Bari, İtalya ve [email protected] ve Sorumlu yazarlar: Daniele Malitesta ([email protected]) ve Giuseppe Gassi ([email protected]);

(3) Claudio Pomo, Politecnico di Bari, İtalya ve [email protected];

(4) Tommaso Di Noia, Politecnico di Bari, İtalya ve [email protected].

Özet ve 1 Giriş ve Motivasyon

2 Mimari ve 2.1 Veri Seti

2.2 Çıkarıcı

2.3 Koşucu

3 Çıkarma Boru Hattı

4 Ducho Docker Uygulaması Olarak

5 Gösterim ve 5.1 Demo 1: görsel + metinsel öğe özellikleri

5.2 Demo 2: ses + metin öğeleri özellikleri

5.3 Demo 3: Metinsel öğeler/etkileşim özellikleri 6

Sonuç ve Gelecekteki Çalışmalar, Teşekkürler ve Referanslar

2 MİMARLIK

Ducho'nun mimarisi, Dataset, Extractor ve Runner olmak üzere üç ana modül üzerine inşa edilmiştir. İlk iki modül, dikkate alınan belirli modaliteye (yani ses, görsel, metinsel) bağlı olarak farklı uygulamalar sağlar. Ayrıca, diğer yardımcı bileşenler arasında Configuration'ı da hatırlatırız. Mimari, muhtemelen yeni modülleri entegre eden veya mevcut olanları özelleştiren oldukça modüler olacak şekilde tasarlanmıştır. Aşağıda, ana hatları çizilen her modül/bileşene derinlemesine iniyoruz.

2.1 Veri Seti

Veri Seti modülü, kullanıcı tarafından sağlanan girdi verilerinin yüklenmesini ve işlenmesini yönetir. Tüm kullanılabilir modaliteler için genel bir paylaşımlı şema ile başlayarak, bu modül üç ayrı uygulama sağlar: Ses, Görsel ve Metinsel Veri Setleri. Literatürde yaygın bir yaklaşım olarak, Ses ve Görsel Veri Setleri, görüntü/ses dosyalarının yüklendiği klasörün yolunu gerektirirken, Metinsel Veri Seti, tüm metinsel özellikleri girdilere eşleyen bir tsv dosyası aracılığıyla çalışır.


Dikkat çekici ve diğer mevcut çözümlerden farklı olarak, Ducho her bir modaliteyi, belirli modalitenin öğeleri (örneğin ürün açıklamaları) veya kullanıcılar ve öğeler arasındaki etkileşimleri (örneğin incelemeler [1]) tanımlayıp tanımlamadığına bağlı olarak iki şekilde ele alabilir. Somut olarak, öğeler benzersiz kimliklerine eşlenirken (dosya adından veya tsv dosyasından çıkarılır), etkileşimler atıfta bulundukları kullanıcı-öğe çiftine (tsv dosyasından çıkarılır) eşlenir. Ön işleme ve çıkarma aşamaları öğeler ve etkileşimler düzeyinde değişmese de (daha sonra bakın), bu şemanın her tür girdi kaynağını (hatta kullanıcıları ) tanımlayan modalitelere sahip yeni çok modlu farkında öneri sistemlerine mükemmel şekilde uyabileceğine inanıyoruz.


Dataset modülü için bir diğer önemli görev, veri girişinin ön işleme aşamasını yönetmektir. Ducho, söz konusu belirli modaliteye bağlı olarak şunları yapma olanağı sunar:


• ses: dalga formunu ve örnek oranını çıkararak giriş sesini yükleyin ve önceden eğitilmiş modelin eğitildiği örnek oranına göre yeniden örnekleyin;


• görsel: giriş görüntülerini RGB'ye dönüştürün ve önceden eğitilmiş çıkarma modeliyle uyumlu hale getirmek için yeniden boyutlandırın/normalleştirin;


• metinsel: (isteğe bağlı) noktalama işaretleri ve rakamlar gibi gürültülü metinsel desenleri kaldırmak veya değiştirmek için giriş metinlerini temizleyin


Çıkarma aşamasından sonra (daha sonra bakacağız), Dataset modülü son olarak, üretilen çok modlu özellikleri, önceki eşlemeden alınan dosya adlandırma şemasını izleyerek numpy dizi biçimine kaydetmekle görevlidir.


2.2 Çıkarıcı

Extractor modülü, önceden eğitilmiş bir ağdan bir çıkarma modeli oluşturur ve çok modlu özelliklerini çıkarmak için her yüklenen/önceden işlenmiş giriş örneği üzerinde çalışır. Dataset modülüne benzer şekilde Extractor, her bir modalite için üç farklı uygulama sağlar: Ses, Görsel ve Metinsel Çıkarıcılar. Ducho, üç ana arka uçtan geniş bir yelpazede önceden eğitilmiş modeller sunar: TensorFlow, PyTorch ve Transformers. Aşağıdaki modalite/arka uç kombinasyonları şu anda mevcuttur:


ses: PyTorch (Torchaudio) ve Transformers;


görsel: Tensorflow ve PyTorch (Torchvision);


• metinsel: Transformatörler (ve Cümle Transformatörleri).


Özellik çıkarma işlemini gerçekleştirmek için Ducho, önceden eğitilmiş herhangi bir model için çıkarma katmanlarının (listesini) girdi olarak alır. Her arka uç, bir ağ içindeki gizli katmanların çıkarılmasını farklı şekilde ele aldığından, kullanıcının katmanların aynı adlandırma/indeksleme şemasını izleyeceğini ve seçilen önceden eğitilmiş modelin yapısını önceden bileceğini varsayarak resmi belgelerde sağlanan yönergeleri izliyoruz. İlgilenen okuyucu, her bir modalite/arka uç ayarında çıkarma katmanının nasıl ayarlanacağına dair ayrıntılı bir açıklama için GitHub'daki config/ klasörü altındaki README[2]'ye başvurabilir.


Son olarak, metinsel durum için, kullanıcı önceden eğitilmiş modelin eğitilmesi gereken belirli görevi (örneğin, duygu analizi) de belirleyebilir, çünkü her önceden eğitilmiş ağ, eğitim stratejisine bağlı olarak farklı sürümlerle gelebilir.


2.3 Koşucu

Runner modülü, amacı açıklanan tüm modülleri örneklemek, çağırmak ve yönetmek olan Ducho'nun düzenleyicisidir. API yöntemleriyle, bu modül tek bir modalitenin veya dahil olan tüm modalitelerin tam çıkarma boru hattını (daha sonra bakın) aynı anda tetikleyebilir


Runner modülü, çıkarma hattını yapılandırmak için tüm parametreleri depolayan ve açığa çıkaran yardımcı bir Yapılandırma bileşeni aracılığıyla kolayca özelleştirilebilir. Kullanıcının iyiliği için varsayılan bir yapılandırma zaten mevcut olsa bile, Ducho komut satırından betikleri çalıştırıyorsanız, harici bir yapılandırma dosyası (YAML biçiminde) ve/veya giriş argümanları olarak anahtar-değer çiftleri aracılığıyla bazı (veya tüm) parametrelerini geçersiz kılmaya izin verir. Bir kez daha, okuyucuların YAML yapılandırma dosyasının genel şemasını anlamak için GitHub'daki config/ klasörü altındaki README'ye başvurmalarını öneririz.