社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS

信学技報
TECHNICAL REPORT OF IEICE.

数学的観点より BP 法に従った CNN テンプレート設計に関する研究
那賀川雅†

上手洋子†

西尾芳文†

† 徳島大学工学部 〒 770–8506 徳島県徳島市南常三島町 2-1
E-mail: †{miyabi, uwate, nishio}@ee.tokushima-u.ac.jp
あらまし

我々はこれまでの研究で，バックプロパゲーション (Back Propagation: BP) を用いたセルラニューラルネットワーク (Cellular Neural Networks: CNN) のテンプレート設計を提案した．本提案手法では，設計されたテンプレートによって出力された画像と教師画像との平均誤差を用いてテンプレートを更新することで，学習を行う．本
研究では，提案手法を BP の手順に従い数学的観点より検討した．そして一次元グレースケール画像を用いパラメータを変えたときの，提案手法の性能調査を行う．
キーワード

セルラニューラルネットワーク，バックプロパゲーション

CNN Template Design that Obeyed BP Methodfrom a Mathematical Point of View
Masashi NAKAGAWA† , Yoko UWATE† , and Yoshifumi NISHIO†† Department of Electrical and Electronic Engineering, Tokushima University
2-1 Minami-Josanjima, Tokushimashi, Tokushima, 770-8506, Japan
E-mail: †{miyabi, uwate, nishio}@ee.tokushima-u.ac.jp
Abstract In previous study, we have proposed template design method of cellular neural networks with backpropagation algorithm. In this proposed method, template learns by using the average error which corresponds tothe diﬀerence between the outputted image produced by the designed template and the teacher image. However, wehave proposed adding annealing noise in order to obtain the optimal solution, we have not obtain better results. In
this study, we reexamine previous method according to original back propagation algorithm from a mathematicalpoint of view. And, we test the accuracy of reexamination method by changing parameters with one dimension grayscale images.
Key words Cellular Neural Networks, Back Propagation Algorithm

1. は じ め にして Genetic Algorithm(GA)[5] などが有名である．
これまでの研究において，私たちは CNN のテンプレート学

セルラニューラルネットワーク (Cellular Neural Networks:

習にバックプロパゲーションアルゴリズム (Back PropagationCNN)[1] は 1988 年に L.O.Chua らによって開発された．CNNAlgorithm: BP) を用いたものを提案し，その精度を評価したはセルラオートマトンの構造とニューラルネットワークを元に[6]．BP は階層型ニューラルネットワークに用いられる学習ア考えられている．CNN は従来のニューラルネットワークとはルゴリズムの一つである [7]．これまでの研究では，出力画像異なり，局所的結合の特性を持つため LSI 化に適しており，まと教師画像との誤差から BP を用いることで動的に CNN のテ

た CNN の構造が動物の網膜の構造に類似しているため，様々ンプレートの更新を行なった．その結果，2 値化画像を用いたな画像処理 [2]-[4] を行うのに適している．

例において，教師画像を出力できるテンプレートを設計するこCNN における各セルの関係性はテンプレートと呼ばれるパとができた．しかしながら，これらに用いられた手法は私たちラメータによって確立される．テンプレートは CNN においてが従来の BP の形を模倣し当てはめた手法であったため，2 値最も重要なパラメータである．なぜなら CNN の振る舞いはテ化画像に対応することはできてもグレースケールまでは対応しンプレートによって決められるからである．従って，いくつかきれない結果となった．そこで，本研究では従来の手法を BPのテンプレート学習というものも提案されており，その代表との数学的な手順に従い，再検討を行うことでより良い結果を得—1—られるかどうかを試行した．なお，本研究では一次元グレース

k−1,k
ここで wi,j
は k − 1 層目の i 番目のニューロンと k 層目ケール画像を用い，パラメータを変化させることで提案手法のの j 番目のニューロンの間にある結合荷重を，m は学習回数精度を試した．

を，そして η は学習率と呼ばれるパラメータをそれぞれ示して2. セルラニューラルネットワーク

いる．

本章では，CNN の基本的な構造について説明する．CNN は教師信号へと近づけている．

このように，BP は結合荷重を変化させることで出力信号をM×N 行列のセルと呼ばれるユニットを持った回路である．あるセルを C(i, j) と示す．この時，i は縦位置における変数で，4. 提 案 手 法

