• 検索結果がありません。

MATLABに関する技術の修得III 利用統計を見る

N/A
N/A
Protected

Academic year: 2021

シェア "MATLABに関する技術の修得III 利用統計を見る"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

MATLABに関する技術の修得III

著者

林 庄司

雑誌名

技術報告集

5 (1999年度)

ページ

41-46

発行年

2000-04

URL

http://hdl.handle.net/10098/7561

(2)

MATLAB に関する技術の修得皿

第三技術室システム制御技術班 林庄司

1.はじめに

MATLAB は 1 980 年 Moler博士によって開発された.最初は Fortran言語を知らない人でも 行列計算が対話的にできるようにという目的でMA

T

L

A

B

(

M

a

t

r

i

x

Laboratory) という言語を For tran言語を用いて開発された.

1

985 年に MATLAB を C 言語化し,機能と品質を大幅にアップ して製品化され,工学の分野では圧倒的な顧客を得た.現在第 4 世代言語とよばれているコンビュー タ言語に分類されている.

MATLAB の特徴には物理現象および社会現象の記述が簡単にできる,対話的に使え,行列につ いては他に類をみない処理が可能などがある 1)

今回の研修では MATLAB の機能が多くある中で, MATLAB 拡張ソフトである Toolbox 内の

N

e

u

r

a

l

_

N

e

t

w

o

r

k

T

o

o

l

b

o

x

と SIMULINK 内の Neural_Network 4) を用いて,その基本的な使い方 の修得を行った. またそれらを用いて,簡単な非線形制御問題を解く技術を修得でたので報告する.

2. システム構成と MATLAM言語

2. 1

システム構成

MATLAB としては, Windows版 MATLAB5.3 を用い,パーソナノレコンピュータ (V650JD4 飯山電機)に インストーノレして行った MATLAB ソフトとしてインストールされているものは,

T

a

b

l

e

2

.

1 に示す 通りである.行列計算,簡単な信号処理から SIMULINK ,

Control_System

,

N

e

u

r

a

l

_

N

e

t

w

o

r

k

Toolbox な

ど制御問題を解くのに便利なツールやイメージ画像の作成など幅広いツールが備えられている. また MATLAB を使用するための基本的なコマンド,計算などに用いるための演算子,特殊文字に ついては前々回の報告 rUNIX の MATLAB に関する技術の修得 j 福井大学技術報告集 Vo13 , 59-64

(

1

9

9

T

a

b

l

e

2.1

MATLAB ソフト一覧 名 称 内 谷~・

M

A

T

L

A

B

数学的計算,工学的計算をするための行列に基づいたシステムで,対 話的に物理現象および社会現象を扱う.

S

I

M

U

L

I

N

K

動的な系をシミュレートするための対話型システムで,線形,非線形, 連続型,離散型,多変量の系を扱う.

S

I

M

U

L

I

N

K

A

c

c

e

l

e

r

a

t

o

r

SIMULINK 用アクセラレータ.

C

o

n

t

r

o

l

T

o

o

l

b

o

x

制御工学ならびにシステム理論によるモデリングの解析,設計を扱う.

I

d

e

n

t

i

f

i

c

a

t

i

o

n

T

o

o

l

b

o

x

システム同定のためのシミュレーションツール.

S

i

g

n

a

l

_

T

o

o

l

b

o

x

1 次元. 2 次元ディジタル信号処理のためのもので,ディジタル・フィ ルタの設計と分析,パワー・スペクトル評価を行う.

N

e

u

r

a

l

N

e

t

w

o

r

k

T

o

o

l

b

o

x

ニューラノレネットワークを用いたシミュレーションツール. A A

(3)

7) に,また関数・グラフィック等のコマンドは前回の報告 rUNIX版 MATLAB に関する技術の修得 llJ 福井大学技術報告集 Vo14, 45-50 (1998) に,それぞれ記載されているのでここでは省略する.

3.

ニューラルネットワークの概説と神経細胞のモデル化

3. 1

ニューラルネットワークの概説

人間の脳は, 140億以上の神経細胞 (neuron ニューロン)からなる情報処理装置である.こ の膨大な数の神経細胞は複雑に結合しあって神経回路網を形成し,高度な並列分散処理を実現し ている. ニューラルネットワーク.

(Neural

NÈlt wörk) はこの脳をモデルとして,人間に近い能力 を持つ情報処理システムを実現しようとするものである.

