Tóm tắt

Trong công trình này, tôi sử dụng một Mạng Sinh Đối kháng Hai chiều (Bidirectional Generative Adversarial Network – BiGAN)[1] để  tạo ra các hình ảnh giả trông giống như thật cho cuộc thi nghiên cứu trình sinh hình ảnh xe gắn máy (Motorbike Generator Challenge) [2].  Kết quả Motorbike Generator đã cho thấy rằng, phương thức này không chỉ giúp ổn định quá trình huấn luyện GAN, mà còn đem lại những cải thiện đáng kể so với các phương thức GAN tiên tiến khác.

Nghiên cứu này đã đạt được các kết quả chính sau:

  • Ứng dụng BiGAN, thực hiện tái cấu trúc và đặc tính hữu ích từ mạng GAN, các kết quả nghiên cứu , đạt hiệu quả cao, cạnh tranh với các công nghệ mới nhất trong việc thực hiện sinh ra ảnh xe máy ngẫu nhiên chưa từng có mà trông như thật.
  • Cải thiện việc nghiên cứu  BiGAN  cũng như cácphương thức huấn luyện GAN tân tiến khác, sử dụng bộ dữ liệu xe máy kết hợp với một số kỹ thuật như tiền xử lý dữ liệu (preprocessing data), tăng cường dữ liệu (data augmentation), và  hiệu chỉnh các siêu tham số (hyper-parameter tuning).

Giới thiệu

Trình tạo hình ảnh xe gắn máy (Motorbike Generator) là việc tạo ra các hình ảnh xe máy giả thật đa dạng sao cho ứng dụng được cho nhiều bài toán như nhận diện và phát hiện xe máy. Điểm mấu chốt để giải quyết bài toán này là tìm được phương pháp tiếp cận phù hợp nhất để đạt được điểm số (score) tốt  nhất cho  bộ dữ liệu có sẵn. Khi có được phương pháp tiếp cận tốt nhất, chúng ta có thể áp dụng cho nhiều ứng dụng trong thị giác máy tính (computer vision) như: tạo hình ảnh mặt người chân thật (generating realistic human faces), thay đổi nhân vật hoạt hình (cartoon translation), thay đổi khuôn mặt (face swap), tăng cường độ phân giải hình ảnh (image super resolution), tạo ra nhiều bộ dữ liệu mới.

Bộ dữ liệu được sử dụng cho nghiên cứu này tương đối phức tạp và bao gồm nhiều hình ảnh nhiễu như:

  • Các hình ảnh có nền là người, cây, tòa nhà, nhân vật
  • Các hình ảnh có kích thước khác nhau
  • Hai định dạng hình ảnh: PNG, JPEG

Chính bởi độ phức tạp của bộ dữ liệu cùng với các phương pháp tuy mới song lại không thể cho ra kết quả tốt. Do đó, để giữ nhiều thông tin phức tạp cho trình so sánh (discriminator), tôi đã lựa chọn sử dụng phương pháp BiGAN.

Bối cảnh

BiGAN có liên quan tới các mạng mã hóa tự động (autoencoder-AAE) [3], với khả năng mã hóa (encode) các mẫu dữ liệu và dựng lại dữ liệu từ các mã nhúng thu gọn (compact embedding). Donahue cùng các đồng tác giả [1] đã tìm ra một mối liên hệ về mặt toán học giữa hai framework này. Nghiên cứu của Makhzani và các đồng nghiệp [4] cũng đã giới thiệu một biển thể đối kháng của các AAE, với khả năng hạn chế các mã nhúng ngầm (latent embedding) ở định dạng tương tự như một phân phối trước đơn giản (simple prior distribution) (VD: phân phối Gaussian đa biến). Mô hình của họ bao gồm mạng mã hóa (encoder) , mạng giải mã (decoder)  và một cơ chế phân loại (discriminator). Trong đó, Enc và Dec sẽ được huấn luyện bằng hàm tái tạo mất mát  (với  là các mẫu dữ liệu có thật), còn cơ chế phân loạn sẽ xác định xem liệu vector ẩn là bắt nguồn từ phân phối trước hay từ phân phối đầu ra của Enc.

Hình 1: Cấu trúc BiGAN.

