Mạng sáng tạo đối nghịch (Generative Adversarial Network) với tên ngắn phổ biến GAN là một lớp các mô hình sinh mẫu sử dụng các kiến trúc học sâu. Cùng mình tìm hiểu về định nghĩa hệ thống mạng GAN qua bài viết của mình nhé.
Định nghĩa hệ thống mạng GAN là gì?
Một cách tiếp cận thông minh
Để huấn luyện mô hình sinh bằng cách nhìn nhận bài toán sinh như một bài toán học có giám sát với hai thành phần: mô hình sinh được huấn luyện để sáng tạo ví dụ mới, và một mô hình đánh giá để phân biệt các ví dụ là một thực thể thật hay một thực thể giả (được sáng tạo ra). Hai mô hình được huấn luyện song song, đối nghịch, cho đến khi mô hình phân biệt bị đánh lừa trên hơn 50% số mẫu, tức là mô hình sinh thành công trong việc tạo ra dữ liêu giả chất lượng cao.
Học có giám sát và không giám sát
Bài toán học máy điển hình thường liên quan đến việc sử dụng một mô hình để đưa ra dự đoán. Do đó thành phần không thể thiếu là tập dữ liệu huấn luyện, bao gồm nhiều ví dụ, với biến đầu vào (X) và kết quả đầu ra (y). Hiểu đơn giản nhất, một mô hình được huấn luyện bằng cách dựa vào các biến đầu vào, dự đoán kết quả đầu ra và được sửa lại với mỗi lần đoán sai. Sau nhiều lần huấn luyện, khả năng dự đoán của mô hình dần khớp với dữ liệu huấn luyện. Phương pháp này gọi là học có giám sát.
Định nghĩa mạng GAN một biến thể khác
Học không giám sát (còn được gọi là học mô tả), trong các bài toán này, dữ liệu chỉ có các biến đầu vào mà không có kết quả đầu ra. Mô hình được xây dựng bằng cách trích xuất và tổng hợp các mẫu tồn tại trong dữ liệu. Do đó không có mô hình chính xác vì mô hình trong các bài toán này không có chức năng dự đoán. Cùng với các bài toán khác như phân cụm, GAN thuộc lớp các bài toán học không giám sát.
GAN là gì?
Định nghĩa mạng GAN nột cách tổng quát, GAN là lớp các mô hình sinh mà kiến trúc của nó sử dụng mạng nơ ron nhân tạo. Kiến trúc GAN đầu tiên được mô tả trong bài báo khóa học năm 2014 do nhóm của Ian Goodfellow giới thiệu có tên “Generative Adversarial Networks.”
Kiến trúc của hệ thống mạng GAN bao gồm hai thành phần nhỏ là một mô hình sinh để sinh ra ví dụ mới và một mô hình phân biệt để xác định các thực thể là giả (được tạo ra bởi mô hình sinh) hay là một thự thể thật.
Sau khi được huấn luyện, các điểm trong không gian véc tơ đa chiều này sẽ phù hợp với các điểm từ dữ liệu thật với phân bố dữ liệu tự nhiên. Để hiểu hơn, bạn có thể tham khảo thêm bài viết Mạng máy tính là gì của chúng tôi.
Tại sao phải sử dụng hệ thống mạng GAN?
Một trong những kỹ thuật quan trọng trong học sâu là Data augmentation. Kỹ thuật này giúp tăng hiệu quả mô hình cũng như góp phần giảm nhiễu và overfitting.
Mô hình sinh cung cấp một giải pháp thay thế cho data augmentation, đặc biệt hơn, ta có thể đặt hàng chính xác những dữ liệu tăng cường này với những điều kiện cho trước.
Bên cạnh đó, GAN có thể giúp mô hình hóa các dữ liệu trong chiều không gian lớn, giải quyết vấn đề thiếu dữ liệu và hỗ trợ con người trong các công việc sáng tạo.
Dưới đây là một số ứng dụng của GAN được Goodfellow chỉ ra:
- Cải thiện chất lượng ảnh. GAN có thể sinh ra phiên bản có độ phân giải cao hơn ảnh gốc.
- Sáng tạo nghệ thuật. GAN có khả năng vẽ tranh, viết kịch và sinh ảnh nghệ thuật.
- Thay đổi nội dung ảnh. Thay đổi nội dung bức ảnh như thay đổi từ ban ngày thành ban đêm, mùa hè thành mùa xuân v..v..
Có lẽ lý do thuyết phục nhất lý giải cho sự phổ biến của GAN là thành công của các mô hình này. GAN có thể sinh ra những bức ảnh thật đến nỗi con người cũng khó có thể nhận ra chúng là ảnh giả.
Bài viết trên đã cho các bạn biết về Định nghĩa hệ thống mạng GAN. Cảm ơn các bạn đã xem qua bài viết của mình nhé.