๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Artificial Intelligence38

[Causal Inference] 01. Introduction to causality ์ฃผ 1ํšŒ ์ง„ํ–‰ํ•˜๋Š” ์Šคํ„ฐ๋”” ๋ชจ์ž„์—์„œ ํ•จ๊ป˜ ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ๋กœ ํ•œ ์ž๋ฃŒ ์ •๋ฆฌ ๋ชฉ์ ์œผ๋กœ ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค. ์Šคํ„ฐ๋””์›๋ถ„๊ป˜์„œ ์ข‹์€ ์ž๋ฃŒ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ์…”์„œ ์ •๋ง ์˜ค๋žœ๋งŒ์— ์ง„๋“ํ•œ ์ด๋ก  ๊ณต๋ถ€๋ฅผ ํ•˜๊ฒŒ ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์›๋ฌธ: https://github.com/CausalInferenceLab/Causal-Inference-with-Python ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ์ธ๊ณผ๊ด€๊ณ„ โ—พ ๋จธ์‹ ๋Ÿฌ๋‹์€ ์—„๊ฒฉํ•œ ๋ฐ”์šด๋”๋ฆฌ ์•ˆ์—์„œ ์—„์ฒญ๋‚œ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋ธ์ด ํ•™์Šตํ•œ ๊ฒƒ๊ณผ ์กฐ๊ธˆ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ โ—พ ๋จธ์‹ ๋Ÿฌ๋‹์€ ์ƒ๊ด€๊ด€๊ณ„์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๊ณผ๊ด€๊ณ„(causation) ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ์ž˜ ๋‹ค๋ฃจ์ง€ ๋ชปํ•จ ์˜ˆ์‹œ) "ํ˜ธํ…” ์‚ฐ์—…์—์„œ ๊ฐ€๊ฒฉ์€ ๋น„์ˆ˜๊ธฐ์ผ ๋•Œ ์ €๋ ดํ•˜๊ณ , ์ˆ˜์š”๊ฐ€ ๊ฐ€์žฅ ๋งŽ๊ณ  ํ˜ธํ…”์ด ๊ฐ€๋“ ์ฐจ๋Š” ์„ฑ์ˆ˜๊ธฐ ์‹œ์ฆŒ์—๋Š” ๊ฐ€๊ฒฉ์ด ๋†’์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฐ์ด.. 2023. 4. 30.
Improving Language Understanding by Generative Pre-Training ๐Ÿ’ฌ ๋…ผ๋ฌธ ๋‚ด์šฉ๊ณผ ์ด ๊ธ€์— ๋Œ€ํ•œ ์˜๊ฒฌ ๊ณต์œ , ์˜คํƒˆ์ž ์ง€์  ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ! ๐Ÿ’ฌ โ—พ ๊ธฐํ˜ธ๋Š” ์›๋ฌธ ๋‚ด์šฉ์ด๋ฉฐ, โ—ฝ ๊ธฐํ˜ธ๋Š” ๊ธ€ ์ž‘์„ฑ์ž์˜ ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์›๋ฌธ: https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf Abstract โ—พ ์ž์—ฐ์–ด ์ƒ์„ฑ(NLG) ๋ถ„์•ผ์—์„œ ๋ ˆ์ด๋ธ”์ด ์—†๋Š” ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ์ถฉ๋ถ„ํ•˜์ง€๋งŒ ํŠน์ • ํƒœ์Šคํฌ(textual entailment, QA, semantic similarity assessment ๋“ฑ)๋ฅผ ์œ„ํ•ด ๋ ˆ์ด๋ธ” ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ถ€์กฑํ•จ โ—พ ๋ ˆ์ด๋ธ” ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒํ™ฉ์€ ํ•™์Šต๋œ ๋ชจ๋ธ์ด ์ œ๋Œ€๋กœ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•จ โ—พ ๋ ˆ์ด๋ธ”์ด ์—†๋Š” ๋‹ค์–‘ํ•œ ํ…์ŠคํŠธ ์ฝ”ํผ์Šค์—.. 2023. 1. 15.
RoBERTa: A Robustly Optimized BERT Pretraining Approach ๐Ÿ’ฌ ๋…ผ๋ฌธ ๋‚ด์šฉ๊ณผ ์ด ๊ธ€์— ๋Œ€ํ•œ ์˜๊ฒฌ ๊ณต์œ , ์˜คํƒˆ์ž ์ง€์  ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ! ๐Ÿ’ฌ โ—ฝ ๊ธฐํ˜ธ๋Š” ๊ธ€ ์ž‘์„ฑ์ž์˜ ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์ด๋ฉฐ, โ—พ ๊ธฐํ˜ธ๋Š” ์›๋ฌธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์›๋ฌธ: https://arxiv.org/pdf/1907.11692.pdf Abstract โ—พ BERT ๋ชจ๋ธ์— ๋Œ€ํ•ด ์žฌํ˜„ ์—ฐ๊ตฌ(replication study)๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ, ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๊ฒฐ๊ณผ์— ์–ด๋–ค ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ํ™•์ธ โ—พ BERT ๋ชจ๋ธ์ด undertrained๋˜์—ˆ์œผ๋ฉฐ BERT ๋ชจ๋ธ ๋ฐœํ‘œ ์ดํ›„ ๋‚˜์˜จ ๋ชจ๋ธ๋“ค์˜ ์„ฑ๋Šฅ์„ ๋Šฅ๊ฐ€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋จ โ—พ ์ด์ „์— ๊ฐ„๊ณผ๋˜๋˜ ๋ชจ๋ธ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ๊ฐ•์กฐ โ—ฝ RoBERTa๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ชจ๋ธ์„ ์ œ์•ˆํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ BERT ๋ชจ๋ธ์„ ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•™์Šต์‹œํ‚จ ๊ฒƒ โ—ฝ 'undertra.. 2023. 1. 5.
EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks ๐Ÿ’ฌ ๋…ผ๋ฌธ ๋‚ด์šฉ๊ณผ ์ด ๊ธ€์— ๋Œ€ํ•œ ์˜๊ฒฌ ๊ณต์œ , ์˜คํƒˆ์ž ์ง€์  ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ! ์›๋ฌธ: https://aclanthology.org/D19-1670.pdf 1 Introduction โ–ช๏ธ ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๋”ฅ๋Ÿฌ๋‹์€ ๊ฐ์„ฑ๋ถ„์„๋ถ€ํ„ฐ ํ† ํ”ฝ ๋ถ„๋ฅ˜๊นŒ์ง€ NLP ๋ถ„์•ผ์—์„œ ๋†’์€ ์ •ํ™•๋„๋ฅผ ๋‹ฌ์„ฑํ–ˆ์ง€๋งŒ, ๋†’์€ ์„ฑ๋Šฅ์€ ์ข…์ข… ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ์–‘๊ณผ ํ€„๋ฆฌํ‹ฐ์— ๋‹ฌ๋ ค ์žˆ์Œ โ–ช๏ธ ์ž๋™ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•(Automatica data augmentation)์€ ์ปดํ“จํ„ฐ ๋น„์ „๊ณผ ์Œ์„ฑ ๋ถ„์•ผ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ ์–ธ์–ด ๋ณ€ํ™˜์„ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ๊ทœ์น™์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— NLP ๋ถ„์•ผ์—์„œ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ• ๊ธฐ๋ฒ•์€ ์™„์ „ํžˆ ์—ฐ๊ตฌ๋œ ์ ์ด ์—†์Œ โ–ช๏ธ ๋…ผ๋ฌธ์„ ํ†ตํ•ด EDA(Easy Data Augmentation)๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฐ„๋‹จํ•œ NLP ๋ฐ์ดํ„ฐ ์ฆ๊ฐ• ๊ธฐ๋ฒ•.. 2022. 11. 7.
[NLP ๊ธฐ์ดˆ] ์ž„๋ฒ ๋”ฉ(Embedding) ๊ฐœ๋… ๋‹จ์–ด ์ง‘ํ•ฉ(vocab)์— ์žˆ๋Š” ๋‹จ์–ด ๊ฐ๊ฐ์„ ์‹ค์ˆ˜(real number)๋กœ ์ด๋ฃจ์–ด์ง„ dense vector๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ ๋ฐฉ๋ฒ• โ€ป PyTorch ๊ธฐ์ค€ 1) Embedding layer ์ƒ์„ฑ: nn.Embedding ์‚ฌ์šฉ 2) Pre-trained word embedding: ์‚ฌ์ „ ํ•™์Šต๋œ ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ(Word2Vec, GloVe ๋“ฑ)์„ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉ ์˜ˆ์‹œ 1) Embedding layer ์ƒ์„ฑ โ‘  nn.Embedding layer ์—†์ด ์ง์ ‘ ๊ตฌํ˜„(์…€ ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰๋จ) import torch train_data = 'I want to be a AI engineer' # ๋‹จ์–ด ์ง‘ํ•ฉ ์ƒ์„ฑ(์ค‘๋ณต ์ œ๊ฑฐ) word_set = set(train_data.split()) # ๊ฐ ๋‹จ์–ด์— ๊ณ ์œ ํ•œ ์ •์ˆ˜ ๋ถ€์—ฌ vocab =.. 2022. 10. 11.
[NLP ์‹ฌํ™”] encode() / encode_plus() ์‚ฌ์‹ค ์—„์ฒญ๋‚œ ์‹ฌํ™”๋Š” ์•„๋‹˜ ํ—ˆ๊น…ํŽ˜์ด์Šค์—์„œ ์‚ฌ์ „ํ•™์Šต๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•  ๋•Œ encode()๋ฅผ ์ด์šฉํ•ด ํ† ํฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์ €๊ฒƒ ์˜ˆ์ œ๋ฅผ ๋ณด๋‹ค๋ณด๋‹ˆ encode()๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊ฐ€ ์žˆ๊ณ  encode_plus()๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ•œ ์ค„์งœ๋ฆฌ ์ฝ”๋“œ๋กœ ์ฐจ์ด์ ์„ ํ™•์ธํ•ด๋ณด๊ธฐ๋กœ ํ•œ๋‹ค. tokenizer.encode() # ๋ฐ์ด์ฝ˜ '์ฒญ์™€๋Œ€ ์ฒญ์› ๋ถ„๋ฅ˜ ๋Œ€ํšŒ' ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ถ”์ถœํ•œ ๋ฌธ์žฅ tokenizer.encode('์‹ ํ˜ผ๋ถ€๋ถ€์œ„ํ•œ ์ฃผํƒ์ •์ฑ… ๋ณด๋‹ค ๋ณด์œก์‹œ์„ค ๋Š˜๋ ค์ฃผ์„ธ์š”') ๊ฒฐ๊ณผ โ—ฝ tokenizer.tokenize(SENTENCE), tokenizer.convert_tokens_to_ids(TOKENIZED_SENTENCE)๋ฅผ ํ•œ ๋ฒˆ์— ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ โ—ฝ Vocab์— ์žˆ๋Š” ๊ฐ’์„ ์ด์šฉํ•ด ํ† ํฐ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ vocab inde.. 2022. 9. 28.