Mạng Sinh Đối kháng Hai chiều (Bidirectional Generative Adversarial Network – BiGAN): framework GAN cho phép biểu diễn một biểu đồ (mapping) biểu hiện từ z tới x, song lại không cho phép tạo lập một biểu đồ khác từ x về z. Biểu đồ này là rất hữu ích, bởi lẽ nó mang lại một biểu hiện x giàu thông tin, và có thể được sử dụng làm đầu vào cho các tác vụ xuôi dòng (downstream task) như phân loại, thay cho các dữ liệu ban đầu theo một cách vừa đơn giản mà lại vừa hiệu quả. [1], [5]. Các nghiên cứu bởi Donahue [1] và Dumoulin [5] cũng đã phát triển ra các mô hình BiGAN (còn ALI) độc lập, được tích hợp thêm một enc vào framework tổng hợp-phân loại ban đầu.

Trong hình 1, các mô hình tổng hợp có biểu đồ tương tự như tổng hợp GAN gốc, còn enc lại là một biểu đồ  E(x;θE) từ Pd tới PE sao cho PE cách Pz là nhỏ nhất. Tại đây, cơ chế phân loại sẽ được cải thiện sao cho tích hợp được thêm cả z và G(z), hoặc cả x và E(x) để đưa ra các quyết định thật hoặc giả, mà ở đây lần lượt là D(z, G(z);θD) hoặc D(E(x), x;θD). Công trình được thực hiện bởi nhóm Donahue [1] lại chứng minh chi tiết rằng, trong điều kiện tối ưu,  và  sẽ nghịch đảo với nhau, qua đó gây nhầm lẫn ở cơ chế phân loại. Mô hình do đó cần được huấn luyện với mục tiêu minimax được biểu diễn bằng Phương trình 1 sau đây:

Giải pháp

Nhằm thực hiện huấn luyện không giám sát (unsupervised training) các mạng BiGAN, tôi đã sử dụng thuật toán tối ưu Adam để thực hiện cập nhật các tham số (parameter) theo các hyperparameter (với tốc độ học ban đầu là  α=1×10^(-4), động lượng (momentum) là β1=0 và β2=0.909). Ngoài ra, kích thước mini-batch sẽ được đặt tại 32 còn kích thước latent space là 64. Đồng thời, tôi cũng sử dụng ràng buộc Lipschitz sao cho thỏa mãn biến gradient penalty [6] để định vị mục tiêu cho mạng GAN, và sử dụng mô hình Frechet Inception Distance [7] để đo lường đánh giá. Phép mở rộng được mặc định sử dụng là lật hình theo chiều ngang (Flip Horizontal).

Việc lấy trung bình mẫu từ nhiều phân phối khác nhau có thể gây suy giảm chất lượng kết quả. Do đó, tôi đã sử dụng đường Trung bình động (Exponential Moving Average – EMA) [8] sau mỗi phép lặp khi t = 10 với tỷ lệ cập nhật là β = 0,999.

Bộ dữ liệu Xe máy được sử dụng trong huấn luyện là được thu thập bởi Thử thách AI Zalo (Zalo AI Challenge) [2], và bao gồm khoảng 10.000 hình ảnh xe máy, đều được giảm kích thước xuống  128 x 128 chiều.

Một số phương thức mới được phát triển từ GAN tổng hợp hình ảnh mà tôi sẽ thực hiện so sánh là:

  • BigGAN – được tạo thành thông qua việc tách latent space thành từng khối nhỏ theo đội phân giải, rồi liên kết mỗi khối với một vector kênh điều kiện (conditional channel vector), mà sau đó sẽ được sử dụng để phản chiếu các độ khuếch (gain) và độ lệch (bias) BatchNorm
  • StyleGAN [9] điều khiển tác vụ chuẩn hóa điểm thích ứng (adaptive instance normalization), đồng thời thêm các ảnh nhiễu vào cơ chế phân loại
  • Các Mạng Sinh Đối kháng Tự chú ý (Self-Attention Generative Adversarial Networks – SAGANs) [11], được tích hợp kỹ thuật self-attention, bộ tổng hợp có thể tạo ra các hình ảnh với chi tiết mượt mà và đồng nhất tại mọi điểm trên ảnh.

