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

10.2K Views

June 01, 22

スライド概要

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

現在作成中のため,recurrent neural networkが不足しています.

profile-image

コンピュータを使って色々計算しています.個人的な技術に関するメモと講義資料が置いてあります.気が向いた時に資料を修正しています. 公立小松大学臨床工学科准教授 https://researchmap.jp/read0128699

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

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

2.

内容 • 視覚 • ⾃⼰組織化マップ • 多層パーセプトロン • 誤差逆伝播法 • Autoencoder • Hopfield network • Boltzmann machine • LeNet

3.

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

4.

⼈間の視覚処理 第⼀次視覚野: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.

5.

第⼀次視覚野の衝撃的な研究 • 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.

6.

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

7.

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

8.

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

9.

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

10.

⾃⼰組織化マップ

11.

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

12.

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

13.

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

14.

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

15.

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

16.

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

17.

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

18.

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

19.

多層パーセプトロン

20.

多層パーセプトロン • いわゆるパーセプトロンは線形分離不可能な問題を解けない. • データを直線で分けられる問題しか解けない • 例:AND演算は解けるが,XOR演算は解けない. • パーセプトロンで線形分離不可能な問題を解くための⽅法として多層化が ある(多層パーセプトロン). • Rosenblattはパーセプトロンを多層化することで線形分離不可能な問題を解け るようにした. 2 2 2 1 1 2 2 1 2 1 直線で分けられる. パーセプトロンで解ける. 2 1 1 2 直線で分けられない. パーセプトロンで解けない

21.

多層パーセプトロンでXOR演算を実現する バ イ ア (0, 1) 1 ス 0 (1, 1) 出⼒1 ⼊⼒1 (0, 0) 0 1 (1, 0) ⼒ 入力 出力1 出力2 出力3 (0, 0) 0 0 0 (0, 1) 0 1 1 (1, 0) 1 0 1 (1, 1) 0 0 0 2 ⼊ バ (0, 1) 1 0 (1, 1) イ (1, 0)のときに1を出⼒するネットワーク1 ア ス 出⼒3 出⼒1 (0, 0) 0 1 (1, 0) XORは線形分離不 可能な問題 ⼒ 出 バ イ 2 ア ス (0, 1) 1 (0, 0) 0 0 (1, 1) ⼊⼒1 1 (1, 0) 出⼒2 2 ⼒ ⼊ 2つのネットワークの出 ⼒のどちらかが1のとき 1を出⼒するネットワー ク3 (0, 1)のときに1を出⼒するネットワーク2 2このネットワークで直線を2本ひいて,もう⼀つのネットワークでそれらを統合すると考えることもできる.

22.

XOR演算を実現するための多層パーセプトロン • XOR演算を実現するには図のような2層のパーセプトロンを作れば良 いことが前のスライドから分かった. • ⼊⼒を⽣成する層を⼊⼒層,出⼒を⽣成する層を出⼒層,⼊⼒層と出 ⼒層の間の層を中間層もしくは隠れ層という. ⼊⼒層 中間層 出⼒層 ⼊⼒層を数えて3層というこ ともある.この資料では,⼊ ⼒層は数えないことにする. ニューロンのことをユニット とも⾔う.

23.

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

24.

多層パーセプトロンの数式表 現 ひとまず,学習⽅法を導くために多層パーセプトロンの数式表現を⾒てみよう

25.

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

26.

中間層のユニットの出⼒ • ⼊⼒は𝐷次元であるとすると,⼊⼒ユニットは𝐷個ある. • ⼊⼒ 𝒙 は𝐷次元ベクトルで表現できるので⼊⼒は次のように表される. • 𝒙 = 𝑥% , 𝑥& , … , 𝑥! … , 𝑥' ( • 𝑥! が⼊⼒ユニットiの出⼒である. • 𝑥% は常に1である. 中間層 ⼊⼒層 𝑥! (&) 𝑤$! … 𝑥" (&) 𝑤$" (&) … 𝑥# 𝑤$# 𝑧$

27.

