Hàm mất dấu

GAN cố gắng tái tạo sự phân bổ xác suất. Do đó, chúng nên sử dụng các hàm mất phản ánh khoảng cách giữa sự phân phối dữ liệu được tạo bởi GAN và sự phân phối dữ liệu thực.

Làm cách nào để hiểu được sự khác biệt giữa hai hàm phân phối trong hàm mất GAN? Câu hỏi này là một lĩnh vực nghiên cứu chủ động và nhiều phương pháp đã được đề xuất. Chúng tôi sẽ giải quyết 2 hàm suy hao GAN phổ biến ở đây, cả hai hàm này đều được triển khai trong TF-GAN:

TF-GAN cũng triển khai nhiều hàm mất dữ liệu khác.

Một hay hai hàm mất?

GAN có thể có hai hàm mất: một dành cho huấn luyện trình tạo và một để đào tạo phân biệt. Làm cách nào để hai hàm mất dữ liệu có thể phối hợp hoạt động để phản ánh đo lường khoảng cách giữa các lần phân phối xác suất?

Trong sơ đồ tổn thất, chúng ta sẽ xem xét trường hợp này, trình tạo và sự phân biệt mất mát bắt nguồn từ một phép đo khoảng cách duy nhất giữa các lần phân phối xác suất. Tuy nhiên, trong cả hai lược đồ này, trình tạo chỉ có thể ảnh hưởng đến một thuật ngữ trong phép đo khoảng cách: thuật ngữ phản ánh việc phân phối dữ liệu giả mạo. Vì vậy, trong quá trình đào tạo trình tạo, chúng tôi bỏ qua thuật ngữ khác, phản ánh việc phân phối dữ liệu thực.

Nhìn chung, các tổn thất do trình tạo và phân biệt đối xử tạo ra sẽ khác nhau, mặc dù những lỗi này bắt nguồn từ một công thức duy nhất.

Tỷ lệ thu nhỏ

Trong bài viết giới thiệu về GAN, trình tạo sẽ cố gắng giảm thiểu hàm sau đây trong khi bộ phân biệt cố gắng tối đa hoá hàm này:

$$E_x[log(D(x))] + E_z[log(1 - D(G(z)))]$$

Trong hàm này:

  • D(x) là ước tính của nhà phân biệt dữ liệu về xác suất mà thực thể dữ liệu thực x x là thực.
  • Ex là giá trị dự kiến trên tất cả các phiên bản dữ liệu thực.
  • G(z) là công suất của máy phát điện khi phát ra tiếng ồn z.
  • D(G(z)) là số liệu ước tính về khả năng phân biệt đối xử.
  • Ez là giá trị dự kiến trên tất cả các giá trị đầu vào ngẫu nhiên của trình tạo (thực tế, giá trị dự kiến so với tất cả các phiên bản giả mạo G(z) đã tạo).
  • Công thức bắt nguồn từ entropy giữa các bản phân phối thực và được tạo.

Trình tạo không thể ảnh hưởng trực tiếp đến cụm từ log(D(x)) trong hàm, do đó, đối với trình tạo, việc giảm thiểu tổn thất tương đương với việc giảm thiểu log(1 - D(G(z))).

Trong TF-GAN, xem minimax_discriminator_loss và minimax_generator_loss để biết cách triển khai hàm mất này.

Mức giảm tối đa đã sửa đổi

Bài báo gốc của GAN lưu ý rằng hàm thu nhỏ tối đa ở trên có thể khiến GAN bị kẹt trong giai đoạn đầu của quá trình đào tạo GAN khi công việc phân biệt đối xử rất dễ dàng. Do đó, bài viết này đề xuất sửa đổi tổn thất trình tạo để trình tạo cố gắng tối đa hóa log D(G(z)).

Trong TF-GAN, hãy xem nội dung Sửa đổi_generator để biết cách triển khai sửa đổi này.

Nước thải của Wasserstein

Theo mặc định, TF-GAN sử dụng ví dụ về tổn thất của Wasserstein.

Hàm mất này phụ thuộc vào việc sửa đổi giao thức GAN (gọi là "wasserstein GAN" hoặc "WGAN") trong đó bộ phân biệt không thực sự phân loại các thực thể. Với mỗi thực thể, công cụ này tạo ra một số. Số này không được nhỏ hơn một hoặc lớn hơn 0, vì vậy chúng ta không thể dùng 0,5 làm ngưỡng để quyết định xem một phiên bản là thực hay giả. Việc đào tạo phân biệt chỉ nhằm mục đích làm cho kết quả lớn hơn trong các thực thể thực tế so với các thực thể giả mạo.

Vì nó không thực sự phân biệt giữa thật và giả, nên sự phân biệt đối xử WGAN thực sự được gọi là "sự phê bình" thay vì "phân biệt đối xử" Sự khác biệt này có tầm quan trọng về mặt lý thuyết, nhưng vì các mục đích thực tế, chúng tôi có thể coi đây là một thông báo xác nhận rằng các dữ liệu đầu vào cho các hàm mất dữ liệu không cần phải là xác suất.

Các hàm mất mát chỉ đơn giản là lừa đảo:

Mất phê bình: D(x) - D(G(z))

Bộ phân biệt cố gắng tối đa hóa hàm này. Nói cách khác, mã này cố gắng tối đa hoá sự khác biệt giữa dữ liệu đầu ra trên các thực thể thực và dữ liệu đầu ra của các thực thể giả mạo.

Mất máy phát: D(G(z))

Trình tạo sẽ cố gắng tối đa hóa hàm này. Nói cách khác, trình phân tích này sẽ cố gắng tăng tối đa kết quả đầu ra của bộ phân biệt đối tượng cho các phiên bản giả mạo.

Trong các hàm này:

  • D(x) là kết quả của nhà phê bình trong một thực thể thực tế.
  • G(z) là công suất của máy phát điện khi phát ra tiếng ồn z.
  • D(G(z)) là kết quả của nhà phê bình cho một thực thể giả mạo.
  • Kết quả của nhà phê bình D không phải nằm trong khoảng từ 1 đến 0.
  • Các công thức bắt nguồn từ khoảng cách động đất giữa các hàm phân phối thực và đã tạo.

Trong TF-GAN, hãy xem wasserstein_generator_loss và wasserstein_discriminator_loss để biết cách triển khai.

Yêu cầu

Lý do lý thuyết cho GAN Wasserstein (hoặc WGAN) yêu cầu các trọng số trong toàn bộ GAN phải được cắt bớt để chúng vẫn nằm trong một phạm vi ràng buộc.

Lợi ích

GAN của Wasserstein có ít khả năng bị kẹt hơn so với các GAN dựa trên minimax, và tránh các vấn đề về độ dốc biến mất. Khoảng cách di chuyển của trái đất cũng có lợi thế là một chỉ số thực sự: thước đo khoảng cách trong một không gian phân phối xác suất. Cross-entropy không phải là chỉ số theo nghĩa này.