GAN là gì? Làm thế nào và tại sao bạn nên sử dụng chúng!



Bài viết này trình bày giải thích chi tiết về 'GAN là gì' với những hạn chế và thách thức bao gồm quá trình đào tạo và Triển khai ca sử dụng.

Mạng đối thủ chung hoặc GAN là một phương pháp tiếp cận mô hình chung sử dụng Học kĩ càng đào tạo mô hình một cách thông minh để tạo dữ liệu bằng cách sử dụng phương pháp tiếp cận mô hình con. Trong bài viết này, chúng tôi sẽ cố gắng hiểu chi tiết về “GAN là gì”. Các chủ đề sau được đề cập trong bài viết này:

Mô hình tạo là gì?

Các mô hình tạo ra không là gì ngoài những mô hình sử dụng tiếp cận. Trong một mô hình tổng hợp, có các mẫu trong dữ liệu tức là các biến đầu vào X, nhưng nó thiếu biến đầu ra Y. Chúng tôi chỉ sử dụng các biến đầu vào để đào tạo mô hình tổng hợp và nó nhận dạng các mẫu từ các biến đầu vào để tạo ra một đầu ra chưa biết và chỉ dựa trên dữ liệu đào tạo.





Trong , chúng tôi phù hợp hơn với việc tạo ra các mô hình dự đoán từ các biến đầu vào, loại mô hình này được gọi là mô hình phân biệt. Trong một bài toán phân loại, mô hình phải phân biệt ví dụ đó thuộc lớp nào. Mặt khác, các mô hình không được giám sát được sử dụng để tạo hoặc tạo ra các ví dụ mới trong phân phối đầu vào.

Để xác định các mô hình tổng quát theo thuật ngữ của giáo dân, chúng ta có thể nói, các mô hình tổng quát, có thể tạo ra các ví dụ mới từ mẫu không chỉ giống với các ví dụ khác mà còn không thể phân biệt được.



Ví dụ phổ biến nhất của mô hình tổng quát là thường được sử dụng như một mô hình phân biệt đối xử. Các ví dụ khác về mô hình tổng quát bao gồm Mô hình hỗn hợp Gaussian và một ví dụ khá hiện đại là Mạng đối phương chung. Hãy để chúng tôi cố gắng hiểu GAN là gì?

Mạng lưới đối thủ chung là gì?

Mạng đối thủ chung hoặc GAN là một mô hình tổng hợp dựa trên học sâu được sử dụng cho Học không giám sát. Về cơ bản nó là một hệ thống mà hai Mạng thần kinh cạnh tranh với nhau để tạo hoặc tạo ra các biến thể trong dữ liệu.

Nó được mô tả lần đầu tiên trong một bài báo vào năm 2014 bởi Ian Goodfellow và một lý thuyết mô hình chuẩn hóa và ổn định được Alec Radford đề xuất vào năm 2016, được gọi là DCGAN (Mạng đối thủ chung sâu sắc). Hầu hết các GAN ngày nay đều sử dụng kiến ​​trúc DCGAN.



Kiến trúc GAN bao gồm hai mô hình con được gọi là Mô hình máy phát điệnMô hình phân biệt đối xử. Hãy để chúng tôi tìm hiểu cách GAN thực sự hoạt động.

Làm thế nào nó hoạt động?

Để hiểu cách GAN hoạt động, hãy phân tích nó.

  • Tạo ra - Nó có nghĩa là mô hình tuân theo cách tiếp cận và là một mô hình tổng quát.
  • Đối thủ - Mô hình được đào tạo trong bối cảnh đối đầu
  • Mạng - Để đào tạo mô hình, hãy sử dụng mạng nơ-ron làm thuật toán trí tuệ nhân tạo.

Trong GAN, có một mạng Generator lấy mẫu và tạo ra một mẫu dữ liệu và sau đó, mạng Discriminator quyết định xem dữ liệu được tạo ra hay được lấy từ mẫu thực bằng cách sử dụng nhị phân vấn đề với sự trợ giúp của một hàm sigmoid cung cấp đầu ra trong phạm vi từ 0 đến 1.

