Создание 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 изображений.
Metadata
Release files for ai-image-detector-research-gpu 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ai_image_detector_research_gpu-0.1.0.tar.gz | 12.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai_image_detector_research_gpu-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.9 kB
Release files / ai_image_detector_research_gpu-0.1.0.tar.gz
| Download URL | ai_image_detector_research_gpu-0.1.0.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
664d0954d9c3176421f0e02dc01eae840a90be44ffa620842e5168a76a02d59a
|
|
BLAKE2b-256 checksum How to use checksums |
fd888e24ca8798ffc9a7f9daa61497a353f14f856fcacbdbb52cc28d8d12101a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.11.9 Linux/5.15.167.4-microsoft-standard-WSL2
|
Release files / ai_image_detector_research_gpu-0.1.0-py3-none-any.whl
| Download URL | ai_image_detector_research_gpu-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a193ff5f1db53ac6f0009ffacf0e4b76abdad8743611acf9516d512d62f3dae
|
|
BLAKE2b-256 checksum How to use checksums |
784aefbaadf434669875dad8c4a8f904ca17652e3eb657694715dc1e851034e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.11.9 Linux/5.15.167.4-microsoft-standard-WSL2
|
Security for ai-image-detector-research-gpu 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.