AI 머신러닝 모델, 자동으로 생성하고 스스로 진화하는... 구글 'AutoML-Zero' 오픈 소스로 공개
AI 머신러닝 모델, 자동으로 생성하고 스스로 진화하는... 구글 'AutoML-Zero' 오픈 소스로 공개
  • 박현진 기자
  • 승인 2020.08.22 21:00
  • 댓글 0
이 기사를 공유합니다

머신러닝 모델을 스스로 생성하고 진화하는 알고리즘(사진:본지)
머신러닝 모델을 스스로 생성하고 진화하는 알고리즘(사진:본지)

구글의 머신러닝(ML) 연구진이 컴퓨터 프로그램이 스스로 머신러닝 예측 모델을 자동으로 생성할 수 있는 ‘AutoML-Zero’ 알고리즘을 'AutoML-Zero: 처음부터 진화하는 머신러닝 알고리즘(AutoML-Zero: Evolving Machine Learning Algorithms from Scratch)' 논문을 통해 최근 발표했다.

이 AutoML-Zero 시스템은 진화 최적화의 한 형태를 사용한다. 빈 컴퓨터 프로그램 세트에서 시작하여 시간이 지남에 따라 복잡한 머신러닝 이미지 분류 알고리즘은 기존 인간이 복잡한 수작업으로 코딩 된 알고리즘의 분류 정확도와 일치하거나 심지어 그 정확도를 초과할 수 있는 진화를 한다.

주목할 만한 점은 AutoML-Zero가 자동 생성해낸 알고리즘에는 퍼셉트론 학습(Perceptron Learning) 및 신경망과 같은 수십 년간의 인간의 머신러닝 연구 결과인 알고리즘이 포함되어 있다. 그리고 기본 신경 프레임 워크로 시드(Seeded)되었을 때 AutoML-Zero는 정규화, 가중치 감소, 적응형 학습률과 같은 학습 최적화 기술을 발견한 것이다.

진화 최적화(Evolutionary optimization 이하, EO)는 문제를 해결하는 특정 알고리즘을 구성하는 데 사용할 수 있는 메타 휴리스틱(Meta-Heuristic, 일반 지침의 집합)이다. EO 지침은 자연 선택과 염색체 돌연변이와 같이 생물학적 시스템에서 발견되는 과정과 관련된 아이디어에 매우 느슨하게 기초하고 있다. EO는 많은 생물학에서 영감을 받은 메타휴리스틱스 중 하나이다.

진화 실험의 진행, 시간이 지남에 따라 왼쪽에서 오른쪽으로 알고리즘이 더욱 복잡해지고 정확해진다.(사진:논문캡처)
진화 실험의 진행, 시간이 지남에 따라 왼쪽에서 오른쪽으로 알고리즘이 더욱 복잡해지고 정확해진다.(사진:논문캡처)

또한 AutoML이라는 용어는 사람이 입력하는 것이 제한적이거나 없는 머신러닝 예측 시스템의 일부를 프로그래밍적으로 결정하거나 계산하는 시스템을 설명하는 데 사용된다. 한 예로, 프로그램 방식으로 신경망 분류기에 좋은 아키텍처를 찾는 것이 있는데, 여기에는 숨겨진 계층의 수, 각각의 숨겨진 계층의 노드 수, 숨겨진 계층 활성화 기능 등이 포함된다.

또 다른 예로는 하이퍼 파라미터 튜닝(Hyperparameter Tuning)이 있다. 예를 들어, 배치 크기, 학습 속도, 운동 속도, 체적 감량 상수(Weight Decay Constant) 등과 같은 훈련 알고리즘 매개변수에 대해 프로그램 방식으로 가장 좋은 값을 찾는다.

