- 회원들이 추천해주신 좋은 글들을 따로 모아놓는 공간입니다.
- 추천글은 매주 자문단의 투표로 선정됩니다.
Date 16/11/06 11:15:53
Name   Azurespace
Subject   신경망 학습의 틀을 깨다, DFA
오랜만입니다.
요즘도 딥 러닝에서는 굉장히 신기한 응용들과, 수학적 지식을 기반으로 하는 기기묘묘한 새 알고리즘들이 쏟아지고 있어서, 최신 연구들을 Follow-up 하는 것만도 대단히 벅찬 일이라는 생각이 듭니다.

그래서 한동안 연재를 하지 않고 있었는데, 간만에 엄청 재미있는 논문들이 나와서 이건 꼭 소개해야겠구나라는 생각이 들었습니다.

기존의 인공 신경망을 학습시키는 지도학습 방법은 Back-propagation이라는 방법에 기반하고 있습니다.

우리가 넣은 입력 x에 대해서, 신경망이 생성해낸 결과값 Y_pred와 우리가 알고 있는 정답 Y_real이 있다면
Y_pred와 Y_real의 차이(=error)를 나타내는 loss function이란 걸 정의를 합니다.
차이가 크면 loss도 커지고, 차이가 작으면 loss도 작아집니다.

그 다음 편미분을 통해 각 가중치가 error에 기여하는 정도(=그래디언트)를 계산해내어 학습에 이용하는 것이 기존의 Back-propagation 방법입니다.

잘 이해가 안 되시죠. 어쨌든 미분을 해야만 학습이 가능하다는 것만 착안하시면 됩니다.


Back Propagation 알고리즘에는 여러 문제가 있습니다.

1. 거대한 신경망을 빠르게 학습시키는 것이 어렵다.
신경망은 여러 레이어 구조로 이루어져 있는데요. 결과값을 얻기 위해서는 신호를 앞쪽에서 뒤쪽으로 보내야 하고, 그래디언트를 구하기 위해서는 반대로 뒤쪽으로부터 앞쪽으로 신호를 보내야 합니다. 즉 신경망의 각 레이어 사이에는 계속 신호 전달이 있어야 하기 때문에 매우 큰 규모의 네트워크를 학습시키는 데 어려움이 있습니다. 컴퓨터를 많이 쓰면 되지 않느냐 싶지만, 네트워크(신경망 말고 컴퓨터 사이를 연결한 LAN) 사이에 주고 받아야 하는 데이터도 많아지고, 깊으면 깊을수록 계산 시간보다 서로 신호 주고받는 전송 속도에 오히려 한계가 오고.. 이러는 거죠.

Gradient Vanishing이라는 문제도 있습니다. 깊어질수록 그래디언트의 값이 작아져서 학습에 지장이 생기는 거죠. ReLU를 활성화함수로 쓰기 시작하면서 조금 나아지기는 했고, Residual Network 등 이를 해결하기 위한 여러 테크닉이 생겨났지만 완벽하진 않아요.

2. Biologically Plausible하지 않습니다.
무슨 말이냐면 사람이나 다른 생물체들의 신경 세포들이 학습하는 과정을 설명하지 못한다는 겁니다.  신경세포는 신호를 보내는 방향이 단방향이라 에러 정보를 역전파를 통해 받기도 어려울뿐더러, 그 세포 하나하나들이 미분을 통해서 그래디언트(=가중치의 변화해야 하는 량)을 계산하는 것일까요? 아무래도 걔들이 미분을 할 수 있을 것 같진 않죠. 그냥 인공신경망을 활용하는 데에는 아무 문제가 없지만, 뭐라고 할까요. 생물체의 신경 세포를 수학적으로 모델링해 만든 것이 인공신경망인데, 그 인공신경망을 학습시키는 방법은 생물체가 배우는 방법과는 아무런 관련이 없다? 뭔가 좀 껄끄럽잖아요. 그런데 우리가 생물의 학습 방법과 경로를 아직도 잘 모르니까, 어쩔 수 없는 면도 있고...


그래서 BP는 어쨌든 지금까지 잘 써먹어 왔고, 학습을 잘 시킬 수 있다는 것은 알고 있었지만 이것만으로는 뭔가 부족하지 않나... 라는 생각이 있긴 했습니다.


그런데 얼마 전.. 몇개월 전에 Feedback Alignment라는 논문이 나오게 되는데요.

