자연어 처리에서 nn.embedding과 nn.LSTM 을 설정할 때 embedding_dim 값 설정 질문

2022.12.01 10:56 1,148 조회

안녕하십니까 자연어 딥러닝 왕초보입니다.


보통 embedding dimmension의 값을 지정 할 때


nn.Embedding으로 embedding_dim = 128 로 설정하고

nn.LSTM으로 input_size로 embedding_dim을 받지 않습니까?


보통 128로 주던데, 이게 왜 128을 주는지 어떤 기준으로 값을 설정해야 하는지 모르겠습니다.


혹시 nn.Embedding의 embedding_dim = 1024 로 설정하고

conv1d의 kernel size로 줄여나가면서 128을 만들어도 되나요??


로그인이 필요합니다
0 / 1000
아맞다사이드미러
2022.12.01 11:10

머신러닝 교과서라는 책에서 나온 부분을 설명드립니다...

임베딩이라고 하는 특성 학습 기법을 사용하여 데이터셋에 있는 단어를 표현하는 데 중요한 특성을 자동으로 학습할 수 있다. 고유한 단어의 수를 n_{words} 라고 하면 고유한 단어의 수보다 훨씬 작게(embedding_dim << n_{words}) 임베딩 벡터(또는 임베딩 차원) 크기를 선택하여 전체 어휘를 입력 특성으로 나타낸다. 

라고 나와있습니다. 따라서 꼭 임베딩 차원이 128이 아니라 고유한 단어 수를 먼저 파악하시고 적절하게 설정하시면 될 것 같습니다!

다냐니라
2022.12.01 13:09

차원 수는.. 프로그래머 마음대로  조절하는거라.. 성능 test를 통해 적절한 값으로 선택하면 될것같습니다.

용용죽겠지
2022.12.01 19:39

답변감사드립니다.전체 어휘수에 맞게 적당하게 입력하라는 말씀이시군요. 그게 얼만지 감이 잘 안잡히네요

이전 글
standard scaler 의 fit_transform 과 transform 차이
대회 -
좋아요 5
조회 751
댓글 2
일 년 전
현재 글
자연어 처리에서 nn.embedding과 nn.LSTM 을 설정할 때 embedding_dim 값 설정 질문
대회 -
좋아요 7
조회 1,148
댓글 3
일 년 전
다음 글
[DACON 답변 요청] 데이크루 모집 질문
대회 -
좋아요 7
조회 889
댓글 3
일 년 전