機械学習と深層学習とは結局何だったのか


今更すぎて書くの恥ずかしいのですが,機械学習と深層学習とはそもそも一体何だったのか改めて考えたのでメモ.

きっかけ

「画像認識と音声認識は似ている」と言われて混乱した.意味としては,音声は波形やMFCCなどの形で画像に変換することができ,結局,音声を画像にしてしまえば画像認識と一緒ではないか,ということ.
自分としては,画像は結局のところピクセルごとの数字の集合体であり,また音声も周波数などの数字の集合体であるため,どちらもディープラーニングの強みを活かしやすいため,画像も音声もディープニューラルネットワークを用いるという点で似ていると思った.
このとき,そういえばKaggleなどで回帰問題を解くときにディープラーニングを用いることは稀で,普通はlightgbmなどのランダムフォレストを用いるが,なぜディープニューラルネットワークを用いないのだろうか? と思い,機械学習と深層学習の意味を改めて考えてみることにした.

機械学習

  • ロジスティクス回帰やSVM, ランダムフォレストなど.
  • 個々の手法で,数式が確立しており,内部でどのような計算が行われているのかが分かる.(数学的な意味を理解すると分かりやすい)
  • 特徴量エンジニアリング(人手で重要と思われる特徴を抽出)する必要がある.
  • 売上予測や株価予測など,人間がデータの意味を理解しやすく,特徴抽出しやすい分野で優秀であり,以前として深層学習よりもよく用いられる.
  • いわゆるデータサイエンティストや機械学習エンジニアの職業がこれにあたる.

深層学習

  • DNN, CNNやRNNなど.
  • 入力層と出力層の間に複数の隠れ層を追加したもの.ネットワークを深くするとは,隠れ層を増やすことにあたる.
  • この隠れ層では入力に対して非線形の活性化関数を合成し,より複雑な関数を表現しようとしている.
  • 誤差逆伝播法により深い隠れ層でもパラメータ更新できるようにする.
  • 隠れ層における計算は,人間が理解するには意味のない数字の羅列となり,いわゆるブラックボックス化が生じる(コンピュータには理解できるかもしれないが,人間には難しすぎる).
  • 説明可能なAIのトレンドはこのブラックボックス問題を解消せんとするものであり,古典的な統計・機械学習手法と組み合わせることで説明を試みるものが多い.
  • かつては勾配消失や過学習の問題が深刻だったが,ビッグデータが手に入るようになったり,ReLU関数などの発明により特に画像認識において高いパフォーマンスを発揮できるようになった.
  • ディープニューラルネットワークでは,注目すべき特徴を自動で抽出するため(隠れ層で勝手に計算しているため),人手で特徴を抽出する必要がない.
  • すなわち,人間が特徴を抽出しづらい分野ほどインパクトが大きいはずで,特に画像・音声・言語処理は特徴を人間が理解しづらい(数字の羅列なので)ため,これらの分野においてブレイクスルーとなった.
  • 一般的に画像・音声・自然言語処理に従事する人たちが最も深層学習を利用しているだろう.

共通項

  • 初期のパーセプトロンの思想から発展している.
  • 損失関数を設定し,それを最小化するように重みを更新する.
  • 勾配降下法によりパラメータ更新する.

今後

  • 画像は比較的理解しやすいが,音声における深層学習の応用はどのように行っているのか.End-To-Endという枠組みが流行しており,これはLSTMのみで音声認識を行う試みであるが,このEnd-To-Endとは詳しくは何なのか.
  • 最近流行のTransformerとは何なのか.上記のメリットがある深層学習や従来の機械学習とは何が異なるのか.