ニューラルネットワークの歴史と手法2

スライド概要

大学院で使っているニューラルネットワークの資料です.HubelとWeiselからLeNetまで取り扱っています.

未完成ですので,内容が不十分なところがあります.Boltzmann machineとrecurrent neural networkはいつか追加したいです.

profile-image

藤田 一寿

@k_fujita

作者について:

コンピュータを使って色々計算しています

スライド一覧
シェア
埋め込む»CMSなどでJSが使えない場合

公開日

2022-06-01 17:40:00

各ページのテキスト

1. ニューラルネットワークの 歴史と⼿法2 HubelとWeiselからLeNetまで 公⽴⼩松⼤学 藤⽥ ⼀寿 記述が不⼗分なところがあります. Boltzmann machineとrecurrent neural networkのスライドはまだありません. かなりマニアックな部分があります. 必ず元論文をチェックしましょう!!

2. 神経科学の発展とニューラル ネットワーク研究

3. ⼈間の視覚処理 第⼀次視覚野:V1 ITの構造 (Tanaka, 2003) (Kandel) 下側頭葉:IT (inferior temporal cortex) Figure 25-12 Possible functions mediated by the two pathways connecting visual processing centers in the cerebral cortex. The icons represent salient physiological properties of cells in these areas. On the top is the pathway extending to the posterior parietal cortex, which is thought to be particularly involved in processing motion, depth, and spatial information. On the bottom is the pathway to the inferior temporal cortex, which is more concerned with form and color. Feeding into those two cortical pathways are the P and M 腹側経路 pathways from the retina. (MT = middle temporal; LGN = lateral geniculate nucleus.) (Adapted from Van Essen and Gallant 1994.) V1の構造 (Carlson) V2 V4 網膜 V1 IT LGN 組み合わ 組み合わ センサ 基本画像 features—movement, depth, form, and color. To ⾓度 express the specific combination of properties in the visual field at any given moment, せ せ independent groups of cells with different functions must temporarily be brought into association. As a result, there must be a mechanism Instead, as we have seen in this chapter, visual images typically are built up from the inputs of parallel pathways that process different by which the brain momentarily associates the information being processed independently by different cell populations in different cortical regions. This mechanism, as yet unspecified, is called the binding mechanism.

4. 第⼀次視覚野の衝撃的な研究 • HubelとWieselの実験(1968年) of individual retinal ganglion cells (see Chapter 10), David Hubel and Torsten Wiesel used microelectrode recordings to examine the properties of neurons in more central visual structures. The responses of neurons in the lateral geniculate nucleus were found to be remarkably similar to those in the retina, with a center-surround receptive field organization and selectivity for luminance increases or decreases. However, the small spots of light that were so effective at stimulating neurons in the retina and lateral geniculate nucleus were largely ineffective in visual cortex. Instead, most cortical neurons in cats and monkeys responded vigorously to light–dark bars or edges, and only if the bars were presented at a particular range of orientations within the cell’s receptive field (Figure 11.9). The responses of cortical neurons are thus tuned to the orientation of edges, much like cone receptors are tuned to the wavelength of light; the peak in the tuning curve (the orientation to which a cell is most responsive) is referred to as the neuron’s preferred orientation. By sampling the responses of a large number of single cells, Hubel and Weisel demonstrated that all edge orientations were roughly equally represented in visual cortex. As a • 第⼀次視覚野の神経細胞は⽅向に選択性を持つ.. (A) Experimental setup (B) Stimulus orientation Stimulus presented Light bar stimulus projected on screen Recording from visual cortex Record Wiesel Hubel 0 1 2 Time (s) 3 (Purves et al., Neuroscience) Figure 11.9 Neuron visual cortex respond ented edges. (A) An mal is fitted with con the eyes on a screen, be projected; an extra records the neuronal Neurons in the prima typically respond vig of light oriented at a and weakly—or not orientations.

5. 第1次視覚野 • 第1次視覚野では,似た⾓度を抽出 する細胞が隣り合っている. • さらに,それが⾒た⽬の位置が保 存された状態で並んでいる (retinotopical map). • このマップは,⽣後,⾃⼰組織的 に形成されている(⽣得的ではな い). サルの脳の⽅位選択性 (Blasdel, 1992)

6. 脳の理論的研究とそのアプローチ • トップダウン的⼿法 • 脳を情報処理機械とみなし,その計算理論を明らかにすることで脳を理解 する. • 機能から考える. • ボトムアップ的⼿法 • 脳を構成する構成要素とその相互作⽤により,どのようにして脳の情報処 理機能が実現しているのか明らかにする. • 部品から考える. 0, 1, 2, 3, 4 5, 6, 7, 8, 9 画像 脳 数字だとわかる

7. David Marrの3つのレベル (Marr, 1982) • 計算論 • 計算の⽬的はなにか,なぜそれが適切なのか,そしてその実⾏可能な⽅略 の理論はなにか. • 表現とアルゴリズム • この計算理論はどのようにして実現することができるか,特に⼊出⼒の表 現はなにか,そして,変換のためのアルゴリズムはなにか. • ハードウェアによる実現 • 表現とアルゴリズムがどのようにして物理的に実現されるか. 0, 1, 2, 3, 4 5, 6, 7, 8, 9 画像 脳 数字だとわかる

