ML&DL

CNN 분류모형 예시

임이레 2023. 2. 25. 22:47

<텐서플로>

  • 텐서(tensor) : 행렬로 표현할 수 있는 2차원 형태의 배열을 높은 차원으로 확장한 다차원 배열 
  • 텐서플로의 계산은 데이터 흐름(dataflow graph)로 이루어진다.
  • 즉 텐서 형태의 데이터들이 딥러닝 모델을 구성하는 연산들의 그래프를 따라 연산이 일어나기 때문에 텐서플로라는 이름이 붙은 것 

* 텐서플로의 기능 
- 사전학습 모델 제공
- 고수준(High-level) API 제공 : 텐서보드 및 Keras 와 같은 추상화 라이브러리 제공 


* 하이퍼 파라미터 소개 

- 은닉층의 수와 유닛 수

 : 보통 각 은닉층의 뉴런은 정규화 기술이 적용되어 모델의 정확도를 높이는데 기여 

 : 뉴런의 개수와 레이어의 깊이는 오버피팅 혹은 언더피팅에 영향을 주므로 적절한 수의 층이 필요하다. 

 

- 가중치 초기화(initialization)

 : 가장 이상적인 방법은 각 층에서 사용되는 Activation Function 에 따라서 적절한 Weight 초기화 기법을 사용하는 것이 좋다.

 : ReLU, Leaky ReLU 등을 이용한다면 He 초기화(He initialization)을 사용

 : 초기화시 사용되는 난수는 uniform distribution 을 주로 사용한다. 

 

- 학습률 (Learning rate) 

 : 딥러닝의 학습은 모델로부터 얻은 예측값(Output 또는 y_hat)과 기댓값(Desired output 또는 label) 과의 차이를 계산하여 얻은 비용(Cost) - 가중치(weight, W)간의 gradient를 이용하여 기존 Weight 를 업데이트 하는 방식으로 이루어진다. 

 : 이 때 Gradient를 얼만큼 이동할지를 정하는 것이 학습율(Eps) 하이퍼 파라미터 

  -> 고정된 값을 이용할 수도 있고 학습을 진행하면서 값을 변화시킬 수도 있다.('learning rate decay')

 

 : 학습율은 학습의 속도와 학습성과에 영향을 주기 때문에 적절한 설정이 필요하다. 

 -> 너무 크다면 global minimum(또는 원하는 극값)에 도달하지 못할 수 있으며, 너무 작으면 학습시간이 오래 걸릴 수 있기 때문.

 

- 모멘텀(momentum)

 : gradient descent에 대한 최적화 기법 중 하나로 global minimum 값에 도달하기 위해 학습하는 과정에서 가중치(W)를 업데이트하는데에 가속도를 주어 weight가 감소하거나 증가하는 방향으로 더 많은 변화를 주는 것이다.

 : 모멘텀을 적용하는 이유는 학습횟수를 줄이고 효율화하기 위함.

 

- 에폭(Epoch)

 : 학습을 반복하는 횟수

 : 모델이 전체 데이터 셋에 대하여 feed forward 와 backpropagation을 거친 것을 의미한다.

 : 즉 에폭을 한번 가졌으면 학습을 한번 완료했다는 뜻.

 

- 배치 사이즈(batch size) 

 : 한번의 batch 마다 주는 데이터 샘플 사이즈 

 

 

 

 

 

'ML&DL' 카테고리의 다른 글

batch normalization , early stopping  (0) 2023.02.28
과대적합(overfitting)의 극복  (0) 2023.02.26
CNN 의 차원 (1d, 2d, 3d)  (0) 2023.02.21
CNN 기본 개념  (0) 2023.02.21
CNN(합성곱 신경망)  (0) 2023.02.21