Artificial Intelligence 38

[Causal Inference] 01. Introduction to causality

์ฃผ 1ํšŒ ์ง„ํ–‰ํ•˜๋Š” ์Šคํ„ฐ๋”” ๋ชจ์ž„์—์„œ ํ•จ๊ป˜ ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ๋กœ ํ•œ ์ž๋ฃŒ ์ •๋ฆฌ ๋ชฉ์ ์œผ๋กœ ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค. ์Šคํ„ฐ๋””์›๋ถ„๊ป˜์„œ ์ข‹์€ ์ž๋ฃŒ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ์…”์„œ ์ •๋ง ์˜ค๋žœ๋งŒ์— ์ง„๋“ํ•œ ์ด๋ก  ๊ณต๋ถ€๋ฅผ ํ•˜๊ฒŒ ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์›๋ฌธ: https://github.com/CausalInferenceLab/Causal-Inference-with-Python ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ์ธ๊ณผ๊ด€๊ณ„ โ—พ ๋จธ์‹ ๋Ÿฌ๋‹์€ ์—„๊ฒฉํ•œ ๋ฐ”์šด๋”๋ฆฌ ์•ˆ์—์„œ ์—„์ฒญ๋‚œ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋ธ์ด ํ•™์Šตํ•œ ๊ฒƒ๊ณผ ์กฐ๊ธˆ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ โ—พ ๋จธ์‹ ๋Ÿฌ๋‹์€ ์ƒ๊ด€๊ด€๊ณ„์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๊ณผ๊ด€๊ณ„(causation) ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ์ž˜ ๋‹ค๋ฃจ์ง€ ๋ชปํ•จ ์˜ˆ์‹œ) "ํ˜ธํ…” ์‚ฐ์—…์—์„œ ๊ฐ€๊ฒฉ์€ ๋น„์ˆ˜๊ธฐ์ผ ๋•Œ ์ €๋ ดํ•˜๊ณ , ์ˆ˜์š”๊ฐ€ ๊ฐ€์žฅ ๋งŽ๊ณ  ํ˜ธํ…”์ด ๊ฐ€๋“ ์ฐจ๋Š” ์„ฑ์ˆ˜๊ธฐ ์‹œ์ฆŒ์—๋Š” ๊ฐ€๊ฒฉ์ด ๋†’์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฐ์ด..

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 ๋“ฑ)๋ฅผ ์œ„ํ•ด ๋ ˆ์ด๋ธ” ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ถ€์กฑํ•จ โ—พ ๋ ˆ์ด๋ธ” ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒํ™ฉ์€ ํ•™์Šต๋œ ๋ชจ๋ธ์ด ์ œ๋Œ€๋กœ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•จ โ—พ ๋ ˆ์ด๋ธ”์ด ์—†๋Š” ๋‹ค์–‘ํ•œ ํ…์ŠคํŠธ ์ฝ”ํผ์Šค์—..

RoBERTa: A Robustly Optimized BERT Pretraining Approach

๐Ÿ’ฌ ๋…ผ๋ฌธ ๋‚ด์šฉ๊ณผ ์ด ๊ธ€์— ๋Œ€ํ•œ ์˜๊ฒฌ ๊ณต์œ , ์˜คํƒˆ์ž ์ง€์  ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ! ๐Ÿ’ฌ โ—ฝ ๊ธฐํ˜ธ๋Š” ๊ธ€ ์ž‘์„ฑ์ž์˜ ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์ด๋ฉฐ, โ—พ ๊ธฐํ˜ธ๋Š” ์›๋ฌธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์›๋ฌธ: https://arxiv.org/pdf/1907.11692.pdf Abstract โ—พ BERT ๋ชจ๋ธ์— ๋Œ€ํ•ด ์žฌํ˜„ ์—ฐ๊ตฌ(replication study)๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ, ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๊ฒฐ๊ณผ์— ์–ด๋–ค ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ํ™•์ธ โ—พ BERT ๋ชจ๋ธ์ด undertrained๋˜์—ˆ์œผ๋ฉฐ BERT ๋ชจ๋ธ ๋ฐœํ‘œ ์ดํ›„ ๋‚˜์˜จ ๋ชจ๋ธ๋“ค์˜ ์„ฑ๋Šฅ์„ ๋Šฅ๊ฐ€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋จ โ—พ ์ด์ „์— ๊ฐ„๊ณผ๋˜๋˜ ๋ชจ๋ธ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ๊ฐ•์กฐ โ—ฝ RoBERTa๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ชจ๋ธ์„ ์ œ์•ˆํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ BERT ๋ชจ๋ธ์„ ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•™์Šต์‹œํ‚จ ๊ฒƒ โ—ฝ 'undertra..

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 ๋ฐ์ดํ„ฐ ์ฆ๊ฐ• ๊ธฐ๋ฒ•..

