DL

[cs182] Lecture 1. Introduction

김치말이삼겹살 2024. 2. 9. 15:50

기초 과목 스터디를 참여하며, 배운 내용들을 정리해두고자 한다.

 

2월 안에 선형대수, 머신러닝 기초, 그리고 딥러닝 기초 내용을 매주 6개씩 리뷰를 올리는 것을 목표로 하려고 한다.

 

딥러닝 강의는 UC Berkeley의 cs182 강의를 요약해둔 것이다 !

 

잘 모르는 부분은 다른 공부 자료를 통해 reference를 달고, 개념 + 문제를 같이 병행하며 공부한 내용들을 확실히 다지는 시간을 가지고자 한다.

 

많관부 !


Part 1. Example(Translating task), Representation

 

 

Concept:

영어에서 불어로 번역하는 작업을 생각했을 때, 가장 생각하기 쉬운 일반적인 방식은 영어 corpus(문장)과 불어 문장 쌍을 이용해 학습하는 것을 떠올릴 수 있을 것입니다. 하지만 번역하고자 하는 목표 언어에 대한 문장 쌍이 별로 없는 상황에서는 이런 방식에서의 학습이 잘 되지 않을 수 있습니다.

 

 

이때 사용하는 방법으로 여러 언어로 표현된 문장을 이용해 목표하고자 하는 언어의 문장으로 번역하는 방법이 있습니다. 그렇다면 이 방법은 왜 잘될 수 있는 것일까요?

 

 

왜냐하면 우리는 언어 그 자체는 우리의 생각을 나타내는 수단이기 때문입니다. 만약 우리가 언어로 표현된 "생각"만 잘 이해하고 있다면, 이를 어떤 언어로든 나타내는 것은 큰 문제가 되지 않을 것입니다.

 

생각을 잘 "표현"하는 것이 결국 번역 작업 뿐만 아니라 수많은 머신러닝, 딥러닝에서의 핵심입니다. 

 

그래서 앞으로 배우는 것들은 "어떻게 잘 표현할 것인가?", "어떻게 좋은 representation을 만들 수 있을까?"로 받아들여주시면 되겠습니다.


Part 2. ML/DL

 

Concept:

기계 학습은 rule을 직접 만드는 대신, 컴퓨터에 data를 제공하여 스스로 rule을 학습하도록 하는 것이 핵심.

 

 

위와 같이 어떤 선형회귀 식으로 별과 냉장고를 판별할 수 있고, 이 식이 0보다 크면 별, 틀리면 냉장고라는 라벨을 얻도록 분류한다고 생각해볼 수 있습니다.

 

그럼 이 선형회귀 식 자체는 모델이 될 것이고, 이 식의 계수는 우리가 원하는 parameter가 될 것이다. 이 parameter에 우리가 가지고 있는 데이터만 대입하면 원하는 결과값이 나올 것입니다.

 

machine learning은 결국 주어진 식으로 결과값을 잘 얻기 위해 parameter를 학습하는 과정으로 바라볼 수 있습니다.

 

정리하면 아래와 같이 작성할 수 있습니다.

 

 

하지만 키가 주어졌을 때, 몸무게를 예측하는 간단한 경우가 아닌, 사진이 주어졌을 때 강아지인지 고양이인지 예측하는 문제를 생각해봅시다. 컴퓨터는 어떻게 이 입력으로부터 output을 도출할 수 있을까요?

 

우리가 강아지와 고양이라는 객체를 인식할 때, 특정 부분이나 부위를 보고 판단하듯, 기계도 마찬가지로 사진에 대한 특징을 얻어내 이 특징으로 사물을 인식합니다. 이 특징을 "feature"라고 부릅니다.

 

shallow learning은 사람이 직접 rule을 hand-program하지 않지만, 좋은 feature를 얻기 위해 사람이 hand-program을 합니다. 좋은 feature를 얻기 위해 사진에서 hand-program을 통해 feature를 얻는 것은 매우 어려운 일이 될 것입니다.

 

shallow learning

 

 

 

 

따라서 우리는 feature를 hand-program을 통해 얻는 대신, 좋은 특징을 추출할 수 있도록 학습하게 할 것입니다. 이것이 곧 딥러닝의 시작입니다.

 

정리하면, 딥러닝은 어떤 부분을 보고 학습할지 결정하는 특징마저도 학습합니다.

 

 

 

 

 


Part 3. Introduction

 

 

Deep Learning 에서 나오는 대립되는 관점. 학습과 귀납적 편향에 대한 이야기를 하고자 한다.

 

 

귀납적 편향이랑 모델이 효율적으로 학습되도록 built-in된 지식이나 편향으로 생각해볼 수 있을 듯하다.

무슨 말인지 잘 이해가 되지 않아 chat-gpt한테 물어보았다.

 

인덕티브 바이어스는 모델이 학습 데이터로부터 일반적인 규칙을 찾아내고 새로운 데이터에 대해 적절한 예측을 수행할 수 있도록 도와주는 모델의 편향을 나타냅니다.

인덕티브 바이어스는 모델이 학습하는 동안 가지는 편향이며, 학습은 이러한 편향을 기반으로 모델이 데이터에서 패턴을 인식하고 작업을 수행하는 과정입니다.

 

 


추가 학습

 

아직은 없다,,,ㅎ

반응형