Autoencoder là một loại Mạng nơ-ron nhân tạo (NN) được sử dụng chủ yếu cho các tác vụ học không giám sát , đặc biệt là giảm chiều và trích xuất đặc điểm . Mục tiêu cơ bản của nó là học một biểu diễn nén (mã hóa) của dữ liệu đầu vào, thường bằng cách đào tạo mạng để tái tạo các đầu vào của riêng nó. Nó bao gồm hai phần chính: một bộ mã hóa ánh xạ dữ liệu đầu vào thành không gian tiềm ẩn chiều thấp hơn và một bộ giải mã tái tạo dữ liệu gốc từ biểu diễn nén này. Quá trình này buộc autoencoder phải nắm bắt các đặc điểm nổi bật nhất của dữ liệu đào tạo .
Cách thức hoạt động của Autoencoders
Hoạt động của bộ mã hóa tự động bao gồm hai giai đoạn: mã hóa và giải mã.
- Bộ mã hóa: Phần này lấy dữ liệu đầu vào (ví dụ: hình ảnh hoặc vectơ) và nén dữ liệu đó thành dạng biểu diễn có chiều thấp hơn được gọi là không gian tiềm ẩn hoặc nút thắt. Việc nén này buộc mạng phải học các mẫu có ý nghĩa và loại bỏ nhiễu hoặc dư thừa. Bộ mã hóa thường bao gồm một số lớp, thường sử dụng các hàm kích hoạt như ReLU hoặc Sigmoid .
- Nút thắt cổ chai: Đây là lớp trung tâm của bộ mã hóa tự động, nơi chứa biểu diễn nén, chiều thấp của dữ liệu đầu vào. Đây là 'mã' nắm bắt thông tin cần thiết. Chiều của lớp này là một siêu tham số quan trọng.
- Bộ giải mã: Phần này lấy biểu diễn nén từ nút thắt và cố gắng tái tạo dữ liệu đầu vào gốc chính xác nhất có thể. Nó phản ánh cấu trúc của bộ mã hóa nhưng ngược lại, lấy mẫu dữ liệu trở lại kích thước ban đầu.
Đào tạo bao gồm việc đưa dữ liệu đầu vào vào mạng và so sánh đầu ra (dữ liệu được tái tạo) với đầu vào ban đầu bằng cách sử dụng hàm mất mát , chẳng hạn như Lỗi bình phương trung bình (MSE) đối với dữ liệu liên tục hoặc Entropy chéo nhị phân đối với dữ liệu nhị phân. Trọng số của mạng được điều chỉnh bằng cách sử dụng backpropagation và thuật toán tối ưu hóa như Adam hoặc SGD để giảm thiểu lỗi tái tạo này.
Các loại Autoencoder
Có một số biến thể của kiến trúc bộ mã hóa tự động cơ bản, mỗi biến thể được thiết kế cho các nhiệm vụ cụ thể:
- Bộ mã hóa tự động khử nhiễu: Được đào tạo để tái tạo phiên bản sạch của đầu vào bị nhiễu. Điều này giúp chúng mạnh mẽ cho các tác vụ như khử nhiễu hình ảnh. Tìm hiểu thêm về Bộ mã hóa tự động khử nhiễu .
- Bộ mã hóa tự động thưa thớt: Giới thiệu hình phạt thưa thớt (một dạng chính quy hóa ) trên lớp nút thắt, buộc mạng phải học các biểu diễn mà chỉ có một vài nút hoạt động tại một thời điểm.
- Bộ mã hóa tự động biến thiên (VAE): Một mô hình AI tạo sinh học cách ánh xạ xác suất vào không gian tiềm ẩn, cho phép tạo ra các mẫu dữ liệu mới tương tự như dữ liệu đào tạo. Đọc bài báo VAE .
- Bộ mã hóa tự động thu gọn: Thêm một điều khoản phạt vào hàm mất mát để khuyến khích bộ mã hóa học các biểu diễn mạnh mẽ trước những thay đổi nhỏ trong đầu vào.
Ứng dụng trong thế giới thực
Bộ mã hóa tự động là công cụ đa năng được sử dụng trong nhiều ứng dụng Học máy (ML) :
- Phát hiện bất thường: Bằng cách học các mẫu bình thường trong dữ liệu, bộ mã hóa tự động có thể xác định các giá trị ngoại lệ hoặc bất thường. Nếu lỗi tái tạo cho một điểm dữ liệu cụ thể cao, điều đó cho thấy đầu vào khác biệt đáng kể so với dữ liệu đào tạo, có khả năng chỉ ra bất thường như giao dịch gian lận trong tài chính hoặc thiết bị bị lỗi trong sản xuất. Khám phá thêm về phát hiện bất thường .
- Nén và khử nhiễu hình ảnh: Bộ mã hóa tự động có thể học các biểu diễn nhỏ gọn của hình ảnh, thực hiện nén hiệu quả. Bộ mã hóa tự động khử nhiễu được sử dụng cụ thể để loại bỏ nhiễu khỏi hình ảnh, điều này rất có giá trị trong phân tích hình ảnh y tế (ví dụ: tăng cường quét MRI hoặc CT) hoặc khôi phục ảnh cũ. Xem các giải pháp hình ảnh y tế .
- Giảm chiều: Tương tự như Phân tích thành phần chính (PCA) , bộ mã hóa tự động giảm chiều dữ liệu nhưng có thể nắm bắt các mối quan hệ phức tạp, phi tuyến tính mà PCA không làm được. Điều này hữu ích cho việc trực quan hóa dữ liệu và là bước tiền xử lý cho các mô hình ML khác.
- Học tính năng: Phần mã hóa có thể được sử dụng như một trình trích xuất tính năng cho các tác vụ hạ lưu như phân loại hình ảnh hoặc phát hiện đối tượng , thường cung cấp các tính năng mạnh mẽ hơn dữ liệu thô. Trong khi các mô hình như Ultralytics YOLO sử dụng xương sống chuyên dụng, các nguyên tắc của bộ mã hóa tự động thông báo cho việc học biểu diễn.
Autoencoders so với các khái niệm liên quan
- PCA: Mặc dù cả hai đều làm giảm tính đa chiều, PCA bị giới hạn ở các phép biến đổi tuyến tính. Autoencoder, là mạng nơ-ron , có thể học các phép ánh xạ phi tuyến tính phức tạp, thường dẫn đến biểu diễn tốt hơn cho các tập dữ liệu phức tạp.
- GAN: Mạng đối nghịch tạo sinh (GAN) chủ yếu được thiết kế để tạo dữ liệu mới có độ thực tế cao. Trong khi VAE (một loại bộ mã hóa tự động) cũng có thể tạo dữ liệu, trọng tâm của chúng thường là học không gian tiềm ẩn có cấu trúc tốt, trong khi GAN vượt trội về độ trung thực đầu ra, đôi khi phải đánh đổi bằng khả năng diễn giải không gian tiềm ẩn.
- CNN và Transformer: Autoencoder xác định một mẫu kiến trúc (encoder-decoder). Chúng thường sử dụng các loại mạng khác như Convolutional Neural Networks (CNN) cho dữ liệu hình ảnh hoặc Transformers cho dữ liệu tuần tự như các khối xây dựng trong bộ mã hóa và giải mã.
Công cụ và triển khai
Bộ mã hóa tự động có thể được triển khai bằng cách sử dụng các khuôn khổ học sâu (DL) phổ biến:
Các nền tảng như Ultralytics HUB tạo điều kiện thuận lợi cho quy trình làm việc ML tổng thể, bao gồm quản lý dữ liệu và đào tạo mô hình , mặc dù chúng chủ yếu tập trung vào các tác vụ có giám sát như phát hiện và phân đoạn thay vì đào tạo bộ mã hóa tự động không giám sát.