深層学習1、研究の歴史
深層学習1、研究の歴史
매일같이 영어만 쓰는 것 같아서 일본어 공부도 하고 딥러닝 복습도 할 겸 책을 샀다. 이름하여 심층학습. 모르는 단어는 열심히 정리하고 일본어로 요약도 하고 있다. 조금씩 꾸준히 공부한 부분은 포스팅할 계획이다. 책의 '층' 한자와 層 글자가 다른데 모양만 다르고 같은 한자 같다.
1.1 研究の歴史
1.1.1 多層ニゥーラルネットへの期待と失望
生物の神経回路網を模倣した人工ニューラルネットワークが長年にわたって研究された。1940年代以来、研究が一旦ブームになり、下火になることを2度振り返した。80年代半ばから90年代前半にかけて起こった2度目のブームは誤差逆伝播法の発明がきっかけだった。
ブームが終わってしまった背景は2つ目の理由のためだ。
誤差逆伝播法による学習は、2層以上の多層になると過適合、過学習が壁となる。出力層から離れた深い層に進むに連れ、勾配が急速に小さくなったり、大きくなって発散してしまう、勾配消失問題が起こる多層ネットワークの学習が困る。
層数やユニット数、パラメータが多数あるのに、最終的な性能との結びつくがよくわからない。
→ 90年代後半には下火になってしまった。
画像を対象とする畳込みニューラルネットは層間の結合が疎なネットワーク → 多層の構造が可能
1.1.1 다층신경망에 대한 기대와 실망
1940년 이래로 연구가 일단 활성화 되었다가 사그라지는 것을 두 번 반복했는데, 80년대 중반부터 90년대 초반에 걸쳐 일어났던 2차 붐은 오차역전파법이 그 불씨였다.
붐은 다음의 두 가지 이유로 인해 종료되었다.
오차역전파법으로 인한 학습은 2층 이상의 다층이 되면 과적합, 과학습이 벽이 된다. 출력층부터 떨어진 깊은 층으로 나아갈 수록, 기울기가 급격하게 작아지거나, 발산해버리는, 기울기 소실문제가 발생하여 다층 네트워크의 학습이 어려웠다.
층 수나 유닛 수, 파라미터가 많아 최종적인 성능과의 연관성을 이해하기 어려웠다.
CNN(일본에서는 畳込みニューラルネット 라고 하는 모양)은 층간 결합을 느슨하게 하여 다층 구조가 가능함을 보였지만 전반적인 분위기가 가라앉음에 따라 크게 주목받지 못했다.
-> AI 겨울에 대한 설명인데, 순서는 1차 붐 - 1차 겨울 - 2차 붐 - 2차 겨울 순이다. 1차 AI 겨울은 단층 퍼셉트론이 XOR 문제를 해결하지 못했기에 발생했고, 그 XOR 문제를 해결한 것이 다층 퍼셉트론의 등장이었다. 그러나 기울기 소실 문제를 해결하지 못해 2차 AI 겨울이 찾아왔다는 모양.
1.1.2 多層ネットワークの事前学習
ディーピビーリフネットワーク(Deep Belief Network, DBN)の研究が下火を覆した。DBNは、一般的なニューラルネットに似た多層構造を持つグラフィカルモデルであり、確率的に記述され、主にデータの生成モデルとして使われる。一般的なニューラルネットは異なる原理に基づいて行われるものの、多層になるとDBNの学習は同じように困難だった。
Hintonらは、DBNをまず層ごとに制約ボルツマンマシン(Restricted Boltzmann Machine, RBM)と呼ばれる単層ネットワークに分解した上、貪欲方の考え方を従い、これらのRBMを入力層に近い側から順番に教師なしで学習してゆく方法を提案した。こうして得られるDBNは、一般的な順伝播型のニューラルネットに転換が可能で、そうやって得られたニューラルネットは、多層であっても過適合を起こさずうまく学習できた。目的とするネットワークの学習前、層ごとに学習を行うことでパラメータのよい初期値を得ておくこのやり方を、事前学習(Pretraining)と呼ばれる。DBNとRBMではなく、より単純な自己符号化器(Autoencoder)を使っても多層ネットワークの事前学習ができる。
自己符号化器:入力に対して計算される出力が、入力になるべく近くなるように訓練されるニューラルネット。学習は教師なしで行われる。
自己符号化器を使うと、DBNと同様な方法で、多層ニューラルネットの事前学習を行える。
目的とする多層ニューラルネットを単層に分割→入力層から順番に各層を自己符号化器と見て学習→各層のパラメータの初期値を得る→全層のニューラルネットを教師ありで学習
多層ニューラルネットはパラメータをランダムの初期化 → 学習がうまく行えない
層ごとに教師なし学習を行う事前学習によって得たパラメータを初期値に使えば学習がうまくいく。
1.1.2 다층 네트워크의 사전학습
Deep Belief Network(DBN)의 연구로 분위기가 완전히 바뀐다. DBN은 일반적인 신경망과 닮은 다층구조를 가진 그래픽 모델로, 확률적으로 기술되어 주로 데이터의 생성에 사용된다. DBN은 일반적인 신경망과 다른 원리에 기반했지만, 다층이 되면 학습에 기존의 방법과 동일한 어려움이 있었다.
Hinton과 연구진은, DBN을 먼저 층에 따라 제약 볼츠만 머신(RBM)이라고 불리는 단층 네트워크로 분해하여, 탐욕법(Greedy Algorithm)의 사고방식을 따라 이 RBM을 입력층과 가까운 쪽부터 순서대로 비지도 학습을 진행하는 방법을 제안했다. 이렇게 얻어진 DBN은 일반적인 순전파형의 신경망과 전환이 가능하고, 이렇게 얻어진 신경망은 다층이 되어도 과적합이 일어나지 않고 학습이 잘 진행된다. 목적 네트워크의 학습에 앞서, 층별로 학습을 진행하여 파라미터의 적절한 초기치를 얻는 이 방법을 사전학습이라고 부른다. DBN이나 RBN이 아니라, 더욱 단순한 자기부호화기(Autoencoder)를 이용해도 다층 네트워크의 사전학습(Pretraining)이 가능하다.
자기부호화기: 입력에 대해 계산되는 출력이 입력과 가능한 가깝도록 훈련된 신경망. 비지도학습.
자기부호화기를 사용하면, DBN과 같은 방법으로 다층신경망의 사전학습이 가능하다.
목적으로 하는 네트워크를 단층으로 분해 -> 입력층부터 순서대로 각 층을 자기부호화기를 통해 학습 -> 각층의 파라미터 초기치 얻음 -> 모든 층의 신경망에 대해 지도 학습 실시
다층 신경망은 파라미터가 랜덤으로 초기화되어 학습이 잘 진행되지 않지만, 사전학습을 통해 얻은 파라미터를 초기치로 사용하면 학습이 더 잘 진행된다.
→ 2차 AI 겨울 해결
1.1.3 特徴量の学習
自然界のデータは強い偏りを持ちながら複雑な高次元空間に広がっている。多層ネットワークが自然界のデータを学習したとき、データの持つ構造がどのように捉えられ表現されたのか。
自然画像から切り出したパッチの集合を対象に、スパース符号化(Sparse Coding)によって辞書の学習を行うと、ガボールウェーブレット状の基底が得られる。
自己符号化器に冗長な基底の少数の組合せで入力を表現するというスパース符号化の考えを取り入れることで、多層ネットワークは学習によって階層構造を形成する。
例)Leeらは、自然画像のパッチを2層以上のネットワークで学習すると霊長類の視覚野V2領域に見られるとされる特徴に類似した特徴が得られることを報告した。
1.1.3 특징량 학습
자연계의 데이터는 강한 경향성을 가지고 복잡한 고차원 공간에 퍼져 있다. 그렇다면 다층 네트워크가 자연계의 데이터를 학습할 때, 데이터가 가진 구조를 어떻게 포착하여 표현할까?
자연영상에서 잘라낸 패치의 집합을 대상으로, Sparse Coding(희소 부호화, 고차원의 정보 중 적은 수의 정보만으로 데이터를 표현하는 것)으로 사전의 학습을 진행하면, Gabor Wavelet(이미지 처리와 신호 처리에서 주로 사용되는 수학적 도구..라고 한다)상의 기저를 얻을 수 있다. -> 영상은 이미지로 이루어져 있으니 위에 적힌 데이터, 여기서는 영상이 가진 구조를 포착하는 방법의 일종으로 이해하면 될 것 같다.
자기부호화기의 중복된 기저를 소수의 조합으로 입력을 표현하는 희소 부호화의 방식을 도입하여, 다층 네트워크는 학습에 따라 계층구조를 형성한다.
-> 중복된 기저를 소수의 조합으로 표현 = 고차원의 정보 중 적은 수의 정보로 데이터 표현
예) Lee와 그 연구진은 자연 영상에서 패치를 2층 이상의 네트워크로 학습하면, 영장류의 시각령 V2영역으로 보이는 특징과 유사한 특징을 얻을 수 있음을 보고했다.