- Khám phá cách thiết kế ngược các mẫu phức tạp từ những quy tắc cục bộ đơn giản
- Một cách tiếp cận kết hợp khả năng học của Neural Cellular Automata(NCA) với Differentiable Logic Gate Networks để thu được các quy tắc cục bộ rời rạc theo phương pháp học
- "Liệu có thể học ra được quy tắc của Conway's Game of Life không?"
- "Có thể tái hiện các mẫu phức tạp như NCA, đồng thời học được cấu trúc tuần hoàn không-thời gian không?"
Introduction
- Cellular Automata(CA) bắt đầu từ các quy tắc cục bộ đơn giản nhưng có thể hình thành những mẫu phức tạp và khó dự đoán
- Theo truyền thống, quy tắc trong CA do con người trực tiếp thiết kế, nhưng ở đây giới thiệu một phương pháp có thể “học” ngược lại các quy tắc cục bộ thỏa mãn mục tiêu khi đã cho trước mẫu hoặc hành vi đích
- Đặc biệt, Neural Cellular Automata(NCA) được thiết kế để có thể học trong không gian liên tục bằng cách kết hợp kỹ thuật deep learning với cấu trúc CA
- Differentiable Logic Gate Networks là kỹ thuật xấp xỉ liên tục các cổng logic (AND, OR, XOR, v.v.) để huấn luyện, rồi cuối cùng chuyển đổi trở lại thành mạch logic rời rạc
- Bằng cách kết hợp hai ý tưởng này, bài viết đề xuất DiffLogic CA, một mô hình CA hoàn toàn rời rạc nhưng có thể học được
- Có thể xem đây là một bước nhỏ hướng tới Programmable Matter hoặc Computronium
- Bài viết triển khai theo các phần sau
- Tóm tắt Neural Cellular Automata
- Tóm tắt Differentiable Logic Gate Networks
- Cấu trúc DiffLogic CA kết hợp hai phương pháp trên
- Thí nghiệm học quy tắc Conway’s Game of Life
- Thí nghiệm học để tạo các mẫu phức tạp (checkerboard, thằn lằn, ảnh màu, v.v.)
Recap – Neural Cellular Automata(NCA)
- Khái niệm
- Một hệ thống thay thế quy tắc CA truyền thống bằng dạng có thể học được bằng mạng nơ-ron
- Mỗi ô có nhiều kênh (state) và hình thành các mẫu phức tạp thông qua tương tác cục bộ
- Sử dụng Sobel filter và các kỹ thuật tương tự để lấy thông tin lân cận, rồi mạng nơ-ron quyết định sự thay đổi trạng thái
- Đặc điểm
- Toàn bộ quá trình tính toán đều khả vi, nên có thể huấn luyện để tạo ra mẫu mong muốn
- Vẫn giữ được các đặc tính cốt lõi của CA như tính song song, tính cục bộ và tính toán dựa trên trạng thái, đồng thời kết hợp kỹ thuật deep learning
Recap – Differentiable Logic Gate Networks(DLGNs)
- Ý tưởng cốt lõi
- Thay vì NN truyền thống, hệ thống học bằng cách xấp xỉ liên tục các cổng logic (AND, OR, XOR, v.v.) dưới dạng soft gate
- Ở giai đoạn huấn luyện, các cổng hoạt động liên tục; khi suy luận cuối cùng thì thực hiện các phép toán nhị phân thực sự
- Quá trình học
- Học phân phối xác suất trên 16 phép toán logic khả dĩ của cổng, rồi cuối cùng hội tụ về một phép toán cụ thể
- Dùng xấp xỉ liên tục để làm cho mô hình khả vi, và sau khi huấn luyện xong sẽ chuyển sang các cổng logic rời rạc hoàn toàn
- Ưu điểm
- Mạch cuối cùng được cấu thành hoàn toàn từ các cổng logic nhị phân nên có hiệu quả cao về phần cứng
- Do dựa trên logic rời rạc nên có lợi thế về khả năng diễn giải và hiệu quả năng lượng
Differentiable Logic Cellular Automata (DiffLogic CA)
- Cấu trúc
- Trên lưới 2D, mỗi ô có trạng thái n-bit và mô phỏng theo hai bước Perception → Update
- Bước Perception
- Xử lý thông tin lân cận (theo từng kênh) bằng kernel mạch logic
- Bước Update
- Kết hợp trạng thái hiện tại với kết quả Perception bằng một mạch logic khác để quyết định trạng thái ở thời điểm tiếp theo
- Đặc điểm
- Mọi ô hoạt động như những bộ xử lý nhỏ, độc lập và phân tán
- Huấn luyện bằng soft (xấp xỉ liên tục), suy luận bằng cổng hard (nhị phân) nên hiệu quả cao
- Có cùng triết lý với các kiến trúc tính toán dựa trên CA như CAM-8
Experiment 1: Learning Game of Life
- Mục tiêu
- Học quy tắc Conway's Game of Life bằng DiffLogic CA để kiểm tra xem có thể tái tạo hoàn toàn hay không
- Thiết lập
- Dùng trạng thái ô 1 bit
- Perception dùng 16 kernel (mỗi kernel có cấu trúc cổng 8→4→2→1)
- Update có 23 lớp (16 lớp đầu 128 node, sau đó là [64, 32, 16, 8, 4, 2, 1])
- Huấn luyện trên toàn bộ các trạng thái có thể có của lưới 3x3 (512 trường hợp) để dự đoán chính xác trạng thái ở bước tiếp theo
- Kết quả
- Loss huấn luyện tiến gần về 0 và học hoàn hảo quy tắc cục bộ của Game of Life
- Trên lưới lớn hơn, mô hình tái hiện được mọi mẫu như glider, block đúng như Game of Life thực sự
- Trong mạch cuối cùng, các cổng AND và OR được dùng rất nhiều
Experiment 2: Pattern Generation
- Ví dụ checkerboard
- Các ô có trạng thái 8 bit hình thành checkerboard 16x16 trong 20 bước
- Perception có 16 kernel, Update có 16 lớp (tối đa 256 cổng)
- Chỉ so sánh kênh cuối cùng với mẫu đích để tính loss
- Kết quả
- Tạo ra checkerboard chính xác, và quy tắc được hiện thực gọn gàng chỉ với một số ít cổng
- Trên lưới lớn gấp 4 lần, cùng quy tắc vẫn scale up và hoạt động ổn định
- Ngay cả khi một số ô bị vô hiệu hóa vĩnh viễn, mẫu cũng không bị phá hỏng nhiều; khi khôi phục các ô đó, hệ thống tự chữa lành trở lại
- Asynchronicity
- Dù huấn luyện với cập nhật bất đồng bộ, mô hình vẫn học checkerboard mà không gặp vấn đề
- Quy tắc được huấn luyện đồng bộ cũng hoạt động tốt khi áp dụng vào suy luận bất đồng bộ
- Quy tắc học theo cách bất đồng bộ có xu hướng phục hồi nhanh hơn trong tình huống có nhiễu hoặc hư hỏng
Experiment 3: Growing a Lizard
- Mục tiêu
- Huấn luyện để hình thành đường viền một con thằn lằn 20x20 trong 12 bước, nhằm kiểm chứng khả năng tạo hình phức tạp
- Thiết lập
- Trạng thái 128 bit
- Perception có 4 kernel (mỗi kernel có cấu trúc cổng [8, 4, 2, 1]), Update có 10 lớp (8 lớp đầu 512 cổng, sau đó là [256, 128])
- Đặt một ô hoạt động ở trung tâm lưới và dùng điều kiện biên tuần hoàn
- Kết quả
- Trên lưới lớn hơn (40x40), con thằn lằn vẫn phát triển bình thường
- Dù sử dụng rất nhiều cổng, mô hình vẫn có thể huấn luyện được nếu tinh chỉnh hyperparameter phù hợp
Experiment 4: Learning the G with colors
- Mục tiêu
- Tạo một ảnh màu 16x16 gồm 3 kênh RGB trong 15 bước để kiểm chứng khả năng sinh mẫu đa kênh
- Thiết lập
- Trạng thái 64 bit (3 kênh đầu dùng làm RGB, mỗi kênh là 0 hoặc 1)
- Perception có 4 kernel (mỗi kernel là [8, 4, 2]), Update có 11 lớp (8 lớp đầu 512 cổng, sau đó là [256, 128, 64])
- Ảnh đích là một mẫu chữ G 16x16 được tô bằng một trong 8 màu
- Kết quả
- Loss được huấn luyện xuống gần 0, và sau 15 bước mô hình tái hiện chính xác chữ G màu mục tiêu
- Mạch sử dụng nhiều cổng TRUE và FALSE, trong đó OR nổi bật hơn cả
Summary and Discussion
- Đã làm gì
- Đề xuất DiffLogic CA, một mô hình CA hoàn toàn rời rạc nhưng có thể học được
- Tái tạo các quy tắc cổ điển như Game of Life và cho thấy khả năng tạo mẫu như checkerboard, thằn lằn và chữ G màu
- Do được cấu thành từ mạch logic rời rạc, mô hình hứa hẹn khả năng diễn giải trực quan và hiệu quả phần cứng
- Ý nghĩa
- Chứng minh rằng các mẫu tự tổ chức như trong NCA cũng có thể được học bằng các cổng logic rời rạc
- Khi xét đến các đặc tính như phục hồi sau hư hỏng hay cập nhật bất đồng bộ, mô hình có tiềm năng ứng dụng cao trong tính toán phân tán và chịu lỗi tốt (robust)
- Hạn chế và hướng tiếp theo
- Khi học các ảnh hoặc mẫu phức tạp, vẫn cần tinh chỉnh hyperparameter phù hợp
- Có thể tiếp tục khám phá các cổng kiểu LSTM hoặc cấu trúc giúp quên trạng thái hiệu quả để tạo ra các mẫu phong phú hơn
- Có thể mở rộng theo hướng tối ưu quy mô mạch và cải thiện độ ổn định huấn luyện
- Kết luận
- DiffLogic CA là một hướng tiếp cận đầy hứa hẹn có thể nối tiếp tới các định hướng tính toán phân tán mang tính lý thuyết như Programmable Matter hoặc Computronium
- Vì vừa hoàn toàn rời rạc vừa có thể học được, nó có tiềm năng trở thành nền tảng cho các hệ thống phân tán trong tương lai
1 bình luận
Ý kiến Hacker News