DrDavis's picture
Upload folder using huggingface_hub
17c6d62 verified

PatchTSMixer[[patchtsmixer]]

๊ฐœ์š”[[overview]]

PatchTSMixer ๋ชจ๋ธ์€ Vijay Ekambaram, Arindam Jati, Nam Nguyen, Phanwadee Sinthong, Jayant Kalagnanam์ด ์ œ์•ˆํ•œ TSMixer: ๋‹ค๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด ์˜ˆ์ธก์„ ์œ„ํ•œ ๊ฒฝ๋Ÿ‰ MLP-Mixer ๋ชจ๋ธ์ด๋ผ๋Š” ๋…ผ๋ฌธ์—์„œ ์†Œ๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

PatchTSMixer๋Š” MLP-Mixer ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ฒฝ๋Ÿ‰ ์‹œ๊ณ„์—ด ๋ชจ๋ธ๋ง ์ ‘๊ทผ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ—ˆ๊น…ํŽ˜์ด์Šค ๊ตฌํ˜„์—์„œ๋Š” PatchTSMixer์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ํŒจ์น˜, ์ฑ„๋„, ์ˆจ๊ฒจ์ง„ ํŠน์„ฑ ๊ฐ„์˜ ๊ฒฝ๋Ÿ‰ ํ˜ผํ•ฉ์„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•˜์—ฌ ํšจ๊ณผ์ ์ธ ๋‹ค๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด ๋ชจ๋ธ๋ง์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ„๋‹จํ•œ ๊ฒŒ์ดํŠธ ์–ดํ…์…˜๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž ์ •์˜๋œ ๋” ๋ณต์žกํ•œ ์…€ํ”„ ์–ดํ…์…˜ ๋ธ”๋ก๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ์‚ฌ์ „ ํ›ˆ๋ จ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ดํ›„ ์˜ˆ์ธก, ๋ถ„๋ฅ˜, ํšŒ๊ท€์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋‹ค์šด์ŠคํŠธ๋ฆผ ์ž‘์—…์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋…ผ๋ฌธ์˜ ์ดˆ๋ก์ž…๋‹ˆ๋‹ค:

TSMixer๋Š” ํŒจ์น˜ ์ฒ˜๋ฆฌ๋œ ์‹œ๊ณ„์—ด์˜ ๋‹ค๋ณ€๋Ÿ‰ ์˜ˆ์ธก ๋ฐ ํ‘œํ˜„ ํ•™์Šต์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋‹ค์ธต ํผ์…‰ํŠธ๋ก (MLP) ๋ชจ๋“ˆ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๊ฒฝ๋Ÿ‰ ์‹ ๊ฒฝ๋ง ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋ชจ๋ธ์€ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ MLP-Mixer ๋ชจ๋ธ์˜ ์„ฑ๊ณต์—์„œ ์˜๊ฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Vision MLP-Mixer๋ฅผ ์‹œ๊ณ„์—ด์— ์ ์šฉํ•˜๋Š” ๋ฐ ๋”ฐ๋ฅด๋Š” ๊ณผ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ฒฝํ—˜์ ์œผ๋กœ ๊ฒ€์ฆ๋œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ณ„์ธต ๊ตฌ์กฐ ๋ฐ ์ฑ„๋„ ์ƒ๊ด€๊ด€๊ณ„์™€ ๊ฐ™์€ ์‹œ๊ณ„์—ด ํŠน์„ฑ์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ชจ๋ธ๋งํ•˜๊ธฐ ์œ„ํ•ด MLP-Mixer ๋ฐฑ๋ณธ์— ์˜จ๋ผ์ธ ์กฐ์ • ํ—ค๋“œ๋ฅผ ๋ถ€์ฐฉํ•˜๋Š” ์ƒˆ๋กœ์šด ์„ค๊ณ„ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ์กด ํŒจ์น˜ ์ฑ„๋„ ํ˜ผํ•ฉ ๋ฐฉ๋ฒ•์˜ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์ธ ๋…ธ์ด์ฆˆ๊ฐ€ ์žˆ๋Š” ์ฑ„๋„ ์ƒํ˜ธ์ž‘์šฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์…‹์— ๊ฑธ์ณ ์ผ๋ฐ˜ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ฑ„๋„ ๋ชจ๋ธ๋ง ์ ‘๊ทผ๋ฒ•์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ, ์ค‘์š”ํ•œ ํŠน์„ฑ์„ ์šฐ์„ ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑ๋ณธ์— ๊ฐ„๋‹จํ•œ ๊ฒŒ์ดํŠธ ์ฃผ์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ๋Ÿ‰ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ํ†ตํ•ฉํ•จ์œผ๋กœ์จ, ์šฐ๋ฆฌ๋Š” ๋‹จ์ˆœํ•œ MLP ๊ตฌ์กฐ์˜ ํ•™์Šต ๋Šฅ๋ ฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œ์ผœ ์ตœ์†Œํ•œ์˜ ์ปดํ“จํŒ… ์‚ฌ์šฉ์œผ๋กœ ๋ณต์žกํ•œ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ๋“ค์„ ๋Šฅ๊ฐ€ํ•˜๋Š” ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”์šฑ์ด, TSMixer์˜ ๋ชจ๋“ˆ์‹ ์„ค๊ณ„๋Š” ๊ฐ๋… ํ•™์Šต๊ณผ ๋งˆ์Šคํฌ ์ž๊ธฐ ๊ฐ๋… ํ•™์Šต ๋ฐฉ๋ฒ• ๋ชจ๋‘์™€ ํ˜ธํ™˜๋˜์–ด ์‹œ๊ณ„์—ด ๊ธฐ์ดˆ ๋ชจ๋ธ์˜ ์œ ๋งํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. TSMixer๋Š” ์˜ˆ์ธก ์ž‘์—…์—์„œ ์ตœ์ฒจ๋‹จ MLP ๋ฐ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ๋“ค์„ ์ƒ๋‹นํ•œ ์ฐจ์ด(8-60%)๋กœ ๋Šฅ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ตœ์‹ ์˜ ๊ฐ•๋ ฅํ•œ Patch-Transformer ๋ชจ๋ธ ๋ฒค์น˜๋งˆํฌ๋“ค์„ ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹คํ–‰ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ค„์ด๋ฉด์„œ(2-3๋ฐฐ) ์„ฑ๋Šฅ ๋ฉด์—์„œ๋„ ์•ž์„ญ๋‹ˆ๋‹ค(1-2%).

