Chainer의 기본 오브젝트에 대해 ~Chain편~
2103 단어 Chainer
이번에는 Chain 객체에 대해 씁니다.
체인
전회은 functions 객체를, 지난번은 links 객체를 소개했지만, 이번 Chain 객체는 그들이 제공하는 함수를 합성하여 파라미터를 추정한다. 그 합성 함수가 모델을 표현합니다.
먼저 아래 그림과 같은 3층으로 구성된 신경망을 생각한다.
제1층에서 제2층으로의 변환은 링크 객체
v = w_1x + b_1 ...(1)
로 표현할 수 있습니다. (v는 제2층 시점에서의 변수의 상태)
그런 다음 두 번째 레이어에서 세 번째 레이어로의 변환은
y = w_2v + b_2 ...(2)
로 표현할 수 있습니다.
(1) (2)에서, 제 1 층에서 제 3 층으로의 변환은
y = w_2(w_1x + b_1) + b_2 ...(3)
로 표현할 수 있습니다.
그러나 두 번째 레이어는 각 노드에서 활성화 함수를 적용해야합니다.
따라서 (3)은
y = w_2δ(w_1x + b_1) + b_2
라고 표현됩니다. (δ는 활성화 함수)
이 함수는 함수와 링크의 함수로 표현할 수 있습니다.
이를 위해 Chain 클래스를 사용합니다.
여기에서는 Chain 클래스를 상속한 MyChain을 사용합니다.
첫째, 생성자는 links의 함수로 계층에서 계층으로 매핑을 열거합니다.
class MyChain(Chain):
def __init__(self):
super(MyClass, self).__init__(
l1 = L.linear(4, 3),
l2 = L.linear(3, 3)
)
그런 다음 순방향 계산, 즉 활성화 함수 처리를 메서드로 정의합니다.
def forward(self, x):
return F.sigmoid(self.l1(x)):
그런 다음 손실 함수 (오차 함수)를 call에 씁니다. mean_squqred_error는 제곱 오차 함수입니다.
def __call__(self, x, y):
result = self.forward(x)
loss = F.mean_squared_error(result, y)
return loss
이제 오차 계산까지 할 수 있습니다.
이번은 여기까지.
다음 번에는 optimizers에 대해 씁니다.
참고
신나 히로유키
Chainer에 의한 실천 심층 학습~복잡한 NN의 실장 방법~ 오옴사
Reference
이 문제에 관하여(Chainer의 기본 오브젝트에 대해 ~Chain편~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hatt0519/items/b693e87e301411e41a08
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
v = w_1x + b_1 ...(1)
y = w_2v + b_2 ...(2)
y = w_2(w_1x + b_1) + b_2 ...(3)
y = w_2δ(w_1x + b_1) + b_2
class MyChain(Chain):
def __init__(self):
super(MyClass, self).__init__(
l1 = L.linear(4, 3),
l2 = L.linear(3, 3)
)
def forward(self, x):
return F.sigmoid(self.l1(x)):
def __call__(self, x, y):
result = self.forward(x)
loss = F.mean_squared_error(result, y)
return loss
신나 히로유키
Chainer에 의한 실천 심층 학습~복잡한 NN의 실장 방법~ 오옴사
Reference
이 문제에 관하여(Chainer의 기본 오브젝트에 대해 ~Chain편~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hatt0519/items/b693e87e301411e41a08텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)