맨위로가기

입자 군집 최적화

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

입자 군집 최적화(PSO, Particle Swarm Optimization)는 여러 개의 후보 해 집합(swarm)을 활용하여 최적의 해를 찾는 알고리즘이다. 각 입자는 탐색 공간에서 위치와 속도를 가지며, 입자 자체의 최적 위치와 전체 무리의 최적 위치에 의해 이동 방향이 결정된다. PSO는 최소화할 비용 함수를 기반으로 작동하며, 관성 가중치, 인지 계수, 사회적 계수 등의 매개변수 선택이 성능에 영향을 미친다. 군집 토폴로지는 입자 간 정보 교환 방식을 정의하며, 전역, 지역, 링 토폴로지 등 다양한 형태가 존재한다. PSO는 탐색과 착취 사이의 균형을 통해 최적의 해에 수렴하도록 설계되었으며, 조기 수렴 방지 및 성능 향상을 위한 다양한 변형과 하이브리드화가 연구되고 있다. 또한 다목적 최적화 및 이산/조합 문제 해결에도 적용된다.

더 읽어볼만한 페이지

  • 진화 알고리즘 - 유전 알고리즘
    유전 알고리즘은 생물 진화 과정을 모방하여 최적해를 탐색하는 계산 최적화 기법으로, 해를 유전자로 표현하고 적합도 함수를 통해 평가하며 선택, 교차, 돌연변이 연산을 반복하여 최적해에 근접하는 해를 생성하며, 성능은 매개변수에 영향을 받고 초기 수렴 문제 해결을 위한 다양한 변형 기법과 관련 기법이 존재한다.
  • 진화 알고리즘 - 차분 진화
    차분 진화는 실수 벡터로 표현되는 후보해 집단을 활용하여 전역 최적해를 찾는 진화 알고리즘으로, 개체 위치 정보를 결합해 새로운 해를 만들고 우수할 경우 집단을 갱신하며, 파라미터 설정과 변형을 통해 성능을 향상시킨다.
입자 군집 최적화
입자 군집 최적화
입자 군집 최적화 애니메이션
입자 군집 최적화 애니메이션
유형최적화 알고리즘
개발자제임스 케네디 및 러셀 에벌하트
개발일1995년
영감을 받은 대상새 떼
물고기 떼
관련 주제전역 최적화
군집 지능
메타휴리스틱
진화 연산
기술적 세부 사항
탐색 전략입자 기반
속도 및 위치 업데이트
주요 매개변수관성 가중치
인지 가중치
사회적 가중치
적용 분야함수 최적화
인공 신경망 학습
데이터 마이닝
스케줄링
제어 시스템 설계
장점 및 단점
장점구현 용이
빠른 수렴
전역 최적화 가능성
단점매개변수 조정 필요
국소 최적화에 빠질 위험
기타
변형이산 입자 군집 최적화
혼합 입자 군집 최적화
다목적 입자 군집 최적화

2. 알고리즘

입자 군집 최적화(PSO) 알고리즘은 여러 후보 해, 즉 입자(particle)들로 구성된 무리(swarm)를 이용하여 최적해를 찾는다.[1] 각 입자는 탐색 공간 내에서 간단한 공식에 따라 움직이며, 자신이 경험한 최적 위치와 무리 전체가 공유하는 최적 위치를 바탕으로 더 나은 해를 탐색한다. w, φp, φg 값은 사용자가 선택하며, PSO 방법의 동작과 효율성을 제어한다(매개변수 선택).

2. 1. 기본 PSO 알고리즘

기본적인 입자군 최적화(PSO, Particle Swarm Optimization) 알고리즘은 여러 후보 해(입자) 집합(무리)을 이용하여 작동한다.[1] 입자들은 간단한 수식에 따라 탐색 공간에서 이동한다. 입자의 이동은 탐색 공간에서 입자 자체가 알고 있는 최적 위치와 전체 무리가 알고 있는 최적 위치에 의해 유도된다. 더 나은 위치가 발견되면 이 위치가 무리의 이동을 안내하게 된다. 이 과정을 반복하여 만족스러운 해가 결국 발견될 것으로 기대하지만, 보장되지는 않는다.

