마크다운 테스트
작성자 정보
- ◆딥셀◆ 작성
- 작성일
컨텐츠 정보
- 2,632 조회
본문
## 기계학습
현재 인공지능 기술의 대부분을 차지하는 기계학습에 대해 간단하게 알아보겠습니다.
### 학습: 컴퓨터는 무엇을 어떻게 학습한다는 것일까?
학습을 한다는 것은 자료를 통해서 새로운 것을 알아간다는 의미입니다. 그러나 학습이라는 용어를 붙인 컴퓨터에서 일어나는 동작은 사람이 배우는 것과는 다릅니다. 이를 제대로 이해하기 위해서는 컴퓨터의 능력을 알아야 합니다. 컴퓨터가 처리하는 모든 데이터는 숫자여야 합니다. 우리가 컴퓨터를 통해 보는 다양한 멀티미디어 데이터들도 모두 컴퓨터에서 처리될 때는 숫자로 변환된 상태에서 처리가 됩니다. 그리고 숫자 데이터를 처리한다고 하는 것은 결국 계산을 하는 것입니다. 컴퓨터의 능력을 숫자 데이터를 계산하는 것뿐이라고 이해하는 것이 모든 소프트웨어를 이해하는 데 있어서 아주 중요합니다. 다만 컴퓨터는 숫자 계산을 매우 빠르고 정확하게 할 수 있습니다. 컴퓨터의 탁월한 능력은 여기에서 나옵니다.
그리고 한 단계 더 나아가 알아야 할 내용은 복잡한 계산을 모듈화해서 처리할 때 함수를 쓴다는 것입니다. 소프트웨어에서 함수는 수학에서의 함수와 비슷합니다. 입력 값을 받아서 여러가지 규칙에 따라 계산을 하여 결과를 출력하는 프로그램 단위를 함수라고 합니다. 수학에서 나오는 함수도 독립변수 값을 주면 주어진 규칙에 따라 종속변수를 계산해 냅니다. 소프트웨어에서의 함수도 비슷하게 일을 합니다. 함수의 내용은 수학에서 계산의 규칙을 수식으로 쓴 것처럼 프로그램 언어로 계산의 규칙을 쓰면 됩니다.
함수의 계산식을 보면 입력값으로 대체되는 부분과 고정된 부분으로 나누어 집니다. 수학에서는 고정된 값들을 계수(Coefficient)라고 합니다. 아래의 식에서 a, b, c가 계수입니다.
$$
f(x) = ax^2 + bx + c
$$
위 식은 변수 x에 대한 2차 함수입니다. 여기에서 계수 a, b, c의 값이 정해지면 함수 f(x)는 결정이 되고 입력으로 주어지는 x의 값에 따라 출력값을 만들어 줍니다. 기계학습에서 학습한다는 말의 의미는 위와 같은 함수의 모양이 주어졌을 때, 계수 a, b, c의 값을 점점 개선한다는 의미입니다.
그렇다면 어떻게 학습을 할까요? 이 질문은 어떻게 계수의 값을 점점 더 좋은 것으로 개선하는가? 라는 질문과 같습니다. 이 과정에 대한 내용은 수학적으로 복잡합니다. 그래서 수학적인 내용 없이 간략하게 개념만을 알아보겠습니다.
우선 학습을 하기 위해서는 데이터셋(Dataset)이 필요합니다. 데이터셋이란 여러개의 입력데이터와 출력값을 함께 갖는 데이터의 모음입니다. 여기서 중요한 것은 정확한 출력값이 입력값과 짝지어저 있어야 한다는 것입니다. 그리고 이렇게 짝지어진 데이터가 충분히 많이 모여 있어야 합니다.
기계학습에서 학습은 이 데이터셋을 가지고 다음과 같은 방식으로 진행이 됩니다.
- 계수 초기화
- 초기화된 계수와 입력데이터를 가지고 출력값을 계산
- 이렇게 계산해서 구한 출력값과 데이터셋에서 가지고 있던 출력값을 비교
- 이 두 값의 차이를 줄이는 쪽으로 계수들을 수정(개선)
- 새로 개선된 계수와 입력값을 가지고 출력값을 계산
- 데이터셋에서 가지고 있던 출력값과 비교
- 이러한 절차를 많은 데이터셋에 대하여 반복적으로 시행
이렇게 데이터셋을 가지고 계산을 반복하며 계수값을 개선해 나가는 것이 기계학습에서의 학습의 의미입니다. 전체적으로 다시 한 번 정리해보면 기계학습은 다음과 같습니다.
- 데이터를 계산할 함수의 모양을 만든다.(계수는 정해지지 않았음)
- 데이터셋을 가지고 계산을 반복하며 좋은 계수값을 찾아 나간다.(계수 개선 과정)
- 가장 좋은 계수값을 찾아서 함수를 완성시킨다.(계수 결정)
이 것이 수학을 최대한 배재하고 설명한 기계학습의 내용입니다.
[이 게시물은 ♥딥셀♥님에 의해 2021-05-11 16:20:34 딥러닝에서 이동 됨]
[이 게시물은 ♥딥셀♥님에 의해 2021-05-11 16:48:50 소프트웨어에서 이동 됨]
관련자료
-
이전
댓글 0개
등록된 댓글이 없습니다.