8. HubelとWieselの研究に関係 • Self-organizing map (von der Marsberg,1976; Kohonen, 1982) • • • • ⼊⼒されたベクトルを類似度に応じてd次元マップに射影する. V1の⾓度マップを再現できる. 似た⼊⼒をまとめる能⼒があるため,量⼦化などで使われる. また,さらにd次元マップに射影できる特徴から,次元削減にも使われる. • Neocognitron (Fukushima, 1980) • 英語ではBiological cyberneticsの論⽂が初出である. • 畳み込みニューラルネットワークの元祖と⾔われる. • Neocognitronについては深層ニューラルネットワークで取り扱う. • Sparse coding (Olshausen, 1996)

9. ⾃⼰組織化マップ

10. ⾃⼰組織化マップ (Self organizing map) • ニューラルネットワークの⼀種である. • 第1次視覚野のモデルから出発した(von der Malsburg, 1976). • Kohonenの⾃⼰組織化マップが広く普及した(Kohonen, 1982). • ⼊⼒層と競合層の2層からなる. 競合層 von der Marburgは数理モデルで第1次視覚野の⽅位選択 性細胞のマップを再現した (von der Malsburg, 1973). 線は抽出した線の⾓度を表す. ⼊⼒層

11. ⾃⼰組織化マップ (Self organizing map) • 競合層のニューロンは⼊⼒の特徴を抽出する. • 例えば斜め45度の⼊⼒に対し応答するニューロンは,斜め45度の画像が ⼊ったとき発⽕する. • 斜め45度の⼊⼒に対し応答するニューロンに隣接するニューロンは斜め 45度に近い⾓度,たとえば40度や50度に応答するニューロンが並ぶ. (von der Malsburg, 1973) 波形を⾃⼰組織化マップに⼊れると,似た波形 を抽出するニューロン群ができる (Kohonen)

12. Kohonenの⾃⼰組織化マップの構造 • Kohonenの⾃⼰組織化マップは⼊⼒層と競合層の2層からなる. • ネットワークはN個のニューロン(ユニット)で構成されており,それぞ れが重み𝒘! を持っている. • 重みはreference vector, codebook vectorなどとも呼ばれる. • 競合層では,⼊⼒に対し最も近い重みを持つユニットが発⽕する. • winner-take-all(勝者総取り)と呼ぶ. • ⼊⼒に対し最も近い重みを持つユニットを勝ちユニット(勝ちニューロン) と呼ぶ. 競合層 ⼊⼒層

13. Kohonenの⾃⼰組織化マップの構造 • 競合層ではユニットが格⼦状に配置されている. • ユニットの隣接関係は格⼦上での隣接関係で決まる. • 重みが最も近い2つのユニットが格⼦上で隣接でなければのそれらのユニッ トは隣接関係にない. • ユニットは競合層上の位置𝒓! に配置されている. 競合層 ユニット 重み:𝒘! 競合層上での場所:𝒓! ユニットの隣接関係:格⼦で決まる ニューロンの位置𝒓! O 競合層の座標

14. Kohonenの⾃⼰組織化マップのアルゴリズム 1. ⼊⼒𝒙(𝑡)を提⽰する. 2. ⼊⼒に最も近いユニットを勝者ユニット𝐶$ とする. 𝑐 = argmin! 𝒘! − 𝒙 3. 勝者ユニットとそれに隣接するユニットの重みを⼊⼒に近づける. 𝒘"#$ ← 𝒘"! + ℎ%! 𝑡 𝒙(𝑡) − 𝒘! 𝑡 ! ℎ%! (𝑡)は隣接関数である. 𝒓! − 𝒓% ' ℎ%! 𝑡 = ℎ& 𝑡 exp − 𝜎' 𝑡 ℎ& と𝜎は時間的に学習が進むにつれて減衰する. 4. ステップ数𝑡がある値以下ならば1に戻る. 勝者ユニット(winner)は best matching unitとも⾔う

15. Kohonenの⾃⼰組織化マップの学習の様⼦ • 空間に⼀様に分布する⼊⼒を与えたところ,重みは空間全体に広がる. • ユニットの隣接関係は格⼦で固定されているので,競合層上で隣り合う ユニットは,近い⼊⼒に対し応答するようになる. (Kohonen)

16. ⾃⼰組織化マップで何ができるか • 次元削減 • ベクトル量⼦化 • データの可視化 • クラスタリング

17. ニューラルネットワークから ⼈⼯ニューラルネットワーク へ

18. 多層パーセプトロン

19. 多層パーセプトロン • いわゆるパーセプトロンは線形分離不可能な問題を解けない. • 解くための⼀つの⽅法として多層化がある. • Rosenblattはパーセプトロンを多層化することで線形分離不可能な問題を 解けるようにした.

