卒業論文

多層ニューラルネットワークのパラメータ初期化手法に関する研究

03-120584 中丸 智貴
指導教員 合原一幸 教授

2016 年 2 月

東京大学工学部計数工学科数理情報工学コース

c 2016, Tomoki Nakamaru.
Copyright ⃝概要
近年深い階層を持つ人工ニューラルネットワーク (ディープニューラルネットワーク) が多くの成果とともに再注目され, ディープニューラルネットワークの学習手法 (ディープラーニング) に関する研究が改めて活発になっている. 特に多層ニューラルネットワークでは学習に誤差逆伝播法が用いられるが, この手法による学習は初期パラメータに非常に影響を受けやすいことも知られている. 本研究ではまず, 近年利用されることの多い活性化関数 ReLUを用いた多層ニューラルネットワークにおいて Xavier Initialization を改善した. また, 今後使用される機会が増えると予想される高次元数のニューラルネットワークについて Xavier

Initialization の修正を考え, 複素数ニューロンモデルから成る多層ニューラルネットワークでその効果の確認を行った.

キーワード

深層学習, Xavier Initialization, 複素数ニューラルネットワーク

iii

目次

第1章

序論

1

1.1

人工ニューラルネットワークへの再注目 . . . . . . . . . . . . . . . . . . . .

1

1.2

ディープニューラルネットワークの学習 . . . . . . . . . . . . . . . . . . . .

1

1.3

ディープニューラルネットワークのパラメータ初期化手法 . . . . . . . . . .

2

1.4

本研究の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

先行研究

4

2.1

多層ニューラルネットワークの学習 . . . . . . . . . . . . . . . . . . . . . .

42.2

実数以外を取り扱うニューラルネットワーク . . . . . . . . . . . . . . . . .

7

2.3

ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.4

Xavier Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

第3章

Xavier Initialization の改善

14

3.1

バイアス値初期化手法の検討. . . . . . . . . . . . . . . . . . . . . . . . .

14

3.2

実験概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.3

実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.4

考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17複素数ニューラルネットワークでのパラメータ初期化手法

22

4.1

Xavier Initialization の修正 . . . . . . . . . . . . . . . . . . . . . . . . . .

22

4.2

He Initialization の修正 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

4.3

実験概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

4.4

実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

4.5

考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

結論

30

第2章

第4章

第5章
謝辞

32

参考文献

33

1

第1章

序論
1.1 人工ニューラルネットワークへの再注目
人工ニューラルネットワークは脳における神経細胞網の仕組みを模した非常に簡素なモデルであり, 学習させることで画像分類などのタスクを行うことができる. その中でも特に深い階層を持った人工ニューラルネットワーク (ディープニューラルネットワーク) を用いた機械学
習は近年多くの成果を上げ再注目されている. 再注目の要因は様々であるが, 2012 年に開催された ImageNet Large Scale Visual Recognition Challenge (ILSVRC 2012) の画像分類タスクにおいて, ディープニューラルネットワークを用いたチームが人工ニューラルネットワーク
以外の機械学習を用いたチームを大きく上回るスコアを記録した [12] ことは人工ニューラル
ネットワークの研究者以外の人にも衝撃を与えた.
人工ニューラルネットワークの応用が広がるとともに取り扱うデータの種類も多種多様になってきている. 対象とするデータが持つ性質によっては通常使われる実数の人工ニューラル
ネットワークは必ずしも適しておらず, 例えば風の速度と向きを取り扱う場合は複素数ニューラルネットワーク [4], 幾何変換を取り扱う場合は四元数ニューラルネットワーク [9] などを利用することでより良い結果を得られるとされている. しかしながら現時点では実数以外のディープニューラルネットワークに関する研究は, 実数のものと比べると盛んとは言えない.

1.2 ディープニューラルネットワークの学習
実数以外の場合も含め多層ニューラルネットワークでは, その学習に誤差逆伝播法 [1][15] が用いられる. しかしながらディープニューラルネットワークの場合, その深い構造のために誤差逆伝播法による学習は必ずしも期待通りに進まない. 入力層に近いほど伝播する誤差が指数的に減衰してしまい, 入力層に近い側のパラメータの更新が期待するほど進まなくなってしま
う勾配消失問題 [8] などが理由としてあげられている. またディープニューラルネットワークには非常に多くのパラメータが存在し, さらにそれらが出力に対して複雑に作用することから,
勾配降下法を用いる誤差逆伝播法で良い性能を持つパラメータを任意の初期パラメータから探索することは一般に困難である.

2

第1章

序論

このようにディープニューラルネットワークを誤差逆伝播法によって学習するには様々な困難が存在するものの, 適切な初期パラメータから学習を開始することで, 誤差逆伝播法によるパラメータ更新でも十分学習が進められるということが Hinton らによって発見されている[6]. 同文献において Hinton らの考案した事前学習と呼ばれる手法では, まず本来目的とする
ディープニューラルネットワークの学習の前にオートエンコーダ [7] を用いた学習を行う. そしてそのオートエンコーダの学習で得られたパラメータを, 本来目的としたディープニューラ
ルネットワークの初期パラメータとして利用するものである.

1.3 ディープニューラルネットワークのパラメータ初期化手法
事前学習は強力な手法であり広く用いられている一方で, 目的とした学習の前に別の学習を行うという性質上, 非常に多くの計算機リソースが必要になってしまうという問題が挙げられる. また, 事前学習に用いるオートエンコーダは目的とするディープニューラルネットワークと比べて浅いものを用いるなどして本来の目的のディープニューラルネットワークより学習しやすくすることが意図されているが, 隠れ層が 1 層の場合においても初期パラメータによって学習の進みに少なからず差がある [11] ということも知られている. そのため, 事前学習を速やかに行うためのオートエンコーダの初期パラメータをどう設定するかという問題も存在する.
一方 Glorot らは, ネットワーク中の人工ニューロン数によって決まるある範囲の一様分布に従って初期パラメータを生成する手法 (Xavier Initialization) によっても, 学習を大きく改善できるという実験結果を示した [3]. Xavier Initialization は計算機リソースをほとんど必要とせず, 事前学習のように別の問題が新たに出てくるということはない.
しかしながら Glorot らの研究では, 活性化関数に Rectified Linear Unit (ReLU) を用いた
場合について実験を行っておらず, Xavier Initialization の導出にあたって活性化関数に対して仮定されている性質も ReLU では成り立たない. ReLU はその特性からディープニューラル
ネットワークに適していると考えられおり [13], 実際に成果を上げている人工ニューラルネッ
トワークでも頻繁に利用されている活性化関数である.

He らはこの Xavier Initialization の問題について, Glorot らが導出において行ったものと同様の考察を ReLU について行うことで, Xavier Initialization の改善 (以下 He Initializationと呼ぶ) を提案している [5]. 同文献によると He Initialization を用いることでディープニュー
ラルネットワークの学習を大幅に改善できたとしている.

