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

Bách khoa toàn thư mở Wikipedia

Mạng đối nghịch tạo sinh[1] (hay còn gọi là mạng đối nghịch phát sinh[2], 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.[3] 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,[4] học có giám sát đầy đủ,[5]học tăng cường.[6]

Ý 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.[7] 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[sửa | sửa mã nguồn]

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.[3] 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)).[3][8]

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.[9] 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.[10]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ Dịch giả Nguyễn Hữu Dương & Dương Lực (2020). Kiến thức cơ bản về Trí tuệ nhân tạo. Nhà xuất bản Vietstem. Trang 151.
  2. ^ “Trí tuệ nhân tạo có thể dò mật khẩu người dùng”. Truy cập 16 tháng 11 năm 2020.
  3. ^ a b c Goodfellow, Ian; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron; Bengio, Yoshua (2014). Generative Adversarial Networks (PDF). Proceedings of the International Conference on Neural Information Processing Systems (NIPS 2014). tr. 2672–2680.
  4. ^ Salimans, Tim; Goodfellow, Ian; Zaremba, Wojciech; Cheung, Vicki; Radford, Alec; Chen, Xi (2016). "Improved Techniques for Training GANs". arΧiv:1606.03498 [cs.LG]. 
  5. ^ Isola, Phillip; Zhu, Jun-Yan; Zhou, Tinghui; Efros, Alexei (2017). “Image-to-Image Translation with Conditional Adversarial Nets”. Computer Vision and Pattern Recognition.
  6. ^ Ho, Jonathon; Ermon, Stefano (2016). “Generative Adversarial Imitation Learning”. Advances in Neural Information Processing Systems: 4565–4573. arXiv:1606.03476. Bibcode:2016arXiv160603476H.
  7. ^ “Vanilla GAN (GANs in computer vision: Introduction to generative learning)”. theaisummer.com. AI Summer. Lưu trữ bản gốc ngày 3 tháng 6 năm 2020. Truy cập ngày 20 tháng 9 năm 2020.
  8. ^ Luc, Pauline; Couprie, Camille; Chintala, Soumith; Verbeek, Jakob (ngày 25 tháng 11 năm 2016). “Semantic Segmentation using Adversarial Networks”. NIPS Workshop on Adversarial Training, Dec, Barcelona, Spain. 2016. arXiv:1611.08408. Bibcode:2016arXiv161108408L.
  9. ^ Andrej Karpathy; Pieter Abbeel; Greg Brockman; Peter Chen; Vicki Cheung; Rocky Duan; Ian Goodfellow; Durk Kingma; Jonathan Ho; Rein Houthooft; Tim Salimans; John Schulman; Ilya Sutskever; Wojciech Zaremba, Generative Models, OpenAI, truy cập ngày 7 tháng 4 năm 2016
  10. ^ Lin, Zinan; và đồng nghiệp (tháng 12 năm 2018). “PacGAN: the power of two samples in generative adversarial networks”. NIPS'18: Proceedings of the 32nd International Conference on Neural Information Processing Systems. tr. 1505–1514. Ấn phẩm cho phép truy cập mở - đọc miễn phí (cũng ở arXiv:1712.04086 Ấn phẩm cho phép truy cập mở - đọc miễn phí)

Liên kết ngoài[sửa | sửa mã nguồn]