j は横位置における変数である．またそれぞれのセルは近傍の本章では，提案手法である BP を用いたテンプレート学習にセルと繋がっており，テンプレートに従って変化する．一般に，ついて説明する．私たちのテンプレート学習方法は，BP アルテンプレートは境界のセルを除いた全てのセルに適応される．

ゴリズムの動的で柔軟な点を元に考えられている．BP ニュー

また CNN は時間の連続性，非線形性，並列処理能力の特徴をラルネットワークでは，出力と教師信号の間にある誤差を用い持っている．てパラメータを変化させることで出力信号を教師信号へと近づ

CNN には処理を決める重要な 2 式から構成されており，状けている．この学習方法から，本提案手法では CNN のテンプ態方程式と出力方程式と呼ぶ．それらを以下に示す．

レートを出力画像と教師画像の誤差を用いて変化させることで状態方程式：

教師画像を得られる．また，本提案手法におけるテンプレート

dvxij (t)= −vxij (t) +dti+r
∑

+i+r
∑

∑

は常に学習し続けているため動的であるといえる．

j+r

A(i,j;k,l) vykl (t)以下，学習方法について説明する．

k=i−r k=j−rj+r∑

4. 1 提 案 手 法
B(i,j;k,l) vukl (t) + I,(1)

k=i−r k=j−r

出力方程式：

vyij (t) =これまでの研究において，私たちはいくつかの学習手法について述べてきた [9]．しかしながら，それぞれの学習手法はオリジナルの BP アルゴリズムを模倣したにすぎないものであっ1(|vxij + 1| − |vxij − 1|),
2

(2)

た．本章では，そのオリジナル BP の数学的な展開に従うことでこれまでの提案手法を再検討し直す．

ここで，vx ，vy ，vu はそれぞれセルの状態と出力，そして初期の入力を示す変数である．式 (1) において，A，B ，I をテンプレートと呼び，A にはフィードバックテンプレート，B にはコントロールテンプレート，I にはバイアスという名前がそれぞれ付いている．このテンプレートの値により，CNN の振る舞いが決定される．

4. 1. 1 オリジナル BP アルゴリズム
ニューラルネットワークにおいて，理想の信号を得るための結合荷重は以下の式を用いることで調整される．

∆p wji ∝ −

∂Ep,
∂eji

(5)

そして，式 (5) は以下のように分解される．

3. バックプロパゲーション∂Ep∂Ep ∂netpj=,∂wji∂netpj ∂wji

(6)

BP はフィードフォワードネットワークにおける最も有名な学習方法の一つである．BP は出力信号と教師信号の間の誤差(netpj =を用いて学習を行う．ネットワークにおける合計の誤差 E は以下の式で定義される．
{ N}
PP∑
∑1∑2
E=
Ep =(tpi − opi ) ,
2 i=1
p=1
p=1

∑wji opi ),(7)i

次に，式 (6) における微分方程式の右側の部分は，以下の式の(3)

ここで P は入力データの数，N は出力層におけるニューロンの数，tpi は p 番目の入力データに対する教師データ，そして opi は p 番目の入力データに対する出力データを示している．
学習の最終目標は誤差 E が最小となるようなネットワークのすべての層の間にある結合荷重 w を見つけ出すことである．Eように計算される．

∂netpj∂ ∑=wjk opk = opi ,∂wji∂wji(8)k

そして，誤差の方向性 δpj は以下の式で定義される．

δpj = −∂Ep,∂netpj(9)

まとめると，結合荷重は以下の式に従って調整される．

を最小とするためには，以下の式を用いて結合荷重を調整して∆p wji = ηδpj opi ,やる必要がある．
k−1,kk−1,kwi,j(m + 1) = wi,j(m) +P∑

4. 1. 2 出力方程式の近似

k−1,kδp wi,j(m),はじめに，私たちは CNN における出力方程式を部分ごと

p=1
k−1,k
δp wi,j(m) = −η∂Ep,k−1,k∂wi,j(10)(4)に分解，近似する．CNN の出力方程式は以下のように定義される．

—2—vyp =1(|vxp + 1| − |vxp − 1|),2(11)この式からわかるように，CNN の出力方程式は区分線形関数∂vxp∂ 2 vxp=−+ vyp ,∂Ap∂t × ∂Ap(19)∂ 2 vxであるため微分をすることができない．ニューラルネットワー

