빅데이터 분석과 활용

빅데이터 분석과 활용
북코스모스 회원이 되시면 오디오 듣기 이용이 가능합니다.
빅데이터 분석과 활용

박인근 외 지음
제이펍

책소개

이 책은 4차 산업혁명 시대에 왜 빅데이터가 중요한가에 대해 말하고, 실제로 빅데이터를 구축하려면 어떠한 기술이 필요한지 설명한다. 빅데이터를 구축하는 데 필요한 효율적이고도 현실적인 조언이 되어줄 것이다.

요약본 본문

빅데이터 분석과 활용

박인근 외 지음
제이펍 / 2019년 1월 / 288쪽 / 26,000원

빅데이터가 열어 갈 4차 산업혁명

빅데이터와 우리의 미래

2030년 어느 날: 박 과장은 간밤에 맞춘 알람 덕분에 오전 6시에 정확하게 일어난다. 화장실로 가면 벽에 붙은 센서가 박 과장의 얼굴을 스캔하고 오늘의 컨디션, 수면 상태 등을 파악한다. 소변기에 달린 센서는 박 과장의 소변 샘플을 채취하고 데이터는 병원에 있는 박 과장의 임상 빅데이터에 기록되며, 병원에서는 박 과장의 건강 상태를 원격으로 알려 준다. 그리고 당뇨 전조 증세 등을 파악하여 가까운 병원으로 진료 예약을 잡아 준다. 자동으로 박 과장의 스마트폰에 있는 에이전트에게 스케줄 조정을 알린다. 박 과장은 씻고 부엌으로 가서 아침을 준비한다. 냉장고는 앞에 달린 스크린을 통하여 현재 남은 음식과 유통 기한 및 부족한 식자재에 대하여 박 과장에게 보여 준다. 박 과장이 주문 버튼을 누르면 냉장고는 자동으로 근처 마트에 식자재 배달 주문을 넣는다. 냉장고의 레시피 에이전트는 병원의 임상 데이터베이스로부터 전달받은 박 과장의 영양 상태 정보를 파악하여 최적의 음식을 제안한다. 레시피의 제안대로 박 과장은 음식을 만들어 먹은 후 자동차를 타고 출근한다.

자동차에 있는 인공지능 에이전트는 스마트폰 에이전트와 연계하여 오늘 박 과장의 일정에 대해 브리핑한다. 박 과장은 자동차를 자율주행 모드로 바꾼 후 지난밤에 읽다가 잠들었던 책을 읽는다. 박 과장의 자동차는 시내 도로 교통상황 정보를 실시간으로 수신하면서 최적의 경로를 찾아가면서 회사 주차장까지 자율주행한다. 시내 도로에는 무수한 사물인터넷 센서들이 자동차의 통행량, 교통사고 현황, 공기오염 현황을 센싱하여 도로교통상황실의 데이터베이스에 저장한다. 자율주행 자동차는 회사에 도착한 후 박 과장을 내려 주고 택배 회사로 이동한다. 오전 11시에 택배를 현지에서 수령하기로 하였는데, 택배를 현지 수령하면 그만큼 택배비가 싸기 때문이다. 택배비는 박 과장의 계좌에서 가상통화 형태로 택배회사에 지급한다. 택배를 수령한 자동차는 다시 박 과장의 회사 주차장에 와서 대기한다.

위의 시나리오는 2030년 어느 도시 샐러리맨의 삶을 단편적으로 표현하고 있는데, 이 시나리오의 저변에 깔린 기술이 바로 빅데이터다. 개인 건강 기록이 병원에 빅데이터로 쌓이게 되고, 이를 인공지능이 분석하여 건강에 이상이 없는지를 확인한다. 또 시내 도로 교통상황을 다양한 사물인터넷 센서가 전달하면 빅데이터로 저장된다. 빅데이터로 저장된 도로 교통상황은 클라우드 서버에서 인공지능 에이전트가 분석하여 최적의 경로를 각각의 자율주행 차량에 전달한다. 냉장고에 달린 인공지능 레시피는 주인의 건강 상태를 파악하여 최적의 음식을 제안하고, 부족한 식자재는 시장에 추가 주문한다.

4차 산업혁명의 시대에 기반이 되는 연료와 같은 것이 빅데이터다. 흔히 빅데이터를 4차 산업혁명 시대의 원유라고 표현한다. 앞으로 4차 산업혁명을 지속하기 위해서는 빅데이터가 기반이 되어야 한다. 사물인터넷을 통하여 무수히 많은 현장의 데이터가 모여서 빅데이터를 이루고, 이러한 빅데이터는 머신러닝이나 딥러닝이라는 인공지능의 학습을 통하여 인간에게 보다 지능화된 사회를 선사할 것이다. 빅데이터가 만드는 사회는 이제 먼 미래의 일이 아니라 우리에게 가까이 다가온 현실이다.

