머신러닝 유형과 활용분야, 국내외 개발사례

머신러닝 유형과 활용분야, 국내외 개발사례
머신러닝 유형과 활용분야, 국내외 개발사례

머신러닝에 대해서 알아보도록 하겠습니다. 머신러닝은 기계 학습인데 기계학습이라는 것은 컴퓨터에 명시적으로 프로그래밍하지 않고 학습할 수 있는 능력을 부여하는 컴퓨터 과학의 하위 분야입니다. 그림에 보시면 원래는 컴퓨터가 input과 program 입력 변수와 임의 사용자와 개발자가 만든 프로그램을 가지고 그것을 컴퓨터에 집어넣게 되면 output을 내놓게 됩니다. 일반적인 프로그래밍은 프로그래머가 프로그램을 해서 컴퓨터가 이해하고 output을 내놓는 과정이라고 그러면 기계학습은 뭐냐면 컴퓨터에 input과 output을 줍니다. input이 이것이고 output이 이건대 그 안의 logic을 컴퓨터가 찾아내 봐, 이것이 바로 기계 학습이라고 볼 수 있고 기계가 프로그램을 직접 작성하는 것이 기계 학습이라고 볼 수 있겠습니다.

머신러닝의 세 가지 분야 활용

머신러닝은 총 세 가지 분야에 걸쳐서 우리가 배우게 되고 활용할 수 있게 됩니다. 첫 번째는 Computer Science이고 인공지능이나 뉴럴 네트워크, 컴퓨터 비전, 자연어 처리에 있어서 Computer Science 영역이 있고, 그다음에 Statistics라고 하는 확률 부분이 있습니다. 확률과 회귀, 베이지안 네트워크와 관련한 부분이 있고 그다음에 Data Mining이라고 하는 학문에 패턴인식, 빅데이터, 연관분석, 추천 등에 있어서 세 가지의 공통분모를 또는 세 가지의 활용 분야를 가지고 세 가지의 기술 요소를 가지고 Machine Learning을 수행하게 되겠습니다. 최근에 나와서는 언어들이 혼재되거나 언어들이 비슷한 것으로 쓰이고 있는데 초기에는 우리가 인공지능이라는 것을 얘기했습니다. 사고나 학습, 인간이 가진 지적 능력을 컴퓨터를 통해 구현하는 기술을 인공지능이라고 하면 그것 중의 하나의 방법이 머신러닝이라고 볼 수 있겠습니다. 컴퓨터가 스스로 학습해서 인공지능의 성능을 향상하는 기술 방법인데 input과 output을 주고 그것을 통해서 머신이, 기계라고 할 수 있는 것이 그 결과를 찾아가기 위해서 끊임없이 학습해서 logic을 만들어 내는 것이 머신러닝이고, 그것보다 조금 작은 것이 딥러닝인데, 딥러닝은 인공신경망의 방법의 하나의 종류입니다. 그래서 인공신경망이라고 하면, 인공지능 강의에서 말씀드렸듯이 인공지능 자체가 사람들의 뇌가 어떻게 생겼을까? 하는 관점에서 처음에 시작했다고 할 때 스냅 시스라는 인공 뇌의 전달 망들을 시뮬레이션해서 인공 신경망을 만들었고 그것 중에 여러 계층을 둠으로써 마치 계층 자체가 깊은 계층이라고 볼 수 있어서 인공신경망의 계층을 깊게 만든 것을, 여러 계층으로 깊게 만든 것을 딥러닝이라고 부르고 있습니다.

머신러닝의 유형에는 어떤 것들이 있을까요?