この時，− ∂t×∂App は極微小であるといえる．そのため，このクにおいては微分によって求められた傾きが 0 になるように結− ∂t×∂App は 0 とみなすことができる．以上をまとめるとテン合荷重を調整し解を求めていたが，本研究における CNN の出

プレート A のとき，力方程式は微分不可能であるため，以下の 3 つの部分に分けることで微分可能と不可能の部分を得て学習を行う．

Part 1 : vx <= −1 のとき，vy = −1
Part 2 : 1 <= vx のとき，vy = 1∂ 2 vx∂vxp= vyp ,
∂Ap
同様にテンプレート B のとき，Part 3 : −1 <= vx <= 1 のとき，vy = vx
これら 3 つの部分の中で特に私たちが注目したのは Part 3 の部分である．なぜなら，3 つの部分の中で唯一微分ができる部分であり，vx と vy の値が y = x の式に従って変化するためである．よって，私たちはこの部分は他の部分よりもテンプレー
ト学習においてより重要であると考え，以下に示す式変形にお∂vxp= v up ,∂Bp

4. 1. 3 オリジナル BP に従った式変形
はじめに，私たちは CNN のテンプレート A と B をニューラルネットワークにおける結合荷重，つまり変数とみなすことで式変形を進める．式変形の手順はテンプレート A も B も同様であるため，今回はテンプレート A について行う．

(12)

まず，式 (12) における 1 つめの微分は以下の式のように計算(21)と示すことができる．これらすべてをまとめると，テンプレー
ト A と B におけるそれぞれの誤差は以下の式で示すことができる．

∆Ap = −

∂Ep= η × (tp − op ) × vyp ,
∂Ap

(22)

∆Bp = −∂Ep= η × (tp − op ) × vup .
∂Bp(23)

いてこの部分を出力部分と特に考える．

∂Ep∂Ep ∂vxp
∆Ap = −=−,
∂Ap
∂vxp ∂Ap(20)4. 1. 4 テンプレートの要素ごとにおける更新本研究では，1 次元グレースケール画像を用いているため，テンプレートの要素は以下のように示される．
[]
A a21 1 a23 ,[]B b21 b22 b23 ,される．

δp = −∂Ep∂Ep ∂vyp=−,∂vxp∂vyp ∂vxp

テンプレートは，とあるピクセルの近傍ピクセルに対する影響(13)度を示す役割がある．すなわち，a21 と b21 はとあるピクセルの左側に対する影響度を，a22 と b22 はとあるピクセル自身にそして式 (13) におけるそれぞれの微分は以下のように計算される．

対する影響度を，a23 と b23 はとあるピクセルの右側に対する影響度をそれぞれ示している．

∂Ep= −(tp − op ),∂vyp(14)∂vyp= 1,
∂vxp

(15)

具体的に例を示すと，とある 1 次元 10 ピクセルの画像を用いて処理を行うとすると，a21 と b21 は 0 番目から 9 番目のピクセルに対して影響を与え，a22 と b22 は 1 番目から 10 番目のピクセルに，a23 と b23 は 2 番目から 11 番目のピクセルにそれぞれ影響を与える役割がある．この時，0 番目と 11 番目は実際

ここまでをまとめると，

δp = −∂Ep= (tp − op ) × 1,
∂vxpに処理される画像の 1 つ外側にある仮近傍を示している．

(16)

すなわち，テンプレートの要素が更新される場合，a21 と b21には 0 番目から 9 番目の平均誤差を加え，b22 には 1 番目からと変形することができる．

10 番目の平均誤差を，a23 と b23 には 2 番目から 11 番目の平次に，式 (12) における 2 つめの微分は以下にように式変形均誤差をそれぞれ加える必要がある．そして，テンプレートのされる．この時，まず私たちは CNN の状態方程式について考安定条件 (対称性) を保つために a21 と a23 には a21 と a23 のえる．

平均誤差が加えられる．

∂vxp= −vxp + Σ(Avyp ) + Σ(Bvup ) + I,∂t(17)

以上をまとめると，まずそれぞれの要素に対する平均誤差は以下のように示され，

式 (17) における要素を交換すると以下のように示される．

vxp = −∂vxp+ Σ(Avyp ) + Σ(Bvup ) + I,∂t(18)

そして式 (18) をテンプレート A または B で微分すると以下のように示される．

—3—

1 ∑
∆Ap ,
N p=0
N −1

