AI

CS 182: Lecture 1, Part 2: Introduction

꼰딩 2025. 10. 25. 01:53

일반적인 프로그래밍은 함수의 input과 output에 대한 규칙을 직접 정하는 것이다.

이 방식은 예외가 많아질수록 굉장히 복잡해지고 많아진다.

 

머신러닝은 if else와 같은 조건문을 함수 수식으로 나타낼 수 있는데, 가장 간단하게는 아래처럼 나타낼 수 있다.

x는 Input, θ는 학습된 파라미터, y는 output (label) 이다.

 

위 함수는 x와 θ를 표현할 수 있다.

즉, x로부터 features 를 추출하여 함수를 만드는것이다.

그러면 프로그램의 규칙을 직접 정의하는게 아니라 features를 정의할 수 있다.

 

shallow learning model은 단지 함수 1개만으로 object label을 반환하는데,

deep learning model은 학습된 파라미터를 사용하여 그냥 features가 아니라 학습된 features를 도출하고, 그것으로 label을 반환한다.

deep learning model은 이 학습된 파라미터를 사용하여 학습된 features를 도출하는 layer가 여러개이다. (parameterized transformation)

representation 레벨이 높을수록 더 추상화되고, 더 invariant to nuisances 하고, label을 예측하기 쉽다.

이미지를 예로 들면, 이미지의 작은 요소들을 분석하면 단순한 선, 모서리 등과 같은데 이 정보들을 학습된 파라미터로 이루어진 함수를 통해 추상화하면 (layer를 지나면) 눈, 코, 입 등의 모양 등으로 되고, layer를 더 지나면 사람 얼굴 형태로 인식할 수 있게 된다.

그래서 더 추상화된다는 것이고, 밝기, 구도, 배경 등 인식하고자 하는 대상과 관련없는 것들에 대해 영향을 덜 받게 되고, 예측하기 쉬워진다는 것이다.

 

즉, 딥러닝은 학습된 representation의 여러 layer를 가지고 있는 머신러닝이다.

이렇게 input -> internal representation -> output 으로 변화시키는 함수는 deep neural network 이다.

그리고 항상 그런것은 아니지만 일반적으로 모든 layer의 파라미터는 최종 목표를 기준으로 학습된다.

그래서 end-to-end 종단간학습 이라고도 불린다.

- 입력부터 출력까지 하나의 연속된 경로로 보고 전체를 동시에, 통째로 학습시키는 것.

- 중간 단계를 사람이 따로 설계하지 않아도 된다.

 

---

AI를 공부할때마다 느끼는건데, 수식이 나오면 참 이해하기가 쉬우면서 어렵습니다.

그래도 머신러닝과 딥러닝의 차이는 뭔지 알았고, 딥러닝의 장점이 뭔지도 이해했습니다.