中間層のユニットの出⼒ • 中間層のユニット𝑗と⼊⼒層のユニット𝑖の重みを • ($) 𝒘" = ($) ($) ($) ( 𝑤"& , 𝑤"$ , … , 𝑤"' • とすると,中間層のユニット𝑗の⼊⼒ 𝑎" は次のように書ける. • 𝑎" = ($) ∑' 𝑤 )*& ") 𝑥) = 𝒘" $ ( 𝒙 中間層 • つまり,⼊⼒と重みをかけたものの総和が⼊⼒になる. ⼊⼒層 • 中間層のユニット𝑗の⼊⼒ 𝑧" は次のように書ける. • ℎ ⋅ は活性化関数である. (&) 𝑤$! … • 𝑧" = ℎ 𝑎" 𝑥! 𝑥" (&) 𝑤$" (&) … 𝑥# 𝑤$# 𝑧$

28.

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

29.

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

30.

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

31.

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

32.

多層パーセプトロンの誤差関数 • 多層パーセプトロンは分類機である. • つまり,多層パーセプトロンは⼊⼒に対しラベルを付ける. • しかし,多層パーセプトロンは正しいラベルをつけるとは限らない. • どの程度間違っているか(どの程度正確か)を定量的に評価する必要 中間層 がある. hidden units ⼊⼒層 (1) wM D zM (2) wKM xD 出⼒層 yK outputs inputs y1 x1 ⼊⼒ z1 x0 z0 (2) w10 出⼒が1だった. 正しいラベルは0である. どれほど間違っている?

33.

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

34.

多層パーセプトロンの誤差関数 • 𝒙5 が𝑁個あるとする. • 𝑁個すべての⼊⼒に対する出⼒と⽬標ベクトルの2乗誤差は & • 𝐸 𝒘 = ∑7 𝒚 𝒘, 𝒙! − 𝒕5 4 50& 4 • となる. • これを誤差関数と呼ぶ. • 誤差関数の値が⼩さければ⼩さいほど,出⼒と⽬標ベクトルの差が⼩ さい. • つまり, 誤差関数の値が⼩さければ⼩さいほど性能が良い. 誤差関数として2乗誤差を紹介したが,必ずしも2乗誤差である必要はない.必要に応じ(取り扱う問題に 応じ),誤差関数を作る必要がある.2乗誤差以外でよく使われるものにクロスエントロピーがある.

35.

出⼒と答えの差=誤差 中間層 ⼊⼒層 (1) wM D hidden units zM (2) wKM xD 出⼒層 yK ⼊⼒ 𝒙= outputs inputs 出⼒ 答え 𝒚9 (𝒘, 𝒙5 ) 𝒕. y1 x1 z1 x0 (2) w10 z0 出⼒と答えの差 𝒚9 𝒘, 𝒙5 − 𝒕5 出⼒と答えの差の⼤きさの総和=誤差 ; 1 𝐸 𝒘 = > 𝒚 𝒘, 𝒙5 − 𝒕9 2 9:$ ' 出⼒ 𝒚9 (𝒘, 𝒙5 ) 𝒕. 答え

36.

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

37.

誤差関数の最⼩化 • 性能が良いニューラルネットワークを作るということは,誤差関数の 値を⼩さくする重み 𝒘を探すということになる(ただしネットワーク の構造は同じとする). 誤差関数の値 が小さい 性能が良い 誤差関数の値 を小さくする 重みを探す 性能を良くし たい

38.

誤差関数の最⼩化 • 誤差関数の値を⼩さくする重み 𝒘をどう探すか. • ⾼校数学では関数の最⼩値を求めるとき,極⼩値(微分が0)を求めた. • つまり,重みが𝒘のとき誤差関数𝐸 𝒘 を最⼩にする場合 • ∇𝐸 𝒘 = 0 • を満たすと考えられる. • しかし,解析的に求めるのは無理である. ∇𝐸 𝒘 は 𝐸 𝒘 の勾配を意味する.よくわからなければ単に微分(つまり傾き)と思っておく. ∇𝐸 𝒘 = 0の時,誤差が最⼩になるためには𝐸 𝒘 が凸関数である必要がある.しかし,𝐸 𝒘 が凸関数 である保証は無い.つまり, ∇𝐸 𝒘 = 0 のときの𝒘を求めても,それが誤差を最⼩にするとは限らな い. 誤差を最⼩とする重みではないかもしれないが,分類がそこそこ正確にできれば良いので今は深 く考えないでおこう. 𝐸 𝒘 の関数 ∇𝐸 𝒘 ≠ 0 ∇𝐸 𝒘 = 0 接線

39.

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

40.

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

41.

Online learning, batch learning, mini-batch learning • 3種類の重みの更新⽅法がある. • Online learning • データ⼀つづつ⽤い学習する.訓練データの総数が分からない場合やコンピュータのメモリが少ない場合有効である.た だし,学習が⼀つ⼀つのデータに影響される.つまり,学習に対しノイズや外れ値の影響がある. • 𝒘23" = 𝒘2 − 𝜂∇𝐸4 𝒘2 𝟏 • 𝐸4 (𝒘) = 𝟐 𝒚 𝒘, 𝒙4 − 𝒕4 𝟐 • Batch learning • 訓練データすべて⽤い学習する.すべてのデータを使うため,学習がノイズや外れ値などの影響を受けにくい.逆に,ノ イズや外れ値の影響が少ないため,local mimimumから抜け出すのが難しいかもしれない.また,⼤量のメモリが必要で ある. • 𝒘23" = 𝒘2 − 𝜂∇𝐸 𝒘2 𝟏 • 𝐸 𝒘 = ∑8 47" 𝒚 𝒘, 𝒙4 − 𝒕4 𝟐 𝟐 = ∑8 47" 𝑬4 誤差関数は凸関数ではないので,多数の局所最⼩値(local minimum)を持つ. • Mini-batch learning • 訓練データをいくつかに分け,それぞれについて学習する.現在最も使われる.Onlineとbatchの良いとこ取り. • 𝒘23" = 𝒘2 − 𝜂∇𝐸9 𝒘2 𝟏 • 𝐸9 𝒘 = ∑𝒙!∈𝑿"#$%& 𝒚 𝒘, 𝒙4 − 𝒕4 𝟐 𝟐 • 𝑿=>?@A にはbatch size個のデータ点 𝒙4 が⼊っている.

42.

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

43.

勾配の計算:1層のニューラルネットワークの場合 • 出⼒𝑦!% は次のように書けるとする. • 𝑦5. = ∑! 𝑤.! 𝑥5! • 𝐸5 (𝒘)を 𝑤.! で微分すると ) ( ( " 𝑤(! 𝑤(" 𝑥" ) = @ 𝑤(" 𝑥." − 𝑡.( 𝑥." … 𝜕 1 = @ @ 𝑤(" 𝑥." − 𝑡.( 𝜕𝑤(" 2 𝑦- 𝑥! … 𝜕𝐸. 𝜕 1 = @ 𝑦.( − 𝑡.( 𝜕𝑤(" 𝜕𝑤(" 2 出⼒層 ⼊⼒層 " = 𝑦.( − 𝑡.( 𝑥." • となる. • これを勾配法で使えば,最適な𝒘が求まる. 𝑥# 𝑦( 𝑤(# 𝑦&

44.

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

45.

多層パーセプトロンの誤差関数の微分 • ラベル 𝒕4 = (𝑡4$ , … , 𝑡4) , … , 𝑡45 ) が付いたデータ 𝒙4 = (𝑥4& , … , 𝑥4) , … , 𝑥4' )を ネットワークに⼊⼒したときの出⼒を𝒚4 = (𝑦4$ , … , 𝑦4) , … , 𝑦45 ) とする. • このときの誤差関数は 1 𝐸@ 𝒘 = = 𝑦@A − 𝑡@A B 2 A 1 (B) = = ℎ 𝑎AB 𝒘A − 𝑡@A 2 中間層 ⼊⼒層 B A (1) wM D hidden units zM xD yK inputs 𝑎$ • と書ける. • (?) 79=> = ? 78< 7:= (?) 7:= ) & 𝑎( outputs y1 • 𝑤6" について誤差関数の微分をとると 78< 出⼒層 (2) wKM x1 z1 x0 (?) 79=> • となる.この式はチェインルールを⽤い導いている. z0 (2) w10

46.

多層パーセプトロンの誤差関数の微分 • • &'; (>) &(<= > &)< (>) &(<= * = CDD (F) C$EG 中間層 ⼊⼒層 = • 𝛿% ≡ • F CDD CEE (F) F CEE C$EG C (4) 1 ∑ (F) /0% 𝑤./ 𝑧/ = 𝑧/ C$EG &'; ,とすると &)< = 𝛿.4 𝑧/ • と書ける. • ここで 𝛿. を誤差という. (1) wM D hidden units zM (2) wKM xD 出⼒層 yK 𝑎() outputs 𝑎$ & inputs y1 x1 z1 (2) w10 x0 z0 * 𝑎() ()) + = ' 𝑤($ 𝑧$ = 𝒘() 𝒛 $,#

47.
[beta]
多層パーセプトロンの誤差関数の微分
• 𝛿*
• 𝛿*
•

+

+

𝑎0/

• 𝛿*

+

≡
≡

𝐸' =

,-+
とすると
,.,
,-+
-

,.,

=

1
)
3 ℎ 𝑎(
2
(
)

= 𝐸' 𝑎*
-.!

,

+
- / ∑0
,.,

/
𝑎0

ℎ

− 𝑡10

-/"#

/

-.!
-/"#

=

+
∑0
,., /

ℎ

/
𝑎0

𝑎*

+

− 𝑡10

*

=

$
-.! -/#

-/#$

-/"#

+ ⋯+

𝛿* + = ∑

?
' KL=
J KL C
>

= ∑0 𝛿

)

)

)

= 𝐸' 𝑎* , … , 𝑎( … , 𝑎+

𝑎,

*

)

… , 𝑎+

𝑎,

*

$

-.!

-/%

-/%$

-/"#

+…= ∑(

$

-.! -/%
-/%$

-/"#

中間層

/

= ∑0

⼊⼒層

hidden units
zM
(2)

wKM

xD

/

inputs

,.,

x1

,-+ ,..

/
,..

(1)

wM D

𝑎$

出⼒層
yK

&

𝑎()outputs
y1

z1

• これが中間層の誤差となる.
/
,-+ ,..
0
/
,.. ,.,

)

, … , 𝑎(

)

を計算する時,多変数関数のチェインルールを使う.

(/)
+
= ∑4
𝑤
だから 𝑎0/ は 𝑎* + の関数である.
*23 0* ℎ 𝑎*
,

𝑎,

− 𝑡'(

x0

(2)

w10

z0

'

= ∑0 𝛿J

,
,.,

/
+
∑4
*23 𝑤0* ℎ 𝑎*

'
(/)
= ℎ7 𝑎* + ∑0 𝛿J 𝑤0*

/

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

48.

誤差逆伝播法(バックプロパゲーション法) • 中間層jの誤差は𝛿/ & = ℎ6 𝑎- . (9) のように書けた. ∑7 𝛿/0 𝑤78 • この式は,隣接する中間層𝑙と𝑚の間でも成り⽴つ(𝑚の⽅が出⼒に近いと する). • 𝛿" ? = ℎ1 𝑎" ? (3) ∑/ 𝛿6@ 𝑤/- • このように,誤差は出⼒層から⼊⼒層へ伝播していく. • 出⼒層から⼊⼒層へ伝播することを逆伝播という. • この誤差を使い,最適な重みを求める⽅法を誤差逆伝播法(バックプロパ ゲーション法)という.

49.

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

50.

普遍的な近似器 • 2層ニューラルネットワークは,幅広い活性化関数において,任意の精 度で関数の近似ができる. • このことから,ニューラルネットワークは普遍的な近似器であると⾔ われる(Bishop and Bishop, 2023). • ニューラルネットワークが近似器だからといって,学習によりそれを ⾒つけられるかどうかは分からない.

51.

多層パーセプトロンと活性化 関数

52.

様々な活性化関数 昔の主流 Sigmoid関数 1 ℎ 𝑥 = 1 + exp(−𝑥) tanh関数 ℎ 𝑥 = tanh 𝑥 今使われている Rectified linear関数 (Rectified Linear Unit: ReLU) ℎ 𝑥 =L 𝑥 if 𝑥 ≥ 0 0 otherwise Leaky rectified linear関数 ℎ 𝑥 =L 𝑥 if 𝑥 ≥ 0 𝑎𝑥 otherwise GELU (Gaussian Error Linear Unit) ℎ 𝑥 = 𝑥Φ 𝑥 = 𝑥 𝑥 1 + erf 2 2 Φ 𝑥 :ガウス分布の累積分布関数 erf: Gaussian error function 出⼒を0-1にしたい場合や − 1-1にしたい場合は,今で もsigmoid関数とtanhが使わ れる.

53.

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

54.

現在はReLUを使う • Sigmoid関数は初期の⼈⼯ニューラルネットワークでよく使われてい た. • 現在は,特別な考えがなければReLUを使えば良い(Bishop and Bishop, 2023). • ReLUはより深いネットワークを効率的に学習できる. • 重みのランダムな初期化に対する感度が低下する. • 8bit固定⼩数点型のような低精度な型に対しても適している.

55.

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

56.

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

57.

多層パーセプトロンの限界

58.

多層パーセプトロンの限界 • 深層化に限界があった. • ネットワークの層を増やしても意味がない. • 勾配消失問題 • 何が起こっているか良く分からない. • ニューラルネットワークはブラックボックスになってしまう. • では他の⼿法はブラックボックスではないのかというと,どうなんでしょう. • これら問題とサポートベクタマシン(SVM)の登場により,ニューラルネットワ ークの冬の時代が訪れる. • SVMの考え⽅は単純である(理解は難しいが). • ライブラリを簡単に使える. • SVMはパラメタを調整することで結果が変わる.パラメタの値でSVMの状態を説明でき た気になれる. • 分類機の主流はニューラルネットワークからSVMへ移⾏した.

59.

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

60.

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

61.

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

62.

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

63.

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

64.

Autoencoder

65.

Autoencoder • Autoencoderは砂時計型をしたニューラルネットワークである. • ⼊⼒層と出⼒層は同じ数のユニットで構成され,中間層のニューロンはそ れらよりも少ないユニットで構成される. • Autoencoderは⼊⼒と出⼒を同じになるように学習する. • ⼊⼒が答え(教師)になる. 出⼒を⼊⼒に近づける ⼊⼒ 出⼒

66.

Autoencoder • 中間層は⼊⼒層よりもユニットが少ないため,Autoencoderは⼊⼒よ りも少ないユニットで⼊⼒を再現しなければならない. • ⼊⼒を再現するために,ネットワークは⼊⼒の必要な重要な特徴を学 習により獲得しなければならない. 出⼒を⼊⼒に近づける ⼊⼒ 出⼒

67.

Hopfield network

68.

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

69.

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

70.

ネットワークのエネルギー • ネットワークの状態が𝑛であるとき,ネットワークのエネルギーは次のよ うに書ける. • 𝐸 = − ∑)X" 𝑤)" 𝑢) 𝑢" − ∑) 𝑠) − 𝜃 𝑢) 𝑖 < 𝑗を満たす𝑖, 𝑗のペア • 𝑢) が𝑢)W に変化したときエネルギーの差分Δ𝐸は • Δ𝐸 = − ∑" 𝑤)" 𝑢)W 𝑢" − ∑) 𝑠) − 𝜃 𝑢)W − − ∑" 𝑤)" 𝑢) 𝑢" − ∑) 𝑠) − 𝜃 𝑢) • 𝑤)) = 0だから • Δ𝐸 = − 𝑢)W − 𝑢) ∑"(𝑤)" 𝑢" + 𝑠) − 𝜃 ) • 𝑢) = 1, 𝑢)W = 0のとき,更新ルールから∑" 𝑤") 𝑢" + 𝑠) − 𝜃) < 0なのでΔ𝐸 < 0 • 𝑢) = 0, 𝑢)W = 1のとき,更新ルールから∑" 𝑤") 𝑢" + 𝑠) − 𝜃) > 0なのでΔ𝐸 < 0

