본문 바로가기
IT,과학/IT일반

[컴퓨터 코딩과 프로그래밍] 인공지능의 역할은?

by 오우너 2018. 7. 4.
728x90
반응형

최근 ‘다 아는 단어인데도 뜻이 확실히 뭔지 애매한’ 말들이 범람하고 있다. 대표적인 게 4차 산업혁명이나 인공지능 같은 것들이다. 산업혁명이라고 하면 누구나 증기기관이나 전기에너지에 의한 대량 생산을 떠올릴 것이다. 흔히 4차 산업혁명의 핵심 기술은 인공지능이라고들 한다. 그런데 사람들에게 인공지능이 뭐냐고 물어보면 반응은 대략 두 가지로 요약된다.

경쟁사의 성공 사례에 고무된 경영층이라면 “모든 문제를 해결해줄 수 있는 만능 열쇠”라 할 테고, 인공지능을 한번쯤 배워본 사람이라면 “왕년에 써봐서 잘 아는데 말만 그럴듯하지 아무짝에 쓸모 없다”고 말할 것이다. 이처럼 ‘극과 극’ 반응이 나타나는 이유는 뭘까?

 

 

인공지능이 유독 어렵게 느껴지는 이유
인공지능을 한마디로 정의하긴 어렵다. 지능이란 것 자체가 모호해 인공적 재현이 힘든 까닭이다. 일반적으로 지능은 ‘외부를 인식하고 추론하며 적응하는 능력’으로 정의된다. 하지만 인간조차 그런 기능이 어떻게 발현되는지 모르는 상태에서 전통적 방법으로 지능을 만드는 건 결코 쉽지 않다.

일반적으로 인간에게 “어렵다”고 여겨지는 행위, 이를테면 큰 수를 곱하거나 미적분 하기 체스나 바둑 두기 금융 시장에서 투자 결정 내리기 등은 컴퓨터로 비교적 쉽게 처리할 수 있다. 반면, 사진 보고 개인지 고양이인지 구별하기 동화책 읽고 그 내용 이해하기 등 인간이 쉽게 해내는 행위를 컴퓨터로 구현해내긴 어렵다. 이 같은 현상을 ‘모라벡의 역설’이라고 한다.

 

 

실제로 우리가 쉽다고 느끼는 일은 대부분 매우 복잡하다. 쉽게 보이는 건 오랜 진화 과정을 거치며 최적화됐기 때문이다. 하지만 큰 수의 곱셈이나 체스 등은 진화 과정 중 겪어보지 못한, 생소한 일이다. 인공지능이 어려운 건 그게 기술인 동시에 풀어야 할 문제이고, 하나의 기술이 아니라 다양한 기술을 일컫기 때문이다. 말하자면 인공지능은 고유명사라기보다 보통명사에 가까우며, 그 때문에 접근하기가 더 까다롭다.

 

 

빅데이터 분석, 관리하는 핵심 소프트웨어
최근 널리 회자되는 4차 산업혁명은 사람과 사물, 공간을 초(超)연결해 산업 구조와 사회 체계에 혁신을 일으키는 게 골자다. 이는 세계 경제의 저성장 고착화와 경제인구 고령화에 따라 선진국을 중심으로 자본주의 경계를 지속하기 위한 시도라고 볼 수 있다.

오늘날 관련 기술 발달로 예전에 비해 정확도가 매우 높으면서 가격이 대폭 저렴해진 센서를 다양한 지점에 부착할 수 있게 됐다. 또한 정보통신 기술의 비약적 발전에 힘입어 자동 생산과 지능형 시스템 구축을 위한 요소기술도 완비됐다. 사물인터넷(IoT)은 이 같은 센서와 네트워크를 활용, 각종 빅데이터를 쏟아낸다. 결국 이를 효과적으로 관리, 분석하는 소프트웨어가 필요한데 그게 바로 인공지능이다.

인공지능 하면 대부분 막연하게 공상과학 영화를 떠올린다. 하지만 현실에서 인공지능 소프트웨어는 제조 현장에서 쏟아지는 빅데이터를 지능적으로 처리, 제조업 분야의 효율성과 서비스업 분야의 편의성을 높이는 데 활용된다. 이때 쓰이는 인공지능 기술은 대부분 고도의 계산을 필요로 하기 때문에 ‘클라우드 컴퓨팅’으로 대변되는 고성능 컴퓨팅 자원 활용이 필수다. 그렇게 되면 마치 컨트롤 타워처럼 빅데이터를 분석, 관리하는 소프트웨어로서 핵심적 역할을 수행할 것이다. 인공지능이 필요에 따라 상황을 해석하고 스스로 자동 갱신함으로써 새로운 차원의 산업혁명이 가능해지는 셈이다.

 

 

