1. Bias의 개념과 종류
Bias의 일반적 정의: 편향은 데이터나 분석 과정에서 특정 방향으로 치우치는 경향을 의미하며, 이는 결과의 공정성과 정확성을 저해할 수도 있다.
1.1 Bias in Learning
- Inductive Bias (유도 편향):
- 학습할 때 과적합을 막거나 사전 지식을 주입하기 위해 특정 형태의 함수를 선호하는 것.
1.2 A Biased World
- Historical Bias (역사적 편향):
- 현실 세계가 편향되어 있기 때문에 모델에 원치 않는 속성이 학습되는 것.
- Co-occurrence Bias (동시 발생 편향):
- 성별과 직업 간 관계 등 표면적인 상관관계 때문에 원치 않는 속성이 학습되는 것. 인과관계가 아님.
1.3 Bias in Data Generation
2. ODQA에서의 Bias
- Reader Model에서의 Bias
학습시 보지 못했던 Data를 Inference에서 보게될 경우, 예컨데, 문학작품으로 학습된 Reader모델이 이후 Inference에서 공학, 의학과 같은 테마의 QA를 진행하게 되면 해당 model은 독해능력이 매우 떨어질 것.
2.1 Train Negative Examples
- 훈련할 때 잘못된 예시를 보여줘야 retriever가 negative한 내용을 다른 곳에 배치할 수 있음.
- Negative sample도 완전히 다른 negative와 비슷한 negative에 대한 차이를 고려해야 함.
- Corpus 내에서 랜덤하게 뽑거나
- 좀 더 헷갈리는 negative 샘플들을 공들여 뽑을 수 있음
예컨데, 높은 BM25, TF-IDF에도 불구하고 답이 포함되지 않는 샘플들
2.2 Add No Answer Bias
문서내 대답이 없는 경우 No Answer하도록 하는 것.
- 입력 시퀀스의 길이가 N일 경우에, 시퀀스의 길이 외 1개의 토큰이 더 있다고 생각하고, 훈련 모델의 마지막 레이어에 bias를 추가하여 훈련 가능하도록 한다.
- Softmax로 answer prediction을 수행할 때, start와 end 확률이 해당 bias 위치에 있을 경우 가장 확률이 높은 것은 "No Answer"라고 취급.