빅데이터란?: 2000년 이후부터는 전자, 통신, 의료 등 사회 각 분야에서 빅데이터가 계속 생겨나면서 전 세계적으로 이러한 데이터 처리에 어려움을 겪게 되었다. 이렇게 규모가 커진 데이터를 처리하기 위해서는 과거와 같은 관계형 데이터베이스나 분산 아키텍처를 가지고는 불가능하기 때문이다. 이때 구글에서는 자신들이 독자적으로 만든 빅데이터 아키텍처를 공유하였다. 맵리듀스(MapReduce) 아키텍처인데, 이를 활용하여 만든 오픈소스 버전의 아키텍처가 하둡(Hadoop)이다.

맵리듀스 방식은 빅데이터를 처리하는 아키텍처다. 간단히 설명하면 작업의 덩어리를 더 잘게 나누어서 분산 처리를 한 후 이를 다시 하나로 합치는 방식이다. 들어오는 작업을 분리(splitting)하는 작업을 통하여 작은 단위로 분할한다. 그런 후 매핑(mapping)과 섞기(shuffling)를 통하여 정렬한 뒤 감소(reducing) 작업을 통하여 다시 하나로 합치는 것인데, 이러한 맵리듀스 방식을 오픈소스로 구현한 아키텍처가 하둡이다. 현재 대부분의 빅데이터 아키텍처는 하둡에 기반을 두고 구축되었다.

기업은 빅데이터를 어떻게 이용하고 있을까?: 빅데이터 활용 기업의 대표격으로 페이스북을 들 수 있다. 페이스북에서 사용자들은 개인적인 사연, 기록, 사진, 동영상 등의 자료를 올리고 서로 커뮤니케이션을 하면서 친분을 이어가는데, 여기에 ‘좋아요’, ‘멋져요’ 등의 태그 기록과 응답 기록을 빅데이터로 분석한다. 그래서 개인의 성향과 취미, 취향, 좋아하는 것과 싫어하는 것 등을 빅데이터로 파악한다. 페이스북에서 개인이 태깅한 ‘좋아요’ 혹은 ‘싫어요’ 등의 태그 기록을 10개 정도만 분석하면, 친한 친구보다 더 개인 성향을 잘 알 수 있다고 한다. 또 ‘좋아요’ 혹은 ‘싫어요’ 태그를 200여 개 정도만 분석하면, 개인의 배우자보다 더 그 개인의 취미, 취향, 성격에 대해서 잘 알 수 있다고 한다.

페이스북은 이러한 분석 자료로 다양한 서비스를 제공할 수 있다. 예를 들면, 낚시를 좋아하는 개인이라면 낚싯배의 출항 일정 혹은 요즈음 자주 낚이는 고기의 종류, 바다 날씨 정보, 파도의 높이 같은 정보를 SNS로 개인에게 실시간으로 전달해 줄 수 있다. 또 책을 좋아하는 개인이라면 SNS를 통하여 신간에 대해 소개할 수도 있고, 온라인 출판사와 연계하여 직접 책을 주문할 수도 있게 한다.

최근 케이뱅크와 같은 인터넷 은행이 인기다. 인터넷 은행이 가진 장점은 고객의 빅데이터를 분석하여 시중 은행보다 저렴한 대출 금리와 높은 이율로 고객을 끌어모을 수 있다는 점이다. 또한 해외 송금, 계좌 이체, 본인 인증 등을 쉽고 간편하게 할 수 있고, 수수료 또한 시중은행보다 더 저렴하다. 특히, 신용거래 실적이 없거나 대출이 많은 학생, 주부 등 소외계층을 대상으로 통신 서비스 사용 이력을 통해 신용평가 등급을 재평가하고 대출 실행을 하여 고객층을 늘리고 있다. 시중 은행에서는 거래가 어려운 이들까지 빅데이터를 기반으로 공략하여 고객층을 확보하고 있는 것이다.

빅데이터란 무엇인가?

빅데이터 분석을 위해 우리가 알아야 할 것들: 빅데이터는 빠른 속도로 생산 및 소비되는 대용량의 정형ㆍ비정형 데이터를 효율적으로 수집 및 저장하고, 다양한 분석 기법을 활용하여 현상 파악, 예측, 의사 결정 등을 지원하기 위한 기술이라고 정의할 수 있다. 빅데이터를 정의하기 위한 특징을 말할 때는 3V는 기본으로 언급되고, 빅데이터 분석을 위한 기술적 특징을 생각해 볼 때는 분산 파일 시스템과 스케일 아웃 아키텍처, 분석 알고리즘을 특징으로 꼽을 수 있다. 보다 자세히 살펴보자. 첫째, 3V는 가트너(Gartner)에서 최초로 정의한 빅데이터의 특징인 양(Volume), 속도(Velocity), 다양성(Variety)을 가리킨다.

