paint-brush
Новий спосіб отримання функцій для розумніших рекомендацій ШІза@yaml
Нова історія

Новий спосіб отримання функцій для розумніших рекомендацій ШІ

за YAML4m2025/02/16
Read on Terminal Reader

Надто довго; Читати

Архітектура Ducho складається з трьох ключових модулів — Dataset, Extractor і Runner — призначених для ефективного мультимодального вилучення функцій. Він підтримує TensorFlow, PyTorch і Transformers, що забезпечує гнучку обробку набору даних, вибір моделі та конфігурацію на основі YAML для бездоганної інтеграції в системи рекомендацій.
featured image - Новий спосіб отримання функцій для розумніших рекомендацій ШІ
YAML HackerNoon profile picture
0-item

Автори:

(1) Даніеле Малітеста, Політехнічний університет Барі, Італія та [email protected] з авторами-кореспондентами: Даніеле Малітеста ([email protected]) та Джузеппе Гассі ([email protected]);

(2) Джузеппе Гассі, Politecnico di Bari, Італія та [email protected] з авторами-кореспондентами: Даніеле Малітеста ([email protected]) та Джузеппе Гассі ([email protected]);

(3) Клаудіо Помо, Політехнічний університет Барі, Італія та [email protected];

(4) Томмазо Ді Ноя, Політехнічний університет Барі, Італія та [email protected].

Анотація та 1 Вступ і мотивація

2 Архітектура та 2.1 Набір даних

2.2 Екстрактор

2.3 Бігун

3 Екстракційний трубопровід

4 Ducho як додаток Docker

5 Демонстрації та 5.1 Демонстрація 1: функції візуальних і текстових елементів

5.2 Демонстрація 2: функції аудіо + текстові елементи

5.3 Демо 3: текстові елементи/функції взаємодії 6

Висновки та майбутня робота, подяки та література

2 АРХІТЕКТУРА

Архітектура Ducho побудована на трьох основних модулях, а саме Dataset, Extractor і Runner, де перші два модулі забезпечують різні реалізації залежно від конкретної модальності (тобто аудіо, візуального, текстового), яка береться до уваги. Серед інших допоміжних компонентів нагадаємо також Конфігурацію. Архітектура розроблена як високомодульна, можливо інтеграція нових модулів або налаштування існуючих. Далі ми детально зануримося в кожен окреслений модуль/компонент.

2.1 Набір даних

Модуль Dataset керує завантаженням і обробкою вхідних даних, наданих користувачем. Починаючи із загальної спільної схеми для всіх доступних модальностей, цей модуль надає три окремі реалізації: аудіо, візуальні та текстові набори даних. Як загальний підхід у літературі, набори аудіо- та візуальних даних вимагають шляху до папки, з якої завантажуються файли зображень/аудіо, тоді як набір текстових даних працює через файл tsv, який відображає всі текстові характеристики на вхідні дані.


Варто відзначити, що на відміну від інших існуючих рішень, Ducho може обробляти кожну модальність двома способами, залежно від того, чи конкретна модальність описує або елементи (наприклад, опис продукту), або взаємодію між користувачами та елементами (наприклад, огляди [1]). Конкретно, хоча елементи зіставляються з їхніми унікальними ідентифікаторами (витягнутими з назви файлу або файлу tsv), взаємодії зіставляються з парою «користувач-елемент» (видобутою з файлу tsv), на яку вони посилаються. Незважаючи на те, що фази попередньої обробки та вилучення не змінюються на рівні елементів і взаємодії (див. далі), ми вважаємо, що ця схема може ідеально підійти для нових мультимодальних систем рекомендацій із модальностями, що описують кожен тип джерела введення (навіть користувачів ).


Ще одне важливе завдання для модуля Dataset — це виконання етапу попередньої обробки введення даних. Залежно від конкретної модальності Ducho пропонує можливість:


• аудіо: завантажте вхідний аудіо, витягнувши форму хвилі та частоту дискретизації, і повторно дискретизуйте його відповідно до частоти дискретизації, на якій було навчено попередньо навчену модель;


• візуальний: конвертуйте вхідні зображення в RGB і змінюйте їх розмір/нормалізуйте їх відповідно до попередньо навченої моделі вилучення;


• текстовий: (необов’язково) очистіть введені тексти, щоб видалити або змінити зашумлені текстові шаблони, такі як знаки пунктуації та цифри


Після фази вилучення (див. далі) модуль набору даних нарешті відповідає за збереження згенерованих мультимодальних функцій у форматі масиву numpy , дотримуючись схеми імен файлів із попереднього відображення.


2.2 Екстрактор

Модуль Extractor створює модель вилучення з попередньо навченої мережі та працює з кожним завантаженим/попередньо обробленим вхідним зразком, щоб витягти його мультимодальні характеристики. Подібно до модуля набору даних, екстрактор надає три різні реалізації для кожної модальності, а саме аудіо, візуальний і текстовий екстрактори. Дучо пропонує широкий спектр попередньо підготовлених моделей із трьох основних серверних програм: TensorFlow, PyTorch і Transformers. Наразі доступні такі комбінації модальності/сервера:


аудіо: PyTorch (Torchaudio) і Transformers;


візуальні: Tensorflow і PyTorch (Torchvision);


• текстові: Transformers (і SentenceTransformers).


Щоб виконати виділення ознак, Ducho приймає як вхідні дані (список) шарів вилучення для будь-якої попередньо навченої моделі. Оскільки кожен бекенд по-різному обробляє вилучення прихованих шарів у мережі, ми дотримуємося вказівок, наданих в офіційній документації, припускаючи, що користувач буде дотримуватися тієї самої схеми іменування/індексування шарів і заздалегідь знатиме структуру вибраної попередньо навченої моделі. Зацікавлений читач може звернутися до README[2] у папці config/ на GitHub, щоб отримати вичерпне пояснення того, як налаштувати рівень вилучення в кожному параметрі модальності/сервера.


Нарешті, для текстового випадку користувач також може вказати конкретне завдання, на якому має бути навчена попередньо навчена модель (наприклад, аналіз настроїв), оскільки кожна попередньо навчена мережа може мати різні версії залежно від стратегії навчання.


2.3 Бігун

Модуль Runner є оркеструвальником Ducho, метою якого є створення, виклик і керування всіма описаними модулями. Завдяки своїм методам API цей модуль може запускати повний конвеєр вилучення (див. далі) однієї модальності або всіх задіяних модальностей одночасно


Модуль Runner зручно налаштовувати за допомогою допоміжного компонента Configuration , який зберігає та надає всі параметри для налаштування трубопроводу вилучення. Навіть якщо конфігурація за замовчуванням уже доступна для користувача, Ducho дозволяє перевизначати деякі (або всі) її параметри за допомогою зовнішнього файлу конфігурації (у форматі YAML) та/або пари ключ-значення як вхідні аргументи, якщо сценарії запускаються з командного рядка. Ще раз пропонуємо читачам звернутися до README в папці config/ на GitHub, щоб зрозуміти загальну схему файлу конфігурації YAML.



Цей документ доступний на arxiv під ліцензією CC BY 4.0 DEED.


L O A D I N G
. . . comments & more!

About Author

YAML HackerNoon profile picture
YAML@yaml
YAML's human-friendly syntax shines, a language of structure, organizing complexity with ease, in a neat and tidy line.

ПОВІСИТИ БИРКИ

ЦЯ СТАТТЯ БУЛА ПРЕДСТАВЛЕНА В...