‘문제 해결형’ 컴퓨터 코딩 능력 키워야
불과 60여 년간 인공지능은 ‘무협지에서나 가능할 법한’ 부침을 겪으며 점진적으로 발전해왔다. 초창기 연구진은 인공지능을 너무 쉽게 생각해 ‘다양성’과 ‘예외성’으로 대변되는 지능의 본질 앞에서 좌절하기 일쑤였다. 이후 그들은 문제에 봉착할 때마다 전문가 시스템과 신경망, 딥러닝(deep learning)에 이르기까지 실로 다양한 방법을 시도했다. 혹자는 인공지능을 “어떤 문제도 해결할 수 있는 마법의 열쇠”로 여긴다. 하지만 인공지능으로 성공을 거두려면 풀고자 하는 문제를 잘 이해하고 정형화하는 노력이 선행돼야 한다.

 

 

또한 최근 인공지능 분야의 대세는 오픈소스 환경이다. 예전엔 하나의 기술이 개발, 보급되기까지 수년이 걸렸는데 최근엔 깃허브 같은 오픈소스 공간에 거의 실시간으로 개발된 내용이 공개되고 있다. 모든 게 공개되는데다 플랫폼에서 쉽게 사용할 수 있게 되면서 한편에선 “더 이상 인공지능에 컴퓨터 프로그래밍은 필요 없다”는 얘기도 나온다.

그런데 역설적이게도 모든 게 공개되는 환경에선 소프트웨어 엔지니어의 능력이 오히려 ‘차별화 포인트’로 작용한다. 결국 관건은 실시간으로 공개되는 코드를 신속하게 입수하고 쉽게 사용할 수 있도록 하는 것이다. 최근 컴퓨터 코딩에 대한 관심이 높은데 인공지능 시대엔 ‘문제 해결형’ 컴퓨터 코딩 능력을 키우는 것이야말로 성공의 지름길이다.

 

 

‘지레 포기’는 금물… 인내와 끈기 필요
인공지능의 역사를 돌이켜보면 ‘태양 아래 새로운 건 없다’는 말이 떠오른다. 딥러닝처럼 매우 새로운 듯 보이는 기술도 실은 꽤 오래전 만들어진 방법인 경우가 허다하다. 그럼 왜 그땐 실패하고 지금은 성공했을까? 가장 큰 이유는 실제로 해보기도 전 지레 포기한 데 있다. ‘이렇게 복잡한 문제가 이 정도 방법으로 풀릴 리 없다’는 생각에 시도조차 안 한 것이다. 설혹 시도했다 해도 끝까지 가보기도 전 중단했다면 그 역시 실패의 원인일 수 있다.

인공지능을 ‘막연한 미래 기술’이 아니라 ‘4차 산업혁명 시대를 선도하는 실질적 기술’로 활용하려면 어떻게 해야 할까? 실제 문제를 해결하려면 완성된 인공지능 기술 하나를 사용하기보다 최선의 기술을 둘 이상 모아 일종의 ‘솔루션 아키텍처(solution architecture)’를 만들어야 한다.

 

인공지능 분야엔 수십 가지의 다양한 기술이 존재한다. 각 방법에 따른 특장점이 존재하므로 실제론 이들을 복합적으로 활용하면 시너지 효과를 거둘 수 있다. 이렇게 볼 때 인공지능 기술 자체도 중요하지만 그것 못지않게 풀고자 하는 문제의 특성을 체계적으로 분석, 정리하고 각 부분에 적합한 인공지능 기술을 복합적으로 활용하는 자세가 필요하다.

 

최근 성공을 거둔 인공지능 기술 아이디어도 처음 발표됐을 당시엔 (컴퓨터 환경의 제약이 있긴 했지만) 끝까지 가지 않고 중도에 포기한 경우가 많았다. 따라서 당면한 문제를 잘 정형화해 적절한 인공지능 기술을 결정했다면 끝까지 밀어붙이는 인내와 끈기로 성공을 거둘 수 있을 것이다.

728x90
반응형

댓글