| μΌ | μ | ν | μ | λͺ© | κΈ | ν |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- λΆκ½λ°μ΄ν°μ
- 무결μ±
- μκ³ λ¦¬μ¦
- μΈλλ³κ°λΉμ§μ»¬λ ν°
- latent factor
- 무결μ±μ μ§λ©μ»€λμ¦
- sklearn
- λ°±μ€
- νμ΄μ¬
- ν€ μ’ λ₯
- RENAMETABLE
- knn_classify
- SQL
- Key μ’ λ₯
- 무결μ±μ μ§
- ν
- Python
- DROPTABLE
- latent factor model
- μ μ¬μμλͺ¨λΈ
- ν΄λ¦°μ½λ
- CREATETABLE
- ALTERTABLE
- TDD
- μ£Όμ±λΆ μ°ΎκΈ°
- SQLDDL
- μ¬μ΄ν·λ°
- 컨ν μ΄λκ°μ²΄
- Hyperlink Graphs
- λ¬Έμμ΄
- Today
- Total
DonHurry
step20. μ°μ°μ μ€λ²λ‘λ(1) λ³Έλ¬Έ
π’ λ³Έ ν¬μ€ν μ λ°λ°λ₯λΆν° μμνλ λ₯λ¬λ3μ κΈ°λ°μΌλ‘ μμ±νμμ΅λλ€. λ°°μ΄ λ΄μ©μ κΈ°λ‘νκ³ , κ°μΈμ μΈ κ³΅λΆλ₯Ό μν΄ μμ±νλ ν¬μ€ν μ λλ€. μμΈν λ΄μ©μ κ΅μ¬ ꡬ맀λ₯Ό κ°λ ₯ μΆμ²λ립λλ€.

μ΄λ² λ¨κ³μμλ μ°μ°μ μ€λ²λ‘λλ₯Ό μ§ννκ² μ΅λλ€. μ€λ²λ‘λ μ체μ κ΄ν λ΄μ©μ μ μ 리λ μ¬λ¬ λΈλ‘κ·Έλ€μ΄ μμΌλ μ°Έκ³ νμκΈΈ λ°λλλ€. μ°μ Mul, κ³±μ ν΄λμ€λ₯Ό ꡬνν΄λ³΄κ² μ΅λλ€. κ³±μ μ μμ νλ μλ κ·Έλ¦Όκ³Ό κ°μ΄ νλ¬λ€μ΄μ¨ κΈ°μΈκΈ°μ μλ‘μ μ λ ₯κ°μ κ΅ννμ¬ κ³±ν΄μ£Όλ λ°©μμΌλ‘ μ§νλ©λλ€. λ°μλ₯ 1μμ μμΈνκ² μ€λͺ νλ λ΄μ©μ λλ€.

μλλ Mul ν΄λμ€μ μ½λμ λλ€. μ΄μ κ³Ό λ§μ°¬κ°μ§λ‘ νμ΄μ¬ ν¨μλ‘ μ¬μ©νκΈ° μν μ½λλ ν¨κ» ꡬνν©λλ€.
class Mul(Function):
def forward(self, x0, x1):
y = x0 * x1
return y
def backward(self, gy):
x0, x1 = self.inputs[0].data, self.inputs[1].data
return gy * x1, gy * x0
def mul(x0, x1):
return Mul()(x0, x1)
νμ¬λ κ³±μ μ μννκΈ° μν΄ mul(a, b)μ κ°μ μμΌλ‘ λ²κ±°λ‘κ² κ΅¬νν΄μΌν©λλ€. a * bμ κ°μ΄ κΉλνκ² μ¬μ©ν μ μλλ‘ μ°μ°μ μ€λ²λ‘λλ₯Ό μ§ννκ² μ΅λλ€. κ³±μ μ νΉμ λ©μλλ __mul__(self, other) μ λλ€.

λ€μκ³Ό κ°μ΄ ꡬνν μ μμ΅λλ€.
Variable:
...
def __mul__(self, other):
return mul(self, other)
νμ§λ§ λ κ°λ¨ν λ°©λ²λ μμ΅λλ€. νμ΄μ¬μ ν¨μλ κ°μ²΄μ΄λ―λ‘ ν΄λμ€λ₯Ό μ μν ν ν¨μ μ체λ₯Ό ν λΉ κ°λ₯ν©λλ€.
class Variable:
...
# μ°μ°μ μ€λ²λ‘λ
Variable.__mul__ = mul
Variable.__add__ = add
λ§μ§λ§μΌλ‘ ν μ€νΈλ₯Ό μ§νν΄λ³΄κ² μ΅λλ€. κ²°κ³Όκ° μ λμ€λ κ²μ νμΈν μ μμ΅λλ€.
a = Variable(np.array(3.0))
b = Variable(np.array(2.0))
c = Variable(np.array(1.0))
# y = add(mul(a, b), c)
y = a * b + c
y.backward()
print(y) # variable(7.0)
print(a.grad) # 2.0
print(b.grad) # 3.0'DeZero > π»μ 2κ³ μ§' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| step22. μ°μ°μ μ€λ²λ‘λ(3) (0) | 2023.01.23 |
|---|---|
| step21. μ°μ°μ μ€λ²λ‘λ(2) (0) | 2023.01.22 |
| step19. λ³μ μ¬μ©μ± κ°μ (0) | 2023.01.20 |
| step18. λ©λͺ¨λ¦¬ μ μ½ λͺ¨λ (0) | 2023.01.19 |
| step17. λ©λͺ¨λ¦¬ κ΄λ¦¬μ μν μ°Έμ‘° (0) | 2023.01.18 |