lưu đồ - gnas là gì - edureka

Mô hình tổng quát phân tích sự phân bố của dữ liệu theo cách mà sau giai đoạn huấn luyện, xác suất của bộ phân biệt mắc lỗi là tối đa. Mặt khác, Bộ phân biệt dựa trên một mô hình sẽ ước tính xác suất rằng mẫu đó đến từ dữ liệu thực chứ không phải từ bộ tạo.

Toàn bộ quá trình có thể được chính thức hóa trong một công thức toán học dưới đây.

Trong công thức trên:

kích thước của một mảng javascript

G = Máy phát điện

D = Kẻ phân biệt

Pdata (x) = Phân phối dữ liệu thực

Pdata (z) = Nhà phân phối máy phát điện

__trong đó__

x = mẫu từ dữ liệu thực

z = mẫu từ trình tạo

D (x) = Mạng phân biệt đối xử

G (z) = Mạng máy phát điện

Bây giờ đến phần đào tạo cho một GAN, có thể được chia thành 2 phần được thực hiện tuần tự.

Làm thế nào để đào tạo một GAN?

Phần 1:

Huấn luyện bộ phân biệt và đóng băng bộ tạo, có nghĩa là bộ huấn luyện cho bộ tạo được chuyển thành Sai và mạng sẽ chỉ thực hiện chuyển tiếp và không áp dụng truyền ngược.

Về cơ bản, người phân biệt được đào tạo với dữ liệu thật và kiểm tra xem liệu nó có thể dự đoán chúng chính xác hay không, và tương tự với dữ liệu giả để xác định chúng là giả.

Phần 2:

Đào tạo máy phát điện và đóng băng bộ phân biệt. Trong giai đoạn này, chúng tôi nhận được kết quả từ giai đoạn đầu tiên và có thể sử dụng chúng để cải thiện kết quả từ trạng thái trước đó để thử và đánh lừa kẻ phân biệt đối xử tốt hơn.

Các bước đào tạo

  1. Xác định các vấn đề - xác định vấn đề và thu thập dữ liệu.
  2. Chọn kiến ​​trúc của GAN - Tùy thuộc vào vấn đề của bạn, hãy chọn GAN của bạn trông như thế nào.
  3. Đào tạo người phân biệt đối xử trên dữ liệu thực - Huấn luyện người phân biệt với dữ liệu thực để dự đoán chúng là thực trong n số lần.
  4. Tạo đầu vào giả cho máy phát điện - Tạo mẫu giả từ máy phát điện
  5. Đào tạo người phân biệt đối xử về dữ liệu giả mạo - Đào tạo bộ phân biệt để dự đoán dữ liệu được tạo ra là giả mạo.
  6. Máy phát điện với đầu ra của bộ phân biệt - Sau khi nhận được các dự đoán về kẻ phân biệt, hãy huấn luyện trình tạo để đánh lừa kẻ phân biệt

Những thách thức của mạng lưới đối thủ chung

Khái niệm về GAN khá hấp dẫn nhưng có rất nhiều trở ngại có thể gây ra rất nhiều cản trở trên con đường của nó. Một số thách thức lớn mà GAN ​​phải đối mặt là:

  1. Ổn định được yêu cầu giữa bộ phân biệt và bộ tạo nếu không toàn bộ mạng sẽ rơi xuống. Trong trường hợp, nếu Discriminator quá mạnh, máy phát sẽ không thể đào tạo hoàn toàn. Và nếu mạng quá khoan dung, bất kỳ hình ảnh nào sẽ được tạo ra khiến mạng trở nên vô dụng.
  2. GAN thất bại thảm hại trong việc xác định vị trí của các đối tượng về số lần đối tượng sẽ xảy ra tại vị trí đó.
  3. Phối cảnh 3-D gây rắc rối cho GAN vì nó không thể hiểu được Góc nhìn cá nhân , nó thường sẽ cho hình ảnh phẳng đối với vật thể 3 chiều.
  4. GAN có vấn đề khi hiểu đối tượng toàn cầu . Nó không thể phân biệt hoặc hiểu một cấu trúc tổng thể.
  5. Các loại GAN mới hơn thì tiên tiến hơn và được kỳ vọng sẽ khắc phục được hoàn toàn những thiếu sót này.