IBM에서는 이외에 정확성(Veracity)을 추가하기도 하고 브라이언 홉킨스는 가변성(Variability)을 추가한다. 둘째, 빅데이터의 3V 특성들로 인해 데이터를 저장 및 처리하려면 기존에 사용하던 로컬 기반의 파일 시스템 포맷으로는 데이터를 다룰 수가 없다. 여러 대의 서버가 하나의 시스템처럼 동작할 수 있도록 하는 방법이 중요한데, 이를 지원하는 파일의 포맷이 바로 분산 파일 시스템이라는 것이다. 하둡 파일 시스템(HDFS)은 분산 환경에서 파일을 안전하게 저장하고 처리하기 위해 같은 내용의 파일을 세 개의 서로 다른 블록에 저장하도록 설계하였는데, 이는 데이터의 안정적인 저장과 데이터 처리를 효과적으로 하는 방법이다.

셋째, 스케일 아웃(scale-out)을 위한 하드웨어 설계 또한 중요하다. 기업의 IT 자원은 빅데이터 분석뿐만 아니라 기업 서비스, 인증, 과금, 결제, 거래, 주문, 원장 관리, ERP 등 다양한 IT 환경을 운영해야 한다. 이러한 측면에서 효과적인 빅데이터 분석 환경을 위해서는 탄력적인 스케일 아웃 하드웨어 구조가 필요하다. X86 기반 또는 클라우드 기반의 서버, 저비용의 로컬 스토리지 사용, 서버와 스토리지의 증설에 따른 네트워크 장비의 확장성을 고려하여 하드웨어를 설계 및 구축하여야 한다.

넷째, 빅데이터 분석에서 어떤 알고리즘을 통해 분석하는지는 가장 중요한 요소다. 데이터를 이해하는 안목을 가지고, 다양한 분석 알고리즘을 선택하여 모델링 결과를 도출하고, 최적의 모델링을 선정하는 과정을 거쳐 분석의 정확도를 높여야 한다. 빅데이터 분석 방법은 크게 통계 기반의 데이터 분석과 컴퓨터공학 분야의 데이터 분석으로 나눌 수 있다. 통계 기반의 데이터 분석 알고리즘은 전통적으로 집단을 대표하는 소수의 데이터를 가지고 분석하는 방법들이다. 예를 들면 A/B 테스팅, 탐색적 자료 분석, 가설 검정, 다변량 분석, 시계열 분석, 일반선형 모형 등의 분석 방법들이 이에 속한다.

컴퓨터공학 기반의 데이터 분석 알고리즘은 통계학과 컴퓨터공학을 접목한 데이터 마이닝 분야와 순수 컴퓨터공학 기반의 데이터 분석 알고리즘으로 구분할 수 있다. 데이터 마이닝 분야의 기법으로는 K-최근접 이웃 알고리즘, 인공신경망, 유전 알고리즘, 의사결정트리, SVM(Support Vector Machine) 등이 있고, 컴퓨터 공학 분야 알고리즘은 머신러닝, 강화학습, 딥러닝 등이 있다.

빅데이터 분석을 위해 필요한 요소는 무엇이 있을까? 첫 번째 요소는 데이터 사이언티스트라는 분석가다. 분석가는 미적분에 대한 이해, 통계, 수학, 컴퓨터공학에 대한 지식을 갖추어야 한다. 특히, 데이터 사이언티스트는 비즈니스에 대한 이해가 필수다. 두 번째는, 하둡, 맵리듀스, 스파크와 같은 분석 기반 기술이다. 오픈소스 소프트웨어의 구조를 이해하고, 오픈소스를 사용하여 프로그래밍할 수 있는 능력이 필요하다. 세 번째는 분석 알고리즘 및 분석 모델에 대한 이해다. 다양한 알고리즘과 모델링 기법을 선택하고 개발하여 분석 과정에서 나타날 수 있는 파라미터 및 분석 모델을 최적화해야 한다. 네 번째는 데이터 자체를 보는 눈(통찰력)이다. 어떤 질문을 던져서 어떤 과정으로 어떻게 데이터를 이용하고, 어떤 결과물을 만들어 낼지는 데이터를 넓고 깊게 보는 통찰력에 달려 있기 때문이다.

빅데이터 구축 실무

빅데이터 구축

빅데이터 플랫폼 구축 개요: 빅데이터 플랫폼은 일반적인 전산 시스템 카테고리에 따라 크게 세 가지 유형으로 분류한다. 첫째, 운영계 시스템은 기간계 시스템이라고도 한다. 둘째, 분석계 시스템은 기업에서 데이터 웨어하우스라고 부르는 시스템이다. 분석계 시스템은 운영계 시스템에서 만들어진 빅데이터를 분석하는 시스템이다. 셋째, 데이터 레이크(Data Lake)는 데이터 소스가 제공하는 원시 데이터 그대로를 저장해 놓은 시스템이다.

빅데이터 플랫폼 구축을 위한 프로세스: 빅데이터 구축 프로세스는 목표 설정부터 테스트까지 진행된다. 일반적인 소프트웨어 개발 프로젝트와 다른 특징은 분석/설계 단계에 있다. 데이터 수집 및 처리 설계가 핵심 단계다.

목표 설정 단계에서는 빅데이터 구축 프로젝트의 목표 시스템을 정의한다. 여기에는 현재 운영되는 시스템의 문제점과 이를 개선한 목표 시스템에 대한 청사진을 그려 주는데, 목표 시스템을 정의할 때에는 빅데이터의 비즈니스 모델, 분석 프로세스 및 구축 시 기대효과를 설명해야 한다.

