Egregore v5.0: động cơ nhận thức tự chủ cân bằng nội môi hình học tôpô đa chiều dựa trên PyTorch
(github.com/PJHkorea)Tôi đã phát triển và ghi lại quá trình thực hiện dự án lớp nhận thức (Egregore v5.0), trong đó tích hợp các thủ pháp của vật lý toán/lý thuyết trường lượng tử vào hàm mục tiêu deep learning và cấu trúc manifold như một nghiên cứu cá nhân.
Vì tôi thường ưu tiên cách tiếp cận mang tính nhận thức trước rồi mới bổ sung hoàn thiện, nên khả năng cao sẽ còn có các đợt nâng cấp phiên bản tiếp theo khá thường xuyên.
Vượt qua mức nguyên mẫu đơn thuần, tôi đã phát triển dự án từ v1.0 đến v5.0 để xây dựng hạ tầng có thể thực sự vận hành trong môi trường huấn luyện phân tán quy mô lớn, đồng thời ghi lại quá trình xử lý sự cố và các điều chỉnh về kiến trúc đã trải qua.
Trong từng tài liệu README, tôi cũng viết thêm về những giới hạn của bản thân và quá trình vượt qua chúng.
Các điểm triển khai và refactor cốt lõi
-
Biến hình manifold khả vi trên toàn miền: không dùng câu lệnh điều kiện (If-Else), mà dùng tổ hợp các hàm liên tục Sigmoid/Tanh để ánh xạ hoàn chỉnh sự chuyển pha tôpô giữa các đa tạp hình cầu (Sphere) và xuyến (Torus).
-
Giới thiệu hàm mất mát tôpô kết hợp 3 thành phần (Advanced Topological Loss): để ngăn hiện tượng sụp đổ tôpô (Topological Collapse) và mode collapse khi trọng số bị lệch hoặc dính vào một mặt phẳng cụ thể, tôi kết hợp theo dạng đa thức loss căn chỉnh độ cong, entropy thông tin Casimir (tối đa hóa Shannon Entropy), và độ dài cung trắc địa của đa tạp Riemann (
torch.acos). -
Thiết lập Zero-NaN và guardrail bộ nhớ cho môi trường production: áp dụng
torch.clampđể ngăn phân kỳ đạo hàm của hàm lượng giác ngược, chèn EPSILON để tránh bùng nổ đạo hàm căn bậc hai, ngăninfdo hàmexpbùng nổ, và ép kiểufloat(loss.item())để chặn rò rỉ bộ nhớ (Memory Leak). -
Cô lập learning rate theo từng tầng (LLRD): thông qua theo dõi địa chỉ bộ nhớ dựa trên
id(), tôi cô lập và kiểm soát learning rate của các tham số cổng tôpô thấp hơn 100 lần so với backbone thông thường để đảm bảo tính ổn định khi huấn luyện.
Tôi cũng đã tài liệu hóa bằng tiếng Hàn và tiếng Anh phần phân tích nguyên nhân thất bại của các "mô hình vật lý toán bị loại bỏ (Rejected Paradigms)" từng được thử triển khai, như tích phân đường đi Feynman hay đẳng thức Jarzynski.
Hy vọng đây sẽ là một định hướng hữu ích cho những ai quan tâm đến việc triển khai PyTorch thực chiến cho information geometry hoặc AI dựa trên vật lý (PINN).
Dự án này tuân theo giấy phép GPLv3, một nguyên tắc copyleft mã nguồn mở mạnh mẽ.
4 bình luận
Tôi thấy rất thú vị. Tôi muốn hỏi thêm vài điểm về chi tiết triển khai.
Tổn thất trắc địa
acos+ dead-zone củaclampAnh/chị tính độ dài cung trắc địa bằng
torch.acos, mà đạo hàm củaacossẽ phân kỳ khi đầu vào tiến gần ±1. Tôi hiểu là anh/chị đã chặn điều này bằngclamp. Nhưng ở vùng chuyển pha topo nơi hình cầu và xuyến gần như trùng khớp, giá trị tích vô hướng sẽ hội tụ về ±1; lúc đó nếuclampkích hoạt thì gradient của hạng mục đó sẽ thành 0, khiến tín hiệu học bị biến mất, đúng không? Nhìn qua thì có vẻ ở chính ranh giới topo quan trọng nhất, việc học lại bị dừng. Anh/chị đã xử lý dead-zone này như thế nào?Xung đột dấu giữa hạng căn chỉnh độ cong và hạng cực đại hóa entropy
Áp lực muốn căn chỉnh/hội tụ độ cong và áp lực entropy muốn dàn phẳng phân bố là hai mục tiêu cạnh tranh trực tiếp trên manifold. Nghiệm tối ưu có thể thay đổi hoàn toàn tùy theo tỷ lệ trọng số; vậy anh/chị đã chọn tỷ lệ này như thế nào? Liệu có phải một phía chiếm ưu thế khiến hạng còn lại thực chất chỉ hoạt động như regularization nhiễu hay không — anh/chị có kết quả ablation khi bỏ từng hạng riêng lẻ không?
Định nghĩa của "entropy thông tin Casimir"
Casimir là một khái niệm trong ngữ cảnh vật lý, còn entropy Shannon là đại lượng của lý thuyết thông tin; nhưng nhìn vào mã thì cuối cùng nó có vẻ chỉ là phép tính entropy Shannon tiêu chuẩn trên phân bố trọng số. Cách đặt tên "Casimir" có tương ứng với một hạng riêng thực sự trong công thức hay không, hay chỉ là tên gán cho regularization entropy thông thường? Nếu là trường hợp thứ nhất, anh/chị có thể cho xem công thức dạng đóng của hạng đó không?
acos+ dead-zone củaclampmargin = 0.95
leaky_slope = 0.01
leaky_cos = torch.where(
torch.abs(x) < margin * bound,
x, # 1. Trong vùng an toàn (dưới 0.95), bảo toàn hoàn toàn khoảng cách trắc địa tuyến tính
torch.sign(x) * (margin * bound + leaky_slope * (torch.abs(x) - margin * bound)) # 2. Khi đi vào bề mặt biên, áp dụng soft bending
)
return torch.clamp(leaky_cos, min=-bound, max=bound)
Xung đột dấu giữa hạng tử căn chỉnh độ cong và hạng tử cực đại hóa entropy
Với việc phân bổ cân bằng động 2:1 giữa lực hút và lực đẩy, cùng trong kiến trúc mới nhất đã chuyển sang chuỗi phép toán
F.log_softmaxbảo đảm độ ổn định cực hạn về mặt phân tích số, chúng tôi đã làm cho giá trị tổn thất không bị vọt lên mà vẫn cùng tồn tại ngay cả dưới áp lực xung đột dấu.Entropy thông tin Casimir
Bản thân công thức đúng là entropy Shannon
Dù vậy, lý do hạng tử này được đặt tên là "Casimir" là vì nguồn của phân phối xác suất dùng để tính entropy này là đầu ra của một bộ lọc mô phỏng hiệu ứng vật lý Casimir
Công thức dạng khép kín đã được tôi chỉnh sửa và triển khai trong README.
https://github.com/PJHkorea/Egregore/blob/main/README.md
Thật sự cảm ơn rất nhiều. Nhờ bạn kiểm tra mà tôi đã một lần nữa thay đổi phần triển khai.
https://github.com/PJHkorea/Egregore/…
Tôi đã sửa sang phiên bản này. Thật sự vô cùng cảm ơn. Bạn đã mang đến cho tôi nguồn cảm hứng to lớn.
Dạo này mấy thứ kiểu này xuất hiện thường xuyên, có phải đang có ai đó spam bằng một tác nhân được nhập prompt đại loại như "tạo ra thứ gì đó trông thật chuyên nghiệp rồi đăng lên các site cộng đồng" không nhỉ?
Xin lỗi. Tôi đã làm việc theo cách riêng của mình nên có phần độc đoán.
Tôi sẽ sửa lại.