20. 多層パーセプトロンでXORを解く (0, 1) (1, 1) (0, 0) (1, 0) 出⼒1 入力 出力1 出力2 出力3 (0, 0) 0 0 0 (0, 1) 0 1 1 (1, 0) 1 0 1 (1, 1) 0 0 0 XOR (0, 1) (1, 1) (0, 0) (1, 0) XOR これは線形分離 不可能な問題 (1, 0)のときに1を出⼒するネットワーク1 (0, 1) 出⼒3 (1, 1) 出⼒2 (0, 0) (1, 0) XOR (0, 1)のときに1を出⼒するネットワーク2 2つのネットワークの出 ⼒のどちらかが1のとき 1を出⼒するネットワー ク3

21. XORを解くための多層パーセプトロン • XORを解くには図のような3層のパーセプトロンを作れば良いことが 分かる. • ⼊⼒を⽣成する層を⼊⼒層,出⼒を⽣成する層を出⼒層,⼊⼒層と出 ⼒層の間の層を中間層もしくは隠れ層という. ⼊⼒層 中間層 出⼒層 ⼊⼒層を数えず2層というこ ともある. ニューロンのことをユニット とも⾔う.

22. 多層化の問題 • 多層化により線形分離不可能な問題が解ける. • しかし,多層化したパーセプトロンをどう学習すればよいかわからな い. • Rosenblattはランダム接続を⽤いることで,運任せであるが⼊⼒を線形分 離可能な状態に変換しようとしている. このネットワークを使えばXOR問題は 解けるが,どのように⾃動で重みを決め ればよいかわからない.

23. 多層パーセプトロンの数式表 現

24. 多層パーセプトロンの数式表現 • 図のような3層(2層)のニューラルネットワークを考える. • このネットワークは⼊⼒はD次元ベクトル,出⼒はK次元ベクトルであ る. • ⼀度に全体を考えるのは難しいので,⼊⼒層と中間層から考えていこ う. 中間層 ⼊⼒層 (1) wM D hidden units zM (2) wKM xD 出⼒層 yK outputs inputs y1 x1 z1 x0 z0 (2) w10

