출처: https://medium.com/@thoszymkowiak/deepmind-just-published-a-mind-blowing-paper-pathnet-f72b1ed38d46#.o6v4p6z3v


pathnet에 대한 이미지 검색결과


최근 딥마인드에서 발표한 PathNet의 개요도


PathNet은 다수의 모듈로 이루어진 층들로 구성되어 있으며, 모듈 각각은 인공신경망이다.




Since scientists started building and training neural networks, Transfer Learning has been the main bottleneck. Transfer Learning is the ability of an AI to learn from different tasks and apply its pre-learned knowledge to a completely new task. It is implicit that with this precedent knowledge, the AI will perform better and train faster than de novo neural networks on the new task.


과학자들이 인공신경망을 만들고 학습을 시키던 초창기부터 가장 큰 문제점은 전이학습이었다. 전이학습이란 인공지능이 다양한 과제를 수행하면서 배운 지식을 전혀 새로운 과제에 적용하는 능력을 말한다(예를 들어 당신이 방문을 어떻게 여는지 배웠다면, 지금까지 본 적이 없는 찬장 문이나 창문도 어렵지 않게 열 수 있을 것이다). 전이학습이 가능한 인공지능은 예전에 배웠던 지식을 가지고서 새로운 과제를 신규 인공신경망보다 더 잘 수행하고 더 빨리 학습한다.



DeepMind is on the path of solving this with PathNet. PathNet is a network of neural networks, trained using both stochastic gradient descent and a genetic selection method.


구글의 자회사이자 영국의 인공지능(AI) 프로그램 개발 회사인 딥마인드는 전이학습 문제를 PathNet으로 해결하려 한다. PathNet은 다수의 인공신경망으로 이루어진 망으로, 확률적 기울기하강(stochastic gradient descent)과 유전적 선별방식(genetic selection method)를 이용하여 학습한다.



PathNet is composed of layers of modules. Each module is a Neural Network of any type, it could be convolutional, recurrent, feedforward and whatnot.


PathNet은 모듈들로 구성된 층들로 이루어져 있다. 여기서 모듈 각각은 인공신경망이며, 그 종류는 회선신경망이나 재귀신경망 또는 앞먹임신경망 등 아무거나 될 수 있다.



1*xs89ZrWSDXc4lh7y9QYsKw.png

그림 1. 딥마인드에서 개발한 PathNet의 학습과정 개요도


1. 먼저 PathNet의 경로를 랜덤으로 초기화시킨다(1번 박스의 보라색 선).


2. 퐁(막대기를 위아래로 움직여서 화면에 움직이는 공을 쳐내는 고전게임)을 학습시킨다.


3. 학습이 끝나면 가장 뛰어난 성적을 보인 경로(5번 박스의 빨란색 선)을 선택해 고정시킨다.


4. 또다시 새 경로(인공신경망들간 연결선)을 랜덤으로 생성한다(5번 박스의 하늘색 선).


5. 이번에는 에일리언(화면 위에 떠다니는 외계인들을 밑에서 전투기가 쏘아 맞히는 고전게임)을 학습시킨다.


6. 학습이 끝나면 가장 뛰어난 성적을 보인 경로(9번 박스의 파란색 선)을 선택해 고정시킨다.



Each of those nine boxes is the PathNet at a different iteration. In this case, the PathNet was trained on two different games using a Advantage Actor-critic or A3C. Although Pong and Alien seem very different at first, we observe a positive transfer learning using PathNet (take a look at the score graph).


그림 1의 박스 각각은 훈련단계별 PathNet을 보여주고 있다. 본 예제에서 PathNet은 퐁과 에일리언을 학습했다. 비록 퐁과 에일리언은 매우 다른 게임이지만, 그림 1 아래에 있는 게임점수 추이를 보면 PathNet의 이전학습이 긍정적임을 알 수 있다(다시 말해서 처음에 퐁을 배웠던 것이 나중에 에일리언을 배우는데 도움이 되었다).


