3 điểm bởi GN⁺ 2023-08-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • Grokking được phát hiện ở các mô hình nhỏ là hiện tượng mô hình trước hết ghi nhớ dữ liệu huấn luyện, rồi chỉ sau khi học thêm rất lâu mới đột ngột dự đoán đúng các đầu vào chưa từng thấy, qua đó cung cấp manh mối để phân biệt giữa ghi nhớ và khái quát hóa
  • MLP 1 tầng trong thí nghiệm cộng mô-đun ban đầu có trọng số nhiễu mạnh, nhưng khi độ chính xác trên tập kiểm tra tăng lên thì hình thành cấu trúc tuần hoàn và bắt đầu khái quát hóa
  • Trong thí nghiệm với chuỗi 0/1 dài 30 chữ số, mô hình đã khái quát hóa giảm trọng số ở các vị trí phía sau dùng để gây nhiễu và tập trung vào 3 chữ số đầu, qua đó làm lộ rõ khác biệt giữa nghiệm ghi nhớ và nghiệm khái quát hóa
  • Áp lực cốt lõi của quá trình chuyển đổi là tối thiểu hóa loss và weight decay, và dù loss trên tập kiểm tra có vẻ giảm đột ngột thì các trọng số bên trong thực ra di chuyển khá mượt giữa hai nghiệm
  • Grokking chỉ xuất hiện khi các hyperparameter như kích thước mô hình, kích thước dữ liệu và weight decay phù hợp; việc liệu có thể diễn giải các mô hình lớn theo cùng cách hay không vẫn là câu hỏi còn bỏ ngỏ

Câu hỏi mà Grokking đặt ra

  • Năm 2021, các nhà nghiên cứu phát hiện rằng trong những bài toán đồ chơi, các mô hình nhỏ sau khi đã khớp đúng dữ liệu huấn luyện vẫn chưa thể dự đoán đúng dữ liệu kiểm tra trong một thời gian, rồi sau khi học lâu hơn lại đột ngột khái quát hóa
  • Hiện tượng này được gọi là grokking, chỉ động lực học học tập trong đó khả năng khái quát hóa xuất hiện rất lâu sau khi mô hình đã khớp với dữ liệu huấn luyện
  • Các mô hình ngôn ngữ lớn có thể trông như đang hiểu thế giới, nhưng cũng có thể chỉ đang ghi nhớ rồi lặp lại một phần của kho văn bản huấn luyện khổng lồ
  • Bắt đầu từ các mô hình nhỏ giúp dễ xây dựng trực giác hơn cho những kỹ thuật diễn giải vốn khó áp dụng trực tiếp lên các mô hình lớn nhất hiện nay
  • Cách tiếp cận là quan sát quá trình học của mô hình nhỏ, rồi đảo ngược để hiểu nghiệm mà mô hình tìm ra, qua đó cho thấy một ví dụ về khả năng diễn giải cơ học

Cấu trúc tuần hoàn xuất hiện trong phép cộng mô-đun

  • Cộng mô-đun được dùng như một bài toán nhỏ dễ quan sát grokking
    • Khi cho hai số đầu vào a, b và một mô-đun, bài toán là dự đoán a + b theo phép toán mô-đun
    • Thí nghiệm ví dụ dùng các số từ 0 đến 66, trong đó 67 được chọn để việc trực quan hóa không quá đơn giản cũng không quá phức tạp
  • Mô hình thí nghiệm là một MLP 1 tầng với 24 nơ-ron
    • Toàn bộ các cặp a, b được chia ngẫu nhiên thành dữ liệu huấn luyện và dữ liệu kiểm tra
    • Dữ liệu huấn luyện được dùng để điều chỉnh trọng số mô hình, còn dữ liệu kiểm tra chỉ dùng để xác nhận xem mô hình có học được nghiệm tổng quát hay không
  • Mô hình chọn các cột embedding tương ứng với đầu vào a, b, cộng chúng lại, biến các giá trị âm thành 0, rồi dùng cột gần nhất trong ma trận đầu ra làm dự đoán
  • Trọng số ban đầu trong quá trình huấn luyện có nhiều nhiễu, nhưng khi độ chính xác trên tập kiểm tra tăng lên và mô hình bắt đầu khái quát hóa thì mẫu tuần hoàn xuất hiện
    • Khi kết thúc huấn luyện, mỗi nơ-ron nhiều lần đi qua các giá trị cao và thấp khi số đầu vào tăng từ 0 đến 66
    • Nếu nhóm các nơ-ron theo tần số chu kỳ cuối cùng của chúng thì mẫu này hiện ra còn rõ hơn
  • Tính tuần hoàn này gợi ý rằng mô hình đang học một cấu trúc toán học nào đó, và nó trùng với thời điểm mô hình bắt đầu giải được các ví dụ trong tập kiểm tra

