Byn's Research Note

AI based Mixed Reality, Human-Computer Interaction

↓ My Web CV & Portfolio 자세히보기

Artificial Intelligence/Deep Learning

Deep Learning [0] : 딥러닝 기본 개념

JaehyeonByun 2024. 9. 19. 16:34

Deep Learning

 

인공지능(Artificial Intelligence, AI)은 기계가 인간처럼 학습하고 사고하며 문제를 해결할 수 있도록 만드는 기술이다. 이는 데이터를 분석하고 패턴을 찾아 인간의 사고를 모방하는 시스템을 개발하는 것에서 시작된다. 다른 것들에서 공통점을 찾고, 비슷한 것들에서 차이점을 찾는 것이라는 표현은 AI의 핵심 원리를 매우 간단히 설명한 것이다. 

 

 

예를 들어, 사진 속에서 고양이와 개를 구분하는 AI 모델을 만든다고 하자. AI는 먼저 다양한 동물 사진(고양이와 개를 포함한 여러 동물)을 관찰하며 학습한다. 다른 것들에서 공통점을 찾는 것은 AI가 고양이와 개의 이미지를 다른 동물의 이미지와 비교하면서 고양이와 개만의 공통된 특징(예: 네 발, 털이 있음)을 발견하는 과정이다. 반대로, 비슷한 것들에서 차이점을 찾는 것은 고양이와 개라는 두 유사한 카테고리를 비교하여 차별화된 특징(예: 고양이는 날카로운 귀와 꼬리가 자주 위로 올라감, 개는 다양한 크기와 귀 모양)들을 학습하는 과정이다.

 

이 과정은 머신러닝의 기본 원리로, 데이터를 분석하여 패턴을 인식하는 데 사용된다. 또 다른 예로는 이메일의 스팸 필터링을 들 수 있다. AI는 스팸 이메일과 정상 이메일 데이터를 비교하며 두 범주의 공통점과 차이점을 학습한다. 스팸에서 자주 발견되는 특정 단어(예: 무료, 즉시 클릭)와 정상 이메일의 표현 방식 차이를 기반으로 스팸 여부를 판단하게 된다. 이처럼 AI는 데이터의 다양한 관점을 고려해 공통점과 차이점을 찾아내는 능력을 기반으로 작동하며, 이를 통해 예측과 의사결정을 가능하게 하는 것이다.

 

 

머신러닝(Machine Learning, ML)은 컴퓨터가 명시적으로 프로그래밍되지 않아도 데이터를 통해 학습하고, 주어진 문제를 해결하거나 성능을 향상시킬 수 있도록 하는 기술이다. 머신러닝에서 Machine은 실제로는 소프트웨어나 알고리즘으로 이 소프트웨어는 다양한 데이터로부터 패턴을 학습한다. Learning의 핵심은 컴퓨터가 데이터로부터 유용한 정보를 추출하고 이를 바탕으로 예측하거나 결정을 내리는 능력을 키우는 것이다.

 

예를 들어 머신러닝 모델에 많은 고양이 사진 데이터를 제공하면 모델은 데이터를 분석해 고양이의 일반적인 특징(예: 두 개의 귀, 긴 꼬리, 특정 형태의 얼굴)을 학습하게 된다. 이후 새로운 사진이 들어오면, 모델은 학습한 특징을 바탕으로 이 사진이 고양이인지 아닌지를 판단할 수 있다.

 

데이터를 통해 성능 향상이라는 문구를 이해하려면 머신러닝의 학습 과정에 주목해야 한다. 모델은 처음에는 특정 작업(예: 이미지 분류, 텍스트 번역 등)에 대한 성능이 낮을 수 있다. 하지만 더 많은 데이터를 학습하고 학습 결과를 평가하며 이를 반복적으로 조정함으로써 점점 더 정확한 결과를 도출하게 된다. 이 과정은 훈련(training)이라고 불린다. 구체적인 예로 스팸 필터를 들어보자. 초기에 머신러닝 모델은 이메일 데이터를 받아 스팸과 정상 이메일의 차이를 학습한다. 특정 단어(예: "무료", "당첨")나 발신 주소 같은 스팸의 특징을 학습하며, 시간이 지남에 따라 더 많은 데이터를 접함으로써 스팸을 분류하는 정확도가 향상된다.

 

결론적으로 머신러닝은 데이터를 활용해 컴퓨터가 스스로 학습하고, 반복적 학습을 통해 더 나은 성능을 발휘하도록 하는 기술이다. 이는 현재의 인공지능 발전의 중심에 있으며, 데이터가 풍부한 환경에서 특히 효과적으로 작동한다. 머신러닝의 기본 개념은 지도 학습(Supervised Learning)비지도 학습(Unsupervised Learning)으로 나뉜다.

 

지도 학습 (Supervised Learning)

 

지도 학습의 주요 목표는 라벨이 달린 데이터(labeled data)를 사용하여 모델을 학습시키고, 이를 통해 보지 못한 데이터나 미래 데이터를 예측하는 것이다. 지도라는 이름은 학습 데이터에 입력 데이터와 출력 레이블(정답)이 포함되어 있어 마치 교사가 답을 알려주는 것처럼 모델을 훈련시키는 방식에서 유래되었다.

 

1. 분류(Classification)

 