계획 수립 단계에서는 요구사항 분석, 기초 설계, 개발 계획을 수립한다. 요구사항 분석은 빅데이터 사용자들로부터 요구사항을 추출하여 정의한다. 기초 설계는 본격적인 구축 단계에 들어가기 전에 파일럿 형태로 구축하여 가능성을 타진하는 것인데, 여기에는 하드웨어, 소프트웨어, 네트워크 아키텍처 설계, 개념 검증 형태의 구축, 사전 검증 활동 등이 포함된다. 그리고 개발 계획에는 빅데이터 구축을 위한 일정, 범위, 인력 운용 계획 등이 포함되어 있는데, 인력 운용 계획은 빅데이터 아키텍처 설계, 구축 단계별 개발자의 투입 일자, 테스트 일자 등을 상세하게 나열해야 한다.

이렇게 개발 계획이 수립되면 본격적인 개발 단계로 들어간다. 빅데이터 구축 프로젝트에서 데이터 수집, 처리 설계가 가장 중요하다. 기간계 시스템에서 빅데이터를 수집하기 위해서는 시스템 인터페이스가 구체적이고 정확하게 정의되어야 한다. 그리고 빅데이터를 처리하기 위해서는 테이블 정의서, 테이블 명세서, 테이블 구조도 등의 설계가 필요하다. 또 빅데이터를 실시간 처리하기 위해서는 메인 메모리 적재 기술, 맵리듀스 기술 등이 필요하며, 데이터 처리 설계에 반영되어야 한다.

빅데이터 수집, 처리 설계가 완료되면 본격적인 구축 단계로 들어간다. 빅데이터 플랫폼 구축 단계는 실제 하드웨어 및 소프트웨어를 설치하고 데이터를 처리하기 위한 인프라 구축을 하는 단계다. 사용자가 빅데이터를 조회할 수 있도록 화면도 개발해야 한다. 그리고 빅데이터를 연동하기 위한 배치 프로그램도 이 단계에서 개발된다. 한편 빅데이터 플랫폼 구축 단계에서는 테스트를 위하여 데이터를 연동하는데, 연동된 데이터는 정보보호 이슈가 없도록 사용 후 파기해야 한다.

테스트 단계에서는 구축된 빅데이터 플랫폼이 제대로 동작하는지에 대한 단위, 통합, 시스템 테스트를 수행하는데, 시스템 테스트 단계에서는 빅데이터 플랫폼에 대한 부하 테스트, 볼륨 테스트 등을 수행하여 시스템이 여러 악조건 속에서도 기능하는지를 점검해야 한다. 단위, 통합, 시스템 테스트가 완료되면 최종적으로 사용자 인수 테스트를 수행하는데, 이때 프로젝트 초기에 정의된 요구사항 기준으로 테스트를 수행하며, 사용자가 정의한 요구사항대로 빅데이터 플랫폼이 기능하는지에 대해서 점검한다.

빅데이터 분석과 활용

왜 데이터 전처리가 중요할까?: 데이터는 절대로 우리가 원하는 대로 정렬되어 있지 않다. 지저분하고 관리가 안 된 상태로 방치된 경우가 대부분이다. 그렇기 때문에 빅데이터 분석을 하려는 엔지니어는 대부분의 시간을 전처리 단계에서 보낸다. 빅데이터에서 데이터 전처리는 데이터를 특정 플랫폼 또는 시스템에 공급하기 위해 필요한 작업의 전체를 말한다. 좀 더 구체적으로 말하면 이 기종 시스템 간에서 데이터를 전송(feeding)하고 적재하는 데 필연적으로 필요한 과정이다. 또한, 데이터 마이닝 및 분석을 위해 결측치를 처리하고, 데이터를 변환, 가공, 잡음 제거, 손실 데이터 보정, 데이터 형 변환 과정, 최근에는 비정형 데이터를 정형화(파싱, 자연어 처리)하는 과정을 말하기도 한다. 이렇게 데이터 전처리는 여러 가지 의미로 쓰인다.

데이터 전처리는 크게 데이터 전송과 데이터 적재 및 변환이라는 두 가지로 이루어져 있다. 데이터 전송 과정은 엄격하게는 전처리 과정으로 볼 수 없다. 하지만 전송 과정을 담당하는 시스템 및 담당자가 전처리를 함께하는 경우가 많아 전처리로 취급하는 것이 일반적이다. 아울러 데이터 적재 및 변환은 전송된 데이터를 플랫폼에 지원하는 형태로 변환하거나 목적에 맞게 가공하는 작업을 말한다. 특히, 데이터 분석 및 마이닝을 위한 전처리는 저수준 전처리보다는 고수준 전처리에서 이루어진다.

