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
Related Papers
Is One Layer Enough? A Single Transformer Layer Matches Full-Parameter RL Train
LLM의 RL 후처리 학습(post-training)에서 성능 향상의 대부분이 중간 레이어 소수에 집중되며, 단 하나의 레이어만 학습해도 전체 파라미터 학습과 비슷하거나 더 나은 결과를 낼 수 있다는 연구 결과. 이는 RL 학습 비용을 대폭 줄일 수 있는 가능성을 시사한다.
Knowledge Distillation of Black-Box Large Language Models (2024)
GPT-4 같은 내부 구조에 접근할 수 없는 독점 LLM에서 작은 모델로 지식을 효과적으로 전달하는 Proxy-KD 기법을 소개하는 논문으로, 전통적인 White-Box 방식보다 성능이 높다는 점에서 주목할 만하다.
Show HN: NanoEuler – GPT-2 scale model in pure C/CUDA from scratch
PyTorch나 autograd 없이 C와 CUDA만으로 GPT-2 수준의 LLM을 처음부터 구현한 교육용 프로젝트로, 역전파·BPE 토크나이저·FlashAttention까지 직접 손으로 작성했다.
The annotated PyTorch training loop
PyTorch 학습 루프의 각 코드 줄이 왜 그 위치에 있어야 하는지, 순서를 바꾸거나 빠뜨렸을 때 어떤 문제가 생기는지를 단계별로 설명한 심층 가이드다.
When Good Verifiers Go Bad: Self-Improving VLMs Can Regress on New Tasks
VLM 자가학습 루프에서 verifier가 특정 태스크에 맞지 않으면 학습할수록 오히려 성능이 떨어지는데, DPO 손실값은 멀쩡히 내려가서 눈치채기도 어렵다.
The Role of Feedback Alignment in Self-Distillation
LLM이 스스로를 가르칠 때, 피드백을 모델의 추론 흐름에 단계별로 맞추면 GRPO보다 16점 이상 수학 추론 성능이 오른다.