Bước tới nội dung

Khác biệt giữa bản sửa đổi của “Lớp (mạng thần kinh nhân tạo)”

Bách khoa toàn thư mở Wikipedia
Nội dung được xóa Nội dung được thêm vào
Qesefe (thảo luận | đóng góp)
Lớp hàm kích hoạt
Qesefe (thảo luận | đóng góp)
Attention
Dòng 46: Dòng 46:
* Tanh: <math>\tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}</math>​ đầu ra trong khoảng <math>(-1, 1)</math>.
* Tanh: <math>\tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}</math>​ đầu ra trong khoảng <math>(-1, 1)</math>.
* Softmax: <math>\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}</math> chuyển đổi vectơ đầu ra thành phân phối xác suất, thường dùng ở lớp cuối cùng cho bài toán phân loại nhiều nhãn.
* Softmax: <math>\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}</math> chuyển đổi vectơ đầu ra thành phân phối xác suất, thường dùng ở lớp cuối cùng cho bài toán phân loại nhiều nhãn.

=== Lớp attention ===
Lớp attention có thể được định nghĩa như một phép tổng hợp có trọng số của một tập các giá trị, trong đó trọng số được tính dựa trên mức độ tương đồng giữa truy vấn (q''uery'') và chìa khóa truy xuất (''key'') cho một giá trị (''value'').<ref name=":4">{{Chú thích tạp chí |last=Vaswani |first=Ashish |last2=Shazeer |first2=Noam |last3=Parmar |first3=Niki |last4=Uszkoreit |first4=Jakob |last5=Jones |first5=Llion |last6=Gomez |first6=Aidan N |last7=Kaiser |first7=Ł ukasz |last8=Polosukhin |first8=Illia |date=2017 |title=Attention is All you Need |url=https://papers.nips.cc/paper_files/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html |magazine=Advances in Neural Information Processing Systems |publisher=Curran Associates, Inc. |volume=30}}</ref>

Quy trình tính toán attention (''Scaled Dot-Product Attention'') gồm ba bước:

# Tính điểm tương đồng giữa query và từng key: <math>scores = \frac{Q \cdot K^T}{\sqrt{d_k}}</math>
# Chuẩn hóa điểm số bằng softmax để có trọng số: <math>m = softmax (scores)</math>
# Tính tổng có trọng số: <math>o = \sum_i b_i \cdot scores_i</math>

Các biến thể quan trọng bao gồm Self‑Attention (<math>Q</math>, <math>K</math>, <math>V</math> đều đến từ cùng một nguồn) và Multi‑Head Attention (sử dụng nhiều phép chiếu khác nhau để nắm bắt nhiều loại mối quan hệ).<ref name=":4" />


== Tham khảo ==
== Tham khảo ==

Phiên bản lúc 10:35, ngày 14 tháng 4 năm 2026

Kiến trúc các lớp của LeNet (trái) và AlexNet (phải)
Kiến trúc các lớp của LeNet (trái) và AlexNet (phải)

Một lớp (tiếng Anh: Layer) trong một mạng thần kinh nhân tạo là một hàm thành phần của một mạng thần kinh truyền thẳng.[1][2] Nó bao gồm nhiều node không được kết nối với nhau, nhưng cùng nhau tiếp nhận các đầu vào từ lớp phía trước để tính toán ra kết quả truyền ra lớp phía sau.

Trong một mạng học sâu, thường có một lớp đầu vào, các lớp ẩn ở giữa, và một lớp đầu ra.

Định nghĩa toán học

Về mặt toán học, nếu coi một mạng thần kinh truyền thẳng với lớp là một tập hợp hàng được kết nối với nhau thành một chuỗi:

Với đầu ra bằng:

Thì hàm vectơ là lớp thứ của mạng này.[1] Trong đó, tham số của nó.

Phân loại

Lớp kết nối đầy đủ (Fully Connected / Dense)

Lớp kết nối đầy đủ (tiếng Anh: fully-connected, viết tắt là FC, hoặc dense) là loại lớp cơ bản nhất trong mạng neuron. Trong lớp này, mỗi neuron đầu vào được kết nối với mọi neuron đầu ra của lớp trước đó.[3][4] Về mặt toán học, lớp FC thực hiện một phép biến đổi tuyến tính theo sau bởi một hàm kích hoạt phi tuyến:

Trong đó, vectơ đầu vào, ma trận trọng số, là vectơ đo độ lệch, còn là hàm kích hoạt. Mỗi kết nối mang một trọng số riêng biệt và mỗi neuron có độ lệch riêng: kết nối giữa neuron của lớp trước và của lớp này có giá trị là với độ lệch .[1]

Lớp FC thường được sử dụng cho các mạng Percentron nhiều lớp (Multilayer Perceptron)[4] hoặc ở các tầng cuối của mạng để tổng hợp đặc trưng và thực hiện nhiệm vụ phân loại hoặc hồi quy.[1] Nhược điểm của nó là số lượng tham số cần được học lớn, đặc biệt khi kích cỡ của lớn. Ngoài ra, nó cũng không mấy hữu hiệu với các đầu vào cần thông tin về không gian như hình ảnh hoặc theo chuỗi như ngôn ngữ.

Lớp làm phẳng

Lớp làm phẳng (Flatten) thực hiện nhiệm vụ đơn giản nhưng cần thiết: chuyển đổi đầu vào nhiều chiều thành vectơ một chiều để chuẩn bị cho đầu vào của lớp kết nối đầy đủ.[5] Ví dụ, đầu ra từ một lớp tích chập có kích thước sẽ được làm phẳng thành vectơ với kích thước . Lớp này không chứa tham số toán học, không thực hiện tính toán, và không làm thay đổi giá trị đầu vào.

Lớp tích chập

Ví dụ về một phép toán tích chập. Từng giá trị trong cửa sổ của đầu vào sẽ được nhân với từng giá trị tương ứng trong bộ lọc.
Ví dụ về một phép toán tích chập. Từng giá trị trong cửa sổ của đầu vào sẽ được nhân với từng giá trị tương ứng trong bộ lọc.

Lớp tích chập (Convolutional, viết tắt là Conv) là khối xây dựng cốt lõi của mạng neuron tích chập (CNN), chuyên xử lý dữ liệu dạng lưới như hình ảnh.[6][7] Khác với lớp FC, lớp tích chập sử dụng kết nối cục bộ và chia sẻ trọng số, cho phép mô hình hóa các quan hệ không gian một cách hiệu quả.

Một bộ lọc (kernel hoặc filter) có kích thước cố định "trượt" trên toàn bộ đầu vào, tại mỗi vị trí thực hiện phép tích vô hướng giữa bộ lọc và vùng cục bộ có kích thước giống với bộ lọc của đầu vào để tạo ra một phần tử trên bản đồ đặc trưng (feature map).

Trong đó, là đầu vào, là bộ lọc với kích cỡ .[1][7] Trong học sâu, phép toán này thường là tương quan chéo (cross-correlation) chứ không phải tích chập đúng nghĩa vì bộ lọc không bị đảo ngược.

Lớp lấy mẫu

Lớp lấy mẫu (Pooling) thực hiện giảm chiều không gian của bản đồ đặc trưng đầu ra từ các lớp tích chập nhằm giảm độ phức tạp tính toán.[1] Về cơ bản, nó chính là một lớp tích chập nhưng không chứa tham số học.[6][7] Một cửa sổ có kích thước cố định (ví dụ 2×2) trượt trên đầu vào, tại mỗi vị trí tính một giá trị đầu ra duy nhất bằng một hàm xác định (deterministic function). Hai loại phổ biến nhất là max pooling lấy giá trị lớn nhất từ cửa sổ trên đầu vào, và average pooling lấy giá trị trung bình của chúng.

Lớp hàm kích hoạt

Lớp hàm kích hoạt (Activation) áp dụng một hàm phi tuyến lên đầu ra của lớp tuyến tính (FC, Conv, ...) nhằm tạo ra tính phi tuyến cho mô hình. Nếu không có hàm kích hoạt, toàn bộ mạng neuron sẽ chỉ là một chuỗi các phép biến đổi tuyến tính, tương đương với một phép biến đổi tuyến tính duy nhất, không thể mô hình hóa các mối quan hệ phức tạp.[1]

Một số hàm phổ biến bao gồm:

  • ReLU (Rectified Linear Unit): và các biến thể.
  • Sigmoid: cho đầu ra trong khoảng , thường dùng ở lớp đầu ra cho bài toán phân loại nhị phân.
  • Tanh: ​ đầu ra trong khoảng .
  • Softmax: chuyển đổi vectơ đầu ra thành phân phối xác suất, thường dùng ở lớp cuối cùng cho bài toán phân loại nhiều nhãn.

Lớp attention

Lớp attention có thể được định nghĩa như một phép tổng hợp có trọng số của một tập các giá trị, trong đó trọng số được tính dựa trên mức độ tương đồng giữa truy vấn (query) và chìa khóa truy xuất (key) cho một giá trị (value).[8]

Quy trình tính toán attention (Scaled Dot-Product Attention) gồm ba bước:

  1. Tính điểm tương đồng giữa query và từng key:
  2. Chuẩn hóa điểm số bằng softmax để có trọng số:
  3. Tính tổng có trọng số:

Các biến thể quan trọng bao gồm Self‑Attention (, , đều đến từ cùng một nguồn) và Multi‑Head Attention (sử dụng nhiều phép chiếu khác nhau để nắm bắt nhiều loại mối quan hệ).[8]

Tham khảo

  1. ^ a b c d e f g Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). Deep learning. Adaptive computation and machine learning. Cambridge, Massachusetts: The MIT Press. ISBN 978-0-262-03561-3.
  2. ^ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). Dive into deep learning. Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press. ISBN 978-1-009-38943-3.
  3. ^ Rosenblatt, F. (1958). "The perceptron: A probabilistic model for information storage and organization in the brain". Psychological Review (bằng tiếng Anh). Quyển 65 số 6. tr. 386–408. doi:10.1037/h0042519. ISSN 1939-1471.
  4. ^ a b Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. (tháng 10 năm 1986). "Learning representations by back-propagating errors". Nature (bằng tiếng Anh). Quyển 323 số 6088. tr. 533–536. doi:10.1038/323533a0. ISSN 0028-0836.
  5. ^ Ali, Muhammad Shoaib (ngày 23 tháng 6 năm 2022). "Flattening CNN layers for Neural Network and basic concepts". Medium (bằng tiếng Anh). Bản gốc lưu trữ ngày 5 tháng 7 năm 2024. Truy cập ngày 14 tháng 4 năm 2026.
  6. ^ a b Fukushima, Kunihiko (tháng 4 năm 1980). "Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position". Biological Cybernetics (bằng tiếng Anh). Quyển 36 số 4. tr. 193–202. doi:10.1007/BF00344251. ISSN 0340-1200.
  7. ^ a b c LeCun, Y.; Boser, B.; Denker, J. S.; Henderson, D.; Howard, R. E.; Hubbard, W.; Jackel, L. D. (tháng 12 năm 1989). "Backpropagation Applied to Handwritten Zip Code Recognition". Neural Computation (bằng tiếng Anh). Quyển 1 số 4. tr. 541–551. doi:10.1162/neco.1989.1.4.541. ISSN 0899-7667.
  8. ^ a b Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N; Kaiser, Ł ukasz; Polosukhin, Illia (2017). "Attention is All you Need". Advances in Neural Information Processing Systems. Quyển 30. Curran Associates, Inc.