최소화해야 할 비용 함수를 ''f'': ℝ''n'' → ℝ라고 한다. 이 함수는 실수 벡터 형태의 후보 해를 인수로 받아 주어진 후보 해의 목적 함수 값을 나타내는 실수를 출력한다. ''f''의 기울기는 알 수 없다. 목표는 탐색 공간의 모든 '''b'''에 대해 ''f''('''a''') ≤ ''f''('''b''')인 해 '''a'''를 찾는 것이다. 이는 '''a'''가 전역 최솟값임을 의미한다.

무리에 있는 입자의 수를 ''S''라고 하고, 각 입자는 탐색 공간에서 위치 '''x'''i ∈ ℝ''n''와 속도 '''v'''i ∈ ℝ''n''을 갖는다. '''p'''i는 입자 ''i''의 알려진 최적 위치이고, '''g'''는 전체 무리의 알려진 최적 위치이다. 비용 함수를 최소화하기 위한 기본적인 PSO 알고리즘은 다음과 같다.

  • 각 입자 ''i'' = 1, ..., ''S''에 대해
  • * 입자의 위치를 균일하게 분포된 난수 벡터로 초기화한다: '''x'''i ~ ''U''('''blo''', '''bup''')
  • * 입자의 알려진 최적 위치를 초기 위치로 초기화한다: '''p'''i ← '''x'''i
  • * 만약 ''f''('''p'''i) < ''f''('''g''')이면, 무리의 알려진 최적 위치를 업데이트한다: '''g''' ← '''p'''i
  • * 입자의 속도를 초기화한다: '''v'''i ~ ''U''(-|'''bup'''-'''blo'''|, |'''bup'''-'''blo'''|)
  • 종료 조건이 충족될 때까지 반복한다:
  • * 각 입자 ''i'' = 1, ..., ''S''에 대해
  • ** 각 차원 ''d'' = 1, ..., ''n''에 대해

난수를 선택한다: ''r''p, ''r''g ~ ''U''(0,1)
입자의 속도를 업데이트한다: '''v'''i,d ← w '''v'''i,d + φp ''r''p ('''p'''i,d-'''x'''i,d) + φg ''r''g ('''g'''d-'''x'''i,d)

  • ** 입자의 위치를 업데이트한다: '''x'''i ← '''x'''i + '''v'''i
  • ** 만약 ''f''('''x'''i) < ''f''('''p'''i)이면

입자의 알려진 최적 위치를 업데이트한다: '''p'''i ← '''x'''i
만약 ''f''('''p'''i) < ''f''('''g''')이면, 무리의 알려진 최적 위치를 업데이트한다: '''g''' ← '''p'''i

'''blo'''와 '''bup''' 값은 각각 탐색 공간의 하한과 상한을 나타낸다. w 매개변수는 관성 가중치이다. φp 및 φg 매개변수는 종종 인지 계수와 사회적 계수라고 한다.

종료 조건은 수행된 반복 횟수 또는 적절한 목적 함수 값이 발견된 해가 될 수 있다.

3. 매개변수 선택

PSO 매개변수 선택은 최적화 성능에 큰 영향을 미칠 수 있다. 따라서 우수한 성능을 내는 PSO 매개변수를 선택하는 것은 많은 연구 주제였다.

발산("폭발")을 방지하기 위해 관성 가중치는 1보다 작아야 한다. 다른 두 매개변수는 제약 접근 방식을 통해 도출하거나 자유롭게 선택할 수 있지만, 분석 결과 이를 제한하는 수렴 영역이 제시된다. 일반적인 값은 [ 1,3] 범위에 있다.

PSO 매개변수는 다른 오버레이 최적화 프로그램(메타 최적화)을 사용하여 조정하거나, 퍼지 논리를 사용하여 최적화 중에 미세 조정할 수도 있다.