첫 번째로는 supervised learning이라고 하는 지도 학습이 있습니다. 정답지로 학습을 하는 것입니다. 그래서 input이 있고 정답지가 있어서 그 정답을 가지고 정답을 찾아가는 방법을 supervised 됐다 지도 학습이 supervised가 되겠습니다. 아예 정답이 없는 경우가 있습니다. 무조건 어떤 데이터가 있으면 이 데이터의 특성을 여러 가지로 분석해서 이것을 분리하라는 것이 있습니다. 이것이 어떤 특정한 분류 자체의 정답이 없는 것입니다. 그것이 비지도 학습이 되겠습니다. 그다음에 강화 학습이란 건 시뮬레이션 반복학습을 통해서 예측이나 퍼포먼스의 성능에 강화하는 데 사용되는 것이 강화 학습이 되겠습니다. 그래서 머신러닝은 이 세 가지 유형으로 나눌 수 있겠습니다.

그러면 머신러닝을 어디에 쓸 수 있을까요?

여러 응용 분야들이 있습니다. 첫 번째로 인터넷 정보검색을 할 수 있습니다. 웹로그, 스팸 필터, 문서 분류 등이 있고 컴퓨터의 시각이라고 할 수 있는 문자, 패턴, 물체를 인식하고 이미지 안의 얼굴을 인식하는 것이고 마찬가지로 음성인식을 통해서 사람이 하는 말을 듣고 그것이 어떤 단어인지를 인식하는 것, 그리고 모바일 휴먼 컴퓨터 인터페이스(Human Computer interface)에서 보면 모바일에서 동작, 패턴, 제스처를 인식하는 것이 있고 생물 정보에서 유전자 인식, 단백질 분류, 유전자 조절 망 분석이 있고 바이오 매트릭스에서 홍채인식, 심장박동 수 측정, 혈압 측정, 당뇨치 측정이 있고 컴퓨터 그래픽은 데이터를 기반해서 애니메이션, 캐릭터가 3D로 만들어지면 그 캐릭터 동작을 제어하거나 운동학적으로 된 것을 역운 동학으로 다시 만들어주는 것이 있겠습니다. 로보틱스는 로보틱스 안에 들어가서 장애물을 인식, 물체를 분류, 지도 작성, 무인자동차를 운전하는 것이 될 수 있고 서비스업 같은 경우는 고객 분석, 해당 시장 분석, 고객 관리, 마케팅, 상품 추천 등 이런 곳에 활용될 수 있습니다. 제조업 같은 경우는 공장에서의 이상을 탐지, 에너지 소모 예측 공정을 분석하면서 어떻게 공정을 해야 되는지 효율성에 대해서 분석하는 것 등 아주 다양하게 머신러닝이 활용되고 있습니다.

국내외 머신러닝 개발 사례

국내외 머신러닝 개발 사례들에 대해서 알아보도록 하겠습니다. 구글 같은 경우는 무인자동차의 주변 환경을 인지하는데 있어서 활용하고 있고 스카이프는 영상 통화하게 되면 외국인이면 실시간으로 통역해서 그 사람이 어떤 말을 하는지 알려주고 페이스북은 음성인식, 얼굴인식 서비스를 통해서 해당 페이스북에 사진이 올라오면 자동으로 태깅을 해주는 것이 있고 네이버는 기계 번역이나 음성검색, 쇼핑 카테고리 자동 분류에 활용하고 있고 SK텔레콤은 개인화 서비스나 맞춤화 서비스에 이런 머신러닝을 적용하고 있습니다. 머신러닝의 잠재력은 이렇습니다. 인간의 학습 수준이 시간에 따라서 점진적으로 증가한다고 보면 머신러닝은 어느 시점에 가면 인간의 학습능력보다 더 높아질 수 있다고 얘기하고 있습니다. 그럼에도 불구하고 현재는 머신러닝 자체가 인간의 학습 수준보다 약간 떨어지는데 5년~10년 안에 이런 머신러닝이 굉장히 많은 데이터를 학습할 경우 인간의 학습능력을 따라잡아서 더 나아질 것이라고 모든 학자들이 얘기하고 있습니다. 결국은 잠재력이 있는 머신러닝을 우리가 어떤 형태로 어디에 활용하는 사람들의 몫이라고 볼 수 있겠습니다. 이상으로 머신러닝에 대해서 말씀드렸습니다.

+ Recent posts