본문 바로가기
AI · 인공지능/AI 칼럼

AI는 인간의 발견을 손쉽게 발견했다, 진화적 검색 알고리즘

by 두우우부 2020. 4. 9.
반응형

 

머신러닝 알고리즘의 진화적 검색으로 전자동 생산, AutoML-Zero

 

3개의 요점

✔️ 기본적인 수학 연산의 조작만으로 기계 학습 알고리즘을 자동 발견

✔️ Back Propagation으로 학습하는 신경망조차 발견

✔️ 인간의 선입견에 사로잡히지 않는 새로운 해법의 창조를 기대

AutoML-Zero : Evolving Machine Learning Algorithms From Scratch written by  Esteban Real ,  Chen Liang ,  David R. So ,  Quoc V. Le (Submitted on 6 Mar 2020) Comments : accepted by arXivSubjects : Machine Learning (cs.LG); Neural and Evolutionary Computing (cs.NE); Machine Learning (stat.ML)

AutoML-Zero, Evolving Machine Learning Algorithms From Scratch.pdf
0.87MB

 

시작하기

AutoML(Automated Machine Learning)은 실제 데이터에 기계 학습을 적용하는 프로세스를 자동화하는 기술입니다. 특정 문제에 대한 최적의 기계 학습 모델을 자동으로 구축하는 것도 포함되지만, 주로 신경망에 주목하고 있으며, 전문가가 설계한 레이어를 구성 요소로 구축하기 때문에 모델의 탐색 공간이 제한되고 있습니다.

 

AutoML-Zero는 기본적인 수학 연산을 구성 요소로 사용하는 것만으로도 완전한 기계 학습 알고리즘을 자동으로 발견합니다.

 

방법

AutoML-Zero는 기계 학습 작업(데이터 세트) T의 전체 세트에서 알고리즘을 자동 감지합니다. 서브셋 Tsearch⊂T에 대한 알고리즘의 정확도를 측정하고 고품질의 후보 알고리즘을 나열합니다. 검색(후보 알고리즘 생성) 후, Tsearch⊂T의 다른 하위 집합에서 성능을 측정하여 최적의 후보를 선택합니다.

 

검색 방법은 랜덤이라도 상관없습니다. 이는 진화적 검색의 효율성을 잘 나타내고 있습니다.

 

알고리즘은 세 가지 구성 요소 함수(Setup, Predict, Learn, 위 그림처럼)로 표현됩니다.

 

처음에는 Setup, Predict, Learn은 비어있는 공백의 명령입니다만, 진화적 검색에 의해 내용을 생성해 나가고 있습니다. 제안된 방법은 유전자 프로그래밍과 비슷하지만 코드는 트리로 표현되는 것이 아니라 일련의 명령줄로 표현합니다. 검색이 진행될수록 비어있던 함수에 명령이 생성되는 것입니다.

 

유전자 알고리즘(유전자 프로그래밍)은 생물의 진화를 흉내 낸 생식 돌연변이, 유전자 조작, 자연선택, 적자생존 등 진화의 구조에 영감을 얻은 탐색 기법으로 NP곤란 문제 등 검색 공간이 매우 큰 문제에 대한 근사 알고리즘으로 사용됩니다. 이는 진화의 구조에서 착안한 검색 방법입니다.

 

 

진화 검색의 상세

모(母)집단에서 우수한 알고리즘(상위 개체)을 부모로 선택하여(토너먼트 선택), 선택된 부모로부터 복사본을 생성하고 확률적으로 돌연변이시켜 그 자식 알고리즘을 모(母) 집단에 추가합니다. 그리고 모(母) 집단에서 가장 오래된 알고리즘을 삭제합니다. 생존에 우수한(=성능이 높은) 모델만을 살리고, 인위적으로 돌연변이를 일으키기를 반복하다 보면 최종적으로는 강력한 모델만이 남게 되는 것입니다.

 

돌연변이는 다음 중에서 랜덤으로 선택됩니다.

Type (i)    랜덤으로 명령을 삽입하거나 랜덤 한 위치에서 명령을 제거
Type (ii)   컴포넌트 함수 내의 모든 명령을 랜덤화
Type (iii)  명령 인수 중 하나를 랜덤 하게 변경

 

돌연변이의 구체적인 예는 다음과 같습니다.

 

알고리즘에 사용되는 65개의 명령은 단순한 기준으로 선택했습니다. 이들은 고등학교 레벨에서 학습되는 연산입니다.

 

아래 그림에서는 제안된 기법이 생성한 알고리즘의 진행을 보여줍니다. 실제 코드에는 쓸데없는 명령줄이 많았기 때문에, 그림상의 코드에는 정도에 변화가 없는 쓸데없는 부분이 삭제되어 있습니다.

 

 

알고리즘은 유용한 기능을 자동으로 추가하고 있다는 것을 알 수 있습니다.

 

예를 들어 입력에 노이즈를 추가하는 것으로, 정규화의 역할을 합니다. 이것은 평균 퍼셉트론과 비슷하지만, 평균이 아닌 입력값의 합계를 계산합니다. 그러나 계산 방법의 차이는 분류 정확도에 차이를 발생시키지 않습니다.

 

전반적으로, 생성된 알고리즘은 다양한 태스크에 잘 적응하는 것처럼 보이며, 제안된 프레임워크에서는 제로부터 시작해서 인간 수준의 모델 디자인에 도달하는 알고리즘을 발견할 수 있음을 보여줍니다.

 

학습 데이터의 양이 너무 적은 경우, 알고리즘은 노이즈의 추가를 통해 데이터를 증강시키고 있습니다. 학습 횟수가 적은 설정의 경우에는 학습률을 빠르게 저하시킵니다. 2 값 분류는 아니고, CIFAR-10 데이터 세트의 10 클래스 모두를 사용한 경우, 학습률로서 가중치 행렬 변환 방법을 사용합니다. 이것이 왜 유효한지 알 수는 없지만, 결과적으로 우선순위는 통계적으로 '유의'합니다.

 

Tsearch가 1작업만 하면 알고리즘은 하드 코딩된 예측 함수를 생성하지만 Tsearch를 100으로 증가시키면 알고리즘은 각 태스크에 서로 다른 가중치를 찾기 위해, 포워드 경로를 발견할 뿐만 아니라 오차 역 전파법을 '발견'하고 최적의 가중치를 학습합니다.

 

정리

AutoML-Zero의 궁극적인 목표는 새로운 기계 학습의 개념으로 이어지길 기대하며, 검색 공간에서 인간의 편견을 줄이는 것이었습니다. 이번 결과에서는 인간이 설계하는 분량 및 인간의 부담을 크게 절감하였고, 비 신경망 알고리즘의 발견도 가능하다는 것을 보여주었습니다. 결과는 유망합니다만, 여전히 미래의 과제가 많습니다(정교한 진화 계산법, 강화 학습, 베이지안 최적화, 그 외 AutoML의 개선법 등).

 

생성된 알고리즘의 해석도 생성된 원시 코드가 복잡하기 때문에 어려웠습니다. 기계 학습 연구에서 자주 일어나듯이 하이퍼 매개 변수의 조정이 필요하지만, 프로그램의 어떤 변수가 어떤 의미를 갖는지 즉시 모르는 경우가 많습니다. GPU의 사용 효율을 크게 절감시켰던 연구와 마찬가지로 검색 공간을 신중하게 설계하면 AutoML-Zero에도 상당한 개선을 가져올 수 있을 것입니다.

 

기계 학습 알고리즘을 제로부터 발견한 이번 결과는 이 분야의 새로운 가능성을 보여주었습니다.

 

반응형