"머신러닝"의 두 판 사이의 차이
(→카페(Caffe)) |
(→지도 학습(Supervised Learning)) |
||
22번째 줄: | 22번째 줄: | ||
====지도 학습(Supervised Learning)==== | ====지도 학습(Supervised Learning)==== | ||
입력과 출력 사이의 매핑을 학습하는 것이며, 입력과 출력 쌍이 데이터로 주어지는 경우에 적용한다. 지난 데이터를 기준으로 앞으로 있을 이벤트를 예측하는 데 보편적으로 사용된다. 예를 들면 신용 카드의 사기성이나 보험 가입자의 보험금 청구 가능성 여부 등을 예측하는 데 효과적이다. | 입력과 출력 사이의 매핑을 학습하는 것이며, 입력과 출력 쌍이 데이터로 주어지는 경우에 적용한다. 지난 데이터를 기준으로 앞으로 있을 이벤트를 예측하는 데 보편적으로 사용된다. 예를 들면 신용 카드의 사기성이나 보험 가입자의 보험금 청구 가능성 여부 등을 예측하는 데 효과적이다. | ||
− | 대표적으로 의사 결정 | + | 대표적으로 의사 결정 나무(Desicion Tree), KNN(L-nearest neighbor), 신경망(Neural Network), 서포트 벡터 머신(Support Vector Machine) 등이 있다. |
====비지도 학습(Unsupervised Learning)==== | ====비지도 학습(Unsupervised Learning)==== |
2019년 9월 3일 (화) 11:18 판
머신러닝(machine learning)은 인공지능(AI)의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 말한다. 즉, 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법을 의미한다. [1]
목차
- 1 개요
- 2 역사
- 3 특징
- 3.1 기법
- 3.1.1 지도 학습(Supervised Learning)
- 3.1.2 비지도 학습(Unsupervised Learning)
- 3.1.3 준지도 학습(Semisupervised Learning)
- 3.1.4 강화 학습(Reinforcement Learning)
- 3.1.5 배치 학습(Batch Learning)
- 3.1.6 오프라인 학습(Offline Learning)
- 3.1.7 온라인 학습(Online Learning)
- 3.1.8 사례 기반 학습(Instance-based Learning)
- 3.1.9 모델 기반 학습(Model-based Learning)
- 3.2 장점
- 3.3 단점
- 3.1 기법
- 4 활용
- 5 문제점과 대안
- 6 전망
- 7 프레임워크
- 8 각주
- 9 참고자료
- 10 같이 보기
개요
아서 사무엘(Arthur L. Samuel)은 1959년에 최초로 머신 러닝 또는 기계 학습을 "기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 연구 분야"라고 정의하였다. 이후, 톰 미첼(Tom Mitchell)은 1986년 "컴퓨터 프로그램이 어떤 작업 T와 평가 척도 P에 대해서 경험 E로부터 학습한다는 것은, P에 의해 평가되는 작업 T에 있어서의 성능이 경험 E에 의해 개선되는 경우를 말한다."라고 더욱 형식적인 정의를 내렸다. 머신 러닝은 명시적인 알고리즘을 설계하기 어렵거나 프로그래밍하기 어려운 작업들을 해결하기 위해 주로 사용된다. 데이터로부터 유용한 규칙, 지식 표현 또는 판단 기준 등을 추출한다는 점에서 데이터 마이닝이나 통계 및 수학적 최적화 문제와 관련이 깊다.
역사
- 1949년 : 도날드 헵(Donald Hebb)이 헵의 학습 규칙(Hebbian Learning Theory)을 발표
- 1952년 : IBM에서 근무하던 아서 사무엘(Arthur Samuel)이 최초의 머신러닝 프로그램이라 할 수 있는 체커 프로그램을 개발
- 1957년 : 프랭크 로젠블랫(Frank Rosenblatt)이 퍼셉트론(Perceptron)이라는 개념 발표
- 1959년 : 아서 사무엘의 논문에서 최초로 머신 러닝 정의
- 1960년 : 버나드 위드로우(Bernard Widrow), 테드 호프(Ted Hoff)가 델타 규칙(Delta Learning Rule)을 발표
- 1981년 : 폴 웨어보스(Paul John Werbos)가 다층 퍼셉트론(Multilayer Perceptron)을 역전파(Back Propagation)로 계산하는 방법 발표
- 1986년 : 로스 퀸란(John Ross Quinlan)이 머신러닝의 주류가 된 의사 결정 나무(Decision Tree)라는 알고리즘 발표
- 1995년 : 블라디미르 바프닉(Vladimir Vapnik)와 코리나 코르테스(Corinna Cortes)가 서포트 벡터 머신(Support Vector Machine, SVM) 발표
- 1995년 : IBM에서 근무하던 틴 캄 호(Tin Kam Ho)가 랜덤 의사 결정 포리스트(Random Decision Forests)라는 개념을 최초로 발표
- 1997년 : 요아브 프룬드(Yoav Freund)와 로버트 샤파이어(Robert Schapire)가 부스팅 앙상블 기법을 사용한 에이다부스트(AdaBoost)라는 알고리즘 발표
- 1997년 : 레오 브레이만(Leo Breiman)이 그래디언트 부스팅(Gradient Boosting)이라는 개념 제안
- 2001년 : 레오 브레이만이 랜덤 의사 결정 포리스트를 발전시킨 랜덤 포레스트(Random Forest)라는 알고리즘 발표
특징
기법
지도 학습(Supervised Learning)
입력과 출력 사이의 매핑을 학습하는 것이며, 입력과 출력 쌍이 데이터로 주어지는 경우에 적용한다. 지난 데이터를 기준으로 앞으로 있을 이벤트를 예측하는 데 보편적으로 사용된다. 예를 들면 신용 카드의 사기성이나 보험 가입자의 보험금 청구 가능성 여부 등을 예측하는 데 효과적이다. 대표적으로 의사 결정 나무(Desicion Tree), KNN(L-nearest neighbor), 신경망(Neural Network), 서포트 벡터 머신(Support Vector Machine) 등이 있다.
비지도 학습(Unsupervised Learning)
입력만 있고 출력은 없는 경우에 적용하며, 입력 사이의 규칙성 등을 찾아내는 게 목표이다. 이전 레이블이 없는 데이터를 학습하는 데 사용되며, 데이터를 탐색하여 내부 구조를 파악하는 것이 목적으로 사용된다. 트랜잭션 데이터에 특히 효과적이며, 텍스트 주제를 세분화하고 항목을 권장하며 데이터 이상점을 식별하는 데 이용된다. 대표적으로 클러스터링(Clustering, 군집화), FDS 시스템(금융 위험 이상 탐지 시스템)이 있다.
준지도 학습(Semisupervised Learning)
레이블이 지정된 데이터와 레이블이 지정되지 않은 데이터를 모두 사용해 트레이닝한다는 점에서 지도 학습과 차이가 있다. 레이블 지정에 따른 비용이 너무 높아 완전한 레이블 지정 트레이닝이 어려운 경우에 유용하며, 웹 캠을 이용한 안면 인식 기술 등에서 사용된다. 대표적으로 제한된 볼츠만 머신(Restricted Boltzmann Machine, RBM)을 여러 겹으로 쌓은 심층 신뢰 신경망(Deep Belief Network, DBN)이 있다.
강화 학습(Reinforcement Learning)
주어진 입력에 대응하는 행동을 취하는 시스템에 대해 적용하며, 로봇, 게임 및 내비게이션에서 많이 이용된다. 시행착오를 거쳐 보상을 극대화할 수 있는 행동을 찾아내며, 에이전트가 일정한 시간 내에 예상되는 보상을 극대화할 수 있는 동작을 선택하도록 한다. 대표적으로 딥러닝(Deep Learning)이 있다.
배치 학습(Batch Learning)
시스템이 점진적으로 학습할 수 없어 가용한 데이터를 모두 사용해 훈련시켜야 한다. 일반적으로 시간과 자원을 많이 소모하기 때문에 보통 오프라인에서 수행되는 경우가 많다.
오프라인 학습(Offline Learning)
학습한 것을 적용만 하는 훈련 방법이다.
온라인 학습(Online Learning)
데이터를 순차적으로 한 개씩 또는 미니배치(Mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다. 컴퓨팅 자원이 제한되거나 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템에 적합하다. 점진적 학습(Incremental Learning)이라고도 한다.
사례 기반 학습(Instance-based Learning)
가장 간단한 형태의 학습. 시스템이 단순히 여러 사례를 메모리에 저장하는 것으로 학습한다. 메모리 기반 학습이라고도 한다. 대표적으로 유사도를 분류하여 스팸 메일을 분류함으로써 새로운 데이터에 일반화하는 것을 확인할 수 있다.
모델 기반 학습(Model-based Learning)
여러 샘플 데이터들의 모델을 만들어 사용하는 방식으로 학습한다. [2]
장점
- 학습을 위한 지식 표현이 필요 없다.
- 충분한 데이터와 적합한 알고리즘을 사용할 경우, 사람이 만든 모델보다 좋은 결과를 보여줄 수 있다.
- 고도의 수학적 지식이나 프로그래밍 능력을 요구하지 않는다.
- 자동화가 가능하다.
- 데이터를 제외한 나머지 과정은 자동화가 가능함으로 저렴하고 유연하다.
- 프로그램을 이용해 자신이 원하는 대로 사용이 가능하다. [3]
단점
- 실수 : 사례를 통해 학습하는 특성상, 예상치 못한 상황에서 어이없는 판단과 결정을 할 가능성이 있다.
- 책임 : 인공지능은 자율적으로 작동하는데, 사고가 발생할 경우 누구에게 피해 책임을 물어야 하는 지 정의되지 않았다.
- 데이터 : 방대한 양의 데이터가 축적된 영역에서 빅데이터에 접근할 수 있는 이들만 사용이 가능하다. [4]
활용
머신 러닝은 컴퓨터 과학을 포함한 대부분의 모든 분야에서 활용되고 있다.[5] [6]
금융 서비스
데이터로부터 중요한 인사이트를 확인하고 사기를 방지하여 투자 기회를 확인하거나 투자자가 거래 시기를 정확히 파알할 수 있도록 지원한다. 또한 데이터 마이닝을 이용해 고위험 특징을 보이는 클라이언트를 식별하거나 사이버 감시를 이용해 사기의 전조 징후를 정확하게 발견할 수 있다.
의료 서비스
IoT 기술을 이용해 환자의 건강 상태를 실시간으로 파악할 수 있는 웨어러블 장치와 센서로 머신러닝을 성장시킨다. 의료 전문가가 실시간 데이터를 분석하여 환자의 변화 수이나 적색 경고를 확인하여 진단과 치료 효과 개전에 활용될 수 있다.
석유 및 가스
새로운 에너지원의 발견, 매장된 광물 분석, 정유 시설의 센서 고장 예측, 등의 범위에서 사용되고 있다.
정부
센서 데이터를 분석하여 효율성을 높이고 비용을 절감할 수 있는 방법 발견 및 사기 감지, 개인정보 도용을 최소화할 수 있다.
마케팅 및 영업
과거 구매자의 검색 및 구매 기록을 분석하여 상품 추천 및 홍보에 사용할 수 있다.
운송
데이터 분석으로 패턴과 트렌드를 발견하는 데 사용될 수 있다.
컴퓨터 시각
문자 인식, 물체 인식, 얼굴 인식.
자연어 처리
- 자동 번역, 대화 분석 : 음성 인식 및 필기 인식
- 정보 검색 및 검색 엔진 : 텍스트마이닝, 스팸 필터, 추출 및 요약, 추천 시스템
- 생물 정보학 : 유전자 분석, 단백질 분류, 질병 진단
- 컴퓨터 그래픽 및 게임 : 애니메이션, 가상현실
- 로보틱스 : 경로 탐색, 무인 자동차, 물체 인식 및 분류
문제점과 대안
머신러닝 실패 원인
- 비즈니스에 대한 이해 부족
- 낮은 데이터 품질
- 잘못된 머신러닝 사용
- 편견
- 부족한 인프라 자원
- 부실한 계획과 거버넌스의 부재 [7]
대안
- 데이터 : 데이터의 양과 질이 풍부할수록 학습의 결과가 극대화된다. 주로 구글, 페이스북, 등의 방대한 데이터를 가진 대형 기업에서 딥러닝을 학습시키고 있는 것을 발견할 수 있으며, 이를 통해 큰 데이터시장을 형성하는 것이 중요함을 알 수 있다.
- 인력 : 티그레이프의 유인관 박사는 "사람의 지식이 들어갈 수록 기계가 정확하게 배울 수 있는 여지가 높다."고 말했다. 데이터에 대한 깊이 있는 지식을 가진 사람이 필요하며, 앞서 말한 기술을 익히기 위해서는 고급 수학(폴리노미아 함수, 일반함수 피팅, 시그노이드 함수 등)을 공부하는 것이 좋다.
- 컴퓨팅 파워 : 막대한 데이터를 연산하는 작업을 감당할 수 있어야 하기 때문에 상당량의 컴퓨팅 파워를 요구한다. [8]
전망
시장조사기업인 마켓츠앤마켓츠(MArketsandMarkets)는 머신러닝 시장이 2017년 14억 1000만 달러(약 1조 5104억 원)에서 2022년 88억 1000만 달러(약 9조 4373억 원)까지 성장하리라고 전망했으며, 특히 금융권에서 머신러닝 솔류션에 대한 수요가 높다고 설명했다. [9] 머신러닝(ML) 분야는 고객 유지율 향상부터 대용량 데이터에 대한 통찰력 강화, 공급망의 리스크 완화까지 모든 분야의 기업을 지원함으로써 폭발적으로 증가하고 있다. 규모에 따른 이미지 식별과 분류, 소비자 중심의 챗봇, 구글의 딥마인드 네트워크 등의 고급 신경 네트워크에 사용되고 있어 현재 3번째로 수요가 많은 AI 직업에 속하고 있다. 중소기업과 대기업 모두 숙련된 인재를 확보하기를 바라기 때문에 학교 및 회사에서 혁신적인 인재 개발을 위한 교육 프로그램이 생성되고 있는 추세이다. [10]
프레임워크
텐서플로우(TensorFlow)
구글(Google) 브레인팀에서 파이썬(Python)기반으로 개발되었으며, 2015년에 11월 9일 아파치 2.0 오픈소스 라이센스로 공개되었다. [11]
테아노(Theano)
'최초의 딥러닝 라이브러리' 중 하나. 파이썬 기반이며 CPU 및 GPU의 수치 계산에 매우 유용하다.
케라스(Keras)
파이썬 기반이며 매우 가볍고 배우기가 쉽다. 효율적인 신경망 구축을 위한 단순화 된 인터페이스로 개발되었다.
카페(Caffe)
'최초의 딥러닝 라이브러리' 중 하나. 파이썬 인터페이스를 가지고 있는 C++ 라이브러리이다. 'Caffe Model Zoo'[12]에서 미리 훈련된 여러 네트워크를 바로 사용할 수 있다는 장점이 있다.
토치(Torch)
Lua 기반의 딥러닝 프레임워크. 페이스북, 트위터, 구글 등에서 사용하고 개발하고 있다. '최대한의 유연성을 달성하고 모델을 제작하는 과정을 매우 간단하게 만드는 것'을 목표로 만들어졌으며, 최근 파이썬으로 포팅한 'PyTorch'가 페이스북에서 활용되면서 주목을 받고 있다.
DL4J(Deep Learning 4 J)
자바로 개발된 인기있는 딥러닝 프레임워크. 상업 및 산업 중심의 딥러닝 플랫폼으로 널리 사용되며, 빅데이터 도구를 기반으로 구현이 가능하기 때문에 효율적인 딥러닝을 수행할 수 있다는 장점이 있다.
MxNet
아마존(Amazon)에서 사용하고 있는 딥러닝 프레임워크. 확장성이 좋고 다중 GPU와 컴퓨터로 작업할 수 있기 때문에 대중적이다.
CNTK(Microsoft Cognitive Toolkit)
딥러닝 모델을 교육하기 위한 오픈소스 딥러닝 도구. 파이썬/C++을 지원한다. 높은 확장성과 성능을 발휘할 수 있으며 여러 시스템에서 실행될 때 텐서플로우나 테아노같은 다른 툴킷들보다 높은 성능을 제공한다는 장점이 있다.
라자냐(Lasagne)
테아노의 최상위에서 실행되는 고급 학습 라이브러리. 파이썬을 지원하며 케라스와 비슷한 부분이 많다.
Big DL
스파크에 대한 딥러닝 라이브러리로 배포. 확장성이 뛰어나다는 장점이 있다. 풍부한 학습 지원을 제공하며 인텔의 수학 커널 라이브러리를 사용하여 고성능을 보장한다. 클러스터에 저장된 대규모 데이터 세트에 딥러닝 기술을 추가할 경우 매우 유용하게 사용될 수 있다. [13]
각주
- ↑ 〈기계 학습〉, 《위키백과》
- ↑ 로드홈, 〈머신러닝 시스템의 종류〉, 《개인 블로그》
- ↑ 이병희 기자, 〈머신러닝을 왜 해야할까?〉, 《디지털 투데이》, 2016-07-11
- ↑ 권오성 기자, 〈인공지능 '치명적 한계' 셋①학습한 적 없는 경우 맞닥뜨리면 터무니없는 결과〉, 《한겨레》, 2016-03-14
- ↑ 〈머신러닝 소개 및 활용 방안〉, 《SAS 코리아》
- ↑ 〈머신 러닝〉, 《네이버 지식백과》
- ↑ Bob Violino, 〈머신러닝을 실패로 이끄는 6가지 방법〉, 《IT WORLD》, 2018-10-15
- ↑ 김우용 기자, 〈머신러닝, 제대로 쓰기 위한 3가지 키워드〉, 《ZDNet Korea》, 2014-12-14
- ↑ 오다인 기자, 〈꿈틀대는 머신러닝 시장, 한국은 어디쯤 왔나〉, 《보안뉴스》, 2018-03-13
- ↑ 스테판 자파리노, 〈기고|AI∙ML 채용 전망 '수요 느는데 공급은 부족'〉, 《CIO Korea》, 2018-08-06
- ↑ 텐서플로우 공식 홈페이지 - https://www.tensorflow.org/
- ↑ 이승현, 〈Caffe에서 이미 제고하는 모델(Model Zoo) 정리〉, 《개인 블로그》, 2016-03-13
- ↑ SD아카데미, 〈딥러닝(Deep Learning)프레임워크, 상위 10가지〉, 《네이버 블로그》, 2018-01-29
참고자료
- 〈기계 학습〉, 《위키백과》
- 〈머신 러닝〉, 《네이버 지식백과》
- 이병희 기자, 〈머신러닝을 왜 해야할까?〉, 《디지털 투데이》, 2016-07-11
- 〈머신러닝 소개 및 활용 방안〉, 《SAS 코리아》
- 권오성 기자, 〈인공지능 '치명적 한계' 셋①학습한 적 없는 경우 맞닥뜨리면 터무니없는 결과〉, 《한겨레》, 2016-03-14
- 로드홈, 〈머신러닝 시스템의 종류〉, 《개인 블로그》
- 김우용 기자, 〈머신러닝, 제대로 쓰기 위한 3가지 키워드〉, 《ZDNet Korea》, 2014-12-14
- Bob Violino, 〈머신러닝을 실패로 이끄는 6가지 방법〉, 《IT WORLD》, 2018-10-15
- 스테판 자파리노, 〈기고|AI∙ML 채용 전망 '수요 느는데 공급은 부족'〉, 《CIO Korea》, 2018-08-06
- 오다인 기자, 〈꿈틀대는 머신러닝 시장, 한국은 어디쯤 왔나〉, 《보안뉴스》, 2018-03-13
- SD아카데미, 〈딥러닝(Deep Learning)프레임워크, 상위 10가지〉, 《네이버 블로그》, 2018-01-29
- 이승현, 〈Caffe에서 이미 제고하는 모델(Model Zoo) 정리〉, 《개인 블로그》, 2016-03-13
- 텐서플로우 공식 홈페이지 - https://www.tensorflow.org/
같이 보기
|