BERT์ ๊ธฐ์กด BERT ๋ชจ๋ธ์ ๋ณํ์์ผ ์๋ฏธ๋ก ์ ์ผ๋ก ์๋ฏธ ์๋ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ ์ถ์ถํ ์ ์๋๋ก ๋ง๋ SBERT ๋ชจ๋ธ์ ๊ตฌ์กฐ์ ๋ํด ์์๋ณด์ !
์ฐ์ ์์ ๋งํ ๊ฒ์ฒ๋ผ SBERT(sentence bert)๋ BERT๋ฅผ ๋ณํ์์ผ ๋ง๋ ๋ชจ๋ธ๋ก ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ์ด์ฉํ์ฌ ์๋ฏธ ์๋ ๋ฌธ์ฅ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ ์ถ์ถํ๋ ๊ฒ์ ๋ชฉํ๋ก ๋ง๋ค์ด์ก๋ค. ๋ BERT์ ์ ํ๋๋ฅผ ์ ์งํ๋ฉฐ ์์ ์๋๋ฅผ ์ค์ผ ์ ์๋ค.
์ฌ๊ธฐ์ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ด๋, ๋ฌธ์ฅ ์ ๋ณด๋ฅผ ๋ฒกํฐ ๊ณต๊ฐ์ ์์น๋ก ํํํ ๊ฐ์ด๋ฉฐ ๋ฌธ์ฅ์ ๋ฒกํฐ ๊ณต๊ฐ์ ๋ฐฐ์นํ์ฌ ๋ฌธ์ฅ ๊ฐ ๋น๊ต, ํด๋ฌ์คํฐ๋ง, ์๊ฐํ ๋ฑ ๋ค์ํ ๋ถ์ ๊ธฐ๋ฒ ์ด์ฉ์ด ๊ฐ๋ฅํ๊ฒ ํ๋ค.
๊ธฐ์กด BERT์ ๊ฒฝ์ฐ, Sentence Embedding์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ์ง๋ง ๊ณผ๊ฑฐ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋ฏธ์น์ง ๋ชปํ๊ณ ์ฃผ๋ก ๋ ๊ฐ์ ๋ฌธ์ฅ์ ๋ชจ๋ธ์ ๋ฃ์ด Cross-Attention์ ํ์ฉํด ๋น๊ตํ๋ ๋ฐฉ์์ ํ์ฉํ๋ค.
Cross-Encoder์ Bi-Encoder
Cross-Encoder์ Bi-Encoder์ ์ฐจ์ด์ ์ ์์๋ณด์๋ฉด
Cross-Encoder์ ๊ฒฝ์ฐ ๋ ๋ฌธ์ฅ์ ๋์์ Transformer ๋คํธ์ํฌ์ ์ ๋ฌํ๋ค.
์ ๋ ฅ ๋ฌธ์ฅ ์์ ์ ์ฌ์ฑ์ ๋ํ๋ด๋ 0๊ณผ 1 ์ฌ์ด์ ์ถ๋ ฅ ๊ฐ๋ณด๋ค ์์ฑํ๋ค.
๋ ๊ฐ์ ๋ฌธ์ฅ์ ๋ชจ๋ธ์ ๋ฃ์ด ๋ด๋ถ์์ ๋ฌธ์ฅ ๊ฐ ๋ฌธ์ฅ์ ๊ด๊ณ๋ฅผ ๋น๊ตํ๊ฒ ๋๋๋ฐ, ๋ฌธ์ฅ์ด ๋ณํ๋์ง ์์ ์ํ์์ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ์ ๋ณด ์์ค ์์ด ๋ฌธ์ฅ ๊ฐ ๊ด๊ณ๋ฅผ ํ์ ํ๋ ์ฑ๋ฅ์ด ์ฐ์ํ๋ค.
ํ์ง๋ง ๋น๊ตํด์ผ ํ๋ ๋ฌธ์ฅ์๊ฐ ๋ง์์ง์๋ก ์ฐ์ฐ์ด ๊ธ์ฆํ๋ค๋ ๋จ์ ์ด ์๋ค.
์๋ฅผ ๋ค์ด 100๊ฐ์ ๋ฌธ์ฅ ๋น๊ตํ๋ค๋ฉด Cross๋ 100C2ํ ์ํํด์ผ ํ์ง๋ง Bi๋ ์ผ๋จ ๋ฌธ์ฅ ์๋ฒ ๋ฉ(100ํ) ํ ๋จ์ ๋น๊ตํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ Cross ๋ณด๋ค Bi์ ์ฐ์ฐ ํ์๊ฐ ์ ๋ค.
Bi-Encoders๋ ๋ ๋ฌธ์ฅ์ ๋น๊ตํ๊ธฐ ์ํด ์ฃผ์ด์ง ๋ฌธ์ฅ์ ์๋ฒ ๋ฉ๋ ๋ฌธ์ฅ์ ์์ฑํ๋ค. ๋ฌธ์ฅ A์ B๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก BERT์ ์ ๋ฌํ์ฌ ๋ฌธ์ฅ ์๋ฒ ๋ฉ u์ v๋ฅผ ์์ฑํ๊ณ ์ด๋ฌํ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ ์ฝ์ฌ์ธ ์ ์ฌ์ฑ์ ์ฌ์ฉํ์ฌ ๋น๊ตํ ์ ์๋ค.
๊ฐ๋จํ๊ฒ ๋ํ๋ด์๋ฉด ์๋ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ค๊ณ ๋ณผ ์ ์๋ค.
- ๋ ๋ฌธ์ฅ์ ๋น๊ตํ๊ธฐ ์ํด ๊ฐ๋ณ ๋ฌธ์ฅ์ Embedding ์์ฑํ๋ ๋จ๊ณ
- ๋ชจ๋ธ Output์ Pooling ํ์ฌ Sentence Embedding ์์ฑํ๋ ๋จ๊ณ
- CosineSimilarity๋ฅผ ํตํด ๋ฌธ์ฅ๊ณผ ๋ฌธ์ฅ ๊ฐ ๊ด๊ณ ๋น๊ต๋ฅผ ๋น๊ตํ๋ ๋จ๊ณ
์ค์๊ฐ ๋ฌธ์ ํด๊ฒฐ์ ํ์ฉ๋ ์ ์์๋งํ ๋น ๋ฅธ ์ฐ์ฐ ์๋ ๋ณด์ฅํ๋ค๋ ์ฅ์ ์ด ์์ง๋ง, Embedding ๊ณผ์ ์์ ์ ๋ณด์์ค์ด ๋ฐ์ํ๋ฏ๋ก ์ฑ๋ฅ์ ์์ด์ Cross-Encoder์ ๋ฏธ์น์ง ๋ชปํ๋ค๋ ๋จ์ ์ด ์๋ค.
๊ตฌ์กฐ ์์ฒด๋ Cross-Encoder๊ฐ ๋จ์ํด ๋ณด์ด์ง๋ง ์ค์ ๋ก๋ Bi-Encoder๋ ์ผ๋จ ๋ฌธ์ฅ์ embedding์ ์์ฑํ ํ ๋น๊ตํ๋ ๊ณผ์ ์์ฒด๋ Bi-Encoder ๋ฐฉ์์ด ํจ์จ์ฑ ๋ฉด์์ ํจ์ฌ ๋ ํจ๊ณผ์ ์ด๋ค.
Cross-Encoders — Sentence-Transformers documentation
SentenceTransformers also supports to load Cross-Encoders for sentence pair scoring and sentence pair classification tasks. Combining Bi- and Cross-Encoders Cross-Encoder achieve higher performance than Bi-Encoders, however, they do not scale well for larg
www.sbert.net
's t u d y . . ๐ง > AI ์ค ML ์ค DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ML ์ด๋ก ] ๋จธ์ ๋ฌ๋๊ณผ ์ํ (0) | 2023.05.01 |
---|---|
[ML ์ด๋ก ] ๊ธฐ๊ณํ์ต์ด๋ (0) | 2023.05.01 |
[PyTorch] iris ๋ฐ์ดํฐ ๋ถ๋ฅ ~ (w/๋ฉํฐ ํผ์ ํธ๋ก ) (0) | 2023.02.26 |
[Transfer Learning] ์ ์ดํ์ต ๊ฐ๋ (1) | 2022.10.08 |
[YOLOv5] ํ์ต๋ ๋ชจ๋ธ๋ก ์ด๋ฏธ์ง test ํ ํ ํ์ผ์ ์ ์ฅํ๊ธฐ (0) | 2022.10.08 |