매개변수는 다양한 최적화 시나리오에 대해서도 조정되었다.

4. 군집 토폴로지

군집 토폴로지는 각 입자가 정보를 교환할 수 있는 입자의 부분 집합을 정의한다. 알고리즘의 기본 버전은 전역 토폴로지를 군집 통신 구조로 사용한다. 이 토폴로지는 모든 입자가 다른 모든 입자와 통신할 수 있도록 허용하므로, 전체 군집은 단일 입자에서 동일한 최적 위치 '''g'''를 공유한다. 그러나 이러한 접근 방식은 군집이 지역 최솟값에 갇히게 할 수 있다.[2]

입자 간의 정보 흐름을 제어하기 위해 다양한 토폴로지가 사용되는데, 예를 들어 지역 토폴로지에서는 입자가 입자의 부분 집합과만 정보를 공유한다. 이 부분 집합은 기하학적(예: "가장 가까운 ''m''개의 입자")일 수도 있고,[3] 거리와 상관없는 사회적 입자 집합일 수도 있다. 이러한 경우, PSO 변형은 기본 PSO의 전역 최적(global best) 대신 지역 최적(local best)이라고 한다.

일반적으로 사용되는 군집 토폴로지는 링(각 입자는 두 개의 이웃만 가짐)이지만, 다른 많은 토폴로지도 존재한다. 토폴로지는 반드시 정적일 필요는 없으며, 입자의 통신 다양성과 관련이 있으므로, 적응형 토폴로지(SPSO,[4] APSO,[5] 확률적 별(stochastic star),[6] TRIBES,[7] Cyber Swarm,[8] C-PSO)를 생성하기 위한 노력이 이루어졌다.

링 토폴로지를 사용하면 PSO는 세대 수준의 병렬 처리를 달성하여 진화 속도를 크게 향상시킬 수 있다.[9]

5. 내부 작동 원리

기본적인 입자 군집 최적화(PSO, Particle Swarm Optimization) 알고리즘은 여러 후보 해(입자) 집합(무리)을 이용하여 작동한다.[1] 이 입자들은 탐색 공간에서 간단한 수식에 따라 이동하며, 각 입자의 이동은 자신이 찾은 최적 위치와 무리 전체가 찾은 최적 위치에 영향을 받는다. 더 나은 위치가 발견되면 무리 전체의 이동 방향을 조정한다. 이 과정을 반복하여 만족스러운 해를 찾기를 기대하지만, 항상 보장되는 것은 아니다.

최소화해야 할 비용 함수 ''f'': ℝ''n'' → ℝ에서, 이 함수는 실수 벡터 형태의 후보 해를 입력받아 해당 후보 해의 목적 함수 값을 실수로 출력한다. ''f''의 기울기는 알 수 없다. 목표는 탐색 공간의 모든 '''b'''에 대해 ''f''('''a''') ≤ ''f''('''b''')인 해 '''a'''를 찾는 것이다. ('''a'''는 전역 최솟값)

각 입자는 탐색 공간에서 위치 '''x'''i ∈ ℝ''n''와 속도 '''v'''i ∈ ℝ''n''을 갖는다. '''p'''i는 입자 ''i''의 알려진 최적 위치, '''g'''는 전체 무리의 알려진 최적 위치이다. 비용 함수를 최소화하기 위한 기본적인 PSO 알고리즘은 다음과 같다.

1. 각 입자 ''i'' = 1, ..., ''S'' (''S''는 무리의 입자 수)에 대해:


  • 입자의 위치를 균일하게 분포된 난수 벡터로 초기화: '''x'''i ~ ''U''('''blo''', '''bup''')
  • 입자의 알려진 최적 위치를 초기 위치로 초기화: '''p'''i ← '''x'''i
  • 만약 ''f''('''p'''i) < ''f''('''g''')이면, 무리의 알려진 최적 위치 업데이트: '''g''' ← '''p'''i
  • 입자의 속도를 초기화: '''v'''i ~ ''U''(-|'''bup'''-'''blo'''|, |'''bup'''-'''blo'''|)

