Mạng nơ-ron lặp lại các phép tính đơn giản qua nhiều nơ-ron kết nối. Khi thêm lớp
hoặc mở rộng lớp, mạng có thêm nhiều trọng số và độ lệch — gọi chung là
tham số. Các tham số phải được lưu trữ, học trong quá trình huấn luyện và sử dụng
trong phép tính mỗi khi mô hình tạo câu trả lời.
Nhiều lớp hơn hoặc lớp rộng hơnNhiều nơ-ron được kết nối hơn.
→
Nhiều tham số hơnNhiều trọng số và độ lệch phải được lưu trữ và học.
→
Nhiều phép tính hơnCần nhiều tính toán hơn khi huấn luyện và mỗi lần chạy mô hình.
Ý chính: mạng lớn hơn có thể học những mẫu phức tạp hơn, nhưng thường cần thêm bộ nhớ, thời gian, phép tính và điện năng.
Cấu trúc mạng
Đầu vào, lớp ẩn và đầu ra quyết định số kết nối có trọng số của mô hình.
Chi phí tham số
Mỗi kết nối mới thêm một trọng số; mỗi nơ-ron thường thêm một độ lệch.
Liên hệ toán học
Mạng nơ-ron lặp lại ý tưởng y = ax + b ở mỗi lớp.
Ví dụ tương tác
Thay đổi mạng và quan sát số tham số cùng phép tính tăng ngay lập tức.
Thay đổi cấu trúc mạng
Nhập kích thước các lớp, ngăn cách bằng dấu phẩy. Ví dụ: 8, 16, 8
Thông báo chi phí
Mạng hiện tại của bạn còn nhỏ.
Đang tải...
Lớp rộng hơn tạo thêm nhiều kết nối.
Nhiều lớp ẩn hơn làm tăng độ sâu.
Cả hai thường làm tăng chi phí huấn luyện và suy luận.
Với nhận dạng hình ảnh hoặc chữ cái, lớp đầu vào thường tăng nhanh vì mỗi pixel có thể trở thành một giá trị đầu vào.
Tóm tắt chi phí
Kích thước các lớp
-
Tổng số tham số
-
Bộ nhớ ước tính (FP32)
-
Chi phí tính toán tương đối
-
Độ sâu
-
Phép tính có trọng số ước tính mỗi lần chạy
-
Tham số gồm trọng số và độ lệchTrọng số giống aĐộ lệch giống bNhiều tham số thường cần nhiều phép tính hơnNhiều lớp = nhiều giai đoạn tuần tự
Tham số và y = ax + b
Trong toán học truyền thống, đường thẳng thường được viết là y = ax + b.
a cho biết x ảnh hưởng đến y mạnh đến mức nào, còn
b dịch chuyển kết quả lên hoặc xuống.
Một nơ-ron dùng cùng ý tưởng đó nhưng được lặp lại nhiều lần:
mỗi kết nối có một trọng số và mỗi nơ-ron có một độ lệch. Khi huấn luyện,
mạng tìm các giá trị hữu ích cho những trọng số và độ lệch này.
Truyền thống:
y = a*x + b
Một nơ-ron:
đầu_ra = hàm_kích_hoạt(w*x + b)
Nhiều đầu vào:
đầu_ra = hàm_kích_hoạt(w1*x1 + w2*x2 + ... + b)
Sơ đồ mạng
Các đường biểu diễn kết nối có trọng số; các nút biểu diễn đơn vị. Số nút hiển thị được giới hạn để mạng lớn vẫn dễ quan sát.
Ví dụ học sâu nhỏ: nhận dạng chữ cái
Ô tối = pixel được bật
Mỗi pixel kết nối với lớp tiếp theo
Ánh xanh = tín hiệu mạnh hơn
Chữ được dự đoán
1. Ảnh đầu vào
Một lưới nhỏ lưu chữ cái dưới dạng giá trị pixel.
2. Các lớp ẩn
Trong mạng nối đầy đủ của ví dụ này, mỗi pixel đều kết nối với lớp tiếp theo, kể cả pixel trắng.
3. Điểm đầu ra
Mỗi nút đầu ra đại diện cho một chữ cái có thể.
4. Dự đoán
Chữ có điểm cao nhất trở thành kết quả nhận dạng.
Ví dụ: mạng đọc một lưới pixel nhỏ và dự đoán đó là chữ gì.
Ví dụ mạng hữu ích nhỏ nhất
Mạng nơ-ron hữu ích nhỏ nhất có thể chỉ gồm một đầu vào và một nơ-ron đầu ra.
Nó chưa phải mạng sâu, nhưng dùng cùng ý tưởng tham số như mạng lớn hơn: một trọng số và một độ lệch.
Ví dụ này dự đoán khả năng sinh viên đạt dựa trên số giờ học.
Đầu vào:
x = số giờ học
Tham số học được khi huấn luyện:
trọng số w = 2
độ lệch b = -5
Phép tính của nơ-ron:
z = w*x + b
score = sigmoid(z)
Quy tắc quyết định:
nếu điểm >= 0.5, dự đoán Đạt
ngược lại, dự đoán Không đạt
Ý nghĩa của sigmoid:
sigmoid(z) = 1 / (1 + e^(-z))
Hàm này nén mọi số thành điểm từ 0 đến 1.
Ví dụ 1:
x = 3 giờ
z = 2*3 - 5 = 1
score = sigmoid(1)
score = 1 / (1 + e^(-1))
score = 1 / (1 + 0.37) = 0.73
kết quả = Đạt
Ví dụ 2:
x = 2 giờ
z = 2*2 - 5 = -1
score = sigmoid(-1)
score = 1 / (1 + e^(1))
score = 1 / (1 + 2.72) = 0.27
kết quả = Không đạt
Số tham số:
1 trọng số + 1 độ lệch = 2 tham số
Số giờ học x
z = 2*x - 5
sigmoid(z)
Dự đoán
3
1
0.73
Đạt
2
-1
0.27
Không đạt
Cách tính này có dạng giống y = ax + b: trọng số giống a, độ lệch giống b, còn sigmoid biến kết quả z thành một điểm từ 0 đến 1. Đây chỉ là ví dụ minh họa, không phải hệ thống chấm điểm học sinh thực tế.