Skip to main content

No project description provided

Project description

Создание CNN для распознавания сгенерированных изображений

Цель

Цель исследования с нуля обучить CNN распознавать сгенерированные изображения.

Результаты

Первые результаты

Для первого обучения были выбраны такие гиперпараметры:

Параметр Значение
Количество conv блоков 4
Количество слоев классификатора 2
Размер датасета 1000
train / val 0.5
Эпох 30

Результат:

Результат Значение
Train Accuracy 0.64
Validation Accuracy 0.62

Точность на обучении и валидации остается ниже 65%, что близко к случайному угадыванию (50%). Присутствует нестабильность, особенно на валидации, возможно, переобучение на шум или нерегулярные признаки. Также модель не переобучается сильно, но и не обучается хорошо.

Анализируя Confusion Matrix, можно сказать, что настоящие изображения распознается лучше, чем сгенерированные. Модель очень часто принимает сгенерированное изображение за реальное (126 раз предсказано реальное, но являлось сгенерированным)

Модель пока не уверенно распознает сгенерированные изображения.

На следующем цикле обучения стоит попробовать увеличить датасет (1000 изображений, которые использовались в этом цикле, довольно мало). Также попробовать добавить больше conv блоков, слоев классификатора и увеличить число базовых каналов до 128 (кажется, что у модели мало параметров и она довольно узкая чтобы распознавать сгенерированные изображения).

Вторая итерация

Гиперпараметры:

Параметр Значение
Количество conv блоков 6
Количество слоев классификатора 2
Размер датасета 5000
train / val 0.7
Эпох 30

Результат:

Результат Значение
Train Accuracy 0.50
Validation Accuracy 0.50

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

Confusion Matrix выглядят очень странно, особенно на валидации 1500 / 1500 раз модель предсказала изображение как сгенерированное. Почему так произошло - не понятно, возможно, это также связано с тем что размер модели и кол-во данных подобраны не верно.

В этом исследование DeepGuardNet: A Novel CNN Architecture for DeepFake Image Detection обучали модель с очень похожей на мою архитектуру, но заточенную под обнаружение DeepFake в нем они использовали 140002 изображений для обучения модели из 5 conv блоков, в каждом из которых не больше 16 каналов + 1 слой классификатора.

Прошлое предположение:

Также попробовать добавить больше conv блоков, слоев классификатора и увеличить число базовых каналов до 128

Было неверным, нужно оставить предыдущую архитектуру и увеличить кол-во данных. В используемом датасете есть 2.5 млн картинок около 900 тыс настоящие, остальные - сгенерированные ИИ. Для следующего обучения стоит попробовать взять хотя бы 200 000 изображений.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_image_detector_research-0.1.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_image_detector_research-0.1.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file ai_image_detector_research-0.1.0.tar.gz.

File metadata

  • Download URL: ai_image_detector_research-0.1.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.9 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for ai_image_detector_research-0.1.0.tar.gz
Algorithm Hash digest
SHA256 15f6f5dee27fe8b78638070e1c1fdf6fb4546715b01c76bca8be28f72bb178f6
MD5 b13065cffc1d46c5692783a7667e4141
BLAKE2b-256 8e556bc0d0ce2195ec50a78cae8d93679eda45abec74f3601e741a13968a724a

See more details on using hashes here.

File details

Details for the file ai_image_detector_research-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_image_detector_research-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6598c4547ec52d1b9825fad44a895abfb5c19e00e945d8ffba36834871c1f6e5
MD5 b22d40ff7b6eda2669bf57ba4b699480
BLAKE2b-256 eca9a0f7555f1acb775e7a52f855ddc5794da3cb244a6fb76b3d097d23bd01b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page