데이터 전처리에서 수준에 따라 나누어 보면, 저수준의 전처리와 고수준의 전처리가 있다. 저수준의 전처리는 플랫폼 간에 데이터를 전달하고, 임포트까지의 작업과 전송 및 적재의 보장을 집중해서 관리한다. 이를 위해 저수준의 구현체, 스크립트 등으로 데이터의 포맷을 바꾸고 분할, 병합, 정합성 체크 등을 수행하며 자동화로 이루어질 수 있는 데이터 마이그레이션을 통칭하여 부른다. 고수준의 전처리는 임포트 전 또는 후에 목적에 맞게 데이터를 가공하는 작업과 고급 분석(데이터 마이닝)을 위한 수작업, 그리고 SQL 등을 이용한 데이터 웨어하우스 내의 모델링 및 BI 추출/변환/로딩(ETL, Extract Transformation Loading)에 관련된 작업(자동 또는 반자동)을 말한다.

데이터 전처리 및 전송 시스템 구축을 위해서는 몇 가지 고려할 사항이 있다. 첫째, 시스템의 안정성 및 가용성을 고려해야 한다. 둘째, 시스템 모니터링을 해야 한다. 디스크 공간 및 네트워크 부하에 대한 모니터링이 필요하다. 셋째, 공간 관리를 자동화해야 한다. 임시 공간에 쌓아 둔 데이터를 주기적으로 삭제하는 모니터링 모듈을 구동해야 한다. 넷째, 백업 및 보관을 고려해야 한다. 자동 백업을 구축하거나 백업 시나리오를 만들어야 한다. 다섯째, 데이터 내용을 모니터링해야 한다. 데이터에 이상이 발생한 경우 그에 대한 감지를 할 수 있도록 모니터링을 구축해야 한다.

머신러닝 기반 분석 프로세스: 빅데이터 분석에서 가장 중요한 것이 분석 알고리즘과 분석 프로세스다. 분석 알고리즘은 의사결정트리, 군집 분석, 클러스터링 등 다양한 기법이 존재하며, 분석 프로세스는 분석 대상 정의 및 자료 수집에서부터 분석 결과 공유 및 예측 모형 개발까지 이루어진다. 예측 모형 개발 프로세스는 크게 9단계로 이루어져 있다.

빅데이터 활성화 산업혁명 기술

4차 산업에서 인공지능이 제대로 된 힘을 발휘하려면 빅데이터에 기반해야 한다. 음성인식을 예로 들어보자. 음성인식을 고도화하기 위해서는 음성인식 엔진에 머신러닝(Machine Learning)을 시켜야 하는데, 머신러닝을 시키기 위해서는 음성 자료가 빅데이터 형태로 저장되어 있어야 한다. 결국 음성인식을 고도화하기 위해서는 빅데이터가 뒷받침되지 않고는 어림도 없다. 블록체인을 예로 들어 보자. 블록체인 기술의 핵심은 블록이다. 수많은 블록이 체인으로 연결되어 거래 당사자들이 서로 공유하면서 실시간 정산을 하는 기술이다. 그런데 이렇게 수많은 블록들을 어디에 저장해야 할까? 당연히 빅데이터 외에는 답이 없다. 결국 블록체인도 빅데이터라는 기반 기술 없이는 자랄 수 없다. 이렇듯 빅데이터는 4차 산업을 일으키는 모태 기술인 것이다. 그럼 4차 산업혁명의 기술 중에 왜 하필 인공지능과 블록체인에 주목하는가? 4차 산업혁명의 핵심은 사물의 지능화, 분산 경제화이기 때문이다.

빅데이터와 인공지능

인공지능에서의 빅데이터 활용: 최근 인공지능의 발전 이유를 여러 가지로 말한다. 과거에는 없었던 컴퓨팅 파워, 인공신경망 알고리즘의 발전 등을 그 이유로 들고 있다. 하지만 필자가 생각하는 가장 중요한 이유 중의 하나는 데이터의 증가다. 아무리 좋은 컴퓨팅 파워와 알고리즘이 있다고 하더라도 다양한 데이터가 없었다면 현재의 인공지능의 발전이 없었을 것이다. 빅데이터를 통해 다양한 데이터가 인공지능의 알고리즘에 입력되고, 높은 컴퓨팅 파워를 통해 최적의 모델을 만들어 낸다. 빅데이터와 인공지능은 상호 보완적인 역할을 하고 있으며, 최근 빅데이터를 이용하여 인공지능 모델을 만들고 활용하는 사례가 늘고 있다.

인공지능의 개념: 인공지능, 인공신경망, 머신러닝, 딥러닝, 심층 신경망 등의 용어는 대부분 인공지능으로 귀결된다. 물론 엄연히 다른 기술을 지칭하는 용어이지만, 기계에 단순한 프로그램으로 처리하는 방법이 아닌 학습을 통해 데이터에 대한 유사한 해를 구하는 방법을 목적으로 하는 측면에서는 비슷하다. 인공지능의 사전적인 개념은 지성을 갖춘 존재 또는 시스템에 의해 만들어진 인공적인 지능을 말한다. 전통적인 개념은 컴퓨터가 인간의 지능적 행동을 수행할 수 있도록 만들어진 소프트웨어로 인간이 할 수 있는 지적 능력을 인공적으로 구현한 것이다.