[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 =..

[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..

BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding

๋…ผ๋ฌธ ์ฝ๊ธฐ ์—„์ฒญ ์˜ค๋žœ๋งŒ์ด๋‹ค. BERT ๊ธฐ๋ฐ˜ ์‚ฌ์ „ํ•™์Šต๋ชจ๋ธ ์จ๋ณด๋ ค๊ณ  ํ•˜๋‹ค๊ฐ€ ๊ด€๋ จ ๊ฐœ๋…์„ ํ•˜๋‚˜๋„ ๋ชจ๋ฅด๋‹ˆ๊นŒ ๋ชจ๋ธ ์ž…๋ ฅ์— ๋ญ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š”์ง€~ ๋ฐ์ดํ„ฐ ํ˜•ํƒœ๋ฅผ ์–ด๋–ป๊ฒŒ ๋งž์ถฐ์ค˜์•ผ ํ•˜๋Š”์ง€~ ๋„ˆ๋ฌด ์ดํ•ด๊ฐ€ ์•ˆ ๋˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ ๋…ผ๋ฌธ ๋ณธ์ธ๋“ฑํŒ์‹œํ‚ด ๐Ÿ’ฌ ๋…ผ๋ฌธ ๋‚ด์šฉ๊ณผ ์ด ๊ธ€์— ๋Œ€ํ•œ ์˜๊ฒฌ ๊ณต์œ , ์˜คํƒˆ์ž ์ง€์  ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ! ์›๋ฌธ: https://arxiv.org/pdf/1810.04805.pdf โ–  : ์•„์ง ๋ฐ”๋กœ ์ดํ•ด ์•ˆ ๋˜๋Š” ๋ถ€๋ถ„ Introduction 1. Pre-train๋œ ์–ธ์–ด ํ‘œํ˜„์„ ํ•˜์œ„ ํƒœ์Šคํฌ์— ์ ์šฉํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์กด์žฌ 1) Feature-based - Pre-trained representations์„ ํฌํ•จํ•˜๋Š” task-specific ๊ตฌ์กฐ๋ฅผ ์ถ”๊ฐ€์ ์ธ feature๋กœ ์‚ฌ์šฉ - ์˜ˆ: ELMo 2) ..

[PyTorch] class ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•

class ModelName(nn.Module): def __init__(self): super().__init__() # ์ฝ”๋“œ ์ž‘์„ฑ ๋ถ€๋ถ„ def forward(self): # ์ฝ”๋“œ ์ž‘์„ฑ ๋ถ€๋ถ„ nn.Module - ๋ชจ๋“  ์‹ ๊ฒฝ๋ง ๋ชจ๋“ˆ์˜ ๊ธฐ๋ณธ์ด ๋˜๋Š” ํด๋ž˜์Šค - ๋ชจ๋ธ ๊ตฌํ˜„ ์‹œ ์ด ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ(should) - nn.Module ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ nn.Module ์•ˆ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ - Linear, Dropout, LayerNorm ๋“ฑ ๋ชจ๋ธ ์ƒ์„ฑ์— ์“ฐ์ด๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ ํฌํ•จ __init__ - ์‹ ๊ฒฝ๋ง ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ - โœ… super().__init__(): ๋ถ€๋ชจ ํด๋ž˜์Šค(nn.Module)๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์—ญํ• ๋กœ ์ด ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  self.๋ณ€์ˆ˜๋ช… = ~ ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์—๋Ÿฌ ๋ฐœ..

[NLP ๊ธฐ์ดˆ] Vocab

'Vocab ์ƒ์„ฑ' ๊ณผ์ •์€ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋น ์ง€์ง€ ์•Š๊ณ  ๋“ฑ์žฅํ•˜์ง€๋งŒ, ์Šต๊ด€์ ์œผ๋กœ ์“ธ ๋ฟ ์ƒ์„ฑ ๋ชฉ์ ์ด ๋ญ”์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์—ˆ๋‹ค. ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์„ ๋‹ค๋ค„๋ณด๋ฉด์„œ ๋ญ”๊ฐ€ ์•Œ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•œ ๋А๋‚Œ์ด ๋“ค์–ด์„œ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ ํƒœ์Šคํฌ์— ์žˆ์–ด์„œ Vocab์˜ ์—ญํ• ์— ๋Œ€ํ•ด ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋ฐ”๋ฅผ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. โญ ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”! ์ƒ์„ฑ ๋‹จ๊ณ„ โ€ป Vocab ์ƒ์„ฑ ๋‹จ๊ณ„ ์ดํ›„์˜ '๋ฐ์ดํ„ฐ ์ƒ์„ฑ'์€ ๋ชจ๋ธ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์„ ์˜๋ฏธ ํ† ํฐํ™”-Vocab ์ƒ์„ฑ ๊ณผ์ • ํ† ํฐํ™” โญ ํ† ํฐํ™”์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์˜ค๋ฅธ์ชฝ ๋งํฌ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ! ํ† ํฐํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ชจ๋ธ์ด ์ผ๋ฐ˜์ ์ธ ํ‘œํ˜„์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒŒ ์•„๋‹๊นŒ? ํ•˜๋Š” ๊ฒƒ์ด ๋‚ด ์ƒ๊ฐ์ด๋‹ค. ๋ฌธ์žฅ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„์„œ ํ† ํฐํ™” ๊ณผ์ • ์—†์ด ๋ฌธ์žฅ ์ „์ฒด๋ฅผ ํ•™์Šต์— ์‚ฌ..

[NLP ๊ธฐ์ดˆ] ๋™์‹œ ์ถœํ˜„ ํ–‰๋ ฌ(Co-occurrence Matrix)

๊ฐœ๋… ํ˜„์žฌ ๋‹จ์–ด(์ค‘์‹ฌ ๋‹จ์–ด)์™€ ํŠน์ • ๊ฑฐ๋ฆฌ ๋ฒ”์œ„ ์•ˆ์— ์žˆ๋Š” ๋‹จ์–ด์˜ ์ถœํ˜„ ๋นˆ๋„๋ฅผ ํ–‰๋ ฌ๋กœ ๋งŒ๋“  ๊ฒƒ์ด๋‹ค. ๊ตฌ๊ธ€๋ง ๋˜๋Š” ์ฑ…์„ ๋ณด๋‹ค ๋ณด๋ฉด ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋น ์ ธ ์žˆ๊ณ  '์ถœํ˜„ ๋นˆ๋„'์—๋งŒ ์ดˆ์ ์„ ๋งž์ถฐ ์„ค๋ช…ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ฐœ์ธ์ ์œผ๋กœ ์ถœํ˜„ ๋นˆ๋„๋ณด๋‹ค ๊ฑฐ๋ฆฌ ๊ฐœ๋…์ด ๋” ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ถœํ˜„ ๋นˆ๋„๋งŒ์œผ๋กœ ์ดํ•ดํ•˜๋ ค๊ณ  ํ•˜๋ฉด ํ–‰๋ ฌ ํ˜•ํƒœ๋ฅผ ๋ดค์„ ๋•Œ '์ด ๋‹จ์–ด ์ถœํ˜„ ํšŸ์ˆ˜๊ฐ€ ์™œ ์ด๊ฑฐ์•ผ?' ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค. ๋‚ด๊ฐ€ ๊ทธ๋žฌ์Œ ๐Ÿ™‚.. ์˜ˆ์‹œ โ—ฝ ๋ฌธ์žฅ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ ๋ถ„์•ผ์—์„œ ๋‹ค๋ฃจ๊ฒŒ ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ด๋ค„์ง„ ๊ฒฝ์šฐ๋Š” ์—†๊ฒ ์ง€๋งŒ ์˜ˆ์‹œ์ด๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด๊ธฐ๋กœ ํ•œ๋‹ค. a hundred bad days made a hundred good stories. AJR - 100 Days ์ด ๋ฌธ์žฅ์„ ์ด์šฉํ•ด ๋งŒ๋“  ๋™์‹œ ์ถœํ˜„ ํ–‰๋ ฌ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ชจ์Šต์ผ๊ฑฐ๊ณ  ๋‹จ์–ด์˜..