Ghi nhớ và khái quát hóa qua bài toán 0 và 1

  • Một thí nghiệm còn đơn giản hơn yêu cầu dự đoán xem số lượng số 1 trong 3 chữ số đầu của chuỗi 0/1 dài 30 có là số lẻ hay không
    • Ví dụ, chuỗi bắt đầu bằng 000... có thể cho ra 0, còn bắt đầu bằng 010... có thể cho ra 1
    • Về bản chất, đây là một bài toán XOR khó hơn đôi chút, còn các chữ số phía sau chỉ là nhiễu gây xao lạc
  • Mô hình đã khái quát hóa chỉ nên dùng 3 chữ số đầu
    • Mô hình ghi nhớ dữ liệu huấn luyện sẽ dùng cả các vị trí gây nhiễu ở phía sau
  • Thí nghiệm này cũng dùng MLP 1 tầng và học trên 1.200 chuỗi cố định
    • Ban đầu chỉ độ chính xác huấn luyện tăng, còn độ chính xác kiểm tra gần như ở mức ngẫu nhiên
    • Sau đó độ chính xác kiểm tra tăng vọt và mô hình học được nghiệm tổng quát
  • Mô hình đang ghi nhớ cho thấy các trọng số lớn phân tán trên nhiều đầu vào theo dạng dày đặc và nhiễu mạnh
  • Khi khái quát hóa hoàn tất, các trọng số nối với những vị trí gây nhiễu trở nên rất nhỏ và mô hình tập trung vào 3 chữ số đầu vào đầu tiên

Cách weight decay đẩy mô hình sang nghiệm khái quát hóa

  • Trong lúc học, mô hình đồng thời chịu hai áp lực
    • Nó phải giảm loss để gán xác suất cao cho nhãn đúng
    • Nó cũng chịu tác động của weight decay để giữ độ lớn trọng số ở mức thấp
  • Trong bài toán 0/1, loss huấn luyện tăng nhẹ ngay trước khi mô hình bắt đầu khái quát hóa
    • Đó là vì mô hình chấp nhận từ bỏ một phần loss vốn giúp tăng xác suất nhãn đúng để dịch chuyển sang nghiệm có trọng số nhỏ hơn
  • Sự sụt giảm đột ngột của loss trên tập kiểm tra khiến ta có cảm giác như mô hình bỗng nhiên chuyển sang khái quát hóa
  • Nhưng nếu nhìn vào các trọng số trong lúc huấn luyện, phần lớn chúng thực ra nội suy mượt mà giữa nghiệm ghi nhớ và nghiệm khái quát hóa
  • Sự khái quát hóa nhanh xảy ra khi những trọng số cuối cùng nối với các vị trí gây nhiễu bị loại bỏ bởi weight decay