즉, 이미 정해진 알고리즘을 이용하여 정해진 값과 정해진 결과를 만들어내는 소프트웨어가 아닌, 다양한 입력값을 판단하고 최적의 해를 구해 내는 인간의 지적 능력을 모방한 기술이다. 인간의 지적 능력은 학습(learning)과 사고(thinking), 자기계발을 통해 지식을 발전시켜 나간다. 인공지능 또한 인간과 같은 학습을 통해 자기계발이 되는 방식으로 발전시키고 있다.

인공지능에서 말하는 학습은 인간이 아닌 기계가 수행하는 학습이다. 따라서 머신러닝(machine learning)이라고 한다. 인공지능은 머신러닝을 통해 모델을 생성하고 이 모델을 통해 사고(thinking)한다. 여기서 인공지능이 수행하는 사고는 만들어진 모델을 기초로 새로운 데이터가 들어왔을 때 예측되는 값이 무엇인지 판단하는 것이다. 한편 인공지능, 딥러닝, 머신러닝 등은 인공신경망 이론을 통해 설명할 수 있다. 인공지능의 학습과 사고는 사람의 두뇌에서 동작되는 뉴런의 동작을 추상화해 인공적인 뉴런을 이용한 인공신경망을 통해 만들 수 있기 때문이다.

인공지능의 학습기법과 알고리즘: 인공지능의 학습은 머신러닝이라 말하는데, 학습기법은 크게 지도학습(supervised learning)과 비지도학습(unsupervised learning), 강화학습(reinforcement learning)으로 나눌 수 있다. 쉽게 말하면 지도학습은 입력에 따른 결과값을 알고 학습하는 방법이다. 비지도학습은 입력값에 맞는 결과값을 모르고 입력값의 유사성을 기초로 학습하는 방법이다. 강화학습은 행동을 잘할 때 상을 주고 잘못했을 때 벌을 주는 방식으로 학습하는 방법이다. 각각의 학습기법을 구현하는 방식은 다양한데, 이 구현 방식을 알고리즘이라고 한다.

지도학습은 주어진 입력값과 출력값을 기초로 모델을 만들고, 주어지지 않은 새로운 입력값이 들어왔을 때 데이터 유형을 판단한다. 지도학습은 데이터 마이닝(data mining)에서는 일반적으로 분류(classification)인데, 베이지안 분류(bayesian classification), 의사결정트리(decision tree), 회귀 분석(regression), 신경망(neural network), 히든 마커브 모델(hidden markov model) 등이 있다. 지도학습을 이용한 활용 사례는 이미지 인식, 문자인식, 음성인식, 자연어 인식, 추세 분석 등이다.

비지도학습은 입력값에 따른 결과를 모르는 상황에서 입력값의 상호 유사성을 분석하여 모델을 만들고, 새로운 데이터의 유형을 판단한다. 비지도학습은 데이터 마이닝에서 일반적으로 군집(clustering)인데, K-means, K-NN, SOM(Self-Organizing feature Map), PCA(Principal Component Analysis) 등이 있다. 비지도학습을 이용한 활용 사례는 마케팅의 고객 세분화 분석, 개체의 분포 특성 분석 등이 있다. 예를 들어, 쇼핑몰 구매자의 특성을 분석할 경우 나이대별 구매 물품을 분석해 보니 20대는 의류나 화장품류를 많이 산다는 분석을 할 수 있다.

강화학습은 입력값에 대한 행위(action)에 대해 보상(reward)하는 방법으로 모델을 최적화하는 방법이다. 강화학습의 알고리즘은 무차별 대입(Brute Force), 몬테카를로 메서드(Monte Carlo Methods), 마커브 결정 프로세스(Markov Decision Processes), 가치 함수(Value Function) 등이 있다. 강화학습의 활용 사례는 로봇 제어, 게임 개인화, 공정 최적화 등이 있다.

빅데이터와 블록체인

블록체인의 구조: 비트코인이 지금과 같이 유명한 가상 화폐로 될 수 있었던 기반 기술에는 블록체인이 있는데, 블록체인은 비트코인의 거래 기록을 10분마다 블록으로 만들어서 연결한 구조다. 현재는 비트코인뿐만 아니라 이더리움, 리플, 아이오타 등의 가상 화폐도 블록체인으로 구성되었다. 10분마다 생성되는 블록은 체인에 등록되기 전 마이닝(mining)에 참가한 컴퓨터 노드들로부터 작업 증명(PoW)을 받아야 하는데, 작업 증명은 네트워크로 연결된 컴퓨터 노드들이 신규로 등록된 블록에 대해서 이중 지불, 위조 여부, 해시 검증 등을 통하여 이상이 없음을 확인하는 활동이다. 비트코인 네트워크에 등록된 노드 중 51%가 넘는 수의 노드들로부터 작업 증명이 이상이 없음을 확인받으면 비로소 블록체인에 등록된다. 현재는 지분 증명(PoS)도 함께 한다.

