구글 AI, 인간 프로그래머 능가하는 코드 자동 생성 기술 '오토ML(AutoML)' 공개
2017년 5월, 구글 브레인 팀이 오토ML(AutoML)이라는 새로운 접근법을 발표했습니다. 특정 작업을 수행하도록 훈련될 수 있는 자식 모델 아키텍처를 개발하는 컨트롤러 신경망입니다. 간단히 말해, 스스로 AI를 생성하는 AI입니다.
사용된 데이터셋
구글 연구진은 펜 트리뱅크(Penn Treebank)와 CIFAR-10 같은 소규모 학술 데이터셋으로 오토ML을 테스트했습니다. 이후 오토ML에 지금까지 가장 어려운 도전을 제시하기로 했습니다. 이번에는 COCO 객체 탐지와 이미지넷(ImageNet) 이미지 분류 같은 대규모 데이터셋을 테스트했고, 결과는 놀라웠습니다.
여러 최첨단 머신러닝 아키텍처가 학술 대회에서 대규모 데이터셋 작업을 위해 인간에 의해 개발되었습니다. '확장 가능한 이미지 인식을 위한 전이 가능한 아키텍처 학습(Learning Transferable Architectures for Scalable Image Recognition)' 연구에서 구글 연구진은 가장 인기 있는 두 학술 데이터셋인 COCO와 이미지넷에 오토ML을 적용했습니다. 네이티브하게 오토ML을 이 대규모 데이터셋에 적용하면 원하는 결과를 얻기까지 몇 달의 훈련이 걸립니다.
작동 원리
오토ML은 강화학습 알고리즘과 진화 알고리즘을 기반으로 합니다. 그러나 이미지넷에 적용하기 위해 연구진은 대규모 데이터셋에 더 다루기 쉽게 수정했습니다.
- 최적의 레이어를 찾아 유연하게 여러 번 쌓아 최종 네트워크를 구성할 수 있도록 탐색 공간 재설계.
- CIFAR-10에서 아키텍처 탐색을 수행하고 최적의 학습된 아키텍처를 COCO 객체 탐지와 이미지넷 이미지 아키텍처로 전이.
이러한 변경 후 오토ML은 CIFAR-10뿐만 아니라 COCO 객체 탐지와 이미지넷 분류를 위한 최적의 레이어를 찾을 수 있었습니다. 이 두 레이어를 합쳐 NASNet이라는 새로운 아키텍처를 구축했습니다.
그림에서 보듯 오토ML이 개발한 NASNet 아키텍처는 일반 레이어(Normal layer)와 축소 레이어(Reduction layer) 두 가지 유형의 레이어를 포함합니다.
출처: 구글 리서치 블로그
결과
NASNet은 이미지넷 이미지 분류에서 82.7% 예측 정확도를 달성해, 구글 브레인 팀이 만든 이전 인셉션(Inception) 모델보다 훨씬 뛰어났습니다. 또한 이전에 발표된 미발표 결과를 포함해 1.2% 더 나은 성능을 보였습니다.
NASNet은 적절한 정확도를 유지하면서 계산 비용을 낮추는 모델 세트를 생성하도록 크기 조정도 가능합니다. 예를 들어 NASNet의 소형 버전은 계산 비용을 절반으로 줄이면서 74% 정확도를 내, 모바일 플랫폼용으로 설계된 동일 크기의 여러 최첨단 모델보다 3% 이상 우수했습니다.
그림에서 볼 수 있듯 NASNet 정확도는 다양한 모델 크기(연산 및 매개변수 수, 수백만 단위)에서 인간 설계 모델보다 높습니다.
이 표는 이미지넷 분류에서 아키텍처 탐색과 인간이 개발한 다른 모델들의 성능을 보여줍니다. Mult-Adds는 이미지 하나당 복합 곱셈-누적 연산 횟수를 의미합니다.
NASNet을 이용한 Faster-RCNN 객체 탐지
구글 연구진은 이미지넷에서 학습한 특징을 COCO 객체 탐지로 전이했습니다. 테스트에서 이미지넷 학습 특징을 Faster RCNN 프레임워크와 통합해 COCO에서 이전 예측 성능을 압도했습니다. 가장 큰 모델은 43.1% mAP를 달성해, 이전 최첨단 모델 결과보다 약 4% 향상되었습니다.
참고: arxiv.org
이미지 분류 추론용 NASNet 소스 코드와 객체 탐지용 코드는 깃허브(GitHub)에서 이용 가능합니다.
향후 전망
NASNet이 COCO와 이미지넷에서 학습한 특징은 여러 비전 앱에 재사용 가능합니다. 또한 이 접근법은 왜 특정 유형의 신경망이 그렇게 잘 작동하는지 이해하는 데 도움을 줄 수 있습니다.
오토ML은 머신러닝 분야를 비전문가에게 개방하고, 정교한 AI 기반 기계/로봇 개발에 활용될 수 있습니다. 한 연구에 따르면 이 수준의 AI는 시각 장애인이 시력을 회복하는 데 도움을 줄 수 있습니다.
분명히 이 아키텍처는 자율주행차에 사용될 수 있습니다. 교통, 도로 위험, 보행자 식별을 돕는 시스템을 상상할 수 있습니다. 증강현실에서 애플리케이션이 환경과 더 잘 상호작용하게 하는 데도 사용될 수 있습니다. 하지만 이 AI의 가장 흥미로운 응용은 아직 발견되지 않았을지도 모릅니다.
참고 읽기: 15가지 고급 인공지능 프로젝트
향후 구글 연구팀은 이러한 컴퓨터 생성 아키텍처의 분석과 테스트를 통해 이를 더 정교하게 이해하고 개선할 예정입니다. 성공한다면 완전히 새로운 유형의 신경망에 영감을 줄 수 있으며, 이는 모두에게 더 큰 영향을 미칠 것입니다.