sơ khai Mạng đối thủ sáng tạo (GAN) là gì? - Đoàn kết.AI
Kết nối với chúng tôi
Lớp học AI:

AI 101

Mạng đối thủ sáng tạo (GAN) là gì?

mm
cập nhật on

Mạng đối thủ chung (GAN) là các loại kiến ​​trúc mạng thần kinh có khả năng tạo dữ liệu mới phù hợp với các mẫu đã học. GAN có thể được sử dụng để tạo hình ảnh khuôn mặt người hoặc các vật thể khác, để thực hiện dịch văn bản thành hình ảnh, chuyển đổi một loại hình ảnh này sang loại hình ảnh khác và để nâng cao độ phân giải của hình ảnh (siêu phân giải) trong số các ứng dụng khác. Bởi vì GAN có thể tạo ra dữ liệu hoàn toàn mới nên chúng là đầu tàu của nhiều hệ thống, ứng dụng và nghiên cứu AI tiên tiến. Tuy nhiên, GAN hoạt động chính xác như thế nào? Hãy khám phá cách thức hoạt động của GAN và xem xét một số cách sử dụng chính của chúng.

Xác định các mô hình tạo và GAN

GAN là một ví dụ về mô hình thế hệ. Hầu hết các mô hình AI có thể được chia thành một trong hai loại: mô hình được giám sát và không được giám sát. Các mô hình học tập có giám sát thường được sử dụng để phân biệt giữa các loại đầu vào khác nhau, để phân loại. Ngược lại, các mô hình không giám sát thường được sử dụng để tóm tắt phân phối dữ liệu, thường học một phân phối Gaussian của dữ liệu. Bởi vì họ tìm hiểu cách phân phối của tập dữ liệu nên họ có thể lấy các mẫu từ cách phân phối đã học này và tạo dữ liệu mới.

Các mô hình tạo khác nhau có các phương pháp tạo dữ liệu và tính toán phân phối xác suất khác nhau. Ví dụ, các Mô hình Naive Bayes hoạt động bằng cách tính toán phân phối xác suất cho các tính năng đầu vào khác nhau và lớp tổng quát. Khi mô hình Naive Bayes đưa ra dự đoán, nó sẽ tính toán lớp có khả năng nhất bằng cách lấy xác suất của các biến khác nhau và kết hợp chúng lại với nhau. Các mô hình thế hệ không học sâu khác bao gồm Mô hình hỗn hợp Gaussian và Phân bổ Dirichlet tiềm ẩn (LDA). Các mô hình thế hệ dựa trên nền tảng sâu bao gồm Máy Boltzmann bị hạn chế (RBM), Bộ mã hóa tự động biến đổi (VAE)và tất nhiên, GAN.

Mạng đối thủ chung là đề xuất đầu tiên bởi Ian Goodfellow vào năm 2014và chúng đã được cải tiến bởi Alec Redford và các nhà nghiên cứu khác vào năm 2015, dẫn đến một kiến ​​trúc chuẩn hóa cho GAN. GAN thực sự là hai mạng khác nhau được kết hợp với nhau. GAN là gồm hai nửa: một mô hình tạo và một mô hình phân biệt, còn được gọi là bộ tạo và bộ phân biệt.

Kiến trúc GAN

Mạng đối thủ chung là được xây dựng từ mô hình trình tạo và mô hình phân biệt cộng lại. Công việc của mô hình trình tạo là tạo các ví dụ dữ liệu mới, dựa trên các mẫu mà mô hình đã học được từ dữ liệu huấn luyện. Công việc của mô hình phân biệt đối xử là phân tích hình ảnh (giả sử nó được đào tạo về hình ảnh) và xác định xem hình ảnh được tạo/giả mạo hay chính hãng.

