Mạng đối nghịch tạo sinh

Mạng đối nghịch tạo sinh (hay còn gọi là mạng đối nghịch phát sinh, tiếng Anh: generative adversarial network hay viết tắt GAN) là một lớp của khung (framework) học máy do Ian Goodfellow và cộng sự thiết kế vào năm 2014. GAN chứa hai mạng thần kinh (mạng phân biệt và mạng tạo sinh) cạnh tranh lẫn nhau trong một trò chơi (ở dạng một trò chơi có tổng bằng không, trong đó bên thắng sẽ chiếm phần của bên thua, hay nói cách khác là bên thua sẽ bị mất phần cho bên thắng).

Cho một tập huấn luyện, kỹ thuật này học cách tạo ra dữ liệu mới với cùng chỉ số thống kê như tập huấn luyện. Ví dụ, một mạng đối nghịch tạo sinh (GAN) huấn luyện các bức ảnh để có thể tạo ra các ảnh mới mà ít nhất nhìn từ bề ngoài là chân thực đối với những người quan sát, chứa nhiều đặc tính thực tế. Mặc dù ban đầu được đề xuất dưới dạng một hình thức mô hình tạo sinh (mô hình phát sinh) cho phương pháp học không có giám sát, GAN cũng được chứng minh là hữu ích cho học nửa giám sát, học có giám sát đầy đủ, và học tăng cường.

Ý tưởng cơ bản của GAN dựa trên sự huấn luyện "gián tiếp" thông qua bộ phân biệt (discriminator), mà bản thân nó cũng đang được cập nhật động. Về cơ bản, điều này có nghĩa là bộ tạo sinh (generator) không được đào tạo để giảm thiểu khoảng cách đến một hình ảnh cụ thể, hơn là để đánh lừa bộ phân biệt. Do đó, điều này cho phép mô hình học theo cách không bị giám sát.

Các mạng GAN tương tự bắt chước trong sinh học tiến hóa, với một sự chạy đua tiến hóa ở cả hai bộ, bộ phân biệt và bộ tạo sinh.

== Phương pháp ==
Mô hình tạo sinh (mô hình sinh mẫu) tạo các ứng viên (dữ liệu ứng viên) trong khi mô hình phân biệt (discriminative model) sẽ đánh giá chúng. Sự cạnh tranh giữa 2 mô hình này sẽ vận hành theo cách phân phối dữ liệu. Thông thường, mạng tạo sinh sẽ học cách ánh xạ từ biến tiềm ẩn đến một phân phối dữ liệu cần quan tâm, trong khi mạng phân biệt sẽ phân biệt các ứng viên do bộ tạo tạo ra so với phân phối dữ liệu thực. Mục đích huấn luyện của mạng tạo sinh là tăng tỷ lệ lỗi của mạng phân biệt (tức là "đánh lừa" mạng phân biệt bằng cách tạo ra các ứng viên mới mà bộ phân biệt nghĩ rằng chưa được tổng hợp (là một phần của phân phối dữ liệu thực)).

Một tập dữ liệu biết trước đóng vai trò là dữ liệu huấn luyện ban đầu cho bộ phân biệt. Việc huấn luyện này bao gồm việc trình bày nó với các mẫu từ tập dữ liệu huấn luyện, cho đến khi đạt được độ chính xác chấp nhận được. Bộ tạo sinh huấn luyện dựa trên việc nó có thành công trong việc đánh lừa bộ phân biệt hay không. Thông thường, bộ tạo sinh được cung cấp dữ liệu với đầu vào ngẫu nhiên được lấy mẫu từ biến tiềm ẩn được xác định trước (ví dụ: một Phân phối chuẩn nhiều chiều). Sau đó, các ứng viên được tổng hợp bởi bộ tạo sinh được thẩm định (đánh giá) bởi bộ phân biệt. Các thủ tục truyền ngược độc lập được áp dụng cho cả hai mạng để bộ tạo tạo ra hình ảnh tốt hơn, trong khi bộ phân biệt trở nên thành thạo hơn trong việc gắn cờ các hình ảnh tổng hợp. Bộ tạo là một điển hình của một mạng thần kinh giải mã (deconvolution), và bộ phân biệt là một mạng thần kinh tích chập.

Các mạng GAN thường phải chịu đựng một "sụp đổ chế độ" (mode collapse) trong đó chúng không thể tổng quát hóa đúng cách, và thiếu toàn bộ các chế độ từ dữ liệu đầu vào. Ví dụ, một mạng GAN huấn luyện tập dữ liệu MNIST chứa nhiều mẫu dữ liệu chữ số, tuy nhiên lại có thể thiếu quyết đoán khi bỏ sót một tập con các chữ số từ đầu ra của nó. Một số nhà nghiên cứu cho rằng gốc rễ vấn đề là do một mạng phân biệt yếu, thất bại trong việc nhận diện sự thiếu sót mẫu, trong khi những người khác lại đổ lỗi cho việc lựa chọn hàm mất mát chưa hợp lý. Và cũng có nhiều giải pháp được đề xuất.

== Liên kết ngoài ==
- A Style-Based Generator Architecture for Generative Adversarial Networks
- This Person Does Not Exist photorealistic images of people who do not exist, generated by StyleGAN
- "Generative Adversarial Networks: A Survey and Taxonomy", recent review by Zhengwei Wang, Qi She, Tomas E. Ward