Neural Particle Automata: 자기조직화 파티클 시스템을 학습하는 신경망 모델
Show HN: Neural Particle Automata
TL;DR Highlight
고정된 격자 대신 움직이는 파티클 위에서 동작하는 Neural Cellular Automata의 확장 버전으로, 형태 생성·포인트 클라우드 분류·텍스처 합성 등 다양한 작업에서 자기조직화 동작을 학습할 수 있다.
Who Should Read
자기조직화 시스템, 물리 시뮬레이션, 또는 생성 모델에 관심 있는 ML/그래픽스 연구자 및 개발자. 특히 NCA(Neural Cellular Automata)나 파티클 기반 시뮬레이션을 프로젝트에 적용해보고 싶은 사람에게 적합하다.
Core Mechanics
- NPA(Neural Particle Automata)는 NCA(Neural Cellular Automata, 격자에 고정된 셀들이 국소 규칙으로 상태를 업데이트하는 신경망 모델)를 픽셀/복셀 격자에서 벗어나 자유롭게 움직이는 파티클 시스템으로 일반화한 것이다. EPFL과 KAIST 공동 연구로 SIGGRAPH 2026에 게재 예정이다.
- 기존 NCA는 오일러(Eulerian) 방식으로 셀이 격자에 고정되어 있는 반면, NPA는 라그랑주(Lagrangian) 방식을 채택해 각 셀이 연속적인 위치와 내부 상태를 가진 파티클로 표현된다. 두 값 모두 공유된 학습 가능한 신경망 규칙으로 업데이트된다.
- 파티클 시스템의 가장 큰 문제는 이웃 관계가 매 스텝마다 바뀌고, 단순 구현 시 파티클 수에 대해 O(N²) 계산 복잡도가 발생한다는 것이다. 이를 해결하기 위해 유체 시뮬레이션에서 쓰이는 SPH(Smoothed Particle Hydrodynamics, 커널 함수로 이웃 파티클 정보를 가중 평균하는 기법) 연산자를 미분 가능하게 구현했다.
- SPH 인식(perception) 단계에서 각 파티클은 지지 반경 ε 내의 이웃 파티클로부터 밀도(ρ), 스무딩된 상태(S̃), 밀도 기울기(∇ρ), 모멘트 행렬(M) 등을 추정해 로컬 인식 벡터를 만든다. 이것이 격자 기반 NCA의 합성곱 인식(convolutional perception)에 해당하는 역할을 한다.
- 상태 기울기 추정에서 0차 추정은 이웃과의 상태 차이(Sj - Si)를 쓰는데, 파티클이 불균일하게 분포하면 편향이 생긴다. 1차 보정은 모멘트 행렬 M의 역행렬을 곱해 국소 기하학적 왜곡을 정규화함으로써, 이웃이 충분히 있을 때 선형 필드에 대해 정확한 기울기를 추정한다.
- SPH 연산을 위한 메모리 효율적인 CUDA 커널을 직접 구현해 엔드투엔드 학습이 가능하게 했다. 이를 통해 파티클 수가 많아져도 확장 가능한 학습이 된다.
- NPA는 형태 생성(morphogenesis), 포인트 클라우드 분류, 파티클 기반 텍스처 합성 등 다양한 태스크에서 테스트됐고, 기존 NCA의 강점인 견고성(robustness)과 재생성(regeneration) 능력을 유지하면서도 파티클 특유의 새로운 동작(heterogeneous dynamics, 활동 영역에 집중된 계산 등)을 추가로 보여줬다.
- 데모에서 패턴을 충분히 파괴하면 복원이 안 되는 현상이 확인됐는데, 이는 NCA 계열 모델의 재생성 한계를 보여주는 사례다. 파티클 수는 기본 4096개이며, 브러시로 직접 인터랙션할 수 있는 웹 데모를 제공한다.
Evidence
- cells2pixels(https://cells2pixels.github.io/)와의 관계를 묻는 질문이 있었다. 이 프로젝트도 셀 기반 자기조직화를 다루는데, NPA와의 차이점이나 연속성에 대한 명확한 답변은 댓글에 없었다.
- Michael Levin의 생체 세포 전기 통신 연구(세포들이 전기 신호로 형태를 구성하고 복원하는 메커니즘)와 외형적으로 유사하다는 흥미로운 연결점이 제기됐다. 생물학적 자기조직화와 인공 파티클 오토마타가 유사한 원리로 동작할 수 있다는 시각이다.
- 패턴을 충분히 망가뜨리면 복원이 안 된다는 실제 데모 체험담이 있었고, '새 패턴 선택 시 이미지가 초기화되지 않으면 더 재밌을 것 같다'는 UX 제안도 나왔다.
- 텍스처 합성 가능성에 대한 질문도 있었는데, 댓글에서는 파티클을 격자에 배열하거나 파티클 간 보간을 통해 저대비 영역을 활용하면 텍스처 합성에 쓸 수 있을 것 같다는 아이디어가 제시됐다.
- 최근 한 달 사이 Cellular Automata 관련 글이 10개 가량 쏟아진다며 '왜 갑자기 유행이냐'는 반응이 있었고, 3D 포인트 클라우드 실험(가우시안 스플랫 유사 실험)의 영상 데모를 요청하는 댓글도 있었다. 또한 인터랙티브 웹 데모 형식의 학술 발표가 PDF보다 훨씬 낫다는 긍정적인 반응도 있었다.
How to Apply
- 파티클 기반 물리 시뮬레이션이나 유체 시뮬레이션에 신경망을 결합하고 싶다면, NPA의 공개 GitHub 코드와 arXiv 논문을 참고해 SPH 인식 레이어를 자신의 파티클 시스템에 붙여볼 수 있다. 특히 CUDA 커널 구현이 공개돼 있어 대규모 파티클(수천 개 이상)에서도 학습 가능하다.
- 형태 생성(morphogenesis)이나 자기복원 패턴을 생성하는 프로젝트를 만들 때, NCA 대신 NPA를 쓰면 파티클이 자유롭게 이동하면서 형태를 만들 수 있어 격자 해상도에 구애받지 않는 더 유연한 표현이 가능하다.
- 포인트 클라우드 분류 모델을 개발 중이라면, NPA의 SPH 기반 이웃 인식 방식을 feature extraction 단계에 적용해볼 수 있다. 불규칙한 3D 포인트 분포에서도 미분 가능한 국소 특징 추출이 가능하기 때문이다.
- 텍스처 합성이나 절차적 생성 콘텐츠를 만드는 경우, NPA의 파티클 기반 텍스처 합성 태스크 예시를 참고해 학습 기반 텍스처 오토마타를 구현해볼 수 있다. Colab 노트북도 제공되므로 GPU 환경 세팅 없이 빠르게 실험 가능하다.
Terminology
관련 논문
레이어 하나면 충분한가? 단일 Transformer 레이어 학습이 전체 파라미터 RL 학습과 동등한 성능
LLM의 RL 후처리 학습(post-training)에서 성능 향상의 대부분이 중간 레이어 소수에 집중되며, 단 하나의 레이어만 학습해도 전체 파라미터 학습과 비슷하거나 더 나은 결과를 낼 수 있다는 연구 결과. 이는 RL 학습 비용을 대폭 줄일 수 있는 가능성을 시사한다.
Black-Box LLM에서 지식 증류하기: Proxy-KD 기법 (2024)
GPT-4 같은 내부 구조에 접근할 수 없는 독점 LLM에서 작은 모델로 지식을 효과적으로 전달하는 Proxy-KD 기법을 소개하는 논문으로, 전통적인 White-Box 방식보다 성능이 높다는 점에서 주목할 만하다.
NanoEuler – 순수 C/CUDA로 처음부터 만든 GPT-2 규모 언어 모델
PyTorch나 autograd 없이 C와 CUDA만으로 GPT-2 수준의 LLM을 처음부터 구현한 교육용 프로젝트로, 역전파·BPE 토크나이저·FlashAttention까지 직접 손으로 작성했다.
PyTorch Training Loop 완전 해부: 각 줄이 하는 일과 순서를 바꾸면 생기는 문제
PyTorch 학습 루프의 각 코드 줄이 왜 그 위치에 있어야 하는지, 순서를 바꾸거나 빠뜨렸을 때 어떤 문제가 생기는지를 단계별로 설명한 심층 가이드다.
좋은 Verifier도 망가질 수 있다: Self-Improving VLM이 새로운 태스크에서 오히려 퇴보하는 현상
VLM 자가학습 루프에서 verifier가 특정 태스크에 맞지 않으면 학습할수록 오히려 성능이 떨어지는데, DPO 손실값은 멀쩡히 내려가서 눈치채기도 어렵다.
Self-Distillation에서 Feedback Alignment의 역할
LLM이 스스로를 가르칠 때, 피드백을 모델의 추론 흐름에 단계별로 맞추면 GRPO보다 16점 이상 수학 추론 성능이 오른다.