본문 바로가기

머신러닝/분석 base

Keras, TensorFlow

Keras

1) sequential API로 만든 모델

- 각 layer을 순차적으로 담는 class

 

 

- add 메서드로 모델을 만들 수도 있다.

 

 

 

 

 

2) functional API로 만든 모델

 

 

- deep neural network는 거대한 합성함수라고 볼 수 있고, 각 층을 하나의 함수로 봐서 합성함수를 쌓는 방향으로 모델을 만들 수 있다.

 

 

 

- 각 층을 callable 한 class instance로 생각할 수 있다. 

- callable object: 함수처럼 호출될 수 있는 객체

- 상황에 따라 다양한 함수를 만들 수 있도록 객체에서 일정 정보를 저장하여 필요할 때마다 새로운 함수를 만들 수 있음.

  • Input() 함수에 입력의 크기를 정의합니다.

  • 이전층을 다음층 함수의 입력으로 사용하고, 변수에 할당합니다.

  • Model() 함수에 입력과 출력을 정의합니다.

 

 

 

- multi input, multi output을 처리할 수 있다.

 

3) model class

 

 

- tf.keras.Model을 상속받아서 MyModel로 구현했다.

- init에서 dense1, dense2, dense3의 layer들을 정의했고, call에서 forward propagation을 수행한다.

 

TensorFlow

 

 

(1) forward propagation: t에 gradient를 기록하겠다.

(2) compute loss: inputs에서 forward propagation을 통해 나온 결과물과 outputs를 비교하여 loss를 계산, current_loss에 저장한다.

(3) backward propagation: loss에 대한 W와 b의 gradient를 dW,db에 저장한다.

(4) gradient descent: learning rate와 dW로 W를 update, learning rate와 db로 b를 update 한다.

 

 

'머신러닝 > 분석 base' 카테고리의 다른 글

Pytorch  (2) 2021.03.04
Resnet  (0) 2021.02.23
Boosting & Adaboost  (0) 2021.02.09
Bagging & Random Forest : Programming  (0) 2021.02.09
Bagging & Random Forest  (0) 2021.02.09