Dự án Hope-AD (Hope Adversarial Defense) cung cấp một bộ công cụ bảo vệ bản quyền hình ảnh, được thiết kế để chống lại việc khai thác ngoài ý muốn bởi các mô hình Generative AI (Stable Diffusion, LoRA, etc.). Hệ thống tích hợp hai phương pháp phòng vệ dựa trên nhiễu adversarial perturbations, tiêu biểu là Nightshade và Glaze.
Phiên bản hiện tại: 1.1.1
| Mô tả phần cứng | Tối thiểu | Khuyến nghị |
|---|---|---|
| CPU | Intel Core i7 3770 | Intel Core i5 8400 |
| Bộ nhớ/RAM | 8GB | 16GB+ |
| GPU | Không cần | NVIDIA GeForce GTX 1080 |
| Lưu trữ | 128GB | 512GB |
Hope-AD vận dụng các nguyên lý tối ưu hóa lồi (convex optimization) trên latent space của các Diffusion Models để tạo ra các nhiễu không thể nhận biết bằng mắt thường nhưng có tác động đủ mạnh đến quá trình train và machine-learning của máy học.
Mục tiêu: Gây hiện tượng "Model Mode Collapse" hoặc "Concept Bleeding" khi mô hình AI cố gắng học từ dữ liệu được bảo vệ. Nightshade biến đổi sự liên kết ngữ nghĩa (Context Link) giữa hình ảnh và văn bản mô tả.
graph LR
A[Ảnh Gốc: CON CHÓ] -->|Nightshade Attack| B(Tính toán Gradient)
B -->|Tiêm nhiễu ẩn| C[Ảnh Đã Bảo Vệ]
subgraph "Mắt Người & Mắt AI"
C -- Mắt thường thấy --> D(Vẫn là CON CHÓ)
C -- AI Training thấy --> E(Là cái BÁNH PIZZA)
end
E -->|Kết quả| F[Model AI bị hỏng]
Mô hình Toán học:
Giả sử
Trong đó:
-
$\mathcal{E}(\cdot)$ là hàm ánh xạ của Feature Extractor (ví dụ: CLIP Vision Encoder). -
$x_{\text{target}}$ là hình ảnh neo (anchor image) đại diện cho$c_{\text{target}}$ . -
$\lVert \delta \rVert_p$ là ràng buộc chuẩn$L_p$ (thường là$L_\infty$ hoặc$L_2$ ) để đảm bảo chất lượng thị giác (perceptual quality).
Hiệu quả: Khi mô hình được fine-tune trên dữ liệu nhiễm độc Nightshade, gradient descent sẽ tối ưu hóa trọng số mô hình theo hướng sai lệch, làm hỏng khả năng biểu diễn đặc trưng của khái niệm đó.
Mục tiêu: Ngăn chặn việc sao chép phong cách nghệ thuật (Style Mimicry) bằng cách tạo ra một sự dịch chuyển đặc trưng (Feature Shift) trong không gian biểu diễn.
graph LR
A[Ảnh Gốc: SƠN DẦU] -->|Style Cloaking| B(Tính toán Gradient)
B -->|Phủ lớp Style giả| C[Ảnh Đã Bảo Vệ]
subgraph "Mắt Người & Mắt AI"
C -- Mắt thường thấy --> D(Vẫn là SƠN DẦU)
C -- AI Training thấy --> E(Là tranh ANIME phẳng)
end
E -->|Kết quả| F[AI không học được Style thật]
Mô hình Toán học:
Glaze tối ưu hóa
Trong đó:
-
$\Phi(\cdot)$ là Style Extractor (e.g., Gram matrices của các lớp VGG). -
$\Psi(\cdot)$ là Content Extractor. -
$\alpha$ là hệ số cân bằng giữa độ bền vững của lớp phủ và chất lượng hình ảnh.
Kết quả là mô hình AI sẽ "nhìn thấy" một phong cách hoàn toàn khác (ví dụ: Anime
Nếu các bạn devs muốn phát triển hoặc chạy mã nguồn trực tiếp từ Python (thay vì dùng file .exe), vui lòng tuân thủ quy trình chuẩn hóa sau:
Yêu cầu:
- Python 3.10+
- NVIDIA GPU (VRAM
$\ge$ 6GB đề xuất) - CUDA Toolkit phù hợp với phiên bản PyTorch.
Quy trình:
-
Khởi tạo môi trường ảo (Virtual Environment): Để đảm bảo sự cô lập của các gói thư viện (dependencies), hãy sử dụng
venv:python -m venv venv .\venv\Scripts\activate
-
Cài đặt thư viện:
pip install --upgrade pip pip install -r requirements.txt
Lưu ý: Quá trình này sẽ tải về
torch,diffusers,transformersvà các thư viện cần thiết khác. -
Vận hành: Để khởi chạy giao diện người dùng (GUI) thông qua Python wrapper (nếu có) hoặc sử dụng CLI engine trực tiếp:
python engine.py --help
Dự án này được phát triển với mục đích bảo vệ quyền sở hữu trí tuệ của các nhà sáng tạo nội dung trong kỷ nguyên AI.
- Mã nguồn: Thuộc sở hữu của HopeADeff.
- Trách nhiệm: Người dùng chịu trách nhiệm về việc sử dụng công cụ này đúng mục đích pháp lý. Chúng mình không chịu trách nhiệm cho bất kỳ việc sử dụng sai mục đích nào.
Tài liệu được cập nhật lần cuối: 12/2025
Vấn đề cũ: Các phương pháp bảo vệ trước đây xử lý ở độ phân giải 512px rồi upscale, thường làm mờ chi tiết.
Giải pháp Delta Injection:
Thay vì thay thế toàn bộ ảnh, chúng mình chỉ trích xuất phần nhiễu bảo vệ (Delta) và tiêm vào ảnh gốc:
Delta (δ) = Ảnh_Bảo_Vệ_512px - Ảnh_Gốc_Resize_512px
Ảnh_Cuối = Ảnh_Gốc + Upscale(Delta)
Ưu điểm:
- ✅ Giữ nguyên 100% chi tiết ảnh gốc
- ✅ Chỉ thêm lớp nhiễu bảo vệ mỏng
- ✅ Hoạt động với mọi độ phân giải (4K, 8K...)
Tham khảo: Residual Learning (He et al., 2015)
Slider mới cho phép điều chỉnh thời gian xử lý vs mức độ bảo vệ:
| Mức | Tên | Iterations | Thời gian |
|---|---|---|---|
| 1 | Nhanh | 50 | ~20 phút |
| 2 | Mặc định | 100 | ~40 phút |
| 3 | Chậm | 200 | ~80 phút |
| 4 | Chậm nhất | 250 | ~160 phút |
Lưu ý: Tính năng này áp dụng cho cả Glaze và Nightshade.
Vấn đề cũ: Đóng gói 4GB model vào 1 file .exe → Tràn ổ C khi giải nén.
Giải pháp:
Hope-AD/
├── Hope.exe ← UI (~50MB)
└── engine/
├── engine.exe ← Backend (~200MB)
└── assets/models/ ← AI Models (~4GB, đọc trực tiếp)
Ưu điểm: Không tốn ổ C, khởi động nhanh hơn (chắc v), cài được trên mọi ổ đĩa.
Nếu model local bị thiếu, hệ thống tự động tải từ runwayml/stable-diffusion-v1-5. Tải 1 lần, cache vĩnh viễn.
| Phương pháp | Vector Mục tiêu | Hiệu quả |
|---|---|---|
| Adversarial Noise | Nhiễu tần số cao | Thấp: Dễ bị loại bỏ bởi khử nhiễu và nén ảnh. |
| Nightshade (Poison) | Sai lệch khái niệm | Khuyên dùng: Gây hiện tượng catastrophic forgetting hoặc sai lệch khái niệm trong trọng số mô hình. |
| Glaze (Cloak) | Chuyển đổi phong cách đặc trưng | Khuyên dùng: Hiệu quả chống lại Style Transfer và tinh chỉnh LoRA. |
Tóm lại:
"Nightshade và Glaze là 2 lựa chọn được chúng mình khuyến khích sử dụng để đạt hiệu quả tốt nhất." - Noah
"lmao" - QD
A: Hiệu quả cao. Việc tinh chỉnh mô hình khuếch tán (finetuning) như LoRA hay DreamBooth rất nhạy cảm với chất lượng của tập dữ liệu nhỏ (
A: Sự khác biệt giữa Huấn luyện (Backpropagation) và Suy luận (Inference/Forward Pass).
-
Suy luận (Inference): Mô hình hoạt động như một "Denoising Autoencoder". Cường độ khử nhiễu mạnh (
$>0.5$ ) hoặc hướng dẫn IP-Adapter có thể tái tạo nội dung hình ảnh vì nhiễu được thiết kế để bán ẩn (semi-imperceptible). - Huấn luyện (Training): Quá trình tối ưu hóa giảm thiểu hàm mất mát dựa trên các đặc trưng tiềm ẩn bị nhiễm độc. Mô hình cập nhật trọng số để ánh xạ khái niệm hình ảnh "A" sang mục tiêu độc hại "B". Vì Hope-AD tấn công quá trình Gradient Descent, nó được thiết kế cụ thể để phá vỡ quá trình huấn luyện, không phải quá trình xem ảnh.
A: Tool sử dụng thuật toán tối ưu hóa để giữ sự thay đổi ở mức thấp nhất (gần như vô hình với mắt thường). Tuy nhiên, với thiết lập Intensity cao, có thể xuất hiện nhiễu hạt nhẹ.
Khuyến nghị:
- Rất giống bản gốc (95%+):
0.05(5%) -> Phù hợp nếu bạn muốn ảnh giữ nguyên vẻ đẹp tối đa. - Khuyên dùng (Cân bằng):
0.08 - 0.10(8-10%) -> Cân bằng giữa bảo vệ và thẩm mỹ (giống ~90%). - Bảo vệ mạnh:
0.15+-> Có thể xuất hiện nhiễu (noise) nhẹ nhưng bảo vệ tốt hơn.
Q: Tại sao các model AI tân tiến (Gemini Banana Pro, GPT-4o, etc) vẫn tạo ra được khái niệm hoàn chỉnh từ ảnh được sử dụng phương pháp bảo vệ của tôi?
A: Đây là sự khác biệt giữa hình thức Training và Inference:
- Inference (Tạo ảnh/Img2Img): Khi bạn đưa ảnh vào để AI vẽ lại, AI có khả năng khử nhiễu (denoise) rất mạnh. Nó có thể nhìn xuyên qua lớp Glaze mỏng để tái tạo lại đường nét. Glaze KHÔNG được thiết kế để chặn việc này.
- Training (Bắt chước Style): Đây là mục đích chính của Glaze. Nếu ai đó dùng ảnh Glaze của bạn để Train LoRA, model đó sẽ bị hỏng (học ra nhiễu hoặc phong cách lập thể thay vì tranh gốc).
=> Kết luận: Việc AI vẫn nhìn thấy nhân vật để vẽ lại (i2i) là bình thường. Glaze bảo vệ bạn khỏi việc bị đánh cắp style để tạo ra Model riêng.
A: Nightshade hoạt động tương tự như Glaze
Nhưng thay vì là biện pháp phòng thủ chống lại việc style mimicry, nó được thiết kế như một công cụ tấn công nhằm làm sai lệch feature representations bên trong các mô hình AI tạo sinh hình ảnh. Giống như Glaze, Nightshade được tính toán dựa trên quy trình multi-objective optimization để giảm thiểu những thay đổi có thể nhìn thấy được so với ảnh gốc. Trong khi mắt người thấy bức ảnh đã qua xử lý gần như không đổi so với bản gốc, thì mô hình AI lại nhìn thấy một bố cục hoàn toàn khác biệt trong bức ảnh đó.
A: Tin tưởng, nhưng không tuyệt đối.
- Về mặt Toán học: Hope-AD sử dụng chung thuật toán lõi (Projected Gradient Descent) với bản chính gốc của ĐH Chicago (Glaze/Nightshade Team). Nên hiệu quả tấn công là tương đương.
- Về mặt Thực tế:
- Hiệu quả cao (80-90%): Với các model phổ biến như Stable Diffusion 1.5, SDXL, NAI (Anime).
- Hiệu quả thấp hơn: Với các model quá mới hoặc kiến trúc quá khác (Midjourney v6, DALL-E 3, Gemini Banana Pro, GPT-4o, etc.) - do chúng không công khai mã nguồn để tấn công.
- Lời khuyên chân thành: Không có công cụ nào bảo vệ được 100%. Hope-AD giống như một cái "khóa cửa" xịn cho ngôi nhà nghệ thuật của bạn. Nó chặn được hầu hết những kẻ tò mò, táy máy tay chân lôi ảnh về train (chiếm đa số). Còn nếu gặp chuyên gia cố tình phá khóa thì rất khó. Nhưng bạn yên tâm, tranh của mình chưa đến mức bị các đại ty để ý đâu. Cứ dùng để an tâm sáng tạo nhé!
A: Việc chuyển app dựa hoàn toàn trên nền tảng WPF/CSharp lên hệ điều hành Android, iOS, MacOS (x64/ARM) là hiện tại là quá xa so với trình độ của cả đội ngũ, đặc biệt là về mặt tối ưu. Nhưng việc xuất hiện trên các hệ điều hành khác vẫn sẽ khả thi, khi maintainer chính của team, Noah, vốn đã có kinh nghiệm trong việc viết desktop và mobile app bằng JavaScript nên việc chuyển đổi từ CSharp sang hẳn JS sẽ còn chỉ là vấn đề thời gian, nhưng chắc chắn vẫn sẽ có vấn đề về mặt hiệu năng khi vẫn sẽ phải hoàn toàn phụ thuộc vào Python để xử lí các logic AI, backend, etc.
| Phiên bản | Kích thước | Ghi chú |
|---|---|---|
| Installer (.exe) | ~2.76 MB | Chưa bao gồm các binary cần thiết của Python, môi trường, etc. |
| Source Code | ~1 MB | Chưa bao gồm venv |
| Installer (Full/.exe/.bin) | ~3.63 GB | Cả file installation setup.exe chính và dependencies |
| Installed (Full) | ~4.68 GB | App hoàn chỉnh về cả môi trường .NET và Python; giao diện; logic |
Dự án được xây dựng dựa trên các nghiên cứu khoa học:
- Nightshade: Shawn Shan et al., "Nightshade: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models"
- Chi tiết tham khảo: Mục 4 (Thiết kế Tấn công), tr. 6-8. Mô tả quy trình tối ưu hóa để đầu độc khái niệm trong không gian tiềm ẩn.
- Glaze: Shawn Shan et al., "Glaze: Protecting Artists from Style Mimicry by Text-to-Image Models"
- Chi tiết tham khảo: Mục 3 (Lớp phủ Phong cách), tr. 4-6. Giải thích phương pháp nhiễu loạn dịch chuyển phong cách.
- CLIP: OpenAI, "Learning Transferable Visual Models From Natural Language Supervision"
- Chi tiết tham khảo: Mục 3.1 (Bộ mã hóa hình ảnh), tr. 5-6. Cơ sở cho việc trích xuất đặc trưng được sử dụng trong các hàm mất mát của chúng tôi.
- High-Resolution Image Synthesis with Latent Diffusion Models: Rombach et al., CVPR 2022
- Chi tiết tham khảo: Mục 3 (Phương pháp), tr. 4-9. Kiến trúc của mô hình Stable Diffusion (UNet + VAE) được sử dụng trong backend.
- Towards Deep Learning Models Resistant to Adversarial Attacks: Madry et al., ICLR 2018
- Chi tiết tham khảo: Mục 2 (Vấn đề Điểm yên ngựa), tr. 2-4. Định nghĩa thuật toán Projected Gradient Descent (PGD), là bộ giải toán học cốt lõi cho Hope-AD.
- Mist: Liang et al., "Mist: Towards Improved Adversarial Examples for Diffusion Models"
- Chi tiết tham khảo: Mục 3.2 (Tấn công dựa trên kết cấu), tr. 5. Cách tiếp cận tương tự phương pháp "Nhiễu" của chúng tôi.
- Adversarial Example Generation for Diffusion Models (AdvDM): Liang et al., 2023
- Chi tiết tham khảo: Mục 3 (Phương pháp luận), tr. 4-6. Minh họa việc tối ưu hóa nhiễu đối kháng trực tiếp trên quá trình ngược (reverse process) tiềm ẩn.
- Anti-DreamBooth: Le et al., ICCV 2023
- Chi tiết tham khảo: Mục 3.1 (Khung phòng vệ), tr. 4-5. Thảo luận về tối ưu hóa nhiễu có mục tiêu để phá vỡ quá trình fine-tuning "DreamBooth".
- The Unreasonable Effectiveness of Deep Features as a Perceptual Metric (LPIPS): Zhang et al., CVPR 2018
- Chi tiết tham khảo: Mục 3, tr. 3-5. Định nghĩa thước đo mất mát tri giác (LPIPS) được sử dụng để đảm bảo hình ảnh được bảo vệ trông giống hệt bản gốc (Bảo toàn Chất lượng Thị giác).