71.

ネットワークのエネルギーと平衡状態 • 以上から,ユニットの状態が変化するとネットワークのエネルギーが 減少することが分かる. • どのユニットの状態を変えてもエネルギーが増えてしまうようになっ た場合,それ以上の状態変化は起こらない. • このとき,𝐸の値が極⼩値をとり,ネットワークの状態は平衡状態に なっている. (⿇⽣,ニューラルネットワーク情報処理)

72.

Hopfield networkの重みの更新 注意:独⾃解釈 • 𝐸の値が極⼩値をとるときネットワークの状態は平衡状態になるから,勾配法を⽤い平衡状態のときの重み を求める. • 𝐸 = − ∑">$ 𝑤"$ 𝑢" 𝑢$ − ∑" 𝑠" − 𝜃 𝑢" • これを𝑤"$ について微分すると • ?@ ?A BC = −𝑢" 𝑢$ • 𝑤"$ の更新式は • 𝑤"$ ← 𝑤"$ + 𝜆𝑢" 𝑢$ • 𝜆 = 1なら重みの変化はΔ𝑤"$ = 𝑢" 𝑢$ と書ける. • 𝑢" 𝑢$ はヘブ学習である. • しかし,𝑢" の出⼒が0, 1の場合𝑢" = 𝑢$ = 0のとき学習が起こらない. • そこで次のようにΔ𝑤"$ を変更する. • Δ𝑤"$ = 4(𝑢" − 1/2)(𝑢$ − 1/2) • このように変更することで 𝑢" = 𝑢$ = 0および 𝑢" = 𝑢$ = 1のとき Δ𝑤"$ = 1となる.