์ด ๋ชจ๋ธ์€ ajati, vijaye12, gsinthong, namctin, wmgifford, kashif๊ฐ€ ๊ธฐ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ[[usage-example]]

์•„๋ž˜์˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์€ PatchTSMixer ๋ชจ๋ธ์„ ๋ฌด์ž‘์œ„๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. PatchTSMixer ๋ชจ๋ธ์€ Trainer API์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.


from transformers import PatchTSMixerConfig, PatchTSMixerForPrediction
from transformers import Trainer, TrainingArguments,


config = PatchTSMixerConfig(context_length = 512, prediction_length = 96)
model = PatchTSMixerForPrediction(config)
trainer = Trainer(model=model, args=training_args, 
            train_dataset=train_dataset,
            eval_dataset=valid_dataset)
trainer.train()
results = trainer.evaluate(test_dataset)

์‚ฌ์šฉ ํŒ[[usage-tips]]

์ด ๋ชจ๋ธ์€ ์‹œ๊ณ„์—ด ๋ถ„๋ฅ˜์™€ ์‹œ๊ณ„์—ด ํšŒ๊ท€์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ[PatchTSMixerForTimeSeriesClassification]์™€ [PatchTSMixerForRegression] ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ž๋ฃŒ[[resources]]

  • PatchTSMixer๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋Š” ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ด๊ณณ. ์ด ๋ธ”๋กœ๊ทธ๋Š” Google Colab์—์„œ๋„ ์—ด์–ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PatchTSMixerConfig[[transformers.PatchTSMixerConfig]]

[[autodoc]] PatchTSMixerConfig

PatchTSMixerModel[[transformers.PatchTSMixerModel]]

[[autodoc]] PatchTSMixerModel - forward

PatchTSMixerForPrediction[[transformers.PatchTSMixerForPrediction]]

[[autodoc]] PatchTSMixerForPrediction - forward

PatchTSMixerForTimeSeriesClassification[[transformers.PatchTSMixerForTimeSeriesClassification]]

[[autodoc]] PatchTSMixerForTimeSeriesClassification - forward

PatchTSMixerForPretraining[[transformers.PatchTSMixerForPretraining]]

[[autodoc]] PatchTSMixerForPretraining - forward

PatchTSMixerForRegression[[transformers.PatchTSMixerForRegression]]

[[autodoc]] PatchTSMixerForRegression - forward