일반 AutoML을 높은 수준의 추상화에서 사용하여 다양한 머신러닝 기술을 평가할 수도 있다. 예를 들어, "남성"이나 "여성"과 같은 범주적 가치를 예측하는 것이 목적인 이항분류 문제의 경우 가능한 기법으로는 로지스틱 회귀(logistic regression), 프로빗 회귀(probit regression), 가중치 수용론(weighted perceptron), 지원 벡터 머신 등과 신경망, 선형 판별 분석 및 대규모 의사 결정 트리 접근 방식 등 AutoML 시스템은 이러한 다양한 머신러닝 기술을 지능적으로 탐색하고 좋은 기술을 선택할 수 있다.

AutoML 시스템을 사용하여 전체 ML 시스템의 한 부분을 결정하는 것 외에도 연구팀은 머신러닝 시스템의 두 개 이상의 부분을 결정하는 AutoML 시스템을 개발했다. 예를 들어 신경망 아키텍처, 우수한 학습 알고리즘 및 초 매개 변수(하이퍼 파라미터) 값을 선택하는 AutoML 시스템을 만들 수 있다.

AutoML-Zero 시스템은 진화 최적화 및 일반 AutoML의 규모와 범위를 확장한다. 또 시스템은 가능한 각 솔루션이 머신러닝 분류 모델을 생성하는 파이썬(Python) 언어 프로그램인 EO 형식을 사용한다. 가능한 각 프로그램 솔루션은 설정(), 예측() 및 학습()의 세 가지 핵심 함수로 구성된다. 세 가지 핵심 함수는 Evaluate()라는 고급 제어 함수에 사용된다.

대부분의 AutoML-Zero 연구 실험은 잘 알려진 벤치마크 CIFAR-10 이미지 데이터 세트를 사용한다. 데이터 세트는 총 60,000 개의 작은 이미지로 구성된다. 각 이미지의 크기는 32 x 32 픽셀로 이미지는 컬러이므로 각 픽셀에는 빨강, 녹색 및 파랑 채널에 대해 각각 하나씩 세 개의 값이 있다. 따라서 각 CIFAR-10 이미지에는 32 * 32 * 3 = 3072 입력 값이 있다.

돌연변이의 개요(사진:논문캡처)
돌연변이의 개요(사진:논문캡처)

AutoML-Zero 어휘는 스칼라, 벡터, 행렬과 65 개의 연산으로 구성된다. 연산은 의도적으로 스칼라 덧셈(Scalar Addition), 벡터 내적(Vector Dot Product), 매트릭스 트랜스포즈(Matrix Transpose) 및 통계 평균과 같은 비교적 단순한 작업과 더불어 초기화를 위한 균일 및 가우스 확률 값에 대한 함수로 제한되었다. 또한 변이는 AutoML-Zero가 새로운 알고리즘을 만들기 위해 사용하는 핵심 메커니즘이다. 변이는 세 가지 주요 유형으로 임의 명령어를 삽입하거나 제거하고, 기존 명령 요소 함수를 랜덤화하며, 기존 명령어 인수를 수정한다.

다. AutoML-Zero 시스템은 성능을 높이기 위해 몇 가지 영리한 엔지니어링 기술을 사용한다. 또한 가능한 알고리즘의 거대한 검색 공간의 탐색을 강화하기 위해 마이그레이션을 포함한 여러 모집단 같은 일부 메타 레벨 기법을 사용한다. 더 자세한 내용은 첨부된 연구 논문을 참고(다운)하면 된다.

한편, AutoML-Zero는 앞으로 등장할 수많은 자동 머신러닝 생성 인공지능 중 매우 의미 있는 접근법으로 무궁무진한 가능성을 보여준 것이다. 이번 구글의 처음부터 진화하는 머신러닝 알고리즘 AutoML-Zero는 지난달 12일부터 18일까지 오스트리아 비엔나에서 가상으로 개최된 'ICML 2020: 제 37차 머신러닝 국제 컨퍼런스(ICML 2020 : 37th International Conference on Machine Learning)에서 발표됐다. 구글 리서치가 오픈 소스로 공개한 AutoML-Zero 알고리즘 및 자세한 내용은 깃허브를 통해 다운받아 누구나 사용할 수 있다.


 


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.