강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kimsc
kimsc

câu hỏi đã được viết

Khóa học xử lý ngôn ngữ tự nhiên (NLP) sử dụng trí tuệ nhân tạo (Deep Learning) (từ cơ bản đến ChatGPT/mô hình tạo)

Thực hành - Tạo Chatbot đơn giản

패딩과 관련한 질문 드립니다.

Viết

·

166

0

교사학습용 데이터와 target 데이터 모두 post 패딩을 하였는데

교사학습용 데이터는 <sos> 가 중요하고 target 데이터는

<eos> 가 중요하기 때문에 교사학습용은 post, target 데이터는 pre 를 해야 하는거 아닌지요?

만약 post 패딩을 하게 되면 길이가 초과하는 교사학습용 데이터는 <sos>가 잘려지지 않을까 생각합니다.

강사님 부탁드리겠습니다.

딥러닝tensorflowNLP

Câu trả lời 1

0

YoungJea Oh님의 프로필 이미지
YoungJea Oh
Người chia sẻ kiến thức

교사학습(Teacher Forcing)에서는 이전 시간 단계의 출력이 현재 시간 단계의 입력으로 사용됩니다. 여기서 중요한 것은 시퀀스의 시작을 알리는 <sos> 토큰입니다. 따라서 post padding을 사용하면 <sos> 토큰이 시퀀스의 앞에 오게 되어, 시퀀스의 시작을 명확하게 정의할 수 있습니다. 만약 데이터가 너무 길어져 잘린다면, 일반적으로 잘리는 부분은 시퀀스의 끝 부분입니다. 이 경우, 중요한 <sos> 토큰이 잘릴 가능성은 낮습니다.

target 데이터의 경우, 모델이 예측해야 하는 시퀀스의 마지막 부분에 <eos> 토큰이 존재합니다. post padding을 사용하면 이 <eos> 이후에 추가된 패딩 토큰은 모델이 예측할 때 무시됩니다.

예를 들어 드리면,

  • 교사학습용 입력 데이터: <sos> I am learning NLP

  • 타겟 데이터: I am learning NLP <eos>

     

  • Post-패딩 (교사학습용 입력 데이터):

    • 예를 들어, 최대 시퀀스 길이가 7이라고 가정하면,

    • ["<sos>", "I", "am", "learning", "NLP", "<pad>", "<pad>"]

  • Post-패딩 (타겟 데이터):

    • 동일한 최대 시퀀스 길이 7을 기준으로,

    • ["I", "am", "learning", "NLP", "<eos>", "<pad>", "<pad>"]

       

    따라서, 걱정하시듯이 동일한 길이의 sequence를 구성할 때 target의 <eos>가 잘릴 경우는 없습니다.
    좋은 질문 감사합니다.

Hình ảnh hồ sơ của kimsc
kimsc

câu hỏi đã được viết

Đặt câu hỏi