1414μν μ κ²½λ§μ μΌμ’
μ μνλ₯Ό μ μ§νλ λ€νΈμν¬μ
λλ€.
1515μλ₯Ό λ€λ©΄, μΆλ ₯μ λ€μ μ
λ ₯μ μΌλΆλ‘ μ¬μ©λ μ μμ΅λλ€.
1616μ 보λ λ€νΈμν¬κ° μνμ€λ₯Ό ν΅κ³Όν λ μ νλ μ μμ΅λλ€.
17- LSTMμ κ²½μ°μ, μνμ€μ κ° μμμ λμνλ *μλ μν(hidden state)* :math:`h_t`κ° μ‘΄μ¬νλ©°,
17+ LSTMμ κ²½μ°μ, μνμ€μ κ° μμμ λμνλ *μλ μν(hidden state)* :math:`h_t` κ° μ‘΄μ¬νλ©°,
1818μ΄λ μμΉμ μΌλ‘ μνμ€μ μλΆλΆμ μλ μμ ν¬μΈνΈμ μ 보λ₯Ό ν¬ν¨ν μ μμ΅λλ€.
1919μ°λ¦¬λ μλ μνλ₯Ό μ΄μ©νμ¬ μΈμ΄ λͺ¨λΈμμμ λ¨μ΄,
2020νμ¬ νκ·Έ λ± λ¬΄μν λ§μ κ²λ€μ μμΈ‘ν μ μμ΅λλ€.
100100# `μ¬κΈ° <https://tutorials.pytorch.kr/beginner/nlp/word_embeddings_tutorial.html>`__.
101101# μμ κ΄λ ¨ λ΄μ©μ μ½μ μ μμ΅λλ€.
102102#
103- # λͺ¨λΈμ λ€μκ³Ό κ°μ΅λλ€. λ¨μ΄κ° :math:`w_i \in V`μΌ λ,
104- # μ
λ ₯ λ¬Έμ₯μ :math:`w_1, \dots, w_M`λΌκ³ ν©μλ€. λν,
105- # :math:`T`λ₯Ό μ°λ¦¬μ νκ·Έ μ§ν©μ΄λΌκ³ νκ³ , :math:`w_i`μ λ¨μ΄ νκ·Έλ₯Ό :math:`y_i`λΌκ³ ν©λλ€.
106- # λ¨μ΄ :math:`w_i`μ λν μμΈ‘λ νκ·Έλ₯Ό :math:`\hat{y}_i`λ‘ νμν©λλ€.
103+ # λͺ¨λΈμ λ€μκ³Ό κ°μ΅λλ€. λ¨μ΄κ° :math:`w_i \in V` μΌ λ,
104+ # μ
λ ₯ λ¬Έμ₯μ :math:`w_1, \dots, w_M` λΌκ³ ν©μλ€. λν,
105+ # :math:`T` λ₯Ό μ°λ¦¬μ νκ·Έ μ§ν©μ΄λΌκ³ νκ³ , :math:`w_i` μ λ¨μ΄ νκ·Έλ₯Ό :math:`y_i` λΌκ³ ν©λλ€.
106+ # λ¨μ΄ :math:`w_i` μ λν μμΈ‘λ νκ·Έλ₯Ό :math:`\hat{y}_i` λ‘ νμν©λλ€.
107107#
108108#
109- # μ΄κ²μ :math:`\hat{y}_i \in T`μΌ λ, μΆλ ₯μ΄ :math:`\hat{y}_1, \dots, \hat{y}_M` μνμ€μΈ
109+ # μ΄κ²μ :math:`\hat{y}_i \in T` μΌ λ, μΆλ ₯μ΄ :math:`\hat{y}_1, \dots, \hat{y}_M` μνμ€μΈ
110110# ꡬ쑰 μμΈ‘ λͺ¨λΈμ
λλ€.
111111#
112112# μμΈ‘μ νκΈ° μν΄, LSTMμ λ¬Έμ₯μ μ λ¬ν©λλ€. ν μκ° λ¨κ³
113- # :math:`i`μ μλ μνλ :math:`h_i`λ‘ νμν©λλ€. λν κ° νκ·Έμ
113+ # :math:`i` μ μλ μνλ :math:`h_i` λ‘ νμν©λλ€. λν κ° νκ·Έμ
114114# κ³ μ ν μΈλ±μ€λ₯Ό ν λΉν©λλ€ (λ¨μ΄ μλ² λ© μΉμ
μμ word\_to\_ix λ₯Ό μ¬μ©ν κ²κ³Ό μ μ¬ν©λλ€.)
115- # κ·Έλ¬λ©΄ :math:`\hat{y}_i` μμΈ‘ κ·μΉμ λ€μκ³Ό κ°μ΅λλ€.
115+ # κ·Έλ¬λ©΄ :math:`\hat{y}_i` μμΈ‘ κ·μΉμ λ€μκ³Ό κ°μ΅λλ€.
116116#
117117# .. math:: \hat{y}_i = \text{argmax}_j \ (\log \text{Softmax}(Ah_i + b))_j
118118#
119119# μ¦, μλ μνμ μν λ§΅(affine map)μ λν΄ λ‘κ·Έ μννΈλ§₯μ€(log softmax)λ₯Ό μ·¨νκ³ ,
120120# μμΈ‘λ νκ·Έλ μ΄ λ²‘ν°μμ κ°μ₯ ν° κ°μ κ°μ§λ νκ·Έκ° λ©λλ€.
121- # μ΄κ²μ κ³§ :math:`A`μ νκΉ κ³΅κ°μ μ°¨μμ΄ :math:`|T|`λΌλ κ²μ
121+ # μ΄κ²μ κ³§ :math:`A` μ νκΉ κ³΅κ°μ μ°¨μμ΄ :math:`|T|` λΌλ κ²μ
122122# μλ―Ένλ€λ κ²μ μμλμΈμ.
123123#
124124#
@@ -131,7 +131,7 @@ def prepare_sequence(seq, to_ix):
131131
132132training_data = [
133133 # νκ·Έλ λ€μκ³Ό κ°μ΅λλ€: DET - νμ μ¬;NN - λͺ
μ¬;V - λμ¬
134- # μλ₯Ό λ€μ΄, "The"λΌλ λ¨μ΄λ νμ μ¬μ
λλ€.
134+ # μλ₯Ό λ€μ΄, "The" λΌλ λ¨μ΄λ νμ μ¬μ
λλ€.
135135 ("The dog ate the apple" .split (), ["DET" , "NN" , "V" , "DET" , "NN" ]),
136136 ("Everybody read that book" .split (), ["NN" , "V" , "DET" , "NN" ])
137137]
@@ -233,17 +233,17 @@ def forward(self, sentence):
233233# λ¨μ΄μ λ¬Έμμμ νμλ ννμΌλ‘ λ¨μ΄ μλ² λ©μ μ¦κ°μμΌλ³΄κ² μ΅λλ€.
234234# μ μ¬(affixes)μ κ°μ λ¬Έμ μμ€μ μ 보λ νμ¬μ ν° μν₯μ λ―ΈμΉκΈ° λλ¬Έμ,
235235# μλΉν λμμ΄ λ κ²μΌλ‘ μμν©λλ€.
236- # μλ₯Ό λ€μ΄, μ μ¬ *-ly*κ° μλ λ¨μ΄λ
236+ # μλ₯Ό λ€μ΄, μ μ¬ *-ly* κ° μλ λ¨μ΄λ
237237# μμ΄μμ κ±°μ νμ λΆμ¬λ‘ νκ·Έκ° μ§μ λ©λλ€.
238238#
239- # μ΄κ²μ νκΈ° μν΄μ, :math:`c_w`λ₯Ό λ¨μ΄ :math:`w`μ Cλ₯Ό λ¨μ΄ wμ λ¬Έμ μμ€ ννμ΄λΌκ³ νκ³ ,
240- # μ κ³Ό κ°μ΄ :math:`x_w`λ₯Ό λ¨μ΄μλ² λ©μ΄λΌκ³ ν©μλ€.
241- # κ·Έλ λ€λ©΄ μ°λ¦¬μ μνμ€ λͺ¨λΈμ λν μ
λ ₯μ :math:`x_w`μ
242- # :math:`c_w`μ μ°κ²°μ΄λΌκ³ ν μ μμ΅λλ€. λ§μ½μ :math:`x_w`κ° μ°¨μ 5λ₯Ό κ°μ§κ³ , :math:`c_w`
239+ # μ΄κ²μ νκΈ° μν΄μ, :math:`c_w` λ₯Ό λ¨μ΄ :math:`w` μ Cλ₯Ό λ¨μ΄ wμ λ¬Έμ μμ€ ννμ΄λΌκ³ νκ³ ,
240+ # μ κ³Ό κ°μ΄ :math:`x_w` λ₯Ό λ¨μ΄μλ² λ©μ΄λΌκ³ ν©μλ€.
241+ # κ·Έλ λ€λ©΄ μ°λ¦¬μ μνμ€ λͺ¨λΈμ λν μ
λ ₯μ :math:`x_w` μ
242+ # :math:`c_w` μ μ°κ²°μ΄λΌκ³ ν μ μμ΅λλ€. λ§μ½μ :math:`x_w` κ° μ°¨μ 5λ₯Ό κ°μ§κ³ , :math:`c_w`
243243# μ°¨μ 3μ κ°μ§λ©΄ LSTMμ μ°¨μ 8μ μ
λ ₯μ λ°μλ€μ¬μΌ ν©λλ€.
244244#
245245# λ¬Έμ μμ€μ ννμ μ»κΈ° μν΄μ, λ¨μ΄μ λ¬Έμμ λν΄μ LSTMμ μννκ³
246- # :math:`c_w`λ₯Ό LSTMμ μ΅μ’
μλ μνκ° λλλ‘ ν©λλ€.
246+ # :math:`c_w` λ₯Ό LSTMμ μ΅μ’
μλ μνκ° λλλ‘ ν©λλ€.
247247# ννΈ:
248248#
249249# * μ λͺ¨λΈμλ λ κ°μ LSTMμ΄ μμ κ²μ
λλ€.
0 commit comments