Hai người mẫu đọ sức với nhau, được đào tạo theo kiểu lý thuyết trò chơi. Mục tiêu của mô hình trình tạo là tạo ra những hình ảnh đánh lừa đối thủ của nó - mô hình phân biệt đối xử. Trong khi đó, công việc của mô hình phân biệt đối xử là vượt qua đối thủ của nó, mô hình trình tạo và bắt những hình ảnh giả mà trình tạo tạo ra. Việc các mô hình đọ sức với nhau dẫn đến một cuộc chạy đua vũ trang mà cả hai mô hình đều tiến bộ. Bộ phân biệt nhận được phản hồi về hình ảnh nào là thật và hình ảnh nào được tạo bởi bộ tạo, trong khi bộ tạo được cung cấp thông tin về hình ảnh nào của nó bị bộ phân biệt gắn cờ là sai. Cả hai mô hình đều cải thiện trong quá trình đào tạo, với mục tiêu đào tạo một mô hình thế hệ có thể tạo ra dữ liệu giả mà về cơ bản không thể phân biệt được với dữ liệu thật, chính hãng.

Sau khi phân phối dữ liệu Gaussian đã được tạo trong quá trình đào tạo, mô hình tổng quát có thể được sử dụng. Mô hình trình tạo ban đầu được cung cấp một vectơ ngẫu nhiên, vectơ này sẽ biến đổi dựa trên phân phối Gaussian. Nói cách khác, vector gieo mầm cho thế hệ. Khi mô hình được đào tạo, không gian vectơ sẽ là phiên bản nén hoặc biểu diễn của phân phối Gaussian của dữ liệu. Phiên bản nén của phân phối dữ liệu được gọi là không gian tiềm ẩn hoặc các biến tiềm ẩn. Sau đó, mô hình GAN có thể lấy biểu diễn không gian tiềm ẩn và rút ra các điểm từ nó, điểm này có thể được cung cấp cho mô hình tạo và được sử dụng để tạo dữ liệu mới rất giống với dữ liệu đào tạo.

Mô hình phân biệt đối xử được cung cấp các ví dụ từ toàn bộ miền đào tạo, được tạo thành từ cả ví dụ dữ liệu thực và dữ liệu được tạo. Các ví dụ thực được chứa trong tập dữ liệu huấn luyện, trong khi dữ liệu giả được tạo bởi mô hình tổng quát. Quá trình đào tạo mô hình phân biệt hoàn toàn giống với đào tạo mô hình phân loại nhị phân cơ bản.

Quy trình đào tạo GAN

Hãy nhìn vào toàn bộ đào tạo quá trình cho một nhiệm vụ tạo hình ảnh giả định.

Để bắt đầu, GAN được đào tạo bằng cách sử dụng hình ảnh thực, chính hãng như một phần của tập dữ liệu đào tạo. Điều này thiết lập mô hình phân biệt đối xử để phân biệt giữa hình ảnh được tạo và hình ảnh thực. Nó cũng tạo ra phân phối dữ liệu mà trình tạo sẽ sử dụng để tạo dữ liệu mới.

Trình tạo lấy một vectơ dữ liệu số ngẫu nhiên và biến đổi chúng dựa trên phân phối Gaussian, trả về một hình ảnh. Hình ảnh được tạo này, cùng với một số hình ảnh chính hãng từ tập dữ liệu huấn luyện, được đưa vào mô hình phân biệt đối xử. Bộ phân biệt sẽ đưa ra dự đoán xác suất về bản chất của hình ảnh mà nó nhận được, đưa ra giá trị từ 0 đến 1, trong đó 1 thường là hình ảnh xác thực và 0 là hình ảnh giả mạo.

Có một vòng phản hồi kép đang diễn ra, vì bộ phân biệt mặt đất được cung cấp thông tin cơ bản về hình ảnh, trong khi bộ tạo được bộ phân biệt đối xử đưa ra phản hồi về hiệu suất của nó.

Các mô hình chung và phân biệt đối xử đang chơi một trò chơi có tổng bằng không với nhau. Trò chơi có tổng bằng không là trò chơi mà lợi ích của một bên phải trả bằng chi phí của bên kia (tổng của cả hai hành động bằng XNUMX, ví dụ: bằng không). Khi mô hình bộ phân biệt có thể phân biệt thành công giữa các ví dụ thực và giả, không có thay đổi nào được thực hiện đối với các tham số của bộ phân biệt. Tuy nhiên, các bản cập nhật lớn được thực hiện đối với các tham số của mô hình khi mô hình không phân biệt được hình ảnh thật và hình ảnh giả. Điều ngược lại đúng với mô hình tổng quát, nó bị phạt (và các tham số của nó được cập nhật) khi không đánh lừa được mô hình phân biệt đối xử, nhưng nếu không thì các tham số của nó không thay đổi (hoặc nó được khen thưởng).