1.4 本研究の目的
今後さらにディープニューラルネットワークへの注目が高まり, 応用先も増えることが考えられる. 前述の通り, ディープニューラルネットワークの学習を進めるために事前学習
は広く使われているが, これには非常に多くの計算機リソースを要する. そのため Xavier

Initialization や He Initialization のような軽量な手法は今後さらにディープニューラルネッ
トワークの応用を進める上でも重要になると予想される.

1.4 本研究の目的

3

そこで本研究ではまず始めに, 活性化関数に ReLU を用いた多層ニューラルネットワーク
において Xavier Initialization を改善できるかについて考察し, その結果得られた手法と He

Initialization を比較する実験を行った. またそこで得た結果への考察から, He Initializationのさらなる改善を検証する実験を行った. さらに Xavier Initialization と同様の形式の初期化
手法が高次元数のニューラルネットワークでも考えられるという予想から, 高次元数のニュー
ラルネットワークでの Xavier Initialization の修正を考え, 複素数の多層ニューラルネット
ワークでその効果の検証する実験を行った.

4

第2章

先行研究
2.1 多層ニューラルネットワークの学習
2.1.1 順伝播による出力計算
隠れ層が N 層 (入力層, 出力層含めて全 N + 2 層) である多層ニューラルネットワークを考nえる. 第 n 層の第 k 番目と第 n + 1 層の第 l 番目の人工ニューロン間の結合係数を wkl, 第n

層の第 k 番目の人工ニューロンのバイアス値を bn
k , 第 n 層の活性化関数を fn と表し, 第 n 層
nの第 k 番目の人工ニューロンへの入力値を in
k , 出力値を ok とする (図 2.1). 入力層の第 k 番

目の人工ニューロンへの入力が xk であるとすると, 各入出力値は下式のように入力層側から出力層側へと伝播させることで得られる.

