- 회원들이 추천해주신 좋은 글들을 따로 모아놓는 공간입니다.
- 추천글은 매주 자문단의 투표로 선정됩니다.
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


    목록
    번호 제목 이름 날짜 조회 추천
    1376 기타삶의 의미를 찾는 단계를 어떻게 벗어났냐면 8 골든햄스 24/03/14 980 19
    1375 기타소수 사막은 얼마나 넓을까? 4 Jargon 24/03/06 885 4
    1374 기타민자사업의 진행에 관해 6 서포트벡터 24/03/06 839 8
    1373 기타노무사 잡론 13 당근매니아 24/03/04 1549 16
    1372 기타2024 걸그룹 1/6 2 헬리제의우울 24/03/03 637 13
    1371 기타소회와 계획 9 김비버 24/03/03 867 20
    1370 기타터널을 나올 땐 터널을 잊어야 한다 20 골든햄스 24/02/27 1571 56
    1369 정치/사회업무개시명령의 효력 및 수사대응전략 8 김비버 24/02/21 1404 16
    1368 체육/스포츠(데이터 주의)'자율 축구'는 없다. 요르단 전으로 돌아보는 문제점들. 11 joel 24/02/19 956 8
    1367 역사 AI를 따라가다 보면 해리 포터를 만나게 된다. 4 코리몬테아스 24/02/18 1060 11
    1366 체육/스포츠(데이터 주의)'빌드업 축구'는 없다. 우루과이전으로 돌아보는 벤투호의 빌드업. 13 joel 24/02/12 1333 30
    1365 기타자율주행차와 트롤리 딜레마 9 서포트벡터 24/02/06 1190 7
    1364 영화영화 A.I.(2001) 18 기아트윈스 24/02/06 1119 23
    1363 정치/사회10년차 외신 구독자로서 느끼는 한국 언론 32 카르스 24/02/05 2563 12
    1362 기타자폐아이의 부모로 살아간다는건... 11 쉬군 24/02/01 2155 69
    1361 일상/생각전세보증금 분쟁부터 임차권 등기명령 해제까지 (4, 完) 6 양라곱 24/01/31 2818 37
    1360 기타텃밭을 가꿉시다 20 바이엘(바이엘) 24/01/31 1006 10
    1359 일상/생각한국사회에서의 예의바름이란 18 커피를줄이자 24/01/27 6536 3
    1358 일상/생각전세보증금 분쟁부터 임차권 등기명령 해제까지 (3) 17 양라곱 24/01/22 6163 22
    1357 일상/생각전세보증금 분쟁부터 임차권 등기명령 해제까지 (2) 17 양라곱 24/01/17 5697 14
    1356 요리/음식수상한 가게들. 7 심해냉장고 24/01/17 1257 20
    1355 일상/생각전세보증금 분쟁부터 임차권 등기명령 해제까지 (1) 9 양라곱 24/01/15 2676 21
    1354 기타저의 향수 방랑기 31 Mandarin 24/01/08 3296 2
    1353 의료/건강환자의 자기결정권(autonomy)은 어디까지 일까? 7 경계인 24/01/06 1285 21
    1352 역사정말 소동파가 만들었나? 동파육 이야기. 13 joel 24/01/01 1310 24
    목록

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

    댓글