Lý tưởng nhất là trình tạo có thể cải thiện hiệu suất của nó đến mức mà bộ phân biệt không thể phân biệt giữa hình ảnh giả và thật. Điều này có nghĩa là bộ phân biệt sẽ luôn hiển thị xác suất %50 cho hình ảnh thật và giả, nghĩa là hình ảnh được tạo sẽ không thể phân biệt được với hình ảnh thật. Trên thực tế, GAN thường không đạt đến điểm này. Tuy nhiên, mô hình chung không cần tạo ra các hình ảnh hoàn toàn giống nhau để vẫn hữu ích cho nhiều tác vụ mà GAN ​​được sử dụng.

Ứng dụng GAN

GAN có một số ứng dụng khác nhau, hầu hết chúng xoay quanh việc tạo ảnh và các thành phần của ảnh. GAN thường được sử dụng trong các tác vụ mà dữ liệu hình ảnh cần thiết bị thiếu hoặc bị giới hạn ở một số dung lượng, như một phương pháp tạo dữ liệu cần thiết. Hãy xem xét một số trường hợp sử dụng phổ biến cho GAN.

Tạo ví dụ mới cho bộ dữ liệu

GAN có thể được sử dụng để tạo các ví dụ mới cho bộ dữ liệu hình ảnh đơn giản. Nếu bạn chỉ có một số mẫu đào tạo và cần nhiều mẫu hơn, GAN có thể được sử dụng để tạo dữ liệu đào tạo mới cho bộ phân loại hình ảnh, tạo các mẫu đào tạo mới ở các hướng và góc độ khác nhau.

Tạo khuôn mặt người độc đáo

Người phụ nữ trong bức ảnh này không tồn tại. Hình ảnh được tạo bởi StyleGAN. Ảnh: Owlsmcgee qua Wikimedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

Khi được đào tạo đầy đủ, GAN có thể được sử dụng để tạo ra những hình ảnh cực kỳ chân thực về khuôn mặt con người. Những hình ảnh được tạo này có thể được sử dụng để giúp đào tạo các hệ thống nhận dạng khuôn mặt.

Dịch hình ảnh sang hình ảnh

GAN xuất sắc trong dịch thuật hình ảnh. GAN có thể được sử dụng để tạo màu cho hình ảnh đen trắng, dịch các bản phác thảo hoặc bản vẽ thành hình ảnh chụp hoặc chuyển đổi hình ảnh từ ngày sang đêm.

Dịch văn bản thành hình ảnh

Dịch văn bản sang hình ảnh là có thể thông qua việc sử dụng GAN. Khi được cung cấp văn bản mô tả một hình ảnh và hình ảnh đi kèm đó, GAN có thể được đào tạo để tạo ra một hình ảnh mới khi được cung cấp một mô tả của hình ảnh mong muốn.

Chỉnh sửa và sửa chữa hình ảnh

GAN có thể được sử dụng để chỉnh sửa ảnh hiện có. GAN loại bỏ các yếu tố như mưa hoặc tuyết từ một hình ảnh, nhưng chúng cũng có thể được sử dụng để sửa chữa hình ảnh cũ, hư hỏng hoặc hình ảnh bị hỏng. 

giải pháp tối ưu

Siêu phân giải là quá trình lấy một hình ảnh có độ phân giải thấp và chèn thêm nhiều pixel vào hình ảnh, cải thiện độ phân giải của hình ảnh đó. GAN có thể được đào tạo để chụp ảnh một tạo ra một phiên bản có độ phân giải cao hơn của hình ảnh đó. 

Blogger và lập trình viên có chuyên môn về Machine Learning Học kĩ càng chủ đề. Daniel hy vọng sẽ giúp những người khác sử dụng sức mạnh của AI vì lợi ích xã hội.