∆a21 =∆a23 =1 ∑
∆Ap ,
N p=2

∆b21 =1 ∑∆Bp ,N p=0

表 1 パラメータ
パラメータ

N +1

刻み幅0.010.1
1N +1∆b22 =値0.001

繰り返し最大数

10100N∑

ピクセル数

1
∆Bp ,
N p=1400.10.25

1 ∑
∆Bp ,
∆b23 =N p=2
N +10.5(24)
学習率 η1

テンプレート A に関しては対称性を保つために以下の更新式

3を用い，
U pdated

ACurrent

[= A

[+ ∆A

∆a5]
a210a23]∆a ,0.75

バイアス I1(25)-1“刻み幅” と “繰り返し最大数” はルンゲクッタ法におけるパラメータである．

∆a =∆a21 + ∆a23,2(26)

テンプレート B にはそのままそれぞれの平均誤差が加えられる．
[]
B U pdated = B Current b21 b22 b23[]+ ∆B ∆b21 ∆b22 ∆b23 ,(27)こうしてテンプレート学習が進められる．

4. 1. 5 学習方法の改善
本研究において提案された手法では，私たちは学習手順の定義を変更した．CNN において，私たちは微分方程式を近似するためにルンゲクッタ法を用いている．そのルンゲクッタ法における刻み幅ごとに画像が処理されることに注目し，1 刻み幅分の処理を 1 回の学習と定義する．まとめると，学習手順は以下のようになる．

Step 1 : ある画像を入力
Step 2 : 最初の刻み幅で画像が CNN 処理
Step 3 : 最初の刻み幅での処理後，処理されている途中の画像を理想の画像と比較

Step 4 : 誤差を計算
Step 5 : テンプレートの更新
Step 6 : 更新されたテンプレートを用いて次の刻み幅で CNN処理

Step 7 : Step 2 から Step 6 を最大繰り返し数に到達するまで繰り返す
この手法はより動的にテンプレート更新を行うことができる．
すなわち，処理されている途中の現在の画像と理想の画像を比較することができるため，よりリアルタイムに処理を行うことができるといえる．

本研究では，ルンゲクッタ法における 1 刻みが 1 回の学習であるため，“学習回数” というパラメータはない．つまり，学習回数を刻み幅ごとの処理回数とみなしている．そして，本研究では全体の刻み回数，つまり CNN の処理回数であり学習回数を 1000 回と設定する．具体的に言うと，3 つの学習パターンを準備する．

Pattern 1 : 刻み幅：0.001, 繰り返し最大数：1
Pattern 2 : 刻み幅：0.01, 繰り返し最大数：10
Pattern 3 : 刻み幅：0.1, 繰り返し最大数：100
それぞれの処理パターンは異なるが，これらの合計繰り返し回数はすべて 1000 回であるといえる．
加えて，7 つの学習率パターンを準備する．一般的なニューラルネットワークにおいて，学習率は 0 から 1 の範囲で設定される．しかしながら，本手法における刻み幅は細かな値である
ため，より大きな学習率でのシミュレーションも確認するため

3 と 5 を準備した．
以上の設定でシミュレーションを実行する．これらのパラメータを用いた学習の後，21 種類の学習テンプレートを得ることができる．そして評価のために，入力画像とはまったく異なる 10 種類の入力画像を準備し，それらに対して 21 種類の学習テンプレートを用いて CNN 処理を行う．なお，入力画像のピクセルはランダムに決められたものを用いる．CNN 処理後，1つのテンプレートに対し 10 種類の出力画像を得られる．その出力画像に対応した理想の画像との誤差を求め，10 種類の画像分の平均誤差をテンプレートの精度と設定した．また，誤差の求め方は理想の画像のピクセルと完全に一致しているか否かで判断した．

5. 2 グレースケール画像
本研究では処理対象として 1 次元グレースケール画像を用い5. シミュレーション結果ている．ピクセル数は 40，ピクセルの値は-1 から 1 の範囲で5. 1 学習に使われたパラメータランダムに決定される．

本研究において用いられたパラメータを表 1 に示す．

本研究では，教師画像として入力画像にエッジ検出テンプ—4—レートを適用し CNN 処理したものを利用する．今回は 10 個31
Step size : 0.001
Step size : 0.01
Step size : 0.1の入力画像とそれに対応した教師画像を用いる．入力画像と教30

師画像の一例を図 1 と図 2 に示す．
29

