컴퓨터공학/NEAT 3

HyperNEAT (Hypercube-based NeuroEvolution of Augmenting Topologies)

HyperNEAT (Hypercube-based NeuroEvolution of Augmenting Topologies)는 NEAT 알고리즘의 확장 버전으로, 신경망의 구조뿐만 아니라 연결 가중치를 생성하는 패턴을 진화시키는 방법을 제안한다. HyperNEAT은 신경망의 가중치를 직접 진화시키기보다는, 연결 가중치를 결정하는 함수를 진화시킴으로써, 보다 복잡하고 효율적인 신경망을 설계할 수 있게 한다. 이 접근법은 특히 고차원 입력 공간과 대칭성을 가진 문제에서 큰 장점을 발휘한다.HyperNEAT의 핵심 개념CPPN (Compositional Pattern Producing Network):HyperNEAT의 핵심은 CPPN이라는 함수 생성 네트워크이다. CPPN은 특정 패턴을 출력하는 함수로, 이 패..

NEAT(NeuroEvolution of Augmenting Topologies)

NEAT(NeuroEvolution of Augmenting Topologies) 알고리즘은 신경망의 구조와 가중치를 동시에 진화시키는 혁신적인 진화 알고리즘이다. Kenneth O. Stanley와 Risto Miikkulainen이 제안한 NEAT은 신경망이 단순한 구조에서 출발해 점진적으로 복잡한 구조로 발전할 수 있도록 설계되었다. 이는 전통적인 유전 알고리즘이 고정된 구조에서 가중치만 최적화하는 것과는 차별화된 접근이다.NEAT 알고리즘의 주요 개념초기화 및 기본 아이디어:NEAT은 매우 단순한 신경망(예: 입력층과 출력층만 있는 구조)에서 시작하여 점진적으로 새로운 노드와 연결을 추가하며 네트워크를 발전시킨다.신경망의 성능을 평가하는 피트니스 함수(fitness function)를 사용하여 진..

유전 알고리즘 (Genetic Algorithm, GA)

유전 알고리즘 (Genetic Algorithm, GA)은 진화 생물학의 자연 선택 원리에 기반하여 최적화 문제를 해결하는 방법이다. John Holland에 의해 처음 개발된 이 알고리즘은 무작위 탐색과 최적화 기술의 조합을 통해 복잡한 문제를 풀 수 있는 강력한 도구로 알려져 있다. 유전 알고리즘은 특히 탐색 공간이 매우 넓거나 경사가 잘 정의되지 않은 문제에서 효과적이다.유전 알고리즘의 핵심 개념초기 개체군(Population):유전 알고리즘은 먼저 무작위로 초기 개체군을 생성하는 것으로 시작한다. 각 개체는 문제의 가능한 해를 나타내며, 유전적 정보를 담고 있는 염색체(Chromosome)로 표현된다.염색체는 이진수, 실수, 또는 다른 데이터 구조로 표현될 수 있으며, 특정 문제에 맞게 설계된다...