위에 나온 BP 모식도를 보시면, Prediction 시에는 W1,W2,W3이라는 가중치 벡터를 통해 입력을 출력층으로 보내고, 피드백은 이 벡터의 Transpose를 이용하죠? 이를 통해 Error의 Weighted Sum을 구해나가는 것입니다.

그런데 FA는 뭐냐면..


네트워크 가중치랑 상관없이, 그냥 Random하게 초기화된 아무 Matrix나 대신 써도 그래디언트는 전달되고 신경망은 학습된다는 것입니다. What?
BP는 조금 복잡할지언정 수학적으로는 비교적 간단하고 쉽게 설명할 수 있는 방법이고, 성능 또한 다른 알고리즘들보다 뛰어나기 때문에 사용했던 것입니다. 그런데 네트워크의 Weight랑 전혀 상관없는 아무 Matrix로 에러를 전파시켜도 학습이 된다니... 놀랠 노자였죠.
그런데 심지어 이 논문의 저자는 왜 이렇게 하는 것이 가능한지 수학적으로 증명도 해 놓았습니다. 대단한 사람 많아요.
그러나 일부 학자들은 흥분하기도 했지만 대부분은 오 흥미로운데? 라는 정도로 넘어갔죠.

왜냐면 아무 Matrix를 써도 된다는 것 자체는 재미있지만 BackPropagation에 비해서 Computation 회수가 줄어들지는 않기 때문에 그냥 기존에 사용하던 방법들을 쓰기만 해도 됐거든요.


그러고 나서, 지난 9월에 Direct Feedback Alignment라는 게 나옵니다.

"그냥 출력층 Error에다가 Random Matrix 하나씩 곱해서 Gradient 대신 써도 BP랑 똑같은 성능 나오는데?" "????"
그림 보시면 위 두개랑 차이가 있죠. 기존에는 바로 뒤 레이어에서 학습에 썼던 Error Gradient의 계산이 끝나길 기다렸다가, 거기에다가 가중치를 곱했습니다.

그런데 그게 아니라 그냥 Error에 직접 Matrix를 곱해서 써도 네트워크 학습이 된다라는 거에요.
바로 앞뒤 레이어와 통신을 할 필요 없이, 출력값만 알면 된다는 겁니다.

이러면 그냥 Output layer에서 Error를 랜을 통해 Broadcasting만 해주면 각각의 Computing node에서 개별적으로 학습을 할 수 있다는 것을 의미합니다.

지금보다 훨씬 크고 깊은 네트워크도 오히려 지금보다 빠르게 학습할 수 있을지도 모른다는 가능성을 보여준 것이죠.
심지어 DFA는 BP로는 수렴에 실패한, Tanh를 활성화 함수로 사용하는 매우 깊은 네트워크도 학습에 성공했습니다.
그리고 실험에 사용한 대부분의 신경망 구조에서 BP와 그다지 차이 없는 정확도를 보였습니다.

그럼 뭐냐, DFA가 무조건 BP보다 좋은 것 아니냐? 생각하실 수 있는데, 그렇지는 않은 것 같습니다.
딥 러닝에서는 기존에 비슷한 문제를 풀 때 사용했었던 Pretrained Model이 있는 경우, 이 가중치는 고정해두고 여기에 새로운 레이어를 덧붙여서 나머지 가중치만 학습하는 경우가 있습니다. 예를 들면 Langauge Model 같은 건 새 단어가 추가되었다고 기존의 학습 결과를 버리고 처음부터 학습하기는 좀 그렇잖아요. DFA는 이런 경우에는 BP보다 성능이 떨어졌습니다. 뭔가 구분을 동등한 수준으로 잘 해내기는 하는데, 내부적으로 배워나가는 방식은 전혀 다르다라는 의미겠지요.


DFA는 지금까지 우리가 인공신경망 학습에 대해 생각하고 있었던 그 모든 상식들이 사실 잘못되었었는지도 모른다는 것을 시사합니다.
얼핏 봐서는 이게 말이 되냐? 라고 생각할법한 일들이 사실로 일어나고 어떻게든 동작한다는 것이 Stochastic Computation의 묘미인지도 모르겠어요. 기존의 Deterministic 컴퓨터의 방식과는 너무나 다르죠.

