인프런 커뮤니티 질문&답변
누적입력에서 겹치는 방식으로 넘어간 이유
해결된 질문
작성
·
29
·
수정됨
0
앞 텍스트들로 다음 단어 하나를 예측한다고 했는데, 왜 슬라이딩 윈도에서는 입력과 타깃이 겹쳐져있는건가요?
또한 앞 텍스트부터 누적한 다음, 타깃 한 단어만 예측하는 것으로 이해했습니다. 왜 4개씩 나누는 것인지 궁금합니다.
왜 갑자기 슬라이딩 윈도우로 넘어간것인지 그 중간단계가 이해되지 않습니다.
답변 2
0
안녕하세요. 세 개의 단어로 다음 하나의 단어를 예측한다고 했을 때 "I love you so much"란 텍스트에서 만들 수 있는 샘플은 2개입니다. 즉 3개의 단어 범위(윈도)로 "I love you" --> "so", "love you so" --> "much"입니다. 물론 슬라이딩 윈도를 겹치지 않게 샘플을 만들 수도 있지만 이런 경우 위 텍스트로는 하나의 샘플밖에 만들지 못합니다. 어떤 방식을 사용할지는 개발자의 몫입니다. 여기서는 훈련 텍스트를 최대한 효율적으로 사용한다고 가정하면 슬라이딩 윈도를 한 단어씩 이동하는 것입니다. 이렇게 하면 입력과 타깃이 겹칠 수 밖에 없습니다. 세 개의 단어가 아니라 4개, 10개, 100개의 단어를 입력 문맥으로 사용할 수도 있으며 이는 모델이 최대로 받을 수 있는 입력의 크기에 따라 달라집니다. 감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이름바꺼님.
슬라이딩 윈도우 방식에 대한 이해를 돕기 위해 몇 가지 설명을 드리겠습니다.
슬라이딩 윈도우란, 말 그대로 데이터를 일정 크기의 창(window)으로 잘라서 처리하는 방법입니다. 딥러닝에서 사용되는 슬라이딩 윈도우 방식은, 특히 자연어 처리(NLP)에서 매우 유용합니다. 이렇게 데이터를 나누는 이유는 다음과 같습니다:
문맥 정보 유지: NLP에서 문맥(Context)은 중요한 요소입니다. 슬라이딩 윈도우를 통해 겹치는 부분이 보정되며, 이는 문맥 정보를 유지하게 해줍니다. 각 윈도우는 이전과 다음 요소에 대한 정보를 조금씩 포함해, 학습 과정에서 문맥을 이해하는 데 도움을 줍니다.
효율적인 데이터 처리: 슬라이딩 윈도우는 데이터의 상대적인 독립성을 가지면서도, 효율적으로 모델을 학습시킬 수 있게 해줍니다. 모든 데이터를 한 번에 처리하는 것보다, 윈도우 단위로 처리하는 것이 메모리와 계산 측면에서 효율적입니다.
다양한 샘플링: 슬라이딩 윈도우를 통해 데이터의 다양한 부분을 샘플링하고, 여러 번 모델에 주입하여 학습의 다양성과 일반화를 가져올 수 있습니다.
처음의 누적 입력에서 타깃 예측으로 넘어가는 것은, 다양한 맥락에서 데이터를 이해하고 처리할 수 있도록 하기 위함입니다. 이는 모델이 더 많은 문맥을 고려하여 더 정확한 예측을 하도록 하는 데 목적이 있습니다.
관련 질문에 대한 지식공유자님의 답변 중 해당 링크를 참고하실 수 있습니다. 이 답변에서는 슬라이딩 윈도우의 설정 및 사용 이유에 대해 더 자세히 설명되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





답변 감사합니다!
그렇다면
입력: [In, the, heart, of]
출력: [the, heart, of, the]
일 때,
In 으로 the를
the로 heart를
heart로 of를
of로 the를 이렇게 한단어씩 예측하는 것이 아니라
In the heart 으로 of를 예측하고
the heart of 로 the를 예측하는 것이라고 이해해도 되나요?