{
inl =

xl
∑

{
onl =

n−1 n−1k′ wk′ l ok′inlfn (inl + bnl )n=0
n = 1, 2, ..., N + 1,

(2.1)

n=0
n = 1, 2, ..., N + 1.

(2.2)

但し出力層の活性化関数 fN +1 に, 次のように定義されるソフトマックス関数を用いることも
ある.
+1
+1
exp(iN
+ bN
)
N +1
l
l
ol
=∑
.
N +1
N +1
+ bk′ )
k′ exp(ik′

(2.3)

+1
これは一つの出力値 oNを求めるために, 出力層の他の人工ニューロンの入力値とバイアスl値を用いることから式 2.2 とは異なる形式であるが, 入力層側から出力層への伝播によって出力値が求められる点は共通している.

2.1.2 誤差逆伝播法によるパラメータ更新
入力層の人工ニューロンへの各入力値 xk を並べたベクトルを x, 出力層の人工ニューロン+1の各出力値 oNを並べたベクトルを o と表す. 教師あり学習である誤差逆伝播法では, あるkx に対してのネットワークの期待出力 tk (教師信号) が与えられていることが想定されており,

2.1 多層ニューラルネットワークの学習

5

図 2.1. 多層ニューラルネットワーク

これらを並べたベクトルを t とする. このときネットワークの出力と教師信号の間の距離 e は誤差関数 E として

e = E(o; t)(2.4)と定められる. 誤差関数はいくつか考案されているが, その中でももっと基本的なものは二乗誤差関数

1∥o − t∥2 ,2
1 ∑ N +1=(o ′ − tk′ )2
2 ′ k

(2.5)

E(o; t) = −tT log o,∑+1=−
tk′ log oN
k′

(2.6)

E(o; t) =kである. また交差エントロピー関数k′も頻繁に利用される.
nと bn
誤差逆伝播法による学習では, 式 2.4 の e を最小化するようなパラメータ wkl
k を得る
n, bnk についての E の導関数を直接求めることは困難
ために勾配降下法を用いる. 一般に各 wkl

であるが, 出力層側から入力層側への誤差の伝播を考えることで比較的容易に各勾配を得るた
めの式を得る.

∑ nfn′ (ink + bnk ) ′ wkl
′

∂E
l
=
fn′ (ink + bnk ) ∂En
∂bnk
∂ok

∂E
∂bn+1
l′

n = 1, 2, ..., N
n = N + 1,

(2.7)

6

第2章

先行研究

∂E
∂E
= onk n+1 .
n
∂wkl
∂bl

(2.8)

但し出力層にソフトマックス関数を用いる場合には, 式 2.7 の n = N + 1 の部分は

∑ ∂oN′ +1 ∂E
∂E
l
=
N +1
N +1
+1
∂bk
∂bk
∂oN
l′
l′

(2.9)

となることに注意する.
実際のパラメータの更新は, 式 2.7, 2.8 によって得られた各勾配と学習係数 ζ, η (0 < ζ, η)を用いて以下のように表される.

∂E(o; t),n∂wkl

(2.10)∂E(o; t).
∂bnk

(2.11)

n
n
wkl
← wkl
−ζ

bnk ← bnk − η

学習係数 ζ, η は学習を通して固定された値を用いるのが最も基本的な方法であるが, これを学n
習の状況に応じて変更する AdaGrad[2] なども広く利用されている. t 回目の更新の際に wkl,
ntnbnk を更新するために用いる学習係数をそれぞれ ζkl, ηknt とし, t 回目の学習の wkl, bnk についntての勾配をそれぞれ unt
kl , vk とする. このとき AdaGrad を用いると,

ζ
nt
= √∑
ζkl

nt′
t′ uklηηknt = √∑
t′

nt′

unt
kl ,

(2.12)

vknt(2.13)

vkと各学習係数が定められる.

2.1.3 確率的勾配降下法
前節で求めた誤差逆伝播法によるパラメータ更新の式 2.10, 2.11 は, 1 つの入力 x に対しての出力 o が教師信号 t に近づくような方向へのパラメータ更新を表す. 一般的な応用においては複数の入力を取り扱うことになるが, この場合はバッチ学習と呼ばれる方法を用いる. これは入力それぞれに対して式 2.7, 2.8 により勾配を算出し, それら勾配の平均をパラメータ更新の勾配として式 2.10, 2.11 に用いるというものである. つまり, M 個の入力 x1 , x1 , ..., xM があり, それに対する出力と教師信号が o1 , o1 , ..., oM と t1 , t1 , ..., tM であるとして,ζ ∑ ∂E(om′ ; tm′ )
,
n
M ′
∂wkl

(2.14)η ∑ ∂E(om′ ; tm′ )
M ′
∂bnk

(2.15)

n
n
wkl
← wkl
−

m

bnk ← bnk −mというパラメータ更新を行う.

2.2 実数以外を取り扱うニューラルネットワーク

7

しかしながら現実には全データに対して式 2.14, 2.15 の計算を行うことは困難である. そのため応用においては, 全データからランダムに取り出した一部のみに対してバッチ学習 (ミニバッチ学習) を繰り返してデータ全体について最適なパラメータを探索していく. このような手法は確率的勾配降下法と呼ばれ, 人工ニューラルネットワークの学習の場合にはほぼ必ず利用される.

2.2 実数以外を取り扱うニューラルネットワーク
2.2.1 統一的表現
通常人工ニューラルネットワークでは各人工ニューロンへの入力と出力は 1 つの実数値の場合を考えることが多い. しかしながら本質的に複素数によって情報が表されるもの (信号にフーリエ変換を施したものなど) は, 各入出力が 1 つの実数値のニューラルネットワークでは期待するような結果を得にくい. そのため入出力, 結合係数, バイアス値を複素数として考える
複素数ニューラルネットワークが考案されている. また同様の拡張を四元数についても行うことで四元数ニューラルネットワークなども考案されている.
しかしながらこのような実数以外のニューラルネットワークの学習を考えるとき, 複素数や四元数上の積演算の規則は実数上の積演算の規則とは異なるため, 式 2.7 から式 2.11 の実数に対する誤差逆伝播法の表式をそのまま適用することはできない. よって複素数, 四元数などのそれぞれについての誤差逆伝播法の計算方法を考える必要があり, 多くの研究ではそれらが個別に示されていることが多い.
一方小林らの研究 [10] では, これらの様々な高次元数のニューラルネットワークの統一的な行列演算による表現を提案している. 同研究においては隠れ層が 1 層のニューラルネットワー
クについて誤差逆伝播法を考え計算方法を導出しているが, 以下ではこれを拡張し, 隠れ層がN 層である場合 (入力層, 出力層含めて全 N + 2 層) についての結果を示す.
ネットワークへの入力値, 各人工ニューロンの結合係数, バイアス値が P 次元数であるとする (複素数なら P = 2 などとなる). 第 n 層の第 k 番目と第 n + 1 層の第 l 番目の人工ニューnロンの間の結合係数の第 p 次元目の値を wklp
, 第 n 層の第 k 番目の人工ニューロンのバイア

ス値の第 p 次元目の値を bn
kp と表し, 第 n 層の第 k 番目の人工ニューロンの入力値の第 p 次元
n
目を in
kp , 出力値の第 p 次元目を okp とする. 入力層の第 k 番目の人工ニューロンへの入力の第 p 次元目を xkp と表すと, 各入出力値は下式によって得られる.

inlp ={
xlp∑

n−1 n−1k′ ,q ′ ,r ′ wk′ lq ′ ok′ r ′ spq ′ r ′{onlp =

n=0
n = 1, 2, ...., N + 1,

n=0
inlp
n
n
fn (ilp + blp ) n = 1, 2, ..., N + 1.

(2.16)(2.17)

spqr は高次元数同士の積の定義によって定まる値であり, 0 ≤ p, q, r < P , spqr ∈ {−1, 0, 1}
である. 例えば複素数 (P = 2) のニューラルネットワークでは, 各 spqr は表 2.1, 2.2 のように
なる.

8

第2章

先行研究
表 2.1. 複素数での s0qr

表 2.2. 複素数での s1qr

r=0

r=1

r=0

r=1

q=0

1

0

q=0

0

1

q=1

0

-1

q=1

1

0

表 2.3. 四元数での s0qr

表 2.4. 四元数での s1qr

r=0

r=1

r=2

r=3

r=0

r=1

r=2

r=3

q=0

1

0

0

0

q=0

0

1

0

0

q=1

0

-1

0

0

q=1

1

0

0

0

q=2

0

0

-1

0

q=2

0

0

0

1

q=3

0

0

0

-1

q=3

0

0

-1

0

表 2.5. 四元数での s2qr

表 2.6. 四元数での s3qr

r=0

r=1

r=2

r=3

r=0

r=1

r=2

r=3

q=0

0

0

1

0

q=0

0

0

0

1

q=1

0

0

0

-1

q=1

0

0

1

0

q=2

1

0

0

0

q=2

0

-1

0

0

q=3

0

1

0

0

q=3

1

0

0

0

実際に表 2.1, 2.2 の spqr を用いて式 2.16 の n ̸= 0 の部分を整理すると,

inl0 =∑n−1
n−1 n−1
wkn−1′ l0 ok ′ 0 − wk ′ l1 ok ′ 1 ,(2.18)n−1
n−1 n−1
wkn−1′ l0 ok ′ 1 + wk ′ l1 ok ′ 0(2.19)

k′inl1 =∑
k′となり, 各高次元数の第 0 次元目を実数部分, 第 1 次元目を虚数部分と見れば複素数の積を計算していると見ることができる.
また四元数 (P = 4) での各 spqr は表 2.3 から表 2.6 のようになる. 表 2.3 から表 2.6 の spqrを用いて式 2.16 の n ̸= 0 の部分を整理すれば

inl0 =∑n−1
n−1 n−1n−1 n−1n−1 n−1
wkn−1′ l0 ok ′ 0 − wk ′ l1 ok ′ 1 − wk ′ l2 ok ′ 2 − wk ′ l3 ok ′ 3 ,(2.20)n−1
n−1 n−1n−1 n−1n−1 n−1
wkn−1′ l0 ok ′ 1 + wk ′ l1 ok ′ 0 + wk ′ l2 ok ′ 3 − wk ′ l3 ok ′ 2 ,(2.21)n−1
n−1 n−1n−1 n−1n−1 n−1
wkn−1′ l0 ok ′ 2 − wk ′ l1 ok ′ 3 + wk ′ l2 ok ′ 0 + wk ′ l3 ok ′ 1 ,(2.22)n−1
n−1 n−1n−1 n−1n−1 n−1
wkn−1′ l0 ok ′ 3 + wk ′ l1 ok ′ 2 − wk ′ l2 ok ′ 1 + wk ′ l3 ok ′ 0(2.23)

k′inl1 =∑k′inl2 =∑k′inl3 =∑
k′となり, 複素数の場合と同様に, 四元数の積を計算していることが確かめられる.

2.3 ReLU

92.2.2 誤差逆伝播法
式 2.16, 2.17 に現れる各値は実数であるため, これらを用いることで高次元数での誤差逆伝播法による勾配計算は実数で導出する場合と同様にして得ることができる. その結果は次のよ
うにまとめられる.

∑∂Enfn′ (inkr + bnkr ) l′ ,p′ ,q′ wkl′ q ′ sp′ q ′ r
∂bn+1

∂E
=
f ′ (in + bn ) ∂En
∂bnkr
n
kr

l ′ p′

n = 1, 2, ..., N(2.24)
n = N + 1,

kr ∂okr∑∂E∂E=
onkr′ sp′ qr′ n+1 .
n
∂wklq
∂blp′
′ ′

(2.25)

p ,r

パラメータ更新方法や確率的勾配降下法も実数において考えた方法と同様に考えることができる.

2.3 ReLU
2.3.1 概要
Rectified Linear Unit (ReLU) は, 入力値を x, 出力値 y として, 以下のように定義される活性化関数である (グラフは図 2.2).

{
0 (x < 0)y=x (0 ≤ x).

(2.26)

この関数は数学的には微分可能ではないが, 活性化関数の文脈において導関数は

dy
=
dx

{
0
1

(x < 0)(0 ≤ x)(2.27)と定義されている.

ReLU は 0 ≤ x において線形関数になっている点でその他の多くの活性化関数とは異なっている. さらに ReLU の導関数が 0 ≤ x において定数となり, 学習が進む中でも 0 ≤ x については勾配が減衰しないため, ディープニューラルネットワークを誤差逆伝播法によって学習させるのに適していると考えられている [13]. 実際 ILSVRC 2014 において優勝したチームは活性化関数に ReLU のみを用いた畳み込みニューラルネットワークを使用しており [16], その有用性がうかがえる.

2.3.2 ReLU の改善
ReLU は x < 0 において定数 0 を返すため, 負方向の情報が完全に消失してしまうという特性がある. この点を改善するため, Maas らは文献 [14] において下式で表される Leaky ReLU

10

第 2 章 先行研究

図 2.2. ReLU

図 2.3. LReLU

図 2.4. PReLU(LReLU) を考案している (グラフは図 2.3).
{
0.01x
y=
x

(x < 0)(0 ≤ x).

(2.28)

しかしながら同文献における実験では, LReLU を用いて得られた結果は ReLU を用いた場合に比べほとんど変化がなかったとしている.
一方 He らは LReLU の考え方をさらに発展させ以下の式で表される Parametric ReLU

(PReLU)[5] を考案している (グラフは図 2.4).
{
ax (x < 0)y=x(0 ≤ x).

(2.29)

ここで a は誤差逆伝播法による学習で最適化される値とされている. 前述のように LReLU は
ほとんど性能に影響を与えなかったとされたものの, He らは研究の中で PReLU を用いることで性能が大幅に改善されたとしている.

2.4 Xavier Initialization

11

2.4 Xavier Initialization
2.4.1 概要
Glorot らは文献 [3] において, 取り扱うデータとは独立した形のパラメータ初期化手法を考えるために, 特にネットワーク初期段階での各層の入出力 in , on の分散に注目した. Glorot
らはまず, 順伝播と誤差逆伝播の過程で情報の流れを維持するため (to keep information

flowing) に, 任意の n, n′ に対して
V ar[in ] = V ar[in′ ],
V ar[

∂E
∂E
] = V ar[
]
∂bn
∂bn′

(2.30)(2.31)

が成立することが重要であるとしている. 式 2.1, 2.2, 2.7 から,∑
V ar[in+1 ] = V ar[wln′ onl′ ],l′∑wln′ fn (inl′ + bnl′ )],= V ar[(2.32)

l′

V ar[

∑
∂E
∂E
wln′ n+1 ]] = V ar[fn′ (in + bn )
∂bn
∂bl′
′

(2.33)lであり, 第 n 層の人工ニューロン数を Mn などと表すと, 分散の加法性から,

V ar[in+1 ] = Mn V ar[wn fn (in + bn )],(2.34)∂E∂E] = Mn+1 V ar[fn′ (in + bn )wn
]
∂bn
∂bn+1

(2.35)

V ar[となる. 前述のように wn は各向きに伝播する値 on , ∂b∂Eとは独立したものを考えており,
n+1
ここでは特に wn が対称的な分布を持つとする. すると

V ar[in+1 ] = Mn V ar[wn ]E[{fn (in + bn )}2 ],(2.36)∂E 2∂E] = Mn+1 V ar[wn ]E[{fn′ (in + bn )
} ].
∂bn
∂bn+1

(2.37)V ar[

また, バイアス値の初期化は bn = 0 と行うとすると,

V ar[in+1 ] = Mn V ar[wn ]E[{fn (in )}2 ],(2.38)∂E∂E 2] = Mn+1 V ar[wn ]E[{fn′ (in )
} ].
∂bn
∂bn+1

(2.39)V ar[

ここで fn が線形領域にある, つまり

fn (x) ≈ x(2.40)V ar[in+1 ] = Mn V ar[wn ]E[(in )2 ],(2.41)と考えると

12

第 2 章 先行研究

V ar[

∂E
∂E 2
] = Mn+1 V ar[wn ]E[(
) ].
∂bn
∂bn+1

(2.42)

も対称的な分布を持つことにwn が対称的な分布を持つ場合には, 式 2.1, 2.7 より, in , ∂b∂En+1
注意すれば,V ar[in+1 ] = Mn V ar[wn ]V ar[in ],
V ar[

∂E
∂E
] = Mn+1 V ar[wn ]V ar[
].
∂bn
∂bn+1

(2.43)(2.44)

よって式 2.43, 2.44 から, 式 2.30, 2.31 を満たす条件として

Mn V ar(wn ) = 1,

(2.45)

Mn+1 V ar(wn ) = 1(2.46)

nを得る. つまり式 2.45, 2.46 を満たすように各結合係数 wklを生成することで式 2.30, 2.31 が満たされ, 各方向の伝播において分散が維持されることとなる. 逆にこの条件を満たさない場
合には分散が層の数について指数的に増大または減少し, ディープニューラルネットワークの学習を阻害することになるとされている.
最終的に Glorot らは, 式 2.45, 2.46 の両者を近似的に満たすものとして次のような一様分
布によって結合係数を初期化することを提案している (初期バイアス値は全て 0).

√
wn ∼ U (−√6,
Mn + Mn+1

6).
Mn + Mn+1(2.47)

実際 Glorot らはこの初期化手法 (Xavier Initialization) を用いることで, 経験則的に知られていた初期化手法√wn ∼ U (−

1
,
Mn

√

1
)
Mn

(2.48)に比べて学習の進み方が改善したことを報告している.

Xavier Initialization は現在利用されることの多いディープニューラルネットワークのためのライブラリ Caﬀe 1.0 では標準で√wn ∼ U (−

3
,
Mn

√

3
)
Mn

(2.49)と定義されている (オプションとして指定することで式 2.47 の初期化も利用できる). これは式 2.45 のみを満たすものであるため, 厳密には Xavier Initialization ではないと考えられるが, ディープニューラルネットワークのライブラリでは Xavier Initialization は単に式 2.45,

2.46 の少なくとも一方を満たすものを指していることもある.

2.4.2 He Initialization
前節で示した Xavier Initialization の導出において活性化関数について用いた仮定 2.40 は,双曲線正接関数やソフトサイン関数などの多くの活性化関数に対して成立する. しかしながら2.4 Xavier Initialization

13

ReLU においては x < 0 についてこの仮定が成り立たない. そのため He らは活性化関数がReLU である場合には以下のようにして得られる初期化手法を用いることを提案している.
in , ∂b∂Eの分布の対称性に注意すれば
n+1
1
E[(in )2 ],2
1= V ar[in ],2(2.50)∂E 2
1∂E 2} ] = E[{
} ],
∂bn+1
2
∂bn+1
1
∂E
= V ar[]2∂bn+1(2.51)

1
Mn V ar[wn ]V ar[in ],2(2.52)

E[{fn (in )}2 ] =E[{fn′ (in )であるから式 2.38, 2.39 はV ar[in+1 ] =
V ar[

∂E
1
∂E
] = Mn+1 V ar[wn ]V ar[
]
∂bn
2
∂bn+1

(2.53)となる. よって ReLU を用いる場合には

1
Mn V ar(wn ) = 1,2

(2.54)

1
Mn+1 V ar(wn ) = 1
2(2.55)という条件が導出される. He らはこれらの条件から最終的に, 以下のような正規分布による結合係数の初期化方法を提案している (He Initialization と呼ぶ).

√
wn ∼ N (0,

2
).
Mn

(2.56)

文献 [5] における He らの実験では, ReLU を用いる場合には He Initialization を用いること
で, Xavier Initialization に比べて大幅に学習速度が改善されたということを報告している.

14

第3章

Xavier Initialization の改善
3.1 バイアス値初期化手法の検討
Xavier Initialization, He Initialization では初期バイアス値は全て 0 と設定することが提案されている. 本研究では, 初期バイアス値が全て 0 の場合以外について考察し, He

Initialization とは異なる形での, ReLU を用いる場合の Xavier Initialization の改善を試みた.
まず始めに He Initialization について定性的な考察を行う. 式 2.45, 2.46 と式 2.54, 2.55 から分かるように, He Initialization は Xavier Initialization で用いる分散の 2 倍の分散を持つ
ように結合係数を初期化している. 活性化関数が ReLU である場合には負方向の入力は出力に反映されず 0 となるため情報が半減していると考えると, He Initialization は残る半数の正方向の情報を 2 倍の分散で増幅することで情報の流れを維持していると見ることができる (図3.1, 3.2).
同様に情報の流れの観点から, 初期バイアス値が全て 0 ではない場合について, 特にその値の正負に注目して考える. bn が負であるとき, バイアス値が 0 であった場合に次層に伝播するはずであった情報も消失することとなる. このことを考えると bn が負であるのは有意義な方法ではないと予想される. 一方 bn が正である場合には, バイアス値が 0 であった場合に消失するはずだった情報をかさ上げすることとなり, 結果的に次層へより多くの情報を伝播できると予想される (図 3.3). このような考察から本研究ではバイアス値が正であるものについて考えることとした. 以下では表現の短縮のため, この方法を Xavier B+ Initialization と呼ぶ.
上述の考察で得た Xavier B+ Initialization について, 各方向への伝播における分散の変化を考える. in + bn が正となる割合によって定まる rn ( 12 ≤ rn ≤ 1) を用いると

E[{fn (in + bn )}2 ] = rn E[(in + bn )2 ],= rn {V ar[in ] + V ar[bn ] + (E[bn ])2 },E[{fn′ (in + bn )

∂E 2
∂E 2
} ] = rn E[(
) ]
∂bn+1
∂bn+1

(3.1)

(3.2)

3.1 バイアス値初期化手法の検討

図 3.1. Xavier Initialization での15

図 3.2. He Initialization での分布の変遷

分布の変遷

図 3.3. Xavier B+ Initialization での分布の変遷と表せるから, 各方向への伝播における分散はV ar[in+1 ] = rn Mn V ar[wn ]{V ar[in ] + V ar[bn ] + (E[bn ])2 },
V ar[

∂E
∂E
] = rn Mn+1 V ar[wn ]V ar[
]
∂bn
∂bn+1

(3.3)
(3.4)

という関係を持つ. ここで結合係数の初期化には式 2.45, 2.46 を満たすものを考えるので,

V ar[in+1 ] = rn {V ar[in ] + V ar[bn ] + (E[bn ])2 },
V ar[

∂E
∂E
] = rn V ar[
].
∂bn
∂bn+1

(3.5)
(3.6)

Xavier Initialization では V ar[bn ] = E[bn ] = 0, rn = 12 であるから
V ar[in+1 ] =V ar[

1V ar[in ],
2

∂E
1
∂E
] = V ar[
]
∂bn
2
∂bn+1

(3.7)
(3.8)

となることと, 12 ≤ rn ≤ 1 であることを考えると, Xavier B+ Initialization は活性化関数がReLU の場合には Xavier Initialization に比べると良い方法であると予想される. 次節以降では, 上述の考察により得た Xavier B+ Initialization の効果について実験を行った.

第 3 章 Xavier Initialization の改善

16
100

95
XavierHe
Xavier B+

XavierHe
Xavier B+
90

90
85
80
Error rate (%)

Error rate (%)

80

70

75

70
60
65
50
60

40

55
0

5000

10000

15000

20000

25000

0

Iteration times of mini-batch learning

5000

10000

15000

20000

25000

Iteration times of mini-batch learning

図 3.4. 移動平均を用いない場合

図 3.5. 移動平均を用いた場合

3.2 実験概要
Xavier B+ Initialization を検証するために, 深さと隠れ層の人工ニューロン数が異なる幾つかの多層ニューラルネットワークを用いて画像データセット CIFAR-10 に対して画像分類
タスクを実行し, その誤答率を記録する実験を行った. 各実験では共通して隠れ層の活性化関数に ReLU, 出力層の活性化関数にソフトマックス関数, 誤差関数に交差エントロピー関数を使用している. また学習についても共通し, サイズ 10 のミニバッチによる確率的勾配降下法を用いている.
本実験では, 各初期化手法ごとの誤答率の変化を比較するため, 各ミニバッチ学習を完了す
るごとにテストデータ 10000 枚の中からからランダムに 100 枚抽出した画像の分類タスクをテストとして実行した. しかしながらこのミニバッチテストは全テストデータの 1% でしかな
く, 記録される誤答率をそのままプロットすると図 3.4 のようになり, 実験の結果が読み取りにくい. そのため得られた誤答率の移動平均 (窓サイズ 300) をとったもの (図 3.5) を実験結果
として次節で示す.
パラメータ初期化手法には Xavier Initialization, He Initialization, Xavier B+ Initializa-tion の 3 つに加え, 出力層側の 5 層については Xavier B+ Initialization を用い, 残る入力層側については He Initialization を用いた混成手法 (以下表記短縮のために Joined Initializationと呼ぶ) の計 4 つを使用した. また, 本実験においては Xavier B+ Initialization を, バイアス
値を一様分布に従って生成する方法

bn ∼ U (0, 0.5)と設定している.

(3.9)

3.3 実験結果

1795
XavierHe
Xavier B+

90

85

Error rate (%)

80

75

70

65

60

55

50
0

5000

10000

15000

20000

25000

Iteration times of mini-batch learning

図 3.6. N =5, M =100

3.3 実験結果
実験結果は図 3.6 から 3.12 のようになった. 但し図のキャプションにおける N は隠れ層数,

M は隠れ層の人工ニューロン数を表す. またキャプション中に AdaGrad と表記のないものは学習係数を 0.01 に固定して実験を行っている.

3.4 考察3.4.1 隠れ層が 15 層以下の結果について
図 3.6 から図 3.8 が対応する実験結果となる. まず Xavier Initialization と He Initializationの違いに注目する. He Initialization は層数が多いときほど学習の進みが Xavier Initializationに比べて良いことがわかり, 特に学習回数 0 から 5000 程度の範囲においてその差は大きい. 一方で学習回数 20000 から 25000 程度の範囲では Xavier Initialization とほぼ同一か, それより劣る結果となっている.
次に Xavier B+ Initialization について注目する. Xavier B+ Initialization はいずれの実験においても Xavier Initialization を優る結果となっており, バイアス値の初期化手法を変更する方法によっても Xavier Initialization を改善できることが示された. 特に隠れ層が 15 層
以下においては He Initialization にも優る結果になっていることが観察された.

第 3 章 Xavier Initialization の改善

95
XavierHe
Xavier B+
90

85

Error rate (%)

80

75

70

65

60

55
0

5000

10000

15000

20000

25000

Iteration times of mini-batch learning

図 3.7. N =10, M =100

95
XavierHe
Xavier B+
90

85

80
Error rate (%)

18

75

70

65

60

55
0

5000

10000

15000

Iteration times of mini-batch learning

図 3.8. N =15, M =100

20000

25000

3.4 考察95
XavierHe
Xavier B+
Joined90

Error rate (%)

85

80

75

70

65
0

5000

10000

15000

20000

25000

Iteration times of mini-batch learning

図 3.9. N =30, M =10095
He AdaGrad
Joined AdaGrad
90

Error rate (%)

85

80

75

70

65

60
0

5000

10000

15000

Iteration times of mini-batch learning

図 3.10. N =30, M =100, AdaGrad

20000

25000

19

第 3 章 Xavier Initialization の改善

90
He
Joined8988

Error rate (%)

87

86

85

84

83

82

81
0

200

400

600

800

1000

1200

1400

1600

1800

2000

Iteration times of mini-batch learning

図 3.11. N =30, M =200

94
He
Joined9290

Error rate (%)

20

88

86

84

82

80
0

100

200

300

400

500

600

Iteration times of mini-batch learning

図 3.12. N =30, M =500

700

800

900

3.4 考察21

また He Initialization を用いた場合には初期の学習は早く進む一方, ある程度学習が進んだ
段階においては学習が進みにくくなっていることも観察される. ここまでで議論していた各方向への伝播における分散の考察は学習の初期段階における状態を想定しており, 学習がある程
度進んだ状態については同様の議論をそのまま適用できないと考えられ, 要因の分析は難しい.
そのためある程度学習が進んだ状態でどのようなことが起こっているのか調査することは今後の課題の 1 つと考えられる.

3.4.2 隠れ層が 30 層の結果について
図 3.9 から図 3.12 が対応する実験結果となる. 但し M = 200, M = 500 については, 計算機リソースの制約上他の実験結果に比べて学習回数が少ない結果となっている.
まず図 3.9 から, He らが文献 [5] において示した結果と同様に, Xavier Initialization を用い
ると全く学習が進まないという状態が観察された. He Initialization はこの場合にも学習を進めることができており, その改善の効果が確認される. 一方 Xavier B+ Initialization は, He

Initialization には劣るものの, 学習回数 5000 程度以降から学習を進めることができている.
この結果からも Xavier Initialization が He Initialization とは異なる形で改善できると示された.
前述のように隠れ層が 30 層となる場合には, Xavier B+ Initialization が He Initialization
を上回らなかったものの, 15 層以下の場合には Xavier B+ Initialization が上回る結果を得ている. そこで層数が少ない場合には Xavier B+ Initialization が優れているという予想から,先述した Joined Initialization を考え, 同様の実験を行った.

Joined Initialization と He Initialization の比較については AdaGrad を用いた場合, 隠れ層の人工ニューロン数を増大させた場合についても実験を行うことでその効果を確認した. 図

3.9 から図 3.12 から分かるように, 本実験で行った全ての場合について Joined Initialization
は He Initialization より優れた結果を示している. この結果から He Initialization はさらに改善できるのではないかと予想されるが, Xavier B+ Initialization の持つ効果について非常に定性的な分析しかできていないため, 今後さらに様々な実験と解析を行う必要があると考え
られる.

22

第4章

複素数ニューラルネットワークでのパラメータ初期化手法
4.1 Xavier Initialization の修正
先述の通り, 今後様々なデータセットへの応用から高次元数のディープニューラルネット
ワークの需要が高まることが予想され, その際には Xavier Initialization のような軽量な初期化手法は重要になると考えられる. そこでまず, 以下では Glorot らの導出に倣って高次元数における Xavier Initialization を考える.
式 2.16 より∑

V ar[in+1 ] = V ar[wkn′ q′ onk′ r′ sq′ r′ ].

(4.1)

k′ ,q ′ ,r ′第 n 層の複素ニューロン数を Mn とすれば, 分散の加法性から

V ar[in+1 ] = Mn (∑V ar[wqn′ onr′ sq′ r′ ]).

(4.2)

q ′ ,r ′ここで sq′ r′ に注目する. sq′ r′ ∈ {−1, 0, 1} であるから

V ar[in+1 ] = Mn (∑V ar[0] +q ′ ,r ′ ,sq′ r′ =0= Mn (∑∑V ar[wqn′ onr′ ] +q ′ ,r ′ ,sq′ r′ =1∑

V ar[−wqn′ onr′ ]),q ′ ,r ′ ,sq′ r′ =−1

V ar[wqn′ onr′ ]).

q ′ ,r ′ ,sq′ r′ ̸=0(4.3)
sq′ ,r′ ̸= 0 である (q ′ , r′ ) の組は各 p について共通して P 個ある (表 2.1, 表 2.2 など) ことを考えると,V ar[in+1 ] = P Mn V ar[wn on ].

(4.4)

さらにバイアス初期値は全て 0 とし, 活性化関数が線形領域にあると仮定すると

V ar[in+1 ] = P Mn V ar[wn ]V ar[in ].

(4.5)

4.2 He Initialization の修正

23

同様にして逆伝播について考えると,

V ar[

∂E
∂E
] = P Mn+1 V ar[wn ]V ar[
]
∂bn
∂bn+1

(4.6)

を得る.
最後に式 4.5, 式 4.6 の条件に合わせ, 実数における Xavier Initialization (式 2.47) を P 次
元数に合わせて修正すると,√√
wn ∼ U (−6,
P (Mn + Mn+1 )

6).
P (Mn + Mn+1 )(4.7)

以下では本実験に合わせて式 4.7 で P = 2 とした√
wn ∼ U (−√3,
Mn + Mn+1

3)
Mn + Mn+1(4.8)

を Complex Xavier Initialization と呼ぶことにする. これに合わせ, 前章で実験を行った

Xavier B+ Initialization の結合係数の初期化に Complex Xavier Initialization を用いるものを Complex Xavier B+ Initialization と呼ぶことにする. ただし本実験でも初期バイアス値の生成に式 3.9 を用いている.

4.2 He Initialization の修正
前節における Xavier Initialization の修正と同様に考えることで活性化関数に ReLU を用いる場合の初期化手法である He Initialization (式 2.56) は次のように修正される.

√
wn ∼ N (0,

2
).
P Mn

(4.9)

以下では Xavier Initializtion の場合と同様に, 式 4.9 で P = 2 とした√
wn ∼ N (0,1)
Mn(4.10)

を Complex He Initialization と呼ぶことにする. さらにこれに合わせ, 前章で実験を行った

Joined Initialization の入力層側, 出力層側をそれぞれ Complex He Initialization, Complex
Xavier B+ Initialization としたものを Complex Joined Initialization と呼ぶことにする.

4.3 実験概要
P 次元数における Xavier Initialization, He Initialization の修正 (式 4.7, 4.9) が妥当であるか検証するため, 複素ニューロンモデルから成る多層ニューラルネットワークを用いて, 画
像データセット MNIST の各画像をフーリエ変換したデータについて分類タスクを行った. 各
実験では共通して出力層の活性化関数にソフトマックス関数, 誤差関数に交差エントロピー関

24

第 4 章 複素数ニューラルネットワークでのパラメータ初期化手法

数を用い, 学習はサイズ 10 のミニバッチによる確率的勾配降下法によって行った. また各ミニ
バッチ学習が完了するたびにサイズ 100 のミニバッチテストを実行し, 誤答率の記録を行った.
本実験では先述した目的を複素数ニューラルネットワークにおいて検証するため, 隠れ層の活性化関数が双曲線正接関数の場合には初期化手法に Xavier Initialization, Complex Xavier

Initialization の計 2 つを使用し, ReLU の場合には Complex Xavier Initialization, Complex
He Initialization, Complex Xavier B+ Initialization, Complex Joined Initialization の計 4つを用いた.
また本実験では行うのは画像分類タスクであるが, 複素数ニューラルネットワークでは出力も複素数となるため, このタスクにおける教師信号や, ネットワークの出力値がどのカテゴリを指しているとみなすかということは自明ではない. そこで本実験では, 今回用いる教師信号
を t′ , 実数において用いられる教師信号を t として,

t′ = t + it

(4.11)と定め, 出力値の実数成分と複素数成分の和が最大のものをネットワークの出力したカテゴリとみなした. 本実験は各初期化手法の比較を目的としているため, このように定めても大きな問題は起きないと考えられる.

4.4 実験結果
実験結果は図 4.1 から図 4.6 のようになった. 各図は前章の実験と同様に, 得られた誤答率の移動平均 (窓サイズ 50) をとったものであり, 図のキャプションにおける N は隠れ層数, M
は隠れ層の複素ニューロン数, f は使用した隠れ層の活性化関数を表す. また図のキャプショ
ンに AdaGrad と表記のないものは学習係数を 0.01 に固定して実験を行っている.

4.5 考察4.5.1 活性化関数が双曲線正接関数の結果について
図 4.1 から図 4.4 より分かる通り, 隠れ層の活性化関数が双曲線正接関数を用いた場合にはComplex Xavier Initialization が Xavier Initialization よりも優れた結果となり, 高次元数に合わせた修正式 4.7 は適切な修正であったと考えられる. また深いほど Xavier Initializationと Complex Xavier Initialization の間に差が表れていることも図 4.1 から図 4.3 より読み取ることができ, 今後需要が増えると考えられるディープニューラルネットワークの初期化手法
として非常に有用であると考えられる.
図 4.7 は, AdaGrad を用いるかどうか以外は共通の条件であるときの結果 (図 4.3 と図 4.5)
を一つにまとめたものである. 図 4.7 を見ると, Complex Xavier Initialization によって初期化することで AdaGrad を 用いた Xavier Initialization と同程度の結果を最終的に得られている. 図 4.7 の結果はミニバッチ学習回数が 300 回のものであるため, 300 回以上については AdaGrad を用いた Xavier Initialization が優ると予想されるものの, 少なくとも複素数の

4.5 考察90
XavierComplex Xavier
80

Error rate (%)

70

60

50

40

30

20
0

50

100

150

200

250

300

Iteration times of mini-batch learning

図 4.1. N = 10, M =100, f =双曲線正接関数

90
XavierComplex Xavier
80

Error rate (%)

70

60

50

40

30

20
0

50

100

150

200

Iteration times of mini-batch learning

図 4.2. N = 20, M =100, f =双曲線正接関数

250

300

25

第 4 章 複素数ニューラルネットワークでのパラメータ初期化手法

90
XavierComplex Xavier
80

Error rate (%)

70

60

50

40

30
0

50

100

150

200

250

300

Iteration times of mini-batch learning

図 4.3. N = 30, M =100, f =双曲線正接関数

100
XavierComplex Xavier
9080

Error rate (%)

26

70

60

50

40

30
0

50

100

150

200

Iteration times of mini-batch learning

図 4.4. N = 30, M =200, f =双曲線正接関数

250

300

4.5 考察100
Xavier AdaGrad
Complex Xavier AdaGrad
9080

Error rate (%)

70

60

50

40

30

20
0

50

100

150

200

250

300

Iteration times of mini-batch learning

図 4.5. N = 30, M =100, f =双曲線正接関数, AdaGrad

100
Complex Xavier
Complex Xavier B+
Complex He
Complex Joined90

Error rate (%)

80

70

60

50

40

30
0

100

200

300

400

500

600

700

Iteration times of mini-batch learning

図 4.6. N = 30, M =100, f =ReLU

800

900

1000

27

28

第 4 章 複素数ニューラルネットワークでのパラメータ初期化手法
100
XavierComplex Xavier
Xavier AdaGrad
Complex Xavier AdaGrad

9080

Error rate (%)

70

60

50

40

30

20
0

50

100

150

200

250

300

Iteration times of mini-batch learning

図 4.7. 図 4.3 と図 4.5 をまとめた図

ニューラルネットワークにおいても初期パラメータの設定手法がその後の学習で大きな差を生むことが確認される.

4.5.2 活性化関数が ReLU の結果について
隠れ層の活性化関数 を ReLU とした 場合の 結果 の図 4.6 では, まず Complex Xavier

Initialization による初期化では学習を進めることができていないことが観察される. その一
方 Complex He Initialization は学習を進めることができており, 前章で行った実数での実験
結果 (図 3.9) と同様の結果となっている. このことから He Initialization の考え方は複素数のニューラルネットワークにおいても有効であるということが示される. さらに高次元数に合わせた He Initialization の修正式 4.9 は適切な修正であったと考えられる.
次に Complex Xavier B+ Initialization について見ると, 実数での実験結果の図 3.9 とは異なり, 実験を行った範囲では学習を進めることができていない. しかしながら Complex Joined

Xavier Initialization は Complex He Initialization よりも優れた結果を出していることに加え, 前章で行った実数での実験結果においてもミニバッチ学習回数が 5000 回程度までは学習が進んでいないことを考えると, ミニバッチ学習回数を増やして実験を行うことで Complex

Xavier Initialization と Complex Xavier B+ Initialization の間に差が現れることが予想される.

Complex Joined Xavier Initialization について観察すると, この方法が隠れ層が 30 層の4.5 考察29

ディープニューラルネットワークにおいて最も優れた初期化方法になっていることが分かる.
本実験では計算機リソースの制約からミニバッチ学習を 1000 回までしか行うことができなかったものの, 前章で行った実数での実験 (図 3.9) と同様の結果となっており, ミニバッチ学
習回数が 1000 回以上においても Complex He Initialization よりも優れた結果となることが予想される.

4.5.3 今後の課題
本実験では適切なデータセットの不足から, 高次元数の一つとして P = 2 の複素数についてのみでしか実験を行うことができていない. 四元数のニューラルネットワークにおいても式

4.7, 4.9 の導出は同様にできるため, 式 4.7, 4.9 の効果は期待できると考えられるが, 今後四元数として表現されることに適したデータセットを用いて実験的に確認することは重要な課題であると言える.

30

第5章

結論
本研究ではまず活性化関数に ReLU を用いた多層ニューラルネットワークについて, 定
性的な考察から He Initialization とは異なる形で Xavier Initialization の改善 (Xavier B+

Initialization) を行った. また He Initialization と Xavier B+ Initialization の比較実験の結果を考察することで, He Initialization をさらに改善できる (Joined Initialization) 可能性を示すことができた.
しかしながら本研究で考えた Xavier Initialization の改善には He らが導出したような明快な数式を与えることができていない. それゆえ本研究中の実験で用いた Xavier B+

Initialization の数値設定 (式 3.9) などが最適であるのか, 本研究で実験した構造以外の人工ニューラルネットワークでどのような結果になるのかなど, 多くの疑問が残る形になっており,
今後さらに様々な検証実験, 理論研究を行う必要があると考えられる.
また本研究では, 高次元数のニューラルネットワークでの Xavier Initialization の修正を理論的に導出し, 実験によりこの修正の妥当性を確認した. 実験的には複素数についてのみで検証を行っているものの, 四元数でも本研究の修正提案は有効である可能性が高いと考えられる.
本研究で行った複素数のニューラルネットワークに関する研究はパラメータ初期化手法についてのみであるが, そこで得られた結果は実数で行った場合と類似したものとなっている. このことは既存の実数のディープニューラルネットワークに関する研究成果が高次元数においても同様に利用できる可能性を示唆していると考えられる. 本研究では既に実数として存在している画像データセット MNIST の各画像をフーリエ変換によって複素数で表すことで実験を行ったが, 応用においては得られているデータが複素数などの高次元数であることも少なくな
い. 特にこのような高次元数データセットに対して, ディープニューラルネットワークの利用がさらに広がることが期待される.
以上のように本研究では実数以外のディープニューラルネットワークも含めて各初期化手法ごとの学習の進み方を比較し, 改善を行った. しかしながら本研究で用いた全結合型の多層ニューラルネットワークの学習によって得られた最終的な分類性能は, 事前学習をした場合や畳み込みニューラルネットワークによる場合に比べれば大きく劣るものにしかならなかった.
その一方で Xavier Initialization や He Initialization は全結合型での考察から始まり, 現在畳み込みニューラルネットワークのパラメータ初期化にも大きく貢献していることなどを考える31と, 本研究での提案手法を畳み込みニューラルネットワークに適用することでさらなる改善が行える可能性があると考えられる.

32

謝辞
テーマの決定からその後の研究の方向性, 卒業論文の執筆にあたって注意する点, 意識すべき点などについてアドバイスをくださった合原一幸教授, 先行研究に関する情報から発表資料の改善へのアドバイス, 発表練習にお付き合い頂くなど多岐にわたるご指導くださった奥助教と藤居技術専門職員に深く感謝の意を表します.

33

参考文献
[1] Amari, Shunichi “A theory of adaptive pattern classifiers” IEEE Transactions on Electronic Computers, 16(3) 1967: 299–307[2] Duchi, John, Elad Hazan, and Yoram Singer. “Adaptive subgradient methods foronline learning and stochastic optimization.” The Journal of Machine Learning Research
12 2011: 2121–2159.
[3] Glorot, Xavier, and Yoshua Bengio “Understanding the diﬃculty of training deep feedforward neural networks” International conference on artificial intelligence and statistics
2010[4] Goh, S. L., et al. “Complex-valued forecasting of wind profile.” Renewable Energy
31.11 (2006): 1733-1750.
[5] He, Kaiming, et al. “Delving deep into rectifiers: Surpassing human-level performanceon ImageNet classification.” arXiv preprint arXiv:1502.01852 2015.
[6] Hinton, Geoﬀrey E, Simon Osindero, and Yee-Whye Teh “A fast learning algorithm
for deep belief nets” Neural computation 187 2006: 1527-1554[7] Hinton, Geoﬀrey E, and Ruslan R Salakhutdinov “Reducing the dimensionality of datawith neural networks” Science 313(5786) 2006: 504–507[8] Hochreiter, Sepp, et al. “Gradient flow in recurrent nets: the diﬃculty of learning
long-term dependencies.” 2001.
[9] Isokawa, Teijiro, et al. “Quaternion neural network and its application” KnowledgeBased Intelligent Information and Engineering Systems Springer Berlin Heidelberg,
2003[10] Kobayashi, Masaki, Jun Muramatsu, and Haruaki Yamazaki “Construction of high‐ dimensional neural networks by linear connections of matrices” Electronics and Com-

munications in Japan Part III: Fundamental Electronic Science 86(11) 2003: 38–45[11] Kolen, Hohn F, and Jordan B Pollack, Jordan B “Backpropagation is sensitive toinitial conditions” Complex Systems 4 1990: 269–280[12] Krizhevsky, Alex, Ilya Sutskever, and Geoﬀrey E Hinton “ImageNet classification
with deep convolutional neural networks” Advances in neural information processing
systems 2012

34

参考文献

[13] LeCun, Yann, Yoshua Bengio, and Geoﬀrey Hinton. “Deep learning.” Nature 521.7553(2015): 436-444.
[14] Maas, Andrew L, Awni Y Hannun, and Andrew Y Ng. “Rectifier nonlinearities improve neural network acoustic models.” Proc. ICML. Vol. 30. 2013.
[15] Rumelhart, David E, Geoﬀrey E Hinton, and Ronald J Williams “Learning representations by back-propagating errors” Cognitive modeling 5 1988: 3[16] Simonyan, Karen, and Andrew Zisserman. “Very deep convolutional networks forlarge-scale image recognition.” arXiv preprint arXiv:1409.1556 2014.