Tôi đã sử dụng Frechet Inception distance (FID) (Heusel et al., 2017) [7] làm thang đo ban đầu cho việc đánh giá định lượng, bởi lẽ FID cho kết quả đánh giá giống con người hơn các phương pháp đo độ chính xác khác. Trong FID này cố định α=10^(-15) và ngưỡng cosine distance là 0,05.

Thực hiện so sánh các chênh lệch giữa điểm FID của các mô hình GAN trong Bảng 1 dưới đây. Có thể thấy rằng, phép lật theo chiều ngang đã giúp cải thiện điểm FDI từ 137,5412 thành 136,0553.

Một số phương thức mới như StyleGAN[9] và Alpha GAN lại cho kết quả đánh giá thấp hơn  GAN gốc, và do đó không phù hợp để tổng hợp ra các hình ảnh xe máy giả. Trong khi đó, phương thức mới CR-BigBiGAN[10], dựa trên phép Lật theo chiều ngang hoặc phép EMA +∗, lại cho điểm cao hơn. Tương tự, CR-BigBiGAN sử dụng kết hợp hai phép phóng đại trên lại cho số điểm cao hơn CR-BigBiGAN sử dụng độc lập từng phép là khoảng 4 điểm (cụ thể là 28,4417 và 32,6050). Theo cột BiGAN ở bảng dưới đây, ta cũng có thể thấy rằng, phương thức EMA giúp cải thiện hiệu quả đáng kể, trong khi đó phép phóng đại* và việc loại bỏ hình ảnh có người không hề cải thiện điểm. Từ đó có thể kết luận rằng, để cải thiện hiệu quả BiGAN, có thể sử dụng hai phép phóng đại là lật theo chiều ngang và EMA.

Bảng 1: Điểm FID của nhiều phương pháp khác nhau trên cùng một bộ dữ liệu xe máy.

Lưu ý: Lật theo chiều ngang + Độ sắc (Sharpness) 2,0 + Độ sáng (Brightness) 0,8 + Độ tương phản (Contrast) 0,8

Với mỗi mô hình, tôi đã thực hiện huấn luyện trên hơn 200.000 phép lặp, và Hình 2 sẽ biểu diễn các mẫu kết quả. Trông như thật, hai hình cuối của dòng 4 cho thấy phương pháp này có thể sinh ra một ảnh có hai xe máy. Ở dòng cuối cùng cho thấy   kết quả sinh ảnh xe máy với nền như cây, rừng, núi, đất.

Hình 2: Một số xe máy được tổng hợp bởi mạng BiGAN của chúng tôi.

Ứng dụng

Sau nhiều năm phát triển, đã xuất hiện nhiều ứng dụng thú vị mới của BiGAN và một số use case cụ thể hữu ích trong nhiều khía cạnh kinh doanh.

  1. Các bộ dữ liệu hình ảnh đóng một vai trò rất quan trọng trong việc huấn luyện mô hình. Kỹ thuật này đã được sử dụng thành công trong nhiều lần tổng hợp bộ dữ liệu hình ảnh khác. Ngày nay, dữ liệu là rất cần thiết. Các bài toán huấn luyện mô hình trong AI thường thiếu hoặc rất ít dữ liệu. Để giải quyết bài toán cần sinh ra nhiều dữ liệu. Bài toán này nhằm tạo ra nhiều dữ liệu hơn cho mục đích huấn luyện mô hình.
  2. Có thể tạo ra ảnh mới với độ phân giải được tăng cường tốt hơn. Giúp một hình ảnh được rõ nét hơn. GAN có thể dùng để tăng chất lượng của ảnh từ độ phân giải thấp lên độ phân giải cao với kết quả rất tốt
  3. Trong lĩnh vực an ninh, phát hiện dữ liệu giả như deepfake hay giúp bắt tội phạm, nhất là tội phạm ngụy trang hoặc nó tạo ra ảnh biến đổi theo nhóm tuổi giúp xác định khuôn mặt sau nhiều năm, tìm người dựa vào hình lúc trẻ.
  4. Trong lĩnh vực kinh doanh, Thử sản phẩm trực tuyến. ví dụ, Thử quần áo khi shop có hình ảnh quần áo và bạn gửi thông tin về chiều cao, cân năng hoặc gửi ảnh hình dáng của bạn để thử đồ trực tuyến
  5. lĩnh vực giáo dục, dạy học trực tuyến với nhân vật đẹp và lịch sự hơn và background phù hợp hơn
  6. lĩnh vực giải trí, tạo ra những bản nhạc mới lạ hơn, những hình ảnh sinh động hơn

