분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
자연어 처리에서 nn.embedding과 nn.LSTM 을 설정할 때 embedding_dim 값 설정 질문
안녕하십니까 자연어 딥러닝 왕초보입니다.
보통 embedding dimmension의 값을 지정 할 때
nn.Embedding으로 embedding_dim = 128 로 설정하고
nn.LSTM으로 input_size로 embedding_dim을 받지 않습니까?
보통 128로 주던데, 이게 왜 128을 주는지 어떤 기준으로 값을 설정해야 하는지 모르겠습니다.
혹시 nn.Embedding의 embedding_dim = 1024 로 설정하고
conv1d의 kernel size로 줄여나가면서 128을 만들어도 되나요??
차원 수는.. 프로그래머 마음대로 조절하는거라.. 성능 test를 통해 적절한 값으로 선택하면 될것같습니다.
답변감사드립니다.전체 어휘수에 맞게 적당하게 입력하라는 말씀이시군요. 그게 얼만지 감이 잘 안잡히네요
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
머신러닝 교과서라는 책에서 나온 부분을 설명드립니다...
임베딩이라고 하는 특성 학습 기법을 사용하여 데이터셋에 있는 단어를 표현하는 데 중요한 특성을 자동으로 학습할 수 있다. 고유한 단어의 수를 n_{words} 라고 하면 고유한 단어의 수보다 훨씬 작게(embedding_dim << n_{words}) 임베딩 벡터(또는 임베딩 차원) 크기를 선택하여 전체 어휘를 입력 특성으로 나타낸다.
라고 나와있습니다. 따라서 꼭 임베딩 차원이 128이 아니라 고유한 단어 수를 먼저 파악하시고 적절하게 설정하시면 될 것 같습니다!