본문 바로가기

카테고리 없음

최근 인공지능의 발전

오랜만에 집에 와서 글을 써 본다. 탁자에 앉아서 바로 생각 나는 데로 쓰는 것은 아니다. KTX에서 대부분의 플로우를 생각해 왔다. 이번 포스팅에서 얘기하고 싶은 것은 최근 미디어에서 많이 얘기하는 인공 지능 기술에 관한 것이다. 왜 갑자기 인공지능이 대두되고 있는 지, 어떤 것이 과장이고 어떤 것이 사실인 지에 관하여, 인공지능 전공 대학원생 입장에서 아는 만큼 서술해보려고 한다.

 

최근 컴퓨터 기술의 발전으로, 불가능하게 여겨졌던 것들, 혹은 달성하기 어려울 것이라 생각했던 것들이 가능해지고 있다. 아마 과학 분야를 잘 모르는 사람들은 최근 인공지능의 발전에 대해 얘기해야 한다면 아마 알파고(AlphaGo)를 떠올리고 그와 관련된 방향을 떠올릴 것이다. 물론 알파고는 중요한 벤치마킹이었지만 그 기반이 된 기술인 강화 학습은 아직 산업 영역에 적용되기 보단, 학문적으로 연구될 것들이 많이 남아 있다. 강화 학습을 자율 주행 및 로봇 제어 등에 적용하려는 활발한 시도들이 있으나, 당장 적용되기에는 쉽지 않은 것 같다. (주된 이유는 샘플 효율성(sample efficiency)이 떨어지기 때문이다. 알파고와 같이 완전히 소프트웨어 공간에서 동작하는 경우에는 컴퓨터 상에서 빠른 속도로 시뮬레이션을 돌릴 수 있다. 그러나 자율주행이나 로봇 제어 등 실제 공간에서 동작해야하는 경우에는 시뮬레이션을 물리 세계에서 돌려야 하는데, 이는 빠르게 돌릴 수 없기 때문에 학습에 매우 오랜 시간이 걸리게 된다. )

 

사실 최근 인공지능의 발전과 붐(boom)을 견인하는 영역은 컴퓨터 비전, 자연어 처리, 음성 처리의 지각(perception)’ 영역이다. 인공지능에는 지각, 계획, 학습, 행동, 추론 등 다양한 하위 분야가 있다. 여기서 지각 기술 영역에 대해 더 알아보자. 이 영역은 AI가 사람처럼 사물과 상황을 인식하고 이해할 수 있게 만드는 영역이다. 컴퓨터 비전 분야는 컴퓨터 그래픽스와 구분되게 객체 인식, 검출, 3D 모델링, segmentation 등 인간의 눈과 뇌가 수행하는 역할을 구현하려고 노력한다. 음성과 자연어 처리도 비슷한 맥락이다.

 

그럼 몇몇 유명한 연구 사례를 바탕으로 현재 가능해 졌거나 빠른 기한 내에 가능할 것 같으면서, 산업 자동화 및 보조에 큰 영향을 끼칠 것 같은 기술들을 알아보자.

 

(1)   이미지 인식 및 분류

이 모든 딥러닝 광기는 2012ILSVRC 대회에서 AlexNet [1]runner-up 모델을 큰 마진으로 제치고 우승하면서부터 시작되었다. 그 이후로 CNN(Convolutional Neural Network)를 기반으로 한 딥 뉴럴 네트워크 기법을 컴퓨터 비전 분야에 적용하려는 유행이 생겨났고, 아직까지 활발히 이어지고 있다.

AlexNet의 구조

여기서 CNN이란 뉴럴 네트워크의 한 종류이다. 기존의 MLP (Multi-Layer Perceptron)에 비해 네모낳게 생겼고, 파라미터 수를 줄이기 위해 weight sharing을 하였다. 물론 마지막엔 분류기를 달아야 하기 때문에 feature를 쫙 일자로 펼친 다음 MLPSVM을 올리는 것이 보통이다. ImageNet과 같은 대규모 대중에 공개된 데이터 셋의 등장과 GPU를 통한 병렬 연산의 효율성 증가, 컴퓨팅 파워의 증가, tensorflow, pytorch, caffe, chainer 등 딥러닝 프레임 워크의 발달에 힘 입어 CNN은 날개를 달았다.

이게 대체 뭔 개떡 같은 소리인가?? 그래서 이게 뭔솔? 뭘 할 수 있는 거냐고 물어본다면 다음과 같이 이미지를 분류할 수 있다는 것이다.

이미지 분류 태스크

 

(2)   객체 검출

다음으로 영향력 있는 것은 아마 객체 검출이 아닐까 싶다. 객체 검출이란 이미지 내에서 유의미한 객체들을 검출 (주로 객체를 둘러싸는 네모난 박스를 친다)하는 것을 말한다. RCNN, Fast RCNN, Faster RCNN [2], Mask RCNN으로 발전한 스토리는 매우 유명하다.

객체 검출 태스크

유명한 Faster RCNN 의 경우 우선 backbone 네트워크로 feature를 뽑은 후, feature 공간 상에서 네모 박스를 고르게 분포 시킨다. 이를 anchor라고 한다. 그 다음은 RPN (Region Proposal Network)을 이용하여 박스 내에 객체가 있는지 없는지 판별하며, 객체가 있다면 객체를 좀더 잘 둘러싸도록 박스를 이동시킨다. 그 다음 분류기를 통과 시켜 그 객체가 무엇인지 분류한다.

 

(3)   자동 번역

