본문 바로가기
Data Science & AI Theories

Tensorflow 와 Keras

by Oliver J 2023. 8. 15.
반응형
  • Tensorflow : tensor연산과 역전파(GradientTape), Tensorflow의 tensor에는 전부 상수 이므로 값 할당이 불가능. tf.variable로 값 할당
  • Keras : Model, Loss(학습에 사용하는 피드백 신호를 결정), Optimizer(학습 진행방법 결정), evaluate(측정지표), fit(훈련루프)
    1. Layer
      • rank2 tensor(samples, features) : 밀집연결층으로 처리하는 경우가 많다(fully connected layer or dense layer)
      • rank3 tensor(samples, time steps, features) : LSTM같은 순환층이나 1D합성곱층(Conv1D)
      • rank4 tenosr(kinda images) : Conv2D로 처리
      • layer는 상태(weight)와 연산(정방향패스)를 캡슐화한 객체이다.
    2. .complie(loss function, optimizer, metrics)
    3. .fit(input, target, epochs, batch_size)
      • 미니배치 경사하강법을 실행하는 method로서 훈련루프를 구현
      • Return dict형태의 history 객체. history에는 loss값과 측정지표이름의 키와 각 epoch값의 리스트가 매핑되어있다.
    4. .evaluate(val_inputs, val_targets, batch_size) : 검증손실과 검증지표 계산, batch크기로 순회 후 스칼라값 리스트를 반환(Model 측정지표 미지정시 검증손실만 반환한다.)
    5. 훈련한 Model사용하기(추론, inference) : (model).predict(new_input, batch_size) è 결과값 numpy.array 형식
  • Dense층을 쌓을 때 구조상 고려사항
    • 얼마나 많은 층을 쌓을 것인가?
    • 각 층에 얼마나 많은 유닛이 필요한 것인가?
  • Training_lossvalidation_loss사이 방향이 역전될 경우(validation_loss는 줄어들다가 증가하지만 training_loss는 지속적 감소하는 형태)       
    • 과적합(overfitting)의미로 훈련을 중지하거나 Model을 개선해야한다.
반응형

 

728x90
반응형