VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
là phiên bản nâng cấp của bộ tự mã hóa Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
, VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
giúp tự động lựa chọn đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
một cách chính xác thông qua quá trình học không giám sát. Vậy cụ thể VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
hoạt động như thế nào, hãy cùng trituenhantao.io tìm hiểu trong bài viết này.
Machine learning
Machine Learning
Machine learning (học máy) là nghiên cứu khoa học về các thuật toán và mô hình thống kê mà các hệ thống máy tính sử dụng để thực hiện một nhiệm vụ cụ thể một cách hiệu quả mà không cần sử dụng các hướng dẫn rõ ràng, thay vào đó dựa vào các mẫu và suy luận.
giờ đây không chỉ dừng lại với khả năng nhận biết, phân biệt, chúng đã bắt đầu có khả năng sáng tạo. Câu chuyện bắt đầu từ sự trở lại của Deep learning
Deep Learning
Deep Learning (học sâu) là một lĩnh vực của học máy liên quan đến các thuật toán lấy cảm hứng từ cấu trúc và chức năng của bộ não được gọi là mạng lưới thần kinh nhân tạo.
, các mạng nơ ron
Nơ ron
Một nơ ron hay tế bào thần kinh nhân tạo (còn được gọi là perceptron) là một hàm toán học. Nó là tổng của một hoặc nhiều yếu tố đầu vào được nhân với các trọng số. Giá trị này sau đó được chuyển đến một hàm phi tuyến tính, được gọi là hàm kích hoạt, để trở thành đầu ra của nơ ron.
có khả năng tự động trích chọn và phân tích đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
của dữ liệu, từ những gì học được, chúng bắt đầu có thể sáng tạo nên những thực thể số sống động. Hai dòng thuật toán lớn nhất là GAN và VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
.
Nhược điểm của Auto Encoder
Auto Encoder là một ý tưởng tuyệt vời trong việc trích chọn đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
quan trọng từ dữ liệu. Kiến trúc này tạo ra một nút thắt cổ chai giữa encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
và decoder
decoder
Bộ giải mã trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
. Do đó, trên lý thuyết, chỉ những đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
đại diện được giữ lại.
Đó là lý thuyết, còn thực tế thì sao? Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
được thiết kế để học cách mã hóa và giải mã đầu ra càng giống đầu vào càng tốt, không quan tâm đến phân bố của các đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
ẩn có hợp lý hay không. Điều này khiến cho Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
bị overfitting
Overfitting
Là hiện tượng mô hình ghi nhớ quá tốt dữ liệu huấn luyện và phụ thuộc vào nó, việc này khiến cho mô hình không thể tổng quát hóa các quy luật để hoạt động với dữ liệu chưa từng được chứng kiến.
và các mẫu sinh ra bất hợp lý. Ví dụ đơn giản, nếu trong tập dữ liệu của bạn có 9 người đàn ông trọc đầu, 1 người phụ nữ tóc dài xinh đẹp thì nhiều khả năng tất cả các mẫu sinh ra đều trọc đầu hoặc với nỗ lực của Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
bạn sẽ có những tấm hình như sau:
Hoặc nếu may mắn, ta có thể có được bức hình giống như sau (với xác suất cực kỳ nhỏ):
Hai ví dụ trên được lấy ra để bạn dễ hình dung về nhược điểm của Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
. Trên thực tế, các hình do Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
sinh ra méo mó và dị dạng hơn nhiều.
Vậy giải pháp là gì? Chúng ta cần một cơ chế để giám sát và điều chỉnh phân bố của các đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
. VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
ra đời để giúp chúng ta làm điều đó.
VAE – Variational Auto Encoder
VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
là viết tắt của Variational Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
, là một Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
mà quá trình huấn luyện được điều chỉnh để đảm bảo rằng các đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
ẩn đủ tốt phục vụ cho việc sinh dữ liệu.
VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
cũng có một encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
và một decoder
decoder
Bộ giải mã trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
, cũng được huấn luyện để tái lập đầu vào thông qua nút thắt cổ chai. Mặc dù vậy, thay vì mã hóa đầu vào như một điểm dữ liệu, ta mã hóa nó như một phân bố xác suất trên không gian ẩn.
Hàm loss
Loss
Máy tính học thông qua hàm loss. Đây là một phương pháp đánh giá xem mô hình biểu diễn dữ liệu đã cho tốt đến đâu. Mô hình biểu diễn càng tốt thì giá trị loss càng nhỏ.
trong VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
được cấu tạo bởi hai thành phần, một thành phần để đánh giá khả năng khôi phục đầu vào và một thành phần để giám sát phân bố của lớp ẩn với Kulback-Leibler divergence.
Với cách thiết kế hàm loss
Loss
Máy tính học thông qua hàm loss. Đây là một phương pháp đánh giá xem mô hình biểu diễn dữ liệu đã cho tốt đến đâu. Mô hình biểu diễn càng tốt thì giá trị loss càng nhỏ.
như trên, VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
vừa đảm bảo giữ lại được các đặc trưng
Đặc trưng
Trong học máy và nhận dạng mẫu, một đặc trưng (feature) là một thuộc tính hoặc đặc tính có thể đo lường riêng lẻ của một hiện tượng đang được quan sát.
quan trọng trong giữ liệu, vừa giữ được phân bố của chúng trên thực tế. Hình dưới thể hiện sự khác biệt trong hiệu quả tái lập đầu vào giữa Auto Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
và VAE
VAE
VAE là viết tắt của Variational Auto Encoder, một kiến trúc Auto Encoder có điều chỉnh giúp giảm thiểu overfitting.
.
Nếu bạn thấy bài viết này thú vị, hãy chia sẻ với những người quan tâm. Hãy thường xuyên truy cập và tương tác với chúng tôi qua các kênh (dưới chân trang) để có được thông tin mới nhất về lĩnh vực. Hẹn gặp lại các bạn trong các bài viết sau!