Và danh sách ứng dụng vẫn còn rất dài…

Kết luận

Trên đây, tôi đã trình bày tới các mạng một Mạng Sinh Đối kháng Hai chiều (Bidirectional Generative Adversarial Network – BiGAN) với công dụng tổng hợp hình ảnh xe máy từ một bộ dữ liệu phức tạp. Trong đó, hai kỹ thuật chính được sử dụng để cải thiện điểm định lượng là kỹ thuật EMA (Đường Trung bình Trượt) và kỹ thuật lật theo chiều ngang (Flip horizontal). Các kết quả thử nghiệm Motorbike Generator đã chứng minh rằng, phương thức được đề xuất ở trên không chỉ giúp ổn định quá trình huấn luyện GAN mà còn đem lại các cải thiện rõ rệt. Ngoài ra, tôi cũng từng xếp hạng 4 chung cuộc tại Thử thách sinh ra hình ảnh  Xe Máy (Motorbike Generator Challenge) năm 2019 [2].

Với kỹ thuật chuẩn hóa trọng số (weight normalization) lâu dài là Spectral Normalization (chuẩn hóa theo phổ)[11], tôi dự định sẽ mở rộng thêm mạng GAN của mình thông qua:

  • Thử nghiệm trên phương thức BiGAN bằng kỹ thuật Orthogonal Regularization (Chính quy hóa trực giao), Self Attention và Spectral Normalization
  • Thử nghiệm trên phương thức BigBiGAN bằng kỹ Consistency Regularization (Chính quy hóa nhất quán), Self Attention và Spectral Normalization

Hoàng Văn Trưởng – Ban Giải pháp & Công nghệ STU, FPT Software

Tài liệu tham khảo:

  1. J. Donahue, P. Krhenbhl, and T. Darrell. Adversarial feature learning. International Conference on Learning Representations, 2017.
  2. VNG. Zalo ai challenge (https://challenge. zalo.ai). VNG Corporation in Vietnam, 2019.
  3. A. Brock, J. Donahue, and K. Simonyan. Large scale gan training for high fidelity natural image synthesis. International Conference on Learning Representations, 2019.
  4. Makhzani, A., Shlens, J., Jaitly, N., Goodfellow, I., and Frey, B. 2015. Adversarial autoencoders. In International Conference on Learning Representations (2015). arXiv: 1511.05644. Retrieved from https://arxiv.org/abs/1511.05644
  5. V. Dumoulin , I. Belghazi, B. Poole, A. Lamb, M. Arjovsky, O. Mastropietro, and A. Courville. Adversarially learned inference. International Conference on Learning Representations, 2017.
  6. I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin, and A. Courville. Improved training of wasserstein gans. AdvancesinNeuralInformationProcessingSystems, pages 5767–5777, 2017.
  7. M. Heusel, H. Ramsauer, T. Unterthiner, B. Nessler, and S. Hochreiter. Gans trained by a two time-scale update rule converge to a local nash equilibrium. Advances in Neural Information Processing Systems 30, 2017.
  8. Y. Yazıcı, C. Foo, S. Winkler, K. Yap, G. Piliouras, and  V. Chandrasekhar. The unusual effectiveness of averaging in GAN training. In International Conference on Learning Representations, 2019.
  9. T. Karras, S. Laine, and T. Aila. A style-based generator architecture for generative adversarial networks. Conference on Computer Vision and Pattern Recognition, 2019.
  10. H. Zhang, Z. Zhang, A. Odena, and H. Lee. Consistency regularization for generative adversarial networks. International Conference on Learning Representations, 2019.
  11. Miyato, T. Kataoka, M. Koyama, and Y. Yoshida. Spectral normalization for generative adversarial networks. International Conference on Learning Representations, 2018.
Tin liên quan: