1. 참조
음향홀로그램 집게, Holographic Acoustic Tweezers -(3)
위 글에 이어서 아래 논문을 분석합니다. 이 글을 읽기 전 상기한 링크를 꼭 읽어주세요.[1]
Marzo, A., & Drinkwater, B. W. (2018). Holographic acoustic tweezers. Proceedings of the National Academy of Sciences, 116(1), 84–89. https://doi.org/10.1073/pnas.1813047115
이 글은 윗글에 이어 트래핑 조건을 물리학적으로 분석하고, HAT를 구현한 구체적 방법론을 살펴봅니다.
글의 내용은 위 논문에서 인용한 아래 논문의 내용을 더 주요하게 참고하고 있습니다. 이번 글부터는 수학이 좀 더 들어갑니다.
2. 목표 함수의 효율적 계산
이전의 글에서 목표 함수의 정의와 고르코프 퍼텐셜장의 수식을 다음과 같이 정리하였다. 이 꼴은 실제로 사용하기에 너무 모호한 표기를 따르고 있기 때문에, 주요 변수인 p와 공간 변수 x, y, z에 관한 명시적 함수로 변환할 수 있도록 추가적인 게산을 수행할 것이다. 관련 논문에서는 이를 explicit function, explicit form과 같은 형태로 언급할 것이다. 가중치는 지정 가능한 상수이기 때문에, p에 관한 변수로 바꾸고 싶은 문자는 U의 라플라시안일 것이다.
따라서 목표 함수의 U값에 고르코프 퍼텐셜장 정의를 대입해 계산해 보도록 하겠다. 계산을 본격적으로 진행하기에 앞서, 압력 p를 복소 압력으로 정의했기 때문에 압력의 실수부와 허수부 표기를 다음과 같이 약속한다.
이 정의를 사용해 복소수 간의 도트곱(·)과 제곱을 정의하면 다음과 같다.
복소수의 절댓값은 복소수의 크기(modulus) 라고도 표현하며, 도트곱 정의를 이용해 표현 가능하다.
이제 목표 함수의 정의에 포함된 고르코프 라플라시안 함수를 계산해야 하는데, 이는 고르코프 퍼텐셜 장을 직교 좌표계의 각 성분 x, y, z에 관해 두 번 편미분한 것의 합으로 계산된다. 세 변수 모두에 관해 계산하기 비효율적이기 때문에, 성분을 a라는 변수로 일반화하여 이에 관해 고르코프 퍼텐셜 장을 두 번 편미분해 보겠다. (e.g., a=x,y,z )
계산하기 쉬운 첫 항부터 살펴보자:
두 번째 항의 경우: n∈{x,y,z} 에서,
따라서:
이와 같이 상수를 제외하고는 p, 그리고 직교좌표계에서의 공간 변수에 대해서만 고르코프 라플라시안 함수를 정리할 수 있었다. 목표 함수에 관한 계산을 직접 컴퓨팅하려 시도하는 것보다, 이를 미리 계산하여 전개해 두는 게 알고리즘을 이용하기에 효율적이다. 이같은 2차 편도함수를 이용해 목표 함수를 명시적으로 전개한 것은 목표 함수의 효율적 계산{efficient evaluation)으로 볼 수 있는 것이다.
저번 글에서 언급한 목표 함수의 꼴로 가중치(weight)를 이용한 함수 꼴이 있는데, 그 식을 다시 확인해 보고, 고르코프 퍼텐셜 함수의 2차 편도함수 계산법을 대입한다면 그 양상이 어떨 지 상상해보며 이 항목을 마치도록 하자.
3. 목표함수의 효율적 계산 및 목표함수의 그래디언트 함수
목표 함수를 p에 관해 정리했다면, 다시 한번 복소 압력 p는 방출 음파의 위상 φ에 관한 함수로 나타낼 수 있다. 따라서 저번 글에서 언급한 것과 같이, 음향 부양(acoustic levitation)을 실현하기 위한 목표 함수는 오직 각 방출기의 φ만을 변수로 한다. 이를 식으로 나타내면:
이제 이 함수를 최대화하기 위해 그 그래디언트를 구할 것이다. 목표 함수의 최적화 과정에서 해당 함수의 기울기와 같은 그래디언트를 구하는 과정은 대부분의 알고리즘에서 필수적이다. 다만 음향 부양 문제에서 다루는 목표 함수의 구조가 복잡하기 때문에, 그 구조를 고려하여 조금 더 쉬운 형태로 정리해둘 필요가 있다.
2번 항목에서 목표 함수를 압력의 공간 미분 편도함수로 나타냈기 때문에, 이 항목에서는 압력의 공간 미분을 주요 변수인 위상에 관해 미분했을 때 생기는 일들을 살펴볼 것이다. 최적화 알고리즘의 목표(goal)는 각 방출기의 위상을 적절히 조절하여 목표 함수를 최대로 만드는 데 있기 때문이다.
목표 함수의 구조를 살펴보면, 각 항에 두 개 복소 압력의 편도함수를 곱한 꼴이 나타난다. 따라서 이러한 구조를 기본 변수인 위상에 관해 미분해야 함수를 최적화하기 위한 그래디언트를 구할 수 있는 것이다. 먼저 도트곱을 켤레 복소수를 이용해 재정의하고, 도트곱 된 두 함숫값의 편미분을 구해 보자:
위의 식들은 두 압력을 곱한 것의 편미분을 나타낸 것으로, f와 g는 복소 압력, 그리고 그 파생 미분값인 편도함수들을 나타내는 아래첨자들이다. 압력 그 자체이거나, pxy와 같은 편도함수인 것이다. 2번 항목에서 x, y, z의 각 공간 변수를 a로 일반화했듯, 여러 차례의 편미분(공간 미분, spatial derivaitves)을 일반화해 f와 g로 적는 것이다. 즉 다음과 같은 포함 관계로 정리한다.
이제 두 가지 압력을 각 트랜스듀서의 복소 계수 M에 관해 다르게 정리해 보자.
상기한 공식을 이용해 이를 미분한다:
이 공식을 이용하면, 가장 기초적이면서 강력하게 통제 가능한 변수인 위상에 관해 목표 함수와 고르코프 라플라시안 함수를 정의하는 것이 가능하다. 특정 지점에 물체를 음향 부양시키고 싶다면, 그 지점의 좌표와 압력, 스피커에 관한 조건 등만 상수로 추가해 주면 되는 것이다. 다만 해당 지점의 최적화를 위한 복소 상수 M을 정확하게 구하는 과정이 필요하고(수치해석적으로건, 실험적으로건), 이것만 정확하게 구한다면 초음파 방출기를 이용한 공중 부양의 구현이 가능해진다.
지금까지의 계산 과정을 역으로 전개하여 물체를 공중에 띄우기 위한 알고리즘의 방향성을 정리하자면 다음과 같다.
1. 특정 지점에서의 압력과 그 공간 미분을 한 방출기가 만들어내는 복소 압력에 관해 구한다.
2. 모든 방출기가 만들어내는 압력과 공간 미분을 합산해 구한다.
3. 목표 함수를 상술한 공식들을 이용해 궇나다.
4. 이 목표 함수의 그래디언트(위상에 관한 미분)을 구한다.
5. 그 목표 함수를 최적화한다.
4. 목표 함수의 최적화
3번 항목의 마지막에서 '목표 함수를 최적화'한다는 태스크를 제시하였다. 2~3번 항목을 통해 음향 부양에 필요한 목표 함수를 최적화하기 위한 수학적 기반을 다져 놓았으니, 이번 항목에선느 어떤 알고리즘을 이용해 이같이 비선형적인 함수를 최적화할 수 있었는지에 관해서 설명하겠다. 이 부분의 수학이 매우 어려우므로 행렬과 다변수 함수의 테일러 전개에 관한 기본적인 지식을 [2]와 [3]을 읽고 공부해 옴이 바람직하다.
BFGS 알고리즘은 제약 조건이 없는 환경에서 비선형 함수의 최적값을 찾기 위해 사용되는 알고리즘(Unconstrained nonlinear optimization)이다. 어떤 함수의 최대/최솟값(global maximum, minimum) 을 구하는 것이다. 그 중 대표적인 ㄴ뉴뉴턴 방법(Newton's method)은 테일러 급수를 기반으로 함수의 2차 도함수를 구하여 최적화하는 방식이다. (다변수에서의 테일러 급수에 관해서는 [2]의 4번 항목을 읽어보면 좋다.) 2차까지의 테일러 급수로 함수를 근사하면:
다음과 같은 꼴이 되는데, 1변수인 상황이 아니므로 식을 행렬 형태로 나타냈다는 사실을 알 수 있다. 이때 등장하는 함수의 2차 도함수 행렬을 함수의 헤시안 행렬(Hessian matrix)라 하는데, 뉴턴 방법에서는 다음과 같은 방법으로 변수 x값을 업데이트한다. (우리 문제의 경우, x의 역할을 하는 것은 위상값일 것이다.) 그래디언트와 역행렬을 사용하였다.
이와 같이 x를 업데이트하는 중, 그래디언트 |∇f| ≈0의 수렴이 일어난다 판단될 시 동작을 멈춘다.
뉴턴 방법은 그 간단함과 빠른 수렴 속도에도 불구하고, 헤시안 행렬 계산의 복잡도 문제로 인해 고차원 문제에서는 거의 사용되지 않으며, 헤시안 행렬을 직접 계산하지 않도록 개량한 알고리즘을 사용하며, 그 알고리즘이 바로 이전 글에서 언급했던 BFGS 알고리즘이다. BFGS는 뉴턴 방법과의 유사성 때문에 유사-뉴턴 알고리즘(Quasi-Newton method)라고도 불린다. 먼저 BFGS 방식에서는 주로 Rank-2 수정이라는 방법으로 헤시안의 근삿값 행렬 B를 업데이트한다. 이를 수식으로 나타낸다면 아래와 같다.
y는 업데이트에 따라 변화한 기울기의 변화, s는 x의 변화를 나타낸다.
겉보기에는 더 복잡한 수식이지만, 실제로는 시간복잡도를 줄이는 효과적인 방법으로 볼 수 있다. 뉴턴 방법에서의 빠른 수렴을 유지하며, 계산 복잡도는 줄인 알고리즘이다. 유사-뉴턴 방법은 뉴턴 방법에 비해 매우 빨라 경제학이나 물리학뿐 아니라 생물학 등에도 광범위하게 사용된 (약간은 구식의) 알고리즘이라 볼 수 있다.
최적화 알고리즘을 더욱 안정적으로 만들기 위해 Marzo 교수 팀은 조금 더 발전된 2가지 업데이트 규칙을 도입하였는데, 그 내용이 다음과 같다. 스텝 사이즈 등 최적화에 관한 개념은 [4]에 잘 시각화돼 있으니 공부할 때 참조하자.
(1)아르미조 규칙(Armijo rule)
p는 이동 방향, α는 스텝 크기를 나타내며, c는 상수이다. c값은 0~1 사이의 값으로 설정하며, 0.0001 정도의 작은 값을 채용한다. 수렴 속도가 다소 느려질 수 있지만, 1회 업데이트될 때의 변화폭을 c의 크기를 이용해 조절하여 최적화 알고리즘의 안정성을 보장한다. 그래디언트 함수를 이용하기 때문에 뉴턴, BFGS 등 다차원에서의 기울기 기반 최적화에 유용하다
(2)Basin hop
최적화 알고리즘은 함수 전역에서의 최대/최솟값(Global minimum)이 아닌 한 구간에서의 최솟값(local minimum)에 빠질 우려가 있다. 따라서 지역 최적화를 시행한 뒤, 랜덤한 이동을 통해 다른 점으로 점프하여 그 점에서 다시 지역 최적화를 수행하는 것이다. 즉 xk를 업데이트할 때 x0값을 사람이 지정하는 대신 랜덤으로 지정하고, 그 값에서 시작하여 최적화 알고리즘이 동작하도록 하는 것이다. 이 작업을 여러 번 반복하여 전역 최적값을 찾을 수 있다. 랜덤하게 생성된 새로운 후보 지점 xnew는 아래 식과 같이 생성된다.
새로운 점에서 최적화를 시작하는 것이 최적화를 향상시키는 지 결정하는 일은 어느 지점에서 최적화한 f값이 변했다고 하여 무조건 일어나거나 일어나지 않는 것이 아니라 확률적으로 일어나는데, 이때의 확률 P를 정하는 수학적 조건은 다음과 같다:
참고 문헌
[1] Marzo, A., & Drinkwater, B. W. (2018). Holographic acoustic tweezers. Proceedings of the National Academy of Sciences, 116(1), 84–89. https://doi.org/10.1073/pnas.1813047115
[2] 테일러 급수 - 나무위키
[3] 행렬(수학) - 나무위키
'물리학 > 논문 공부일지' 카테고리의 다른 글
음향홀로그램 집게, Holographic Acoustic Tweezers -(5) (0) | 2025.01.24 |
---|---|
음향홀로그램 집게, Holographic Acoustic Tweezers -(3) (1) | 2025.01.09 |
음향홀로그램 집게, Holographic Acoustic Tweezers -(2) (0) | 2024.08.10 |
음향홀로그램 집게, Holographic Acoustic Tweezers -(1) (0) | 2024.08.03 |