Những điều kiện để Grokking xuất hiện

  • Grokking không phải lúc nào cũng xuất hiện mà là hiện tượng phụ thuộc điều kiện như kích thước mô hình, weight decay và kích thước dữ liệu
  • Nếu weight decay quá nhỏ, mô hình không thể thoát khỏi việc overfit dữ liệu huấn luyện
  • Khi tăng decay lên hơn nữa, mô hình sẽ ghi nhớ trước rồi mới khái quát hóa
  • Nếu tăng mạnh hơn nữa, loss kiểm tra và loss huấn luyện cùng giảm và mô hình khái quát hóa ngay từ đầu
  • Với decay quá lớn, mô hình sẽ không học được gì cả
  • Trong bài toán 0/1, hơn 1.000 mô hình đã được huấn luyện với các hyperparameter khác nhau, và để tính đến nhiễu huấn luyện, mỗi tổ hợp hyperparameter đều được chạy với 9 mô hình

Nghiệm cộng mô-đun bằng năm nơ-ron

  • Cộng mô-đun là một bài toán tuần hoàn, trong đó khi tổng vượt quá 67 thì nó quay vòng trở lại
  • Nếu đặt các số đầu vào thành những điểm trên một đường tròn, ta có thể phản ánh trực tiếp tính tuần hoàn này vào bên trong cấu trúc mô hình
    • Ma trận embedding được tạo bằng cách tính các giá trị sincos cho từng số đầu vào có thể có
  • Trong MLP 1 tầng với điểm khởi đầu như vậy, nếu chỉ huấn luyện một số ma trận nhất định thì có thể tìm ra nghiệm đạt độ chính xác hoàn hảo chỉ với 5 nơ-ron
  • Khi nhìn vào các tham số đã huấn luyện, các nơ-ron hội tụ về độ lớn gần như giống nhau, và nếu vẽ các thành phần sin·cos thì chúng nằm gần như cách đều nhau trên đường tròn
  • Nếu nối các nơ-ron kề nhau, phía unembedding cho thấy một mẫu trong đó nó quay quanh đường tròn nhanh gấp đôi phía embedding
  • Cấu hình này cung cấp một nghiệm 20 tham số để giải phép cộng mô-đun

Cùng một thuật toán bên trong MLP 1 tầng lớn hơn

  • Mô hình ban đầu với 3.216 tham số được huấn luyện từ đầu và khởi đầu không có sẵn tính tuần hoàn
  • Không giống nghiệm nhỏ được dựng thủ công, mô hình này dùng nhiều tần số
  • Có thể dùng biến đổi Fourier rời rạc (DFT) để tách các mẫu tuần hoàn đã học trên toàn bộ đầu vào
    • Với mỗi nơ-ron, ta thu được các giá trị sincos cho những tần số chu kỳ khả dĩ từ 1 đến 33
    • Các nơ-ron có thể được nhóm theo tần số mà giá trị sin·cos của chúng lớn nhất
  • Mô hình càng khái quát hóa thì weight decay càng làm biểu diễn này trở nên thưa hơn
  • Nếu nhóm các nơ-ron theo tần số cuối cùng rồi vẽ các thành phần DFT, sẽ xuất hiện hình ngôi sao giống như trong cấu hình năm nơ-ron
  • Mô hình đã huấn luyện sử dụng cùng một thuật toán với nghiệm được dựng thủ công
    • Khi xem đóng góp đầu ra của từng nhóm nơ-ron theo tần số, ta thấy chúng tạo ra dạng sóng tương ứng với phép tính a + b mod 67
    • Sau một giai đoạn chững ngắn quanh 45.000 bước, khi loss kiểm tra bắt đầu cải thiện thì nhóm nơ-ron ở tần số 7 sắp xếp thành hình ngôi sao và đầu ra trở nên gần với dạng sóng hơn
  • Mô hình dùng nhiều tần số để giảm loss mà không cần dùng trọng số lớn hơn, tận dụng giao thoa tăng cường
  • Bản thân các tần số 4, 5, 7, 26 không có gì đặc biệt; trong những lần huấn luyện khác, các biến thể khác của thuật toán này cũng được học ra

