Mạng đối nghịch tạo sinh (GAN) là một lớp mạnh mẽ của các khuôn khổ học máy , được Ian Goodfellow và các đồng nghiệp giới thiệu lần đầu tiên vào năm 2014. Chúng thuộc lĩnh vực AI tạo sinh và được biết đến với khả năng tạo dữ liệu mới mô phỏng một số phân phối dữ liệu đầu vào. GAN đạt được điều này thông qua một quá trình đối nghịch liên quan đến hai mạng nơ-ron cạnh tranh: Generator và Discriminator. Kiến trúc độc đáo này đã dẫn đến những tiến bộ đáng kể, đặc biệt là trong thị giác máy tính .
GANS hoạt động như thế nào
Ý tưởng cốt lõi đằng sau GAN là trò chơi cạnh tranh giữa hai mạng:
- Generator: Mạng này cố gắng tạo dữ liệu tổng hợp (ví dụ: hình ảnh, âm thanh, văn bản) trông giống như dữ liệu đến từ tập dữ liệu thực. Nó bắt đầu bằng cách lấy nhiễu ngẫu nhiên làm đầu vào và cố gắng chuyển đổi thành đầu ra trông giống thật.
- Bộ phân biệt: Mạng này hoạt động như một thẩm phán. Mục tiêu của nó là phân biệt giữa dữ liệu thực (từ dữ liệu đào tạo thực tế) và dữ liệu giả do Generator tạo ra. Nó đưa ra một xác suất cho biết khả năng nó nghĩ một mẫu đầu vào là thật.
Trong quá trình đào tạo , hai mạng này được đào tạo đồng thời. Generator học cách tạo ra dữ liệu ngày càng thực tế hơn để đánh lừa Discriminator, trong khi Discriminator trở nên giỏi hơn trong việc xác định dữ liệu giả. Quá trình này sử dụng backpropagation để cập nhật trọng số mô hình của cả hai mạng dựa trên hiệu suất của chúng, được hướng dẫn bởi một hàm mất mát cụ thể. Hệ thống đạt đến trạng thái cân bằng khi Generator tạo ra dữ liệu thuyết phục đến mức Discriminator không còn có thể phân biệt được sự khác biệt một cách đáng tin cậy (thực hiện không tốt hơn việc đoán ngẫu nhiên).
Các khái niệm chính và thách thức
Một số khái niệm quan trọng để hiểu GAN:
- Mất mát đối nghịch: Các hàm mất mát được thiết kế sao cho sự cải thiện của Generator tương ứng với sự yếu đi của Discriminator và ngược lại, thúc đẩy quá trình học cạnh tranh.
- Độ ổn định khi luyện tập: Việc đào tạo GAN có thể rất khó khăn. Các vấn đề phổ biến bao gồm:
- 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. Tìm hiểu thêm về thu gọn chế độ .
- Độ dốc biến mất: Bộ phân biệt trở nên quá tốt quá nhanh, cung cấp ít phản hồi hữu ích (độ dốc) để Bộ tạo học hỏi. Xem vấn đề độ dốc biến mất .
- Không hội tụ: Các mô hình có thể không đạt được trạng thái cân bằng ổn định.
Các nhà nghiên cứu đã phát triển nhiều kỹ thuật và sửa đổi kiến trúc khác nhau (như Wasserstein GAN hoặc WGAN) để giảm thiểu những thách thức này và cải thiện tính ổn định khi đào tạo.
Ứng dụng trong thế giới thực
GAN đã tìm thấy nhiều ứng dụng, đặc biệt là trong việc tạo nội dung trực quan:
- Tạo hình ảnh thực tế: GAN như StyleGAN và BigGAN có thể tạo ra hình ảnh có độ phân giải cao, chân thực như ảnh, chẳng hạn như khuôn mặt người ( This Person Does Not Exist là một ví dụ phổ biến), động vật hoặc vật thể. Khả năng này có giá trị để tạo ra nghệ thuật, tài sản trò chơi và có khả năng tạo ra dữ liệu tổng hợp để tăng cường các tập dữ liệu cho các mô hình đào tạo như Ultralytics YOLO .
- Chuyển đổi hình ảnh sang hình ảnh: Các mô hình như pix2pix và CycleGAN có thể chuyển đổi hình ảnh từ phong cách này sang phong cách khác, chẳng hạn như chuyển đổi hình ảnh vệ tinh thành bản đồ, phác thảo thành ảnh hoặc thay đổi mùa trong ảnh. Khám phá các ví dụ về chuyển đổi hình ảnh .
- Tăng cường dữ liệu: GAN có thể tạo ra các biến thể của dữ liệu hiện có, thực hiện tăng cường dữ liệu hiệu quả. Điều này 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, giúp cải thiện tính mạnh mẽ của các mô hình chẩn đoán.
GANS so với các mô hình sinh sản khác
GAN khác biệt với các phương pháp tạo sinh khác:
- Bộ mã hóa tự động biến thiên (VAE): VAE là một loại mô hình tạo khác nhưng được đào tạo khác nhau, tối ưu hóa giới hạn dưới của khả năng nhật ký dữ liệu. Chúng thường tạo ra đầu ra mượt mà hơn nhưng có khả năng mờ hơn so với GAN. Đọc tổng quan về VAE .
- Mô hình khuếch tán: Các mô hình này, giống như mô hình khuếch tán ổn định , hoạt động bằng cách thêm nhiễu dần dần vào dữ liệu và sau đó học cách đảo ngược quy trình. Chúng thường đạt được kết quả tiên tiến về chất lượng hình ảnh và tính đa dạng nhưng có thể chậm hơn trong việc tạo mẫu so với GAN. Xem mục nhập thuật ngữ mô hình khuếch tán .
Trong khi GAN tập trung vào thế hệ, các mô hình phân biệt hướng đến phân loại hoặc dự đoán dựa trên dữ liệu đầu vào, chẳng hạn như các mô hình được sử dụng hoàn toàn cho phân loại hình ảnh hoặc phát hiện đối tượng . Discriminator trong GAN về cơ bản là một mô hình phân biệt, nhưng vai trò của nó là một phần của khuôn khổ tạo ra lớn hơn.
GAN đại diện cho một cột mốc quan trọng trong học sâu , mở rộng ranh giới tiềm năng sáng tạo của AI. Bạn có thể tìm hiểu sâu hơn bằng cách đọc bài báo gốc về Mạng đối nghịch tạo sinh . Để biết các triển khai thực tế, hãy khám phá các tài nguyên như hướng dẫn GAN của TensorFlow hoặc ví dụ của PyTorch .