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

画像処理工学

N/A
N/A
Protected

Academic year: 2021

シェア "画像処理工学"

Copied!
25
0
0

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

全文

(1)

画像処理工学

画像のパターン認識(2)

-機械学習によるパターン認識-

(2)

機械学習とは

機械学習

データから法則性(パターン)を抽出する統計的手法

訓練データ {

x 1 , x 2 , … , x n }

からモデル関数

f (x)

(法則性)を求める

モデルパラメータを,訓練データを用いて適応的に 調節しながら求めることを「学習」という

機械学習の手法

線形回帰,ロジスティック回帰,サポートベクタマシン

SVM

),ニューラルネットワーク(

NN

– k-means

法,主成分分析

– Q

学習

(3)

機械学習とパターン認識

機械学習

データ

x

を入力すると出力

y

が得られるような モデル関数

y = f (x)

を求める

パターン認識(クラス分類)

未知パターン ρ とし,これが属するクラス

c

を対応 付ける写像

f

: ρ

→ c

を求める

機械学習

パターン認識

(4)

機械学習のイメージ

機械学習の例 : 単回帰分析

2つのデータの組(

x , y

)が

n

個与えられている

これらのデータの散布図を描くと,

x , y

の間に

単調増加の関係があるように見える

x , y

の関係を直線式で表せる?

i

x x y

i

y

単調増加

一方の値が増えると,

他方の値も直線的に 増える関係

1 1

2 2

i i

n n

x y x y x y x y x y

 

 

(5)

機械学習のイメージ

単回帰分析

入力

x

と出力

y

の関係を,直線式

y = ax + b

とし,

得られているデータからパラメータ

a, b

を求める

i

x x y

i

y y = ax + b

1 2

1 2

i n

i n

x x x x x

y y y y y

 

 

,

xy xx

a S S = b y a x = − ×

S

xy

S

xx

, x y

x, y

の偏差積和

x

の偏差平方和

x, y

の平均値

モデル

データから パラメータ を計算

学習

(6)

機械学習とは,入力

x

と 出力

y

について

が最小となるような

f

を求めることである

機械学習のイメージ

単回帰分析における学習

パラメータ

a, b

は残差

e i

が最小となるように求める 入力

x i

に対して,出力が

y i

となるように

パラメータを設定する

( )

i i i

e = − y ax b +

x y

x

i

y

i

ax b

i

+

y

i と,

x

i を直線式に代入したときの

ax

i

+b

との差が最小となるように 直線式の位置を調節する

(直線パラメータを計算する)

( ) or { ( ) }

2

f f

− −

y xy x

(7)

機械学習の問題の分類

教師あり学習

訓練データが入力データとそれらに対応する出力データ で構成される問題

線形回帰,ロジスティック回帰,

SVM

NN

など

教師なし学習

訓練データが入力データのみで,それらに対応する出力 データが存在しない問題

– k-means

法,主成分分析など

強化学習

ある与えられた状況下で,報酬を最大にするような適当 な行動を見つける問題

– Q

学習など

(8)

ニューラルネットワーク

ニューラルネットワーク(

Neural Network

NN

生物の神経細胞やそのネットワークの挙動にヒントを 得た機械学習システム

神経細胞をモデル化したニューロン

1

n i i

i

y f w x h

=

 

=  − 

 ∑ 

w

1

・ 複数の入力

x

i

i = 1, … , n

) に対して,ひとつの値

y

を出力

・ 入力

x

i に結合重み

w

i を乗じ,それらの総和が閾値

h

より大きいとき

1

小さいとき

0

y

として出力する

マカロック-ピッツの素子モデル

8

w

2

w

3

x

1

x

2

x

3

y

y

h

1

(9)

ニューラルネットワーク

ニューロンの挙動の例

– AND

回路

重み

w

1

= w

2

= 1

,閾値

h = 1.5

とする

(

1 2

)

1.5

y = f x x + − 1

1

x

1

x

2

y

入力

x

1 入力

x

2 出力

0 0 0 + 0 - 1.5 = -1.5

→ 0

0 1 0 + 1 - 1.5 = -0.5

→ 0

1 0 1 + 0 - 1.5 = -0.5

→ 0

1 1 1 + 1 - 1.5 = 0.5

→ 1

1 2

1.5 0.0 x x + − >

1 2

1.5 0.0 x x + − ≤

のとき1 のとき0

(10)

ニューラルネットワーク

パーセプトロン(多層パーセプトロン)

複数のニューロンを複数の階層に並べて構成された ネットワーク

フィードフォワードネットワーク,順伝搬型ネットワーク と呼ぶ

x

1

y

1

x

2

x

n

y

2

w

1ij

2jq

w

入力層 中間層 出力層

z

1

z

2

z

m

1 1

n

j ij i j

i

z f w x h

=

 

=  − 

 ∑ 

1 2

m

q jq j q

j

y f w z v

=

 

=  − 

 ∑ 

中間層の出力

出力層の出力

(11)

ニューラルネットワーク

パーセプトロンの学習

学習サンプル(入力値に対する出力値の組み合せ)

から重み(さらに閾値)の値を自動的に決定すること ができる

誤り訂正学習

学習サンプルにおける出力値(教師データ)と,それに対応 する入力値をネットワークに入力して得られる出力値との 誤差をなるべく小さく(できればゼロ)にするよう重み係数を 更新する

( )

i

i i

ww + α r y xx

i

w

i

y

r

: 教師データの値

α

(12)

ニューラルネットワーク

誤差逆伝搬法

多層パーセプトロンのおける重み更新法

出力の誤差を,出力層から入力層に向かって逆伝搬 させながら,全体の重みを調整していく

誤差関数

E

を,重み

w i

について最小化する問題

勾配降下法により求める

E

w

i

w

0

w

1

w

opt

誤差

E

w

0 に対する更新量を 誤差関数の傾きから決定

w

0 と得られた更新量から

w

1 を得る 誤差の算出と更新量の決定を繰り返し 最終的な重み

w

opt を得る

(13)

ニューラルネットワーク

1つの出力を持つ多層パーセプトロンにおける 誤差逆伝搬

誤差関数を二乗誤差関数,中間層・出力層における 各ニューロンの出力関数をシグモイド関数とする

x

1 2

y x

x

n

w

1ij

2 1j

w

入力層 中間層 出力層

z

1

z

2

z

m

( )

1

= 1 , 1

n u i i

i

f u u w x

e

=

+ = ∑

シグモイド関数

u 1

( )

f u

u

(14)

ニューラルネットワーク

中間層-出力層の重みの更新

x

1 2

y x

x

n

w

1ij

2 1j

w

入力層 中間層 出力層

z

1

z

2

z

m

( ) ( )

2 1j 2 1j 2 1j

E E y r y f u

w y w w

∂ ∂ ∂ ∂

= = − −

∂ ∂ ∂ ∂

重み

w

2j1 の更新量

( ) ( )

( ) ( ) ( ( ) )

( ) ( )

2 1

1 1

j

j

j

f u u

r y u w

r y f u f u z r y y y z

∂ ∂

= − −

∂ ∂

= − − −

= − − −

( ) ( ) ( ( ) ) ( )

2 1

1 , j,

j

f u f u f u u z y f u

u w

∂ ∂

∴ = − = =

∂ ∂

( ) ( )

2 1j

1

j

w α r y y y z

∆ = − −

実際には学習係数

α

を用いて

(15)

ニューラルネットワーク

入力層-中間層の重みの更新

x

1 2

y x

x

n

w

1ij

2 1j

w

入力層 中間層 出力層

z

1

z

2

z

m

1ij 1ij

E E y u w y u w

∂ = ∂ ∂ ∂

∂ ∂ ∂ ∂

重み

w

1ij の更新量

( ) ( )

1

1

ij

r y y y u

w

= − − − ∂

( )

1

2 1

1 1

, j 1 , j

j j j i

j j ij

z u

u w z z x

z u w

∂ ∂

∴ ∂ = = − =

∂ ∂ ∂

2 1 1

1 1 1 1

j j j

j

ij j ij j ij

z z u

u u w

w z w u w

∂ ∂ ∂

∂ = ∂ =

∂ ∂ ∂ ∂ ∂

( )

2 1j j

1

j i

w z z x

= −

( ) ( 1 )

2 1j j

( 1

j

)

i

E r y y y w z z x w

∂ = − − − −

( ) ( ) ( )

1ij

1

2 1j j

1

j i

w α r y y y w z z x

∆ = − − −

(16)

ニューラルネットワーク

複数出力を持つ多層パーセプトロンにおける 誤差逆伝搬

x

1

y

q

x

2

x

n

w

1ij

入力層 中間層 出力層

z

1

z

2

z

m

y

1

y

2 2jq

w

重み

w

2jk (中間-出力)の更新量

( ) ( )

2jk k k k

1

k j

w α r y y y z

∆ = − −

重み

w

1ij (入力-中間)の更新量

( ) ( ) ( )

1 1 2

1 1

ij q

k k k k jk j j i

k

w

r y y y w z z x

α

=

 

=  − −  −

 ∑ 

(17)

ニューラルネットワーク

誤差関数

クロスエントロピー関数

多クラス分類問題の場合に用いられる

2クラス分類問題の場合

二乗誤差関数

回帰問題の場合に用いられる

1 1

, 0 , 1

C N

cn cn cn cn

c n

E r y r y

= =

= − ∑∑ ≤ ≤

( ) ( )

{ }

1

ln 1 ln 1

N

n n n n

n

E r y r y

=

= − ∑ + − −

N 2

n n

E = ∑ r y

(18)

ニューラルネットワーク

活性化関数

入力信号を線形または非線形変換する関数

– tanh

関数 :

- 1

から

1

までの値を出力

– ReLU

関数(

rectified linear unit

関数)

ディープラーニングで用いられる

18

( ) ( ) ( ) ( )

( ) ( )

exp exp tanh exp exp

u u

f u u

u u

− −

= =

+ −

微分は

f u ( ) = − 1 f u ( )

( ) max , 0 ( )

f u = u

微分は

u > 0

のとき

f u ′ ( ) = 1

, それ以外は

0 ( )

f u

0 u

ReLU

関数のグラフ

(19)

ニューラルネットワーク

尤度関数

多層パーセプトロンの出力は,尤度関数から 求められる

恒等関数

回帰問題で用いられる

重み付き結合

u

k の値をそのまま出力

ソフトマックス関数

多クラスの分類問題で用いられる

出力層の各ユニットは

0

から

1

の値を取る

( ) ( )

( )

1

exp exp

k q k

k k

p y u

u

=

= ∑

(20)

ニューラルネットワーク

重み更新処理の方法

バッチ処理

すべての学習サンプルを用いて更新量を求める

オンライン学習

学習サンプルひとつずつから更新量を求める

ミニバッチ処理

学習サンプルを何個かのグループに分けて,

グループごとに更新量を求める

( )1 1

,

t

N t

t t t

n t

n

E E

+

α E

=

= = − ∂

w ww E

nt

:

更新処理るサンプル

t

回目におけ

n

の誤差

t t

n G n

E E

= ∑ G :

グループ集合

(21)

畳み込みニューラルネットワーク

畳み込みニューラルネットワーク

Convolutional Neural Network

CNN

人間の視覚野にある受容野をモデル化

入力層,畳み込み層,プーリング層,全結合層,

出力層から構成

入力層 畳み込み層 特徴マップ

プーリング層

畳み込み層

プーリング層

全結合層

全結合層

出力層

複数回繰り返して

(22)

畳み込みニューラルネットワーク

畳み込み層

入力と重みフィルタとの内積を計算(畳み込み処理)

入力層の画像の局所的な特徴を抽出(特徴マップ)

層が深くなるにつれて大域的な特徴が捉えられる

5 3 1 2 3 2 1 2 6

4 3

3

-1 -1

-1 -1

-1 -1

畳み込み

入力サイズ

10 × 10

フィルタ

3 × 3

活性化

関数

特徴マップ

8 × 8

40

40

(23)

畳み込みニューラルネットワーク

プーリング層

特徴マップ上の着目領域を設定し,その領域の値から 新たな特徴マップを得る(サイズが縮小される)

特徴の幾何学的変化(位置ずれなど)を吸収する働き

3 2 1 2

2 2 3 4

0 1 2 3

0 0 3 6

3 4 3 6

3 2 1 2

2 2 3 4

0 1 2 3

0 0 3 6

2 2 1 3

最大値プーリング 平均値プーリング

着目領域の最大値を取得 着目領域の平均値を取得

(24)

畳み込みニューラルネットワーク

全結合層

最終的な特徴マップの各値を1次元に展開,それらを ユニットとして,多層パーセプトロンを形成

プーリング層 畳み込み層

全結合層

(25)

畳み込みニューラルネットワーク

出力層

分類問題の場合,尤度関数を用いて各クラス

(出力層ユニットの値

y i

)の尤度

p(y i )

を求める

全結合層

出力層

human cat dog car other CNNに

入力

0

1 0 0 0

5

クラスの分類

このような出力結果に なるように

CNN

を学習させる

( )

1

p y

( )

2

p y

( )

3

p y

( )

4

p y

( )

5

p y

参照

関連したドキュメント

(参考)埋立処分場の見学実績・見学風景 見学人数 平成18年度 55,833人 平成19年度 62,172人 平成20年度

竣工予定 2020 年度 処理方法 焼却処理 炉型 キルンストーカ式 処理容量 95t/日(24 時間運転).

産業廃棄物の種類 排    出   量. 産業廃棄物の種類 排   

引き続き、中間処理業者の現地確認を1回/3年実施し評価を実施す

[r]

産業廃棄物の種類 排    出   量. 産業廃棄物の種類 排   

産業廃棄物の種類 排    出   量. 産業廃棄物の種類 排