入力画像：
Error [%]

28

図1 入力画像

教師画像：

272625

図2 教師画像245. 3 シミュレーション結果

2300.20.4

0.60.8

1

Learning rate

表 2 に学習の平均誤差を示す．

図 4 学習率と誤差 (図 3 の拡大図)
表2 平均誤差
平均誤差 [%]
刻み幅0.01

230.1

25.25 28.75

本研究では，オリジナルの BP アルゴリズムに従って提案手0.25 23.25 28.75 29.25

法の再検討を行い，いくつかの条件下においてシミュレーショ

0.524.53130.5ンを行った．より動的なテンプレートを学習を目標にした結果，0.752530.2529

刻み幅が細かく学習率も小さな方が良い結果がでやすい傾向を

123.529.75

31327.529.75

29.5

528.5

30290.1

学習率 η

6. ま と め0.001得ることができた．この結果はさらに発展させた複雑な条件下の入力画像や教師画像の組み合わせや，グレースケール画像などにも利用出来ると考えられる．最後に，今回の評価方法としまた，誤差曲線を図 3 に示す．3 つの誤差曲線はそれぞれのて教師画像と出力画像の完全一致か否かを評価としたため，従パターンにおける誤差を示しており，横軸は学習率，縦軸は誤来の誤差評価とは異なる結果が出ている可能性がある．CNN差を示している．

処理において少々のピクセル誤差は無視できるためである．改善点として，評価方法をもう少し寛容にすること，BP におい

31て懸念される局所解への対策を考えていきたい．また，2 次元

Step size : 0.001
Step size : 0.01
Step size : 0.130画像へと拡張しその精度を調査していきたい．
文

29Error [%]28272625242300.5

11.5

図322.5
Learning rate

33.544.55

学習率と誤差そして，図 3 の学習率が 0 から 1 の範囲において拡大したものを図 4 に示す．
まず，刻み幅と学習率が大きくなればなるほど，誤差が大きくなることがわかる．この結果から，学習率を小さくし，刻み幅を小さくすることで画像を細かく処理することができ，より良い結果を得られるのではないかと考える．それゆえ，CNNがより動的に学習する条件への推察へとつながると考えられる．
そして，刻み幅が 0.001 で学習率が 0 から 1 の範囲においてはこれらの中でも特に良い結果を得られていることがわかる．この結果からも細かくより動的にするほど良い結果がでやすい傾向にあると考えられる．

献[1] L.O. Chua and L. Yang, “Cellular Neural Networks: Theory,” IEEE Trans. Circuits Syst., vol. 32, pp. 1257-1272,Oct. 1988.
[2] F. Dirk and T. Ronald, “Coding of Binary Image Data using
Cellular Neural Networks and Iterative Annealing,” Proc. ofECCTD’03, vol. 1, pp. 229-232, Sep. 2003.
[3] M. Namba and Z. Zhang, “Cellular Neural Network for
Associative Memory and Its Application to Braille Image
Recognition,” Proc. of IJCNN’06, pp. 4716-4721, Jul. 2006.
[4] H. Koeppl and L.O. Chua, “An Adaptive Cellular Nonlinear Network and its Application,” Proc. of NOLTA’07, pp.
15-18, Sep. 2007.
[5] T. Kozek, T. Roska and L.O. Chua, “Genetic Algorithm for
CNN Template Learning,” IEEE Trans. Circuits Syst., vol.
40, pp. 392-401, Jun. 1993.
[6] M. Nakagawa, T. Inoue and Y. Nishio, “CNN Template Design Using Back Propagation Algorithm,” Proc. ofCNNA’10, pp. 47-51, Feb. 2010.
[7] D.E. Rumelhart, G.E. Hinton and R.J. Williams, “Learning Internal Representations by Error Propagation,” Parallel Distributed Processing, vol. 1, pp. 318-362, 1986.
[8] S.Kirkpatrick, C.D.Gelatt and M.P.Vecchi, “Optimization
by simulated annealing,” Science, vol. 220, pp. 671-680,
1983.
[9] 那賀川 雅，上手 洋子，西尾芳文，“アニーリングノイズを利用した BP による CNN テンプレート設計，” 電子情報通信学会 非線形問題研究会 & 回路とシステム研究会 技術報告, no.
NLP2010-67 & CAS2010-51, pp. 93-98, Aug. 2010.

—5—