1943年に McCulloch と Pitts がニューロンの簡単なモデルを,次 lこ Hebb がシナプス (synapse) 結合の変化規則を提案した.これらの原則に基づき, 1950年代の終わりに Rosenblatt が作りだし たパターン識別機械がパーセプドロン (perc

ep

t.r on) である.パーセプトロンの構造は,入力パ ターンを取り込む入力層,パターンを識別する中間層,出力信号を発生する出力層の 3 層からな っており,各層は複数個のニューロンで構成されている.ニューロンの結合は層がら層の間のラ ンダム,あるいはすべてのユニットについての結合となっており,各層内部のニューロン聞の結 合はない.そのため,入力された信号は一方向のみの伝達となる. 中間層は,パターンの分類を

結合の度合い(結合係数,重み)の変化によって実現するために設けてある.ここで,ニューラ

ルネットワークの学習というのは,結合係数を変化させることにより,ネットワークの内部状態 を環境に応じて適切な状態に作り変えることである. 1986年に Rumelhart と Hinton は,パーセプトロンの欠点を解消し階層型ネットワークの中間層 に学習規則を与えるパックプロパゲーションアルゴリズム (back-propagation algorithm) を提 案した.このパックプロパゲーションは目標値とネットワークの出力との誤差を出力層から逆に 伝えていくことにより,ニューラルネットワークの学習を行う教師あり学習法である.この方法 により,パーセプトロンにおける中間層の学習が可能になり,パターン認識能力を向上させるこ とができるようになった. 今日のニューラルネットワークは,従来のコンピュータや人間にとって困難であったパターン認 識、同定、分類、音声、映像、非線形制御システム問題を解くように訓練することができるとこ ろに大きな利点がある.

3. 2

神経細胞のモデル化 ニューラルネットワークの 基本構成要素は Fig.3-1 に示さ れるような神経細胞であり, これをニューロン (neuron) と呼ぶ.ニューロンは刺激を 受けると興奮し,出力として パルスを送り出すが,興奮

F

i

g

.

3

-

1

ニューロンの基本構成 しないときにはほとんどパルスを出さない.そのメカニズムは他のニューロンから受け取ったパルス を刺激とし,この刺激の総和がニューロン固有のしきい値を超えると興奮し,しきい値以下なら興奮

i

m

p

u

l

s

e

-ー

しないというものである.各々のニューロンはシナプス (synapse) と呼ばれる結節点によって結ば 内 L an ヨ

(4)

れている.そしてシナプスに含まれている結合 荷重が外界からの刺激によって変化することが ニューロンの学習ということになる.これらを 考慮、してニューロンを多入力一出力の素子とし てモデ、ル化することができる.そしてこのモデ ル化したニューロンのことをユニットと呼び, Fig.3-2 に示す.ここでユニット内には固有の

しきい値りが存在するので, N層のユニッ

トへの入力め総 V? 和は次のよラに表され

る. vN =予 'wN

1 ,N計十 1 _ 8N J 乍feJ E

J ( 3 - 1 )

Ul

U J

しかし,興奮には飽和現象があるため J 関数f の影響を受ける 従ってユニットの出力 u?

は次式 のようになる.

uy=fか?)

(

3

-

2

)

この関数にはシグモイド関数を用いる.

(Cザ)=

(

3

-

3

)

ここで, a は任意の定数ぞ通常は 0 である.もし,この関数がステップ入力であれば,入力を二つのグ ループに分け,それぞれを 0 か 1 の出力をもって判定するパーセプトロンで用いられた素子になる.

3. 2

Neural_Network の構成要素と機能

Neural_Network

Toolbox を用いた信号処理や制御,予測は,特殊化された関数を MATLAB の計算,グ

ラフィックの環境下で使用できるようにしたものである.そしてそのコマンドおよび関数について, その主なものを Table

3.

1 に示す.

T

a

b

l

e

3.

1

コマンドおよび関数 コマンド 説 明 ネットワーク

Slm

ネットワークのシミュレーション

t

r

an

ネットワークのトレーニング

l

nt

/1 の初期化

a

d

a

p

t

学習/レールによるネットワークの適応訓練 伝達関数

h

a

r

d

l

i

m

ハードリッミト伝達関数

l

o

g

s

i

g

対数ミペグモイド関数

p

u

r

e

l

i

