2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

ニューラルネットを3層→4層にしたらXORを正しく学習しなくなった

1 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:27:03.987 ID:71Zop0IV0.net
3層の時の重みは
1層目で値を横流し
2層目で(入力値1 * -1) + (入力値2 * 1)を出力として出す
みたいな感じになってるんだけど

4層にすると
1層目が入力値1==0 && 入力値2==1 の場合0,1を出力、それ以外は0,0
2層目からは3層構成と同じ
みたいな重みになる

2 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:27:35.668 ID:RVJ7xfPjM.net
考えすぎは良くないってことや

3 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:28:26.618 ID:Eopa1au50.net
学習量が少な過ぎるんだ

4 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:28:35.383 ID:71Zop0IV0.net
>>2
なるほどなぁ
こんな所で哲学が学べるなんて思わなんだ

5 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:29:11.962 ID:QY4TVMK/0.net
あるある

6 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:30:59.933 ID:71Zop0IV0.net
>>3
うはwwww100万回で回してみるはwwwwww

7 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:31:32.223 ID:71Zop0IV0.net
>>5
あるあるなのか
てっきり俺のクソ実装が悪いのかと

8 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:33:01.844 ID:71Zop0IV0.net
ついでにマルチスレッド構成にしたいんだけど排他制御やらの扱い方が分からぬぬぬ

9 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:33:23.714 ID:bPWCRuk80.net
矛盾を含めば全てが真になる

10 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:35:17.656 ID:QY4TVMK/0.net
てか出力の仕方がよく分からんのだが
Linear(in=2, out=hidden),
ReLU(),
Linear(in=hidden, out=hidden),
ReLU(),
Linear(inhidden, out=1),
Sigmoid()
とかじゃダメなのか?

11 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:49:31 ID:71Zop0IV0.net
>>9
なんか聞いたことあるぞそんな感じのニュアンス言葉

>>10
Linear?って言うのは行列積に入れる値のパラメータみたいな物?で合ってる?
今の実装だと多分
Linear(in=2, out=2),
Sigmoid(),
Linear(in=2, out=2),
Sigmoid(),
Linear(in=2, out=1),

みたいな感じで、出力を恒等関数で出して
誤差を二乗誤差で割り出してる実装になってる?のかな?
参考書通りに実装した後入出力パラメータいじっただけなので良し悪しが全然わかっていない状態…

12 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 16:52:42 ID:71Zop0IV0.net
行列積に入れる値のパラメータってなんか意味不明だな
入力値と出力値の要素数?の事だよね多分

13 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:00:12.900 ID:71Zop0IV0.net
全然うまくいってねーや
やっぱ考え過ぎは良くないんだなきっとうん

14 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:14:04.193 ID:QY4TVMK/0.net
>>11
多分あってる
1層目の活性化関数をSigmoidにするのは良くない
Sigmoidは2値分類の場合の最終層の活性化関数

15 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:25:44 ID:71Zop0IV0.net
>>14
そうなんか!
ちょっとReLU実装して組み直してみるわ!

16 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:32:22 ID:71Zop0IV0.net
epoch:100000
【weight】
[0]
0.39325367850277304,-0.4816015185452319,
-0.3933536669834071,0.45501475873591035,
[1]
0.8796931497615194,1.0162263835572771,
0.7788607744900155,0.8619724833482485,
[2]
1.2487452720922876,
1.4213124251505849,
ret[0,0]:0
ret[1,0]:0.9999999999992226
ret[0,1]:1.0000000000000182
ret[1,1]:0

なんかもうめっちゃ笑えるレベルでめっちゃすんなり行ったわ
マジでありがとう>>14!めっちゃ助かったわ!

17 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:33:13 ID:QY4TVMK/0.net
>>16
おお、良かったな

18 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:33:23 ID:71Zop0IV0.net
活性化関数のチョイスだけでこんなに変わるもんなのか
正直めっちゃビビってる

19 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:33:42 ID:71Zop0IV0.net
>>17
マジで良かった!ありがとう!

20 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:37:14.801 ID:CH83NVwr0.net
バックプロパゲーションてまだ使ってるの?

21 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:43:03 ID:71Zop0IV0.net
なんかめっちゃ凄い人たちは使ってるんじゃね
俺はスキルポイント足りなくて実装できてない

22 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:45:50 ID:QY4TVMK/0.net
ついでに言うと今回損失関数として二乗誤差を使ったみたいだけど二値分類の場合は普通binary cross entropyを使う
何故ならモデルの出力をベルヌーイ分布とみなした時に最尤推定解を求めることに対応しているという理論的保証があるから

23 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 17:52:32 ID:71Zop0IV0.net
>>22
ほぇー binary cross entropyてそんな特性を持ってたのか
言われてみれば二値分離の実装は皆binary cross entropyを使ってるな
そうか…損失関数や活性化関数の特性はしっかり抑えて使わないとダメなのね
めっちゃ勉強になるわ

24 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 18:00:28 ID:QY4TVMK/0.net
ちなみに言語は何使ってるの?

25 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 18:09:16.758 ID:71Zop0IV0.net
>>24
rust使ってるよ!

26 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 18:13:39 ID:QY4TVMK/0.net
>>25
rustか…使ったことないから分かんねぇ
pythonならフレームワーク使えば逆伝播計算勝手にやってくれるんだが

27 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 18:24:34.347 ID:71Zop0IV0.net
なんかコンパイルが通らねえ…

>>26
mjkめっちゃ便利やん
なんか参考書もpython使ってるし一区切りついたらpythonに移行しようかねぇ…

28 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 18:30:40.661 ID:QY4TVMK/0.net
>>27
フレームワークが便利な上に参考書やネット上の深層学習の情報ってだいたいpythonだからそういう意味でもpythonでも実装できるようにしておくと便利だと思う

29 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 18:40:29.564 ID:71Zop0IV0.net
>>28
一々別言語に読み替えてちゃ多分キリ無いだろうしなぁ
python読み書き出来るように特訓してみるわ なんかアドバイス貰ってばっかりだなマジでありがとう
vipでこんなにも勉強になる日が来るとは思ってなかった

30 :以下、?ちゃんねるからVIPがお送りします:2020/02/16(日) 19:11:41 ID:QY4TVMK/0.net
>>29
最初は手こずるだろうが畳み込みニューラルネットワークとか再帰ニューラルネットワークとかあとはフレームワークの使い方とか基本的なところを理解出来るようになったら論文漁り放題でマジで色んな事が出来て楽しくなるから根気よく頑張ってほしい
俺は深層学習勉強し始めてまだ一年くらいだけど画像分類・物体検出・セグメンテーション・画像補完・深層生成モデル・自然言語処理・ImageCaptioning・深層強化学習・AlphaZero等様々なジャンルに手出せるようになって本当に楽しい
あとこれだけは絶対に知っておいた方がいいので書いておくがGoogle Colaboratoryっていうクラウド上でGPUを使って深層学習を高速計算出来る無料サービスがあるので高性能グラフックボードを持ってないなら活用した方が良い
特に画像系だとGPU使った場合と使わない場合とで計算時間が数十倍違うから

総レス数 30
8 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★