Автори:
(1) Daniele Malitesta, Politecnico di Bari, Италија и [email protected] со соодветни автори: Даниеле Малитеста ([email protected]) и Џузепе Гаси ([email protected]);
(2) Џузепе Гаси, Politecnico di Bari, Италија и [email protected] со соодветни автори: Даниеле Малитеста ([email protected]) и Џузепе Гаси ([email protected]);
(3) Claudio Pomo, Politecnico di Bari, Италија и [email protected];
(4) Tommaso Di Noia, Politecnico di Bari, Италија и [email protected].
Апстракт и 1 Вовед и мотивација
2 Архитектура и 2.1 Збир на податоци
4 Дучо како апликација за докер
5 Демонстрации и 5.1 Демо 1: карактеристики на визуелни + текстуални ставки
5.2 Демо 2: функции за аудио + текстуални ставки
5.3 Демо 3: текстуални ставки/карактеристики за интеракции 6
Заклучок и идна работа, благодарници и референци
Архитектурата на Дучо е изградена врз три главни модули, имено, Dataset, Extractor и Runner, каде што првите два модула обезбедуваат различни имплементации во зависност од специфичниот модалитет (т.е. аудио, визуелен, текстуален) земен во предвид. Ја потсетуваме и конфигурацијата меѓу другите помошни компоненти. Архитектурата е дизајнирана да биде високо модуларна, со можност за интегрирање на нови модули или прилагодување на постоечките. Во продолжение, нурнуваме длабоко во секој наведен модул/компонента.
Модулот Dataset управува со вчитувањето и обработката на влезните податоци обезбедени од корисникот. Почнувајќи од општа споделена шема за сите достапни модалитети, овој модул обезбедува три посебни имплементации: Аудио, визуелни и Текстуални збирки на податоци. Како вообичаен пристап во литературата, Збирките на аудио и визуелни податоци бараат патека до папката од која се вчитуваат датотеките со слики/аудио, додека Текстуалната група на податоци работи преку tsv-датотека мапирајќи ги сите текстуални карактеристики на влезовите.
Вреди да се забележи, и различно од другите постоечки решенија, Ducho може да се справи со секој модалитет на два начина, во зависност од тоа дали специфичниот модалитет ги опишува или ставките (на пр. описи на производи) или интеракциите меѓу корисниците и ставките (на пр., рецензии [1]). Конкретно, додека ставките се мапирани на нивните уникатни идентификатори (извлечени од името на датотеката или tsv-датотеката), интеракциите се мапираат на парот корисник-ставка (извлечен од датотеката tsv) на кој се однесуваат. Иако фазите на претходна обработка и извлекување не се менуваат на ниво на ставки и интеракции (видете подоцна), веруваме дека оваа шема може совршено да одговара на новите мултимодални свесни системи за препораки со модалитети кои го опишуваат секој тип на влезен извор (дури и корисници ).
Друга важна задача за модулот Dataset е да се справи со фазата на претходна обработка на внесување податоци. Во зависност од специфичниот вклучен модалитет, Дучо нуди можност:
• аудио: вчитајте го влезното аудио со извлекување на брановата форма и брзината на примерокот, и повторно искористете го според брзината на примерокот на кој беше обучен претходно обучениот модел;
• визуелно: конвертирајте ги влезните слики во RGB и променете ги/нормализирајте ги за да се усогласат со претходно обучениот модел за екстракција;
• текстуален: (опционално) исчистете ги внесените текстови за да ги отстраните или измените бучните текстуални обрасци како интерпункциски знаци и цифри
По фазата на извлекување (видете подоцна), модулот Dataset конечно е задолжен за зачувување на генерираните мултимодални карактеристики во формат на нумпирана низа, следејќи ја шемата за именување на датотеки од претходното мапирање.
Модулот Extractor гради модел на екстракција од претходно обучена мрежа и работи на секој вчитан/претходно обработен влезен примерок за да ги извлече неговите мултимодални карактеристики. На сличен начин како и модулот Dataset, Extractor обезбедува три различни имплементации за секој модалитет, имено, аудио, визуелни и текстуални екстрактори. Ducho изложува широк спектар на претходно обучени модели од три главни позадини: TensorFlow, PyTorch и Transformers. Следниве модалитети/задни комбинации се моментално достапни:
• аудио: PyTorch (Torchaudio) и Transformers;
• визуелни: Tensorflow и PyTorch (Torchvision);
• текстуален: Трансформатори (и РеченицаТрансформери).
За да го изврши извлекувањето на карактеристиките, Дучо ги зема како влез (листата на) слоеви за извлекување за кој било претходно обучен модел. Бидејќи секој заден дел различно се справува со извлекувањето на скриените слоеви во мрежата, ние ги следиме упатствата дадени во официјалната документација, претпоставувајќи дека корисникот ќе ја следи истата шема за именување/индексирање на слоевите и однапред ќе ја знае структурата на избраниот претходно обучен модел. Заинтересираниот читател може да се повика на README[2] под конфигурацијата/папката на GitHub за исцрпно објаснување за тоа како да го поставите слојот за екстракција во секоја поставка за модалитет/заднина.
Конечно, за текстуалниот случај, корисникот може да ја одреди и конкретната задача за која треба да се обучи претходно обучениот модел (на пр., анализа на чувствата), бидејќи секоја претходно обучена мрежа може да доаѓа со различни верзии во зависност од стратегијата за обука.
Модулот Runner е оркестратор на Дучо, чија цел е да ги инстанцира, повика и управува сите опишани модули. Со своите API методи, овој модул може да го активира целосниот гасовод за извлекување (види подоцна) на еден единствен модалитет или сите вклучени модалитети истовремено
Модулот Runner е практично приспособен преку помошна конфигурациска компонента која ги складира и изложува сите параметри за да го конфигурира гасоводот за извлекување. Дури и ако стандардната конфигурација е веќе достапна за доброто на корисникот, Ducho дозволува да се отфрлат некои (или сите) нејзини параметри преку надворешна конфигурациска датотека (во формат YAML) и/или парови клуч-вредност како влезни аргументи доколку се извршуваат скриптите од командната линија. Уште еднаш, им предлагаме на читателите да се повикаат на README под конфигурацијата/ папката на GitHub за да ја разберат општата шема на конфигурациската датотека YAML.
Овој труд е достапен на arxiv под лиценца CC BY 4.0 DEED.