ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Beam Search
    머신러닝 및 딥러닝 2020. 12. 22. 23:31

    NLP(자연어처리)에서 많이 사용되는 Beam Search에 대해서 알아보고자 한다.

    나는 이번 논문 주제인 챗봇에 대한 모델을 만들때 해당 알고리즘을 사용했다. 마침 이번학기 때 (3-2학기) 알고리즘 수업을 들었는데 Greedy search 그리고 DFS 와 비슷한 느낌을 받았다. 

    Beam Search 어떻게 생겼고 어떠한 이유때문에 NLP에서 사용되는지 알아보자

    main.py 로 인하여 prediction은 2차원 리스트가 만들어 진다. 즉, 형태가 [[10개의 랜덤숫자], [10개의 랜덤숫자], [10개의 랜덤숫자], [10개의 랜덤숫자]] 으로 만들어진다. 

    여기서 beam_search를 호출한다. beam_size(여기서는 k에 해당한다)는 5로 놓았다.

    차근차근히 봐보자. 원래 남의 코드 보는게 진짜 인내의 과정이다. 나도 천천히 설명해 보겠다.

    beam_search.py 에서는 방금 만든 prediction과 beam_size인 5를 인풋으로 받는다. 그 후 prediction의 하나인 row 즉, [10개의 랜덤숫자]를 for문에 

    하고 있던 도중 수학 재시험을 본다고 한다. 다 하고 돌아오겠다. 그럼 안녕

     

    왜 그럼 log를 이용할까?

     

    '머신러닝 및 딥러닝' 카테고리의 다른 글

    nn.Module에서 super  (1) 2021.01.10
    np.zeros 와 np.zeros_like 의 차이  (0) 2021.01.06
    NLP 에서의 embedding size  (0) 2021.01.01
    numpy의 rand와 randn의 차이  (0) 2020.08.09
    시계열 데이터란?  (0) 2020.08.08

    댓글