딥러닝 프레임워크, Tensorflow로 모델 학습하기

김지원·2022년 11월 30일
0

NLP(자연어 처리)

목록 보기
13/15

💡Tensorflow, 텐서플로우

🔨 모델 학습

Tensorflow 2.0 공식 가이드에서 권장하는 방법은 아래 두 가지이다.

  1. keras 모델의 내장 API를 활용
    (model.fit(), model.evaluate(), model.predict())
  2. 학습, 검증, 예측 등 모든 과정을 GradientTape 객체를 활용해 직접 구현하는 방법

두 번째의 경우는 첫 번째의 경우보다 일일히 구현해야 하지만, 좀 더 복잡한 로직을 구현할 수 있다는 장점이 있다.

🪵 내장 API 활용 방법

keras 모델 객체는 여러 method가 내장돼 있다. 따라서 이 내장 메서드를 사용하면 된다.

1. 학습 과정 정의

손실 함수(loss function), Opimizer, 평가에 사용될 지표(metric) 등 정의하기

moel.compile(optimizer=tf.keras.optimizers.Adam(),
			loss=tf.keras.losses.CategoricalCrossentropy(),
            metrics=[tf.keras.metrics.Accuracy()])

혹은 문자열 형태로 지정

moel.compile(optimizer='adam',
			loss='categorical_crossentropy',
            metrics=['accuracy])

2. 학습 및 평가, 예측 메서드 호출

model.fit(x_train, y_train, batch_size=64, epochs=3, validation_data=(x_val, y_val)

🚩 더미 데이터를 활용한 감정 분석 모델링

텍스트의 긍정/부정을 예측하는 감정 분석(Sentiment Analysis) 모델을 구축해보자.

우선 각 단어로 구성된 입력값은 임베딩된 벡터로 변형.
이후 각 벡터를 평균해서 하나의 벡터로 만들기.
이후 하나의 은닉층을 거친 후 하나의 결과값을 뽑는 구조.
마지막으로 sigmoid 적용해 0과 1사이 값 구하기.

출처: 텐서플로2와 머신러닝으로 시작하는 자연어 처리

profile
Make your lives Extraordinary!

0개의 댓글