2. 종료 조건(수행된 반복 횟수 또는 적절한 목적 함수 값을 갖는 해)이 충족될 때까지 반복:

  • 각 입자 ''i'' = 1, ..., ''S''에 대해:
  • 각 차원 ''d'' = 1, ..., ''n''에 대해:
  • 난수 선택: ''r''p, ''r''g ~ ''U''(0,1)
  • 입자의 속도 업데이트: '''v'''i,d ← w '''v'''i,d + φp ''r''p ('''p'''i,d-'''x'''i,d) + φg ''r''g ('''g'''d-'''x'''i,d)
  • 입자의 위치 업데이트: '''x'''i ← '''x'''i + '''v'''i
  • 만약 ''f''('''x'''i) < ''f''('''p'''i)이면, 입자의 알려진 최적 위치 업데이트: '''p'''i ← '''x'''i
  • 만약 ''f''('''p'''i) < ''f''('''g''')이면, 무리의 알려진 최적 위치 업데이트: '''g''' ← '''p'''i


'''blo'''와 '''bup''' 값은 탐색 공간의 하한과 상한을 나타낸다. w는 관성 가중치, φp 및 φg는 인지 계수와 사회적 계수라고 불리는 매개변수이다.

PSO 알고리즘의 작동 원리에 대해서는 여러 학설이 존재한다. 일반적인 학설은 군집 행동이 탐색(넓은 영역 탐색)과 착취(지역 최적값 근처 탐색) 사이에서 변화한다는 것이다. 조기 수렴을 피하고 좋은 수렴 속도를 보장하기 위해 탐색과 착취 사이의 균형을 맞추는 것이 중요하다.

5. 1. 수렴

PSO에서 "수렴"은 두 가지 의미로 사용된다.

  • 해의 수열의 수렴 (안정성 분석, 수렴이라고도 함): 모든 입자가 탐색 공간의 한 점으로 수렴하는 경우를 말하며, 이 점이 최적점인지 아닌지는 상관없다.
  • 극소점으로의 수렴: 모든 개인 최적값 '''p''' 또는 군집의 최고 위치 '''g'''가 문제의 극소점에 접근하는 경우를 말한다.


해의 수열의 수렴은 PSO에 대해 연구되어 왔다. 이러한 분석 결과, 한 점으로 수렴하고 군집 입자의 발산을 방지하는(입자가 무한정 움직이지 않고 어딘가로 수렴함) PSO 매개변수 선택 지침이 제시되었다. 그러나 Pedersen은 이러한 분석이 지나치게 단순화되었다고 비판했는데, 그 이유는 군집에 입자가 하나만 있고, 확률적 변수를 사용하지 않으며, 인력점(입자의 최고 위치 '''p'''와 군집의 최고 위치 '''g''')이 최적화 과정 전체에서 일정하다고 가정했기 때문이다. 하지만 이러한 단순화가 군집이 수렴하는 매개변수에 대한 연구에서 발견된 경계에 영향을 미치지 않는다는 것이 밝혀졌다.[10] 최근 몇 년 동안 PSO의 안정성 분석에 사용된 모델링 가정을 약화하기 위한 노력이 이루어졌으며, 최근의 일반화된 결과는 여러 PSO 변형에 적용되며 최소한의 모델링 가정을 활용했다.

극소점으로의 수렴은 PSO에 대해 분석되었다.[11] PSO가 극소점을 찾는 것을 보장하려면 약간의 수정이 필요하다는 것이 증명되었다.

즉, 서로 다른 PSO 알고리즘과 매개변수의 수렴 능력을 결정하는 것은 여전히 경험적 결과에 의존한다.

6. 적응 메커니즘