n

線形伝達関数

t

a

n

s

l

g

双曲線正接シグモイド関数 訓練関数

t

r

a

i

n

g

d

パックプロパゲーションによるネットワーク の訓練 モプ、ノレの設計

newelm

Elman リカレントネットワークの初期化を行う

n

e

w

f

f

Feed-Forward のネットワークの初期化

n

e

w

l

i

n

d

二乗和誤差を最小にする重み行列とバイアスを作成

S

I

M

U

L

I

N

K

g

e

n

s

l

m

SIMULINK ブロック作成を行う

(5)

-43-3

.

3

非線形信号データ処理 非線形信号データ処理は自動計測,制御工学などの工学の分野では大変重要で、ある. しかし C 言語 や Fortran言語などで信号を処理をするのは,熟練を要しないと甚だ難しく,またその計算に長時間 を要するなどの問題がある. しかし Matlab の拡張ソフトであるニューラルネットワークツールを用い ると,信号処理のための研究,設計,エン、ジニアリングに対して数値的な計算に必要なものを M ファ イルあるいは MDL ファイルとして作成でき,これらのファイルの変更も簡単に実行することができる. ここでは信号データの予測処理について述べる. Fig.3-3-1 に信号波形データを示す.これは正弦 波データに白色ノイズを付加して得られた非線形信号データである.ニューラルネットワークを用い てこの信号データを同定するための SIMULINK 1.5 。 2 3 Time (sec)

Fig.3-3-1

信号波形データ ブロック図は Fig.3-3-2 のように得られ る. この図の Neural Network1 サブシ ステムの内容は, Fig.3-3-3 に示すよう である. これは信号の過去の 5 つの値 (入力値)から 1 つの出力値を予測する 5 ものでである. この入力値をニューロン (重みとバイアスを持つ)に入力し,対 数シグモイド関数(1 ogsig) を用いて, 入力と出力についてパックプロパゲーシ ョン法によってニューロンに学習を繰り 返し繰り返し行わせる.そのときの Sum-S

quared

(二乗和)誤差が 0.01 以下になれ ばニューロンの学習は終了し,ニューラ ルネットワークが構築される. ニューラ ルネットワークで処理した出力結果は, F ig:3-3-4 に示すようである. このとき の Sum-Squared誤差は試行回数 5 , 000 回で 0.012 であった.また学習に要した時間は UniformR~ndom Numb剖 じ Clod< To Wolks何時

F

i

g

.

3-3-2

ニューラルネットワークブロック図 b{1}

Fig.3-3-3 Neural

Network1 サブ‘システム

1.5 0.5

3

S

0 -0.5 ー1 。 0.5 1.5 2 2.5 3 3.5 4 4.5 5 Time (sec) 約 3 分であった Fig.3-3-4 ニューラルネットワークの出力結果 Fig.3-3-1 と Fig. 3-3-4 を比較するとニューラルネットワーク出力の値と良い一致を見,ニューラル ネットワークシステムの有効性が確認された.

-

(6)

44-3.4

非線形制御モデ、ルとその応答 ここでは Fig.3-4-1 に示す Duffing振動系 モデルを制御対象とする非線形制御システム IX についてモデルを作成し,シミュレーション を行う. ところで, Fig.3-4-1 の運動方 程式は(

1

)式のように与えられる. 慨%キcx+M=q(t)

(

1

)

ここでM は変位 z の関数で ,

N.=kx+αピ

外力 q(t) は調和外力として

q

(

t

)

=Q,ω's

(

w

t

)

で与えると(

1

)式

は. 制」トC叶kx+ば= Qcos(iωt)

(

2

)

q

A 小 Illlv x: 物体の変位 m:物体の質量 c: 減衰係数 q: 周期外力 Nk: 非線形復元力 。

Fig.3-4-1

Duffing振動系モデル

となる.但しシステムのパラメータ

I

S

i

n

e

W

a

v

e

1

は Table

3.

2 に示す通りである・

庁lL-J

Sum

S叫剖 このシステムのプロック図は Fig. 3-4-2 に示す.図の Neural

Network2

は(

2

)式で表される Duffing 振動系 モデルである. 次にモデルの step 応 答特性を示すと Fig. 3-4-3 のようである. この図において,破線は step入力を付加し

S

t

e

p

