質問するログイン新規登録

回答編集履歴

2

補足の追記

2026/04/01 14:23

投稿

meg_
meg_

スコア11104

answer CHANGED
@@ -1,4 +1,4 @@
1
- 生成AIに聞いて初期化部分を下記に変えたところ数字(らしきもの)を生成できました。
1
+ 生成AIに聞いて初期化部分とオプティマイザーを下記に変えたところ数字(らしきもの)を生成できました。
2
2
 
3
3
  ```ここに言語を入力
4
4
  def initialize(m):
@@ -10,6 +10,12 @@
10
10
  nn.init.constant_(m.bias.data, 0)
11
11
  ```
12
12
  ```ここに言語を入力
13
+ gen_optim=optim.Adam(gen.parameters(),lr=0.0002, betas=(0.5, 0.999))
14
+ dis_optim=optim.Adam(dis.parameters(),lr=0.0002, betas=(0.5, 0.999))
15
+ ```
16
+
17
+
18
+ ```ここに言語を入力
13
19
  1回目の正答率は1.0
14
20
  2回目の正答率は0.9070833333333334
15
21
  3回目の正答率は0.9509583333333333
@@ -35,4 +41,8 @@
35
41
 
36
42
  AIが言うには下記理由で改善するそうです。
37
43
  > DCGANなどで推奨される「平均0、標準偏差0.02」の正規分布に変えます。
38
- 重みの初期化を 「平均0、標準偏差0.02の正規分布」 に変えたことで、ネットワークの各層の出力が極端に偏らなくなり、GeneratorとDiscriminatorが「お互いに学習のヒント(勾配)を出し合える状態」になった証拠です。
44
+ 重みの初期化を 「平均0、標準偏差0.02の正規分布」 に変えたことで、ネットワークの各層の出力が極端に偏らなくなり、GeneratorとDiscriminatorが「お互いに学習のヒント(勾配)を出し合える状態」になった証拠です。
45
+
46
+ > 通常の分類タスクなどで使われるは、GANにとっては高すぎます。
47
+ GANの損失関数は非凸で複雑なため、過去の勾配を引きずりすぎると、更新方向が大きく振動して学習が不安定になります。
48
+ ベータを0.5に設定することで、この振動(Oscillation)を抑え、学習を安定させる効果があります。

1

追記

2026/04/01 14:05

投稿

meg_
meg_

スコア11104

answer CHANGED
@@ -1,4 +1,4 @@
1
- 生成AIに聞いて初期化部分を下記に変えたところ数字を生成できました。
1
+ 生成AIに聞いて初期化部分を下記に変えたところ数字(らしきもの)を生成できました。
2
2
 
3
3
  ```ここに言語を入力
4
4
  def initialize(m):