수렴('착취')과 발산('탐색') 사이의 절충 없이 적응 메커니즘을 도입할 수 있다. 적응형 입자 군집 최적화(APSO)는 표준 PSO보다 더 나은 탐색 효율을 제공한다. APSO는 더 높은 수렴 속도로 전체 탐색 공간에 대해 전역 탐색을 수행할 수 있다. 실행 시간에 관성 가중치, 가속 계수 및 기타 알고리즘 매개변수를 자동으로 제어하여 탐색 효과와 효율을 동시에 향상시킨다. 또한, APSO는 전역 최적 입자에 작용하여 가능성이 높은 지역 최적점에서 벗어날 수 있다. 그러나 APSO는 새로운 알고리즘 매개변수를 도입하지만, 추가적인 설계 또는 구현 복잡성은 도입하지 않는다.

7. 변형

기본 PSO 알고리즘에는 다양한 변형이 가능하다. 예를 들어 입자와 속도를 초기화하는 방법(예: 0의 속도로 시작), 속도를 감쇠하는 방법, 전체 무리가 업데이트된 후에만 '''p'''i와 '''g'''를 업데이트하는 방법 등이 있으며, 이러한 선택과 성능에 미치는 영향은 문헌에서 논의되었다.

주요 연구자들은 일련의 표준 구현을 만들어, 기법 개선의 성능 테스트를 위한 기준 및 광범위한 최적화 커뮤니티에 PSO를 제시하고자 하였다. 잘 알려진 엄격하게 정의된 표준 알고리즘을 사용하면 연구 전반에 걸쳐 새로운 발전을 더 잘 테스트하는 데 사용할 수 있는 귀중한 비교 기준을 제공한다. 최신 버전은 Standard PSO 2011 (SPSO-2011)이다.

7. 1. 하이브리드화

다른 최적화 알고리즘과 PSO를 결합한 하이브리드 최적화 방법이 연구되고 있다. 예를 들어, 생지리학 기반 최적화와 PSO를 결합하거나,[13] 효과적인 학습 방법을 통합하는 연구가 진행되고 있다.

7. 2. 조기 수렴 완화

기본적인 입자 군집 최적화(PSO) 알고리즘은 조기 수렴, 즉 최적화 정체 현상이 발생할 수 있다. 이를 완화하기 위한 다양한 방법들이 연구되고 있다.

조기 수렴 완화 방법은 다음과 같다.

  • 입자 이동 역전 또는 방해: PSO 입자의 이동을 역전시키거나 방해한다.
  • 다중 군집 사용: 다중 군집을 사용한다.[14] 이 방법은 다중 군집 최적화에도 활용된다.
  • 행동 매개변수 적응: 최적화 과정에서 PSO의 행동 매개변수를 적응시킨다.

7. 3. 단순화

PSO의 성능을 저하시키지 않으면서 단순화하려는 연구도 진행되고 있다. 이는 오컴의 면도날로 불리는 일반적인 개념이다. PSO의 단순화는 더 광범위하게 연구되어, 최적화 성능 향상, 매개변수 조정 용이, 서로 다른 최적화 문제에서의 일관된 성능을 보였다.

메타휴리스틱의 효과는 유한한 수의 최적화 문제에 대한 계산 실험을 통해서만 경험적으로 입증될 수 있다. 즉, PSO와 같은 메타휴리스틱은 정정성이 증명될 수 없다는 것을 의미하며, 이는 설명 및 구현에서 오류를 범할 위험을 증가시킨다.

속도 초기화에는 추가적인 입력이 필요할 수 있다. 2003년 제임스 케네디(James Kennedy)가 제안한 베어 본 PSO(Bare Bones PSO) 변형[15]은 속도를 전혀 사용할 필요가 없다.

다른 간단한 변형으로는 속도를 사용할 필요가 없고 많은 응용 분야에서 수렴 속도를 높일 수 있는 가속 입자 군집 최적화(APSO)[16][17]가 있다.

8. 다목적 최적화

입자 군집 최적화(PSO)는 다목적 문제(여러 목적 함수를 동시에 최적화)에도 적용될 수 있다.

9. 이산 및 조합 최적화

