* Stardard NN -> Convolutional NN -> Recurrent NN
* Supervised Learning
Supervised Learning에는 Structured Data와 Unstructured Data를 사용한다.
1. Structured Data : 행렬과 같은 data
2. UnStructured Data : Audio, Image, Text 등과 같은 data
* 훌륭한 훈련을 시키기 위해!
1. 많은 양의 데이터를 이용하기 위해 충분히 큰 신경망이 필요하다.
2. 많은 양의 데이터가 필요하다.
* data 양이 적을 때 훈련 특성들을 잘 관리한다면 깊은 신경망들보다 SVM이 더 나을 수 있다.
=> 특성을 다루는 실력이나 알고리즘의 작은 부분이 성능을 크게 좌우한다.
*초기 딥러닝 문제? data와 계산의 규모.
-> 알고리즘 혁신의 많은 부분이 신경망을 더 빠르게 실행하는데 관한 것이었다.
e.g. sigmoid에서 ReLU로 바뀐것
위 그림에서 왼쪽에 있는 그래프가 sigmoid, 오른쪽에 있는 그래프가 ReLU 이다.
그림에서도 차이가 보이듯 activation function을 바꾸므로써 신경망 학습에 영향을 주는 경사하강법 알고리즘을 훨씬 빠르게 만들었다. 즉, 계산 능력을 훨씬 빠르게 만들었다. (# 경사하강법에 대한 이야기는 다음 포스팅에서..)
sigmoid 함수에서 화살표로 가리키고 있는 두 부분을 보면 경사가 완만한 것을 알 수 있다. 이부분에서는 경사하강법을 사용하면 파라미터가 아주 천천히 바뀌어 학습 속도를 느리게 한다.
반면, ReLU 함수는 양수 부분에서 경사가 모두 1로 같은 값을 보여주어 0에 수렴할 가능성이 적다. 이는 계산 속도를 훨씬 빠르게 해준다.
* 빠른 계산이 필요한 이유?
대부분 신경망을 학습시키는 과정이 반복적이기에 계산 속도가 빠를수록 생산성에 큰 차이를 준다.
'STUDY > 인공지능' 카테고리의 다른 글
나를 위한 아나콘다 사용법 정리 (0) | 2022.01.24 |
---|---|
[Andrew Ng] 로지스틱 회귀 (0) | 2022.01.12 |
Deep Learning 평가하기 (0) | 2021.10.18 |
Deep Learning 학습하기 (0) | 2021.10.18 |
Deep Learning 데이터 준비하기 (0) | 2021.10.15 |