연구 프로젝트/강화학습 챗봇(11)
-
-Offline 강화학습 기반의 챗봇 구현 도전기 정리 잠시 중단-
지금 시점으로 연구가 약 3개월 쯤에 중단되었는데, 그 이유는 취업 준비 때문이었다. 오늘 다시 남은 분량을 작성하기 위해 당시 정리했던 자료와 적었던 코드를 열었으나 무슨 의도에서 코드를 이렇게 작성한 것인지 당사자인 나부터가 이해가 잘 가지 않았다. 그래서 이 구현 도전기를 정리하는 것은, (지금은 잠깐 중단되었지만) 이 챗봇 연구를 다시 시작할 때 작성할 예정이다.
2024.01.03 -
[Offline 강화학습 챗봇] Policy Gradient를 이용한 구현 도전기 - KoGPT2 Fine-tuning (3)
※어디까지나 도전기일 뿐, 맞는 방법이 아니므로 따라하지 마시오.※ 4. 2번째 KoGPT2 Fine-tuning 도전 1) 1번째 KoGPT Fine-tuning의 문제점 (1) 친구와 대화하는 듯한 느낌의 부재 단순히 챗봇과 대화하는 것으로 우울증이 치료될 수 있다고 생각하면 안 돼요. 특히 사용자가 질문을 하고, 챗봇이 그에 대한 답변을 반환하는 대화를 통해서 과연 사용자는 자신의 우울감을 해소할 수 있을까요? 진단이 아닌 단순한 대화를 통해서 우울증을 해소하는 것은 거의 불가능해요. 그렇기에 현재에서는 친구와 대화하는 정도의 챗봇만 만들어도 대성공이죠. -의사선생님의 자문- *단순히 챗봇과 대화를 하는 것이 우울증 해소에는 효과가 거의 없을 것 ⇒ "챗봇을 통해서 우울증을 해소한다"는 목적보다, ..
2023.08.30 -
[Offline 강화학습 챗봇] Policy Gradient를 이용한 구현 도전기 - 강화학습 (2)
※어디까지나 도전기일 뿐, 맞는 방법이 아니므로 따라하지 마시오.※ 3. 첫 KoGPT2 강화학습 도전 1) 원본 논문 코드 (1) 1번의 에피소드에 대해 손실값과 모델로부터 생성되는 답변을 구하는 함수 def rl(input_variable, lengths, target_variable, mask, max_target_len, encoder, decoder, batch_size, teacher_forcing_ratio): # Set device options input_variable = input_variable.to(device) target_variable = target_variable.to(device) mask = mask.to(device) # Lengths for rnn packing s..
2023.08.24 -
[Offline 강화학습 챗봇] Policy Gradient를 이용한 구현 도전기 - 강화학습 (1)
※어디까지나 도전기일 뿐, 맞는 방법이 아니므로 따라하지 마시오.※ 1. 원본 코드 1) 코드 출처 내가 참고하는 논문의 코드가 처음부터 끝까지 다 있다...! GitHub - Ls-Dai/Deep-Reinforcement-Learning-for-Dialogue-Generation-in-PyTorch Contribute to Ls-Dai/Deep-Reinforcement-Learning-for-Dialogue-Generation-in-PyTorch development by creating an account on GitHub. github.com 2) 코드 작동 과정 *코드 알고리즘 작동 과정을 간단하게 시각화 -원 논문에서 사용한 모델: Seq2seq -모델 학습 과정: 지도 학습을 이용해 모델 첫 ..
2023.08.24 -
[Offline 강화학습 챗봇] Policy Gradient를 이용한 구현 도전기 - KoGPT2 Fine-tuning (2)
※어디까지나 도전기일 뿐, 맞는 방법이 아니므로 따라하지 마시오.※ 3. 첫 KoGPT2 Fine-tuning 도전 1) 원본 논문 코드 *학습을 위한 사용자 정의 함수 def train(input_variable, lengths, target_variable, mask, max_target_len, encoder, decoder, embedding, encoder_optimizer, decoder_optimizer, batch_size, clip, max_length=15): # Zero gradients encoder_optimizer.zero_grad() decoder_optimizer.zero_grad() # Set device options input_variable = input_variabl..
2023.08.20 -
[Offline 강화학습 챗봇] Policy Gradient를 이용한 구현 도전기 - KoGPT2 Fine-tuning (1)
강화학습 챗봇에 대해 공부를 시작했을 때 처음으로 접한 논문이 "CHAI." 블로그에 정리글도 올렸다. CHAI: A CHatbot AI for Task-Oriented Dialogue with OfflineReinforcement Learning *CHAI: 강화학습 Q-Learning 기법을 적용하여 학습된 챗봇 1. Introduction 1) Offline Reinforcement *CHAI는 Offline Reinforcement 방식을 사용하여 학습됨 *Online Reinforcement: agent(에이전트)와 environment(환경)가 직접적 silver-shoes.tistory.com 이미 글에 정리해뒀다 싶이 CHAI 논문에서는 언어 모델로 GPT2, 강화학습 기법으로는 Q-Lea..
2023.08.20