요즘 파파고나 구글 번역의 수준이 꽤 좋아졌다. 아직 만능은 아니지만 실생활에서 써먹을 정도까지 번역 수준이 올라갔다. 이는 꽤 최근의 일이다. 3~4년 전만 해도 이런 것은 상상하기 힘들었으며 학교 숙제를 한글로 쓴 다음 구글 번역을 돌리면 우스꽝스러운 결과를 얻기 마련이었다. 그런데 요즘은 진짜 꽤 잘 되지 않는가? 이는 대량의 데이터, LSTM, Attention, Transformer, cycle consistency의 발명 덕분이라고 볼 수 있을 것 같다.

프랑스어 번역 결과를 Truth와 비교

Sutskever [3]2014년에 LSTM을 번역 모델의 인코더 및 디코더로 모두 활용하는 이른바 seq2seq모델을 제시하며 번역 성능을 끌어 올렸다.

 

 

(4)   음성 인식 및 생성

최근 3~4년간 적용된 혁신 중 하나는 Siri, Bixby, Google Assistant로 대변되는 음성 인식 비서라고 할 수 있다. 음성 신호는 이미지와는 다르게 파동 형태를 띄고 있고 엄청 길며, 시간 의존성을 가지고 있다. 따라서 2012년 이전까지만 해도 HMM (Hidden Markov Model)을 주로 사용하여 소리를 모델링 했다. 그러나 LSTM이 개발되면서 음성 처리에서 HMM은 역사 속으로 사라졌다. LSTM, Attention, 1D dilated convolution, transformer 등의 기법이 지금은 주류를 이루고 있다. 유명한 연구들이나 데모를 원한다면

https://deepmind.com/blog/article/wavenet-generative-model-raw-audio

https://ieeexplore.ieee.org/document/8632885

첫 번째는 DeepMind의 유명한 WaveNet [4] 블로그이다. 음성을 매우 그럴 듯 하게 합성할 수 있다고 한다. 두 번째는 음성 분야의 리뷰 논문이다.

 

(5)   이미지 변환 및 합성

이미지 변환 연구는 이전부터 많이 존재해 왔으나 딥러닝의 등장으로 좀더 불가능해 보이는 변환들이 가능해졌다. 그것은 예를 들어, 스타일 전이, 자동 채색, super resolution, 도메인 전이 등을 말한다. 이에 대한 최초의 논문이랄 것은 말하기 애매하지만, 유명한 연구로 pix2pixCycleGAN [5]을 들 수 있을 것 같다.

이미지 도메인 전이

위 그림처럼, 한 이미지를 다른 도메인으로 변이시킬 수 있다.

또한 시각적으로 놀라운 연구로 Gatys [6]의 연구를 들 수 있을 것 같다.

예술적 이미지 스타일 전이

이처럼 한 이미지를, 화풍에 따라 다양한 이미지로 변환할 수 있다.

 

 

놀라운 사실은 지금까지 언급한 기술들이 최근에는 공통적인 핵심 방법론에 기반하고 있다는 것이다. 바로 지도 심층 학습 기법 (supervised deep learning)’이다. 지도 심층 학습 기법이란 다량의 레이블드 데이터 (labeled data)를 이용하여 깊은 뉴럴 네트워크를 학습하여 구하기 어려운 함수를 근사하는 방식을 말한다. 이를 위해선 우선 레이블드 데이터 (paired data or labeled data)가 필요하다. , (X,Y) 쌍을 많이 (~10,000개 이상) 준비해야 한다. 그 다음 심층 인공 신경망이라는 모델에 집어넣는다. 그럼 이 모델은 학습 시에 보여 주었던 X가 들어왔을 때, 그에 해당하는 Y를 예측할 수 있을 뿐만이 아니라 이전에 보지 않았으나 비슷하면서 새로운 X를 입력 받아도 그럴듯한 출력 Y를 예측한다.

 

아무튼 그렇다. 좀더 테크니컬한 내용을 알고 싶다면 Andrew NgCoursera 강의와 Karpathy가만든 stanfordcs231n 강의를 추천한다. 향후 10년 간은 인공지능이 어쩌네 저쩌네 하는 얘기가 나온다면 위에서 서술한 것이 주류라고 보면 된다. 물론 기술의 발전 속도가 매우 빠르기 때문에 언제 또 딥러닝을 능가하는 새로운 컴퓨터 기술의 혁신이 나올지는 모를 일이다.

 

그렇다면 지각 영역 이외의 인공 지능 이야기는 다 뭘까? 인공지능으로 금융을 한다, 아니면 날씨를 예측하네 등등 하는 이야기들 말이다. 이것들도 허망한 얘기는 아니지만 적어도 아직까지 딥러닝 기법이 이미지, 비디오, 음성, 자연어 처리에 대해 기존 방법들 보다 우수하다는 것은 거의 누구나 인정하는 사실이지만, 이를 벗어난 데이터 및 영역에 대해서도 그러한지는 아직 연구 단계에 있으며 그럴 때도 있고 아닐 때도 있는상태라고 나는 생각한다.

 

따라서 인공지능을 이용한 사업을 계획하고 있다면 지도 심층 학습 기법을 지각 영역에 적용하여 산업을 혁신할 수 있는 방법을 찾는 것이 좋지 않을까 생각한다.

 

그럼 20000.

 

참고 문헌

[1] Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, ImageNet Classification with Deep Convolutional Neural Networks, NIPS 2012

[2] Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun, Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, NIPS 2015

[3] Ilya Sutskever, Oriol Vinyals, Quoc V. Le, Sequence to Sequence Learning with Neural Networks, NIPS 2014

[4] Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen SImonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, Koray Kavukcuoglu, WaveNet: A Generatvie Model for Raw Audio, Arxiv 2016

[5] Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, ICCV 2017

[6] Leon A. Gatys, Alexander S. Ecker, Matthias Bethge, Image Style Transfer Using Convolutional Neural Networks, CVPR 2016