게시물 목록

Saturday, June 3, 2023

역전파(backpropagation)의 참된 중요성 이해하기: 자동미분과의 연장선에서

이제 와서 부끄러운 얘기일 수 있으나 그동안 머신러닝에서 gradient update에 사용되는 backpropagation에 대해, 그냥 gradient를 계산하기 위한 테크닉으로써 딥러닝이 현실적인 비용으로 작동할수 있게 하는 돌파구에 불과할(?) 뿐, 뉴럴넷의 작동 이유를 이론적으로 이해하는 데에는 별로 중요하지 않다고 생각해서 별로 신경을 안 썼었다.


그런데 얼마전에 물리 및 ai 기반 그래픽스 쪽에서 공부하는 분이 읽고 계신 Hamiltonian neural network 관련 논문을 함께 디스커션 할 기회가 있었는데, 얘기하다 보니 이게 절대 그렇지가 않은 듯... 뉴럴넷에서의 backprop뿐만 아니라 오히려 그것의 원관념(?)에 해당하는, 동역학을 가진 시스템의 최적화 등에서 많이 쓰는 자동미분(automatic differentiation)을 함께 보면 이쪽 패러다임이 왜 중요한 것인지, 왜 흥미로운 것인지 잘 이해하게 되는 듯하다.


여러 가지 함수 (그 각각의 미분을 symbolic하게 알고 있는) 각각을 노드(node)로 생각하면, 그것들을 graph로 연결시켜서 합성함수를 만들 수 있다. 이렇게 만든 함수도 그림으로 표현되어 있을 뿐, 결국 인풋과 아웃풋을 갖는 그냥 수학적인 함수일 것이다.


근데 이 함수를 수치적으로 미분을 한다고 하면, 이 함수에 두 개의 서로 아주 가까운 인풋을 넣고, 그 아웃풋을 비교해서 근사적으로 미분계수(도함수의 값)을 구해야 한다 (미분계수는 평균 기울기의 극한이니까). 이것은 번거로운 일이고, 인풋의 차이는 최대한 작아야 하는데 함수가가 커다랄수록 출력 함수값의 에러는 쌓일 테니, 에러가 잘 매니지돼서 원하는대로 잘 working할지 알기 어렵다. 그리고 각 인풋에 대해 이 도함수를 evaluate할 때 매번 새롭게 해야 한다.


근데 각 노드의 도함수를 symbolic하게 알고 있다면, 그걸 체인룰(합성함수의 미분)을 통해 조합해서 사칙연산만으로 도함수를 구할 수 있다. 이렇게 아무리 새롭게 graph로 연결을 지어서 만든 새로운 함수에 대해서도, 도함수와 그 값을 비교적 쉽게 얻을 수 있는 것이 바로 체인룰을 영리하게 사용한 자동미분이라고 이해해볼수 있다.


반면에 함수의 꼴조차도 아예 모를 경우에는, (ReLU나 Sigmoid 등의 꼴을 주로 갖는) perceptron을 일종의 '비선형의 최소 단위'로 간주하여 아주 많이 조합한 multi-layer perceptron으로 모형화해야 하며, 이것으로 임의의 함수를 shaping할 수 있다는 보편근사정리가 있다. 그리고 이게 바로 가장 간단한 뉴럴넷인 것이다.


그런 면에서 뉴럴넷의 역전파를, 위에서 말한 graph로 표현된 합성함수에 대해 사용하는 자동미분과 연장선상에서 이해하게 된다. 함수의 틀이 정해져 있느냐, 아니면 그조차도 몰라서 무작정 수많은 퍼셉트론의 조합으로 두었느냐만 다를 뿐이다. 수학적으로야 backprop이 자동미분의 리버스버전의 일종일 뿐이니까 더욱 명확한것 같고.


특히 physics-informed neural network (PINN) 를 보면 뉴럴넷 자체를 어떤 해밀토니안이나 액션 같은 함수 (및 범함수)의 proxy로 생각할때가 많은데, 이럴때는 꼭 최적화를 위한 SGD에서의 gradient 계산이 아니더라도(이건 그냥 패키지를 갖다 쓰면 되니까), 해밀턴 역학 특성상 뉴럴넷이라는 커다란 함수를 여러 변수로 미분한 도함수를 생각해야 할 때가 많이 있고 이럴 때 자동미분을 잘 이해하고 직접 사용해야 하는듯하다. 해밀토니안 내지는 액션을 미분을 해야 실제 물리 방정식을 얻을 수 있어서 그렇다.


암튼 이렇게 새로운 시각을 얻게 되니 backprop의 중요성에 대해 더 깊이 이해한 것 같고, 이런 것을 딥러닝 이전부터 활용하고 발전시켜 온 공학적 최적화 분야나 그래픽스 등도 무척 재밌는 분야인 것 같다.


Facebook에서 이 글 보기: https://bit.ly/3IXFdcv

(해당 포스트의 덧글타래에 이쪽 방법론의 박사급, 교수급 선생님들이 도움을 주셨으므로 읽어주신 분들 중 더 자세한 관심이 있으시다면 이쪽을 참고해주시면 유익할 것입니다)

No comments:

Post a Comment