π‘λ₯λ¬λμ νμ©νλ©΄ μ¬λμ΄ λ¬Έμ₯μ μ½μ λμ²λΌ, λ¨μ΄ μμλ₯Ό λ°μν΄ λ¬Έλ§₯μ μ΄ν΄ν μ μμ΅λλ€.
νΉν, RNNμ λ¬Έμ₯μ μ΄ν΄νκΈ° μν΄ λ¨μ΄μ μμλ₯Ό κ³ λ €νλ κ°μ₯ μ§κ΄μ μΈ λͺ¨νμ΄λΌκ³ ν μ μμ΅λλ€.
(1)νΈμμλ RNNμ μ΄ν΄νκ³ (2)νΈμμλ μ΄λ₯Ό νμ©ν΄ λ¬Έμλ₯Ό λΆλ₯νλ κ³Όμ μ μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
RNNμ μ΄ν΄
μ RNNμΌκΉ?
λ¨Όμ RNNμ λν΄ μμλ³΄κ² μ΅λλ€. μ RNNμ μμ°μ΄ μ²λ¦¬μ μ¬μ©ν κΉμ?
BOWμ κ°μ μΉ΄μ΄νΈ κΈ°λ°μ λ¬Έμ ννμ λ¬Έμμ μλ λ¨μ΄λ€μ ν΅κ³λ₯Ό ν΅ν΄ λ¬Έμμ λ΄μ©μ μ΄ν΄νλ €λ μλλΌκ³ ν μ μμ΅λλ€.
λ°λ©΄μ, λ₯λ¬λμ μ¬λμ΄ μ± μ μ½λ κ²μ²λΌ λ¨μ΄μ μμλ₯Ό λ°μν΄ λ¬Έλ§₯μ μ΄ν΄νλ λ°©μμΌλ‘ μλν©λλ€.
νΉν μνμ κ²½λ§μ΄λΌκ³ λΆλ₯΄κΈ°λ νλ Recurrent Neural Network, μ¦ RNNμ λ¬Έμ₯μ μ΄ν΄νκΈ° μν΄ λ¨μ΄μ μμλ₯Ό κ³ λ €νλ κ°μ₯ μ§κ΄μ μΈ λͺ¨λΈμ λλ€.
RNNμ΄λ?
RNNμ μκ³μ΄ λ°μ΄ν°λ₯Ό λ€λ£¨κΈ° μν λͺ¨νμ λλ€.
μκ³μ΄ λ°μ΄ν°λ μκ°μ λ°λ₯Έ κΈ°μ¨ λ³ν, κ·Έλ¦¬κ³ μ£Όκ° λ³νμ²λΌ μκ°μ λ°λΌ κ°μ΄ λ³νλ λ°μ΄ν°λ₯Ό λ§ν©λλ€.
RNNμ κ³Όκ±°μ μ 보λ₯Ό νμ¬μ λ°μν΄ νμ΅νλλ‘ μ€κ³λμ΄μμ΅λλ€. μ΄ μ»¨μ μ ν΅ν΄ μκ° μμλ‘ λμ΄λ λ°μ΄ν°λ₯Ό νμ΅ν©λλ€.
RNNμ ꡬ쑰
RNNμ κ·Έλ¦ΌμΌλ‘ νννλ©΄ μμ κ°μ΅λλ€.
xλ μ λ ₯μΈ΅μ μ λ ₯ 벑ν°, yλ μΆλ ₯μΈ΅μ μΆλ ₯ 벑ν°μ λλ€.
κ°μ΄λ° μ΄λ‘μ λΆλΆμ RNNμμ μλμΈ΅μμ νμ±ν ν¨μλ₯Ό ν΅ν΄ κ²°κ³Όλ₯Ό λ΄λ³΄λ΄λ μν μ νλ λ Έλμ λλ€.
μλμΈ΅μ λ Έλκ° μΆλ ₯μΈ΅ λ°©ν₯μΌλ‘ λλ λ€μ μμ μ μμ μκ² λ³΄λ΄λ κ°μ hidden state, μλ μνλΌκ³ ν©λλ€.
λ€μ λ§ν΄, t μμ μ λ Έλλ t-1 μμ μ λ Έλκ° λ³΄λΈ μλ μνκ°μ t μμ μ μλ μν κ³μ°μ μν μ λ ₯κ°μΌλ‘ μ¬μ©ν©λλ€.
μ¦, μλμΈ΅μ μλ λ Έλλ€μ κ°κ°μ μμ μμ λ°λ‘ μ΄μ μμ μμμ μλμΈ΅μ λ Έλμμ λμ¨ κ°μ μμ μ μ λ ₯μΌλ‘ μ¬μ©νλ recurrent, μ¬κ·μ νλμ νκ³ μμ΅λλ€.
RNNμ ꡬ쑰λ₯Ό μ’ λ μμΈν μ΄ν΄λ³΄κ² μ΅λλ€.
νμ¬ μμ t μμμ μλ μνκ°μ h(t)λΌκ³ μ μνκ² μ΅λλ€.
μλμΈ΅μ h(t)λ₯Ό κ³μ°νκΈ° μν΄μ μ΄ 2κ°μ κ°μ€μΉλ₯Ό κ°κ² λ©λλ€.
νλλ μ λ ₯μΈ΅μμ μ λ ₯κ°μ μν κ°μ€μΉ W(x)μ΄κ³ , νλλ μ΄μ μμ t-1 μ μλ μνκ°μΈ h(t-1)μ μν κ°μ€μΉ W(h)μ λλ€.
μλμΈ΅μ h(t)λ κ° μμ μ κ°μ€μΉ(W(x), W(h))μ μ λ ₯κ°(x(t), h(t-1))μ κ³±ν κ°λ€κ³Ό νΈν₯κ° bλ₯Ό λν κ°μ tanh ν¨μμ λμ ν κ°μΌλ‘ ꡬν μ μμ΅λλ€.
μ΄ λ νμ±ν ν¨μλ‘ tanh ν¨μλ₯Ό μ¬μ©νλ μ΄μ λ RNNμ΄ νμ΅μ νλ©΄μ μμ ν κ³Όμ μμ, κ³Όκ±°λ‘ μ¬λΌκ°λ©΄ μ¬λΌκ°μλ‘ κ²½μ¬ μμ€μ΄ μκΈ°λ©΄μ λ¨Ό κ³Όκ±°μ μ 보λ₯Ό νμ¬μ μ λ¬νκΈ° μ΄λ €μ΄λ° μ΄ λ¬Έμ λ₯Ό μ΅λν μλ°©νκΈ° μν΄μ tanh ν¨μλ₯Ό μ¬μ©ν©λλ€.
μΆλ ₯μΈ΅μ νμ±ν ν¨μ μ€ νλλ₯Ό μ ννλ©΄ λ©λλ€.
sigmoid ν¨μμ tanh ν¨μ, λ νμ±ν¨μλ₯Ό λΉκ΅ν΄λ³΄κ² μ΅λλ€.
μ κ·Έλ¦Ό μ μ£Όν©μ κ·Έλνκ° λ―ΈλΆκ°μ κ·Έλνμ λλ€.
λ ν¨μμ λ―ΈλΆκ°μ 보면 sigmoid ν¨μλ λ―ΈλΆ μ΅λκ°μ΄ 0.3λ³΄λ€ μμ κ²μ λΉν΄ tanh ν¨μμ λ―ΈλΆ μ΅λκ°μ 1λ‘, sigmoid ν¨μλ³΄λ€ λ―ΈλΆ μ΅λκ°μ΄ μλμ μΌλ‘ ν¬λ€λ μ¬μ€μ μ μ μμ΅λλ€. μ¦, sigmoid ν¨μμ κ²½μ° κ³±μ μ΄ κ±°λλλ©΄μ κ²½μ¬ μμ€ λ¬Έμ κ° μκΈΈ κ°λ₯μ±μ΄ μλμ μΌλ‘ ν¬κΈ° λλ¬Έμ tanh ν¨μλ₯Ό μ¬μ©νλ κ²μ΄ κ²½μ¬ μμ€μ λ°©μ§νλλ° μ 리νλ€κ³ ν μ μμ΅λλ€.
RNNμ μ΄μ κ°μ΄ μ λ ₯κ³Ό μΆλ ₯μ κΈΈμ΄λ₯Ό λ€λ₯΄κ² μ€κ³ν μ μμΌλ―λ‘ λ€μν μ©λλ‘ μ¬μ©ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, νλμ μ λ ₯μ λν΄μ μ¬λ¬ κ°μ μΆλ ₯μ΄ μλ λͺ¨λΈμ νλμ μ΄λ―Έμ§ μ λ ₯μ λν΄μ μ¬μ§μ μ λͺ©μ μΆλ ₯νλ μ΄λ―Έμ§ μΊ‘μ λ μμ μ μ¬μ©ν μ μμ΅λλ€. λ¬Έμμ κ°μ± λΆλ₯λ 'λ€ λ μΌ λͺ¨λΈ'μ νμ© μμμ λλ€. 'λ€ λ λ€ λͺ¨λΈ'μ κ²½μ°μλ μ λ ₯ λ¬Έμ₯μΌλ‘λΆν° λλ΅ λ¬Έμ₯μ μΆλ ₯νλ μ±λ΄κ³Ό μ λ ₯ λ¬Έμ₯μΌλ‘λΆν° λ²μλ λ¬Έμ₯μ μΆλ ₯νλ λ²μκΈ° κ°μ μμ μ΄ ν¬ν¨λ©λλ€.
RNNμ΄ λ¬Έμ λΆλ₯μ μ ν©ν μ΄μ
μ μ€λͺ ν κ²μ²λΌ, RNNμ μμμλΆν° μμ°¨μ μΌλ‘ λ―ΈμΉλ μν₯μ κ³μ μΆμ νλ λͺ¨λΈμ λλ€.
μ¬λμ΄ λ¬Έλ§₯μ μ΄ν΄νλ κ²λ μ΄μ μ μ¬ν©λλ€. μλλ°©μ΄ νλ λ§μ μμ°¨μ μΌλ‘ λ€μΌλ©΄μ μλ―Έλ₯Ό μ΄ν΄νκΈ° λλ¬Έμ λλ€.
λ¬Έλ§₯μ λ¨μ΄λ€μ μμλ₯Ό ν΅ν΄μ νμ±λλλ° RNNμ ꡬ쑰 μ μ΄μ κ°μ λ¬Έλ§₯μ νμ νκΈ°μ μ’μ λͺ¨νμ λλ€.
μλ μλ² λ©μ μ΄ν΄
μ΄μ λ¬Έμ λΆλ₯λ₯Ό μν΄ λ¨μ΄λ₯Ό RNN λͺ¨νμ μ λ ₯μΌλ‘ μ¬μ©νλ €λ©΄, λ¨μ΄μ κ°μ λ²μ£Όν λ°μ΄ν°λ₯Ό μμΉλ‘ λ³νν΄μΌνκΈ° λλ¬Έμ λ¨μ΄λ₯Ό μ-ν« λ²‘ν°λ‘ νννκ³ λ€μ 짧μ κΈΈμ΄μ λ°μ§ 벑ν°λ‘ λ³νν΄μΌν©λλ€. μ¬κΈ°μ μ-ν« λ²‘ν°μ λ°μ§ 벑ν°κ° 무μμΌκΉμ?
μ-ν« μΈμ½λ© (One-hot Encoding)
μ-ν« μΈμ½λ©μ λ¨μ΄ μ§ν©μ ν¬κΈ°λ₯Ό 벑ν°μ μ°¨μμΌλ‘ νκ³ , νννκ³ μΆμ λ¨μ΄μ μΈλ±μ€μ 1μ κ°μ λΆμ¬νκ³ , λ€λ₯Έ μΈλ±μ€μλ 0μ λΆμ¬νλ λ¨μ΄μ λ²‘ν° νν λ°©μμ λλ€. μ΄λ κ² ννλ 벑ν°λ₯Ό μ-ν« λ²‘ν°(One-hot vector)λΌκ³ ν©λλ€. κ·Έλ¦¬κ³ λ²‘ν°μ κ°μ΄ λλΆλΆ 0μΌλ‘ ννλκΈ° λλ¬Έμ μ-ν« μΈμ½λ©μ ν¬μ νν, μ-ν« λ²‘ν°λ₯Ό ν¬μ 벑ν°λΌκ³ ν©λλ€.
λ§μ½ Rome, Paris, Italy, Franceλ₯Ό κ°κ° 1, 2, 3, 4λ‘ λ³ννλ©΄ Romeκ³Ό Paris μ¬μ΄μ 거리λ 1μ΄μ§λ§ Romeκ³Ό France μ¬μ΄μ 거리λ 3μ΄ λ©λλ€. μ΄λ κ² λ°μ΄ν° κ°μ μλͺ»λ κ±°λ¦¬κ° μμ±λκΈ° λλ¬Έμ μ-ν« μΈμ½λ©μ μ¬μ©ν΄ λ°μ΄ν° κ°μ 거리λ₯Ό λͺ¨λ 1λ‘ λμΌνκ² λ§λ€μ΄μ€λλ€. νμ§λ§ λ¨μ΄μ κ°μκ° λμ΄λ μλ‘ λ²‘ν°λ₯Ό μ μ₯νκΈ° μν΄ νμν 곡κ°μ΄ κ³μ λμ΄λλ€λ μ κ³Ό λ¨μ΄ μ¬μ΄μλ λΆλͺ μ΄λ€ μ μ¬λκ° μ‘΄μ¬νλλ°, μ-ν« λ²‘ν°μ μ½μ¬μΈ μ μ¬λλ νμ 0μ΄κΈ° λλ¬Έμ μ μ¬λλ₯Ό νννμ§ λͺ»νλ€λ λ¨μ μ΄ μμ΅λλ€.
λ°μ§ νν (Dense Representation)
λ°μ§ ννμ΄λ, μμμ μ-ν« μΈμ½λ©μ ν¬μ ννμ΄λΌκ³ νλλ° μ¬μ©μκ° μ€μ ν κ°μΌλ‘ λͺ¨λ λ¨μ΄μ λ²‘ν° ννμ μ°¨μμ λ§μΆλ©° μ΄ κ³Όμ μμ 0κ³Ό 1κ°μ΄ μλ μ€μκ°μ κ°λ ννμ λ§ν©λλ€. κ·Έλ¦Όκ³Ό κ°μ΄ μμλ ν¬μ 벑ν°λ‘, νλμ κ°λ§ 1μ κ°κ³ λλ¨Έμ§κ° 0μΈ λ°λ©΄ μλμ λ°μ§ 벑ν°λ 0κ³Ό 1 μ¬μ΄μ μ€μκ°μ κ°λ κ²μ λ³Ό μ μμ΅λλ€.
μλ μλ² λ© (Word Embedding)
μμμ μ€λͺ ν μ-ν« λ²‘ν°λ₯Ό λ°μ§ 벑ν°λ‘ νννλ κ²μ μλ μλ² λ©μ΄λΌκ³ ν©λλ€.
μλ² λ©μ νκ² λλ©΄, μ-ν« λ²‘ν°μ λ¨μ μ΄μλ λΉν¨μ¨μ μΈ λ²‘ν°μ ν¬κΈ°λ₯Ό ν¨μ¨μ μΌλ‘ λ§λ€μ΄μ€ μ μμ΅λλ€.
λν λ¨μ΄ κ°μ μλ―Έμ μ μ¬λλ₯Ό κ³μ°ν μ μμ΅λλ€.
μΈ λ²μ§Έλ‘, μ΄ λ²‘ν°λ€μ ν΅ν΄ λ¨μ΄λ€μ λνκ³ λΉΌλ μ°μ°μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, 'νκ΅ - μμΈ + λμΏ' μ΄λ° μμΌλ‘ λ¨μ΄λ₯Ό κ°μ§κ³ μ°μ°μ νκ² λλ©΄ 'μΌλ³Έ'μ΄ λμ€λ μ°μ°μ κ°λ₯νκ² ν©λλ€. λ§μ§λ§μΌλ‘, μλ μλ² λ©μ μ μ΄νμ΅μ κ°λ₯νκ² ν©λλ€. μ μ΄νμ΅μ κΈ°μ‘΄μ νμ΅λ λͺ¨νμ μλ‘μ΄ νκ²½μμ μ¬μ¬μ©ν¨μΌλ‘μ¨ νμ΅μ μλμ ν¨κ³Όλ₯Ό λμ΄λ λ°©λ²μ λλ€.
λ°μμΈ, κ°μ£Όμ, μ μμ°¬, <νμ΄μ¬ ν μ€νΈ λ§μ΄λ μλ²½ κ°μ΄λ>, μν€λΆμ€
λ₯Ό 곡λΆνλ©° μ 리ν λ΄μ©μ λλ€.
'ML & AI > Natural Language Processing' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
RNN - λ₯λ¬λμ μ΄μ©ν λ¬Έμ λΆλ₯(2) (2) | 2022.12.11 |
---|---|
λ°μ΄ν° λΆμ νμ ν¨ν€μ§ μΌλμ₯ - 1) Pandas (0) | 2022.01.30 |