Jayden`s
[TIL] 79. ์ธ์ฝ๋-๋์ฝ๋, Attention
์ธ์ฝ๋-๋์ฝ๋ RNN์ ๋ค๋์ผ(many to one) ๊ตฌ์กฐ๋ ์ฃผ๋ก ๋ถ๋ฅ ๋ฌธ์ ์ ์ฌ์ฉ๋ฉ๋๋ค.(๋ฌธ์ฅ์ด ๋ค์ด์ค๋ฉด ๊ธ์ ์ธ์ง ๋ถ์ ์ธ ํ๋จํ๋ ๊ฐ์ฑ๋ถ์ ๋ฑ) ๋ค๋๋ค(many to many) ๊ตฌ์กฐ๋ ์ฃผ๋ก ๊ฐ์ฒด๋ช ์ธ์, ํ์ฌ ํ๊น ๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํ๊ฒ๋ฉ๋๋ค. ์ธ์ฝ๋-๋์ฝ๋์ ๊ตฌ์กฐ๋ ํ๋์ RNN์ ์ธ์ฝ๋, ๋ ๋ค๋ฅธ ํ๋์ RNN์ ๋์ฝ๋๋ก ๋๋ ๊ตฌ์กฐ ๋๊ฐ์ RNN์ ์ฐ๊ฒฐํด์ ์ฌ์ฉํฉ๋๋ค. ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ ์ฃผ๋ก ์ ๋ ต ๋ฌธ์ฅ๊ณผ ์ถ๋ ฅ ๋ฌธ์ฅ์ ๊ธธ์ด๊ฐ ๋ค๋ฅผ ๋ ์ฌ์ฉํฉ๋๋ค. ๋ํ์ ์ผ๋ก ๋ฒ์ญ๊ธฐ, ํ ์คํธ ์์ฝ ๋ฑ์ด ์์ต๋๋ค. seq2seq(Sequence to Sequence) ์ ๋ ฅ๋ ์ํ์ค๋ก๋ถํฐ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์ํ์ค๋ฅผ ์ถ๋ ฅํ๋ ๋ชจ๋ธ ์ฑ๋ด, ๊ธฐ๊ณ ๋ฒ์ญ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๊ณ ์์ต๋๋ค. ์ ๋ ฅ ์ํ์ค๋ฅผ ์ง๋ฌธ, ์ถ๋ ฅ ์ํ์ค๋ฅผ ๋๋ต ..
[4673]์ ํ ๋๋ฒ
rm_list = [] for i in range(1, 10001): for j in str(i): i += int(j) if i < 10000: rm_list.append(i) tot_list = list(range(1, 10000)) for k in set(rm_list): tot_list.remove(k) for n in tot_list: print(n) 4673 ์ ํ๋๋ฒ ์ค... int์ str์ ์์ฐ๋ฉด ์ด๋ ๊ฒ ํธํ๊ตฌ๋
[๋ฅ๋ฌ๋, NLP] Transformer(Positional encoding, Attention)
Positional Encoding RNN๊ณผ ๋ฌ๋ฆฌ Transformer๋ ๋ชจ๋ ํ ํฐ์ด ํ๋ฒ์ ์ ๋ ฅ๋๊ธฐ ๋๋ฌธ์ recursive๋ฅผ ํตํ ๋จ์ด ๊ฐ ์์น, ์์ ์ ๋ณด๋ฅผ ๋ด์ ์ ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ์ ์ด์ input ์ ํ ํฐ์ ์์น์ ๋ํ ์ ๋ณด๋ฅผ ๋ง๋ค์ด ํ ํฐ์ ํฌํจ์ํค๋ ์์ ์ ํ๊ฒ ๋๋๋ฐ ์ด ๊ณผ์ ์ด Positional Encoding ์ ๋๋ค. Self-Attention Attention : ๋์ฝ๋์์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋งค ์์ (time step)๋ง๋ค, ์ธ์ฝ๋์์์ ์ ์ฒด ์ ๋ ฅ ๋ฌธ์ฅ์ ์ฐธ๊ณ ํ๋ ๋ฐฉ๋ฒ. ์ด ๋, ์ ์ฒด ์ ๋ ฅ๋๋ ๋ฌธ์ฅ์ ํ ํฐ์ ๋์ผํ ๋น์ค์ผ๋ก ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์๋, ํด๋น ์์ ์ ์์ธกํ ๋จ์ด์ ์ฐ๊ด์ฑ์ด ๋์ ์ ๋ ฅ ํ ํฐ์ ๋ ๋น์ค์๊ฒ ์ง์ค(attention)ํด์ ๋ณด๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ฌธ์ฅ ๋ด์์์ ํ ..
[๋ฅ๋ฌ๋, NLP] RNN, LSTM, GRU
RNN(Recurrent Neural Network) ์ ๋ ฅ์ธต -> ์๋์ธต -> ์ถ๋ ฅ์ธต์ ๊ตฌ์กฐ๋ง์ ๊ฐ๋ ์ ๊ฒฝ๋ง์ ํผ๋ ํฌ์๋ ์ ๊ฒฝ๋ง์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฐ๋ฉด ์ํ ์ ๊ฒฝ๋ง(RNN)์ ์๋์ธต์์ ๋์จ ๊ฐ์ ์ถ๋ ฅ์ธต์ผ๋ก ๋ณด๋ด๋ฉด์ ๋์์ ๋ค์ ์๋์ธต ๋ ธ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ค์ ๊ณ์ฐ์ ์ํ ์ ๋ ฅ์ผ๋ก ๋ณด๋ด๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค.RNN ๊ตฌ์กฐ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ๋ชจ๋ RNN ๊ตฌ์กฐ๋ฅผ ํํํ ๊ทธ๋ฆผ์ ๋๋ค. ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ๊ธฐ์ค์ผ๋ก 3๋ฒ์งธ ์ (์ฐ๋์ ๋ค๋ชจ)๋ ์ด์ x2์ ์ํ ๊ฒฐ๊ณผ๊ฐ๊ณผ ์๋ก์ด input์ธ x3๋ฅผ ํจ๊ป ๋ฐ์ y3์ ์ถ๋ ฅ๊ฐ์ ๋ด๋๊ฒ ๋ฉ๋๋ค. ์ฆ, RNN์ t ์์ ์์ x_t์ ์ ๋ ฅ๊ฐ์ ๋ํ ์ถ๋ ฅ๊ฐ y_t๋ฅผ ๊ณ์ฐํ ๋, ์ด์ ์์ (t-1)์ ๋ํ ๊ฒฐ๊ณผ๊ฐ์ ํจ๊ป ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ์ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ ์ด์ ๋ ์์ฐ์ด, ์๊ณ..
[๋ฅ๋ฌ๋, NLP] ๋ถํฌ ๊ฐ์ค, Word2Vec
๋ถํฌ ๊ฐ์ค(Distributed Representation) ํ์ ๊ธฐ๋ฐ์ด ์๋, ๋จ์ด์ ๋ถํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํํํ๋ ๋ถํฌ๊ธฐ๋ฐ ๋จ์ดํํ์ ๋ฐฐ๊ฒฝ์ด ๋๋ ๊ฐ์ค ๋น์ทํ ์์น์ ๋ฑ์ฅํ๋ ๋จ์ด๋ค์ ๋น์ทํ ์๋ฏธ๋ฅผ ์ง๋๋ค.๋ ๊ฐ์ค์ ๋๋ค. Word2Vec ๋ง๊ทธ๋๋ก ๋จ์ด๋ฅผ ๋ฒกํฐํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ์ํซ์ธ์ฝ๋ฉ๊ณผ๋ ๋ค๋ฅธ ๋ถ์ฐ ํํ ๋ฐฉ๋ฒ์ ๋๋ค. ์ํซ์ธ์ฝ๋ฉ์ ๋จ์ด ๋ฒกํฐ์ ์ฐจ์์ด ๋จ์ด ์งํฉ์ ํฌ๊ธฐ๊ฐ ๋๋ฉฐ, ํด๋นํ์ง ์๋ ์ด์๋ ์ ๋ถ 0 ๊ฐ์ผ๋ก ํฌ์ํ๋ค๋ฉด, Word2Vec์ ๋น๊ต์ ์ ์ฐจ์์ ๋จ์ด์ ์๋ฏธ๋ฅผ ๋ถ์ฐํ์ฌ ํํํ๊ฒ ๋ฉ๋๋ค. ์ฃผ๋ณ ๋จ์ด๋ฅผ input์ผ๋ก ์ค์ฌ ๋จ์ด๋ฅผ ์์ธกํ๋ CBoW ๋ฐฉ๋ฒ๊ณผ ์ค์ฌ ๋จ์ด๋ฅผ input์ผ๋ก ์ฃผ๋ณ ๋จ์ด๋ฅผ ์์ธกํ๋ Skip-gram ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.