Những câu hỏi vẫn còn bỏ ngỏ

  • Chỉ huấn luyện trực tiếp một mô hình dạng W = W_L W_R thôi thì, ngay cả khi thêm weight decay, cũng không tạo ra khái quát hóa trong số học mô-đun
    • Ít nhất một ma trận phải được phân tích thành thừa số
    • Sau DFT, nghiệm khái quát hóa là thưa, nhưng ma trận gộp lại lại có norm lớn
    • Việc áp dụng weight decay trực tiếp lên WU không cung cấp được độ lệch quy nạp phù hợp cho bài toán này
  • Weight decay có thể đẩy nhiều mô hình rời xa việc ghi nhớ dữ liệu huấn luyện
    • Những kỹ thuật khác để tránh overfit gồm dropout, mô hình nhỏ hơn và các thuật toán tối ưu hóa không ổn định về mặt số học
    • Các cách tiếp cận này tương tác với nhau theo cách phức tạp và phi tuyến, khiến rất khó dự đoán trước cấu hình nào sẽ dẫn đến khái quát hóa
  • Một giả thuyết về lý do ghi nhớ xảy ra trước khái quát hóa là số cách để ghi nhớ tập huấn luyện có thể nhiều hơn rất nhiều so với số nghiệm khái quát hóa
    • Nếu không có regularization hoặc regularization quá yếu, về mặt thống kê khả năng ghi nhớ xảy ra trước sẽ cao hơn
    • Những kỹ thuật regularization như weight decay ưu tiên một số kiểu nghiệm nhất định, chẳng hạn nghiệm thưa thay vì nghiệm dày đặc
  • Những biểu diễn có cấu trúc tốt có thể liên quan đến khái quát hóa, nhưng không phải điều kiện cần cũng không phải điều kiện đủ
    • Một số biến thể MLP không có đầu vào đối xứng học ra các biểu diễn kém mang tính tròn hơn khi giải cộng mô-đun
    • Các mô hình nhỏ được huấn luyện không có weight decay đôi khi bắt đầu khái quát hóa rồi lại quay về ghi nhớ, ngay cả khi đang có embedding tuần hoàn
    • Ở một số hyperparameter, thậm chí có thể xảy ra chuyển đổi khái quát hóa → ghi nhớ → khái quát hóa

Khả năng diễn giải mở rộng tới các mô hình lớn hơn

  • Grokking đã được quan sát trong các bài toán thuật toán với Transformer nhỏ và MLP, và sau đó cũng được tìm thấy trong những bài toán phức tạp hơn trên dữ liệu ảnh, văn bản và dạng bảng trong các khoảng hyperparameter nhất định
  • Những mô hình lớn nhất có thể xử lý nhiều loại nhiệm vụ có khả năng đang grokking nhiều thứ khác nhau với các tốc độ khác nhau trong quá trình huấn luyện
  • Cũng có những kết quả nhằm dự đoán trước khi grokking thực sự xảy ra
    • Một số phương pháp đòi hỏi phải biết nghiệm khái quát hóa hoặc toàn bộ miền dữ liệu
    • Một số phương pháp chỉ dùng phân tích loss huấn luyện và có thể áp dụng cho các mô hình lớn hơn
  • Một hướng đi trong tương lai là lặp lại việc dùng các mô hình đơn giản hơn
    • Huấn luyện các mô hình đơn giản với độ lệch quy nạp mạnh hơn và ít thành phần chuyển động hơn
    • Dùng chúng để giải thích những phần khó diễn giải trong các mô hình lớn
    • Nếu cần, lặp lại quá trình này
  • Cách tiếp cận khả năng diễn giải cơ học như vậy có thể giúp nhận diện hoặc tự động hóa những mẫu cho phép tìm ra các thuật toán mà mạng nơ-ron đã học