공개, 개인, 컨소시엄 블록체인: 블록체인은 공개(public) 블록체인, 개인(private) 블록체인, 컨소시엄(hybrid) 블록체인으로 나뉜다. 공개 블록체인은 누구나 원하면 네트워크에 접근하여 거래 내역을 검색, 생성, 검증할 수 있으며, 경제적 보상을 동반한 작업 증명이나 지분 증명 방식으로 암호 검증을 할 수 있는데, 가장 대표적 사례가 비트코인이다. 비트코인은 전 세계 사용자 누구나 접근하여 거래 기록을 검색, 생성, 검증할 수 있고, 블록체인에 자신이 만든 블록을 등록시킬 수 있다.

개인 블록체인은 한 중앙기관이 모든 권한을 갖고 있어 통제가 가능하며, 참여자 식별이 가능하고, 거래 속도가 빠르며, 네트워크 확장이 쉽다. 공개 블록체인이 누구나 참여할 수 있는 반면, 개인 블록체인은 허가받은 참여자만 가능하며, 하나의 중앙기관이 모든 권한을 관리할 수 있다. 블록체인을 산업에 적용하기 위해서는 일부 참여자 제한이 필요한 경우도 있는데, 이럴 때에 적합한 기술이다. 그리고 공개 블록체인인 비트코인은 1초에 최대 7건 처리가 가능하지만, 초당 수천 번이 넘는 이체를 처리해야 하는 금융 분야에서는 적용에 제약이 따른다. 개인 블록체인은 이러한 제약을 극복하여 금융 분야 및 타 산업 분야에서도 사용할 수 있도록 하였다. 한편 개인 블록체인이 가진 단점은 참여자가 적기 때문에 공개 블록체인같이 다수의 참여자에 의한 작업 증명에서 확보되는 보안성이 떨어지고 내부자의 악의적 공격에 취약하다.

컨소시엄 블록체인은 지정된 개인이나 단체가 참여 주체들 간 합의 절차를 검증받는 권한을 가지며, 암호화폐가 필요하지 않은 부분적 탈중앙화 기술이다. 대표적인 예가 금융 글로벌 컨소시엄으로 청산 결제 거래비용 절감, 글로벌 네트워크 확보 등 다양한 금융 서비스를 위한 블록체인 플랫폼 코다(Corda)를 개발한 R3 CEV다. R3 CEV의 가입 기관은 43개 금융회사, 청산소, 거래소, 기술업체 등 총 80개 이상이며, 국내에는 국민, 우리, 신한, 하나, 기업은행이 가입되었다.

블록체인 기술은 공개 형태에서 확장성과 효율성을 보완한 개인 블록체인으로 발전하였으며, 향후 산업 간 융합과 사회 기반구조로써 활용될 것으로 보인다. 비트코인이 소개된 2009년 이후부터 공개 블록체인 기술을 활용하여 비트코인을 비롯한 약 1,000여 개의 암호 화폐가 출현하였는데(2017년 기준), 향후에는 암호 화폐끼리의 경쟁에서 정리가 되고 몇 개만 살아남을 것으로 보인다. 이것은 마치 2000년대 초에 인터넷 검색엔진의 난립과 유사한 현상을 보이는데, 그때에도 엠파스, 네이버, 다음, 넷스케이프, IE 등 다양한 종류가 출현했다가 몇 개의 검색엔진으로 정리가 된 사례가 있었다.

한편 상위 10개 가상 화폐에는 비트코인, 이더리움, 리플, 비트코인 캐시, 퀀텀, 아이오타(IOTA) 등이 존재하는데, 이들이 전체 시가 총액의 90% 정도를 차지한다. 공개 블록체인의 단점을 개선한 개인 블록체인과 스마트 계약이 추가된 공개 블록체인인 이더리움이 등장하면서 블록체인의 다양한 활용이 가능해지기 시작했는데, 개인 블록체인은 모든 거래가 추적 가능한 개방성과 실시간, 대용량 처리가 어려운 공개 블록체인의 한계점을 개선하여 기업 내 플랫폼을 구축할 수 있는 기술이다. 한편 이더리움은 블록체인 2.0을 대표하는 공개 블록체인으로 ‘이더’라는 암호화된 화폐의 송금을 기록하고, 스마트 계약과 분산 애플리케이션을 구현하기 위한 플랫폼이다.

여기서 스마트 계약이란 무엇일까? 위키피디아에서는 1994년 미국의 전산학자인 닉 자보에 의해서 스마트 계약 개념이 처음으로 등장했다고 한다. 닉 자보는 프로그래밍 언어 등으로 계약서를 작성하면 조건에 따라 계약 내용이 자동으로 갱신될 수 있다고 주장하며, IT 기술이 발달하면 미래에는 스마트 계약이 실현 가능할 것으로 보았다. 2014년 개발된 이더리움은 닉 자보가 예견한 스마트 계약을 실현시켜 주는 IT 기술이다. 이더리움은 튜링 완전(turing-complete)한 프로그래밍 언어를 사용하여 코딩된 규칙에 따라 사용자의 상태를 다르게 변환시켜서 계약의 내용을 자동으로 갱신할 수 있다.