How does it train

대체 어떻게 학습을 하는 거요?


First of all, we need to define the modules. Let L be the number of layers and N be the maximum number of modules per layer (the paper indicates that N is typically 3 or 4). This last layer represents the value function and policy evaluation.


먼저 모듈이 무엇인지 정의해야 한다. L이 층의 개수이고 N은 한 층당 최대 모듈 개수라고 하자(딥마인드에서 발표한 논문을 보면 N이 대략 3 ~ 4개라고 한다). 마지막 층은 가치함수와 정책평가를 표현한다.


After defining those modules, P genotypes (=pathways) are generated in the network. After T episodes, a worker selects a couple of other pathways to compare to, if any of those pathways have a better fitness, it adopts it and continues training with that new pathway. If not, the worker continues evaluating the fitness of its pathway.


모듈을 정의하고 나면 PathNet 내부에 P개의 유전자형(=경로들)이 생성된다. T번의 연습이 끝난 뒤 몇 개의 경로들을 골라 서로 비교하여 어느 경로가 가장 점수를 많이 올렸는지 확인한다. 이 중에서 가장 많이 점수를 올린 경로를 선택하여 그 경로를 가지고 학습을 계속한다. 만일 딱히 점수를 높게 받은 경로가 없을 경우에는 평가작업을 계속 진행한다.


Transfer learning

전이학습

After learning a task, the network fixes all parameters on the optimal path. All other parameters must be reinitialized, otherwise PathNet will perform poorly on a new task.


과제를 학습한 뒤에 PathNet은 최적의 경로를 이루는 모든 파라미터를 고정시킨다. 그 외에 다른 파라미터들은 모두 초기화된다. 이렇게 하지 않으면 PathNet은 나중에 새로운 과제를 수행할 때 어려움을 겪게 된다.


Results

결과

1*i5XXaJ6VSjnA5iSFHUnlMA.png


그림 2. 위 표는 각 게임쌍에 대한 성능(게임 1을 먼저 학습시킨 다음 게임 2를 학습시켰을 때

점수를 더 잘 따는지 아니면 못 따는지 여부)를 비교한 것이다.


여기서 맨 위 열에 있는 de novo는 특정 게임 하나만 전문적으로 학습시킨 인공신경망을 말하며, 해당 인공신경망의 성능을 1로 놓았다.


그 아래 3열은 미세조정을 거친 인공신경망, 마지막 3열은 PathNet이다.


칸의 점수가 1보다 크면 게임 하나만 전문적으로 배운 인공신경망보다 점수를 더 빨리 많이 땄다는 것이고,


1보다 작으면 그 반대로 점수를 잘 못 땄다는 것이다.

다시 말해 칸의 점수가 1보다 크면(녹색칸) 이전학습이 성공적인 것이고, 1보다 작으면(파랑칸) 그 반대이다.



PathNet does not work on every pair of game (blue cells equal negative transfer). But the important takeaway here is that PathNet actually works for some sets of games, which is already an immense step towards better transfer learning.


위 표를 보면 알 수 있듯이 PathNet은 모든 게임쌍에 대해 효과가 있지는 않았다(파란 칸은 전이학습이 부정적으로 이루어진 것을 뜻한다). 하지만 중요한 점은 PathNet이 실제로 몇몇 게임쌍에 대해 효과가 있었다는 점이다. 이는 좀 더 개선된 전이학습을 향한 큰 도약이라 할 수 있다.


Extrapolating

전망

We can imagine that in the future, we will have giant AIs trained on thousands of tasks and able to generalize. In short, General Artificial Intelligence.


미래에는 수 천개의 다양한 과제를 학습하면서 일반화를 할 수 있는 거대 인공지능들이 개발될 수도 있다. 이는 곧 일반인공지능(멀티백? -_-)의 등장을 의미한다.


논문링크: https://arxiv.org/pdf/1701.08734.pdf



data-14x11.jpg