모든 컨볼 루션 계층에 xavier
초기화를 추가하면 손실은 음수이되기 시작합니다. 누군가 제안이나 이유를 줄 수 있습니까? 나는 모든 길쌈 층에 다음 줄을 추가 :Xavier 및 bias_filler를 추가하면 손실 값이 음수가되기 시작합니다. 왜?
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0.1
}
I0305 14:31:53.356343 11179 solver.cpp:219] Iteration 0 (-4.02766e+28 iter/s, 0.528933s/100 iters), loss = 2.05371
I0305 14:31:53.356374 11179 solver.cpp:238] Train net output #0: accuracy = 0.11937
I0305 14:31:53.356384 11179 solver.cpp:238] Train net output #1: loss = 2.05371 (* 1 = 2.05371 loss)
I0305 14:31:53.356395 11179 sgd_solver.cpp:105] Iteration 0, lr = 0.0001
I0305 14:32:28.728870 11179 solver.cpp:219] Iteration 100 (2.82699 iter/s, 35.3733s/100 iters), loss = 0.0270034
I0305 14:32:28.729014 11179 solver.cpp:238] Train net output #0: accuracy = 1
I0305 14:32:28.729028 11179 solver.cpp:238] Train net output #1: loss = 0 (* 1 = 0 loss)
I0305 14:32:28.729034 11179 sgd_solver.cpp:105] Iteration 100, lr = 0.0001
I0305 14:33:03.729997 11179 solver.cpp:219] Iteration 200 (2.85701 iter/s, 35.0017s/100 iters), loss = -8.27284e-09
I0305 14:33:03.730154 11179 solver.cpp:238] Train net output #0: accuracy = 1
I0305 14:33:03.730167 11179 solver.cpp:238] Train net output #1: loss = 0 (* 1 = 0 loss)
I0305 14:33:03.730172 11179 sgd_solver.cpp:105] Iteration 200, lr = 0.0001
I0305 14:33:38.885211 11179 solver.cpp:219] Iteration 300 (2.84449 iter/s, 35.1557s/100 iters), loss = -8.27284e-09
I0305 14:33:38.885368 11179 solver.cpp:238] Train net output #0: accuracy = 1
I0305 14:33:38.885383 11179 solver.cpp:238] Train net output #1: loss = 0 (* 1 = 0 loss)
I0305 14:33:38.885387 11179 sgd_solver.cpp:105] Iteration 300, lr = 0.0001
I0305 14:34:14.174548 11179 solver.cpp:219] Iteration 400 (2.83368 iter/s, 35.2898s/100 iters), loss = -8.27284e-09
I0305 14:34:14.174702 11179 solver.cpp:238] Train net output #0: accuracy = 1
I0305 14:34:14.174720 11179 solver.cpp:238] Train net output #1: loss = 0 (* 1 = 0 loss)
I0305 14:34:14.174724 11179 sgd_solver.cpp:105] Iteration 400, lr = 0.0001
I0305 14:34:49.578112 11179 solver.cpp:219] Iteration 500 (2.82453 iter/s, 35.4041s/100 iters), loss = -8.27284e-09
I0305 14:34:49.578254 11179 solver.cpp:238] Train net output #0: accuracy = 1
I0305 14:34:49.578269 11179 solver.cpp:238] Train net output #1: loss = 0 (* 1 = 0 loss)
I0305 14:34:49.578272 11179 sgd_solver.cpp:105] Iteration 500, lr = 0.0001
I0305 14:35:25.042238 11179 solver.cpp:219] Iteration 600 (2.81971 iter/s, 35.4646s/100 iters), loss = -8.27284e-09
I0305 14:35:25.042421 11179 solver.cpp:238] Train net output #0: accuracy = 1
I0305 14:35:25.042438 11179 solver.cpp:238] Train net output #1: loss = 0 (* 1 = 0 loss)
I0305 14:35:25.042443 11179 sgd_solver.cpp:105] Iteration 600, lr = 0.0001
I0305 14:36:00.540053 11179 solver.cpp:219] Iteration 700 (2.81704 iter/s, 35.4983s/100 iters), loss = -8.27284e-09
I0305 14:36:00.540194 11179 solver.cpp:238] Train net output #0: accuracy = 1
I0305 14:36:00.540207 11179 solver.cpp:238] Train net output #1: loss =
내 또 다른 문제는 일부 네트워크에서, Gaussian
이 추가된다는 점이다. 마찬가지로 :
weight_filler {
type: "gaussian"
std: 0.005
}
bias_filler {
type: "constant"
value: 0.1
}
왜 우리는 길쌈 계층에 이러한 매개 변수를 추가? 이기 때문에 우리는 처음부터 네트워크를 훈련하고 있습니까?
std
및/또는bias_filler
에 지정된 값은 어떻게 지정됩니까?
정말 감사드립니다.
유용한 의견과 논문을 보내 주셔서 감사합니다. –
@ S.EB 아주 좋은 종이. 나는 거기에 제시된 "PReLU"'활성화를 매우 좋아합니다. – Shai
공유해 주셔서 감사합니다. 이전에 넷 디자인에 대해 소개 한 [다른 논문] (https://arxiv.org/abs/1611.00847)을 읽는 것을 정말 즐겁게 생각했습니다. 나는 이것도 매우 도움이 될 것이라고 확신합니다. 지식을 공유해 주셔서 감사합니다. 나는이 지역에 대한 나의 가난한 지식을 향상 시키려고 노력하고있다 : ") –