1 bình luận

 
GN⁺ 2023-08-11
Ý kiến trên Hacker News
  • Lý do trí nhớ con người đáng kinh ngạc có lẽ là vì tuy không có dung lượng lưu trữ như máy móc, nhưng lại có khả năng nén mẫu hình, tức lưu trữ thông tin sau khi rút gọn rất nhiều
    Nó lại tiếp tục gom các mẫu hình đó với những mẫu hình khác để nén, rồi rút ra điều gì đó từ đó; đây là dạng nén mất mát cực mạnh, nhưng vẫn đạt được mục đích

    • Không hẳn là vậy. Cũng có nghiên cứu cho rằng dung lượng lưu trữ của não dường như không có giới hạn trên mà chúng ta có thể chạm tới
      Não chủ động chưng cất những kiến thức không cần phải ghi nhớ theo nghĩa đen thành các yếu tố cốt lõi, gần với việc tránh overfitting và đạt được “trực giác và hiểu biết đã được khái quát hóa” hơn
      Tham khảo: https://www.scientificamerican.com/article/new-estimate-boosts-the-human-brain-s-memory-capacity-10-fold/
    • Cũng có những người hiếm hoi nhớ được mọi thứ
      https://youtu.be/hpTCZ-hO6iI
    • Về trí nhớ liên tưởng và nền tảng toán học của nó, có thể xem Hopfield Neural Networks
      Về mặt kỹ thuật, giới hạn trên là “vô hạn”, nhưng giữa số khái niệm được lưu trữ và lượng thông tin nền tảng có thể lưu trên mỗi khái niệm tồn tại một quan hệ đánh đổi, tương tự các nguyên lý đánh đổi khác như nguyên lý bất định
    • Mạng nơ-ron nhân tạo hoạt động khá giống thuật toán nén về mặt khả năng dự đoán tương lai. Mạng đã học không lưu trữ dữ liệu đã nén, mà gần với chính thuật toán nén hơn
      Tôi không biết não động vật có theo cùng cách đó hay không, nhưng tôi nghi ngờ rằng nó chủ yếu là một thuật toán nén để dự đoán và không lưu trữ nhiều dữ liệu tự thân
    • Trong các lớp toán và vật lý, sau khi hiểu khái niệm chung, việc suy ra công thức từ những sự kiện khác dễ nhớ hơn thay vì học thuộc công thức đã thực sự hữu ích
      Hình học rất tốt cho kiểu rèn luyện này, và cũng thường hữu ích trong các chứng minh vật lý
  • Điểm mấu chốt có vẻ là weight decay giúp học các biểu diễn “thật” hơn thay vì các biểu diễn bị overfit bằng cách khuyến khích tính thưa
    Trong quá trình phát triển, não người cũng xuất hiện rộng rãi một cơ chế trông tương tự là cắt tỉa synapse. Tôi muốn nghe từ chuyên gia trong ngành xem liệu đây có phải nguồn cảm hứng cho weight decay, hay trực tiếp hơn là cắt tỉa mạng nơ-ron hay không

    • Với tư cách là nhà nghiên cứu machine learning, xin đính chính: L1 mới là thứ khuyến khích tính thưa. Weight decay về mặt tường minh là L2, nên không khuyến khích tính thưa; đây là một hiểu lầm phổ biến
      Lý do weight decay hoạt động là khi được áp dụng như regularization, nó khiến mạng tiến gần hơn đến minimum description length (MDL), qua đó giảm regret trong quá trình học. Nó có liên quan ở mức nào đó tới việc cắt tỉa trong não, nhưng não dường như về cơ bản dùng tính thưa để tạo ra biểu diễn chứ không phải để nén, nên thực ra gần như là một mô-típ khác. Có thể nghĩ tới thiên lệch ngầm định của các biểu diễn khác nhau, và tác động kéo theo của chúng lên những biểu diễn đã học hoặc có thể học được
    • Cảm hứng của weight decay là giảm khả năng ghi nhớ của mô hình để khớp chính xác với độ phức tạp của tác vụ. Phức tạp hơn tác vụ thì overfitting, kém phức tạp hơn thì underfitting, nên cần cân bằng hai bên
      Nhưng cách chữa overfitting tốt nhất là mở rộng dataset và bảo đảm độ đa dạng dữ liệu. LLM thường chỉ học một epoch vì dataset quá lớn
    • Não người có cắt tỉa synapse. Mục đích chính xác mới chỉ được lý thuyết hóa chứ chưa thực sự được hiểu, và cho rằng có một cơ chế tương tự nào đó giữa LLM và não người là một bước nhảy vọt khổng lồ
    • Theo tôi biết, weight decay bắt nguồn từ L2 regularization, mà có thể truy ngược đến hồi quy tuyến tính. L2 regularization tương đương với việc đặt một phân bố tiên nghiệm Gaussian có trung bình 0 lên các trọng số
      L1 regularization tạo ra tính thưa nhiều hơn hẳn, nhưng hiệu năng thì không tốt bằng
  • Phía AI đang làm hỏng từ grok
    Ban đầu nó đại khái có nghĩa là “hiểu một cách hoàn toàn, trọn vẹn”, nên dùng cùng từ đó cho việc khái quát hóa nghĩa là chưa grok được grokking

    • Trong AI, “grok” không đơn thuần có nghĩa là khái quát hóa mà cụ thể hơn. Nó gần với “khái quát hóa bị trì hoãn và khá đột ngột”
      Hiện tượng này cũng đã được thảo luận trong phần bình luận của một bài viết đề xuất gọi nó là “sự phục hồi cuối cùng khỏi overfitting”: https://www.lesswrong.com/posts/GpSzShaaf8po4rcmA/qapr-5-grokking-is-maybe-not-that-big-a-deal
    • Từ góc nhìn của một fan SF, “grok” là từ mà Valentine Michael Smith chuyển tiếng Sao Hỏa sang cho phù hợp với tai và dây thanh của con người, và nghĩa chỉ định chính xác của nó là “uống”
      Nghĩa hàm ý trải từ “hít/uống sâu vào” theo nghĩa đen hoặc nghĩa bóng cho đến việc tiêu thụ thi thể vắng mặt của người mình yêu. Rất khuyên đọc Stranger in A Strange Land, và nên chọn bản tái bản không cắt xén ra khoảng năm 1990
    • Ở đây họ chỉ định nghĩa grokking theo cách khác
      Nó gợi ra các yếu tố như hiểu trực giác và sự gia tăng hiểu biết đột ngột, lớn lao, nên trông khá hợp lý; điều đó cũng giống với thay đổi xảy ra trong loss
    • Tôi thật sự không hiểu sự khác biệt mà họ muốn tạo ra giữa hai cách dùng này
    • Tôi luôn nghĩ điều quan trọng khi grok một thứ gì đó là hiểu bằng trực giác hơn là tính hoàn chỉnh
  • Không biết tôi nhớ có đúng không, nhưng trong cuộc phỏng vấn Raphaël Millière trên Mindscape, hình như ông ấy nói rằng khi mô hình machine learning có nhiều chiều hơn, ranh giới giữa nội suy và ngoại suy không còn rõ ràng như trong miền mà chúng ta thường suy luận
    Tôi không chắc đây có phải câu chuyện tương tự với điều bài viết này đang bàn hay không

  • Tôi tò mò không biết những biểu đồ đó được tạo ra như thế nào
    Có vẻ như chúng được tạo khoảng một nửa bằng thư viện nào đó rồi được tinh chỉnh thủ công, và SVG động được tạo ra trông rất đẹp

  • Nếu muốn tìm hiểu chi tiết về chủ đề này thì nên đọc bài trên máy tính. Có dữ liệu trực quan hóa không thể khám phá trên di động

  • Trước hết, đây là một bài blog hay với nhiều ví dụ xuất sắc, làm tôi nhớ đến distill.pub ngày trước
    Như bài viết nói đúng, thông thường khi dùng suy giảm trọng số L2 sẽ tạo ra nhiều trọng số có độ lớn nhỏ. Tôi tự hỏi nếu muốn một mô hình tổng quát hóa tốt hơn thì có phải luôn nên dùng suy giảm trọng số L1 để thúc đẩy tính thưa và huấn luyện lâu hơn không. Tôi cũng thắc mắc liệu các mô hình deep learning chỉ dùng đặc trưng Fourier thưa thay vì các tầng tuyến tính dày đặc có thể hoạt động tốt hơn không

    • Trả lời ngắn gọn: nếu đầu vào có thể được biểu diễn tốt bằng cơ sở Fourier thì đúng là vậy. Tôi đang làm thủ tục xin bằng sáng chế về chủ đề này nên đang hy vọng mọi việc suôn sẻ
      Nói dài hơn, các mô hình deep learning thường cố tìm một cơ sở phi tuyến tối ưu để biểu diễn đầu vào. Nếu đầu vào có thể được biểu diễn tốt, tức là thưa, trong một cơ sở nào đó đã biết trước, thì việc đưa nó lên cơ sở đó, như FFT tín hiệu RF, thường sẽ hữu ích. Tuy nhiên, cơ sở tối ưu toàn cục có thể khác với bất kỳ cơ sở nào của một cực tiểu cục bộ, nên cần mẹo để đẩy mạng về phía đó
    • Có liên quan đôi chút, hàm kích hoạt ReLU vốn khuyến khích tính thưa được dùng rất thường xuyên trong mạng nơ-ron
  • Tôi tự hỏi hàm mục tiêu đại diện đến mức nào
    Việc muốn mô hình học được phần quan trọng của đầu vào là chuyện phổ biến, nhưng chỉ chú ý đến ba bit đầu tiên trong chuỗi bit thì có vẻ khá gượng ép. Tôi không rõ đây là huấn luyện một bảng chân trị với kích thước tham số liên quan là 8 bằng 4,8 triệu mẫu, hay là tôi đang hiểu nhầm điều gì đó

    • Tôi từng thấy mẫu này trong các tác vụ thị giác máy tính. Độ chính xác huấn luyện đi ngang một thời gian rồi độ chính xác kiểm thử bắt đầu tăng lên
      Lý do dùng một tác vụ đơn giản là để khi chuyện như vậy xảy ra, ta có thể diễn giải được bên trong đang diễn ra điều gì
  • HTML không có feed tự động phát hiện RSS/Atom, cũng không có liên kết feed RSS, nhưng bằng cách đoán tên và vị trí feed có thể có, tôi đã tìm được feed RSS “Explorables”: https://pair.withgoogle.com/explorables/rss.xml

  • Trông giống tế bào lưới
    https://en.wikipedia.org/wiki/Grid_cell
    Nếu vẽ heatmap của các nơ-ron ở tầng ẩn trên biểu đồ 2D với một trục là $a$ và trục kia là $b$, tôi nghĩ sẽ xuất hiện một lưới tam giác. Nếu nó hoạt động theo cách tôi nghĩ, khi nhìn vào các nơ-ron ẩn khác sẽ thấy một lưới khác với hướng và tỉ lệ khác. Ghép những thứ này lại với nhau thì cũng có thể tạo ra một bộ cộng cơ số 67. Tôi cũng khó gạt bỏ trực giác rằng mối quan hệ giữa các nơ-ron W_in-proj và mối quan hệ giữa các nơ-ron W_out-proj giống với ánh xạ giữa vòng nửa cung và vòng quãng năm
    https://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Pitch_class_space_star.svg/220px-Pitch_class_space_star.svg.png