[뉴스비전e 김호성 기자] 빠른 칩, 더 많은 저장공간을 갖은 스토리지, 그리고  오픈 라이브러리 또는 프레임워크 등은 뉴럴(neural) 네트워킹, 이른바 신경망에 새로운 전환의 계기가 되고 있으며, 기업들은 다양한 시장에서의 최적화에 대한 고민을 하고 있다. 

최근 AI분석 플랫폼을 제조와 마케팅등에 적용하겠다고 밝히며, 윤심 삼성SDS 연구소장 역시 "스파크(spark)든, 텐서플로(Tensor Flow)든, 스칼라(Scala)든,  어떤 프레임워크 또는 라이브러리를 기반으로 만들었느냐보다 더욱  중요한건 얼마나 최적화 되게 했느냐다"라고 강조하기도 했다. 

아마존 웹서비스(AWS) 등과의 협업을 통해 저장공간을 충분히 하고, 만들어진 라이브러리든, 만들어야할 프레임워크 등  알고리즘을 효율화한 이후 고민하고 있는건 최적화이며, 이 단계에서 기업들이 고민하고 있는 것은  이른바 '넥스트 신경망'이다. 

4층 신경망 구조 <자료 / 마이클 A 닐슨>

 

▲알고리즘의 진화...넥스트 인공신경망

1940년대 후반의 'Claude Shannon'의 이론에 기반한 신경망은 그간 진화속도가 느렸다는 평가다. 

이론은 먼저 나왔지만, 저장공간·알고리즘·프로세서 등의 동반해야할 요소들의 진화속도가 느렸고, 특히 이를 적용해야 할 니즈가 없었기 때문이다. 

그러나 자율주행차 등 4차산업시대에 적용되야 할 산업이 확대되면서, 신경망에도 변화가 생겼으며, 많은 기업들은 AI, 임배디드, 머신러닝과 같은 관련 시장에 막대한 연구비를 쏟고 있다. 

ARM의 이미지&비전 그룹의 총책임자인  Tim Ramsdale은 "프로세싱 파워가 커지고, 컴퓨팅 기술이 개선되는만큼, 거대한 시장이 생겨나는 기회가 발생하고 있다"라며 "그러나 이와 같은 처리는 실시간으로 아주 빠른속도로, 이뤄저야 한다"고 강조했다. 

문을 열자마자 센서가 사람이 들어오는걸 감지하고, 조명을 켜는 간단한 작동에만,  초당 최소 30프레임을 처리해야 하는데, 가장 가장자리에서 가장 저전력으로 처리해야 하는 조건이 더해진다. 

딥 러닝이 자율주행차와 같은 안전 문제가  민감한 곳에 적용되면서 이제 기술은 알고리즘 구현과 업데이트에 있어 얼마나 효율적인 프로세스를 제공하느냐에 초점이 맞춰있다. 

C++구현에서 HDL코드와와의 융합 등은 보다 적합한 하드웨어 플랫폼, 보다 적당한 알고리즘을 만들어내기 위해서다. 

딥러닝은 비정형 데이터 분석에 큰 잠재력이 있지만, 구현과정의 복잡함과 많은 데이터를 필요로 하면서 이에 따라 연산력이 수반되야 한다는 어려움이 있다. 

이와 같은 어려움을 극복하려는 연구와 노력이 계속되고 있으며, 구글의 텐서플로(TensorFlow), 마이크로소프트의 코그너티브 툴킷(CNTK),  바이두의 패들(Paddle) 등 프레임워크 경쟁으로 이어지고 있다. 

 

 창작의 영역으로 도전하는 구글

구글은 텐서플로우를 자사가 만든 하드웨어(연산장치) TPU와 연결할 수 있는 도구로 내세우는 한편, 오픈 라이브러리인 텐서2텐서를 공개하기도 했다. 

여기에 구글은 알고리즘의 적용을 창작의 영역으로 확대하고 있다. 

구글의 마젠타 프로젝트에서, 딥러닝 혹은 강화학습을 사용해 모델을 학습시켜 머신러닝에게 그림을 가르치는 연구를 진행하고 있다. 

<사진 / 딥마인드>

'머신러닝을 통해 음악 또는 예술 작품을 만들고자 하는 호기심'에서 시작된 프로젝트로, 머신러닝을 창작의 영역으로 확대하기 위해서다. 

이 마젠타 프로젝트는 단지 새로운 예술작품을 만드는 것에 그치지 않고, 예술 및 음악 창작법을 학습하는 알고리즘을 설계해 인간이 어떤 부분에서 감동과 흥미를 느끼는지 이해하고 창작에 활용하는 연구과정이다. 

더글라스 에크 구글 리서치 사이언티스트는  "레스 폴이 전자 기타를 개발하면서 많은 뮤지션들로 하여금 영감을 작품으로 이끌어냈던 것처럼 마젠트 프로젝트가 아티스트들이 다양한 것을 시도할 수 있는 도구와 같은 것을 만들고자 하는 노력을 이어가고 있는 중이다."라고 지난주 구글코리아가 진행한 강의에서 설명하기도 했다. 

중요한 건, 모델 트레이닝이다. 최적의 모델을 찾아 자꾸자꾸 반복해 학습하는거다.  

픽셀이나 이미지에 기반을 두고 신경망이 여러 층으로 쌓여있는 상황에서 아래층의 신경망에서는 단순한 선이나 색상을 인식하고 학습하지만, 단계를 거치면서 그 범위를 넓혀, 궁극적으로 수만 개의 이미지를 인식할 수 있도록 한다.

이와 같은 과정에서 인간이 생각해 온것과 비슷한 방향의 창작을 할수 있을 것이라는 기대다. 

이때 일상 사물을 스케치하는 생성 네트워크 순환신경망(RNN)도 등장한다. 이 알고리즘 역시 추상적 개념을 그려내고 일반화하는 창작을 위해 만들어졌다. 

 

텐서플로에 도전하는 MS의 CNTK

마이크로소프트는 딥러닝 분야에서 코그너티브 툴킷(CNTK)으로 구글에 도전하고 있다. 

MS는 지난달 초 인공신경망(neural networks)을 정의하고 학습시킬 수 있는 소프트웨어 '코그너티브툴킷(CNTK)' 새 버전을 오픈소스로 대중에게 공개했다. 

​지난해 10월 베타 버전으로 배포한 이후 대중들에게 오픈소스로 공개한 것이다. 

<사진 / MS CNTK 공식 블로그>

MS는 인공신경망을 만들수 있는 라이브러리에 대한, 속도와 정확성은 기본이고, 써드파티를 통해 텐서플로 등 다른 신경망 라이브러리도 쓸 수 있도록 하고 있다. 개방성을 강점으로 내세우는 셈이다. 

CNTK는 이제 스파크 처리 프레임워크 등을 직접 통합할 수 있는 자바 API를 제공하고, 텐서플로의 프론트엔드인 케라스(Keras) 같은 신경망 라이브러리용 코드도 지원한다. 케라스는 딥러닝 애플리케이션 개발자에게 인기가 많은 인공신경망 라이브러리다.

지난달 공개한 CNTK 2.0 버전 오픈소스 라이브러리 역시 케라스(Keras)를 지원한다. 개발자는 케라스를 사용해 작성한 코드를 고치지 않고 CNTK 2.0 버전을 사용할 수 있다. 

저작권자 © 뉴스비전e 무단전재 및 재배포 금지