인공지능(Artificial Intelligence, AI)에 대한 정의는 굉장히 다양하다.
"기계나 컴퓨터 시스템이 인간의 지능을 모방하거나 수행할 수 있는 능력",
"인간의 지능이 가지는 학습, 추리, 적응, 논증 따위의 기능을 갖춘 컴퓨터 시스템",
"컴퓨터에서 음성 및 작성된 언어를 확인, 이해, 번역하고 데이터를 분석하며 추천하는 기능을 포함하여 다양한 고급 기능을 수행할 수 있게 해주는 일련의 기술"
이 설명들이 공통적으로 말하고자 하는 것은 다음과 같다.
"인공지능은 인간의 지능을 모방하여, 인간이 수행하는 고급 기능을 컴퓨터가 수행할 수 있도록 하는 기술이다."
이처럼 인공지능은, 인간의 지능을 모방해 복잡한 문제를 해결하면서 다양한 산업과 생활 속에서 효율성을 높이는 데 큰 역할을 하고 있다.
아이폰의 시리와 구글 번역기 같은 NLP(Natural Language Processing), 자율주행 자동차와 같이 카메라로 사물을 인식하고 분류하는 Computer Vison이 그 예시이다.
머신러닝 (Machine Learning)은 인공지능에 포함되는 개념으로, 학습을 통해 예측을 수행하는 모델이다. 컴퓨터가 명시적으로 프로그래밍되지 않고도 데이터를 통해 학습하고 예측을 할 수 있도록 하는 것이다.
머신러닝은 크게 지도 학습(supervised learning)과 비지도 학습(unsupervised learning), 강화 학습(Reinforcement Learning)으로 나눌 수 있다.
머신러닝을 설명하기 전에, 중요한 개념인 Training data와 Test data에 대해서 설명하겠다.
모델을 학습하기 위해서는 학습을 위한 training data와 시험을 위한 test data가 필요하다.
이때, 왜 데이터셋을 training data(학습)와 test data(평가)로 나누는 것일까?
그 이유는, 모델이 학습 과정에서 정답을 미리 알지 못하게 하기 위함이다.
모델이 test data를 통해 학습을 하게 된다면, 당연하게도 모델 성능이 향상될 것이다.
이는 우리가 답지를 외우는 것과 같은 이치이다.
지도 학습은 입력 데이터와 그에 대한 정답(레이블)을 사용하여 모델을 학습하는 방법이다.
말 그대로 정답을 지도하여 모델을 학습한다는 뜻이다.
예시로, 이메일 스팸 필터링(스팸/정상 이메일 분류)을 들어볼 수 있겠다.
메일함에서 스팸 메일을 분류하는 모델이 있다고 하자.
우리는 5개의 메일이 있고, 1번과 2번 메일은 스팸, 3, 4, 5번 메일은 정상 이메일로 분류한다.
모델은 5개의 메일을 학습하여 스팸 메일과 정상 메일의 특징에 대해 학습한다.
새로운 메일이 도착하면, 학습된 모델은 이 메일이 스팸 메일인지 정상 메일인지 분류한다.
위는 지도 학습 중 분류(Classification) 모델의 예시이다.
분류 모델은 데이터를 여러 클래스 중 하나로 분류하는 것이다.
더 쉽게 말하자면, 모델을 이산적인 값으로 분류한다는 뜻이고, 이보다 쉽게 말하자면, '모델을 0 또는 1로 분류한다'고 할 수도 있다.
지도학습 중 회귀(regression) 모델은 연속적인 숫자 값을 예측하는 모델이다.
이 예시로 주택 가격을 예측한다거나, 판매량을 예측하는 모델을 들 수 있겠다.
두 모델 모두 결과값이 '가격(연속값)'이기 때문에 회귀 문제인 경우이다.
위의 학습 방법에 대한 알고리즘은 굉장히 다양하다.
선형 회귀, 다항 회귀, 회귀 트리, 로지스틱 회귀, 서포트 벡터 머신 등등...
모두 설명하자면 글이 길어질 것 같아 따로 포스팅을 하겠다.
비지도 학습은 데이터에 대한 정답이 없는 상태에서 데이터의 패턴을 발견하는 방법이다.
지도 학습은 training data에 대해 정답(label)을 부여했다면,
비지도 학습은 training data에 대해 정답을 부여하지 않고 "너 혼자 학습해라!"라고 하는 것이다.
위의 예시를 차용하자면, 메일이 스팸인지 정상인지 알리지 않고 모델을 나누는 것과 같다.
강화 학습은 에이전트가 환경과 상호작용하면서 보상을 최대화하는 방향으로 학습하는 방법이다.
마찬가지로 스팸 메일/정상 메일 예시의 경우,
스팸 메일을 잘 분류하면 긍정적인 보상을 받고, 잘못 분류하면 부정적인 보상을 받는 것과 같다.
내용들을 정리하자면 다음과 같다.
- 지도 학습: 입력 데이터와 그에 대응하는 출력 레이블(정답)을 사용하여 모델을 학습
- 비지도 학습: 레이블이 없는 데이터에서 데이터의 패턴이나 구조를 학습
- 강화 학습: 에이전트가 환경과 상호작용하며 보상을 최대화하는 행동 정책을 학습
공부를 하면서 작성한 내용이라 오류가 있을 수 있습니다. 알려주시면 감사드리겠습니다(_ _)
'학습 > AI • ML' 카테고리의 다른 글
오토인코더(Auto-encoder)에 대한 간단 정리 (1) | 2024.10.15 |
---|---|
과적합(Overfitting)이란 무엇인가? (0) | 2024.07.22 |