게다가 사실 DFA는 아무 대학생이 Matlab 잡고 만들어도 10분이면 구현할 수 있는 엄청 간단한 알고리즘이에요. BP보다 훨씬 간단하고 쉬운 알고리즘이 있었는데 그보다 복잡한 알고리즘을 수십년동안 붙잡고 있었다는 거에요.
(물론 그동안 신경망이 넘어야 했던 수많은 산들을 생각해보면 이해가 안 되는 것도 아닙니다만)

아, IFA(Indirect Feedback Alignment) 라는 것도 있는데, 이건 Biologically Plausible한 모델을 만들기 위해 논문 저자가 생각해낸 개념이에요.
일부 뉴런들은 Error로부터 직접 Feedback을 받고, Direct Feedback Path가 없는 뉴런들은, 피드백을 직접 받은 뉴런들로부터 간접 피드백을 받는다는 것이죠. 실제로 이런 식으로 학습하는지 어떤지는 아직 알 수 없습니다. 단지 생체 신경망에서도 가능한 구조이다- 라는 것 뿐이죠. 이게 맞는지 아닌지 검증하는 것은 인공신경망 학자들이 생물학자들에게 던진 숙제라고 보면 될 것 같아요.




* 수박이두통에게보린님에 의해서 티타임 게시판으로부터 게시물 복사되었습니다 (2016-11-21 00:05)
* 관리사유 : 추천게시판으로 복사합니다.



10


    목록
    번호 제목 이름 날짜 조회 추천
    1418 기타한강의 "작별하지 않는다" - 오직 문학만이 줄 수 있는 위로 8 다람쥐 24/11/07 843 31
    1417 기타기계인간 2024년 회고 - 몸부림과 그 결과 5 Omnic 24/11/05 628 31
    1416 기타비 내리는 진창을 믿음으로 인내하며 걷는 자. 8 심해냉장고 24/10/30 907 20
    1415 기타명태균 요약.txt (깁니다) 21 매뉴물있뉴 24/10/28 1737 18
    1414 기타트라우마여, 안녕 7 골든햄스 24/10/21 933 36
    1413 기타뭐야, 소설이란 이렇게 자유롭고 좋은 거였나 14 심해냉장고 24/10/20 1549 40
    1412 기타"트렌드코리아" 시리즈는 어쩌다 트렌드를 놓치게 됐을까? 28 삼유인생 24/10/15 1851 16
    1411 기타『채식주의자』 - 물결에 올라타서 8 meson 24/10/12 944 16
    1410 요리/음식팥양갱 만드는 이야기 20 나루 24/09/28 1220 20
    1409 문화/예술2024 걸그룹 4/6 5 헬리제의우울 24/09/02 2075 13
    1408 일상/생각충동적 강아지 입양과 그 뒤에 대하여 4 골든햄스 24/08/31 1413 15
    1407 기타'수험법학' 공부방법론(1) - 실무와 학문의 차이 13 김비버 24/08/13 2042 13
    1406 일상/생각통닭마을 10 골든햄스 24/08/02 1979 31
    1405 일상/생각머리에 새똥을 맞아가지고. 12 집에 가는 제로스 24/08/02 1597 35
    1404 문화/예술[영상]"만화주제가"의 사람들 - 1. "천연색" 시절의 전설들 5 허락해주세요 24/07/24 1439 7
    1403 문학[눈마새] 나가 사회가 위기를 억제해 온 방법 10 meson 24/07/14 1907 12
    1402 문화/예술2024 걸그룹 3/6 16 헬리제의우울 24/07/14 1687 13
    1401 음악KISS OF LIFE 'Sticky' MV 분석 & 리뷰 16 메존일각 24/07/02 1584 8
    1400 정치/사회한국 언론은 어쩌다 이렇게 망가지게 되었나?(3) 26 삼유인생 24/06/19 2788 35
    1399 기타 6 하얀 24/06/13 1862 28
    1398 정치/사회낙관하기는 어렵지만, 비관적 시나리오보다는 낫게 흘러가는 한국 사회 14 카르스 24/06/03 3080 11
    1397 기타트라우마와의 공존 9 골든햄스 24/05/31 1930 23
    1396 정치/사회한국 언론은 어쩌다 이렇게 망가지게 되었나?(2) 18 삼유인생 24/05/29 3077 29
    1395 정치/사회한국언론은 어쩌다 이렇게 망가지게 되었나?(1) 8 삼유인생 24/05/20 2650 29
    1394 일상/생각삽자루를 추모하며 4 danielbard 24/05/13 2051 29
    목록

    + : 최근 6시간내에 달린 댓글
    + : 최근 12시간내에 달린 댓글

    댓글