Mais conteúdo relacionado Semelhante a ニューラルネットと深層学習の歴史 (12) ニューラルネットと深層学習の歴史2. 自己紹介
● 名前: 阿部晃典
● GitHub: @akabe
● 略歴
○ 〜2016.3 東北の山奥で大学生活
■ プログラミング言語の基礎理論
■ ちょっと機械学習
○ 2016.4〜 サイバーエージェント(新卒入社)
■ 広告配信設定の自動化
2
11. 重みと特徴
11
f(x1, x2) = -3 + 1 * x1 + 2 * x2
特徴重み
● 特徴 (feature)
○ 直感的には分類に用いる指標
○ 人間が悩みながら決める(特徴職人)
○ 一部のタスクでは、深層学習で特徴も獲得することができる
● 重み (weight)
○ 直感的には特徴の重要度
○ 教師データから機械学習で 自動的に計算する(学習・訓練)
12. ニューラルネット基礎研究の開花 (‘40s〜’50s)
重みの学習方法が発明されたのは50年代後半
● 1943 Threshold logic units (TLU) [McCulloch & Pitts]
○ 人工ニューロンの数理モデル
● 1949 Hebbian learning rule [Hebb]
○ ニューロンの学習のメカニズム
● 1951 The Snark [Minsky]
○ 世界初のニューロコンピュータ(ちゃんと学習出来なかった)
● 1957 Perceptron [Rosenblatt]
○ 初めて、まともに重みを学習できるようになった
12
14. パーセプトロン [Rosenblatt 1957]
● 教師データを元に重み (= 分離境界) を自動的に求める手法の1つ
● 単一の人工ニューロンで構成(1層のニューラルネット)
● 簡単なアルゴリズムで重みを計算することができる
○ 学習は反復法(ランダムな初期値から徐々に解に近づけていく)
14
x1
x2
x3
w1
w2
w3
y
y = sign(w1 * x1 + w2 * x2 + w3 * x3)
特徴量
(入力)
重み
クラス
(出力)
21. パーセプトロン関連研究が盛んに (‘50s〜’60s)
● 1957 Perceptron [Rosenblatt]
○ 初めて、まともに重みを学習できるようになった
● 1958 The Mark I Perceptron [Rosenblatt, Wightman+]
○ 画像認識用のニューロコンピュータ
● 1960 ADALINE [Widrow & Hoff]
○ Perceptron の改良版
● 1962 Perceptron convergence theorem [Rosenblatt]
○ 線形分離可能ならば、訓練データを全て正しく分類できる
21
Mark I Perceptron
24. パーセプトロンの欠点
● ノイズに弱い
● 収束が遅い
● 線形分離不可能なのとき、重みを学習できない [Minsky & Papert 1969]
○ 現実には線形分離でない問題も多い
● 多層化(パーセプトロン同士を接続)したときに、学習できなかった
○ 学習に必要な中間素子の信号を推定する方法がない
○ 多層化できれば、線形分離不可能な問題も解けるのに...
24
26. 多層ニューラルネット
● 複数の人工ニューロンを接続して作ったネットワーク
○ 「層 (layer)」という単位でネットワークの規模を図ることが多い
● 線形分離ではない問題も解ける(= 曲線の分離境界を引ける)
● 学習:勾配法 + 誤差逆伝搬法 [Rumelhart, Hinton & Williams 1986]
○ ニューラルネットの微分を効率的に計算できるようになった
26
第4層
第1層
第2層
第3層
27. 人工ニューロンの出力情報の変移
● 1950〜60年代
○ 人工ニューロンの出力は 真偽値(あるクラスに属するか否かの情報のみ)
○ 人工ニューロンは重みと特徴の線形和の符号のみを出力(ステップ関数)
■ 微分との相性がすこぶる悪い
● 1980年代
○ 人工ニューロンの出力は 確率値(あるクラスに属する確率)
○ 重みと特徴の線形和をシグモイド関数で変換
■ シグモイド関数は微分との相性が良い (微分の計算コストが小さい)
● 最近
○ 主に折れ線関数を使うのが一般的(後述)
27
28. 万能近似 [Cybenko 1989 等]
● 隠れ層(中間層)に十分な数のニューロンがあれば、2層ニューラルネットは任意の
連続関数を近似できる。
28
y = |x| y = sin(x) y = -x^2
35. さよなら、ニューラルネット
After being extremely popular in the early 1990s, neural networks have fallen out
of favor in research in the last 5 years. In 2000, it was even pointed out by the
organizers of the Neural Information Processing System (NIPS) conference that
the term “neural networks” in the submission title was negatively correlated with
acceptance. In contrast, positive correlations were made with support vector
machines (SVMs), Bayesian networks, and variational methods.
[Simard+ ICDAR2003]
35
37. 2006ごろから諸問題が徐々に解決
規模の大きなニューラルネットが使えるようになってきた。
● RBM による教師なし事前学習 [Hinton & Salakhutdinov ‘06]
○ 浅いニューラルネットで予め「良い初期値」を教師なし学習する。
○ 深いニューラルネットに良い初期値を入れて教師あり学習すると、精度が上がる。
● ReLU (Rectified linear units) [Nair & Hinton ‘10], Maxout [Godfellow ‘13]
○ シグモイド関数の代わりに折れ線近似した関数を使って、勾配消失を防ぐ。
○ これ以降は折れ線関数を使うのが一般的になった。
● Dropout [Hinton+ ‘12]
○ ランダムにニューロンを欠落させながら学習すると、精度が上がる。
計算機能力の向上も大きい。
37
38. 画像認識コンペでの圧勝 [Krizhevsky, Ilya & Hinton, NIPS‘12]
● ImageNet Large Scale Visual Recognition Challange (ILSVRC) 2012
○ 写真に写っている物体を識別するコンペ( 1000 クラス)
● トロント大学の Hinton らのチームが大差で優勝
38
チーム 誤差
SuperVision 0.15315
ISI 0.26172
OXFORD_VGG 0.26979
39. 深層化による発見 [Lee+ ICML’09]
● 下位層で得られた特徴から、上位層でより高度な特徴を学習
● 最下層への入力はピクセル生データで良い
○ 従来は SIFT などの特徴抽出を自力で行う必要があった。
39
エッジ成分
(下位層)
顔のパーツ
(中間層)
人の顔
(上位層)
40. おばあさん細胞の再現 (Google) [Le+ ICML’12]
● おばあさん細胞仮説
○ 自分のおばあさんを見たときだけ強く反応する細胞
○ 一般に、複合的な概念を表現するニューロン(仮想的な
存在)
● 自動的におばあさん細胞らしきものを獲得
○ モデル:9 層オートエンコーダ
○ 訓練集合:一千万枚の画像
40
41. 自然言語処理への応用
● 単語をベクトル表現に変換 [Mikolov+ ICLR’13]
○ word2vec とかで有名アレ
○ vec(“King”) - vec(“Man”) + vec(“Woman”) ≒ vec(“Queen”)
● 句・文をベクトル表現に変換 [Socher+ EMNLP’11, NIPS’11]
○ 似た意味の文は似たようなベクトルに変換される
41
42. 他の分野への応用
● Deep Q-learning [Mnih+ ‘13]
○ クラシックゲームを畳み込みニューラルネットで強化学習
○ 画面のピクセルデータから、プレイ方法を獲得させる
○ 長期戦略が不要なゲームでは熟練者に勝利
● Execute to learning [Zaremba+ ‘14]
○ ソースコードから実行結果をリカレントニューラルネットで学習
○ 文字単位で入力
42