Bạn có biết thứ đằng sau tạo nên sự thành công của ChatGPT, Gemini, Midjounery,… là gì hay không? Đó chính là các Generative Model, vậy các Generative Model này là gì? Có bao nhiêu loại và chúng có hiện diện quanh bạn mà bạn không biết không? Trong bài viết này, cùng tui Lâm Panda đi tìm hiểu nó là gì và có bao nhiêu loại nổi bật nhất he.
Lưu ý: bài viết mình sẽ tổng hợp, để tìm hiểu chuyên sâu hơn thì các tài liệu chuyên nghành, báo cáo trên Google Scholar sẽ phù hợp hơn ấy, hoặc bạn tìm từ khoá tên mô hình và đọc trên trang Viblo Asia, nhiều anh chị viết bài rất hay và dễ hiểu về các mô hình này.
Tìm hiểu về Generative Model
Trong những năm gần đây, Generative AI đã nổi lên như một công nghệ thay đổi cuộc chơi có khả năng cách mạng hóa cách chúng ta tạo và tương tác với nội dung.
Từ việc tạo ra những hình ảnh và video chân thực đến sản xuất văn bản và âm nhạc giống như con người, Generative AI đang mở ra những khả năng mới trong các lĩnh vực khác nhau, bao gồm nghệ thuật, giải trí và tiếp thị. Đứng đằng sau sự thành công đó chính là các Generative Model.
Generative Model là gì?
Generative Model tạm dịch: mô hình sáng tạo, là một loại thuật toán trí tuệ nhân tạo, chúng học cách tạo ra các mẫu dữ liệu mới giống với dữ liệu huấn luyện mà nó được cung cấp. Nói cách khác, nó học các mẫu và phân phối cơ bản của dữ liệu đầu vào và có thể tạo ra các mẫu tương tự hoặc mẫu mới từ dữ liệu đó.
Giải thích đơn giản hết mức thì nó giống như bạn ném cả ảnh người và ảnh mèo, ảnh của mấy bé neko chan cho một Generative Model học, sau đó nó sẽ có thể tạo ra ảnh mèo, ảnh người và cả người mèo 🙂
Generative Model khác với các loại AI khác như thế nào?
Generative Model khác biệt với các thuật toán AI khác, chẳng hạn như discriminative model (mô hình phân biệt), theo một cách cơ bản. Trong khi các discriminative model trung vào việc đưa ra dự đoán hoặc phân loại dựa trên dữ liệu đầu vào, thì Generative Model nhằm hiểu và tái tạo phân phối dữ liệu. Điều này có nghĩa là Generative Model không chỉ nhận ra các mẫu mà còn tạo ra các trường hợp mới theo cùng các mẫu đó.
Để hiểu hơn, các bạn có thể đọc bài viết khác của mình là So sánh Generative AI vs Discriminative AI để hiểu về sự khác nhau của chúng.
Mục tiêu của Generative Model: học phân phối cơ bản của dữ liệu
Mục tiêu chính của một Generative Model là học cấu trúc và phân phối nội tại của dữ liệu huấn luyện. Bằng cách nắm bắt bản chất của dữ liệu, các Generative Model có thể tạo ra các mẫu mới tương tự với dữ liệu gốc nhưng không giống hệt. Khả năng tạo ra nội dung mới này chính là điều làm cho generative AI trở nên mạnh mẽ và linh hoạt.
Cách Hoạt Động của Các Generative Model
Các Generative Model là một lớp các thuật toán học máy học cách nắm bắt các mẫu và phân phối cơ bản của dữ liệu đầu vào. Quá trình huấn luyện bao gồm việc cho mô hình tiếp xúc với một tập dữ liệu lớn và điều chỉnh các tham số nội bộ của nó để giảm thiểu sự khác biệt giữa các mẫu được tạo ra và dữ liệu thực.
Vai trò của dữ liệu trong các Generative Model là rất quan trọng. Chất lượng và sự đa dạng của dữ liệu huấn luyện ảnh hưởng trực tiếp đến khả năng của mô hình trong việc tạo ra các đầu ra thực tế và đa dạng. Các Generative Model cần một lượng lớn dữ liệu để học các mẫu và mối quan hệ phức tạp trong phân phối dữ liệu.
Huấn luyện các Generative Model đòi hỏi nhiều tài nguyên tính toán và yêu cầu các tài nguyên tính toán đáng kể, chẳng hạn như GPU hoặc TPU hiệu suất cao. Độ phức tạp của kiến trúc mô hình và kích thước của tập dữ liệu góp phần vào nhu cầu tính toán.
Tuy nhiên, huấn luyện các Generative Model đi kèm với những thách thức. Một vấn đề phổ biến là sự sụp đổ chế độ (mode collapse), nơi mà bộ tạo học cách tạo ra một số lượng hạn chế các mẫu, không nắm bắt được sự đa dạng đầy đủ của phân phối dữ liệu. Một thách thức khác là sự không ổn định trong quá trình huấn luyện, nơi mà bộ tạo và bộ phân biệt trong GANs có thể dao động hoặc không hội tụ đến một trạng thái cân bằng ổn định.
Các loại Generative Model
Có tổng cộng bao nhiêu loại Generative Model? Có rất nhiều loại Generative Model khác nhau nhưng trong đó nổi bật nhất có 7 cái bao gồm: Transformer, Generative Adversarial Networks (GANs), Variational Autoencoders (VAEs), Autoregressive Models, Flow-based Models, Energy-based Models và Diffusion Models.
Trong tất cả những mô hình phía dưới đều có rất nhiều ứng dụng và sức mạnh tốt, nhưng kiến trúc Transformer này lại nổi bật nhất vì nó là nền tảng cho mô hình GPT và ứng dụng ChatGPT siêu nổi tiếng nên chúng ta sẽ tìm hiểu nó trước he, mặc dù phần lớn các bài blog khác sẽ nhắc đến GANs và VAEs trước.
1. Mô hình dựa trên Transformer
Mô hình dựa trên Transformer đã cách mạng hóa lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) và đã được điều chỉnh cho nhiều nhiệm vụ generative khác nhau. Trọng tâm của các mô hình này là self-attention mechanism cơ chế tự chú ý, cho phép mô hình nắm bắt các phụ thuộc và ngữ cảnh dài hạn trong dữ liệu đầu vào.
Giải thích dễ hiểu ha thì Transformer hoạt động như một người phiên dịch song ngữ, đọc và hiểu toàn bộ câu đầu vào bằng cách xem xét mối liên hệ giữa các từ (attention), sau đó dịch sang ngôn ngữ đích từng từ một, đồng thời vẫn chú ý đến ngữ cảnh của toàn câu để đảm bảo bản dịch trôi chảy, tự nhiên, và trung thành với ý nghĩa của câu gốc đảm bảo sự wibu của tui.
Kiến trúc Transformer, được giới thiệu trong bài báo “Attention Is All You Need” của các nhà nghiên cứu Google vào năm 2017, đã dẫn đến sự phát triển của các mô hình ngôn ngữ lớn như BERT (Bidirectional Encoder Representations from Transformers) và GPT (Generative Pre-trained Transformer). Trong khi BERT chủ yếu được sử dụng cho các nhiệm vụ hiểu ngôn ngữ, GPT xuất sắc trong việc sinh ngôn ngữ.
Các mô hình dựa trên Transformer đã tìm thấy ứng dụng trong nhiều lĩnh vực, bao gồm:
- Sinh ngôn ngữ: GPT-4, phiên bản mới nhất của mô hình ngôn ngữ của OpenAI, có thể tạo văn bản giống như con người, trả lời câu hỏi và thậm chí viết truyện sáng tạo.
- Sinh hình ảnh: Các mô hình Transformer đã được điều chỉnh cho các nhiệm vụ liên quan đến hình ảnh, chẳng hạn như chú thích hình ảnh và tạo hình ảnh từ các mô tả văn bản.
2. Generative Adversarial Networks – Mạng đối kháng tạo sinh (GANs)
Generative Adversarial Networks (GANs) – Mạng đối kháng tạo sinh là một loại Generative Model phổ biến khác. GANs bao gồm hai mạng neuron: một mạng sinh và một mạng phân biệt, tham gia vào một trò chơi cạnh tranh.
Generator – Mạng sinh học cách tạo ra các mẫu dữ liệu thực tế, trong khi Discriminator – mạng phân biệt cố gắng phân biệt giữa các mẫu thật và giả. Thông qua quá trình huấn luyện đối kháng này, mạng sinh cải thiện khả năng tạo ra dữ liệu thuyết phục.
Để dễ hiểu hơn thì nó giống như có hai người, một người tạo tiền giả (generator) cố gắng in tiền giống thật nhất, người kia (discriminator) có nhiệm vụ phân biệt đâu là tiền thật tiền giả, cả hai cùng cạnh tranh, học hỏi lẫn nhau cho đến khi người tạo tiền giả làm ra được tiền giả tinh vi đến mức người phân biệt không còn nhận ra được đâu là thật đâu là giả. Ví dụ thôi nha 🙂làm thật là đi tòo hông biết chừng nào về luôn.
GANs đã được ứng dụng thành công vào nhiều nhiệm vụ khác nhau, bao gồm:
- Sinh hình ảnh: StyleGAN, một biến thể của GAN, có thể tạo ra các hình ảnh khuôn mặt, đối tượng và cảnh rất thực tế.
- Chuyển đổi phong cách: CycleGAN cho phép chuyển đổi phong cách giữa các lĩnh vực khác nhau, chẳng hạn như biến ảnh thành tranh vẽ hoặc thay đổi mùa của một hình ảnh.
- Tổng hợp video: GANs đã được sử dụng để tạo ra các chuỗi video thực tế và thực hiện dịch video sang video.
3. Variational Autoencoders – Autoencoder biến phân (VAEs)
Variational Autoencoder – Autoencoder biến phân (VAEs) là các Generative Model học một biểu diễn nén của dữ liệu đầu vào sử dụng kiến trúc bao gồm bộ mã hóa (encoder), bộ giải mã (decoder). Bộ mã hóa ánh xạ dữ liệu đầu vào sang một không gian tiềm ẩn thấp chiều, trong khi bộ giải mã tái tạo dữ liệu gốc từ biểu diễn tiềm ẩn.
Giải thích một cách siêu dễ hiểu thì VAEs giống như đưa giấy (data) vào máy hủy (quá trình encoder), cắt thành mảnh vụn theo nhiều cách khác nhau (không gian tiềm ẩn), rồi cố gắng dán ghép lại (quá trình decoder) thành tờ giấy gần giống ban đầu và tạo ra những tờ giấy mới từ mảnh vụn (data cũ hoặc tạo luôn data mới gần giống).
VAEs nhằm mục đích học một không gian tiềm ẩn mượt mà và liên tục nắm bắt các đặc điểm thiết yếu của dữ liệu. Chúng đã tìm thấy ứng dụng trong nhiều lĩnh vực, chẳng hạn như:
- Phát hiện dị thường: VAEs có thể được sử dụng để phát hiện dị thường bằng cách đo lỗi tái tạo giữa đầu vào và đầu ra tái tạo.
- Nén dữ liệu: VAEs có thể nén dữ liệu bằng cách học một biểu diễn tiềm ẩn nhỏ gọn.
- Sinh ngôn ngữ: VAEs đã được sử dụng để sinh ngôn ngữ bằng cách lấy mẫu từ không gian tiềm ẩn đã học.
4. Autoregressive Models – Mô hình tự hồi quy
Autoregressive Models – mô hình tự hồi quy sinh dữ liệu tuần tự, dự đoán phần tử tiếp theo dựa trên các phần tử đã tạo ra trước đó. Các mô hình này xuất sắc trong việc nắm bắt tính tuần tự của dữ liệu, chẳng hạn như văn bản hoặc chuỗi thời gian.
Các mô hình tự hồi quy xử lý dữ liệu đầu vào từng bước một, sử dụng đầu ra của bước trước đó làm đầu vào cho bước hiện tại. Điều này cho phép mô hình nắm bắt các phụ thuộc và mẫu trong dữ liệu.
Dễ hiểu hơn thì chúng ta có PixelRNN làm nét ảnh bằng cách dự đoán dữ liệu điểm ảnh dựa trên thông tin điểm ảnh hiện có, giúp nâng cao chất lượng hình ảnh thông qua các kỹ thuật như làm sắc nét, nâng cấp và tái tạo. Trong các ứng dụng tạo ảnh có phần upscale ảnh bạn ưng ý thì nó gần giống như vậy ấy.
Một số ví dụ nổi bật về mô hình tự hồi quy bao gồm:
- PixelRNN: Một mô hình tạo hình ảnh từng pixel một, nắm bắt các phụ thuộc không gian giữa các pixel lân cận.
- WaveNet: Một mô hình tự hồi quy cho việc sinh các dạng sóng âm thanh thực tế, được sử dụng trong tổng hợp giọng nói từ văn bản và sinh nhạc.
Đây chỉ là một vài ví dụ về các loại Generative Model đa dạng được sử dụng trong AI. Mỗi loại có những ưu điểm riêng và phù hợp với các ứng dụng khác nhau, đóng góp vào sự tiến bộ nhanh chóng của generative AI.
5. Flow-based Model – Mô hình dựa trên dòng chảy
Flow-based Model – mô hình dựa trên dòng chảy là một lớp các Generative Model học một ánh xạ song ánh giữa dữ liệu đầu vào và không gian tiềm ẩn. Ý tưởng chính đằng sau mô hình dựa trên dòng chảy là sử dụng các biến đổi có thể đảo ngược để ánh xạ dữ liệu đầu vào sang một phân phối đơn giản trong không gian tiềm ẩn, chẳng hạn như phân phối Gaussian.
Flow-based Model như GLOW sử dụng một chuỗi các phép biến đổi có thể đảo ngược để chuyển đổi dữ liệu hình ảnh thành một không gian ẩn có phân phối chuẩn. Quá trình này cho phép mô hình học cách tạo ra hình ảnh mới bằng cách lấy mẫu từ không gian ẩn và biến đổi ngược lại thành hình ảnh gốc. Ví dụ, GLOW có thể thay đổi các đặc điểm trên khuôn mặt người như độ tuổi, giới tính, cảm xúc bằng cách điều chỉnh các giá trị trong không gian ẩn và tạo ra phiên bản mới của khuôn mặt với những thay đổi mong muốn.
Một số ví dụ nổi bật về mô hình dựa trên dòng chảy bao gồm:
- RealNVP (Real-valued Non-Volume Preserving): Một mô hình dựa trên dòng chảy sử dụng các lớp kết hợp affine để học các biến đổi có thể đảo ngược.
- Glow: Một mở rộng của RealNVP đơn giản hóa kiến trúc bằng cách thay thế phép biến đổi hoán vị ngược bằng các phép biến đổi 1×1 có thể đảo ngược.
Mô hình dựa trên dòng chảy đã được áp dụng vào nhiều nhiệm vụ khác nhau, chẳng hạn như ước lượng mật độ và sinh hình ảnh. Chúng cung cấp lợi thế của tính toán xác suất chính xác và lấy mẫu hiệu quả, làm cho chúng trở nên hấp dẫn cho một số ứng dụng nhất định.
6. Energy-based Model – Mô hình dựa trên năng lượng
Energy-based Model – mô hình dựa trên năng lượng (EBMs) là một lớp các Generative Model học phân phối dữ liệu bằng cách định nghĩa một hàm năng lượng. Hàm năng lượng gán giá trị năng lượng thấp cho các mẫu giống với dữ liệu huấn luyện và giá trị năng lượng cao cho các mẫu không giống.
Giải thích dễ hiểu thì hoạt động bằng cách học một hàm năng lượng để gán mức năng lượng thấp cho dữ liệu thật và năng lượng cao cho dữ liệu giả, ví dụ như trong bài toán phát hiện khuôn mặt, mô hình sẽ gán năng lượng thấp cho ảnh chứa mặt người thật và năng lượng cao cho ảnh không phải mặt người. Nói thật là cái này mình đọc mãi mới tìm ra 1 cái ví dụ để làm cho nó dễ hiểu ==’
Một số ví dụ về mô hình dựa trên năng lượng bao gồm:
- Restricted Boltzmann Machines (RBMs): Một loại EBM bao gồm một lớp nhìn thấy và một lớp ẩn, với các kết nối giữa các lớp nhưng không có kết nối trong mỗi lớp.
- Deep Belief Networks (DBNs): Một Generative Model xếp chồng nhiều RBMs để học các biểu diễn phân cấp của dữ liệu.
Mô hình dựa trên năng lượng đã được áp dụng vào các nhiệm vụ như inpainting hình ảnh, nơi mô hình điền vào các phần bị thiếu của một hình ảnh dựa trên hàm năng lượng đã học, và phát hiện dị thường, nơi mô hình xác định các mẫu lệch khỏi phân phối dữ liệu đã học.
7. Diffusion Model – Mô hình khuếch tán
Diffusion Model – mô hình khuếch tán là một lớp các Generative Model học cách tạo dữ liệu bằng cách đảo ngược một quá trình nhiễu dần dần. Ý tưởng chính đằng sau mô hình khuếch tán là bắt đầu với một mẫu từ một phân phối đơn giản, chẳng hạn như nhiễu Gaussian, và dần dần khử nhiễu để có được một mẫu từ phân phối dữ liệu mục tiêu.
Quá trình khử nhiễu trong mô hình khuếch tán được thực hiện bằng cách sử dụng một hàm khử nhiễu lặp đi lặp lại, được học trong quá trình huấn luyện. Ở mỗi bước, hàm khử nhiễu lấy một mẫu nhiễu và cố gắng loại bỏ một lượng nhỏ nhiễu, dần dần biến đổi mẫu về phía phân phối dữ liệu mục tiêu.
Mô hình này thì quá dễ ví dụ luôn: bạn nhập chữ, mô hình trả lại ảnh, quy trình thì nó phức tạp hơn nhưng mà đơn giản dễ hiểu vậy thôi tại mình viết cũng đuối rầu ==’ bạn có thể bấm vô Tensor Art để thử tạo cái ảnh giống trong ảnh ở ví dụ he.
Một số ví dụ nổi bật về mô hình khuếch tán bao gồm:
- DALL-E: Một mô hình tổng hợp hình ảnh từ văn bản của OpenAI sử dụng mô hình khuếch tán để tạo hình ảnh dựa trên các mô tả văn bản.
- Stable Diffusion: Một mô hình khuếch tán tiềm ẩn tạo ra hình ảnh chất lượng cao từ các gợi ý văn bản, kết hợp sức mạnh của các mô hình khuếch tán và mô hình biến tiềm ẩn (latent variable model).
Theo mình, đây là mô hình xịn nhất tại vì mình dùng nhiều nhất trong công việc và giải trí của mình 🙂 đặc biệt là Stable Diffusion :3 Mình sẽ dần có các bài viết hướng dẫn để sử dụng chúng sau.
Tóm lại
Trong bài viết này, chúng ta đã khám phá thế giới hấp dẫn của Generative AI, đi sâu vào khái niệm về các Generative Model, các loại của chúng và các ứng dụng của chúng trong nhiều lĩnh vực khác nhau. Generative AI có tiềm năng cách mạng hóa các ngành công nghiệp, từ các lĩnh vực sáng tạo đến kinh doanh và nghiên cứu khoa học, bằng cách cho phép tạo ra nội dung mới và đa dạng, tối ưu hóa các quy trình và tăng tốc độ khám phá.
Cảm ơn bạn đã đọc bài viết nha, nếu bạn thấy trong nội dung có thiếu sót hay sai sót gì, bạn giúp mình bình luận để mình chỉnh sửa nội dung nha. Cảm ơn bạn rất nhiều ❤️❤️❤️
Câu Hỏi Thường Gặp về Các Generative Model
Generative model có thể thay thế hoàn toàn con người trong việc sáng tạo nội dung không?
Mặc dù generative model ngày càng tiến bộ và có thể tạo ra nội dung chất lượng cao, nhưng chúng vẫn chưa thể thay thế hoàn toàn sự sáng tạo, trí tưởng tượng phong phú và tư duy đột phá của con người. Tuy nhiên, chúng có thể hỗ trợ đắc lực cho quá trình sáng tạo của con người.
Làm thế nào để sử dụng các Generative Model cho các ứng dụng sáng tạo mà vẫn tôn trọng quyền sở hữu trí tuệ?
Câu chuyện này còn khá nhiều nhập nhằng và khó có câu trả lời thoả đáng cho tất cả các bên. Tuy nhiên, tránh lạm dụng chúng vào chuyện hại người, bất hợp pháp sẽ tốt hơn.
Tại sao generative model lại khó huấn luyện hơn các mô hình phân loại/hồi quy thông thường?
Generative model phải học cách mô phỏng phân phối xác suất phức tạp của dữ liệu huấn luyện, trong khi các mô hình phân loại/hồi quy chỉ cần học ranh giới quyết định đơn giản hơn. Ngoài ra, việc đánh giá chất lượng output của generative model cũng khó khăn hơn.
Xu hướng nghiên cứu và phát triển của generative model trong tương lai?
Một số xu hướng chính bao gồm: mô hình kích thước lớn hơn với nhiều tham số hơn, kết hợp học có giám sát và không giám sát, mô hình đa thức (multimodal) mình sẽ sớm viết bài này vì nó khá hay, kiểm soát tốt hơn nội dung sinh ra, giảm yêu cầu tài nguyên tính toán, ứng dụng trong nhiều lĩnh vực mới…