Mạng đối nghịch tạo sinh (GAN) đại diện cho một lớp mạnh mẽ của các khuôn khổ học máy (ML) , lần đầu tiên được giới thiệu bởi Ian Goodfellow và các đồng nghiệp vào năm 2014. Chúng thuộc lĩnh vực AI tạo sinh , tập trung vào việc tạo dữ liệu mới giống với một tập dữ liệu đào tạo nhất định. Ý tưởng cốt lõi đằng sau GAN liên quan đến hai mạng nơ-ron (NN) , Generator và Discriminator, tham gia vào một trò chơi cạnh tranh. Quá trình đối nghịch này thúc đẩy hệ thống tạo ra các đầu ra tổng hợp có độ chân thực cao, chẳng hạn như hình ảnh, nhạc hoặc văn bản.
GANS hoạt động như thế nào
Kiến trúc GAN bao gồm hai thành phần chính được đào tạo đồng thời:
- Generator: Mạng này lấy nhiễu ngẫu nhiên (một vectơ các số ngẫu nhiên, thường được lấy mẫu từ phân phối Gaussian) làm đầu vào và cố gắng biến đổi nó thành dữ liệu mô phỏng phân phối dữ liệu thực. Ví dụ, nó có thể tạo ra một hình ảnh tổng hợp của một con mèo trông giống như hình ảnh từ tập dữ liệu đào tạo . Mục tiêu của nó là tạo ra các đầu ra không thể phân biệt được với dữ liệu thực, đánh lừa Discriminator.
- Discriminator: Mạng này hoạt động như một bộ phân loại nhị phân. Nó nhận cả mẫu dữ liệu thực (từ tập dữ liệu thực tế) và mẫu dữ liệu giả (do Generator tạo ra). Nhiệm vụ của nó là xác định xem mỗi mẫu đầu vào là thật hay giả. Nó học điều này thông qua các kỹ thuật học có giám sát tiêu chuẩn, nhằm mục đích phân loại chính xác các mẫu thực và được tạo ra.
Quá trình đào tạo đối kháng
Quá trình đào tạo GAN là một quá trình năng động, trong đó Generator và Discriminator cạnh tranh và cải thiện cùng nhau:
- Máy phát điện tạo ra một loạt dữ liệu tổng hợp.
- Discriminator được đào tạo trên một lô chứa cả dữ liệu thực và dữ liệu tổng hợp của Generator, học cách phân biệt chúng. Backpropagation được sử dụng để cập nhật trọng số của nó dựa trên độ chính xác phân loại của nó.
- Sau đó, Generator được đào tạo dựa trên đầu ra của Discriminator. Mục tiêu của nó là tạo ra dữ liệu mà Discriminator phân loại không đúng là dữ liệu thực. Các gradient chảy ngược qua Discriminator (tạm thời cố định) để cập nhật trọng số của Generator.
Chu kỳ này tiếp tục, lý tưởng nhất là dẫn đến trạng thái cân bằng, trong đó Generator tạo ra dữ liệu thực tế đến mức Discriminator chỉ có thể đoán ngẫu nhiên (độ chính xác 50%) liệu mẫu là thật hay giả. Tại thời điểm này, Generator đã học cách ước lượng phân phối dữ liệu cơ bản của tập huấn luyện.
Ứng dụng chính
GAN đã mang lại những tiến bộ đáng kể trong nhiều lĩnh vực:
- Tạo hình ảnh: Tạo hình ảnh chân thực như ảnh, chẳng hạn như khuôn mặt người ( StyleGAN của NVIDIA Research ), động vật hoặc các vật thể không tồn tại. Điều này có ứng dụng trong nghệ thuật, thiết kế và giải trí, nhưng cũng làm dấy lên mối lo ngại về mặt đạo đức liên quan đến deepfake .
- Tăng cường dữ liệu tổng hợp: Tạo dữ liệu tổng hợp thực tế để bổ sung cho các tập dữ liệu thực. Điều này đặc biệt hữu ích trong các lĩnh vực như phân tích hình ảnh y tế , nơi dữ liệu thực có thể khan hiếm hoặc có các hạn chế về quyền riêng tư . Ví dụ, GAN có thể tạo hình ảnh X-quang tổng hợp cho thấy các tình trạng hiếm gặp để cải thiện tính mạnh mẽ của các mô hình thị giác máy tính chẩn đoán (CV) được sử dụng cho các tác vụ như phát hiện hoặc phân đoạn đối tượng. Việc tăng cường này có thể nâng cao việc đào tạo các mô hình như Ultralytics YOLO11 .
- Chuyển đổi hình ảnh sang hình ảnh: Chuyển đổi hình ảnh từ miền này sang miền khác (ví dụ: chuyển đổi bản phác thảo thành ảnh, thay đổi mùa trong phong cảnh hoặc thực hiện chuyển đổi phong cách thần kinh ).
- Siêu phân giải: Tăng cường độ phân giải của hình ảnh chất lượng thấp.
- Tổng hợp văn bản thành hình ảnh: Tạo hình ảnh dựa trên mô tả văn bản (mặc dù thường bị các kiến trúc mới hơn như Mô hình khuếch tán vượt trội).
GANS so với các mô hình khác
Điều quan trọng là phải phân biệt GAN với các loại mô hình khác:
- Mô hình phân biệt: Hầu hết các mô hình phân loại và hồi quy chuẩn (như các mô hình được sử dụng để phân loại hình ảnh hoặc phát hiện đối tượng chuẩn) đều có tính phân biệt. Chúng học ranh giới quyết định để tách các lớp khác nhau hoặc dự đoán giá trị dựa trên các tính năng đầu vào. Ngược lại, GAN có tính sinh sản – chúng học phân phối xác suất cơ bản của chính dữ liệu để tạo ra các mẫu mới.
- Mô hình khuếch tán: Mô hình khuếch tán là một lớp mô hình sinh sản mạnh mẽ khác gần đây đã trở nên nổi bật, thường đạt được kết quả tiên tiến trong việc tạo hình ảnh. Chúng hoạt động bằng cách dần dần thêm nhiễu vào dữ liệu và sau đó học cách đảo ngược quá trình này. Mặc dù đôi khi tạo ra hình ảnh có độ trung thực cao hơn và cung cấp đào tạo ổn định hơn GAN, nhưng chúng có thể tốn nhiều tính toán hơn trong quá trình suy luận .
Những thách thức và tiến bộ
Việc đào tạo GAN có thể vô cùng khó khăn do những vấn đề như:
- Thu gọn chế độ: Máy phát điện chỉ tạo ra một số lượng đầu ra hạn chế, không nắm bắt được toàn bộ sự đa dạng của dữ liệu đào tạo. Đọc thêm về thu gọn chế độ .
- Sự bất ổn trong đào tạo: Bộ tạo và Bộ phân biệt có thể không hội tụ trơn tru, dẫn đến dao động hoặc phân kỳ. Vấn đề độ dốc biến mất cũng có thể xảy ra.
- Đánh giá: Việc định lượng chất lượng và tính đa dạng của các mẫu được tạo ra vẫn còn là một thách thức. Các số liệu như Điểm khởi đầu (IS) và Khoảng cách khởi đầu Fréchet (FID) thường được sử dụng nhưng có những hạn chế.
Các nhà nghiên cứu đã phát triển nhiều biến thể GAN để giải quyết những thách thức này, chẳng hạn như Wasserstein GAN ( WGAN ) để cải thiện tính ổn định và Conditional GAN ( cGAN ) cho phép tạo dữ liệu có điều kiện trên các thuộc tính cụ thể (ví dụ: tạo hình ảnh của một chữ số cụ thể). Các khuôn khổ như PyTorch và TensorFlow cung cấp các công cụ và thư viện hỗ trợ việc triển khai và đào tạo GAN .