Skip to content

Instantly share code, notes, and snippets.

@alexmazaltov
Forked from gehn11/Vitaliy_Romanyuk_v2
Last active August 10, 2024 20:07
Show Gist options
  • Save alexmazaltov/372bbaf26f0f2a3c44d32085d8f48365 to your computer and use it in GitHub Desktop.
Save alexmazaltov/372bbaf26f0f2a3c44d32085d8f48365 to your computer and use it in GitHub Desktop.
Text query to image - Integrated project 4

Выводы и рекомендации Mazaltov at Alef Invest:

  1. В рамках данного проекта была проведена работа по обучению моделей для предсказания соответствия между текстовыми запросами и изображениями.

  2. Исходные данные включали:

    • Набор из 1000 уникальных изображений
    • Датасет с наименованиями файлов изображений
    • Датасет с экспертной оценкой соответствия изображений и запросов (около 15% выборки)
    • Датасет с оценкой соответствия, полученной краудсорсингом (около 95% выборки)
  3. Для обучения были выбраны две модели: линейная регрессия и полносвязная нейронная сеть с 4 слоями.

  4. Оптимальная конфигурация нейронной сети была определена путем перебора количества нейронов на каждом из первых трех слоев. Лучшие результаты показала модель с архитектурой:

    • 150 нейронов на первом слое
    • 50 нейронов на втором слое
    • 5 нейронов на третьем слое
    • 1 нейрон на выходном слое
  5. Обе модели показали схожие значения метрики MSE, что указывает на сопоставимую производительность.

  6. Для тестирования была разработана функция, принимающая текстовое описание и возвращающая наиболее подходящее изображение согласно метрике.

  7. Результаты тестирования показали, что обе модели демонстрируют неудовлетворительную производительность в предсказании изображений по текстовым запросам. Линейная регрессия выдает одно и то же изображение на все запросы, а нейронная сеть предлагает изображения, не соответствующие описанию.

  8. Возможные причины низкой производительности моделей:

    • Некачественная разметка исходных данных
    • Сильное смещение баланса оценок в сторону нуля
    • Неоптимальный выбор архитектуры модели или метрики оценки
  9. Рекомендации для улучшения результатов:

    а) Улучшение качества данных:

    • Провести аудит и валидацию существующей разметки
    • Дополнить датасет качественно размеченными примерами с высоким соответствием между изображениями и текстовыми описаниями
    • Рассмотреть возможность привлечения экспертов для дополнительной проверки и уточнения разметки

    б) Предобработка и анализ данных:

    • Провести более глубокий анализ распределения оценок соответствия
    • Применить методы балансировки данных, если обнаружится сильный перекос
    • Исследовать и применить более продвинутые методы векторизации текста и изображений

    в) Совершенствование моделей:

    • Экспериментировать с другими архитектурами нейронных сетей, например, CNN для обработки изображений и LSTM или Transformer для обработки текста
    • Рассмотреть применение предобученных моделей и transfer learning (например, BERT для текста и ResNet для изображений)
    • Исследовать возможность использования многозадачного обучения или ансамблевых методов

    г) Оптимизация процесса обучения:

    • Экспериментировать с различными функциями потерь и метриками оценки
    • Применить методы регуляризации для предотвращения переобучения
    • Использовать техники, такие как learning rate scheduling и early stopping

    д) Расширение контекста:

    • Рассмотреть возможность включения дополнительной информации о контексте изображений и запросов
    • Исследовать методы учета семантической близости между запросами

    е) Итеративное улучшение:

    • Внедрить процесс постоянной оценки и улучшения модели на основе обратной связи от пользователей
    • Регулярно обновлять модель новыми данными и проводить повторное обучение
  10. Заключение: Несмотря на текущие ограничения, данный проект заложил основу для создания системы сопоставления текстовых запросов и изображений. Реализация предложенных рекомендаций должна значительно улучшить качество предсказаний и приблизить систему к практическому применению.

Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment