인공지능
쉽게말하면, 말 그대로 인공적인 지능을 말한다. 지능이란 인간이 지니는 지적인 능력으로, 합리적으로 생각하고 처리하는 능력이라고 할 수 있다. 인간이 가지는 특징인 지능을 인공적으로 만드는 것이 인공지능이다. 실제로 인공지능은 컴퓨터 프로그램이나 시스템으로 구현되기 때문이 이렇게 구현된 것을 인공지능이라고 한다.
https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5
그런데 보통 일반인에게 인공지능이 무엇인가? 라고 질문하면 로봇을 떠올리기 쉽다. 그러나 로봇은 일련의 작업을 수행하는 기계적 장치를 말한다. 즉, 쉽게 말하면 하드웨어인 것이다. https://ko.wikipedia.org/wiki/%EB%A1%9C%EB%B4%87
따라서 인공지능은 소프트웨어라고 할 수 있다. 이처럼 하드위어와 소프트웨어가 합쳐지면 영화에서나 볼법한 정말 사람 같은 로봇이 만들어질 수 있겠다.
위키에서는 컴퓨터 프로그램으로 정의한다.
https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5
그런데 정의가 너무 광범위하다. 인공지능 = 인공적으로 만든 지능 = 컴퓨터 프로그램
그러서 인공지능에 대해서 조금 더 자세히 알아보자
인공지능에 포함되는 분야 중에 하나가 기계학습(Machine Learning, 머신러닝) 이다. 지능 중에서 학습하는 능력을 기계가 갖게 만드는 알고리즘 영역이라고 할 수 있다.
https://ko.wikipedia.org/wiki/%EA%B8%B0%EA%B3%84_%ED%95%99%EC%8A%B5
기계학습이란 용어에 대한 정의는 1959년에 아서 사무엘이 "기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 연구 분야"라고 정의하였다. 그리고 1998년에 카네기 멜론 대학의 톰 마이클 교수는 아래와 같이 더 구체적으로 정의하였다.
“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.”
만약에 P에 의해서 측정되는 T라는 작업을 할때 컴퓨터 프로그램의 성능이 경험 E를 통해 증가했다면 컴퓨터 프로그램이 성능 지표 P와 작업 T의 일부 분류 표시를 가지고 경험 E로 부터 배운다 라고 한다.
이러한 기계학습은 학습 방법으로 유형을 구분할 수 있다. 지도학습, 비지도학습, 강화학습 이 그것이다.
인공적으로 지능을 만들기 위해서 컴퓨터에게 지능을 만들어 주어야 하는데 이 지능을 만드는 과정/방법을 학습이라고 한 것이다.
이처럼 학습하는 방법을 크게 3가지로 나눈다. 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning).
지도학습(Supervised Learning)
어린 아이에게 과일의 이름을 학습시키는 상황을 예로 들어보자. 사과를 알려주기 위해서 사과를 보여주고 "이게 사과야" 라고 알려주는 방법이 지도 학습이다. 말 그대로 대상에게 학습할 내용과 정답을 지도해 주는 방법이다. 세상 모든 일에는 장점과 단점이 있듯이 이것도 있다. 먼저 장점, 쉽다. 아이에게 사과를 학습시키고 나서 다시 사과를 물어보면 곧 잘 대답한다. 가르쳐 주기도 쉽다. 사과를 들고 "이게 사과야" 하면되고 바나나를 들고 "이게 바나나야" 라고 알려주면 된다. 그리고 사과가 많이 없어도 학습시킬 수 있다. 반면에 단점도 있다. 배울때 없었던 것을 물어보면 대답을 잘 못한다. 즉, 미니 사과나 반쯤 먹은 사과를 보여주면 엉뚱한(잘못된) 대답을 할 가능성이 높다.
https://ko.wikipedia.org/wiki/%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5
비지도학습(Unsupervised Learning)
말그대로 지도하지 않는 학습 방법이다. 위에서 본 것처럼 지도라는 말은 정답을 가르쳐 준다는 의미로 이해할 수 있다. 비지도 학습은 정답을 알려주지 않고 지능을 갖게되는 방법이다. 앞선 어린 아이에게 과일의 이름을 학습시키는 동일한 상황에서 이번에는 여러 개의 사과와 여러 개의 바나나를 보여주는 것이다. 사과 바나나를 모아 놓고 알아서 구분해 보라고 하는 것이다. 구분해 놓은 것을 보고 "이런 것들은 사과라고하고 저런 것들은 바나나라고해"라고 알려주는 방법이다. 즉, 정답을 가르처주지 않고 학습하는 방법이다. 장점, 일일히 시간내서 하나씩 가르쳐줄 필요가 없다. 따라서 학습 자료 준비 시간이 빠르다. 그냥 많은 과일을 보여주면 된다. 그리고 또다른 장점으로는 안 배웠던 사과를 보여줘도 곧 잘 정확하게 대답한다. 사과 하나하나의 특징을 학습한 것이 아니라 사과들의 공통된 특징을 학습했기 때문이다. 단점, 사과와 바나나 등 데이터가 많이 있어야 한다. 안그러면 같은 것 끼리의 특성을 잘 못찾기 때문이다. 그리고 가르치기 어렵다. "여기 사과들을 보렴, 사과는 주로 동그란 모양이고 빨간색이야", 데이터를 통해 배우는 방법으로 정확한 정답이 있는 것은 아니다. (다만, 결과가 사람이 인지하는 정답과 매우 유사하게 나오게 할 수록 사람과 비슷한 인공지능이 되는 것이다.)
https://ko.wikipedia.org/wiki/%EB%B9%84%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5
강화학습(Reinforcement Learning)
당근과 채찍을 통해 학습하는 방법이다. 잘하면 당근을 못하면 채찍을 통해 알고리즘 프로그램을 보완하여 지능을 갖게하는 방법이다. 다른 학습 방법과의 다른 점은 데이터 한 경우에 따라서 당근/채찍을 주는 것이 아니라 전체를 최적화 할 수 있는 근사치를 찾는 다는 점에서 다르다. 그리고 가장큰 차이점은 주어진 데이터에서 아직 조사되지 않은 영역을 탐험하는 것과 알고있는 지식 사이의 균형을 고려하면서 최적의 행동계획을 수립한다는 것이다. 강화학습의 예로는 미로를 빠저나가는 로봇을 생각해볼 수 있다. 상/하/좌/우 로 움직일 수 있는 행동중에서 어떤 이동의 움직임을 연속해서 선택해야 미로라는 환경에서 가장 빨리 빠져나갈 수 있는지를 여러번의 학습을 통해 찾아내는 것이다.
https://ko.wikipedia.org/wiki/%EA%B0%95%ED%99%94_%ED%95%99%EC%8A%B5
기타
다른 방법으로 인간의 여러가지 인지지능 중 시각과 언어 지능을 인공지능으로 구분할 수 있다. 시각인지 분야는 컴퓨터 비전(Computer Vision) 분야로 그리고 언어인지 분야는 자연어 처리(NLP: Natural Language Proecss)분야로 크게 구분한다. 추론과 기억분야가 추가되기도 한다.
https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EC%96%B4_%EC%B2%98%EB%A6%AC
사람의 지능은 여러 상황에 따라서 다양한 방법으로 문제를 해결한다. 그러나 인공지능은 아직 인간 수준의 종합지능을 가지고 있지는 못하다. 물론 단일화되고 규격화된, 그리고 제한된 문제 분야에서는 인간을 뛰어넘는 지능을 보여주기도 한다. 알파고와 이세돌기사의 대결에서 알파고가 승리한 것이 좋은 예시가 되겠다.
이처럼 아직 인공지능은 여러 문제를 동시에 구분하고 처리하는데 낮은 성능(지능)이다. 그러나 학습 방법이나 문제 종류에 따라서 세분화된 분야에서는 딥러닝(Deep Neural Network)의 발달로 높은 지능이 개발/발전되고 있다. 이 때문에 실제로 인공지능이나 기계학습을 활용하는 현업에서는 문제 상황과 확보한 데이터 그리고 목적에 맞게 학습 방법을 선택하는 것이 매우 그리고 더 매우 중요하다. 재료인 데이터의 중요성은 더 말할나위 없이 중요하다.
'인공지능-기계학습' 카테고리의 다른 글
인공지능 이야기(간단 역사와 연구분류) (0) | 2022.02.20 |
---|---|
Machine Learning Engineer Interview Questions: Machine Learning-Related Questions (0) | 2021.11.06 |
[연재] 고객분석 2 - 워드 클라우드를 이용한 고객 성향 분석 및 판단 (0) | 2021.06.12 |
[연재] 고객분석 1- 고객 구매 행동 모델 및 성격유형 (0) | 2021.06.12 |
[연재] 고객분석ㅡMBTI (0) | 2021.06.10 |