25. 中間層のユニットの出⼒ • ⼊⼒はD次元であるとすると,⼊⼒ユニットはD個ある. • ⼊⼒ 𝒙 はD次元ベクトルで表現できるので⼊⼒は次のように表される. • 𝒙 = 𝑥!, 𝑥", … , 𝑥# … , 𝑥$ % • 𝑥! が⼊⼒ユニットiの出⼒である. • 𝑥" は常に1である.これをバイアスという. • 中間層のユニットjと⼊⼒層のユニット間の重みを = 𝑤&!, 𝑤&", … , 𝑤&$ % • とすると,中間層のユニットjの⼊⼒ 𝑎" は次のように書ける. = 𝒘" ' ) (&) 𝑤$! 𝑥" (&) 𝑤$" (&) ⋅𝒙 • つまり,⼊⼒と重みをかけたものの総和が⼊⼒になる. • 中間層のユニットjの⼊⼒ 𝑧" は次のように書ける. • 𝑧" = ℎ 𝑎" • ℎ ⋅ は活性化関数である. … • 𝑎" = (') ∑% !#$ 𝑤"! 𝑥! 𝑥! … (") • 𝒘& 中間層 ⼊⼒層 𝑥# 𝑤$# 𝑧$

26. 出⼒層のユニットの出⼒ • 中間層のユニットがM個あるとする. • よって,中間層の出⼒ 𝐳 はM次元ベクトルで表現できるので次のように表される. • 𝒛 = 𝑧& , 𝑧$ , … , 𝑧( … , 𝑧) * • 𝑧& が中間層のユニットjの出⼒である. 𝑧( • 𝑧!は常に1である. • = 𝑤,!, 𝑤,", … , 𝑤,. % 𝑧$ - % ⋅𝒛 • 中間層のユニットjの⼊⼒ 𝑧& は次のように書ける. • 𝑦, = 𝜎 𝑎, • ℎ ⋅ は活性化関数である. … (-) (*) 𝑤)$ (*) • とすると, 出⼒層のユニットkの⼊⼒ 𝑎, は次のように書ける. • 𝑎, = ∑. &/! 𝑤,& 𝑧& = 𝒘, (*) 𝑤)( … • 中間層のユニットjと⼊⼒層のユニット間の重みを (-) 𝒘, 出⼒層 中間層 𝑧# 𝑤)# 𝑦)

27. 多層パーセプトロンの数式表現まとめ • 図のような3層(2層)のニューラルネットワークを考える. • 出⼒層のユニットkの出⼒ 𝑦' は次のように書ける. • 𝑎( = (-) ∑+ 𝑤 !)* (! 𝑥! = 𝒘( - / 中間層 ⋅𝒙 ⼊⼒層 • 𝑧( = ℎ 𝑎( • 𝑎' = (0) ∑+ 𝑤 ()* '( 𝑧( = 0 / 𝒘' (1) wM D hidden units zM (2) wKM xD 出⼒層 yK ⋅𝒛 outputs inputs • 𝑦' = 𝜎 𝑎' y1 x1 𝒙 = 𝑥# , 𝑥& , … , 𝑥! + :⼊⼒ (&) + 𝒘$ = 𝑤$# , 𝑤$& , … , 𝑤$! :中間層のユニットjと⼊⼒ 層のユニット間の重み 𝒛 = 𝑧# , 𝑧& , … , 𝑧! + :中間層のユニットの出⼒ (*) 𝒘) = 𝑤)# , 𝑤)& , … , 𝑤)( + :出⼒層のユニットkと中間 層のユニット間の重み z1 x0 z0 (2) w10

28. 出⼒を1つの式で書いてみる • 出⼒層のユニットkの出⼒ 𝑦' 1つの式で書くと次のようになる. (0) (-) + ∑ • 𝑦' = 𝜎 ∑+ 𝑤 ℎ 𝑤 ()* '( !)* (! 𝑥! • すべての重みをまとめたベクトルを 𝒘とすると,出⼒は 𝒘と 𝒙の関数 𝑦' (𝒘, 𝒙)である. 中間層 ⼊⼒層 (1) wM D hidden units zM (2) wKM xD 出⼒層 yK outputs inputs y1 x1 z1 x0 z0 (2) w10

29. 多層パーセプトロンの誤差関 数

30. 多層パーセプトロンの誤差関数 • 多層パーセプトロンは識別機である. • つまり,多層パーセプトロンは⼊⼒に対しラベルyを付ける. • しかし,多層パーセプトロンは正しいラベルをつけるとは限らない. 中間層 ⼊⼒層 (1) wM D hidden units zM (2) wKM xD 出⼒層 yK outputs inputs y1 x1 z1 x0 z0 (2) w10

31. 多層パーセプトロンの誤差関数 • ラベル 𝒕1 が付いた⼊⼒ 𝒙1 が多層パーセプトロンに⼊⼒されたとき, 出⼒が 𝒚 𝒘, 𝒙1 = (𝑦- , . . , 𝑦' , … , 𝑦2 )であったとする. • このとき,出⼒がラベルにどれほど近いかを評価したい. • 近い遠いなので,出⼒とラベル間の距離の2乗を評価基準としたい.数 式で書くと • 𝐸1 (𝒘) = • となる. 0 中間層 𝒚 𝒘, 𝒙! − 𝒕1 0 𝟏 は後々数式を格好良くするためのものである. 𝟐 • これを2乗誤差という. ⼊⼒層 (1) wM D hidden units zM (2) wKM xD 出⼒層 yK outputs inputs y1 ⋅ はL2ノルムであり,ベクトルの⼤きさを表す.つまりユークリッド距離を計算している. 𝑎, 𝑏 ! = 𝑎, 𝑏 ⋅ 𝑎, 𝑏 " = 𝑎! + 𝑏 ! L2ノルム(ユークリッド距離)でなくても,例えばマンハッタン距離でも良いのではと考える⼈ がいるかも知れない.もちろんどんな距離でも良い. では,なぜユークリッド距離なのか考えてみると⾯⽩い. x1 z1 x0 z0 (2) w10

32. 多層パーセプトロンの誤差関数 • 𝒙1 がN個あるとする. • N個すべての⼊⼒に対する出⼒とラベルの2乗誤差は - • 𝐸 𝒘 = ∑3 𝒚 𝒘, 𝒙! − 𝒕1 0 1)- 0 • となる. • これを誤差関数と呼ぶ. • 誤差関数の値が⼩さければ⼩さいほど,出⼒とラベルの差が⼩さい. • つまり, 誤差関数の値が⼩さければ⼩さいほど性能が良い.

33. ニューラルネットワークの学 習とバックプロパゲーション

34. 誤差関数の最⼩化 • 良いニューラルネットワークを作るには,誤差関数の値を⼩さくする 重み 𝒘を探せば良いということである. 誤差関数の値 が小さい 性能が良い 誤差関数の値 を小さくする 重みを探す 性能を良くし たい

35. 誤差関数の最⼩化 • 誤差関数の値を⼩さくする重み 𝒘をどう探すか. • ⾼校数学では関数の最⼩値を求めるとき,極⼩値(微分が0)を求めた . • 重み 𝒘のとき誤差関数𝐸 𝒘 が最⼩となるには • ∇𝐸 𝒘 = 0 • を満たすはずである. • しかし,解析的に求めるのは無理である. 𝐸 𝒘 の関数 ∇𝐸 𝒘 ≠ 0 ∇𝐸 𝒘 = 0 ∇𝐸 𝒘 は 𝐸 𝒘 の勾配だが,よくわからなければ微分と思っておく. 接線

36. 勾配法 • 勾配を⽤いて繰り返し計算で∇𝐸 𝒘 = 0となる𝒘を求める⽅法に勾配 法がある. • τ回繰り返し計算し求めた重みを 𝒘4 としたとき,次のτ+1回⽬の 計算で求まる重み 𝒘45- は • 𝒘"#$ = 𝒘" − 𝜂∇𝐸 𝒘" • と書ける. • ηは学習率と呼ばれるパラメタである.

37. 図による勾配法の理解 𝐸 𝒘 の関数 𝐸 𝒘 の関数 𝜂∇𝐸 𝒘$ 𝒘' 𝒘$ から𝜂∇𝐸 𝒘$ 移動する. 𝒘$ 𝜂∇𝐸 𝒘' 𝒘* 𝒘' 𝒘' から𝜂∇𝐸 𝒘' 移動する. 𝜂∇𝐸 𝒘' は∇𝐸 𝒘$ よ り⼩さいため移動距離は⼩さい. 最⼩値に近づけば近づくほど勾配が⼩さく移動距離が⼩さくなる. 最⼩値まで移動すれば,移動距離は0となる.

38. Online learning, batch learning, mini-batch learning • Online learning • データ⼀つづつ⽤い学習する. • 𝒘!"# = 𝒘! − 𝜂∇𝐸$ 𝒘! • 𝐸$ (𝒘) = 𝟏 𝟐 𝒚 𝒘, 𝒙$ − 𝒕$ 𝟐 • Batch learning • データすべて⽤い学習する. • 𝒘!"# = 𝒘! − 𝜂∇𝐸 𝒘! 𝟏 • 𝐸 𝒘 = 𝟐 ∑( $'# 𝒚 𝒘, 𝒙$ − 𝒕$ 𝟐 = ∑( $'# 𝑬$ • Mini-batch learning • データをいくつかに分け,それぞれについて学習する. • 現在の主流 • 𝒘!"# = 𝒘! − 𝜂∇𝐸) 𝒘! 𝟏 • 𝐸# 𝒘 = 𝟐 ∑𝒙, ∈𝑿-./01 𝒚 𝒘, 𝒙2 − 𝒕) 𝟐 • 𝑿*+,-. にはbatch size個のデータ点 𝒙$ が⼊っている.

39. 勾配の計算 • 勾配法を使うには誤差関数の勾配を求める必要がある. • まず図のような2層のニューラルネットワークを考える. • ラベル 𝒕! = 𝑡!$ , … , 𝑡!% , … , 𝑡!& ' が付いたデータ 𝒙! = 𝑥!( , … , 𝑥!% , … , 𝑥!) ' をネットワークに⼊⼒したときの出⼒を𝒚1 = 𝑦1- , … , 𝑦1! , … , 𝑦12 / とする. • このときの誤差関数は • 𝐸1 (𝒘) = ∑ 0 ' 𝑦1' − 𝑡1' 出⼒層 中間層 0 𝑦3 𝑥! 𝑤)! … 𝑤)" 𝑥" … ラベルが持つ数値の個数K 1つの⼊⼒が持つ数値の個数D 出⼒が持つ数値の個数K 𝑥# 𝑦) 𝑤)# 𝑦&

40. 勾配の計算 • 出⼒𝑦!* は次のように書けるとする. • 𝑦1' = ∑! 𝑤'! 𝑥1! • 𝐸1 (𝒘)を 𝑤'! で微分すると 𝜕 1 = 5 5 𝑤)" 𝑥2" − 𝑡2) 𝜕𝑤)" 2 * = 5 𝑤)" 𝑥2" − 𝑡2) 𝑥2" " = 𝑦2) − 𝑡2) 𝑥2" • となる. • これを勾配法で使えば,最適な𝒘が求まる. 𝑤)" 𝑥" … " 𝑤)! * ) ) 𝑦3 𝑥! … 𝜕𝐸2 𝜕 1 = 5 𝑦2) − 𝑡2) 𝜕𝑤)" 𝜕𝑤)" 2 出⼒層 中間層 𝑥# 𝑦) 𝑤)# 𝑦&

41. 多層パーセプトロンの数式表現の振り返り • 図のような3層(2層)のニューラルネットワークを考える. • 出⼒層のユニットkの出⼒ 𝑦' は次のように書ける. • 𝑎( = (-) ∑+ 𝑤 !)* (! 𝑥! = 𝒘( - / ⋅𝒙 • 𝑧( = ℎ 𝑎( • 𝑎' = 中間層 ⼊⼒層 (1) wM D hidden units zM (2) wKM xD (0) ∑+ 𝑤 ()* '( 𝑧( = 0 / 𝒘' yK ⋅𝒛 • 𝑦' = ℎ 𝑎' outputs inputs y1 x1 z1 x0 𝒙 = 𝑥# , 𝑥& , … , 𝑥! + :⼊⼒ (&) + 出⼒層 𝒘$ = 𝑤$# , 𝑤$& , … , 𝑤$! :中間層のユニットjと⼊⼒層のユニット間の重み 𝒛 = 𝑧# , 𝑧& , … , 𝑧! + :中間層のユニットの出⼒ (*) 𝒘) = 𝑤)# , 𝑤)& , … , 𝑤)( + :出⼒層のユニットkと中間層のユニット間の重み z0 (2) w10

42. [beta]

多層パーセプトロンの誤差関数の微分
• ラベル 𝒕1 = (𝑡1- , … , 𝑡1! , … , 𝑡12 ) が付いたデータ 𝒙1 =
(𝑥1* , … , 𝑥1! , … , 𝑥1< )をネットワークに⼊⼒したときの出⼒を𝒚1 =
(𝑦1- , … , 𝑦1! , … , 𝑦12 ) とする.
中間層

• このときの誤差関数は
1
𝐸) 𝒘 = B 𝑦)/ − 𝑡)/ 0
2
/
1
(0)
= B ℎ 𝑎/ 𝒘/
− 𝑡)/
2

