Phần trình tạo của GAN học cách tạo dữ liệu giả mạo bằng cách kết hợp phản hồi từ bộ phân biệt. Công cụ này tìm hiểu cách phân biệt kết quả phân biệt dưới dạng thực tế.
Việc đào tạo trình tạo cần phải có sự tích hợp chặt chẽ hơn giữa trình tạo và sự phân biệt so với yêu cầu huấn luyện phân biệt đối xử. Phần của GAN huấn luyện trình tạo bao gồm:
- nhập ngẫu nhiên
- Mạng trình tạo chuyển đổi đầu vào ngẫu nhiên thành một phiên bản dữ liệu
- mạng phân biệt dữ liệu để phân loại dữ liệu đã tạo
- đầu ra phân biệt
- tổn thất trình tạo, phương thức này sẽ phạt công cụ tạo vì không đánh lừa được bộ phân biệt
Hình 1: Hoạt động truyền dữ liệu ngược trong quá trình đào tạo máy phát điện.
Nhập ngẫu nhiên
Mạng nơron cần một số dạng nhập. Thông thường, chúng tôi nhập dữ liệu mà mình muốn thực hiện việc gì đó, chẳng hạn như dữ liệu mà chúng ta muốn phân loại hoặc đưa ra dự đoán. Nhưng chúng ta sử dụng dữ liệu nào làm dữ liệu đầu vào cho một mạng tạo ra toàn bộ các thực thể dữ liệu mới?
Ở dạng cơ bản nhất, GAN lấy tiếng ồn ngẫu nhiên làm dữ liệu đầu vào. Sau đó, trình tạo sẽ chuyển đổi tiếng ồn này thành đầu ra có ý nghĩa. Bằng cách tạo ra tiếng ồn, chúng tôi có thể lấy GAN để tạo ra nhiều loại dữ liệu, lấy mẫu từ các vị trí khác nhau trong phạm vi phân phối mục tiêu.
Các thử nghiệm cho thấy việc phân phối tiếng ồn không quan trọng, vì vậy, chúng tôi có thể chọn một nội dung nào đó dễ lấy mẫu, chẳng hạn như sự phân phối đồng nhất. Để thuận tiện, không gian mà từ đó tiếng ồn được lấy mẫu thường có kích thước nhỏ hơn kích thước của không gian đầu ra.
Sử dụng trình phân tích để huấn luyện trình tạo
Để huấn luyện một mạng nơron, chúng tôi sẽ thay đổi trọng số của lưới để giảm lỗi hoặc mất đầu ra của mạng. Tuy nhiên, trong GAN, trình tạo không được kết nối trực tiếp với vùng bị mất mà chúng tôi đang cố gắng tác động. Trình tạo sẽ tạo nguồn cấp dữ liệu cho bộ phân biệt và bộ phân biệt sẽ tạo ra kết quả mà chúng ta đang cố gắng tác động. Việc mất công cụ tạo sẽ phạt trình tạo để tạo mẫu mà mạng phân biệt là phân loại giả.
Đoạn mạng bổ sung này phải được đưa vào quá trình truyền tải lại. Tính năng phân phối ngược điều chỉnh từng trọng số theo đúng hướng bằng cách tính toán tác động của trọng số đối với đầu ra — đầu ra sẽ thay đổi như thế nào nếu bạn đã thay đổi trọng số. Tuy nhiên, tác động của trọng số trình tạo phụ thuộc vào tác động của trọng số phân biệt mà nó cung cấp. Vì vậy, việc phân phối ngược bắt đầu ở đầu ra và truyền trở lại thông qua bộ phân biệt vào trình tạo.
Đồng thời, chúng tôi không muốn bộ phân biệt thay đổi trong quá trình huấn luyện trình tạo. Việc cố gắng đạt được mục tiêu di chuyển sẽ làm cho vấn đề khó khăn hơn nữa đối với trình tạo.
Vì vậy, chúng ta sẽ huấn luyện trình tạo bằng quy trình sau:
- Ví dụ về tiếng ồn ngẫu nhiên.
- Tạo đầu ra của trình tạo từ tiếng ồn ngẫu nhiên được lấy mẫu.
- Lấy phân biệt "Real" hoặc "Giả" phân loại cho đầu ra của trình tạo.
- Tính toán tổn thất do phân loại phân biệt.
- Tua lại thông qua cả bộ phân biệt và trình tạo để lấy màu chuyển màu.
- Sử dụng chuyển màu (gradient) để chỉ thay đổi trọng số của trình tạo.
Đây là một bước đào tạo về trình tạo. Trong phần tiếp theo, chúng ta sẽ tìm hiểu cách đánh đổi nội dung đào tạo của cả trình tạo và bộ phân biệt.