Loading...
2024. 4. 24. 23:33

문장 생성의 성능평가 지표2 - bleu score

1. precision과 recall의 문제점 정답문장에 대해 2개의 모델로 예측문장을 얻었다고 해보자.   두번째 모델로 만든 문장의 경우 모든 단어가 정답문장 단어와 매칭이 되는데 순서가 전혀 맞지 않는다는 것이 문제다.  그럼에도 불구하고 precision과 recall은 100% 때로는 언어에서 순서는 매우 중요한데 단어만 맞췄다고 완벽한 번역이라고 볼수있을까? precision과 recall, f-measure는 계산방식으로부터 알 수 있겠지만  오직 부합하는 단어의 수에만 집중하기 때문에 순서정보를 전혀 반영하지 않는다는 것이 문제다.  2. introduction  bleu score는 순서를 반영하지 않는다는 precision과 recall의 문제점을 개..

2024. 4. 24. 00:34

문장 생성의 성능평가 지표1 - precision and recall, F-score

1. precision and recall translation 후에 생성된 문장이 정확한지 평가할 필요가 있다. 기본적으로 단어를 생성하는 방법은 target 각 단어별 실제 정답과의 softmax loss가 최소화되게 만든다. test data에 대해서도 예측된 단어와 정답인 단어의 softmax loss로 분류 정확도를 계산한다. 이런 논리에 기반하여 정답문장과 예측문장사이 각 단어별 matching count로 정확도를 평가하는 방법을 생각할 수 있다. I love you라는 정답문장을 출력해야하는데 oh I love you를 출력했다고한다면 각 matching count=0이니까 정확도는 0%이다. 그런데 크게 떨어지는 번역품질이라고 보기 어렵다 나쁘지 않은 번역.. 그러니까 0%라고 보기 어렵..

2024. 4. 19. 03:02

Pytorch에서 padding sequence vs. packed sequence 차이 이해하고 구현하기

https://heekangpark.github.io/ml/shorts/padded-sequence-vs-packed-sequence Padded Sequence vs. Packed Sequence | Reinventing the Wheel 문제상황 자연어와 같은 sequence 데이터들을 다루다 보면 짜증나는 요소가 하나 있는데, 바로 그 길이가 일정하지 않다는 것이다. 이미지 데이터의 경우 crop이나 resize 등으로 가로 세로 크기를 맞 heekangpark.github.io 자연어같은 sequence 데이터는 input들의 길이가 다 다른 경우가 보통이기 때문에 이것을 어떻게 처리할 지 고민할 필요가 있다. 이미지는 crop이나 resize로 이미지 크기를 전부 맞추고 진행하면, batch로 ..

2024. 4. 16. 21:13

transformer 간단요약2 - encoder, attention, positional encoding, decoder

1. encoder encoder는 self attention 구조와 feed forward Neural Network 구조의 두개의 sub layer로 구성되어 있다 단어 입력의 경우에는 먼저 embedding vector로 변환하는 것이 기본이다. 당연하지만 word embedding은 맨 밑단 첫 입력에서만 일어남 벡터 크기는 hyperparameter로 적절하게 정한다고 한다. embedding된 벡터 각각은 자기만의 경로를 따라 encoder를 지나간다 위에서 보면 첫 통과 layer로 self attention을 지나가는데 도대체 무슨 일이 일어날까? 예를 들어보면 ‘The animal didn’t cross the street because it was too tired.’을 생각해보자. 이..

2024. 4. 16. 20:42

transformer 간단요약1 - transformer의 핵심 아이디어, 무엇을 이해해야하는가

1. sequential model의 어려운 점 sequence data가 다루기 어렵다는 이유 중 input의 차원이 어느 정도인지 알기 어렵다는 점이 있었다. 추가로 시간 순서가 바뀌어서 들어온다든지 일부가 잘려서 들어온다든지 아니면 섞여서 들어온다든지 그래서 또 다루기가 어렵다 2. transformer 핵심 아이디어 위와 같은 input의 무작위성 때문에 sequence data를 다루기 어렵다는 한계를 극복하고자 등장했다. 처음 도입되었을 때는 기계어 번역 문제를 풀기 위해 도입했다. 지금은 이미지 분류, detection 등 다방면에서 활용되고 있다. sequence를 다루는 모델인데 그 동안 RNN이 재귀적구조를 활용했다면 Transformer은 attention구조를 활용했다. 3. tra..

2024. 4. 7. 03:02

closed book question answering 개념 이해하기

1. MRC와 ODQA는 무슨차이인가 MRC는 문서가 주어지고 그에 대한 질문이 함께 주어지면 모델이 문서를 읽고 질문에 대한 답을 내는 방식 ODQA는 문서가 주어지지 않았는데 질문이 주어지면 질문과 관련된 문서를 찾고 그 문서로부터 모델이 질문에 대한 답을 내는 방식 2. open domain vs. open book vs. closed book open domain은 질문이 주어질 때 관련된 문서를 찾아 읽고 질문에 답을 내는 task 자체를 나타냄 open book은 질문을 던졌을 때 모델이 질문에 답하기 위해 ‘책’이라고 할 수 있는 거대한 corpus를 접근하게 하는것 closed book은 corpus없이 질문을 받으면 모델이 가지고 있는 사전지식만을 활용하여 정답을 냄 3. core ide..