⼊⼒層

(1)

wM D

hidden units
zM
(2)

wKM

xD

yK

0

outputs

inputs

/

y1

• と書ける.

x1

• 𝑤'( について誤差関数の微分をとると

x0

•

+,1

(5)
+-23

=

出⼒層

z1

=>9 =?:
=?: =$ (=)
:;

• となる.この式はチェインルールを⽤い導いている.

z0

(2)

w10

43. [beta]

多層パーセプトロンの誤差関数の微分

•
•

+,1

(5)

+-23
+.2

(5)
+-23

• 𝛿* ≡
•

=>9

(=)

=$:;

=

=>9 =?:
=?: =$ (=)
:;

=

=

(0)
+
∑
𝑤
(=) ()* '( 𝑧(
=$
:;

中間層

= 𝑧(

+,1
,とすると
+.2

= 𝛿' 𝑧(

• と書ける.
• ここで 𝛿' を誤差という.

⼊⼒層

(1)

wM D

hidden units
zM
(2)

wKM

xD

出⼒層
yK
outputs

inputs

y1
x1
z1
x0
z0

(2)

w10

44. [beta]

多層パーセプトロンの誤差関数の微分
• 𝛿( ≡
• 𝛿( ≡

=>9
=??
=>9
=??

中間層

とすると

⼊⼒層

=

= =?? 0

= ∑
=?4 0 '

∑' ℎ 𝑎' − 𝑡1'

0

ℎ 𝑎' 𝑎(

9;, 9;-

= ∑8 𝛿8

outputs

inputs

y1
x1

− 𝑡1'

• これが中間層の誤差となる.
9:+ 9;,

出⼒層
yK

(0)

𝛿7 = ∑8

(2)

wKM

xD

• 𝑎 ' = ∑+
()* 𝑤'( ℎ 𝑎( だから 𝑎' は 𝑎( の関数である.
• 𝛿( =

(1)

wM D

hidden units
zM

9;,
9;-

= ∑8 𝛿8

0

9;-

(2)

w10

z0

=> =?

= ∑' =?5 =?6
6

9

z1
x0

4

>
∑=
7'< 𝑤87 ℎ 𝑎7

(>)
= ℎ? 𝑎7 ∑8 𝛿8 𝑤87

• この式をみると,出⼒層の誤差 𝛿' が中間層の誤差に出てきている.
• これは誤差が中間層に伝播したと考えられるので,誤差の逆伝播という.

45. 誤差逆伝播法(バックプロパゲーション法) (8) • 中間層jの誤差は𝛿5 = ℎ6 𝑎5 ∑* 𝛿* 𝑤*5 のように書けた. • この式は,隣接する中間層lとmの間でも成り⽴つ.(mの⽅が出⼒に近 いとする) • 𝛿H = ℎI 𝑎H ∑J 𝛿J 𝑤JH • このように,誤差は出⼒層から⼊⼒層へ伝播していく. • 出⼒層から⼊⼒層へ伝播することを逆伝播という. • この誤差を使い,最適な重みを求める⽅法を誤差逆伝播法(バックプ ロパゲーション法)という.

46. 様々な活性化関数 • 誤差逆伝播法を使い多層パーセプトロンを学習可能にするためには, 誤差が微分できなければならないし,微分が値を持たなければならな い. • つまり,パーセプトロンで⽤いたステップ関数の微分は,0以外のとき 0となり,誤差逆伝播法では使えない. • 微分が0だと,誤差 𝛿7 が0となる. • 多層パーセプトロンでは次に紹介する活性化関数がよく⽤いられる.

47. 様々な活性化関数 昔の主流 Sigmoid関数 ℎ 𝑥 = 1 1 + exp(−𝑥) tanh関数 ℎ 𝑥 = tanh 𝑥 今の主流 Rectified linear関数 (Rectified Linear Unit: ReLU) ℎ 𝑥 =B 𝑥 if 𝑥 ≥ 0 0 otherwise Leaky rectified linear関数 ℎ 𝑥 =B 𝑥 if 𝑥 ≥ 0 𝑎𝑥 otherwise

48. なぜSigmoid関数なのか • Sigmoid関数は式展開しやすい. • 神経細胞の応答と親和性が⾼い. 1. 神経細胞の発⽕は確率的である.⼊⼒を⼤きくすればするほど発⽕確率 が上がる. 2. イオンチャネルの開閉確率は膜電位の⼤きさに依存する. 3. 神経細胞の発⽕率は⼊⼒を⼤きくすればするほど⼤きくなる.しかし, 発⽕率は⼀定以上には上がらない. 4. 神経細胞集団内の発⽕する神経細胞の数は⼊⼒を増やせば増やすほど⼤ きくなる.しかし,神経細胞の数の上限は決まっている. ⼊⼒ 発⽕率 4 膜電位 発⽕数 3 開閉確率 2 発⽕確率 1 ⼊⼒ ⼊⼒

49. Rectified linearはFukushimaが初めて使った? • 現在主流のReLUはFukushimaが1969年の論⽂ですでに使っている. (Fukushima 1969より)

50. なぜこのような神経⽣理学とは異なる発想ができたのだろうか • ステップ関数やSigmoid関数の⽅が神経細胞の応答と対応させられる. • 神経細胞の発⽕率は⼊⼒が強ければ強いほど⾼くなるが,発⽕率の⾼さに は限界がありいずれ飽和する. • しかし,Fukushimaはなぜ神経細胞の応答と対応させにくいReLUを発 想できたのか? • Fukushimaは「⽣理学からはヒントをもらうが,開発時には実際の脳 はいったん忘れて研究を進めることが重要だ.ただ,それだけではい ずれ限界が来る.その時はもう⼀度,⽣理学に戻って考える.これを 繰り返すことで,前進していけるだろう」(NikkeiBPnet, 2015)と語っ ている. • これはKanadeの「素⼈発想,⽞⼈実⾏」にも通じる.

51. 多層パーセプトロンの限界 • 深層化に限界があった. • ネットワークを深くしても意味がない. • 勾配消失問題 • よく分からない. • ニューラルネットワークはブラックボックスになってしまう. • この問題とサポートベクタマシン(SVM)の登場により,ニューラル ネットワークの冬の時代が訪れる. • 識別機はニューラルネットワークからSVMへ.

52. 深い意味がない • 通常,層間の接続はランダムな値で初期化される. • ランダムなネットワークは,⼊⼒を何らかのパターンに変換する. • 深いネットワークでは,⼊⼒層に近いランダムなネットワークが⼊⼒を変換し,そのランダムネット ワークの出⼒パターンを出⼒層に近いネットワークが学習するという現象が起こる. • ランダムネットワークの出⼒パターンを⽤いればデータを識別できてしまうため,⼊⼒に近い層は学 習する必要がない. • つまり,深い多層パーセプトロンではランダムネットワークと識別ネットワークの2重構造になる. • この構造は,Rosenblattのパーセプトロンと同じである. • 以上のような現象が起こるため,無闇にネットワークを深くしてもランダムネットワークが⼤きくな るだけで意味がないかもしれない. ランダムな値に初期化 入力 ランダムな値のまま 出力 入力 学習が進む 出力 学習 出⼒層に近いネットワークがランダムネットワークで変換されたパターンを覚える.

53. 勾配が消える(勾配消失問題) • Sigmoid関数を使った場合,⼊⼒層に近い中間層の誤差が⼩さくなる. • その結果,勾配も⼩さくなり,⼊⼒層に近い中間層の学習が進まない. • 詳細はつぎのスライド

54. Sigmoid関数とReLUの⽐較 • 誤差逆伝播法に出てくる誤差𝛿7 = ℎJ 𝑎7 ∑K 𝛿K 𝑤K7 を ⾒ると活性化関数の微分が出てくる. Sigmoid関数 • Sigmoid関数の微分はxが0から離れると⼩さくなり0 に漸近する.つまり,Sigmoid関数を使うと 𝑎7 が0か ら離れると誤差が0に近くなる.その場合誤差も0に近 づき学習が進まない. ℎ 𝑥 = • Sigmoid関数の微分の最⼤値は0.25である.誤差の式 をみると誤差 𝛿K と微分 ℎJ 𝑎7 の積になっている.誤 差𝛿K も誤差と微分の積になっている.この積算は再帰 的に⾏われるため,層が増えれば増えるほど誤差がか けられることになる.つまり,ネットワークの層が多 い場合,⼊⼒に近いそうの誤差が0に近づく. 微分 1 1 + exp(−𝑥)

55. Sigmoid関数とReLUの⽐較 • 誤差逆伝播法に出てくる誤差𝛿7 = ℎJ 𝑎7 ∑K 𝛿K 𝑤K7 を⾒ると活性化関数の微分が出て くる. Rectified linear関数 (Rectified Linear Unit: ReLU) • ReLUは 𝑥 ≥ 0のとき微分が1である. • 𝑎3 が極めて⼤きくても誤差が0にならない. • 微分の掛け算がいくら繰り返されても 𝑎3 > 0ならば1のまま である. • ネットワークが多層になっても⼊⼒に近い層の誤差が消え ることなく⼊⼒に近い層も学習が進む. ℎ 𝑥 =B 微分 𝑥 if 𝑥 ≥ 0 0 otherwise

56. Backpropergation法とはなにか • 意地悪くBackpropagationを⾒れば • 誤差を単にchain ruleで微分しているだけと⾔える. • 先⾏研究の再発⾒なだけではないのか. • 神経科学の⽴場から⾒れば, Backpropagationを使ったネットワークは脳モデルか らの逸脱しているのではないか. • 脳でBackpropagationが起こっているかどうか分かっていない. • Back-prop netは脳が⾏っているかどうかで⾔えば,現実的なものではない(Crick, 1989). • ニューラルネットワークは神経科学の縛りはなくても良いのでは. • 使⽤する数式やアーキテクチャは神経科学を気にすることなく作ることができる. • 活性化関数はステップ関数やシグモイド関数でなくても良い. • Rectified linear関数やleaky rectified linear関数は神経細胞の活性を表現していない. • もはやニューラルネットワークは⼈⼯ニューラルネットワークという脳のモデルで はなく機械学習の⼀分野になった.

57. Autoencoder

58. Autoencoder • Autoencoderは砂時計型をしたニューラルネットワークである. • Autoencoderは⼊⼒と出⼒を同じにするように学習する. • 中間層は⼊⼒層よりもユニットが少ないため,Autoencoderは⼊⼒よ りも⼩さなユニットで⼊⼒を再現しなければならない. • ⼊⼒を再現するために,中間層は再現するために必要な重要な特徴の み保存するように動作する. 出⼒を⼊⼒に近づける • ⼊⼒の次元圧縮に使える. ⼊⼒ 出⼒

59. Hopfield network

60. Hopfield network (Hopfield, 1982, 1984) • 相互結合ネットワーク • 対象結合である. • ユニットiからjへの重みとjからiへの重みは等しい. • 完全に脳と関係ないニューラルネットワークといえる. • 次のルールでユニットの応答が決まる. 1 if G 𝑤$" 𝑢$ + 𝑠" − 𝜃" > 0 $ 𝑢" ← 0 𝑢" if G 𝑤$" 𝑢$ + 𝑠" − 𝜃" < 0 $ 相互結合ネットワーク if G 𝑤$" 𝑢$ + 𝑠" − 𝜃" = 0 $ • ユニットの出⼒を𝑢! ,iからjへの重みを𝑤(! ,⼊⼒を𝑠! ,閾値を𝜃! とする .

61. Hopfield network (Hopfield, 1982, 1984) • 先のルールでユニットの出⼒を更新するとある応答パターンが出てく る. • パターンは覚えさせる事ができる. • ユニットの出⼒を更新していくと勝⼿にパターンが出てくる. • ⾃⼰想起 覚えさせたパターン ユニットの出⼒を更新していったときのネットワークの応答 (⿇⽣,ニューラルネットワーク情報処理)

62. LeNet

63. LeNet • LeCunらにより提案された畳み込みニューラルネットワーク • 1989年US Post Serviceから提供された⼿書き数字の識別に成功 548 Boser, Denker, Henderson, Howard, Hubbard, and Jackel Le Cun, 10 output units fully connected 300 links - layer H3 30 hidden units fully connected 6000 il nks - layer H2 12 x 16=192 hidden units layer H1 12 x 64 768 hidden units - 40,000 il nks rf om 12 kernels 5 x 5 x 8 = H1 .1 -20,000 links from 12 kernels 5 x 5 256 input units LeNet-5 (LeCun et al., 1998) (LeCun et al., 1989)

64. ニューラルネットワークから⼈⼯ニューラルネットワークへ • バックプロパゲーションは脳でやっていない? • Hopfield networkは脳構造から逸脱している. • 対象の接続はありえない. • ニューラルネットワークは脳の機能・構造を反映しなくてよいのでは ないか. • ⽣物からの離脱を果たすことで,脳のニューラルネットと⼈⼯ニュー ラルネットワークが分かれる. • ⼈⼯ニューラルネットワークは神経科学や認知科学の分野から機械学 習の分野に移⾏する. • しかし,⼈⼯ニューラルネットワークは脳とは異なるが,脳からアイ ディアをもらう.

65. ⼈⼯ニューラルネットワークの技術は充実する • 1980年代までに⼈⼯ニューラルネットワークの技術はかなりそろってくる. • • • • • • • • Percetron (Rosenbratt, 1958) Backprobagation (Rumenhert et al, 1985) Autoencoder (Rumelhart et al. 1986; Baldi and Hornik, 1988) Convolutional neural network (Fukushima, 1980; LeCun, 1989) ReLU (Fukushima, 1968) SOM (von der Marsberg, 1976; Kohonen, 1982) Hopfield network (Hopfield, 1982) Rcurrent neural network (Rumelhart et al, 1985; Jordan, 1986) • 1990年代以降の技術 • • • • • • • Long term short term memory: LSTM (Hochreiter and Schmidhuber, 1997) Leaky ReLU Dropout Redisual neural network (He et al., 2016) Random erasing Generative adversarial network: GAN (Goodfellow et al., 2014) 深層強化学習