じ Clo ToWo 彪paCQ たときのシステムの応答であり,実線はニュ ーラノレネットワークで予測した出力応答であ る.図から明らかなようにネットワークの出 力応答が 6 秒で良好にモデルに追従したこと が示されている. ここでのニューラルネッ トワークの試行回数と学習誤差は Fig.3-4-4 に示すようで, Sum-Squared誤差は試行回数

5

,

000 回で O. 134 であった.また学習に要した 時間は約 4 分であった. a f l HMMHM 四陀 M 阻 UL 町内 Hu a--RuquEU 弓 ιRutsRunuFhu nuq 』 nunζnU4JnunHMnHM nu 内unununu V 曲一回』咽← lllF3aV30 5

Fig.3-4-3

10

T

i

m

e

(

s

e

o

)

Step応答特性 15

Fig.3-4-2

ブロック図 10' Sum 匂.... edErr町 01 Elm剖Ne畑町k 10' 旨 』 占 E

1

10 ~ Ill-L A U _.., 10.' o 500 1000 1 日抱 2000 2500 割1OO 3500 4仮泊 4日泊 5000 Epαオ1

Fig.3-4-4

学習誤差

Table3.2

システムパラメータ m :

1kg .

I

Q :

1

.

0

c:

1

.

ON-s/m

k :

2

.

ON/m

α:

30

ω:

2.0 rad/s

外乱 :0 20

r o

A 且τ

(7)

4. まとめ

MATLAB は物理現象および社会現象のモデル化や記述が簡単にできる利点がある.データ処理 や数式処理が対話的に行え,それらの結果をグラフ,動画として取り出すことができる.制御工学の 分野だけではなく,広く工学の分野で C 言語や Fortran言語を使用しているユーザに第 4 世代言語と

して良く用いられている.

今回の研修では MATLAB の機能が多くある中で, MATLAB 拡張ソフトである Toolbox 内と

SIMULINK 内にある Neurâl 布 Netívòrkのメフ与トについて,その基本的な使い方の修得を行った, 非線形

信号データのニューラルネットワークの同定については,正弦波信号データに白色ノイズを付加した

非線形信号データについて,ニューラルネットワークを構成して,非線形信号データとニューラノレネ ットワークからの出力との正確な一致を行いその適応を確認した.また非線形制御問題を解く方法に

ついては,システムのブロック図を作成し,そのシステムの step応答について求め,その有効性を確 認できた.よって MATLAB の Neural Network ソフトの一部分の技術の修得ができた.

5. 今後の課題

MATLAB 拡張ソフトで Toolbox , SIMULINK内にあり,今回十分修得できなかった Neura l_Ne

twork について,信号解析,非線形動的制御システムの解析などを引き続き行う予定である. また Ro

bust Contro

l,

Wavelet

,

System_Identification解析などのソフトについても理解を深める必要があ

る. 特に非線形制御問題を解く場合,その系が極めて複雑あるいは数学的に未知な場合についても系の解 析が必要とされている.その場合 MATLAB は解析の有効な手段となりうるし,大学における研究 と学生の技術指導上有用なものである.今後さらに広範囲に MATLAB 全般にわたり理解を深め, 一層の技術修得を計る必要がある. 参考文献

1

)小国 力 MATLAB と利用の実際

1 9 9 5

サイエンス社

2) The MathWorks

,

Inc. MATLAB Use' s Guide サイパネットシステム社

3) The MathWorks

,

Inc. SIMULINK Use' s Guide サイバネットシステム社

4)

Neural_Network Toolbox

1 9 9 8

サイパネットシステム社

参照

関連したドキュメント

パキロビッドパックを処方入力の上、 F8特殊指示 →「(治)」 の列に 「1:する」 を入力して F9更新 を押下してください。.. 備考欄に「治」と登録されます。

・電源投入直後の MPIO は出力状態に設定されているため全ての S/PDIF 信号を入力する前に MPSEL レジスタで MPIO を入力状態に設定する必要がある。MPSEL

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)

対策等の実施に際し、物資供給事業者等の協力を得ること を必要とする事態に備え、

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

Dual I/O リードコマンドは、SI/SIO0、SO/SIO1 のピン機能が入出力に切り替わり、アドレス入力 とデータ出力の両方を x2

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

 貿易統計は、我が国の輸出入貨物に関する貿易取引を正確に表すデータとして、品目別・地域(国)別に数量・金額等を集計して作成しています。こ