Neural Cellular Automata (NCA)
신경 세포 자동자(NCA)는 학습된 로컬 업데이트를 사용해 패턴을 생성하고, 성장하며, 스스로 복구합니다. 그래픽과 이미지 분할 등에 활용됩니다.
신경 세포 자동자(NCA)는 격자 형태의 세포들이 공유된 학습형 로컬 규칙을 사용해 반복적으로 상태를 업데이트하는 머신러닝 모델입니다. 각 세포는 수치 정보를 저장하고 주변 세포와만 상호작용합니다. 이러한 작은 상호작용이 모여 복잡한 이미지, 패턴 또는 예측을 생성할 수 있습니다. 직관적인 발상은 세포가 협력하도록 학습시키는 것입니다. 원하는 전역 동작은 다수의 로컬 업데이트를 통해 창발합니다.
신경 세포 자동자의 작동 방식#
세포는 계산 단위이며, 흔히 픽셀이나 복셀(픽셀의 3차원에 해당하는 단위)에 대응합니다. 세포의 상태는 채널이라고 하는 숫자 벡터입니다. 일부 채널은 색상이나 분할 점수처럼 눈에 보이는 출력을 나타내고, 나머지 채널은 협응을 지원하는 숨겨진 정보를 담습니다.
각 단계에서 세포는 주변 영역(일반적으로 3×3 영역)의 정보를 수집합니다. 작은 신경망이 이 정보를 상태 업데이트로 변환합니다. 각 세포는 상태와 주변 환경이 다르더라도 동일한 네트워크 가중치를 사용합니다. 주변 정보 인식에는 로컬 변화를 측정하는 필터를 사용할 수 있으며, 학습된 네트워크는 이에 대응하는 방식을 결정합니다. 일부 구현에서는 각 단계에서 업데이트할 세포를 무작위로 선택해 동기화된 업데이트에 대한 의존성을 줄입니다.
반복 업데이트를 통해 정보가 바로 인접한 영역 너머로 전달됩니다. 세포가 전체 격자를 직접 살펴볼 수는 없지만, 주변 세포를 통해 전파된 정보를 받을 수 있습니다. 확장되는 수용 영역은 로컬 연산이 어떻게 조정된 대규모 동작을 만들어 내는지 설명하는 데 도움이 됩니다.
NCA의 성장 및 재생 학습 방식#
학습은 여러 단계가 지난 후 원하는 결과를 생성하도록 업데이트 규칙을 가르칩니다. 활성 시드 세포 하나 또는 숨겨진 채널이 추가된 이미지와 같은 초기 상태에서 프로세스가 시작됩니다. 모델은 일련의 업데이트를 실행하고, 손실 함수가 모델 출력과 목표 간의 차이를 측정합니다.
역전파는 이 단계의 시퀀스를 거슬러 오류 정보를 전달하여 옵티마이저가 공유 가중치를 조정하도록 합니다. 이는 시간에 따른 역전파입니다. 업데이트 규칙을 적용할 때마다 학습 계산의 단계가 하나씩 추가됩니다.
목표에 도달하도록 학습한다고 해서 시스템이 그 상태를 유지하는 방법까지 자동으로 학습하는 것은 아닙니다. 성장형 신경 세포 자동자는 선택한 시점의 이미지와 일치하도록만 학습하면 이후에 패턴이 저하될 수 있습니다. 학습 중 이전에 생성된 상태를 재사용하면 지속성이 향상됩니다. 이러한 상태의 일부 영역을 지우면 재생성을 학습시킬 수 있습니다. 살아남은 세포가 사라진 부분을 재구성하는 방법을 학습합니다. 따라서 자가 복구는 학습된 동작이며, 신뢰성은 학습 조건에 따라 달라집니다.
이미지 및 컴퓨터 비전 분야의 활용#
텍스처 생성은 NCA의 구체적인 활용 사례입니다. 노이즈에서 시작해 세포가 기준 텍스처와 유사한 패턴으로 진화합니다. 목적 함수는 픽셀 단위로 정확히 복사하는 대신 시각적 특징 통계를 비교할 수 있습니다. 이는 학습된 이미지 특징으로 시각적 표현을 나타내는 신경망 스타일 전이와 관련이 있습니다.
NCA는 실용적인 절차적 그래픽 워크플로도 지원합니다. Houdini의 신경 세포 자동자 도구는 타일링 가능한 패턴을 생성하고 로컬 회전, 크기 조정 및 업데이트를 제어하는 기능을 제공합니다. 이러한 제어 기능을 통해 아티스트는 이미지나 지오메트리 전반에 걸쳐 학습된 패턴 생성 프로세스를 조정할 수 있습니다.
의료 영상 분할에서 세포는 이미지 정보와 주변 상태를 사용해 픽셀 또는 복셀 수준의 예측을 도출합니다. Med-NCA는 소형 학습형 업데이트 네트워크를 사용해 이러한 접근 방식을 보여줍니다. 이 경우 출력은 새로 생성된 이미지가 아니라 해부학적 마스크입니다.
분할 접근 방식을 평가하는 개발자에게 Ultralytics YOLO는 실용적인 대안 워크플로를 제공합니다. YOLO26은 인스턴스 분할을 지원하며, 개별 객체 마스크, 레이블 및 신뢰도 점수를 생성합니다. 학습 및 검증 워크플로는 NCA 구현과 함께 마스크 품질과 실행 시간을 평가하는 기준을 제공합니다.
관련 개념 및 실제적 한계#
NCA는 로컬 전이 규칙을 수동으로 지정하는 대신 학습함으로써 기존 셀룰러 오토마타를 확장합니다. 또한 동일하게 학습된 연산이 지속 상태를 반복적으로 업데이트한다는 점에서 순환 신경망과 유사합니다. NCA의 차별점은 이 상태가 로컬 상호작용을 하는 세포에 분산되어 있다는 것입니다.
업데이트 네트워크가 작다고 해서 추론이 빠르다는 보장은 없습니다. 멀리 떨어진 세포들이 협응하려면 많은 반복이 필요할 수 있으며, 격자가 커질수록 연산량도 증가합니다. 학습 시에는 연속적인 업데이트를 미분하는 데 필요한 메모리도 고려해야 합니다. 이러한 비용은 고해상도 출력을 생성할 때 특히 중요합니다.
방향성도 고려해야 할 실무적인 문제입니다. 방향에 민감한 성장형 NCA에서는 세포의 필터가 고정된 수평 및 수직 방향을 계속 해석하기 때문에, 이미 형성된 패턴을 회전하면 이후의 진화가 방해받을 수 있습니다. 등방성 NCA는 각 세포의 인식이 격자 방향에 영향을 받지 않도록 하여 이 문제를 해결합니다. 따라서 단일 출력 프레임의 품질만이 아니라 지속적인 진화, 손상 후 복구, 변환에 대한 동작도 평가해야 합니다.










