Length normalization Beam search를 개선하는 방법 중 하나는 length normalization입니다. 지난 시간에 배웠던 것처럼 beam search는 각 단계에서 확률이 가장 높은 것들을 뽑는 방식입니다. 기존의 결과들에 대한 확률을 전부 곱하는 구조이므로, 여기에 log를 취하면 합연산으로 바꿀 수 있습니다. 또한 합연산으로 표현된 log 확률을 예측하고자 하는 문장의 길이로 나눠주어 보다 soft한 예측을 할 수 있습니다. 이때 사용되는 하이퍼 파라미터 alpha는 지수가 되므로 0이면 정규화가 이뤄지지 않음을 의미하게 됩니다. Beam search discussion beam width를 몇으로 설정해야 하는가 역시 하이퍼 파라미터라고 볼 수 있습니다. 주어진 inpu..
Beam search algorithm 주어진 input x에 대해 다음에 등장할 수 있는 예측값 하나만을 뽑았던 greedy search와 달리, Beam search algorithm은 해당 시점에 다음으로 등장할 확률이 가장 높은 것 B개를 뽑습니다. 이것은 일종의 hyper-parameter로 상황에 따라 다른 값을 부여할 수 있고, 이를 beam width라고 부릅니다. 맨 처음 골랐던 세 단어를 기준으로 또 세 개씩 뽑습니다. 각각의 확률을 구하는 방식은 완전히 동일하게 반복됩니다. 어떤 단어가 뽑혔을 경우, 이것을 포함한 것이 조건으로 들어가고, 이때 다음으로 등장할 확률이 가장 높은 B개를 추출하게 됩니다. 이를 문장이 끝날 때까지 반복하면 됩니다. 재밌는 것은 결국 한 개의 후보만 가지고..
Machine translation as building a conditional language model 지난 시간에 공부한 machine translation이 이전에 배운 language model의 구조와 유사한 부분이 있다는 것을 시각적으로 확인할 수 있습니다. machine translation에서는 input x가 예측값 y hat과 동시에 입력으로 들어가지 않는 다는 점을 제외하면 구조가 유사합니다. 그리고 이러한 구조를 'contional language model'이라고 부릅니다. input x라는 조건이 주어졌을 때, 예측값 y hat을 확률에 기반하여 예측하기 때문이죠. Finding the most likely translation 하지만 결국 확률의 문제이기 때문에, 주어진 조..
Sequence to sequence model 여러 개를 입력으로 받고 여러 개를 출력하는 형태의 sequence to sequence 모델의 대표적인 예는 machine translation입니다. 기계 번역을 위한 학습 방식에는 여러 가지가 존재하지만, 초기에는 위처럼 입력을 쭉 받고, 이후에 예측 결과를 생성하면서 이를 입력으로 다시 제공하는 방식을 취했습니다. Image captioning sequence to sequence를 image captioning에 응용한 예시입니다. 이미지에 대한 feature를 최종적으로 4096차원의 벡터로 표현하는 CNN 모델입니다. 원래는 이 벡터에 softmax를 적용하여 확률을 추출해내지만, 우리가 하고 싶은 것은 이미지에 적합한 문장을 생성하는 것이므로..