Ứng dụng mạng đối thủ chung

Sau đây là một vài ứng dụng của GAN.

Dự đoán khung hình tiếp theo trong video

Dự đoán về các sự kiện trong tương lai trong khung video có thể thực hiện được với sự trợ giúp của GAN. DVD-GAN hoặc Dual Video Discriminator GAN có thể tạo video 256 × 256 với độ trung thực đáng chú ý với độ dài lên đến 48 khung hình. Điều này có thể được sử dụng cho các mục đích khác nhau bao gồm giám sát, trong đó chúng tôi có thể xác định các hoạt động trong khung bị biến dạng do các yếu tố khác như mưa, bụi, khói, v.v.

Tạo văn bản thành hình ảnh

GAN chú ý hướng đối tượng (obj-GAN), thực hiện tổng hợp văn bản thành hình ảnh trong hai bước. Tạo bố cục ngữ nghĩa là bước đầu tiên và sau đó tạo hình ảnh bằng cách tổng hợp hình ảnh bằng cách sử dụng trình tạo hình ảnh khử chập là bước cuối cùng.

chuyển các tập tin sang phiên bản cửa sổ ec2

Điều này có thể được sử dụng chuyên sâu để tạo hình ảnh bằng cách hiểu chú thích, bố cục và tinh chỉnh chi tiết bằng cách tổng hợp các từ. Có một nghiên cứu khác về storyGANs có thể tổng hợp toàn bộ bảng phân cảnh chỉ từ các đoạn văn.

Nâng cao độ phân giải của hình ảnh

Mạng đối thủ tổng hợp siêu độ phân giải hay SRGAN là một GAN có thể tạo ra hình ảnh siêu phân giải từ hình ảnh có độ phân giải thấp với các chi tiết tốt hơn và chất lượng tốt hơn.

Các ứng dụng có thể rất lớn, hãy tưởng tượng một hình ảnh chất lượng cao hơn với các chi tiết tốt hơn được tạo ra từ hình ảnh có độ phân giải thấp. Số lượng trợ giúp mà nó tạo ra để xác định các chi tiết trong hình ảnh có độ phân giải thấp có thể được sử dụng cho các mục đích rộng hơn bao gồm giám sát, tài liệu, bảo mật, phát hiện các mẫu, v.v.

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

Pix2Pix GAN là một mô hình được thiết kế cho mục đích chung của hình ảnh-hình ảnh-dịch thuật.

Tạo hình ảnh tương tác

GAN cũng có thể được sử dụng để tạo ra các hình ảnh tương tác, phòng thí nghiệm Khoa học Máy tính và trí tuệ nhân tạo (CSAIL) đã phát triển một GAN có thể tạo ra các mô hình 3-D với ánh sáng và phản xạ thực tế được kích hoạt bằng cách chỉnh sửa hình dạng và kết cấu.

Gần đây hơn, các nhà nghiên cứu đã đưa ra một mô hình có thể tổng hợp một khuôn mặt được tái tạo hoạt hình theo chuyển động của một người trong khi vẫn giữ nguyên hình dạng của khuôn mặt đó.

Đến phần cuối của bài viết này, chúng ta đã học được 'GAN là gì'. Tôi hy vọng bạn rõ ràng với tất cả những gì đã được chia sẻ với bạn trong hướng dẫn này.

Nếu bạn thấy bài viết này về “GAN là gì” có liên quan, hãy xem một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu.

Chúng tôi ở đây để giúp bạn từng bước trong hành trình của mình và đưa ra chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành . Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Python và đào tạo bạn về cả khái niệm Python cốt lõi và nâng cao cùng với nhiều giống

Nếu bạn gặp bất kỳ câu hỏi nào, vui lòng đặt tất cả câu hỏi của bạn trong phần nhận xét của “GAN là gì” và nhóm của chúng tôi sẽ sẵn lòng trả lời.