73.

Boltzmann machine

74.

Boltzmann machine • Boltzmann machinはHopfieldのユニットの動作を確率的にしたものであ る. • ユニットの状態が確率的に決まるとすると,ユニット𝑖の状態が1である確 率は次のように書ける. • 𝑝 𝑢) = 1 = $ E $]^_` a GF • 𝐼) はユニット𝑖の⼊⼒,𝑇は温度パラメタである. • Hopfield networkでは正のとき1,負のとき0であった.これはステップ関 数で表現できる.つまり,Hopfield networkは温度パラメタの0の極限を とるときのBoltzmann machineであると⾔える.

75.

2準位系カノニカル分布 • 𝑝 𝑢8 = 1 = 注意:独⾃解釈 ボルツマンエントロピーから求めるや り⽅が書いてあることが多い.同じだ が. + 2 +FGHI J 3 4 • は2準位系カノニカル分布と対応がつく. • 𝑢8 = 1のときのエネルギーが0, 𝑢8 = 0のエネルギーが 𝐼8 とした場合の分配関数𝑍は • 𝑍 = exp − 3 05 K + exp − L3 05 K = 1 + exp − L3 05 K • よって状態1,0になる確率はそれぞれ • 𝑝 𝑢8 = 1 = GHI J +FGHI 6 .5 4 2 J 3 .5 4 = + +FGHI J 23 , 𝑝 𝑢8 = 0 = .5 4 2 GHI J 3 +FGHI .5 4 2 J 3 .5 4 • ボルツマン因⼦𝑘M は温度パラメタ𝑇に吸収されるとすると • 𝑝 𝑢8 = 1 = + +FGHI 2 J3 4 , 𝑝 𝑢8 = 0 = 2 GHI J 3 4 2 +FGHI J 3 4

76.

ネットワークの状態とエネルギー • 状態𝑠のネットワークのエネルギーを𝐸I = − ∑!J/ 𝑤!/ 𝑢!I 𝑢/I とする. • 𝑢!I はネットワークの状態が𝑠のときのユニット𝑖の状態を表す. • ネットワークの状態𝑠になる確率𝑝(𝑠)は,カノニカル分布を適⽤すると •𝑝 𝑠 = & D exp(− N ) K L 注意:独⾃解釈 D L • 𝑍 = ∑I∈N exp(− N ) • 𝑆 = {𝑠& , 𝑠4 , … }は取りうる状態の集合である. • 𝑍は分配関数と呼ばれる. • ネットワークの状態はユニットの総数が𝑁個ならば,各ユニットが2状 態を取るので,ネットワークの状態の総数は25 個である.

77.

ネットワークの状態とエネルギー • ユニットの状態は確率的に決まるため,ネットワークのエネルギー( 状態)も確率的に決まる. • ⻑時間観測すると,ネットワークの状態の出現は,ネットワークのエ ネルギー(重み)で決まる確率𝑝(𝑠)に従う. • つまりエネルギーが低い状態が出現しやすい. (⿇⽣,ニューラルネットワーク情報処理)

78.

ネットワークの状態の遷移と温度パラメタ • 温度パラメタを極めて⼤きくするとユニットの状態は,それぞれほぼ 同じ確率で出るようになり,ネットワークのどの状態も同じ確率で決 まる. • 温度パラメタを+無限⼤の極値を計算してみよう. • 温度パラメタを極めて⼩さくすると,ユニットの状態は変化しなくな る. • 温度パラメタを+0,−0の極値を計算してみよう. 𝑝 𝑢8 = 1 = 1 𝐼 1 + exp − 𝑇8

79.

エネルギーを最⼩化するネットワークの状態を探す • エネルギーを最⼩化するネットワークの状態を探したい場合,温度パラメタを下げなが ら状態遷移させれば良い. • 温度パラメタ固定して状態遷移させると,エネルギーを最⼩化する状態を探せないかも しれない. • エネルギーには極⼩値(local minimum)がたくさんあることが想定される. • 温度パラメタが低い場合,極⼩値に陥ると抜け出せにくく, 最⼩値(global minimum)を探せ ないかもしれない. • 逆に温度パラメタが⾼い場合,様々な極⼩値を持つ状態を遷移し最⼩値を探せないかもしれない. • 温度パラメタが⾼い場合と低い場合の⽋点を逆⼿に取り,温度パラメタを下げていき最 ⼩値を探す(焼き鈍し法,アニーリング法と呼ぶ). • 温度が⾼いときは,極⼩値を抜け出しやすく最⼩値に⾄る可能性が⾼い.温度が低い場合, ⾒ つけた最⼩値から抜け出しにくい. • 安定したネットワークの状態になったからといって最もエネルギーが低い状態とは限ら ない(アニーリング法はヒューリスティックな⼿法).

80.

ネットワークの学習 • ネットワークの状態を狙った状態にしたい場合,ネットワークの重みを変更(学習)をする必要があ る. • ネットワークの状態は確率的に決まるので,狙った状態が出る確率が⾼くなるような確率分布を設定 し,実際のネットワークの状態が出る確率分布をそれに近づけることを⽬標にする. • ネットワークの状態𝑠が起こる理想的な確率を𝑝(𝑠),現在のネットワークにおいて状態𝑠が起こる確率 を𝑞(𝑠, 𝒘)とする.𝒘 = 𝑤)* , 𝑤)7 , … , 𝑤!8 , … はすべての重みを表すベクトルとする. • ネットワークの学習には勾配法を⽤いる. • 勾配法の⽬的関数には次のKLダイバージェンスを⽤いる. • 理想的な確率分布 𝑝(𝑠) と実際の確率分布 𝑞(𝑠, 𝒘)のKLダイバージェンスは • 𝐷 𝑝 𝑠 || 𝑞 𝑠, 𝒘 = ∑9∈; 𝑝 𝑠 ln < 9 = 9,𝒘 • 𝐷 𝑝 𝑠 || 𝑞 𝑠, 𝒘 を𝒘を変えることで最⼩化する.

81.

ネットワークの学習 • KLダイバージェンス𝐷を𝑤"$ について偏微分すると • B! BA BC B F C = BA ∑C∈E 𝑝 𝑠 ln G BC • = ∑C∈E 𝑝 𝑠 B • B BA BC • =− & B G C,𝒘 BA BC L JDE D IJK L E FJKBC F M & B@ F D G BC ∑ IJK(L E ) EG ∈H F D IJK L E − F C ln G F L B BA BC = I JDE D D IJK L E LIJK L E FJKBC F F ln 𝑞 𝑠, 𝒘 L JD G D G L JD G D G E IJK L E ∑ G L E ∈H FJKBC F ∑ G IJK L E E ∈H F M D G E IJK L E ∑ G L E ∈H FJKBC F M D G ∑ G IJK L E E ∈H F & B@ G • = − N BA E 𝑞 𝑠, 𝒘 − 𝑞 𝑠, 𝒘 ∑C G∈E − N BAE 𝑞 𝑠′, 𝒘 BC C,𝒘 𝑞 𝑠, 𝒘 D IJK(L E) B 𝑞 𝑠, 𝒘 = BA B BA BC = − ∑C∈E 𝑝 𝑠 ln 𝑝 𝑠 − ln 𝑞 𝑠, 𝒘 BA BC • = − ∑C∈E 𝑝 𝑠 = ∑C∈E 𝑝 𝑠 C,𝒘 BC 𝑍 = ' exp − C0 ∈E 𝐸C0 𝑇

82.

ネットワークの学習 • , ,U3, 𝑞 𝑠, 𝒘 = − + ,-? K ,U3, 𝑞 𝑠, 𝒘 − 𝑞 𝑠, 𝒘 ∑V @ ∈X − + + @ + ,-?@ 𝑞 K ,U3, 𝑠7, 𝒘 @ • = K 𝑢8V 𝑢*V 𝑞 𝑠, 𝒘 − 𝑞 𝑠, 𝒘 ∑V @ ∈X K 𝑢8V 𝑢*V 𝑞 𝑠 7 , 𝒘 𝐸C = − ' ' 𝑤"$ 𝑢"C 𝑢$C " • ,Y ,U3, = − ∑V∈X 𝑝 𝑠 • = − ∑V∈X 𝑝 𝑠 • = − ∑V∈X 𝑝 𝑠 + Z V,𝒘 ,U3, + + Z V,𝒘 K + K , 𝑞 𝑠, 𝒘 + @ @ 𝑢8V 𝑢*V 𝑞 𝑠, 𝒘 − 𝑞 𝑠, 𝒘 ∑V @ ∈X 𝑢8V 𝑢*V 𝑞 𝑠 7 , 𝒘 K @ @ 𝑢8V 𝑢*V − ∑V @ ∈X 𝑢8V 𝑢*V 𝑞 𝑠 7 , 𝒘 + @ @ • = − K ∑V∈X 𝑝 𝑠 𝑢8V 𝑢*V − ∑V∈X 𝑝 𝑠 ∑V @ ∈X 𝑢8V 𝑢*V 𝑞 𝑠 7 , 𝒘 • =− + K @ @ ∑V∈X 𝑝 𝑠 𝑢8V 𝑢*V − ∑V @ ∈X 𝑢8V 𝑢*V 𝑞 𝑠 7 , 𝒘 '𝑝 𝑠 = 1 C∈E $

83.

ネットワークの学習 • 7 𝑞 79F> $ • = −j 𝑠, 𝒘 = − $ j H H ∑k∈m 𝑝 𝑠 𝑢)k 𝑢"k − ∑kH ∈m 𝑢)k 𝑢"k 𝑞 𝑠 W , 𝒘 H 𝑢)k 𝑢"k − 𝑢)k 𝑢"k H $ = −j 𝑢) 𝑢" nopq − 𝑢) 𝑢" ros^q • よって学習率を𝜆とすれば,重みの変化𝛿𝑤)" は • 𝛿𝑤)" = 𝜆 𝑢) 𝑢" nopq − 𝑢) 𝑢" ros^q • となる. • 𝑢) 𝑢" nopq はネットワークの状態𝑠が取るべき (⽬標とする)確率 𝑝(𝑠) にお ける 𝑢) 𝑢" の期待値を表す. • 𝑢) 𝑢" ros^q は現在のネットワークにおける𝑢) 𝑢" の期待値を表す.

84.

LeNet

85.

LeNet • LeCunらにより提案された畳み込みニューラルネットワーク • 1989年US Post Serviceから提供された⼿書き数字の識別に成功 Boser, Denker, Henderson, Howard, Hubbard, and Jackel 548 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)

86.

まとめ

87.

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

88.

⼈⼯ニューラルネットワークの技術は充実する • 1980年代までに⼈⼯ニューラルネットワークの技術はかなりそろってくる. • Percetron (Rosenbratt, 1958) • a deep GMDH network with 8 layers (Ivakhnenko, 1971) • 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年代以降の技術 • 深層強化学習の元祖 TD-gammon (Tesauro, 1995) • Long term short term memory: LSTM (Hochreiter and Schmidhuber, 1997) • Dropout (Hinton et al., 2012) • Leaky ReLU • Generative adversarial network: GAN (Goodfellow et al., 2014) • Redisual neural network (He et al., 2016) • Random erasing