PSO는 실수 기반 알고리즘이지만, 이산 및 조합 문제를 해결하기 위한 변형도 연구되고 있다. 기본적인 PSO 알고리즘은 실수를 사용하므로, 이산 문제를 풀기 위해서는 이산 탐색 공간을 연속 영역에 매핑하고, 고전적인 PSO를 적용한 후, 결과를 다시 역매핑하는 방법이 일반적으로 사용된다.[18] 예를 들어, 반올림된 값을 사용하는 간단한 매핑이 가능하다.

하지만, PSO의 이동 방정식은 다음 네 가지 연산을 포함한다:[19][20][21][22]


  • 두 위치의 차이 계산 (결과는 속도, 더 정확하게는 변위)
  • 속도에 숫자 계수 곱셈
  • 두 속도의 덧셈
  • 위치에 속도 적용


일반적으로 위치와 속도는 n개의 실수로 표현되며, 위 연산들은 각각 -, *, +, +에 해당한다. 그러나 이진 문제나 조합 문제에서는 이러한 수학적 객체들을 완전히 다른 방식으로 정의할 수 있다.[19][20][21][22] 한 가지 방법은 집합을 기반으로 연산자를 재정의하는 것이다.

참조

[1] 논문 A Comprehensive Survey on Particle Swarm Optimization Algorithm and Its Applications http://www.hindawi.c[...] 2015
[2] 논문 Population Topologies and Their Influence in Particle Swarm Performance https://pdfs.semanti[...] Universidade do Minho 2004
[3] 논문 Particle swarm optimiser with neighbourhood operator https://ieeexplore.i[...] IEEE 1999
[4] 웹사이트 Particle Swarm Central http://www.particles[...]
[5] 논문 A parsimonious SVM model selection criterion for classification of real-world data sets via an adaptive population-based algorithm https://link.springe[...] 2017
[6] 논문 Stochastic Star Communication Topology in Evolutionary Particle Swarms (EPSO) https://repositorio.[...] 2008
[7] 서적 Particle Swarm Optimization ISTE (International Scientific and Technical Encyclopedia) 2006
[8] 논문 A Complementary Cyber Swarm Algorithm http://leeds-faculty[...] 2011
[9] 논문 Generation-Level Parallelism for Evolutionary Computation: A Pipeline-Based Parallel Particle Swarm Optimization https://ieeexplore.i[...] 2021
[10] 서적 Swarm Intelligence 2014
[11] 논문 A convergence proof for the particle swarm optimizer https://repository.u[...]
[12] 논문 Scale adaptive fitness evaluation-based particle swarm optimisation for hyperparameter and architecture optimisation in neural networks and deep learning 2023-09-00
[13] 논문 Pathological Brain Detection in Magnetic Resonance Imaging Scanning by Wavelet Entropy and Hybridization of Biogeography-based Optimization and Particle Swarm Optimization 2015
[14] 논문 OptiFel: A Convergent Heterogeneous Particle Sarm Optimization Algorithm for Takagi-Sugeno Fuzzy Modeling 2013
[15] 서적 Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03 (Cat. No.03EX706) 2003
[16] 논문 Accelerated particle swarm optimization and support vector machine for business optimization and applications https://arxiv.org/ab[...] 2011
[17] 웹사이트 Search Results: APSO - File Exchange - MATLAB Central http://www.mathworks[...]
[18] 논문 A Novel Particle Swarm Optimization Algorithm for Multi-Objective Combinatorial Optimization Problem http://sclab.yonsei.[...] 2012
[19] 논문 A discrete binary version of the particle swarm algorithm http://ahmetcevahirc[...] IEEE Service Center 1997
[20] 서적 Discrete Particle Swarm Optimization, illustrated by the Traveling Salesman Problem https://link.springe[...] Springer 2004
[21] 논문 Binary Particle Swarm Optimisers: toolbox, derivations, and mathematical insights http://hal.archives-[...]
[22] 논문 A combinatorial particle swarm optimization for solving multi-mode resource-constrained project scheduling problems 2008



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com