DL/케라스 창시자에게 배우는 딥러닝

1장. 딥러닝이란 무엇인가?

가은가은 2022. 11. 21. 18:01

1.1 인공지능과 머신 러닝,  딥러닝

 

1.1.1 인공지능

= 보통의 사람이 수행하는 지능적인 작업을 자동화 하기 위한 연구 활동

 

1.1.2 머신 러닝

 # 전통적인 프로그래밍 vs 머신러닝

전통적인 프로그래밍은 규칙과 데이터로 해답을 얻을 수 있고

머신러닝 시스템은 데이터 와 해답을 가지고 규칙을 생성함 -> 생성하는 과정 =  훈련(training)

 

# 머신러닝을 위한 필요 조건

1) 입력 데이터 포인트

2) 기대 출력

3) 알고리즘의 현재 출력과 기대출력 간의 차이를 결정하기 위해 필요

 

-> 머신러닝 모델은 입력데이터를 의미 있는 출력으로 변환 = 알고있는 입력과 출력의 샘플로부터 학습하는 과정

 

# 데이터 변환

머신러닝과 딥러닝의 핵심 문제는 의미있는 데이터로의 변환이다.

ex) 컬러 이미지의 경우 데이터는 2가지로 표현될 수 있다. (RGB 포맷, HSV 포맷)

 

따라서 문제에 따라 적절한 표현을 찾는 것이 중요하고 이로써 문제를 더 쉽게 해결할 수 있고

머신러닝 알고리즘에서 학습이란 더 나은 표현을 찾는 자동화된 과정임.

 

1.1.4딥러닝

= 기본 층을 겹겹이 쌓아 올려 구성한 신경망이라는 모델은 사용하여 표현 층을 학습한다.

-> 심층 신경망을 정보가 연속된 필터를 통과하면서 순도 높게 정제되는 다단계 정보 추출 작업으로 생각 할 수 있음.

 

 

1.1.5  딥러닝의 작동원리 

# 가중치(weight)

-어떤 층에서 일어나는 변환은 그 층의 가중치를 파라미터로 가지는 함수로 표현됨

-> 학습은 주어진 입력을 정확한 타깃에 매핑하기 위해 신셩망의 모든 층에 있는 가중치 값을 찾는 것을 의미함

 

# 손실 함수 (loss function) 또는 목적 함수(objective function)

= 신경망의 예측과 진짜 타깃의 차이를 점수로 계산

-> 신경망이 한 샘플에 대해 얼마나 잘 예측했는 지 측정

 

-> 이 점수를 피드백 신호로 사용하여 현재 샘플의 손실 점수가 감소되는 방향으로 가중치 값을 조금씩 수정

이때 수정 과정은 역전파 (backpropagation)알고리즘을 구현한 옵티마이저(optimizer)가 담당!

 

 

 

1.2 딥러닝 이전: 머신 러닝의 간략한 역사

 

1.2.1 확률적 모델링

= 통계학 이론을 데이터 분석에 응용한 것

* 나이브 베이즈 알고리즘 : 입력 데이터의 특성이 모두 독립적이라고 가정하고 베이즈 정리를 적용함

* 로지스틱 회귀 ( 분류 알고리즘)

 

1.2.2 초창기 신경망

1.2.3 커널 방법

1) 커널 방법(Kernal method)

- 서포트 벡터 머신(Support Vector Machine)

: 분류 문제를 해결하기 위해 2개의 다른 범주에 속한 데이터 포인트 그룹 사이에 좋은 결정 경계를 찾음

: 결정 경계를 찾는 과정

 

a. 결정 경계가 하나의 초평면으로 표현될 수 있는 새로운 고차워 표현으로 매핑

 

b. 마진 최대화(maximizing the margin) : 초평면과 각 클래스의 가장 가짝운 데이터 포인 사이의 거리가 최대가 되는 최선의 결정 경계를 찾음

 

2) 커널 기법

= 새로운 공간에 대응하는 데이터 포인트의 좌표를 구한 것 대신 두 데이터 포인트 사이의 거리 계산 

    -> 커널 함수를 사용하여 계산

 

 

1.2.4 결정 트리, 랜덤 포레스트, 그래디언트 부스팅 머신

 

# 결정 트리

= 플로 차트 같은 구조를 가지며 입력 데이터 포인트를 분류하거나 주어진 입력에 대해 출력 값을 예측

 

# 랜덤 포레스트

= 서로 다른 결정 트리를 많이 생성한 후 그 출력을 앙상블함

 

# 그래디언트 부스팅 머신

= 약한 예측 모델인 결정 트리를 앙상블하는 것을 기반으로하는 머신러닝 기법임

= 그래디언트 부스팅 사용

 ** 그래디언트 부스팅 : 이전 모델에서 놓친 데이터 포인트를 보완하는 새로운 모델을 반복적으로 훈련함을써 머신 러닝 모델을 향상하는 방법

 

1.2.6 특성공학

= 초기 입력 데이터를 여러 방식을 변환하며 데이터의 좋은 표현을 수동으로 만든다.

-->딥러닝은 머신러닝에서 가장 중요한 단계인 특성공학을 완전히 자동화함.

--> 딥러닝을 사용하면 특성을 직접 찾는 대신 한번에 모든 특성을 학습 가능

 

Q. 얕은 학습방법도 딥러닝의 효과를 모사하기 위해 반복적으로 사용하면 어떻게 될까? -> 각 층의 효과는 빠르게 줄어든다.....

 

-> 3개의 층을 가진 모델에서 최적의 첫번째 표현 층은 하나의 층이나 2개의 층을 가진 모델에서 최적의 첫번째 층