- DiffLogic CA는 Neural Cellular Automata와 Differentiable Logic Gate Networks를 결합해, 이산 셀 상태를 유지하면서도 경사 기반으로 지역 규칙을 학습하는 셀룰러 오토마타 접근법임
- 각 셀은 n차원 이진 벡터 상태를 갖고, 인지 단계와 업데이트 단계 모두 로직 게이트 네트워크로 처리해 다음 상태를 직접 계산함
- Conway의 Game of Life 실험에서는 3x3 주기 격자의 512개 구성을 한 스텝 학습해 전체 규칙을 익혔고, 하드 추론에서도 glider, block, loaf, boat 같은 대표 패턴을 재현함
- 패턴 생성 실험은 16x16 체크보드를 20스텝에 만들고, 4배 큰 격자와 4배 긴 시간에서도 작동했으며, 손상된 셀에 대한 내결함성과 재활성화 후 자기 복구를 보임
- 더 복잡한 lizard 윤곽과 8색 RGB G도 생성했지만, 복잡한 구조 학습에는 많은 하이퍼파라미터 튜닝이 필요했고 계층형 NCA와 LSTM 유사 게이트가 개선 후보로 남음
DiffLogic CA가 겨냥한 문제
- 셀룰러 오토마타는 보통 지역 규칙을 먼저 정하고, 그 결과로 나타나는 창발 패턴을 관찰하는 방식으로 다뤄짐
- DiffLogic CA는 원하는 복잡한 패턴이 있을 때, 그 패턴을 만드는 지역 규칙을 완전 미분 가능한 방식으로 학습하는 방법을 탐색함
- 기존 Neural Cellular Automata는 임의의 패턴과 행동을 학습할 수 있지만, 본질적으로 이산 상태 공간에서 동작하지 않아 해석성이 낮아지고 연속 상태 업데이트에 행렬 곱 비용이 듦
- Differentiable Logic Gate Networks는 조합 논리 회로 발견에 쓰였지만, 공간과 시간 양쪽에서 재귀적인 NCA 설정에서는 아직 동작이 입증되지 않았음
- 전체 실험은 노트북에서 재현할 수 있음
Neural Cellular Automata의 기본 구조
- Neural Cellular Automata는 고전적인 셀룰러 오토마타에 딥러닝을 결합해, 손으로 규칙을 설계하는 대신 경사 하강법으로 업데이트 규칙을 학습함
- Growing-NCA의 각 셀은 2D 격자 위에서 n차원 상태 벡터를 가짐
- RGB 3채널은 셀의 색을 나타냄
- Alpha 채널은 셀의 생존성을 나타내며, alpha 값이 0.1보다 크면 살아 있는 셀로 간주됨
- 나머지 hidden channel은 주변 환경에 대한 더 복잡한 정보를 전달함
- 업데이트는 두 단계로 이뤄짐
- 인지 단계: Sobel filter를 채널별로 적용해 공간 기울기를 근사하고, 셀의 현재 상태와 주변 정보를 합친 perception vector를 만듦
- 업데이트 단계: 약 8,000개 파라미터를 가진 신경망이 모든 셀에 동일하게 적용되어 각 셀이 어떻게 변할지 결정함
- 모든 연산이 미분 가능하므로, 시스템 전체가 특정 패턴이나 행동을 학습할 수 있음
Differentiable Logic Gate Networks의 방식
- Deep Differentiable Logic Gate Networks는 인공 뉴런 대신 AND, OR, XOR 같은 로직 게이트를 기본 단위로 사용함
- 네트워크는 게이트 층으로 구성되며, 각 게이트는 이전 층의 두 게이트에서 입력을 받는 희소 구조를 가짐
- 연결은 무작위로 초기화된 뒤 학습 중 바뀌지 않고, 학습은 각 게이트가 어떤 논리 연산을 수행할지만 결정함
- 학습 중에는 이산 로직 게이트를 그대로 쓰지 않고 두 가지 장치를 사용함
- 연속 완화: hard AND 같은 이산 연산을 0과 1 사이 입력을 받는 미분 가능한 버전으로 대체함
- 확률적 게이트 선택: 각 게이트가 두 입력에 대한 16가지 가능한 이진 연산 위의 확률 분포를 갖고, softmax로 표현된 16차원 파라미터를 학습함
- 학습이 끝나면 각 게이트는 가장 확률이 높은 연산으로 고정되고, 추론 시에는 순수 이진 연산만 수행함
- 학습 안정성을 위해 초기 게이트 분포는 pass-through 게이트 쪽으로 치우치게 설정됨
DiffLogic CA의 구조
- DiffLogic CA는 NCA의 2D 격자 구조를 따르지만, 각 셀의 상태를 n차원 이진 벡터로 표현함
- 셀 상태와 채널은 같은 의미로 쓰이며, 이진 상태 벡터는 이전 반복의 정보를 저장하는 작업 메모리 역할을 함
- 인지 단계는 Sobel filter 대신 로직 게이트 네트워크 기반 커널을 사용함
- 각 커널은 고정된 연결 구조를 가진 별도 회로이고, 게이트 종류는 학습됨
- 커널은 채널별로 계산됨
- 각 회로는 중심 셀과 이웃 셀 간 상호작용을 계산하도록 설계된 4개 층을 사용함
- 업데이트 단계는 셀의 이전 메모리와 이웃에게서 받은 정보를 이어 붙인 입력을 Differentiable Logic Gate Network에 넣어 새 상태를 계산함
- 표준 NCA처럼 상태를 점진적으로 더하는 ODE식 업데이트가 아니라, 다음 이진 상태를 직접 출력함
- 한 라운드의 동작은 두 레지스터로 볼 수 있음
- 회색 레지스터에는 기존 셀 상태가 있음
- 주황색 레지스터에는 인지 단계 결과가 저장됨
- 업데이트 후 새 상태는 회색 레지스터에 쓰이고, 주황색 레지스터는 다음 라운드를 위해 비워짐
- 이 구조는 각 셀이 이웃과 통신하고 관찰 결과로 결정을 내리는 작은 독립 컴퓨터들의 네트워크처럼 동작함
실험 1: Conway의 Game of Life 학습
- Game of Life는 각 셀이 8개 이웃의 상태와 자신의 현재 상태에 따라 다음 세대에서 살거나 죽는 이진 셀룰러 오토마타임
- 규칙은 네 가지임
- 죽은 셀은 정확히 3개의 살아 있는 이웃이 있으면 다음 세대에 살아남
- 살아 있는 셀은 2개 또는 3개의 살아 있는 이웃이 있으면 생존함
- 살아 있는 셀은 이웃이 2개보다 적으면 죽음
- 살아 있는 셀은 이웃이 3개보다 많으면 죽음
- 이 실험은 이전 상태 반복에 의존하지 않는 규칙을 대상으로 하므로, 셀 상태는 1비트로 설정됨
- 모델 구성은 다음과 같음
- 인지 회로 커널 16개
- 각 인지 커널의 노드 구조는
[8, 4, 2, 1] - 업데이트 네트워크는 23개 층
- 처음 16개 층은 각각 128개 노드
- 이후 층은
[64, 32, 16, 8, 4, 2, 1]
- 학습 데이터는 3x3 주기 격자에서 가능한 512개 구성 전체를 포함함
- 각 셀의 다음 상태는 자신과 8개 이웃으로 결정되므로 3x3 구성은 512가지임
- 한 스텝의 다음 상태를 모두 맞히면 Game of Life 전체 규칙을 학습한 것과 같음
- 손실 함수는 예측 격자와 정답 격자의 제곱 차이를 합산함
- soft loss와 hard loss가 모두 완전히 수렴했고, 하드 추론에서 학습된 회로는 더 큰 격자에서도 Game of Life 패턴을 재현함
- 활성 게이트 수는 pass-through A와 B를 제외하고 336개였으며, 인지 네트워크와 업데이트 네트워크에서 OR와 AND가 가장 자주 사용됨
- 생성된 회로는 Game of Life 회로로 직접 상호작용할 수 있음
실험 2: 체크보드 패턴 생성
- 패턴 생성 실험은 임의 초기 상태에서 목표 이미지로 진화하는 규칙을 학습하도록 설정됨
- 손실은 마지막 타임스텝에서만 계산되므로, 모델은 중간 단계별 감독 없이 이산 전이 규칙을 찾아야 함
- 셀 상태는 8비트이고, DiffLogic CA는 20스텝 반복됨
- 모델 구성은 다음과 같음
- 인지 회로 커널 16개
- 각 커널은 층별로 8, 4, 2개의 게이트를 가짐
- 업데이트 네트워크는 16개 층
- 처음 10개 층은 각각 256개 게이트
- 이후 층은
[128, 64, 32, 16, 8, 8]
- 손실 함수는 마지막 타임스텝에서 예측 격자의 첫 번째 채널과 목표 격자 간 제곱 차이의 합임
- 모델은 16x16 체크보드 패턴을 20스텝 안에 복원하도록 학습됨
- soft loss와 hard loss가 모두 수렴했고, 첫 번째 채널에서 명확한 패턴 형성이 나타남
- 모델에는 내장된 방향 편향이 없었지만, 패턴이 왼쪽 아래에서 오른쪽 위로 전파되는 성질이 나타남
- 활성 게이트 수는 pass-through A와 B를 제외하고 22개였고, 가지치기 후 전체 체크보드 생성 함수는 실질적으로 5개 로직 게이트로 구현 가능했음
- 4배 큰 격자와 4배 긴 시간으로 확장해도 회로가 작동했으며, 학습된 규칙은 특정 격자 크기에만 과적합된 형태가 아니었음
손상, 자기 복구, 비동기 업데이트
- 체크보드 실험에서는 일부 셀이 고장 난 상황을 가정해 두 가지 손상 실험을 수행함
- 큰 영역의 셀을 영구적으로 비활성화해 결함 부품을 시뮬레이션함
- 일정 스텝 이후 비활성 셀을 다시 활성화함
- 시스템은 영구 손상 상황에서도 패턴 무결성을 유지했고, 비활성 셀이 다시 온라인 상태가 된 뒤에는 올바른 패턴을 다시 생성함
- 내결함성과 자기 복구를 명시적으로 설계하지 않았는데도, 손상이 국소화되고 전체 기능이 급격히 붕괴하지 않는 동작을 보임
- 비동기 업데이트 실험에서는 모든 셀을 동시에 업데이트하지 않고, 각 스텝에서 무작위 셀 부분집합만 업데이트함
- 비동기 학습은 기존 NCA보다 어려울 것으로 예상됐음
- 각 스텝에서 증분이 아니라 전체 새 상태를 출력해야 함
- 주변 셀들이 서로 다른 단계만큼 앞서거나 뒤처진 조합을 처리해야 함
- 체크보드에서는 비동기 학습이 비교적 쉽게 성공했고, 같은 초기 상태에서 서로 다른 업데이트 순서를 써도 50스텝 안에 목표 패턴을 재구성함
- 동기 학습된 기존 규칙을 비동기 추론에 적용해도 작동함
- 매 추론 타임스텝마다 이미지 영역 안의 10x10 픽셀 사각형을 무작위 비활성화하는 테스트에서, 비동기 학습된 셀이 손상에서 조금 더 빠르게 회복함
- 목표와 재구성 이미지의 절대 차이 합으로 오류를 측정했을 때, 비동기 학습은 이러한 교란에 대한 견고성을 높였음
실험 3: lizard 윤곽 성장
- lizard 실험은 원래 NCA 작업에 대한 오마주로, DiffLogic CA가 임의 형태를 학습할 수 있는지 확인함
- 체크보드처럼 고도로 압축 가능한 규칙적 패턴이 아니라, lizard 윤곽은 더 많은 암기를 요구함
- 설정은 다음과 같음
- 셀 상태는 128비트
- DiffLogic CA는 12스텝 반복됨
- 인지 회로 커널은 4개
- 각 커널은 층별로 8, 4, 2, 1개의 게이트를 가짐
- 업데이트 네트워크는 10개 층
- 처음 8개 층은 각각 512개 게이트
- 마지막 층들은
[256, 128]
- 모델은 20x20 lizard 패턴을 12스텝 안에 생성하도록 학습됨
- 초기 조건은 NCA처럼 대칭을 깨기 위한 중앙 seed이며, 격자 가장자리에는 주기 경계 조건이 적용됨
- 40x40 더 큰 격자에서 평가했을 때도 lizard 성장 패턴을 성공적으로 생성해, 경계 조건을 이용한 해법이 아니었음을 보임
- soft loss와 hard loss가 모두 0으로 수렴함
- 활성 게이트 수는 pass-through A와 B를 제외하고 577개였음
- 인지 커널은 TRUE 게이트를 주로 사용했고, 업데이트 회로는 사용 가능한 거의 모든 게이트를 사용함
- 복잡한 패턴 생성 학습은 최적화가 어렵고 광범위한 하이퍼파라미터 튜닝이 필요했음
실험 4: 색이 있는 G 생성
- 이전 실험들이 사실상 단색 이미지에 집중했기 때문에, 더 복잡한 목표 상태로 16x16 색상 이미지를 생성하는 실험을 진행함
- 셀 상태는 64채널이고, 모델은 15스텝 동안 색이 있는 알파벳 G를 생성함
- 첫 세 채널은 표준 NCA 관례처럼 RGB 값을 나타내지만, 여기서는 각 값이 0 또는 1인 이진 표현으로 제한되어 8가지 색상 팔레트를 만듦
- 모델 구성은 다음과 같음
- 인지 회로 커널 4개
- 각 커널은 8, 4, 2개 게이트를 가진 3개 층으로 구성됨
- 업데이트 네트워크는 11개 층
- 처음 8개 층은 각각 512개 노드
- 마지막 3개 층은
[256, 128, 64]
- 초기 상태는 완전히 0이고, 주기 경계 조건은 사용하지 않음
- 손실 함수는 마지막 타임스텝에서 첫 세 채널인 0, 1, 2번 채널만 대상으로 예측 격자와 목표 격자의 제곱 차이를 합산함
- soft loss와 hard loss가 수렴했고, 모델은 15스텝 안에 색이 있는 G를 재구성함
- 활성 게이트 수는 pass-through A와 B를 제외하고 927개였음
- TRUE와 FALSE 게이트가 인지 네트워크와 업데이트 네트워크 양쪽에서 많이 사용됐고, 업데이트 네트워크에서는 OR 게이트가 가장 많이 사용됨
- 이 회로는 이전 실험보다 하이퍼파라미터 탐색과 회로 크기 양쪽에서 더 복잡했음
남은 과제와 개선 방향
- DiffLogic CA는 완전 이산 셀 상태를 사용하고, 학습된 재귀 이진 회로로 상태를 업데이트하는 새로운 NCA 구조와 학습 방식을 제안함
- 신경망 구성 요소를 Deep Differentiable Logic Networks로 대체해, 이산 로직 게이트에 미분 가능 학습의 유연성을 결합함
- Game of Life 복제와 패턴 생성 실험은 미분 가능 로직 게이트가 셀룰러 오토마타에 적용될 수 있음을 보임
- 결과적으로 Differentiable Logic Gate Networks가 재귀 구조에서도 효과적으로 학습될 수 있음을 확인함
- 현재 모델은 패턴 학습 가능성을 보였지만, 더 복잡한 형태와 구조를 생성하는 학습은 여전히 어려움
- 개선 방향으로는 계층형 NCA 구조와 상태 망각을 돕는 특수 게이트가 제안됨
- LSTM 유사 게이팅 메커니즘을 상태 업데이트 과정에 통합하면, 과거 상태와 새로 계산된 후보 상태를 더 풍부하게 조합해 모델 동역학과 표현력을 높일 수 있음