영넌 개발로그

인공지능 / 머신러닝 / 딥러닝 개념 본문

코딩/ML , Deep

인공지능 / 머신러닝 / 딥러닝 개념

영넌 2021. 1. 18. 00:50

요약

 

인공지능 (Artificial Intelligence)?

존 매카시(John McCarthy)는 인공지능이라는 용어를 만들고 "intelligent machines을 만드는 과학과 공학"이라 정의했다.

사람의 지능으로 할 수 있는 사고, 학습, 자기 개발 등 컴퓨터가 대체할 수 있도록 하는 방법을 연구하는 분야이다.

 

 

머신러닝 (Machine Learning)?

정의가 두가지 있다. 

 

아서 사무엘(Arthur Lee Samuel), 1959년 : Field of study that gives computers the ability to learn without being explicitly programmed  == A라는 정보를 입력할 때 동작이 X가 되는 조건 B를 찾도록 기계를 학습시킨다

(일반적인 프로그램 : A입력에 B 조건이 성립하면 X를 동작시킨다)

 

톰 미첼(Tom Mitchell), 1998년 : A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E 

==만약 어떤 작업 T에서 경험 E를 통해 성능 측정 방법인 P로 측정했을 때 성능이 향상된다면 이런 컴퓨터 프로그램은 학습을 한다고 말한다.

 

간단하게 말하면, 사람이 학습하듯 컴퓨터에게 사람이 데이터를 입력시켜 학습을 시키는 방식으로 정해진 명령보다 데이터를 기반으로 예측이나 결정을 이끌어 내기 위해 특정한 모델을 구축함으로써 입력하지 않은 정보(test)에 대해서 판단이나 결정을 할 수 있게 된다.

따라서 궁극적으로는 의사 결정 기준에 대한 구체적인 지침을 소프트웨어에 직접 코딩해 넣는 것이 아닌, 대량의 데이터와 알고리즘을 통해 컴퓨터 그 자체를 ‘학습’시켜 작업 수행 방법을 익히는 것을 목표로 한다.

학습의 결과는 가중치(weight) 값, 즉 파라미터 값의 형태로 축적된다.

 

머신 러닝은 지도학습, 비지도학습, 강화학습의 세 가지 종류로 나눌 수 있다.

  • 지도학습 (Supervised Learning)

     -  입력 값과 함께 결과 값(label)을 같이 주고 학습 시키는 방법

     -  분류(classification), 회귀(regression) 등의 방법에 쓰임

     -  학습모델 : SVM(Support Vector Machine), 결정트리(Decision Tree), KNN, 선형/로지스틱 회귀모델 등

 

  • 비지도학습 (Unsupervised Learning)

     - 결과 값 없이 입력 값만을 이용하여 학습 시키는 방법

     - 군집화(clustering), 압축(compression) 등의 방법에 쓰임

     - 학습모델 : K-means 클러스터링

 

  • 강화학습 (Reinforcement Learning)

     - 결과 값 대신 보상(reward)을 주는 방식으로 학습 시키는 방법

     - 현재의 상태(state)에서 어떤 행동(action)을 취하는 것이 최적인지 학습함

       행동을 최할 때마다 보상이 주어지는데 이러한 보상을 최대화하는 방향으로 학습이 진행됨

     - Action Selection, Poilcy Learning 등의 방법에 쓰임

     - 학습모델: MDP(Markov Decision Process)

 

 

머신러닝은 현재 많은 분야에서 활용되고 있으며 문자 인식, 안면 인식, 자동 번역, 챗봇 등의 자연어 처리 분야와 음성인식, 필기 인식, 텍스트 마이닝, 스팸 필터, 추천 시스템 등의 정보 검색 엔진, 유전자 분석, 단백질 분류 등 다양한 곳에서 사용되고 있다. 이 중 어느 것도 최종 목표라 할 수 있는 일반 AI를 달성하지는 못했으며, '코딩'된 분류기로부터 인식하고 알고리즘을 통해 '학습'하는 방식으로 작동된다.

 

 

 

딥러닝 (Deep Learning)?

머신러닝에서 발전된 형태로 사람이 학습할 데이터를 입력하지 않아도 스스로 학습하고 예측한다. 이러한 모델은 인간의 신경망을 본딴 인공 신경망에서 발전한 것이다. 인공 신경망에서 이용했던 다층 퍼셉트론은 근본적인 한계(Vanishing Gradient/새로운 데이터 처리못함)를 가지고 있었고 이를 2000년 넘어서야 극복할 수 있는 방법(Pretraining/dropout)이 나왔다. 이런 방법을 사용하여 기존의 한계를 넘은 인공신경망을 '딥러닝'이라는 이름으로 부르기 시작했다.

 

딥러닝의 가장 대표적인 예가 2016년 이세돌 9단과 바둑 대결을 펼쳤던 구글의 "알파고"이다. 당시 알파고는 바둑 기보를 보고 스스로 바둑 전략을 학습했다. 페이스북은 딥러닝 기술을 적용해 2014년 "딥페이스"라는 얼굴 인식 알고리즘을 개발했다. 이외에도 MS, IBM 등 많은 테크기업들이 딥러닝을 적용한 제품을 만들었다.

 

 

 

 

 

 

 

reference :)
brunch.co.kr/@gdhan/10

Comments