분류는 지도 학습의 하위 분야로, 카테고리(=불연속적, 순서가 없는) 레이블을 예측하는 데 중점을 둔다. 예를 들어, 이메일 스팸 필터링 시스템을 생각해 보자. 이 시스템의 학습 데이터는 이메일 본문 (입력 데이터)과 스팸 여부를 나타내는 라벨(출력 데이터)을 포함한다. 모델은 이 데이터를 기반으로 스팸과 정상이라는 두 카테고리 중 하나로 이메일을 분류할 수 있도록 학습한다. 새로운 이메일이 들어오면 학습된 모델이 이를 분석하고 스팸인지 아닌지를 예측한다.

 

2. 회귀(Regression)

 

회귀는 연속적(continuous) 출력 값을 예측하는 문제를 다룬다. 예를 들어, 부동산 데이터를 사용해 주택 가격을 예측한다고 하자. 학습 데이터에는 각 집의 크기, 위치, 방 개수 등의 입력 변수와 해당 집의 실제 판매 가격(연속형 출력 변수)이 포함된다. 머신러닝 모델은 입력 변수와 출력 변수 간의 관계를 학습한 후, 새로운 주택 데이터를 입력받았을 때 그 집의 예상 가격을 예측할 수 있다.

 

비지도 학습 (Unsupervised Learning)

비지도 학습은 라벨이 없는 데이터를 기반으로 데이터의 숨겨진 구조나 패턴을 발견하는 데 중점을 둔다. 이는 데이터가 어떠한 구조를 가질지 미리 알지 못하는 경우에도 유용하며, 주로 데이터 탐색과 차원 축소에 사용된다.

 

1. 클러스터링(Clustering)

 

클러스터링은 데이터를 비슷한 특성을 가진 그룹(클러스터)으로 묶는 기법이다. 예를 들어 대형 소매업체가 고객 데이터를 분석한다고 하자. 고객의 나이, 구매 금액, 구매 빈도 등의 데이터를 바탕으로 머신러닝 모델이 고객을 몇 개의 그룹으로 나눌 수 있다. 이 그룹은 비슷한 구매 습관을 가진 고객들로 구성되며, 마케팅 전략을 세울 때 큰 도움을 준다. 여기서 중요한 점은 데이터에 미리 라벨이 없다는 것이다. 즉, 모델이 데이터에서 패턴을 스스로 찾아 그룹을 형성한다.

 

2. 차원 축소(Dimensionality Reduction)

 

차원 축소는 데이터의 주요 정보를 최대한 보존하면서 고차원의 데이터를 저차원 공간으로 투영하는 과정이다. 예를 들어, 이미지 데이터는 보통 매우 높은 차원의 데이터(수천 개의 픽셀 값)로 표현된다. 그러나 이러한 데이터를 모두 사용하면 계산이 복잡해지고, 시각화도 어려워진다. 차원 축소 기법(PCA, t-SNE 등)을 사용하면 데이터의 주요 특징을 추출하여 2차원 또는 3차원으로 압축할 수 있다. 이렇게 축소된 데이터를 통해 데이터를 시각화하거나 분석을 단순화할 수 있다.

 

결론적으로 비지도 학습은 데이터의 정답(라벨)이 주어진 상태에서 학습하여 미래를 예측하는 데 중점을 두고 비지도 학습은 라벨 없이 데이터의 구조를 탐색하고 패턴을 발견하는 데 초점을 둔다. 각 기법은 다양한 실제 응용 사례에서 중요한 역할을 한다.

 

 

Terminology & Notation

 

1. Feature (𝒙): 특성

 

특성(feature)은 데이터 표의 열(column)을 의미하며, 입력 변수(input variable)로도 불린다. 이는 머신러닝 모델이 학습하거나 예측할 때 사용하는 데이터 속성을 나타낸다. 수학적으로, 각 특성은 𝒙∈R𝑛×1로 나타내며, 𝑛은 샘플의 개수를 의미한다. 예를 들어, 특성이 키(cm)와 몸무게(kg)로 구성된 데이터가 있다고 하자. 데이터 표의 열은 각 특성을 나타내며, 첫 번째 특성은 키, 두 번째 특성은 몸무게를 나타낸다. 각각의 열은 𝒙1(키)와 𝒙2(몸무게)로 표현된다.

 

2. Feature Matrix (𝑿): 특성 행렬

 

특성 행렬은 데이터 표 전체를 수학적으로 표현한 것이다. 이 행렬은 모든 샘플의 특성을 포함하며, 크기는 𝑿∈R𝑛×𝑚이다. 여기서 𝑛은 샘플의 수, 𝑚은 특성의 수를 의미한다. 

 

 

3. Target (𝒚): 타겟

 

타겟(target)은 데이터 표의 출력 열(column)을 의미하며, 모델이 예측하려는 값을 나타낸다. 이를 종속 변수(dependent variable) 또는 레이블(label)이라고도 한다. 


4. Training Example: 훈련 샘플

 

훈련 샘플(training example)은 데이터 표의 각 행(row)을 나타내며, 하나의 관측치(observation) 또는 샘플(sample)로 불린다. 각 행은 입력(특성)과 출력(타겟)을 포함한다.

 


5. Loss Function: 손실 함수

 

손실 함수(loss function)는 모델의 예측값과 실제 타겟 값 사이의 차이를 측정하는 함수이다. 이를 비용 함수(cost function) 또는 에러 함수(error function)라고도 한다. 손실 함수는 모델을 개선하기 위한 기준으로 사용된다.