이더리움으로 시작된 스마트 계약은 우리 생활의 다양한 계약에 적용될 수 있다. 부동산 매매 계약, 자동차 임대차 계약, 은행으로부터 대출 계약, 고용 계약 등 우리 생활에 스마트 계약이 가지고 올 변화는 가히 혁명적이라고 할 만큼 크다. 자동차 임대차 계약을 이더리움으로 구축한다고 가정해 보면, 매월 자동차 임차인으로부터 임대료가 지급이 되면 임대차 계약서가 자동으로 갱신이 된다. 만일 3개월 이상 임대료가 지급되지 않았을 경우 계약서 내용에 따라 자동차 임대차 계약이 자동 갱신되면서 자동차 도어락을 열 수 있는 전자키 암호를 바꾸어서 임차인이 열 수 없도록 한다. 그렇게 되면 자동적으로 자동차 주인은 임차인에서 임대인으로 바뀌게 된다.

블록체인 기술의 핵심은 탈중앙화이다. 과거 통화, 부동산, 개인 신용정보 등 사회적 가치를 갖는 것들은 모두 중앙화됐었다. 통화는 은행, 부동산은 국토교통부, 개인 신용정보는 신용정보회사에서 중앙 관리를 하였다. 그러나 블록체인 기술의 발달로 점차 탈중앙화된 자율 조직에서 관리하도록 바뀌고 있다. 이러한 조직을 탈중앙화된 자율 조직(DAO)이라고 한다. 탈중앙화된 자율 조직은 특정한 중앙집권 주체의 개입 없이 개인들이 모여 스마트 계약을 기반하여 자율적으로 제안과 투표 등의 의사 표시를 통해 다수결로 운영되는 조직이다. 더 다오(The DAO)가 대표적인 활용 사례인데, 투자자 벤처캐피털 펀드 형태로 개발한 이더리움 플랫폼 기반의 자립분산 투자 펀드다.

현재는 금융산업에 블록체인이 가장 많이 활용되고 있는데, 머지않아 금융산업을 넘어 전 산업의 경쟁력 제고를 위한 고성능, 고효율 블록체인이 확산되고 가속화되는 시기가 올 예정이다. 하이퍼레저(Hyperledger)는 리눅스 재단의 오픈소스 과제로 제조, 공급망, 사물인터넷 등 산업 전반에서 범용 블록체인 기술을 발전시키기 위한 프레임워크로 현재 1.0 버전이 출시되었다.

하이퍼레저는 개인 블록체인으로 다양한 기업 및 산업에 활용을 목표로 신뢰할 수 있는 분산원장을 제공하고자 하며 성능 개선이 빠르게 이루어지고 있는데, 하이퍼레저는 허가된 사용자 간의 공유 원장으로 참가자의 권한 관리 수행 기능이 추가되었으며, 스마트 계약을 체인코드로 구현하였고, 기존 비트코인 방식의 작업 증명에서 효율성을 높이고 산업적 활용을 위하여 구조 확장을 진행 중이다. 그리고 IBM, 인텔, 액센추어 등 글로벌 기업이 다수 참여하여 금융, 사물인터넷, 공급망, 제조업 등 산업 간 블록체인 기술을 확산시키기 위한 범산업용 분산원장 표준화 과제로 발전하고 있다.

글로벌 소프트웨어 기업들은 블록체인을 금융산업을 넘어 전체 산업에서 활용하기 위하여 하이퍼레저와 이더리움 과제에 적극적으로 참여하고 있고, 분야별 활용을 활성화하기 위하여 협업 체계를 구축하고 있다. IBM은 하이퍼레저 과제에 주도적으로 참여하고 있으며, 범산업적 블록체인 활용을 위해 다양한 분야의 기업과 파일럿 과제를 진행 중이다. 중국 월마트와 돼지고기 추적(2016년 10월), 컨테이너의 전체 이동 경로 추적을 위한 머스크와의 협력(2017년 3월) 등 그 범위가 점차 넓어지고 있다. 인텔은 하이퍼레저 과제 중 하나인 소투스 레이크(Sawtooth lake)를 기반으로 해산물 추적 파일럿을 진행 중이다. SAP는 네트워크를 통해 전 세계 250만 명의 구매자와 판매자를 연결하는 SAP Ariba에 블록체인 기술을 활용하였다.

블록체인 기술은 앞으로 다양한 영역에 적용되고, 인터넷과 같은 기반 기술로서 행정관리 및 공공 서비스 등의 신뢰 사회를 구현하기 위한 국가 기반 구조로 발전할 것으로 생각된다. 그렇게 되면 범산업적 블록체인 활용이 확산되고, 정부 지원을 토대로 신뢰 기반의 국가 기반 구조로서 정착하여 투명하고 안전한 사회 구현이 가능하게 될 것으로 예측된다. 또 그렇게 되면 탈중앙화된 자율 조직을 넘어서 탈중앙화된 사회(DAS)를 구현하고 투명하고 자동화된 신뢰 사회로 발전하리라 생각된다.

0 댓글
본문 피드백
모든 댓글보기